exten => s,1,SIPAddHeader("Alert-Info: <http://www.domain>\;info=alert-external\;x-line-id=0")
exten => s,n,LDAPget(CALLERID(name)=cidname)
exten => s,n,Goto(s,105)
exten => s,s+100,GotoIf($[ "${CALLERID(num)}" = "Anonymous" | "${CALLERID(num)}" = "anonymous" | "${CALLERID(num)}" = "" ]?106) ;
exten => s,n,Set(CALLERID(name)=${CALLERID(num)})
exten => s,n,Set(CALLERID(num)=0${CALLERID(num)})
exten => s,n,Goto(${ARG1},1) ; switch context
exten => s-no-backup,1,Dial(${ARG2}${ARG3},${ARG4},${ARG5}) ; Ring the first interface
exten => s-no-backup,n,Goto(s-no-backup-${DIALSTATUS},1) ; Jump based on status (NOANSWER,BUSY,CHANUNAVAIL,CONGESTION,ANSWER)
exten => _s-no-backup-.,1,Hangup ; Hangup
exten => s-with-backup,1,Dial(${ARG2}${ARG3},${ARG4},${ARG5}) ; Ring the first interface
exten => s-with-backup,n,Goto(s-with-backup-1-${DIALSTATUS},1) ; Jump based on status (NOANSWER,BUSY,CHANUNAVAIL,CONGESTION,ANSWER)
exten => s-with-backup,n,Dial(${ARG6}${ARG7},${ARG8},${ARG9}) ; Ring the second interface
exten => s-with-backup,n,Goto(s-with-backup-2-${DIALSTATUS},1) ; Jump based on status (NOANSWER,BUSY,CHANUNAVAIL,CONGESTION,ANSWER)
exten => _s-with-backup-1.,1,Goto(s-with-backup,3) ; Treat anything as a call to second interface
exten => _s-with-backup-2.,1,Hangup ; Hangup
exten => 62,1,Dial(SIP/62,5)
exten => 62,2,VoiceMail(62,u)