[asterisk-users] Web based call control

Nick Seraphin asterisk at eaglequest.com
Mon May 14 22:18:32 MST 2007


On Mon, 14 May 2007, Jordan Novak wrote:

> Does anyone know if it is possible to use a manager command to answer
> an incoming call and not consider it answered unitl it is received.
> Here is an example, I am deivering a call in the dialplan to a home
> telephone number. I don't want his voicemail to answer and I have no
> idea how long it will take to go to their home phone voicemail, but I
> don't want to deliver the call there, I want it to go to the next
> priority in asterisk. So I was thinking that it would be nice to build
> a web interface that they could have a button to answer with. This
> would send a manager command to the server telling it to answer the
> channel, any thoughts on how to do this.
>  


Most companies that I've seen who want this type of behavior have 2
available options.

1) Ask the person with the destination home phone number to cancel their
voicemail from the phone company, so that the phone just rings until it
times out.  Usually they won't want to do this, because other incoming
calls to their home number would not go to voicemail then... so unless
it's a line dedicated as a home-office number that only receives calls
from your system, they won't be happy.

2) The most popular option is have the caller listen to music while
waiting, and then when the destination picks up, play an announcement to
them and wait for DTMF input.  "Hi, you have a call from the PBX system...
press 1 to accept this call."  If they press 1, you connect the two
parties.  If after X number of seconds you don't get a response, i.e.
voicemail picked up, or their 4 yr old child picked up, then no DTMF will
be received and you set it to "time out" and either go on to the next
priority or send it to voicemail.

As far as I know, there is absolutely no way to prevent the destination's
phone company voicemail (or answering machine) from answering the call
unless you have a reliable way to know exactly how many rings it is set to
before it will answer, AND you have assurance that the number of rings 
will NOT be changed.

Granted, probably 90% or more of all voicemail systems out there default
to answer after the 4th or 5th ring, you could always set it to time-out
after 3 rings and have decent success rates... but if the caller is
already on the phone, unless they have call waiting, the call will go to
voicemail on the first ring.

I guess theoretically you could always use voicemail detection to see if
voicemail answered the call instead of a human, and then somehow grab the
call back and transfer it to another extension... but this would probably
require a custom Application or modification of the Asterisk source code.

If I'm wrong, and there's a better way to do this, someone PLEASE let me
know... because I'm planning a project that will have the exact same
problem.  (That's why I've researched this problem already.)

-- Nick




More information about the asterisk-users mailing list