rendered paste body[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