Public feed
#600198
[company-incoming]
include => company-default
include => hangupnicely
; menu system
; sounds for this go in: /var/lib/asterisk/sounds/custom/
; for example, daytime-greeting is daytime-greeting.gsm
; - answer, wait 1 second (all samples show this)
; - check the time/date by executing openclose.agi script
; - if holiday. go to line 8 and play the holiday greeting, then play the mainmenu greeting
; - if office hours, go to item # 10 (dial extensions), ring them for 10 seconds, then give
; them the "we're here but unavail.." greeting and the option to call a department.
; - if not office hours, give them closed-greeting message, then take them to the
; main menu where they can choose a department and hense leave voicemail.
;1-99 - lots of room to set variables
exten => s,1,NoOp
exten => s,2,NoOp
exten => s,3,NoOp
exten => s,4,NoOp
exten => s,5,NoOp
exten => s,6,NoOp
exten => s,7,NoOp
exten => s,8,NoOp
exten => s,9,NoOp
exten => s,10,NoOp
exten => s,11,NoOp
exten => s,12,NoOp
exten => s,13,NoOp
exten => s,14,NoOp
exten => s,15,NoOp
exten => s,16,NoOp
exten => s,17,NoOp
exten => s,18,NoOp
exten => s,19,NoOp
exten => s,20,NoOp
exten => s,21,NoOp
exten => s,22,NoOp
exten => s,23,NoOp
exten => s,24,NoOp
exten => s,25,NoOp
exten => s,26,NoOp
exten => s,27,NoOp
exten => s,28,NoOp
exten => s,29,NoOp
exten => s,30,NoOp
exten => s,31,NoOp
exten => s,32,NoOp
exten => s,33,NoOp
exten => s,34,NoOp
exten => s,35,NoOp
exten => s,36,NoOp
exten => s,37,NoOp
exten => s,38,NoOp
exten => s,39,NoOp
; 40-99 other variables
exten => s,40,Set(BRYANCELL=2178828)
exten => s,41,Set(BRYANHOME=8338710)
exten => s,42,Set(LETITIACELL=3209335)
exten => s,43,Set(LETITIAHOME=3209335)
exten => s,44,Set(ERIKHOME=4427500)
exten => s,45,Set(ERIKCELL=2065367)
exten => s,46,Set(KARYNCELL=3341569)
exten => s,47,Set(KARYNHOME=4428661)
exten => s,48,Set(CHRISCELL=2173259)
exten => s,49,Set(CHRISHOME=4429586)
exten => s,50,Set(COLINCELL=2390667)
exten => s,51,Set(COLINHOME=4429160)
exten => s,52,Set(MARCCELL=3358937)
exten => s,53,Set(MARCHOME=3358937)
exten => s,54,Set(ROBERTCELL=2095062)
exten => s,55,Set(ROBERTHOME=4672098)
exten => s,56,Set(STEVECELL=2134122)
exten => s,57,Set(STEVEHOME=6620483)
exten => s,58,NoOp
exten => s,59,NoOp
exten => s,60,NoOp
exten => s,61,NoOp
exten => s,62,NoOp
exten => s,63,NoOp
exten => s,64,NoOp
exten => s,65,NoOp
exten => s,66,NoOp
exten => s,67,NoOp
exten => s,68,NoOp
exten => s,69,NoOp
exten => s,70,NoOp
exten => s,71,NoOp
exten => s,72,NoOp
exten => s,73,NoOp
exten => s,74,NoOp
exten => s,75,NoOp
exten => s,76,NoOp
exten => s,77,NoOp
exten => s,78,NoOp
exten => s,79,NoOp
exten => s,80,NoOp
exten => s,81,NoOp
exten => s,82,NoOp
exten => s,83,NoOp
exten => s,84,NoOp
exten => s,85,NoOp
exten => s,86,NoOp
exten => s,87,NoOp
exten => s,88,NoOp
exten => s,89,NoOp
exten => s,90,NoOp
exten => s,91,NoOp
exten => s,92,NoOp
exten => s,93,NoOp
exten => s,94,NoOp
exten => s,95,NoOp
exten => s,96,NoOp
exten => s,97,NoOp
exten => s,98,NoOp
exten => s,99,NoOp
;100-109
; do caller ID check, determine time, where to send user (to a message, to a phone, etc)
exten => s,100,Answer
exten => s,101,Wait(2)
exten => s,102,BackGround(custom/emergency-message) ; play emergency message! see "phrase-menu.conf"
exten => s,103,AGI(openclose.agi)
exten => s,104,GotoIf($[ "${STATUS}" = "closed" ]?110) ;goto s,110 if true
exten => s,105,GotoIf($[ "${STATUS}" = "lateshift" ]?124) ;goto s,122 if true
exten => s,106,GotoIf($[ "${STATUS}" = "holiday" ]?113) ;goto s,113 if true
exten => s,107,NoOp
exten => s,108,NoOp
exten => s,109,Goto(s,120) ;none of the above cases were true, ring some phones
;110-119 - different possible scenarios if we're not open
exten => s,110,AGI(cepstral.agi|Thank you for calling Company\. Our office is currently closed\.)
exten => s,111,Background(${TTS_FILENAME})
exten => s,112,Goto(s,130)
exten => s,113,AGI(cepstral.agi|Thank you for calling Company\. Due to the holiday\, our office is closed\.)
exten => s,114,Background(${TTS_FILENAME})
exten => s,115,Goto(s,130)
exten => s,116,NoOp
exten => s,117,NoOp
exten => s,118,NoOp
exten => s,119,NoOp
;120-129 - actually ring phones by group
exten => s,120,NoOp
exten => s,121,Queue(company-reception|r|||12)
;exten => s,121,NoOp ;SKIP front desk if no one's here (comment out the above then!)
exten => s,122,Queue(company-office|r|||15)
exten => s,123,Goto(s,127)
exten => s,124,NoOp
exten => s,125,Queue(company-all|r|||15)
exten => s,126,NoOp
exten => s,127,Wait(1)
exten => s,128,AGI(cepstral.agi|Thank you for calling Company\. We are currently open\. Sorry we missed your call\.)
exten => s,129,Background(${TTS_FILENAME})
;130-139 - actually enter menu where users can make selections
exten => s,130,Wait(1)
exten => s,131,AGI(cepstral.agi|Our business hours are 9 to 6 Sunday\, 7 to midnight Monday through Thursday\, 7 to 6 on Friday\, and 9 to 6 on Saturday\.)
exten => s,132,Background(${TTS_FILENAME})
exten => s,133,Wait(1)
exten => s,134,NoOp(${TTS_FILENAME})
exten => s,135,AGI(cepstral.agi|Dial 1 for billing\, 2 for sales\, 3 for technical support\, or 4 for a company directory\. If this is an emergency\, please dial 5\. If you know the extension\, you may dial it now\.)
exten => s,136,NoOp(${TTS_FILENAME})
exten => s,137,Background(${TTS_FILENAME})
exten => s,138,NoOp
exten => s,139,WaitExten(10)
exten => s,140,Goto(hangupnicely,s,1)
[company-default]
include => company-dialout
include => company-incoming
exten => s,1,Goto(company-incoming,s,133)
exten => i,1,Goto(company-incoming,s,133)
; operator extension ('o')
exten => o,1,Wait,1
exten => o,2,Goto(0,1)
; 0 = reception
exten => 0,1,NoOp
exten => 0,2,Queue(company-reception,rt,,,10)
exten => 0,3,Queue(company-office,rt,,,15)
exten => 0,4,Goto(company-incoming,s,133)
; 1 = billing general (x100)
exten => 1,1,Goto(100,1)
; 2 = sales general (x200)
exten => 2,1,Goto(200,1)
; 3 = support general (x300)
exten => 3,1,Goto(300,1)
; 4 = company directory, use asterisk's built in Directory funcion, followed by the context (default)
exten => 4,1,Directory(company-default)
exten => 4,3,Goto(s,15)
; 5 = emergency/on call recording information
exten => 5,1,BackGround(custom/1005) ;1005.gsm = emergency info
exten => 5,2,Wait(5)
exten => 5,3,Goto(s,15)
;Billing General (ring all billing 1xx)
exten => 100,1,Set(_ALERT_INFO=<Bellcore-dr2>)
exten => 100,2,Wait(1)
exten => 100,3,Queue(company-billing,rt,,,15)
exten => 100,4,Wait(1)
exten => 100,5,Voicemail(su100@company-default)
exten => 100,6,Goto(hangupnicely,s,1)
exten => _*100,1,Goto(100,4)
exten => 101,1,Dial(Sip/101,15)
exten => 101,2,Voicemail(su101@company-default)
exten => _*101,1,Goto(101,2)
exten => 102,1,Dial(Sip/102,15)
exten => 102,2,Voicemail(su102@company-default)
exten => _*102,1,Goto(102,2)
exten => _*102,2,Goto(hangupnicely,s,1)
;Sales General (ring all sales 2xx)
exten => 200,1,Set(_ALERT_INFO=<Bellcore-dr2>)
exten => 200,2,Wait(1)
exten => 200,3,Queue(company-sales,rt,,,15)
exten => 200,4,Wait(1)
exten => 200,5,Voicemail(su200@company-default)
exten => 200,6,Goto(hangupnicely,s,1)
exten => _*200,1,Goto(200,4)
exten => 201,1,Dial(Sip/201,15)
exten => 201,2,Voicemail(su201@company-default)
exten => _*201,1,Goto(201,2)
exten => 202,1,Dial(Sip/202,15)
exten => 202,2,Voicemail(su202@company-default)
exten => _*202,1,Goto(202,2)
exten => 203,1,Dial(Sip/203,15)
exten => 203,2,Voicemail(su203@company-default)
exten => _*203,1,Goto(203,2)
exten => 204,1,Dial(Sip/204,15)
exten => 204,2,Voicemail(su204@company-default)
exten => _*204,1,Goto(204,2)
;Tech Support Lines
exten => 300,1,Set(SPYGROUP=300)
exten => 300,2,Set(_ALERT_INFO=<Bellcore-dr2>)
exten => 300,3,Wait(1)
exten => 300,4,Queue(company-support,rt,,,15)
exten => 300,5,Wait(1)
exten => 300,6,Voicemail(su300@company-default)
exten => 300,7,Goto(hangupnicely,s,1)
exten => _*300,1,Goto(300,5)
;spy on Extension 300 (chanspy) - listen in on calls
exten => 399,1,ChanSpy(ZAP,qg(300))
exten => 399,2,Goto(hangupnicely,s,1)
exten => 301,1,Dial(Sip/301,15)
exten => 301,2,Voicemail(su301@company-default)
exten => _*301,1,Goto(301,2)
exten => 7301,1,Dial(Zap/G1/2065367)
exten => 302,1,Dial(Sip/302,15)
exten => 302,2,Voicemail(su302@company-default)
exten => _*302,1,Goto(302,2)
exten => 312,1,Dial(Sip/312,15)
exten => 312,2,Voicemail(su312@company-default)
exten => _*312,1,Goto(302,2)
exten => 303,1,Dial(Sip/303,15)
exten => 303,2,Voicemail(su303@company-default)
exten => _*303,1,Goto(303,2)
exten => 304,1,Dial(Sip/304,15)
exten => 304,2,Voicemail(su304@company-default)
exten => _*304,1,Goto(304,2)
exten => 305,1,Dial(Sip/305,15)
exten => 305,2,Voicemail(su305@company-default)
exten => _*305,1,Goto(305,2)
exten => 306,1,Dial(Sip/306,15)
exten => 306,2,Voicemail(su306@company-default)
exten => _*306,1,Goto(306,2)
exten => 310,1,Dial(Sip/310,15)
exten => 310,2,Goto(hangupnicely,s,1)
;TECH BEEP!
exten => 398,1,Set(_ALERT_INFO=<Bellcore-dr4>)
exten => 398,2,Dial(Sip/398,1)
exten => 398,3,Goto(hangupnicely,s,1)
;Data Center Phones
exten => 500,1,Set(_ALERT_INFO=<Bellcore-dr2>)
exten => 500,2,Wait(1)
exten => 500,3,Queue(company-datacenter,rt,,,)
exten => 500,4,Goto(hangupnicely,s,1)
;data center phones
exten => 501,1,Dial(Sip/501)
exten => 501,2,Goto(hangupnicely,s,1)
exten => 502,1,Dial(Sip/502)
exten => 502,2,Goto(hangupnicely,s,1)
exten => 503,1,Dial(Sip/503)
exten => 503,2,Goto(hangupnicely,s,1)
; go to phrase recording menu to change our menus (shh, secret!)
exten => 975,1,Goto(company-phrase-menu,s,1)
; go to main menu for testing
exten => 976,1,Goto(company-incoming,s,1)
; test- go to closed greeting
exten => 977,1,Goto(company-incoming,s,110)
; test- go to closed-holiday greeting
exten => 978,1,Goto(company-incoming,s,113)
; test- go to open/missed call greeting
exten => 979,1,Goto(company-incoming,s,128)
; test on call area
exten => 990,1,Goto(company-oncall,s,1)
;Listen to Music On Hold (as a test)
exten => 987,1,WaitMusicOnHold(60)
;Voicemail, the "s<mbox num>" is automatically putting in their extention
exten => 999,1,Wait(1)
exten => 999,2,VoicemailMain(${CALLERID(num)}@company-default)
[company-oncall]
exten => s,1,Answer
exten => s,2,Wait(1)
;exten => s,3,AGI(openticket.agi)
;exten => s,4,AGI(openclose.agi)
exten => s,3,Goto(company-oncall-transfer,s,1)
exten => s,4,NoOp
;exten => s,4,AGI(openclose-always-closed.agi)
exten => s,5,GotoIf($[ "${STATUS}" = "open" ]?company-oncall-open,s,1)
exten => s,6,GotoIf($[ "${STATUS}" = "holiday" ]?company-oncall-open,s,1)
exten => s,7,GotoIf($[ "${STATUS}" = "lateshift" ]?company-oncall-open,s,1)
exten => s,8,GotoIf($[ "${STATUS}" = "closed" ]?company-oncall-transfer,s,1)
exten => s,9,Goto(company-oncall-transfer,s,1)
[company-oncall-open]
;exten => s,1,Queue(company-all,r,,,15)
exten => s,1,Queue(company-all,r,,,1)
exten => s,2,Goto(company-oncall-transfer,s,1)
[company-oncall-transfer]
exten => s,1,AGI(cepstral.agi,You have called the Company on call number\. You are now being transferred directly to an on call technician\. If there is no answer\, please leave a detailed message and your call will be returned shortly\.)
exten => s,2,Playback(${TTS_FILENAME})
exten => s,3,NoOp
exten => s,4,NoOp
exten => s,5,Set(CHRISCELL=2173259)
exten => s,6,Set(COLINCELL=2390667)
exten => s,7,Set(ERIKCELL=2065367)
exten => s,8,Set(MARCCELL=3358937)
exten => s,9,Set(ROBERTCELL=2095062)
exten => s,10,NoOp
exten => s,11,NoOp
exten => s,12,NoOp
exten => s,13,NoOp
exten => s,14,NoOp
exten => s,15,NoOp
exten => s,16,NoOp
;exten => s,17,Set(ONCALL=${CHRISCELL})
exten => s,17,Set(ONCALL=${ROBERTCELL})
;exten => s,17,Set(ONCALL=${ERIKCELL})
;exten => s,17,Set(ONCALL=${COLINCELL})
;exten => s,17,Set(ONCALL=${MARCCELL})
exten => s,18,NoOp
exten => s,19,Dial(Zap/G1/${ONCALL}) ;call the on call tech.
;Calls leaving PBX to PSTN
[company-dialout]
include => company-default
; If something starts with a 9, send it to PSTN.
; G1 = group 1, descending as defined in zapata.conf
; Upper case G means descending. Lower case g is ascending.
; so use group 1, starting from port 11 on down
exten => _9.,1,Dial(Zap/G1/${EXTEN:1})
exten => _9.,2,Congestion