rendered paste body[general]
static=yes
writeprotect=yes
autofallthrough=yes
;
[globals]
;CONSOLE=Console/dsp
;
;
CALLFILENAME=foo
FOO=foo
;####################################################################
;#inbound call mapping
;####################################################################
;
[inbound]
;
;This Exten Goes to Automated attendant after putting caller ID into the Database
exten => s,1,dbput(Last/Caller=${CALLERIDNUM})
exten => s,2,Goto(autoattend)
;
;
;This exten Dial your Sip line it goes from here to all-exten to
exten => XXXXXXX,1,dbput(Last/Caller=${CALLERIDNUM})
exten => XXXXXXX,1,Dial(SIP/${EXTEN},45,Tr) ;replace ${EXTEN} with exten nmbr.
;
exten => 8667871709,1,Goto(autoattend)
exten => 4715227,2,Goto(autoattend)
[day-inbound]
;
exten => s,1,Dial(pickupgroup,30,t)
exten => s,2,VoiceMail(u4715227)
exten => s,3,Hangup
[pickupgroups]
pickupgroup1=SIP/1001&SIP/1006&SIP/1011&SIP/1016&SIP/1021&SIP/1026&SIP/1031&SIP/1037&SIP/1042&SIP/1047
pickupgroup2=SIP/1002&SIP/1007&SIP/1012&SIP/1017&SIP/1022&SIP/1027&SIP/1032&SIP/1038&SIP/1043&SIP/1048
;
[in-pstn] ; under development.....
exten => s,1,Macro(fixcid)
exten => s,2,Answer
exten => s,3,DigitTimeout(3)
exten => s,4,ResponseTimeout(3)
exten => s,5,Wait(1)
exten => s,6,BackGround(pls-wait-connect-call)
exten => s,7,Dial(SIP/${EXTEN},30,Tt)
exten => i,1,Playback(pbx-invalid)
exten => i,2,Hangup
;
;####################################################################
;#outbound mapping
;####################################################################
[trunktollfree]
exten => _800NXXXXXX,1,Dial(SIP/${EXTEN}@fort_smith,30)
exten => _800NXXXXXX,2,Congestion
exten => _866NXXXXXX,1,Dial(SIP/${EXTEN}@fort_smith,30)
exten => _866NXXXXXX,2,Congestion
exten => _877NXXXXXX,1,Dial(SIP/${EXTEN}@fort_smith,30)
exten => _877NXXXXXX,2,Congestion
exten => _888NXXXXXX,1,Dial(SIP/${EXTEN}@fort_smith,30)
exten => _888NXXXXXX,2,Congestion
[trunkint]
exten => _011.,1,Dial(SIP/${EXTEN}@fort_smith,30)
exten => _011.,2,Congestion
[trunkld]
exten => _1NXXN.,1,Dial(SIP/${EXTEN}@fort_smith,30)
exten => _1NXXN.,2,Congestion
[nas01-gnwd]
exten => _252XXXX,1,Dial(SIP/${EXTEN}@greenwood,30)
exten => _252XXXX,2,Congestion
exten => _322XXXX,1,Dial(SIP/${EXTEN}@greenwood,30)
exten => _322XXXX,2,Congestion
exten => _357XXXX,1,Dial(SIP/${EXTEN}@greenwood,30)
exten => _357XXXX,2,Congestion
exten => _597XXXX,1,Dial(SIP/${EXTEN}@greenwood,30)
exten => _597XXXX,2,Congestion
exten => _638XXXX,1,Dial(SIP/${EXTEN}@greenwood,30)
exten => _638XXXX,2,Congestion
exten => _639XXXX,1,Dial(SIP/${EXTEN}@greenwood,30)
exten => _639XXXX,2,Congestion
exten => _996XXXX,1,Dial(SIP/${EXTEN}@greenwood,30)
exten => _996XXXX,2,Congestion
;
;
; Fort Smith NXX's
;
[nas02-ftsm]
exten => _201XXXX,1,Dial(SIP/${EXTEN}@fort_smith,30)
exten => _201XXXX,2,Congestion
exten => _226XXXX,1,Dial(SIP/${EXTEN}@fort_smith,30)
exten => _226XXXX,2,Congestion
exten => _285XXXX,1,Dial(SIP/${EXTEN}@fort_smith,30)
exten => _285XXXX,2,Congestion
exten => _288XXXX,1,Dial(SIP/${EXTEN}@fort_smith,30)
exten => _288XXXX,2,Congestion
exten => _314XXXX,1,Dial(SIP/${EXTEN}@fort_smith,30)
exten => _314XXXX,2,Congestion
exten => _353XXXX,1,Dial(SIP/${EXTEN}@fort_smith,30)
exten => _353XXXX,2,Congestion
exten => _382XXXX,1,Dial(SIP/${EXTEN}@fort_smith,30)
exten => _382XXXX,2,Congestion
exten => _414XXXX,1,Dial(SIP/${EXTEN}@fort_smith,30)
exten => _414XXXX,2,Congestion
exten => _415XXXX,1,Dial(SIP/${EXTEN}@fort_smith,30)
exten => _415XXXX,2,Congestion
exten => _420XXXX,1,Dial(SIP/${EXTEN}@fort_smith,30)
exten => _420XXXX,2,Congestion
exten => _424XXXX,1,Dial(SIP/${EXTEN}@fort_smith,30)
exten => _424XXXX,2,Congestion
exten => _431XXXX,1,Dial(SIP/${EXTEN}@fort_smith,30)
exten => _431XXXX,2,Congestion
exten => _434XXXX,1,Dial(SIP/${EXTEN}@fort_smith,30)
exten => _434XXXX,2,Congestion
exten => _441XXXX,1,Dial(SIP/${EXTEN}@fort_smith,30)
exten => _441XXXX,2,Congestion
exten => _446XXXX,1,Dial(SIP/${EXTEN}@fort_smith,30)
exten => _446XXXX,2,Congestion
exten => _452XXXX,1,Dial(SIP/${EXTEN}@fort_smith,30)
exten => _452XXXX,2,Congestion
exten => _459XXXX,1,Dial(SIP/${EXTEN}@fort_smith,30)
exten => _459XXXX,2,Congestion
exten => _461XXXX,1,Dial(SIP/${EXTEN}@fort_smith,30)
exten => _461XXXX,2,Congestion
exten => _462XXXX,1,Dial(SIP/${EXTEN}@fort_smith,30)
exten => _462XXXX,2,Congestion
exten => _478XXXX,1,Dial(SIP/${EXTEN}@fort_smith,30)
exten => _478XXXX,2,Congestion
exten => _484XXXX,1,Dial(SIP/${EXTEN}@fort_smith,30)
exten => _484XXXX,2,Congestion
exten => _494XXXX,1,Dial(SIP/${EXTEN}@fort_smith,30)
exten => _494XXXX,2,Congestion
exten => _522XXXX,1,Dial(SIP/${EXTEN}@fort_smith,30)
exten => _522XXXX,2,Congestion
exten => _561XXXX,1,Dial(SIP/${EXTEN}@fort_smith,30)
exten => _561XXXX,2,Congestion
exten => _573XXXX,1,Dial(SIP/${EXTEN}@fort_smith,30)
exten => _573XXXX,2,Congestion
exten => _629XXXX,1,Dial(SIP/${EXTEN}@fort_smith,30)
exten => _629XXXX,2,Congestion
exten => _646XXXX,1,Dial(SIP/${EXTEN}@fort_smith,30)
exten => _646XXXX,2,Congestion
exten => _648XXXX,1,Dial(SIP/${EXTEN}@fort_smith,30)
exten => _648XXXX,2,Congestion
exten => _649XXXX,1,Dial(SIP/${EXTEN}@fort_smith,30)
exten => _649XXXX,2,Congestion
exten => _650XXXX,1,Dial(SIP/${EXTEN}@fort_smith,30)
exten => _650XXXX,2,Congestion
exten => _651XXXX,1,Dial(SIP/${EXTEN}@fort_smith,30)
exten => _651XXXX,2,Congestion
exten => _652XXXX,1,Dial(SIP/${EXTEN}@fort_smith,30)
exten => _652XXXX,2,Congestion
exten => _653XXXX,1,Dial(SIP/${EXTEN}@fort_smith,30)
exten => _653XXXX,2,Congestion
exten => _668XXXX,1,Dial(SIP/${EXTEN}@fort_smith,30)
exten => _668XXXX,2,Congestion
exten => _709XXXX,1,Dial(SIP/${EXTEN}@fort_smith,30)
exten => _709XXXX,2,Congestion
exten => _719XXXX,1,Dial(SIP/${EXTEN}@fort_smith,30)
exten => _719XXXX,2,Congestion
exten => _739XXXX,1,Dial(SIP/${EXTEN}@fort_smith,30)
exten => _739XXXX,2,Congestion
exten => _755XXXX,1,Dial(SIP/${EXTEN}@fort_smith,30)
exten => _755XXXX,2,Congestion
exten => _769XXXX,1,Dial(SIP/${EXTEN}@fort_smith,30)
exten => _769XXXX,2,Congestion
exten => _782XXXX,1,Dial(SIP/${EXTEN}@fort_smith,30)
exten => _782XXXX,2,Congestion
exten => _783XXXX,1,Dial(SIP/${EXTEN}@fort_smith,30)
exten => _783XXXX,2,Congestion
exten => _784XXXX,1,Dial(SIP/${EXTEN}@fort_smith,30)
exten => _784XXXX,2,Congestion
exten => _785XXXX,1,Dial(SIP/${EXTEN}@fort_smith,30)
exten => _785XXXX,2,Congestion
exten => _788XXXX,1,Dial(SIP/${EXTEN}@fort_smith,30)
exten => _788XXXX,2,Congestion
exten => _806XXXX,1,Dial(SIP/${EXTEN}@fort_smith,30)
exten => _806XXXX,2,Congestion
exten => _831XXXX,1,Dial(SIP/${EXTEN}@fort_smith,30)
exten => _831XXXX,2,Congestion
exten => _883XXXX,1,Dial(SIP/${EXTEN}@fort_smith,30)
exten => _883XXXX,2,Congestion
exten => _926XXXX,1,Dial(SIP/${EXTEN}@fort_smith,30)
exten => _926XXXX,2,Congestion
;
; Van Buren NXX's
;
;
; Van Buren NXX's
;
exten => _208XXXX,1,Dial(SIP/${EXTEN}@fort_smith,30)
exten => _208XXXX,2,Congestion
exten => _410XXXX,1,Dial(SIP/${EXTEN}@fort_smith,30)
exten => _410XXXX,2,Congestion
exten => _471XXXX,1,Dial(SIP/${EXTEN}@fort_smith,30)
exten => _471XXXX,2,Congestion
exten => _474XXXX,1,Dial(SIP/${EXTEN}@fort_smith,30)
exten => _474XXXX,2,Congestion
exten => _689XXXX,1,Dial(SIP/${EXTEN}@fort_smith,30)
exten => _689XXXX,2,Congestion
;
; Oklahoma NXX's
;
exten => _918427XXXX,1,Dial(SIP/${EXTEN}@fort_smith,30)
exten => _918427XXXX,2,Congestion
exten => _918436XXXX,1,Dial(SIP/${EXTEN}@fort_smith,30)
exten => _918436XXXX,2,Congestion
exten => _918875XXXX,1,Dial(SIP/${EXTEN}@fort_smith,30)
exten => _918875XXXX,2,Congestion
;
[nas06-alma]
exten => _632XXXX,1,Dial(SIP/${EXTEN}@alma,30)
exten => _632XXXX,2,Congestion
exten => _634XXXX,1,Dial(SIP/${EXTEN}@alma,30)
exten => _634XXXX,2,Congestion
exten => _997XXXX,1,Dial(SIP/${EXTEN}@alma,30)
exten => _997XXXX,2,Congestion
exten => _430XXXX,1,Dial(SIP/${EXTEN}@alma,30)
exten => _430XXXX,2,Congestion
exten => _670XXXX,1,Dial(SIP/${EXTEN}@alma,30)
exten => _670XXXX,2,Congestion
[nas07-mnfd]
exten => _928XXXX,1,Dial(SIP/${EXTEN}@mansfield,30)
exten => _928XXXX,2,Congestion
;#######################################################
;# Blocking 1-900 Calls and 976 Calls #
;#######################################################
;
[blocked]
exten => _900NXXXXXX,1,Playback(ss-noservice)
exten => _976XXXX,1,Playback(ss-noservice)
;
;#######################################################
;# outbound-emerg = 911 Calls Forth comming #
;# outbout-info = Directory Assistant's 411 #
;# outbout-repart = In-House Telco Repair Tech Line #
;#######################################################
;
[paging-211]
;[conference]
exten => *211,1,AbsoluteTimeout(21)
exten => *211,2,AGI(callall)
exten => *211,3,MeetMe(5555,dq)
exten => *211,4,Hangup
exten => t,1,Hangup
exten => T,1,Hangup
exten => h,1,Hangup
;
[add-to-conference]
exten => start,1,AbsoluteTimeout(20)
exten => start,2,MeetMe(8508,dmq)
exten => h,1,Hangup
exten => t,1,Hangup
exten => T,1,Hangup
[intercom]
exten => *30,1,AGI(callall|8508|${pickupgroup1}) ; Change to match the range of extensions you want to page
exten => *30,2,Hangup
exten => h,1,Hangup
exten => 300,1,Macro(call-intercom,pickupgroup=1])
exten => 301,1,Macro(call-intercom,pickup)
exten => 302,1,Macro(call-intercom,302)
; add your extensions here
[macro-call-intercom]
exten => s,1,AGI(callall|${CALLERIDNUM}|${CALLERIDNUM}|${ARG}|${ARG1})
exten => s,2,Hangup
exten => h,1,Hangup
[add-to-intercom]
exten => start,1,Playback(beep)
exten => start,2,MeetMe(${iConf},${iConfParm})
exten => start,3,Macro(hangupcall)
exten => h,1,Hangup ;
;
[non-emerg-311] ; not yet setup for e911
exten => 311,1,Dial(SIP/${EXTEN})
exten => 311,2,Congestion
exten => 311,102,Playback(ss-noservice)
exten => 311,103,Congestion
;
[info-411]
exten => 411,1,Dial(SIP/411@sip.broadvoice.com)
exten => 411,2,hangup
;
[callwake-511]
exten => 511,1,Answer
exten => 511,2,Wait(1)
exten => 511,3,AGI(callback.agi)
exten => 511,4,Wait(1)
exten => 511,5,Hangup
;
[repair-611] ; this dials broadvoice .
exten => 611,1,Dial(SIP/611@sip.broadvoice.com)
exten => 611,2,Hangup
;
[emerg-911] ; not yet setup for e911
exten => 911,1,Dial(SIP/${EXTEN})
exten => 911,2,Congestion
exten => 911,102,Playback(no-911-1)
exten => 911,103,Congestion
;
;########################################################
;# Voice Mail Access 8500 and 8501
;# Voice Mail Access External 8502
;#######################################################
;
[voicemail]
exten => 8500,1,VoicemailMain
exten => 8500,2,Hangup
;
exten => 8501,1,VoicemailMain(${CALLERIDNUM})
exten => 8501,2,Hangup
;
;########################################################
;# Inturnal and Extenal Meet-Me Conference Rooms
;# 860[ Internal Conference Room
;# 8601 Extenal Conference Room
;########################################################
;
[confrences]
exten => _850[5-8],1,Answer
exten => _850[5-8],2,Wait(1)
exten => _850[5-8],3,Macro(meet,${EXTEN})
;
;
;########################################################
;#
;# Auto attendant configuration
;#
;# Also included is autoattendant when we aren't open
;########################################################
;
[default]
include => autoattend
;
[autoattend]
include => selection
;
include => night|00:00-23:59|sun|*|* ; closed sundays
include => night|16:01-23:59|sat|*|* ; closed
include => night|00:00-08:59|sat|*|* ; closed before sat opens
include => night|00:00-07:59|mon-fri|*|* ; closed
include => night|18:01-23:59|mon-fri|*|* ; closed
include => day|08:00-17:00|mon-fri|*|* ; OPEN w00t!
include => night|09:00-16:00|sat|*|* ; OPEN w00t!
;
[day]
exten => s,1,Goto(day-inbound)
;
[night]
exten => s,1,Wait,2
exten => s,2,Answer
exten => s,3,Background,night-msg
exten => s,4,DigitTimeout,5
exten => s,5,ResponseTimeout,10
;
;#######################################################
;# Agent Selections
;#######################################################
;
[selection]
;
;1.sales Dept
exten => 1,1,Playback,sales-hold
exten => 1,2,SetMusicOnHold,default
exten => 1,3,SetCallerID,1
exten => 1,4,SetCIDName,Sales
exten => 1,5,Goto,callqueue|200|1
;
;2.Tech Support Dept
exten => 2,1,Playback,techsupport-hold
exten => 2,2,SetMusicOnHold,default
exten => 2,3,SetCallerID,2
exten => 2,4,SetCIDName,TechSupport
exten => 2,5,Goto,callqueue|201|1
;
;3.Billing Dept
exten => 3,1,Playback,billing-hold
exten => 3,2,SetMusicOnHold,default
exten => 3,3,SetCallerID,3
exten => 3,4,SetMusicOnHold,default
exten => 3,5,Goto,callqueue|202|1
;
;4.System Status
exten => 4,1,Playback,systemstatus
exten => 4,2,Hangup
;
;5 Fax Extension
exten => 5,1,SetVar(CALLEDFAX=${EXTEN})
exten => 5,2,Answer
exten => 5,3,Goto(fax,${EXTEN},1)
;
;
;#####################################
;# Call Queue's
;# 200-299
;#####################################
;
[queues]
;1.Sales
exten => 200,1,Answer
exten => 200,2,Queue(sales|TtH)
exten => 200,3,WaitMusicOnHold(45)
exten => 200,4,Voicemail(u200)
exten => 200,5,Playback(vm-goodbye)
exten => 200,6,Hangup
;
;2.Tech Support
exten => 201,1,Answer
exten => 201,2,Queue(techsupport|TtH)
exten => 201,3,WaitMusicOnHold(45)
exten => 201,4,Voicemail(u201)
exten => 201,5,Playback(vm-goodbye)
exten => 201,6,Hangup
;
;3.Billing
exten => 202,1,Answer
exten => 202,2,Queue(billing|TtH)
exten => 202,3,WaitMusicOnHold(45)
exten => 202,4,Voicemail(u202)
exten => 202,5,Playback(vm-goodbye)
exten => 202,6,Hangup
;
;#####################################################
;# Put call in the queue for the next available agent.
;#####################################################
[tranfer-queue]
exten => *93,1,Answer
exten => *93,2,Wait,1
exten => *93,3,Queue(sales)
exten => *93,5,Hangup
;
exten => *94,1,Answer
exten => *94,2,Wait,1
exten => *94,3,Queue(techsupport)
exten => *94,5,Hangup
;
exten => *95,1,Answer
exten => *95,2,Wait,1
exten => *95,3,Queue(billing)
exten => *95,5,Hangup
;
;########################################################
;# Queue Agents Login
;#######################################################
;# 1.Sales Turn on=100 Turn off=101
;# 2.Tech Support Turn on=102 Turn off=103
;# 3.Billing Turn on=104 Turn off=105
;# 4 other queues Turn on=XXX Turn off=XXX
;########################################################
;
[agentlogin]
;1.Sales
exten => 100,1,AddQueueMember(sales|SIP/${CALLERIDNUM})
exten => 100,2,Playback(agent-loginok)
exten => 100,3,Hangup
exten => 101,1,RemoveQueueMember(sales|SIP/${CALLERIDNUM})
exten => 101,2,Playback(agent-loggedoff)
exten => 101,3,Hangup
;
;2.Tech Support
exten => 102,1,AddQueueMember(techsupport|SIP/${CALLERIDNUM})
exten => 102,2,Playback(agent-loginok)
exten => 102,3,Hangup
exten => 103,1,RemoveQueueMember(techsupport|SIP/${CALLERIDNUM})
exten => 103,2,Playback(agent-loggedoff)
exten => 103,3,Hangup
;
;3.Billing
exten => 104,1,AddQueueMember(billing|SIP/${CALLERIDNUM})
exten => 104,2,Playback(agent-loginok)
exten => 104,3,Hangup
exten => 105,1,RemoveQueueMember(billing|SIP/${CALLERIDNUM})
exten => 105,2,Playback(agent-loggedoff)
exten => 105,3,Hangup
;
; Login and wait for calls while offhook. When calls arrive, you will he
; a beeping tone and the caller will join automatically
;{offhook]
exten => *99,1,Answer
exten => *99,2,SetMusicOnHold(default)
exten => *99,3,Wait,1
exten => *99,4,AgentLogin
;
;########################################################
;# Scripted Functions
;########################################################
;
[fax]
exten => s,1,Macro(faxreceive)
exten => h,1,System(/usr/local/share/asterisk/scripts/fax,sh "${CALLERIDNUM}" "${CALLEDFAX}" "${EXTNAME}" "${EXTEMAIL}" "${FAXFILE}" "${EXTCOMPANY}")
;
[disa] ;Dial inword System Remote Access
exten => 99,1,DISA,1234|admin ; replace #### with your nmbrs
;
;[directory] ; not setup yet
;exten => *,1,Directory,default
;exten => *,2,Goto,s|1
;
;[disconnect]
;exten => #,1,Playback,(vm-goodbye)
;exten => #,2,Hangup
;
[dnd] ; DO NOT DISTURB
exten => *60,1,DBdel(DND/${CALLERIDNUM})
exten => *60,2,Playback(de-activated)
exten => *60,3,Hangup
exten => *61,1,DBput(DND/${CALLERIDNUM}=YES)
exten => *61,2,Playback(activated)
exten => *61,3,Hangup
;
[calltrace]
; We can't have our timeouts or dial digits collide with other applications
; or extensions, so we build the app in pieces
exten => *69,1,Cut(CHANRES=CHANNEL|-|1)
exten => *69,2,Cut(EXTENSION=CHANRES|/|2)
exten => *69,3,Macro(calltrace,${EXTENSION})
;
[callforward]
;Turn Off
exten => *70,1,DBdel(CF/${CALLERIDNUM})
exten => *70,2,Answer
exten => *70,3,Wait(1)
exten => *70,4,Playback(call-fwd-cancelled)
exten => *70,5,Hangup
;Turn On
exten => _*71.,1,DBput(CF/${CALLERIDNUM}=${EXTEN:3})
exten => _*71.,2,Answer
exten => _*71.,3,Wait(1)
exten => _*71.,4,Playback(call-fwd-unconditional)
exten => _*71.,5,Playback(for)
exten => _*71.,6,Playback(extension)
exten => _*71.,7,SayDigits(${CALLERIDNUM})
exten => _*71.,8,Playback(is-set-to)
exten => _*71.,9,SayDigits(${EXTEN:3})
exten => _*71.,10,Hangup
;
[callwaiting]
exten => *73,1,DBdel(CW/${CALLERIDNUM})
exten => *73,2,Playback(de-activated)
exten => *73,3,Hangup
exten => *74,1,DBput(CW/${CALLERIDNUM}=YES)
exten => *74,2,Playback(activated)
exten => *74,3,Hangup
;
[pbx-transfer]
exten => *75,1,Playback,pbx-transfer
exten => *75,2,DBget(temp=SIP/${ARG1})
exten => *75,3,Goto(all-exten,${temp}|1)
exten => *75,103,Goto(s|4)
exten => *75,4,DBget(dnd=DND/${ARG1})
exten => *75,5,Goto(s|7)
exten => *75,105,Goto(s|6)
exten => *75,6,Dial(SIP/${ARG1},60,tr)
exten => *75,7,Hangup
exten => *75,107,Hangup
;
[rec-prompt] ; used to record generic prompts
exten => *96,1,Answer
exten => *96,2,Wait(2)
exten => *96,3,Record(/tmp/generic:gsm)
exten => *96,4,Wait(2)
exten => *96,5,Playback(/tmp/generic)
exten => *96,6,Wait(2)
exten => *96,7,Hangup
;
[system-stat] ;use to record system status
exten => *97,1,Answer
exten => *97,2,Wait(2)
exten => *97,3,Record(/usr/local/share/sounds/systemstatus:gsm)
exten => *97,4,Wait(2)
exten => *97,5,Playback(/usr/local/share/asterisk/sounds/systemstatus)
exten => *97,6,Wait(2)
exten => *97,7,Hangup
;
[parkedcalls]
exten => 700,1,Answer
exten => 700,2,SetMusicOnHold(default)
exten => 700,3,ParkAndAnnounce(PARKED,60,SIP/${ARG1},70,4)
exten => 700,4,Macro(rg-inbound,20,tr)
exten => 700,5,Goto(aa-nooneavail,s,1)
exten => _70X[1-9],1,ParkedCall(${EXTEN})
;
[addcallerid]
;
exten => 750,1,Answer()
exten => 750,2,Read(EXTENSION|enter-extension-num|4)
exten => 750,3,Read(DIALCID|enter-new-outbound-cid|10)
exten => 750,4,DBPut(CID/${EXTENSION}=${DIALCID})
exten => 750,5,Saydigits(${EXTENSION})
exten => 750,6,Playback(has-been-set-to)
exten => 750,7,Saydigits(${DIALCID})
exten => 750,8,Playback(auth-thankyou)
exten => 750,9,SetVar(AGAIN=0)
exten => 750,10,Read(AGAIN|enter-another-value|1) ; one for yes, any other num;
exten => 750,11,GotoIf($[${AGAIN} = 1]?2:12)
exten => 750,12,Playback(goodbye)
exten => 750,13,Hangup()
;
;########################################################
;# System Macro's area.
;########################################################
;
[macro-stdexten]
exten => s,1,DBget(temp=CF/${ARG1})
exten => s,2,Goto(all-exten,${temp}|1)
exten => s,102,Goto(s|3)
exten => s,3,DBget(dnd=DND/${ARG1})
exten => s,4,DBPut(LASTCALL/${ARG1}=${CALLERIDNUM})
exten => s,5,Dial(SIP/${ARG1},30,Tr)
exten => s,6,Voicemail(u${ARG1})
exten => s,7,Hangup
exten => s,106,Voicemail(b${ARG1})
exten => s,107,Hangup
;
[macro-stdexten-new]
exten => s,1,DBget(temp=CF/${ARG1}) ; Get CFIM key, if not existing, goto 102
exten => s,2,Dial(Local/${temp}@pbx/n) ; Unconditional forward
exten => s,102,Goto(s,3)
exten => s,3,Dial(${ARG2},20) ; 20sec timeout
exten => s,4,DBget(temp=CFBS/${ARG1}) ; Get CFBS key, if not existing, goto 105
exten => s,5,Dial(Local/${temp}@pbx/n) ; Forward on busy or unavailable
exten => s,6,Voicemail(u${ARG1})
exten => s,7,Hangup
exten => s,105,Busy
exten => s,106,Voicemail(b${ARG1})
exten => s,107,Hangup
;
[macro-distinct-ring]
exten => s,1,SetVar(_ALERT_INFO=something)
exten => s,2,Dial(SIP/myphone)
;
[macro-calltrace]
exten => s,1,Answer
exten => s,2,Wait(1)
exten => s,3,Dbget(LastCaller=LASTCALL/${ARG1})
exten => s,4,GotoIf($[${LastCaller}]?5:10)
exten => s,5,SayDigits(${LastCaller})
exten => s,6,DigitTimeout(3)
exten => s,7,ResponseTimeout(7)
exten => s,8,Background(press-one-to-callback)
exten => s,9,Goto(12)
exten => s,10,Playback(unidentified)
exten => s,11,Hangup
exten => s,12,NoOp
exten => 1,1,Goto(all-exten,${LastCaller},1);
exten => i,1,Playback(pbx-invalid)
exten => i,2,Hangup
exten => t,1,Playback(vm-goodbye)
exten => t,2,Hangup
;
[macro-faxreceive]
exten => s,1,SetVar(FAXFILE=/var/spool/asterisk/fax/${CALLEDFAX}/${UNIQUEID})
exten => s,2,DBGet(EXTEMAIL=${MACRO_EXTEN}/xEmail)
exten => s,3,NoOP()
exten => s,4,DBGet(EXTNAME=${MACRO_EXTEN}/xName)
exten => s,5,NoOP()
exten => s,6,DBGet(EXTCOMPANY=${MACRO_EXTEN}/xCompany)
exten => s,7,rxfax(${FAXFILE}.tif)
exten => s,103,SetVar(EXTMAIL=fax@company.com)
exten => s,104,Goto(7)
exten => s,105,SetVar(EXTNAME=Unknown)
exten => s,106,Goto(7)
exten => s,107,SetVar(EXTCOMPANY=Company)
exten => s,108,Goto(7)
;
[macro-festival]
exten => s,1,Answer
exten => s,2,Festival('Hello asterisk user, how are you today?')
exten => s,3,Hangup
;
[macro-meet]
exten => s,1,Answer
exten => s,2,Wait(1)
exten => s,3,MeetMe({$ARG1},pdcMs)
exten => s,4,Playback(vm-goodbye)
exten => s,5,Hangup
;
;this is the old meetme config with guest count.
[macro-announceandmeet]
exten => s,1,MeetMeCount(${ARG1},COUNT)
exten => s,2,SayNumber(${COUNT})
exten => s,3,MeetMe(${ARG1})
exten => s,4,Hangup
;
[macro-qualityassure]
exten => s,1,Answer
exten => s,2,Macro(record-on)
exten => s,3,BackGround(for-quality-purposes)
exten => s,4,BackGround(this-call-may-be)
exten => s,5,BackGround(recorded)
exten => s,6,Dial(SIP/${EXTEN:1},120,tm)
exten => s,7,Macro(rg-inbound,10,tr)
exten => s,8,Hangup
;
[macro-record-on]
exten => s,1,AGI(set-timestamp.agi)
exten => s,2,SetVar(CALLFILENAME=${timestamp}-${ARG2}-${ARG1})
exten => s,3,Monitor(gsm,${CALLFILENAME})
;
[macro-record-cleanup]
exten => s,1,GotoIf($[${CALLFILENAME} = ${NULL}]?6:2)
exten => s,2,SetVar(CFBASE=/var/spool/asterisk/monitor/${CALLFILENAME})
; wmix takes the two seperate wavs and mixes them into a single stream
; It is available in my wavetools rpm
exten => s,3,System(/usr/bin/wmix ${CFBASE}-in.wav ${CFBASE}-out.wav > ${CFBASE})
exten => s,4,System(/bin/rm ${CFBASE}-in.wav ${CFBASE}-out.wav)
; toast compresses the .wav files into a .gsm file
; It is available in my gsm rpm
exten => s,5,System(/usr/bin/toast -F ${CFBASE})
exten => s,6,NoOp
;
[macro-privacy]
exten => s,1,PrivacyManager
exten => s,2,Macro(record-on,${MYHOMEPHONE},${CALLERIDNUM})
;exten => s,3,Monitor(wav|call-${EPOCH}-${CALLERIDNUM})
;${DATETIME} Current date time in the format: YYYY-MM-DD_HH:MM:SS
;${UNIQUEID} Current call unique identifier
exten => s,3,Dial(SIP/${EXTEN},20,tr)
exten => s,103,Goto,s|6
exten => s,104,Goto,s|6
exten => s,4,Answer
exten => s,5,Wait(1)
exten => s,6,Voicemail2(u0)
exten => s,7,Playback,vm-goodbye
exten => s,8,Hangup
;
[macro-fastbusy] ; I use this to send people I dont want to deal with.
exten => s,1,Answer
exten => s,2,Wait 1
exten => s,3,Playback(all-circuits-busy)
exten => s,4,Wait(30)
exten => s,5,Hangup
;
;
[macro-callerid-fixup]
;
; This macro assumes the following:
; Extensions without a DID number have a CallerID number that is 4 digits
; Extensions with a DID number have their CallerID number set to their 10 digi
; The last 4 digits of a DID number is the same as the extension number
;
; This macro does the following if it is called without any parameters:
; If the Caller*ID number is 4 digits, do nothing
; If the Caller*ID number is not 4 digits, strip off the first 6 digits
;
; This macro does the following if it is called with a parameter
; If the Caller*ID number is 4 digits, reset the Caller*ID number to be the va
; If the Caller*ID number is not 4 digits, do nothing
;
exten => s,1,NoOp(Entering Macro "callerid-fixup")
exten => s,2,NoOp(Variable CALLERIDNUM is equal to ${CALLERIDNUM})
exten => s,3,GoToIf($["${ARG1}" != ""]?external,1)
exten => s,4,GoToIf($["${ARG1}" = ""]?internal,1)
;
exten => internal,1,GoToIf($[${LEN(${CALLERIDNUM})} = 4]?f,1)
exten => internal,2,SetCIDNum(${CALLERIDNUM:6})
exten => internal,3,GoTo(f,1)
;
exten => external,1,GoToIf($[${LEN(${CALLERIDNUM})}! = 4]?f,1)
exten => external,2,SetCIDNum(${ARG1},a)
exten => external,3,GoTo(f,1)
;
exten => f,1,NoOp(Variable CALLERIDNUM is equal to ${CALLERIDNUM})
exten => f,2,NoOp(Leaving Macro "callerid-fixup")
;
[macro-fixcid]
;#################################################################
;# My caller id name often comes in as O. If there is a CID number,
;# use that. Otherwise set the caller ID name to No Caller ID
;# ARGS: none
;# For some reason GotoIf($[${CALLERIDNAME} = O]?true:false) fails so use
;# this crappy system call instead :( I'm not sure if this is because
;# $CALLERIDNAME is usually 2 words or what but it sucks.
;######################################################################
;
exten => s,1,System(test "${CALLERIDNAME}" = "O")
exten => s,2,GotoIf($[${CALLERIDNUM} = O]?3:5)
exten => s,3,SetCIDName("No Caller ID")
exten => s,4,Goto(6)
exten => s,5,SetCIDName(${CALLERIDNUM})
exten => s,6,NoOp ; landing point for no caller id
exten => s,102,Goto(autoattend,s,1) ; landing point for proper caller ID
;
;
;#############################################################
;# New Extension Testing & Debuging Tools
;#############################################################
;
[ext-testing]
exten => 900,1,Answer
exten => 900,2,Wait(1)
exten => 900,3,SayDigits(${CALLERIDNUM})
exten => 900,4,Hangup
exten => 901,1,Answer
exten => 901,2,Wait(1)
exten => 901,3,Datetime
exten => 901,4,Hangup
exten => 902,1,Answer
exten => 902,2,Wait(1)
exten => 902,3,Playback(demo-echotest)
exten => 902,4,Playback(beep)
exten => 902,5,Echo
exten => 902,6,Playback(demo-echodone)
exten => 902,7,Hangup
exten => 903,1,Answer
exten => 903,2,Milliwatt
exten => 903,3,Hangup
exten => 904,1,Answer
exten => 904,2,Wait(1)
exten => 904,3,Record(record:gsm)
exten => 904,4,Wait(1)
exten => 904,5,Playback(record)
exten => 904,6,Hangup
exten => 905,1,Answer
exten => 905,2,SetMusicOnHold(default)
exten => 905,3,MusicOnHold
exten => 906,1,Answer
exten => 906,2,SetMusicOnHold(stream)
exten => 906,3,MusicOnHold
exten => 907,1,Cut(CHANTYPE=CHANNEL|/|1)
exten => 907,2,Cut(CHANNELNEXT=CHANNEL|/|2)
exten => 907,3,Cut(CHANNELNUM=CHANNELNEXT|-|1)
exten => 907,4,Answer()
exten => 907,5,Wait(1)
exten => 907,6,Playback(${CHANTYPE})
exten => 907,7,SayPhonetic(${CHANNELNUM})
exten => 907,8,Wait(1)
exten => 907,9,Playback(${CHANTYPE})
exten => 907,10,SayAlpha(${CHANNELNUM})
exten => 907,11,Playback(tt-monkeys)
exten => 907,12,Hangup()
exten => 908,1,Answer
exten => 908,2,Playback(new/password)
exten => 908,3,AGI(agi-test.agi,${pass})
exten => 908,4,Hangup
exten => 909,1,Answer
exten => 909,2,Playback(new/password)
exten => 909,3,SetMusicOnHold,loud
exten => 909,4,WaitMusicOnHold,30
exten => 909,5,Hangup
;
;######################################################
;# User Permissions
;######################################################
;
[admin]
include => disa
include => dnd
include => blocked
include => paging-211
include => info-411
include => callwake-511
include => repair-611
include => non-emerg-311
include => emerg-911
include => voicemail
include => confrences
include => agentlogin
include => queues
include => parkedcalls
include => pbx-transfer
include => rec-prompt
include => callwaiting
;include => disconnect
;include => directory
include => all-exten
include => pbx-2-pbx
include => ext-testing
include => calltrace
include => callforward
include => system-stat
include => all-exten
include => iax2-exten
include => local
include => international
include => longdistance
include =>pickupgroup
;
[local]
include => trunktollfree
include => nas01-gnwd
include => nas02-ftsm
include => nas06-alma
include => nas07-mnfd
;
[international]
include => trunkint
;
[longdistance]
include => trunkld
;
;####################################################################
;# All Extensions
;# Office Extensions
;# Staff Extensions
;# exten 1-9 used for autoattend menu
;# exten 10 - 49 for Zap Extensions
;# exten 500-600 Iax2 Mapped Extensions
;# exten 990 - 999 are for PBX to PBX connection / Office to Office link
;# exten 1000 - 2999 Staff Extensions
;# exten 3000 - 9999 Open for use except 8500-8599 used for set exten
;####################################################################
;
[all-exten]
exten => 0,1,Macro(stdexten,0,SIP/0)
exten => _[1-4]X,1,Macro(stdexten,${EXTEN})
exten => _[1-2]XXX,1,Macro(stdexten,${EXTEN})
exten => _NXXXXXX,1,Macro(stdexten,${EXTEN})
;
;###################################################
;#PBX to PBX ofice to office connections 990-999
;###################################################
;
[pbx-2-pbx]
exten => 990,1,Dial(IAX2/guest@server/s@default)
exten => 990,2,Hangup
;
exten => 991,1,Dial()
exten => 991,2,Hangup
;
;########################################################
;Mapped IAX2 Extensions
;#######################################################
;
[iax2-exten]
;
exten => 500,1,Dial(IAX2/guest@misery.digium.com/s@default)
exten => 500,2,Hangup ; to call digium for support
;
exten => 501,1,Dial(IAX2/guest@66.250.68.194/996)
exten => 501,2,Hangup
;
;
;####################################################################
;# End of Extensions Config File #
;####################################################################
;