rendered paste body[general]
static=yes
writeprotect=no
[globals]
TRUNKMSD=1 ; MSD digits to strip (usually 1 or 0)
[default]
;---------------------------------------------------------------------------
; BEGIN DEFAULT CONTEXT
; To allow name --> extension aliases, include sipaliases context
include => sipalias
; To allow inbound calls, include inbound context
include => inbound
; To allow access to applications, include applications context
include => applications
; To allow calls to/from local extensions, include local context
include => local
; To allow calls to/from friend extensions, include friends context
include => friends
; END DEFAULT CONTEXT
;---------------------------------------------------------------------------
;---------------------------------------------------------------------------
; BEGIN MACROS
; Standard local extension macro
[macro-stdexten]
; ARG1 = Extension
; ARG2 = Device
exten => s,1,Playback(transfer)
exten => s,2,SetMusicOnHold(default)
exten => s,3,Dial(${ARG2},20)
exten => s,4,Goto(s-${DIALSTATUS},1)
exten => s-NOANSWER,1,Voicemail(u${ARG1})
exten => s-NOANSWER,2,Goto(default,s,1)
exten => s-BUSY,1,Voicemail(b${ARG1})
exten => s-BUSY,2,Goto(default,s,1)
exten => _s-.,1,Goto(s-NOANSWER,1)
exten => a,1,VoicemailMain(${ARG1})
; Inbound call macro
[macro-inbound]
; ARG1 = Country Code text or prefix text
; ARG2 = Country Code number
; ARG3 = Extension to ring
; ARG4 = Voicemail to go to
exten => s,1,SetMusicOnHold(default)
;exten => s,2,SetCallerID("${ARG1} (+${ARG2}-${CALLERIDNAME})" <+${ARG2}-${CALLERIDNUM}>)
exten => s,2,Dial(SIP/${ARG3},20)
exten => s,3,Goto(s-${DIALSTATUS},1)
exten => s-NOANSWER,1,Voicemail(u${ARG4})
exten => s-NOANSWER,2,Goto(default,s,1)
exten => s-BUSY,1,Voicemail(b${ARG4})
exten => s-BUSY,2,Goto(default,s,1)
exten => _s-.,1,Goto(s-NOANSWER,1)
exten => a,1,VoicemailMain(${ARG4})
; Inbound fax
[macro-faxreceive]
exten => s,1,SetVar(FAXFILE=/var/spool/asterisk-fax/${UNIQUEID}.tif)
exten => s,2,DBGet(EMAILADDR=extensionemail/${MACRO_EXTEN})
exten => s,3,rxfax(${FAXFILE})
exten => s,103,SetVar(EMAILADDR=x86@office.shellshark.net)
exten => s,104,Goto(3)
; END MACROS
;---------------------------------------------------------------------------
[applications]
;---------------------------------------------------------------------------
; BEGIN APPLICATION EXTENSIONS
; Voicemail
exten => 7600,1,VoiceMailMain(${CALLERIDNUM})
exten => 7600,2,Playback(Goodbye)
exten => 7600,3,Hangup
; Record something
exten => 9998,1,Playback(vm-intro)
exten => 9998,2,Wait(2)
exten => 9998,3,Record(/tmp/asterisk-recording:wav)
exten => 9998,4,Wait(2)
exten => 9998,5,Playback (/tmp/asterisk-recording)
exten => 9998,6,Wait(2)
exten => 9998,7,Hangup
; Listen to temp recording
exten => 9999,1,Playback(/tmp/asterisk-recording)
exten => 9999,2,Hangup
; Generate and listen to weather
exten => 9997,1,Answer
exten => 9997,2,Playback(one-moment-please)
exten => 9997,3,System(/usr/local/bin/speakweather)
exten => 9997,4,Playback(/tmp/weather)
exten => 9997,5,System(rm -f /tmp/weather.wav)
exten => 9997,6,Wait(2)
exten => 9997,7,Playback(goodbye)
exten => 9997,8,Hangup
; Run IVR
exten => 9996,1,Goto(ivr,s,1)
; END APPLICATION EXTENSIONS
;---------------------------------------------------------------------------
[ivr]
;---------------------------------------------------------------------------
; BEGIN IVR APPLICATION
; Main IVR menu
exten => s,1,Answer
exten => s,2,SetMusicOnHold(default)
exten => s,3,DigitTimeout,5
exten => s,4,ResponseTimeout,10
exten => s,5,Wait(4)
exten => s,6,Playback(tyfc-ssn)
exten => s,7,Wait(1)
exten => s,8,Background(iyk)
exten => s,9,Background(menu)
; Local extension
exten => _1XX,1,Goto(local,${EXTEN:3},1)
; Friend extension
exten => _4XX,1,Goto(friends,${EXTEN:3},1)
; Transfer to acct. dept.
exten => 1,1,Playback(transfer)
exten => 1,2,Macro(inbound,"IVR Accounting Call",1,101,101)
; Transfer to sales dept.
exten => 2,1,Playback(transfer)
exten => 2,2,Macro(inbound,"IVR Sales Call",1,103,100)
; Transfer to service dept.
exten => 3,1,Playback(transfer)
exten => 3,2,Macro(inbound,"IVR Service Call",1,103,100)
; Repeat options if they press 0
exten => 0,1,Goto(ivr,s,7)
; Timeout
exten => t,1,Goto(#,1)
; Invalid choice
exten => i,1,Playback(invalid)
exten => i,2,Goto(ivr,s,7)
; Hangup
exten => #,1,Playback(goodbye)
exten => #,2,Hangup
; END IVR APPLICATION
;---------------------------------------------------------------------------
[inbound]
;---------------------------------------------------------------------------
; BEGIN INBOUND EXTENSIONS
; IPStar.us inbound (UK)
exten => 5000,1,Goto(ivr,s,1)
; FWD inbound (SIP-SIP only, works about 25% of the time)
exten => _750159,1,Macro(inbound,"FWD Call",1,100,100)
; Stanaphone inbound (NY, US)
exten => 08140616,1,Goto(ivr,s,1)
exten => 08140722,1,Goto(ivr,s,1)
; GoIAX inbound (SIP-SIP only; use primarily for outbound toll-free)
exten => _878201002644,1,Goto(ivr,s,1)
; IPKall.com (WA, US)
exten => 5001,1,Goto(ivr,s,1)
exten => 5002,1,Goto(fax,2000,1)
exten => fax,1,Goto(fax,2000,1)
; IPKall.com - Ben Hearsum's DID
exten => 5004,1,Macro(inbound,"PSTN Call",1,406,406)
; Telasip.com (IL, US; 309-698-5584)
exten => 5003,1,Goto(ivr,s,1)
; END INBOUND EXTENSIONS
;---------------------------------------------------------------------------
[fax]
;---------------------------------------------------------------------------
; BEGIN FAX CONTEXT
exten => 2000,1,Macro(faxreceive)
exten => 2001,1,Macro(faxreceive)
exten => h,1,system(/usr/local/sbin/mailfax ${FAXFILE} ${EMAILADDR} "${CALLERIDNUM} ${CALLERIDNAME}")
; END FAX CONTEXT
;---------------------------------------------------------------------------
[sipalias]
;---------------------------------------------------------------------------
; BEGIN SIP ALIASES CONTEXT
; Locals
exten => bryce,1,Goto(local,103,1)
exten => kassi,1,Goto(local,101,1)
exten => ed,1,Goto(local,102,1)
; Friends
exten => dolphin,1,Goto(friends,400,1)
exten => sherif,1,Goto(friends,401,1)
exten => boody,1,Goto(friends,402,1)
exten => odd,1,Goto(friends,403,1)
exten => spacepeanut,1,Goto(friends,404,1)
exten => pakipenguin,1,Goto(friends,405,1)
exten => bhearsum,1,Goto(friends,406,1)
; END SIP ALIASES CONTEXT
;---------------------------------------------------------------------------
[local]
;---------------------------------------------------------------------------
; BEGIN STANDARD LOCAL EXTENSIONS
; See sip.conf for descriptions of extensions
exten => 100,1,Macro(stdexten,100,SIP/100)
exten => 101,1,Macro(stdexten,101,SIP/101)
exten => 102,1,Macro(stdexten,102,SIP/102)
exten => 103,1,Macro(stdexten,103,SIP/103)
include => applications
include => friends
include => tollfree-outbound
include => siptosip-outbound
include => toll-outbound
include => international-outbound
; END STANDARD LOCAL EXTENSIONS
;---------------------------------------------------------------------------
[friends]
;---------------------------------------------------------------------------
; START FRIEND EXTENSIONS
; See sip.conf for descriptions of extensions
exten => 400,1,Macro(stdexten,400,SIP/400)
exten => 401,1,Macro(stdexten,401,SIP/401)
exten => 402,1,Macro(stdexten,402,SIP/402)
exten => 403,1,Macro(stdexten,403,SIP/403)
exten => 404,1,Macro(stdexten,404,SIP/404)
exten => 405,1,Macro(stdexten,405,SIP/405)
exten => 406,1,Macro(stdexten,406,SIP/406)
include => applications
include => tollfree-outbound
include => siptosip-outbound
include => local
include => toll-outbound
include => international-outbound
; END FRIEND EXTENSIONS
;---------------------------------------------------------------------------
[international-outbound]
;---------------------------------------------------------------------------
; BEGIN INTERNATIONAL OUTBOUND DIALPLAN
; If the call is an international call, use PakiPenguin's trunk
exten => _6X.,1,Authenticate(9999)
exten => _6X.,2,Dial(IAX2/x86:alpha@prepaid.todial.net/${EXTEN:1})
exten => _6X.,3,Hangup
; END INTERNATIONAL OUTBOUND DIALPLAN
;---------------------------------------------------------------------------
[tollfree-outbound]
;---------------------------------------------------------------------------
; BEGIN TOLL-FREE OUTBOUND DIALPLAN
; If the call is a toll-free outbound call, first try GoIAX (which is free)
;exten => _818XXXXXXXXX,1,SetCallerID(ShellShark Networks <(360) 227-6548>)
exten => _818XXXXXXXXX,1,Dial(IAX2/goiax/${EXTEN:1},100,tr)
; If that fails, try FWD
exten => _818XXXXXXXXX,2,Dial(IAX2/fwd-750159/*${EXTEN:1},100,tr)
; END TOLL-FREE OUTBOUND DIALPLAN
;---------------------------------------------------------------------------
[siptosip-outbound]
;---------------------------------------------------------------------------
; BEGIN SIP-SIP OUTBOUND DIALPLAN
; First, try via FWD
;exten => _5XX.,1,SetCallerID(ShellShark Networks <(360) 227-6548>)
exten => _5XX.,1,Dial(IAX2/fwd-750159/${EXTEN:1},30,tr)
; Then, try via GoIAX
exten => _5XX.,2,Dial(IAX2/goiax/${EXTEN:1},30,tr)
; END SIP-SIP OUTBOUND DIALPLAN
;---------------------------------------------------------------------------
[toll-outbound]
;---------------------------------------------------------------------------
; BEGIN TOLL OUTBOUND DIALPLAN
; If the call is a toll call, use TelIAX (which is NOT free)
exten => _8XXXXXXXXX.,1,Authenticate(99999)
;exten => _8XXXXXXXXX.,2,SetCallerID(ShellShark Networks <(360) 227-6548>)
exten => _8XXXXXXXXX.,2,Dial(IAX2/shellshark@teliax/${EXTEN:1},100,tr)
exten => _8XXXXXXXXX.,3,Playback(Goodbye)
exten => _8XXXXXXXXX.,4,Hangup
; END TOLL OUTBOUND DIALPLAN
;---------------------------------------------------------------------------