[general] static=yes writeprotect=no [globals] CONSOLE=Console/dsp ; Console interface for demo [macro-stdexten] exten => s,1,GotoIf($[${CALLERIDNUM} = ${ARG2}]?s|500:2) exten => s,2,DBget(temp=CFWD/${ARG1}) ; No forwarding (or dial forwarded extension) exten => s,103,Dial(SIP/${ARG1},15) exten => s,104,Voicemail(u${ARG2}) exten => s,105,Hangup exten => s,204,Voicemail(u${ARG2}) exten => s,205,Hangup ; Forwarded exten => s,3,DBget(tempvm=CFWDVM/${ARG1}) exten => s,4,SetVar(ARG1=${temp}) exten => s,5,SetVar(ARG2=${tempvm}) exten => s,6,Goto(s,103) exten => s,500,VoicemailMain(${CALLERIDNUM}) exten => s,501,Hangup [InternalFeatures] ; Soft Forward to other EXT voicemail to Original EXT exten => 5900,2,Answer exten => 5900,3,Read(Instead) exten => 5900,4,DBput(CFWD/${CALLERIDNUM}=${Instead}) exten => 5900,5,DBput(CFWDVM/${CALLERIDNUM}=${CALLERIDNUM}) exten => 5900,6,Hangup ; Hard Forward to other EXT voicemail to Forwarded EXT exten => 5902,1,Wait(1) exten => 5902,2,Answer exten => 5902,3,Read(Instead) exten => 5902,4,DBput(CFWD/${CALLERIDNUM}=${Instead}) exten => 5902,5,DBput(CFWDVM/${CALLERIDNUM}=${Instead}) exten => 5902,6,Hangup ; Cancel All Forwarding exten => 5901,1,DBdel(CFWD/${CALLERIDNUM}) exten => 5901,2,DBdel(CFWDVM/${CALLERIDNUM}) exten => 5901,3,Hangup [digittest] exten => s,1,DigitTimeout(15) exten => _X,1,SayDigits(${EXTEN}) exten => _X,2,Goto(s,1) exten => *,1,SayDigits(*) exten => *,2,Goto(s,1) exten => #,1,SayDigits(#) exten => #,2,Goto(s,1) exten => t,1,Goto(incoming,s,20) [vnWelcome] exten => s,1,Answer exten => s,2,Background(/etc/asterisk/voicenotes/welcome) exten => s,3,Background(/etc/asterisk/voicenotes/ordertypes) exten => s,4,DigitTimeout(15) exten => 1,1,SetVar(ordtyp=1) ; RG exten => 1,2,Goto(vnOrderNumber,s,1) exten => 2,1,SetVar(ordtyp=2) ; QX exten => 2,2,Goto(vnOrderNumber,s,1) exten => 3,1,SetVar(ordtyp=3) ; RM exten => 3,2,Goto(vnOrderNumber,s,1) exten => 4,1,SetVar(ordtyp=4) ; CM exten => 4,2,Goto(vnOrderNumber,s,1) exten => 5,1,SetVar(ordtyp=5) ; BO exten => 5,2,Goto(vnOrderNumber,s,1) exten => #,1,Playback(/etc/asterisk/voicenotes/thankyougoodbye) exten => #,2,Hangup exten => i,1,Playback(/etc/asterisk/voicenotes/invalid) exten => i,2,Goto(s,3) exten => t,1,Playback(/etc/asterisk/voicenotes/toolong) exten => t,2,Hangup [vnOrderNumber] exten => s,1,Answer exten => s,2,Playback(/etc/asterisk/voicenotes/pleaseenterorder) exten => s,3,Read(OrderNumber) exten => s,4,NoOp(${OrderNumber}) exten => s,5,GotoIf($[${LEN(${OrderNumber})} = 5]?s|20:6) exten => s,6,Playback(/etc/asterisk/voicenotes/badordlen) exten => s,7,Goto(s,2) exten => s,20,Playback(/etc/asterisk/voicenotes/youhaveenteredorder) exten => s,21,Playback(/etc/asterisk/voicenotes/${ordtyp}) exten => s,22,SayDigits(${OrderNumber}) exten => s,23,Background(/etc/asterisk/voicenotes/ifthisiscorrect) exten => s,24,DigitTimeout(15) exten => 1,1,SetVar(vnFile=${ordtyp}${OrderNumber}${TIMESTAMP}) exten => 1,2,NoOp(Message ${vnFile}) exten => 1,3,Goto(vnBeginRecording,s,1) exten => 2,1,Goto(s,1) exten => #,1,Playbeck(/etc/asterisk/voicenotes/thankyougoodbye) exten => #,2,Hangup exten => i,1,Playback(/etc/asterisk/voicenotes/invalid) exten => i,2,Goto(s,23) [vnBeginRecording] exten => s,1,Playback(/etc/asterisk/voicenotes/pleaserecordnow) exten => s,2,Record(/tmp/${vnFile}:gsm) exten => s,3,Background(/etc/asterisk/voicenotes/recordingoptions) exten => s,4,DigitTimeout(15) exten => 1,1,System(mv /tmp/${vnFile}.gsm /etc/asterisk/voicenotes/notes) exten => 1,2,System(/usr/bin/sox /etc/asterisk/voicenotes/notes/${vnFile}.gsm /usr/local/apache2/htdocs/voicenotes/${vnFile}.wav) exten => 1,3,Playback(/etc/asterisk/voicenotes/acceptedthanks) exten => 1,4,Hangup exten => 2,1,Playback(/tmp/${vnFile}) exten => 2,2,Goto(s,3) exten => 3,1,Goto(s,1) exten => 4,1,System(rm /tmp/${vnFile}.gsm) exten => 4,2,Playback(/etc/asterisk/voicenotes/messagedeleted) exten => 4,3,Hangup exten => #,1,System(rm /tmp/${vnFile}.gsm) exten => #,2,Playbeck(/etc/asterisk/voicenotes/thankyougoodbye) exten => #,3,Hangup exten => i,1,Playback(/etc/asterisk/voicenotes/invalid) exten => i,2,Goto(s,3) [test] exten => 0666,1,Goto(vnWelcome,s,1) exten => 0610,1,Wait(2) exten => 0610,2,Record(/tmp/asterisk-recording:gsm) exten => 0610,3,Wait(2) exten => 0610,4,Playback(/tmp/asterisk-recording) exten => 0610,5,Wait(2) exten => 0610,6,Hangup exten => 0620,1,Wait(2) exten => 0620,2,Playback(/tmp/asterisk-recording) exten => 0620,3,Wait(2) exten => 0620,4,Hangup exten => 0630,1,SayDigits(${CALLERIDNUM}) exten => 0630,2,Hangup exten => 0640,1,Goto(incoming,s,1) ;exten => 0650,1,Playback(demo-abouttotry); Let them know what's going on exten => 0650,1,NoOp() exten => 0650,2,Dial(IAX2/guest@misery.digium.com/s@default) ; Call the Asterisk demo exten => 0650,3,Playback(demo-nogo) ; Couldn't connect to the demo site exten => 0650,4,Hangup exten => 0660,1,Playback(demo-echotest) ; Let them know what's going on exten => 0660,2,Echo ; Do the echo test exten => 0660,3,Playback(demo-echodone) ; Let them know it's over exten => 0660,4,hangup exten => 0675,1,Answer exten => 0675,2,Agi(/etc/asterisk/agi_ping.php.sh) exten => 0675,3,hangup exten => 0680,1,Answer exten => 0680,2,MP3Player(/var/lib/asterisk/mohmp3/Classical.mp3) exten => 0680,3,hangup exten => 0699,1,Wait(2) exten => 0699,2,Agi(/etc/asterisk/agi_callerid.php.sh) exten => 0699,3,Hangup [ping] exten => s,1,Answer exten => s,2,Hangup [internal] exten => 5000,1,Dial(SIP/5001,15) exten => 5000,2,Dial(SIP/5002,15) exten => 5000,3,Congestion exten => 5000,102,Dial(SIP/5002,15) exten => 5000,103,Congestion ;exten => 5000,1,ChanIsAvail(SIP/5001&SIP5002) ;exten => 5000,2,NoOp(Channel ${AVAILCHAN} chosen) ;exten => 5000,3,Cut(theChannel=AVAILCHAN,,1) ;exten => 5000,4,NoOp(Channel ${theChannel} is cleaned up version) ;exten => 5000,5,Dial(${theChannel},15) ;exten => 5000,6,Congestion ;exten => 5000,106,Congestion exten => 5001,1,Macro(stdexten,5001,5000) exten => 5002,1,Macro(stdexten,5002,5000) exten => 5200,1,Macro(stdexten,5200,5200) exten => 5221,1,Macro(stdexten,5221,5221) exten => 5223,1,Macro(stdexten,5223,5223) exten => 5234,1,Macro(stdexten,5234,5234) exten => 5236,1,Macro(stdexten,5236,5236) exten => 5224,1,Macro(stdexten,IAX2/dpregent,5224) exten => 6000,1,Macro(stdexten,6000,6000) exten => 6221,1,Macro(stdexten,IAX2/jisabelle,6221) ; Belanger Customer Service Queue exten => 5555,1,Answer exten => 5555,2,Wait(1) exten => 5555,3,SetCIDName(B${UNIQUEID}) exten => 5555,4,Playback(/etc/asterisk/custserv) exten => 5555,5,Queue(CustServ) exten => 5555,6,VoiceMail(u5555) exten => 5555,7,Hangup ; RONA Customer Service Queue exten => 5655,1,Answer exten => 5655,2,Wait(1) exten => 5655,3,SetCIDName(R${UNIQUEID}) exten => 5655,4,Playback(/etc/asterisk/ronatech) exten => 5655,5,Queue(RONA) exten => 5655,6,VoiceMail(u5655) exten => 5655,7,Hangup exten => 5556,1,AgentCallbackLogin(${CALLERIDNUM}|${CALLERIDNUM}@QueueAgents) exten => 5557,1,AgentCallbackLogin() exten => _9.,1,Answer exten => _9.,2,Wait(2) exten => _9.,3,Playback(/etc/asterisk/youdiald) exten => _9.,4,SayDigits(${EXTEN:1}) exten => _9.,5,Hangup [QueueAgents] ; Andrew Oulton exten => 5223,1,ChanIsAvail(SIP/5223,s,) exten => 5223,102,Set(DIALSTATUS=BUSY) exten => 5223,103,Hangup exten => 5223,2,GotoIf($["${CALLERIDNAME:0:1}" = "B"]?5) exten => 5223,3,SetCIDName(Queue : RONA) exten => 5223,4,Goto(6) exten => 5223,5,SetCIDName(Queue : Belanger) exten => 5223,6,Dial(SIP/5223,15) ; Dominic Pregent exten => 5224,1,ChanIsAvail(IAX2/dpregent,s,) exten => 5224,102,Set(DIALSTATUS=BUSY) exten => 5224,103,Hangup exten => 5224,2,GotoIf($["${CALLERIDNAME:0:1}" = "B"]?5) exten => 5224,3,SetCIDName(Queue : RONA) exten => 5224,4,Goto(6) exten => 5224,5,SetCIDName(Queue : Belanger) exten => 5224,6,Dial(IAX2/dpregent,15) ; Gilbert Lavallee exten => 5234,1,ChanIsAvail(SIP/5234,s,) exten => 5234,102,Set(DIALSTATUS=BUSY) exten => 5234,103,Hangup exten => 5234,2,GotoIf($["${CALLERIDNAME:0:1}" = "B"]?5) exten => 5234,3,SetCIDName(Queue : RONA) exten => 5234,4,Goto(6) exten => 5234,5,SetCIDName(Queue : Belanger) exten => 5234,6,Dial(SIP/5234,15) ; X-Lite Softphone exten => 5200,1,ChanIsAvail(SIP/5200,s,) exten => 5200,102,Set(DIALSTATUS=BUSY) exten => 5200,103,Hangup exten => 5200,2,GotoIf($["${CALLERIDNAME:0:1}" = "B"]?5) exten => 5200,3,SetCIDName(Queue : RONA) exten => 5200,4,Goto(6) exten => 5200,5,SetCIDName(Queue : Belanger) exten => 5200,6,Dial(SIP/5200,15) exten => t,1,hangup [QueueCustServOptions] exten => 5,1,VoiceMail(u5555) exten => 5,2,Hangup [RonaQOpts] exten => 5,1,VoiceMail(u5655) exten => 5,2,Hangup [voicemail] exten => 00,1,VoicemailMain() exten => 00,2,Hangup [guest] include => internal include => voicemail include => test [local] include => guest include => InternalFeatures [full] exten => s,1,DigitTimeout(15) include => local