Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $ cat /etc/asterisk/extensions.conf
- [macro-main];
- exten => s,1,Dial(${ARG1},${ARG5},${ARG4}Fg)
- exten => s,n,NoOp(DIALSTATUS: ${DIALSTATUS})
- exten => s,n,Goto(s-${DIALSTATUS},1)
- ;exten => s-ANSWER
- ;exten => s-CANCEL
- ;exten => s-CHANUNAVAIL
- ;exten => s-CONGESTION
- ;exten => s-DONTCALL
- ;exten => s-TORTURE
- ;exten => s-INVALIDARGS
- exten => s-BUSY,1,Goto(busy,1)
- exten => s-NOANSWER,1,Goto(noanswer,1)
- exten => _s-.,1,Goto(noanswer,1)
- ; busy
- exten => busy,1,GotoIf($["${HASVOICEMAIL}" != ""]?vm-busy,1)
- exten => busy,n,Set(MISSEDCAUSE=busy)
- exten => busy,n,GosubIf($["${SENDNOTIFICATIONS}" != ""]?mailnotification,1)
- exten => busy,n,Busy(10)
- exten => vm-busy,1,Wait(1)
- exten => vm-busy,n,Set(MISSEDCAUSE=busy)
- exten => vm-busy,n,GosubIf($["${SENDNOTIFICATIONS}" != ""]?mailnotification,1)
- exten => vm-busy,n,ExecIf($["${NOVOICEMAILWHENBUSY}" != ""]?Busy(10))
- exten => vm-busy,n,VoiceMail(${ARG2},b,${ARG3})
- exten => vm-busy,n,Playback(vm-goodbye)
- exten => vm-busy,n,GotoIf($["${VMSTATUS}" = "SUCCESS"]?vm-message-exit,1:vm-nomessage-noexit,1)
- ; no answer
- exten => noanswer,1,GotoIf($["${HASVOICEMAIL}" != ""]?vm-noanswer,1)
- exten => noanswer,n,Set(MISSEDCAUSE=no-answer)
- exten => noanswer,n,GosubIf($["${SENDNOTIFICATIONS}" != ""]?mailnotification,1)
- exten => noanswer,n,Hangup()
- exten => vm-noanswer,1,Wait(1)
- exten => vm-noanswer,n,Set(MISSEDCAUSE=no-answer)
- exten => vm-noanswer,n,VoiceMail(${ARG2},u,${ARG3})
- exten => vm-noanswer,n,Playback(vm-goodbye)
- exten => vm-noanswer,n,GotoIf($["${VMSTATUS}" = "SUCCESS"]?vm-message-exit,1:vm-nomessage-noexit,1)
- ; voicemail exit
- exten => vm-message-exit,1,Set(MISSEDCAUSE=didntmiss)
- exten => vm-message-exit,n,Hangup()
- exten => vm-nomessage-exit,1,GosubIf($["${SENDNOTIFICATIONS}" != ""]?mailnotification,1)
- exten => vm-nomessage-exit,n,Hangup()
- ; hangup
- exten => h,1,NoOp(Entering the h hangup extension)
- exten => h,n,GotoIf($["${HASVOICEMAIL}" != ""]?vm-h,1)
- exten => h,n,Hangup()
- exten => vm-h,1,ExecIf($["${DIALSTATUS}" = "ANSWER"]?Hangup())
- exten => vm-h,n,ExecIf($["${MISSEDCAUSE}" = ""]?Set(MISSEDCAUSE=hungup))
- exten => vm-h,n,GosubIf($[("${SENDNOTIFICATIONS}" != "") & ("${MISSEDCAUSE}" != "didntmiss")]?mailnotification,1)
- exten => vm-h,n,Hangup()
- ; mail missed call notification
- exten => mailnotification,1,Set(TMPMAILFILE=/var/asterisk/spool/tmp/email-${MD5(${UNIQUEID})})
- exten => mailnotification,n,System(touch ${TMPMAILFILE})
- exten => mailnotification,n,System(echo "date: `date`" > ${TMPMAILFILE})
- exten => mailnotification,n,System(echo "to: ${SENDNOTIFICATIONS}" >> ${TMPMAILFILE})
- exten => mailnotification,n,System(echo "subject: Missed Call (${MISSEDCAUSE})" >> ${TMPMAILFILE})
- exten => mailnotification,n,System(echo "from: AskoziaPBX Notifications <askozia-vm@itison-ikt.de>" >> ${TMPMAILFILE})
- exten => mailnotification,n,System(echo >> ${TMPMAILFILE})
- exten => mailnotification,n,System(echo "${STRFTIME(${EPOCH},,%Y-%m-%d - %H:%M)} from ${CALLERID(all)}" >> ${TMPMAILFILE})
- exten => mailnotification,n,System(/usr/bin/msmtp -C /etc/msmtp.conf -t < ${TMPMAILFILE})
- exten => mailnotification,n,System(rm ${TMPMAILFILE})
- exten => mailnotification,n,Return()
- ;i - Invalid
- ;s - Start
- ;h - Hangup
- ;t - Timeout
- ;T - AbsoluteTimeout
- ;a - Asterisk extension
- ;o - Operator
- ; Read IP
- [APPLICATION-MAPPING-933337097386d45555d920]
- exten => _[0-9a-zA-Z*#]!,1,Answer()
- exten => _[0-9a-zA-Z*#]!,2,Set(CHANNEL(language)=en-us)
- exten => _[0-9a-zA-Z*#]!,3,Set(IPOUTPUT=${SHELL(/etc/scripts/parseip.sh)})
- exten => _[0-9a-zA-Z*#]!,4,NoOp(IPOUTPUT: ${IPOUTPUT})
- exten => _[0-9a-zA-Z*#]!,5,Playback(beep)
- exten => _[0-9a-zA-Z*#]!,n,SayDigits(${CUT(IPOUTPUT,\.,1)})
- exten => _[0-9a-zA-Z*#]!,n,Playback(silence/1)
- exten => _[0-9a-zA-Z*#]!,n,SayDigits(${CUT(IPOUTPUT,\.,2)})
- exten => _[0-9a-zA-Z*#]!,n,Playback(silence/1)
- exten => _[0-9a-zA-Z*#]!,n,SayDigits(${CUT(IPOUTPUT,\.,3)})
- exten => _[0-9a-zA-Z*#]!,n,Playback(silence/1)
- exten => _[0-9a-zA-Z*#]!,n,SayDigits(${CUT(IPOUTPUT,\.,4)})
- exten => _[0-9a-zA-Z*#]!,n,Playback(silence/1)
- exten => _[0-9a-zA-Z*#]!,n,Playback(silence/1)
- exten => _[0-9a-zA-Z*#]!,n,Goto(5)
- exten => s,1,Answer()
- exten => s,2,Set(CHANNEL(language)=en-us)
- exten => s,3,Set(IPOUTPUT=${SHELL(/etc/scripts/parseip.sh)})
- exten => s,4,NoOp(IPOUTPUT: ${IPOUTPUT})
- exten => s,5,Playback(beep)
- exten => s,n,SayDigits(${CUT(IPOUTPUT,\.,1)})
- exten => s,n,Playback(silence/1)
- exten => s,n,SayDigits(${CUT(IPOUTPUT,\.,2)})
- exten => s,n,Playback(silence/1)
- exten => s,n,SayDigits(${CUT(IPOUTPUT,\.,3)})
- exten => s,n,Playback(silence/1)
- exten => s,n,SayDigits(${CUT(IPOUTPUT,\.,4)})
- exten => s,n,Playback(silence/1)
- exten => s,n,Playback(silence/1)
- exten => s,n,Goto(5)
- ; Echo
- [APPLICATION-MAPPING-83606076846f835d8828a4]
- exten => _[0-9a-zA-Z*#]!,1,Answer()
- exten => _[0-9a-zA-Z*#]!,2,Echo()
- exten => _[0-9a-zA-Z*#]!,3,Hangup()
- exten => s,1,Answer()
- exten => s,2,Echo()
- exten => s,3,Hangup()
- ; WakeMe
- [APPLICATION-MAPPING-202074715246f8385a7a820]
- exten => _[0-9a-zA-Z*#]!,1,Answer()
- exten => _[0-9a-zA-Z*#]!,2,Set(CHANNEL(language)=en-us)
- exten => _[0-9a-zA-Z*#]!,3,WakeMe()
- exten => _[0-9a-zA-Z*#]!,4,Hangup()
- exten => s,1,Answer()
- exten => s,2,Set(CHANNEL(language)=en-us)
- exten => s,3,WakeMe()
- exten => s,4,Hangup()
- ; Milliwatt
- [APPLICATION-MAPPING-48856682646f8381701993]
- exten => _[0-9a-zA-Z*#]!,1,Answer()
- exten => _[0-9a-zA-Z*#]!,2,Milliwatt()
- exten => _[0-9a-zA-Z*#]!,3,Hangup()
- exten => s,1,Answer()
- exten => s,2,Milliwatt()
- exten => s,3,Hangup()
- [public-direct-dial]
- [internal]
- ; internal phone : Default Extension - <102>
- exten => 102,1,NoOp(internal calling internal phone: Default Extension - <102>)
- exten => 102,n,Set(SENDNOTIFICATIONS="michael@askozia.com")
- exten => 102,n,Set(NOVOICEMAILWHENBUSY="yes")
- exten => 102,n,Macro(main,SIP/102,102,102,tTo,)
- ; internal phone : Default Extension - <101>
- exten => 101,1,NoOp(internal calling internal phone: Default Extension - <101>)
- exten => 101,n,Set(NOVOICEMAILWHENBUSY="yes")
- exten => 101,n,Macro(main,SIP/101,101,101,tTo,)
- ; application : Read IP
- exten => 000047,1,NoOp(internal calling application: Read IP)
- exten => 000047,n,Dial(Local/${EXTEN}@APPLICATION-MAPPING-933337097386d45555d920/n)
- ; application : Echo
- exten => 00003246,1,NoOp(internal calling application: Echo)
- exten => 00003246,n,Dial(Local/${EXTEN}@APPLICATION-MAPPING-83606076846f835d8828a4/n)
- ; application : WakeMe
- exten => 00009253,1,NoOp(internal calling application: WakeMe)
- exten => 00009253,n,Dial(Local/${EXTEN}@APPLICATION-MAPPING-202074715246f8385a7a820/n)
- ; application : Milliwatt
- exten => 000064554,1,NoOp(internal calling application: Milliwatt)
- exten => 000064554,n,Dial(Local/${EXTEN}@APPLICATION-MAPPING-48856682646f8381701993/n)
- ; conference room : Default Conference - <2663>
- exten => 2663,1,NoOp(internal calling conference: Default Conference - <2663>)
- exten => 2663,n,Answer()
- exten => 2663,n,MeetMe(2663,M)
- exten => 2663,n,Hangup()
- ; parking lot
- include => parkedcalls
- exten => 701,1,ParkedCall(701)
- exten => 701,hint,park:701@parkedcalls
- exten => 702,1,ParkedCall(702)
- exten => 702,hint,park:702@parkedcalls
- exten => 703,1,ParkedCall(703)
- exten => 703,hint,park:703@parkedcalls
- exten => 704,1,ParkedCall(704)
- exten => 704,hint,park:704@parkedcalls
- exten => 705,1,ParkedCall(705)
- exten => 705,hint,park:705@parkedcalls
- exten => 706,1,ParkedCall(706)
- exten => 706,hint,park:706@parkedcalls
- exten => 707,1,ParkedCall(707)
- exten => 707,hint,park:707@parkedcalls
- exten => 708,1,ParkedCall(708)
- exten => 708,hint,park:708@parkedcalls
- exten => 709,1,ParkedCall(709)
- exten => 709,hint,park:709@parkedcalls
- exten => 710,1,ParkedCall(710)
- exten => 710,hint,park:710@parkedcalls
- exten => 711,1,ParkedCall(711)
- exten => 711,hint,park:711@parkedcalls
- exten => 712,1,ParkedCall(712)
- exten => 712,hint,park:712@parkedcalls
- exten => 713,1,ParkedCall(713)
- exten => 713,hint,park:713@parkedcalls
- exten => 714,1,ParkedCall(714)
- exten => 714,hint,park:714@parkedcalls
- exten => 715,1,ParkedCall(715)
- exten => 715,hint,park:715@parkedcalls
- exten => 716,1,ParkedCall(716)
- exten => 716,hint,park:716@parkedcalls
- exten => 717,1,ParkedCall(717)
- exten => 717,hint,park:717@parkedcalls
- exten => 718,1,ParkedCall(718)
- exten => 718,hint,park:718@parkedcalls
- exten => 719,1,ParkedCall(719)
- exten => 719,hint,park:719@parkedcalls
- exten => 720,1,ParkedCall(720)
- exten => 720,hint,park:720@parkedcalls
- ; sip device hints
- exten => 101,hint,SIP/101
- exten => 102,hint,SIP/102
- ; Default Extension - <102>
- [SIP-PHONE-17386693824ce3d03744466]
- include => internal
- include => outgoing-uri
- ; Default Extension - <101>
- [SIP-PHONE-5971090374ce3d007c6bf5]
- include => internal
- include => outgoing-uri
- [outgoing-uri]
- exten => _[0-9a-zA-Z*#].,1,NoOp(Direct dialing via SIP uri : ${EXTEN}@${SIPDOMAIN})
- exten => _[0-9a-zA-Z*#].,n,Dial(SIP/${EXTEN}@${SIPDOMAIN},,To)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement