;[** extensions.conf **] [general] static=yes writeprotect=no [globals] CONSOLE=Console/dsp ; Console interface for demo IAXINFO=guest ; IAXtel username/password TRUNK=Zap/g2 ; Trunk interface TRUNKMSD=1 ; MSD digits to strip (usually 1 or 0) [iaxtel700] exten => _91700XXXXXXX,1,Dial(IAX2/${IAXINFO}@iaxtel.com/${EXTEN:1}@iaxtel) [iaxprovider] [trunkint] exten => _9011.,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}) exten => _9011.,2,Congestion [trunkld] exten => _91NXXNXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}) exten => _91NXXNXXXXXX,2,Congestion [trunklocal] exten => _9NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}) exten => _9NXXXXXX,2,Congestion [trunktollfree] exten => _91800NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}) exten => _91800NXXXXXX,2,Congestion exten => _91888NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}) exten => _91888NXXXXXX,2,Congestion exten => _91877NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}) exten => _91877NXXXXXX,2,Congestion exten => _91866NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}) exten => _91866NXXXXXX,2,Congestion [international] ignorepat => 9 include => longdistance include => trunkint [longdistance] ignorepat => 9 include => local include => trunkld [local] ignorepat => 9 include => default include => parkedcalls include => trunklocal include => iaxtel700 include => trunktollfree include => iaxprovider [macro-stdexten]; exten => s,1,Dial(${ARG2},20) ; Ring the interface, 20 seconds maximum exten => s,2,Goto(s-${DIALSTATUS},1) ; Jump based on status (NOANSWER,BUSY,CHANUNAVAIL,CONGESTION,ANSWER) exten => s-NOANSWER,1,Voicemail(u${ARG1}) ; If unavailable, send to voicemail w/ unavail announce exten => s-NOANSWER,2,Goto(default,s,1) ; If they press #, return to start exten => s-BUSY,1,Voicemail(b${ARG1}) ; If busy, send to voicemail w/ busy announce exten => s-BUSY,2,Goto(default,s,1) ; If they press #, return to start exten => _s-.,1,Goto(s-NOANSWER,1) ; Treat anything else as no answer exten => a,1,VoicemailMain(${ARG1}) ; If they press *, send the user into VoicemailMain [demo] exten => s,1,Wait,1 ; Wait a second, just for fun exten => s,2,Answer ; Answer the line exten => s,3,DigitTimeout,5 ; Set Digit Timeout to 5 seconds exten => s,4,ResponseTimeout,10 ; Set Response Timeout to 10 seconds exten => s,5,BackGround(demo-congrats) ; Play a congratulatory message exten => s,6,BackGround(demo-instruct) ; Play some instructions exten => 2,1,BackGround(demo-moreinfo) ; Give some more information. exten => 2,2,Goto(s,6) exten => 3,1,SetLanguage(fr) ; Set language to french exten => 3,2,Goto(s,5) ; Start with the congratulations exten => 1000,1,Goto(default,s,1) exten => 1234,1,Playback(transfer,skip) ; "Please hold while..." ; (but skip if channel is not up) exten => 1234,2,Macro(stdexten,1234,${CONSOLE}) exten => 1235,1,Voicemail(u1234) ; Right to voicemail exten => 1236,1,Dial(Console/dsp) ; Ring forever exten => 1236,2,Voicemail(u1234) ; Unless busy exten => #,1,Playback(demo-thanks) ; "Thanks for trying the demo" exten => #,2,Hangup ; Hang them up. exten => t,1,Goto(#,1) ; If they take too long, give up exten => i,1,Playback(invalid) ; "That's not valid, try again" exten => 500,1,Playback(demo-abouttotry); Let them know what's going on exten => 500,2,Dial(IAX2/guest@misery.digium.com/s@default) ; Call the Asterisk demo exten => 500,3,Playback(demo-nogo) ; Couldn't connect to the demo site exten => 500,4,Goto(s,6) ; Return to the start over message. exten => 600,1,Playback(demo-echotest) ; Let them know what's going on exten => 600,2,Echo ; Do the echo test exten => 600,3,Playback(demo-echodone) ; Let them know it's over exten => 600,4,Goto(s,6) ; Start over exten => 8500,1,VoicemailMain exten => 8500,2,Goto(s,6) [default] exten => _1NXXNXXXXXX, 1, dial(SIP/${EXTEN}@sip.broadvoice.com,30) exten => _1NXXNXXXXXX, 2, congestion() exten => _1NXXNXXXXXX, 102, busy() exten=_01130.,1,dial(SIP/${EXTEN}@sip.broadvoice.com,30) exten=_01131.,1,dial(SIP/${EXTEN}@sip.broadvoice.com,30) exten=_01132.,1,dial(SIP/${EXTEN}@sip.broadvoice.com,30) exten=_01133.,1,dial(SIP/${EXTEN}@sip.broadvoice.com,30) exten=_01134.,1,dial(SIP/${EXTEN}@sip.broadvoice.com,30) exten=_011351.,1,dial(SIP/${EXTEN}@sip.broadvoice.com,30) exten=_011352.,1,dial(SIP/${EXTEN}@sip.broadvoice.com,30) exten=_011353.,1,dial(SIP/${EXTEN}@sip.broadvoice.com,30) exten=_011378.,1,dial(SIP/${EXTEN}@sip.broadvoice.com,30) exten=_01139.,1,dial(SIP/${EXTEN}@sip.broadvoice.com,30) exten=_01141.,1,dial(SIP/${EXTEN}@sip.broadvoice.com,30) exten=_011420.,1,dial(SIP/${EXTEN}@sip.broadvoice.com,30) exten=_01143.,1,dial(SIP/${EXTEN}@sip.broadvoice.com,30) exten=_01144.,1,dial(SIP/${EXTEN}@sip.broadvoice.com,30) exten=_01145.,1,dial(SIP/${EXTEN}@sip.broadvoice.com,30) exten=_01146.,1,dial(SIP/${EXTEN}@sip.broadvoice.com,30) exten=_01147.,1,dial(SIP/${EXTEN}@sip.broadvoice.com,30) exten=_01148.,1,dial(SIP/${EXTEN}@sip.broadvoice.com,30) exten=_01149[2-9].,1,dial(SIP/${EXTEN}@sip.broadvoice.com,30) exten=_01154.,1,dial(SIP/${EXTEN}@sip.broadvoice.com,30) exten=_01155.,1,dial(SIP/${EXTEN}@sip.broadvoice.com,30) exten=_01156.,1,dial(SIP/${EXTEN}@sip.broadvoice.com,30) exten=_01160.,1,dial(SIP/${EXTEN}@sip.broadvoice.com,30) exten=_01161.,1,dial(SIP/${EXTEN}@sip.broadvoice.com,30) exten=_01164.,1,dial(SIP/${EXTEN}@sip.broadvoice.com,30) exten=_01165.,1,dial(SIP/${EXTEN}@sip.broadvoice.com,30) exten=_01181.,1,dial(SIP/${EXTEN}@sip.broadvoice.com,30) exten=_01182.,1,dial(SIP/${EXTEN}@sip.broadvoice.com,30) exten=_011852.,1,dial(SIP/${EXTEN}@sip.broadvoice.com,30) exten=_01186.,1,dial(SIP/${EXTEN}@sip.broadvoice.com,30) exten=_011886.,1,dial(SIP/${EXTEN}@sip.broadvoice.com,30) exten=_011972.,1,dial(SIP/${EXTEN}@sip.broadvoice.com,30) exten=_011.,2,congestion() ; No answer, nothing exten=_011.,102,busy() ; Busy ; Test extensions exten => 1010,1, Dial(SIP/speechsvr,10,t) exten => 1020,1, Dial(SIP/johnc,10,t) exten => 1030,1, Dial(SIP/cfox,10,t) [from-broadvoice] exten => s,1,Dial(SIP/speechsvr,60)