rendered paste body[sip]
exten => 1001,1,ringing
exten => 1001,2,wait(2)
exten => 1001,3,Answer
exten => 1001,4,Echo
exten => 1002,1,SetCallerID(${CALLERID})
exten => 1002,2,Macro(exten,SIP/andy,${EXTEN},${CALLERIDNUM})
exten => 1003,1,SetCallerID(${CALLERID})
exten => 1003,2,Macro(exten,IAX2/1003,${EXTEN},${CALLERIDNUM})
exten => h,1,Set(CB=0)
exten => h,2,DBGet(CB=CALLBACK/${CALLERIDNUM})
exten => h,3,DBGet(CB2=CALLBACK2/${CALLERIDNUM})
exten => h,4,NOOP(${CB})
exten => h,5,GotoIf($["${CB}" = "1"]?6:99)
exten => h,6,NOOP ;Wait(2)
exten => h,7,DBPut(CALLBACK/${CALLERIDNUM}=0)
exten => h,8,System(echo "Channel: Local/${CB2}@sip" >/var/spool/asterisk/outgoing/${CALLERIDNUM}.callback)
exten => h,9,System(echo "Context: sip" >>/var/spool/asterisk/outgoing/${CALLERIDNUM}.callback)
exten => h,10,System(echo "Extension: ${CALLERIDNUM}" >>/var/spool/asterisk/outgoing/${CALLERIDNUM}.callback)
[macro-exten]
exten => s,1,Dial(${ARG1})
exten => s,2,Goto(s,103)
exten => s,102,ResponseTimeout(3)
exten => s,103,Set(SCB=${ARG2},SCB2=${ARG3})
exten => s,104,Background(vm-tocallback,,,callback-activate)
exten => i,1,goto(h,1)
exten => t,1,goto(h,1)
[callback-activate]
exten => 1,1,DBPut(CALLBACK/${SCB}=1)
exten => 1,2,DBPut(CALLBACK2/${SCB}=${SCB2})
exten => 1,3,Playback(conf-muted)
exten => 1,4,Hangup
exten => h,1,Set(CB=0)
exten => h,2,DBGet(CB=CALLBACK/${CALLERIDNUM})
exten => h,3,DBGet(CB2=CALLBACK2/${CALLERIDNUM})
exten => h,4,NOOP(${CB})
exten => h,5,GotoIf($["${CB}" = "1"]?6:99)
exten => h,6,NOOP ;Wait(2)
exten => h,7,DBPut(CALLBACK/${CALLERIDNUM}=0)
exten => h,8,System(echo "Channel: Local/${CB2}@sip" >/var/spool/asterisk/outgoing/${CALLERIDNUM}.callback)
exten => h,9,System(echo "Context: sip" >>/var/spool/asterisk/outgoing/${CALLERIDNUM}.callback)
exten => h,10,System(echo "Extension: ${CALLERIDNUM}" >>/var/spool/asterisk/outgoing/${CALLERIDNUM}.callback)
exten => h,99,NoOp