Hi, 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. Can anyone please help me ? Any suggestion will be greatly appreciated. Thanks, Pete -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.digium.com/pipermail/asterisk-users/attachments/20080402/b943a0a8/attachment.htm
Tony Mountifield
2008-Apr-02  08:39 UTC
[asterisk-users] How to Hangup after DIAL is completed
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
Dear Tony,
Thank you very much for your suggestion.
The thing is that ${DIALSTATUS} returns ANSWER regardless of whether the
called party hangs up or not.
For instance, when called party is being asked by Asterisk whether he/she
wants to pick the call, ${DIALSTATUS} returns ANSWER.
In the case where the called party accepts to take the call and then hangs
up after finishing the conversion, I want to stop AGI from jumping to call
the next number.  On the other hand, if the called party decides not to take
the call, I want to let AGI to jump to the next number.
It seems like ${DIALSTATUS} does not give me the info that I need.
Thank you very much.  Is there any other ways you may think of?
Thanks,
Pete
On Wed, Apr 2, 2008 at 3:03 PM, Pete Kay <petedao at gmail.com> wrote:
> Hi,
>
> 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.
>
> Can anyone please help me ?
>
> Any suggestion will be greatly appreciated.
>
> Thanks,
> Pete
> _______________________________________________
> -- Bandwidth and Colocation Provided by http://www.api-digital.com --
>
> asterisk-users mailing list
> To UNSUBSCRIBE or update options visit:
>   http://lists.digium.com/mailman/listinfo/asterisk-users
>
On Wed, Apr 2, 2008 at 4:39 PM, Tony Mountifield <tony at
softins.clara.co.uk>
wrote:
> 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
>
> _______________________________________________
> -- Bandwidth and Colocation Provided by http://www.api-digital.com --
>
> asterisk-users mailing list
> To UNSUBSCRIBE or update options visit:
>   http://lists.digium.com/mailman/listinfo/asterisk-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
http://lists.digium.com/pipermail/asterisk-users/attachments/20080402/2a6b716b/attachment-0001.htm