Antony Stone
2021-Nov-12 16:56 UTC
[asterisk-users] Dial() after the h extension has been invoked?
Hi. I have a setup which comprises some "front-end" Asterisk servers which have SIP trunks to external providers, and very simple dial plans, and some "back- end" servers which only talk to the front-end machines, and have the majority of my dialplan logic on them. I use Dial() commands with custom SIP headers to pass information (eg: about the current state of a call) between the front-end and back-end machines, and this works very well. However, I can't use a Dial() command in the h extension to notify the other machines that a call has ended and they can now delete their state information about that call. If I try to, I get the error: app_dial.c:2245 in dial_exec_full: Caller hung up before dial. I guess i can see why Asterisk complains about being asked to Dial() after the inbound call leg has ended, but in this case I have a reason for doing so. Can anyone suggest how I might be able to do this? I need to perform a Dial() command after an inbound channel has hung up. I do not expect the Dial() to bridge to anything (the context being dialled simply does some database manipulation and then hangs up without even bothering to answer). Any suggestions welcome :) Antony. -- 90% of networking problems are routing problems. 9 of the remaining 10% are routing problems in the other direction. The remaining 1% might be something else, but check the routing anyway. Please reply to the list; please *don't* CC me.
Frank Vanoni
2021-Nov-12 17:20 UTC
[asterisk-users] Dial() after the h extension has been invoked?
On Fri, 2021-11-12 at 16:56 +0000, Antony Stone wrote:> I use Dial() commands with custom SIP headers to pass information > (eg: about > the current state of a call) between the front-end and back-end > machines, and > this works very well. > > I need to perform a Dial() > command after an inbound channel has hung up. I do not expect the > Dial() to > bridge to anything (the context being dialled simply does some > database > manipulation and then hangs up without even bothering to answer). > > > Any suggestions welcome :)Maybe you can use the "g" option in the first Dial(...) and proceed in the dial plan with the second Dial(...) g - Proceed with dialplan execution at the next priority in the current extension if the destination channel hangs up. Example: exten => 1234,1,Dial(SIP/deskphone,120,g) same => n,Dial(SIP/cordlessphone) same => n,Hangup() Extension 1234 dials a deskphone. If "deskphone" answer... bla bla bla... and after "deskphone" hangs up, the "cordlessphone" is dialed.
Eric Wieling
2021-Nov-12 17:36 UTC
[asterisk-users] Dial() after the h extension has been invoked?
Create a spool file from the 'h' extension to generate the call. On 11/12/21 11:56, Antony Stone wrote:> Hi. > > I have a setup which comprises some "front-end" Asterisk servers which have > SIP trunks to external providers, and very simple dial plans, and some "back- > end" servers which only talk to the front-end machines, and have the majority > of my dialplan logic on them. > > I use Dial() commands with custom SIP headers to pass information (eg: about > the current state of a call) between the front-end and back-end machines, and > this works very well. > > However, I can't use a Dial() command in the h extension to notify the other > machines that a call has ended and they can now delete their state information > about that call. If I try to, I get the error: > > app_dial.c:2245 in dial_exec_full: Caller hung up before dial. > > I guess i can see why Asterisk complains about being asked to Dial() after the > inbound call leg has ended, but in this case I have a reason for doing so. > > Can anyone suggest how I might be able to do this? I need to perform a Dial() > command after an inbound channel has hung up. I do not expect the Dial() to > bridge to anything (the context being dialled simply does some database > manipulation and then hangs up without even bothering to answer). > > > Any suggestions welcome :) > > > Antony. >-- http://help.nyigc.net/
Steve Edwards
2021-Nov-12 21:23 UTC
[asterisk-users] Dial() after the h extension has been invoked?
On Fri, 12 Nov 2021, Antony Stone wrote:> Can anyone suggest how I might be able to do this? I need to perform a > Dial() command after an inbound channel has hung up. I do not expect > the Dial() to bridge to anything (the context being dialled simply does > some database manipulation and then hangs up without even bothering to > answer). > > Any suggestions welcome :)How about creating a call file in the h extension? -- Thanks in advance, ------------------------------------------------------------------------- Steve Edwards sedwards at sedwards.com Voice: +1-760-468-3867 PST https://www.linkedin.com/in/steve-edwards-4244281