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

Don Kelly dk at donkelly.biz
Fri Aug 5 14:20:37 CDT 2011


-----Original Message-----
From: asterisk-users-bounces at lists.digium.com
[mailto:asterisk-users-bounces at lists.digium.com] On Behalf Of Jorge Barreiro
Sent: Friday, August 05, 2011 12:35 PM
To: Asterisk Users Mailing List - Non-Commercial Discussion
Subject: Re: [asterisk-users] Answering machine answers after pickup a
phone.

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.


I don't think this is a solution to the problem you described. No matter how
long Asterisk 'waits for ring,' if the call has already been answered when
Asterisk picks up, things won't work out well. The solution I described
earlier, adding a simple exclusion device, will preclude Asterisk 'stepping
on' a call in progress. This is the approach that Shaun suggests: "...a
capability to detect when a parallel device on a line goes off hook."  As it
has not been implemented in Asterisk, it can be handled by an inexpensive
device. This will enable you to do as you planned--test your implementation
step-by-step, starting with the "answering machine."

--Don

Don Kelly

PCF Corp
People Come First
651 842-1000
651 842-1001 fax




More information about the asterisk-users mailing list