Summary:ASTERISK-02275: [Patch] Add Confirm Answer (like in chan_zap) into app_dial
Reporter:connor (connor)Labels:
Date Opened:2004-08-25 17:19:57Date Closed:2011-06-07 14:05:26
Versions:Frequency of
Environment:Attachments:( 0) app_dial-v1.txt
Description:This feature would make a nice addition to the chan_sip, allowing people using sip gateways and providers to utilize multi call features of asterisk to have apps that "track" a person down to take a call, giving them the ability to confirm that the call has been answered by hitting the '#' key. Very nice for people using * to call thier cell phones.. I have a need for this.. I'm sure other people would find this usefull too.
Comments:By: Brian West (bkw918) 2004-08-26 23:17:06

it doesn't need to be channel specific.. it can be generic.

By: connor (connor) 2004-08-27 15:16:50

Well, it's currently channel specific.. so can we get that changed?

By: mochouinard (mochouinard) 2004-09-06 19:04:12

hey, check bug 2376, sorry i didn't saw you request, i would have submited it in here

By: Brian West (bkw918) 2004-09-07 06:52:06

I really dont think its possible the way sip is setup.. it would need to be an application that works with ANY channel driver and is a flag on dial maybe.

By: connor (connor) 2004-09-07 16:30:30

Wait until # is press before making the call go throught  

By adding the optional R flag to a Dial, once the remote side pickup the phone, he will have 6 second to press #. If he doesn't press # or press any other key, the call will continue to the next entry in the dial plan.  

This changes is very small, so shouldn't affect anything.
There is bigger changes that need to be made so it does everything that I want, but I hope to get other interest.  


By: timrobinson (timrobinson) 2004-09-09 13:30:37

I think the timeout should not be fixed at 6 seconds but rather the timeout value specified in the Dial command itself.

Also, it is not clear to me whether this patch waits for the # key before 'answering' sending Answer Supervision back to the originating channel.

Also, this does not make clear how audio can be played to the called party until # is pressed.

By: timrobinson (timrobinson) 2004-09-09 14:51:35

Just realised the option R is already used in the Dial string in Junghanns Bri-stuff I have changed this to Z.

Also, we need to use the same timeout as is already passed in the Dial command rather than have a fixed 6000 ms timeout.

Combined with the A(x) option this ALMOST works.  The only issue is that with the message playing, pressing a DTMF key kills the call. Instead we  need to look out for the # key, and then immediately stop the message playing and bridge the channels.  The message will be along the lines of 'press # to accept this call...press # to accept this call...."etc

This is looking very promising. Can u have another look at this?


By: mochouinard (mochouinard) 2004-09-09 15:05:39

well if you look at the code, if '#' is press within 6 second, and nothing else is pressed, it will continue the call. If not it will hangup and make the call continue throught the exten=>

I have already started making the timeout time configurable, and maybe make it it wait until # is press, if not, it will just keep waiting until timeout.

Also Connor told me about about if the user is on music on hold, he doesn't want the user to switch a ring. So I'll change that too. I'll post something soon

By: timrobinson (timrobinson) 2004-09-09 15:14:42

Hey Mouchinard - would like to work something out here - we are 99% of the way to waht I need....You can find me on #asterisk and #asterisk-drinkers as gr0mit_home or gr0mit or you can email me

tim at txrx dot org dot uk

By: Edward Eastman (whisk) 2004-09-25 18:18:12

Excellent patch - thanks - just what I'm after.  It doesn't apply cleanly to current cvs head, last hunk failed - although it's fairly easy to find the right place and manually add it (I don't know enough about diff files to resubmit a working patch - sorry).

I'm getting a different behaviour when I press a DTMF key during an A() announcement to that reported by Tim:

One press does nothing
Second press either hangs up the call (if it's a non-# key), or (if it's #) connects the call as desired, but spews this to the asterisk console for about 3-4 seconds about 20-30 times/second:

Sep 26 00:06:44 WARNING[753685]: chan_sip.c:1865 sip_write: Asked to transmit frame type 2, while native formats is 4 (read/write = 4/4)

This doesn't seem to affect the call in any way though.

I think the best behaviour would be for the A() announce to behave more like background() and execute on the first key press.


edited on: 09-25-04 18:18

By: twisted (twisted) 2004-10-27 15:50:20

What's the status here?  It's been a little over a month.  I'm pretty sure the patch is outdated, let's check that, get it updated, and get some activity going here before we have to close due to lack of interest.


By: Russell Bryant (russell) 2004-11-07 20:01:38.000-0600

... hello?

-- Housekeeping

By: mochouinard (mochouinard) 2004-11-07 21:24:11.000-0600

Well actually I decided to do bug 2714 instead. Since this patch I made was limited that if ANYONE answer, everyone else being called stop, even if the guy who answered didnt press #. That mean if voicemail on cell phone answer, your home line that you might want to ring will stop to ring, it kind of limited. So I made a new app that does just that.  But this should be included still

By: twisted (twisted) 2004-11-17 23:03:18.000-0600

I'm confused, so, does this one stay or go?

By: mochouinard (mochouinard) 2004-11-17 23:29:35.000-0600

I don't know, I guess let it go, and we will see in the future maybe to combine my new app into app_dial

By: Brian West (bkw918) 2004-11-18 15:15:44.000-0600

New patch about to be posted that deprecated this.