[asterisk-users] understanding what h extension does [ISSUE SOLVED]

Alan Chandler alan at chandlerfamily.org.uk
Tue Apr 3 12:03:11 MST 2007

On Tuesday 03 April 2007 07:48, Alan Chandler wrote:
> I am trying to make a dialplan that when I dial 90 I can go round a
> whole set of extensions and leave them a short message, hangup and go
> on the next one.
> I use the M facility of dial, with something like this
> [messages]
> exten => 90,n(calcnextchan),Set(DIALCHAN=...)
> exten => 90,n,Dial(${DIALCHAN},30,M(domessage))
> exten => 90,n,Goto(calcnextchan)
> [macro-domessage]
> exten => s,1,Playback(message)
> exten => s,n,Set(MACRO_RESULT=CONTINUE)
> [There is actually more logic to check for busy dial channels and
> retry them later]
> This seems to work fine until one of the callees hangs up before the
> message is played. at which point my call is terminated.

OK, its a logic problem.  If the caller hangs up before playback is 
complete MACRO_RESULT has not been set, so the call is bridged and then 
hung up.  If I set MACRO_RESULT as the first action of the call macro, 
then any interruption from the far end hanging up means that the 
dialplan just continues without the call having been bridged.
Alan Chandler

More information about the asterisk-users mailing list