[asterisk-users] How to Hangup after DIAL is completed

Tony Mountifield tony at softins.clara.co.uk
Wed Apr 2 03:39:43 CDT 2008


In article <7aa8bd9d0804020003r6f9b9417v87fa93209d883166 at mail.gmail.com>,
Pete Kay <petedao at gmail.com> wrote:
> I have a problem with DIAL.
> The scenario is this:
> 
> 1. Asterisk will dial a number in a call list
> 2. called party picks up the call and hears a prompt asking if they want to
> pick up ( this is done through M(marco) option in DIAL)
> 3. if called party does not want to pick up, go to the next number (this is
> done through SET MARCO_RESULT= CONTINUE)
> 4. if called party decides to take the call, make some conversion, then the
> call is completed and hanged up by the called party.
> 
> For 4, when the called party hangs up, I want to hang up on the calling
> party as well.
> 
> This works if I use the dialplan by not including the "g" option in DIAL.
> However, when I do the DIAL in AGI, the calling party does not get hangup
> automatically at (4).  So, it continues to execute the next line in the AGI,
> which is not what I want.
> 
> The problem is that the result I can when executing the DIAL command within
> AGI does not tell me whether the call was picked up or not. So, I have no
> way of knowing whether to continue executing the AGI program or to issue a
> HAGNGUP explicitly.

When you have returned from the Dial command, check the DIALSTATUS channel
variable. If the call was picked up, ${DIALSTATUS} will contain ANSWER.

Cheers
Tony
-- 
Tony Mountifield
Work: tony at softins.co.uk - http://www.softins.co.uk
Play: tony at mountifield.org - http://tony.mountifield.org



More information about the asterisk-users mailing list