rendered paste body[globals]
; 911
; ---
EMERGENCY=0
EMERGENCY_TRUNK=Zap/1
EMERGENCY_NUM=911
[local]
# SIP Phones originate here
exten => 911,1,Goto(services-911,s,1)
[services-911]
exten => s,1,SetVar(SET_EMERG_FLAG=0)
exten => s,n(checkavail),ChanIsAvail(${EMERGENCY_TRUNK})
exten => s,n,SetGlobalVar(EMERGENCY=1)
exten => s,n,SetVar(SET_EMERG_FLAG=1)
exten => s,n(dial),Macro(doDial,${EMERGENCY_TRUNK}/${EMERGENCY_NUM})
exten => s,s+2(trunkbusy),GotoIf($["${EMERGENCY}" = "1"]?inprogress)
exten => s,n,SoftHangup(${EMERGENCY_TRUNK}-1)
exten => s,n,Wait(5)
exten => s,n,Goto(checkavail)
exten => s,s+2(inprogress),Congestion
exten => s,checkavail+101(notavail),Goto(trunkbusy)
exten => h,1,GotoIf($["${SET_EMERG_FLAG}" = 1]?3)
exten => h,3,SetGlobalVar(EMERGENCY=0)