[asterisk-users] Answering machine answers after pickup a phone.

John Novack jnovack at stromberg-carlson.org
Fri Aug 5 13:26:39 CDT 2011



Jorge Barreiro wrote:
> O Venres, 5 de Agosto de 2011 17:42:28 Shaun Ruffell escribiu:
>> On Fri, Aug 05, 2011 at 01:14:58PM +0200, Jorge Barreiro wrote:
>>> Hi,
>>>
>>> thanks for your time!
>>>
>>> O Venres, 5 de Agosto de 2011 12:35:05 escribiches:
>>>> Completely normal operation.
>>>> You need to read and understand more basic telephony and analog lines
>>>> to understand why that won't work.
>>> I definitely have a lot to learn yet.
>>>
>>>> Asterisk needs to be in control, and once someone answers a phone not
>>>> under Asterisk control, or the call is abandoned there is little you
>>>> can do.
>>> What I pretend is that asterisk detects that it's not under control and
>>> gets out of the way. The same way it detects a remote hangup and stops
>>> the dialplan, it could detect that someone else answered (the line is
>>> not ringing anymore) and discard it the same way it does when the remote
>>> part hangup.
>>>
>>> I've read comments in forums and tutorials that seem to imply that this
>>> happens, but I couldn't find any confirmation (and indeed, it's not
>>> happening to me).
>> When I first installed Asterisk in my home I used it in the way that you
>> described: as a glorified answering machine to email to me any voice mail.
>>
>> I think what you want is the WaitForRing()[1] dial plan application.  This
>> function will wait x number of seconds, then look for *another* ring to
>> come in. If someone answered the phone before the timeout to that function
>> Asterisk would stop processing the dial plan.
>>
>> [1] https://wiki.asterisk.org/wiki/display/AST/Application_WaitForRing
>>
>> I ran into a couple of issues with WaitForRing(). The first being if
>> someone answered the phone and then quickly hung up *and* a new phone call
>> came in within the timeout period, Asterisk wouldn't know that the line
>> was ringing due to a new call. The second problem was I never got the dial
>> tone detection working so that if I tried to *place* a call from Asterisk
>> while someone was on the house line I would aggravate my wife.
>>
>> Since coming to work for Digium I've seen in the data sheets for the FXO
>> interfaces that there is a capability to detect when a parallel device on a
>> line goes off hook. This would allow Asterisk to have a better sense of the
>> state of the line (like it currently can detect when a port is unplugged
>> and there is not battery by generating a red alarm.) but I haven't looked
>> into getting that information off the hardware and up into Asterisk.
>>
>> Hope this helps,
>> Shaun
>
> That application looks like a good solution. I can't test it until Monday, but
> I'll try it and let you know. The drawbacks you mention doesn't seem too
> inconvenient in my case.
>
> Anyway, I started with this cause I thought it was an easy first step, if it
> gets so complicated I think I'll go forward and put all phones under the
> control of the PBX.
>
> Thank you everybody for your help.
the situation gets more complex if Caller ID is sent and one wants to act upon it, and Asterisk doesn't handle the call

In the US the data is sent between the first and second ring, and if the call isn't answered by Asterisk, it thinks that another call has arrived WITHOUT the information, and the situation falls apart rapidly or one needs to have some logic to figure out if this is the third ring on call #1 or a new call

Though the chipset in the X100P supports looking at the output port, I don't believe the driver fully supports it

using a TDM 4xx or even better a single port T1 card with a channel bank gives a lot more  ports for the cost

John Novack

-- 

Dog is my Co-pilot




More information about the asterisk-users mailing list