[macro-user] exten => s,1,Goto(mod-${${ARG1}_MODULE:0:3}|1) exten => s,2,NoOp(Call ended with ${DIALSTATUS}) exten => s,3,Goto(s-${DIALSTATUS}|1) exten => h,1,NoOp(HANGUP) exten => s-ANSWER,1,NoOp(This does NOT occur or caller hangup) exten => s-ANSWER,2,Hangup exten => s-BUSY,1,Macro(vm|${ARG1}|b) exten => s-BUSY,2,Hangup exten => s-CHANUNAVAIL,1,Macro(vm|${ARG1}|u) exten => s-CHANUNAVAIL,2,Hangup exten => s-CONGESTION,1,Macro(vm|${ARG1}|b) exten => s-CONGESTION,2,Hangup exten => s-NOANSWER,1,Macro(vm|${ARG1}|u) exten => s-NOANSWER,2,Hangup ; ; IAX and SIP have slightly different syntax but this is not apparent here ; Keep the mod-* extensions anyway for futureproofing ; ; Option g ONLY takes effect if the GALLED party hangs up ; exten => _mod-.,1,Goto(error|i|1) exten => mod-SIP,1,Dial(${${ARG1}_MODULE}/${${ARG1}_PEER}|15|g) exten => mod-SIP,2,Goto(s|2) exten => mod-IAX,1,Dial(${${ARG1}_MODULE}/${${ARG1}_PEER}|15|g) exten => mod-IAX,2,Goto(s|2)