Problems with Answer on outgoing calls

I must be missing something. I am using .call files to initiate outgoing calls. Here is an example:

The [outgoing-pots] context is:

Reading the docs, what I think this should do is place the call, wait up to 20 seconds for it to answer, then go to the outgoing-pots context. What happens is the call is placed, and monitoring on the CLI I see an indication of it being answered even while the phone is still ringing (not answered).

Even before the destination phone is picked up the recorded message is started.

This behavior makes it impossible to control the timing of playing the message.

What am I missing here?


Sounds like a call progress issue.

Have you tried the following from the voip-info wiki.

[quote]In zapata.conf, try adding callprogress=yes above your channel => n definition for the FXO lines. (remember that settings set above the channel flow down, and that you need to clear this setting with a callprogress=no for any channels you might not want this to affect!)
+ This is experimental, only sometimes works, and only for North American tones.
+ On my system, this setting failed miserably, to the point that I could no longer make outgoing calls, and calls were dropped.

Another option (At least in example 3), is to repeat your message. Note the ResponseTimeout(2), to set the pause between repeats to 2 seconds, and the GoTo(s|1), to repeat the prompts.

Yet another option is to use an application like “WaitForSilence” that will wait for a certain amount of silence before beginning to play the message. See #2467 for this app, which will probably soon appear in CVS.

Sorry I can’t be of more help. Perhaps someone out there using PSTN lines can give you more advice.


A zap call is considered answered once asterisk hands it over to your fxo channel.

That is, unless you are one of the fortunate few that have answer supervision with the pstn in the form of polarity switch on answer. see answeronpolarityswitch=yes.

Since you will not have this…

Your waitforsilence needs to be longer than the silence between rings. In the USA it is 4000 ms. So set your waitforsilence to say, 4300. This may be too long a wait for most once they answer the call, so backgrounddetect may be something to look at.

With sip and iax channels, you will find true call supervision, and a wait for silence will begin when the call is answered. So, you can use 700 ms if you want.

hope that helps. this question comes up from time to time with the zap channels and answer supervision.