[asterisk-users] Dial() after the h extension has been invoked?

Antony Stone Antony.Stone at asterisk.open.source.it
Fri Nov 12 10:56:31 CST 2021


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 :)


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.

More information about the asterisk-users mailing list