Dial Plan and Extension.conf settings

All installation and configuration problems and questions

Moderators: gerski, enjay, williamconley, Op3r, Staydog, gardo, mflorell, MJCoate, mcargile, Kumba, Michael_N

Dial Plan and Extension.conf settings

Postby ken4 » Fri Sep 22, 2006 6:40 pm

We use SIP and wanted know if we have to:

(1) Comment out (;) all the IAX, ZAP, MSD, etc. settings in Extensions.conf and sip.conf?

(2) Our Telecom provider only supports SIP and mentioned that they are NOT setup for: register => testSIPtrunk:test@10.10.10.16:5060

They only verify the IP that the call is coming from. They told us to do just the following (is this setting going to work for for Asterisk and ViciDial? Can we do without having: register => testSIPtrunk:test@10.10.10.16:5060):

[SIPtrunk]
; disallow=all
; allow=ulaw
; allow=alaw
; type=friend
; username=testSIPtrunk
; secret=test
; host=10.10.10.16
; dtmfmode=inband
; qualify=1000


Extensions.conf current setting:
; XXX Not yet implemented XXX
;
static=yes
;
; if static=yes and writeprotect=no, you can save dialplan by
; CLI command 'save dialplan' too
;
writeprotect=no
;
; If autofallthrough is set, then if an extension runs out of
; things to do, it will terminate the call with BUSY, CONGESTION
; or HANGUP depending on Asterisk's best guess (strongly recommended).
;
; If autofallthrough is not set, then if an extension runs out of
; things to do, asterisk will wait for a new extension to be dialed
; (this is the original behavior of Asterisk 1.0 and earlier).
;
autofallthrough=yes
;
; If clearglobalvars is set, global variables will be cleared
; and reparsed on an extensions reload, or Asterisk reload.
;
; If clearglobalvars is not set, then global variables will persist
; through reloads, and even if deleted from the extensions.conf or
; one of its included files, will remain set to the previous value.
;
clearglobalvars=no
;
; If priorityjumping is set to 'yes', then applications that support
; 'jumping' to a different priority based on the result of their operations
; will do so (this is backwards compatible behavior with pre-1.2 releases
; of Asterisk). Individual applications can also be requested to do this
; by passing a 'j' option in their arguments.
;
priorityjumping=no
;
; You can include other config files, use the #include command
; (without the ';'). Note that this is different from the "include" command
; that includes contexts within other contexts. The #include command works
; in all asterisk configuration files.
;#include "filename.conf"

; The "Globals" category contains global variables that can be referenced
; in the dialplan with ${VARIABLE} or ${ENV(VARIABLE)} for Environmental
; variables,
; ${${VARIABLE}} or ${text${VARIABLE}} or any hybrid
;
[globals]
CONSOLE=Console/dsp ; Console interface for demo
;CONSOLE=Zap/1
;CONSOLE=Phone/phone0
IAXINFO=guest ; IAXtel username/password
;IAXINFO=myuser:mypass
TRUNK=Zap/g1
TRUNK=Zap/g2 ; Trunk interface
;
; Note the 'g2' in the TRUNK variable above. It specifies which group (defined
; in zapata.conf) to dial, i.e. group 2, and how to choose a channel to use in
; the specified group. The four possible options are:
;
; g: select the lowest-numbered non-busy Zap channel
; (aka. ascending sequential hunt group).
; G: select the highest-numbered non-busy Zap channel
; (aka. descending sequential hunt group).
; r: use a round-robin search, starting at the next highest channel than last
; time (aka. ascending rotary hunt group).
; R: use a round-robin search, starting at the next lowest channel than last
; time (aka. descending rotary hunt group).
;
TRUNKMSD=1 ; MSD digits to strip (usually 1 or 0)
;TRUNK=IAX2/user:pass@provider


include => dundi-e164-canonical
include => dundi-e164-customers
include => dundi-e164-via-pstn

[dundi-e164-switch]
;
; Just a wrapper for the switch
;
switch => DUNDi/e164

[dundi-e164-lookup]
;
; Locally to lookup, try looking for a local E.164 solution
; then try DUNDi if we don't have one.
;
include => dundi-e164-local
include => dundi-e164-switch
;
; DUNDi can also be implemented as a Macro instead of using
; the Local channel driver.
;
[macro-dundi-e164]
;
; ARG1 is the extension to Dial
;
exten => s,1,Goto(${ARG1},1)
include => dundi-e164-lookup

;
; Here are the entries you need to participate in the IAXTEL
; call routing system. Most IAXTEL numbers begin with 1-700, but
; there are exceptions. For more information, and to sign
; up, please go to www.gnophone.com or www.iaxtel.com
;
[iaxtel700]
exten => _91700XXXXXXX,1,Dial(IAX2/${IAXINFO}@iaxtel.com/${EXTEN:1}@iaxtel)

;
; The SWITCH statement permits a server to share the dialplain with
; another server. Use with care: Reciprocal switch statements are not
; allowed (e.g. both A -> B and B -> A), and the switched server needs
; to be on-line or else dialing can be severly delayed.
;
[iaxprovider]
;switch => IAX2/user:[key]@myserver/mycontext

[trunkint]
;
; International long distance through trunk
;
exten => _9011.,1,Macro(dundi-e164,${EXTEN:4})
exten => _9011.,n,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})

[trunkld]
;
; Long distance context accessed through trunk
;
exten => _91NXXNXXXXXX,1,Macro(dundi-e164,${EXTEN:1})
exten => _91NXXNXXXXXX,n,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})

[trunklocal]
;
; Local seven-digit dialing accessed through trunk interface
;
exten => _9NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})

[trunktollfree]
;
; Long distance context accessed through trunk interface
;
exten => _91800NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})
exten => _91888NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})
exten => _91877NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})
exten => _91866NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})

[international]
;
; Master context for international long distance
;
ignorepat => 9
include => longdistance
include => trunkint

[longdistance]
;
; Master context for long distance
;
ignorepat => 9
include => local
include => trunkld

[local]
;
; Master context for local, toll-free, and iaxtel calls only
;
ignorepat => 9
include => default
include => parkedcalls
include => trunklocal
include => iaxtel700
include => trunktollfree
include => iaxprovider
;
; You can use an alternative switch type as well, to resolve
; extensions that are not known here, for example with remote
; IAX switching you transparently get access to the remote
; Asterisk PBX
;
; switch => IAX2/user:password@bigserver/local
;
; An "lswitch" is like a switch but is literal, in that
; variable substitution is not performed at load time
; but is passed to the switch directly (presumably to
; be substituted in the switch routine itself)
;
; lswitch => Loopback/12${EXTEN}@othercontext
;
; An "eswitch" is like a switch but the evaluation of
; variable substitution is performed at runtime before
; being passed to the switch routine.
;
; eswitch => IAX2/context@${CURSERVER}

[macro-stdexten];
;
; Standard extension macro:
; ${ARG1} - Extension (we could have used ${MACRO_EXTEN} here as well
; ${ARG2} - Device(s) to ring
;
exten => s,1,Dial(${ARG2},20) ; Ring the interface, 20 seconds maximum
exten => s,2,Goto(s-${DIALSTATUS},1) ; Jump based on status
(NOANSWER,BUSY,CHANUNAVAIL,CONGESTION,ANSWER)

exten => s-NOANSWER,1,Voicemail(u${ARG1}) ; If unavailable, send to
voicemail w/ unavail announce
exten => s-NOANSWER,2,Goto(default,s,1) ; If they press #, return to start

exten => s-BUSY,1,Voicemail(b${ARG1}) ; If busy, send to voicemail
w/ busy announce
exten => s-BUSY,2,Goto(default,s,1) ; If they press #, return to start

exten => _s-.,1,Goto(s-NOANSWER,1) ; Treat anything else as no answer

exten => a,1,VoicemailMain(${ARG1}) ; If they press *, send the
user into VoicemailMain

[macro-stdPrivacyexten];
;
; Standard extension macro:
; ${ARG1} - Extension (we could have used ${MACRO_EXTEN} here as well
; ${ARG2} - Device(s) to ring
; ${ARG3} - Optional DONTCALL context name to jump to (assumes the
s,1 extension-priority)
; ${ARG4} - Optional TORTURE context name to jump to (assumes the
s,1 extension-priority)`
;
exten => s,1,Dial(${ARG2},20|p) ; Ring the interface, 20 seconds
maximum, call screening option (or use P for databased call screening)
exten => s,2,Goto(s-${DIALSTATUS},1) ; Jump based on status
(NOANSWER,BUSY,CHANUNAVAIL,CONGESTION,ANSWER)

exten => s-NOANSWER,1,Voicemail(u${ARG1}) ; If unavailable, send to
voicemail w/ unavail announce
exten => s-NOANSWER,2,Goto(default,s,1) ; If they press #, return to start

exten => s-BUSY,1,Voicemail(b${ARG1}) ; If busy, send to voicemail
w/ busy announce
exten => s-BUSY,2,Goto(default,s,1) ; If they press #, return to start

exten => s-DONTCALL,1,Goto(${ARG3},s,1) ; Callee chose
to send this call to a polite "Don't call again" script.

exten => s-TORTURE,1,Goto(${ARG4},s,1) ; Callee chose
to send this call to a telemarketer torture script.

exten => _s-.,1,Goto(s-NOANSWER,1) ; Treat anything else as no answer

exten => a,1,VoicemailMain(${ARG1}) ; If they press *, send the
user into VoicemailMain

[demo]
;
; We start with what to do when a call first comes in.
;
exten => s,1,Wait,1 ; Wait a second, just for fun
exten => s,n,Answer ; Answer the line
exten => s,n,Set(TIMEOUT(digit)=5) ; Set Digit Timeout to 5 seconds
exten => s,n,Set(TIMEOUT(response)=10) ; Set Response Timeout to 10 seconds
exten => s,n(restart),BackGround(demo-congrats) ; Play a congratulatory message
exten => s,n(instruct),BackGround(demo-instruct) ; Play some instructions
exten => s,n,WaitExten ; Wait for an extension to be dialed.

exten => 2,1,BackGround(demo-moreinfo) ; Give some more information.
exten => 2,n,Goto(s,instruct)

exten => 3,1,Set(LANGUAGE()=fr) ; Set language to french
exten => 3,n,Goto(s,restart) ; Start with the congratulations

exten => 1000,1,Goto(default,s,1)
;
; We also create an example user, 1234, who is on the console and has
; voicemail, etc.
;
exten => 1234,1,Playback(transfer,skip) ; "Please hold while..."
; (but skip if channel is not up)
exten => 1234,n,Macro(stdexten,1234,${CONSOLE})

exten => 1235,1,Voicemail(u1234) ; Right to voicemail

exten => 1236,1,Dial(Console/dsp) ; Ring forever
exten => 1236,n,Voicemail(u1234) ; Unless busy

;
; # for when they're done with the demo
;
exten => #,1,Playback(demo-thanks) ; "Thanks for trying the demo"
exten => #,n,Hangup ; Hang them up.

;
; A timeout and "invalid extension rule"
;
exten => t,1,Goto(#,1) ; If they take too long, give up
exten => i,1,Playback(invalid) ; "That's not valid, try again"

;
; Create an extension, 500, for dialing the
; Asterisk demo.
;
exten => 500,1,Playback(demo-abouttotry); Let them know what's going on
exten => 500,n,Dial(IAX2/guest@misery.digium.com/s@default) ; Call the
Asterisk demo
exten => 500,n,Playback(demo-nogo) ; Couldn't connect to the demo site
exten => 500,n,Goto(s,6) ; Return to the start over message.

;
; Create an extension, 600, for evaulating echo latency.
;
exten => 600,1,Playback(demo-echotest) ; Let them know what's going on
exten => 600,n,Echo ; Do the echo test
exten => 600,n,Playback(demo-echodone) ; Let them know it's over
exten => 600,n,Goto(s,6) ; Start over
; Extension 3001 rings IAX phone
exten => 301,1,Dial(IAX2/firefly01@firefly01/s)
exten => 301,2,Voicemail,u301 ; Send to voicemail...

;
; Give voicemail at extension 8500
;
exten => 8500,1,VoicemailMain
exten => 8500,n,Goto(s,6)
;
; Here's what a phone entry would look like (IXJ for example)
;
;exten => 1265,1,Dial(Phone/phone0,15)
;exten => 1265,n,Goto(s,5)

;[mainmenu]
;
; Example "main menu" context with submenu
;
;exten => s,1,Answer
;exten => s,n,Background(thanks) ; "Thanks for calling press 1 for
sales, 2 for support, ..."
;exten => s,n,WaitExten
;exten => 1,1,Goto(submenu,s,1)
;exten => 2,1,Hangup
;include => default
;
;[submenu]
;exten => s,1,Ringing ; Make them comfortable with 2 seconds of ringback
;exten => s,n,Wait,2
;exten => s,n,Background(submenuopts) ; "Thanks for calling the sales
department. Press 1 for steve, 2 for..."
;exten => s,n,WaitExten
;exten => 1,1,Goto(default,steve,1)
;exten => 2,1,Goto(default,mark,2)

[default]
;
; By default we include the demo. In a production system, you
; probably don't want to have the demo there.
;
include => demo

;
; An extension like the one below can be used for FWD, Nikotel, sipgate etc.
; Note that you must have a [sipprovider] section in sip.conf
;
;exten => _41X.,1,Dial(SIP/${EXTEN:2}@sipprovider,,r)

; Real extensions would go here. Generally you want real extensions to be
; 4 or 5 digits long (although there is no such requirement) and start with a
; single digit that is fairly large (like 6 or 7) so that you have plenty of
; room to overlap extensions and menu options without conflict. You can alias
; them with names, too, and use global variables

;exten => 6245,hint,SIP/Grandstream1&SIP/Xlite1,Joe Schmoe ; Channel
hints for presence
;exten => 6245,1,Dial(SIP/Grandstream1,20,rt) ; permit transfer
;exten => 6245,n(dial),Dial(${HINT},20,rtT) ; Use hint as listed
;exten => 6245,n,Voicemail(u6245) ; Voicemail (unavailable)
;exten => 6245,s+1,Hangup ; s+1, same as n
;exten => 6245,dial+101,Voicemail(b6245) ; Voicemail (busy)
;exten => 6361,1,Dial(IAX2/JaneDoe,,rm) ; ring without time limit
;exten => 6389,1,Dial(MGCP/aaln/1@192.168.0.14)
;exten => 6394,1,Dial(Local/6275/n) ; this will dial ${MARK}

;exten => 6275,1,Macro(stdexten,6275,${MARK}) ; assuming ${MARK} is
something like Zap/2
;exten => mark,1,Goto(6275|1) ; alias mark to 6275
;exten => 6536,1,Macro(stdexten,6236,${WIL}) ; Ditto for wil
;exten => wil,1,Goto(6236|1)
;
; Some other handy things are an extension for checking voicemail via
; voicemailmain
;
;exten => 8500,1,VoicemailMain
;exten => 8500,n,Hangup
;
; Or a conference room (you'll need to edit meetme.conf to enable this room)
;
;exten => 8600,1,Meetme(1234)
;
; Or playing an announcement to the called party, as soon it answers
;
;exten = 8700,1,Dial(${MARK},30,A(/path/to/my/announcemsg))
;
; For more information on applications, just type "show applications" at your
; friendly Asterisk CLI prompt.
;
; 'show application <command>' will show details of how you
; use that particular application in this file, the dial plan.
;
[general]
static=yes
writeprotect=no

[globals]
CONSOLE=Console/dsp ; Console interface for demo
TRUNK=Zap/g1 ; Trunk interface
TRUNKX=Zap/g2 ; 2nd trunk interface
TRUNKIAX=IAX2/ASTtest1:test@65.255.199.11:4569 ; IAX trunk interface

[default]
; Extension 8600 + 8601 conference rooms
exten => 8600,1,Meetme,8600
exten => 8601,1,Meetme,8601

; Extension 102 - Grandstream hardphone
exten => 102,1,Playback,transfer|skip ; "Please hold while..."
exten => 102,2,Dial,sip/gs102|20|to ; Ring, 20 secs max
exten => 102,3,Voicemail,u102 ; Send to voicemail...
; Extension 2000 Sipura line 1
exten => 2000,1,Dial,sip/spa2000|30|to ; Ring, 30 secs max
exten => 2000,2,Voicemail,u2000 ; Send to voicemail...
; Extension 2001 Sipura line 2
exten => 2001,1,Dial,sip/spa2001|30|to ; Ring, 30 secs max
exten => 2001,2,Voicemail,u2001 ; Send to voicemail...
; Extension 2020 rings both sipura lines
exten => 2001,1,Dial,sip/spa2000&sip/spa2001|30|to ; Ring, 30 secs max
exten => 2001,2,Voicemail,u2000 ; Send to voicemail...
; Extension 301 rings the firefly softphone
exten => 301,1,Dial,(IAX2/firefly01@firefly01/s)
exten => 301,2,Hangup

; Extension 3429 - Inbound 800 number (1-800-555-3429)
exten => _**3429,1,Ringing
exten => _**3429,2,Answer
exten => _**3429,3,Dial,sip/spa2000&sip/spa2001|30|to ; Ring, 30 secs max
exten => _**3429,4,Voicemail,u2000 ; Send to voicemail...
; Extension 3429 - with ANI [callerID]
exten => _*NXXNXXXXXX*3429,1,Ringing
exten => _*NXXNXXXXXX*3429,2,Answer
exten => _*NXXNXXXXXX*3429,3,Dial,sip/spa2000&sip/spa2001|30|to ; Ring, 30
secs max
exten => _*NXXNXXXXXX*3429,4,Voicemail,u2000 ; Send to voicemail...

; dial a long distance outbound number to the UK
exten => _01144XXXXXXXXXX,1,Dial(${TRUNKX}/${EXTEN:1},55,tTo)
exten => _01144XXXXXXXXXX,2,Hangup

; dial a long distance outbound number to Australia
exten => _901161XXXXXXXXX,1,Dial(${TRUNKX}/${EXTEN:1},,tTo)
exten => _901161XXXXXXXXX,2,Hangup

; dial an 800 outbound number
exten => _1800NXXXXXX,1,Dial(${TRUNK}/${EXTEN:1},,tTo)
exten => _1800NXXXXXX,2,Hangup
exten => _1888NXXXXXX,1,Dial(${TRUNK}/${EXTEN:1},,tTo)
exten => _1888NXXXXXX,2,Hangup
exten => _1877NXXXXXX,1,Dial(${TRUNK}/${EXTEN:1},,tTo)
exten => _1877NXXXXXX,2,Hangup
exten => _1866NXXXXXX,1,Dial(${TRUNK}/${EXTEN:1},,tTo)
exten => _1866NXXXXXX,2,Hangup

; dial a local 727 outbound number with area code
exten => _727NXXXXXX,1,Dial(${TRUNK}/1${EXTEN:1},,tTo)
exten => _727NXXXXXX,2,Hangup

; dial a local 813 outbound number with area code
exten => _813NXXXXXX,1,Dial(${TRUNK}/${EXTEN:1},,tTo)
exten => _813NXXXXXX,2,Hangup

; dial a long distance outbound number
exten => _1NXXNXXXXXX,1,Dial(${TRUNKX}/${EXTEN:1},,tTo)
exten => _1NXXNXXXXXX,2,Hangup

; dial a local outbound number (modified because of only LD T1)
exten => _NXXXXXX,1,Dial(${TRUNK}/1727${EXTEN:1},,tTo)
exten => _NXXXXXX,2,Hangup

; barge monitoring extension
exten => 8159,1,ZapBarge
exten => 8159,2,Hangup

; # timeout invalid rules
exten => #,1,Playback(invalid) ; "Thanks for trying the demo"
exten => #,2,Hangup ; Hang them up.
exten => t,1,Goto(#,1) ; If they take too long, give up
exten => i,1,Playback(invalid) ; "That's not valid, try again"

; Give voicemail at extension 8500
exten => 8500,1,VoicemailMain
exten => 8500,2,Goto(s,6)

; ASTERISK AGENTS LOGINS FOR QUEUES (NOT part of VICIDIAL)
; the following assumes phone agent login and exten are 3 digits and the same
; also assumes that 3-digit login is present in agents.conf and queueus.conf
;Agent Logout then stay onhook, DIAL 54 + 3-digit ID
exten => _54XXX,1,AgentCallbackLogin(||)
; the following are used to login and logout of Asterisk Queues from phone
;Agent Login then stay offhook on the phone, DIAL 55 + 3-digit ID
exten => _55XXX,1,AgentLogin(${EXTEN:1})
;Agent Login then stay onhook, phones will ring, DIAL 56 + 3-digit ID
exten => _56XXX,1,AgentCallbackLogin(||${EXTEN:1}@default)

######------ END extensions.conf example ------######


### OPTIONAL SIP trunk extensions entries for long distance dialing over SIP
exten => _1NXXNXXXXXX,1,AGI(call_log.agi,${EXTEN})
exten => _1NXXNXXXXXX,2,Dial(sip/${EXTEN}@SIPtrunk,55,o)
exten => _1NXXNXXXXXX,3,Hangup


r older versions
exten => h,1,DeadAGI(call_log.agi,${EXTEN}) ; DeadAGI is new
exten => h,2,DeadAGI(VD_hangup.agi,PRI-----NODEBUG-----${HANGUPCAUSE}-----${DIALSTATUS}-----${DIALEDTIME}-----${ANSWEREDTIME})

; Extension 3429 - Inbound 800 number (1-800-555-3429)
exten => _**3429,1,Ringing
exten => _**3429,2,AGI(call_log.agi,${EXTEN})
exten => _**3429,3,Answer
exten => _**3429,4,Dial,sip/spa2000&sip/spa2001|30|to
exten => _**3429,5,Voicemail,u2000
; Extension 3429 - with ANI [callerID]
exten => _*NXXNXXXXXX*3429,1,Ringing
exten => _*NXXNXXXXXX*3429,2,AGI(call_log.agi,${EXTEN})
exten => _*NXXNXXXXXX*3429,3,Answer
exten => _*NXXNXXXXXX*3429,4,Dial,sip/spa2000&sip/spa2001|30|to
exten => _*NXXNXXXXXX*3429,5,Voicemail,u2000

; Extension 7275551212 - Inbound local number from PRI with 10 digit delivery
exten => 7275551212,1,Ringing
exten => 7275551212,2,Wait(1)
exten => 7275551212,3,AGI(call_logCID.agi,${EXTEN}-----${CALLERID}-----${CALLERIDNUM}-----${CALLERIDNAME})
exten => 7275551212,4,Answer
exten => 7275551212,5,Dial,sip/spa2000&sip/spa2001|30|to
exten => 7275551212,6,Voicemail,u2000

; dial a long distance outbound number to the UK
exten => _01144XXXXXXXXXX,1,AGI(call_log.agi,${EXTEN})
exten => _01144XXXXXXXXXX,2,Dial(${TRUNKX}/${EXTEN:1},55,tTo)
exten => _01144XXXXXXXXXX,3,Hangup

; dial a long distance outbound number to Australia
exten => _01161XXXXXXXXX,1,AGI(call_log.agi,${EXTEN})
exten => _01161XXXXXXXXX,2,Dial(${TRUNKX}/${EXTEN:1},,tTo)
exten => _01161XXXXXXXXX,3,Hangup

; dial an 800 outbound number
exten => _1800NXXXXXX,1,AGI(call_log.agi,${EXTEN})
exten => _1800NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,tTo)
exten => _1800NXXXXXX,3,Hangup
exten => _1888NXXXXXX,1,AGI(call_log.agi,${EXTEN})
exten => _1888NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,tTo)
exten => _1888NXXXXXX,3,Hangup
exten => _1877NXXXXXX,1,AGI(call_log.agi,${EXTEN})
exten => _1877NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,tTo)
exten => _1877NXXXXXX,3,Hangup
exten => _1866NXXXXXX,1,AGI(call_log.agi,${EXTEN})
exten => _1866NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,tTo)
exten => _1866NXXXXXX,3,Hangup

; dial a local 727 outbound number with area code
exten => _727NXXXXXX,1,AGI(call_log.agi,${EXTEN})
exten => _727NXXXXXX,2,Dial(${TRUNK}/1${EXTEN:1},,tTo)
exten => _727NXXXXXX,3,Hangup

; dial a local 813 outbound number with area code
exten => _813NXXXXXX,1,AGI(call_log.agi,${EXTEN})
exten => _813NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,tTo)
exten => _813NXXXXXX,3,Hangup

; dial a long distance outbound number
exten => _1NXXNXXXXXX,1,AGI(call_log.agi,${EXTEN})
exten => _1NXXNXXXXXX,2,Dial(${TRUNKX}/${EXTEN:1},,tTo)
exten => _1NXXNXXXXXX,3,Hangup

nbound 800-----x-----y-----z-----w)
exten => _**3429,4,Answer
exten => _**3429,5,Dial,sip/spa2000&sip/spa2001|30|to
exten => _**3429,6,Voicemail,u2000
; Extension 3429 - with ANI [callerID]
exten => _*NXXNXXXXXX*3429,1,Ringing
exten => _*NXXNXXXXXX*3429,2,AGI(call_log.agi,${EXTEN})
exten => _*NXXNXXXXXX*3429,3,AGI(call_inbound.agi,spa2000-----8005553429-----Inbound
800-----x-----y-----z-----w)
exten => _*NXXNXXXXXX*3429,3,Answer
exten => _*NXXNXXXXXX*3429,4,Dial,sip/spa2000&sip/spa2001|30|to
exten => _*NXXNXXXXXX*3429,5,Voicemail,u2000


; parameters for agi-VDADcloser.agi (2 fields separated by five dashes "-----"):
; 1. the full extension formatted by VICIDIAL for internal transfers * separated
; 2. the word START to denote the beginning of the acceptance of the transfer
; inbound VICIDIAL transfer calls [can arrive through PRI T1 crossover
or IAX channel]
exten => _0009.,1,Answer ; Answer the line
exten => _0009.,2,AGI(agi-VDADcloser.agi,${EXTEN}-----START)
exten => _0009.,3,Hangup

; parameters for agi-VDADcloser_inbound....agi (7 fields separated by
five dashes "-----"):
; 1. the full name of the IN GROUP to be used in vicidial for the inbound call
; 2. the phone number that was called, for the log entry
; 3. the callerID or lead_id of the person that called(usually overridden)
; 4. the park extension audio file name if used
; 5. the status of the call initially(usually not used)
; 6. the list_id to insert the new lead under if it is new (and
callerID available)
; 7. the phone dialing code to insert with the new lead if new (and
callerID available)

; inbound VICIDIAL call with CID delivery through T1 PRI
exten => 1234,1,Ringing ; call ringing
exten => 1234,2,Wait(1) ; Wait 1 second for CID
delivery from PRI
exten => 1234,3,Answer ; Answer the line
exten => 1234,4,AGI(agi-VDADcloser_inboundCID.agi,CL_GALLERIA-----7275555134-----Closer-----park----------999-----1)
exten => 1234,5,Hangup

; inbound VICIDIAL call with ANI delivery through robbed-bit T1
(*NXXNXXXXXX*DNIS)
exten => 1234,1,Answer ; Answer the line
exten => 1234,2,AGI(agi-VDADcloser_inboundANI.agi,CL_GALLERIA-----7275555134-----Closer-----park----------999-----1)
exten => 1234,3,Hangup

; inbound VICIDIAL call with prompt for 4-digit fronter code
exten => 1234,1,Answer ; Answer the line
exten => 1234,2,AGI(agi-VDADcloser_inbound.agi,CL_GALLERIA-----7275555134-----Closer-----park----------999-----1)
exten => 1234,3,Hangup; dial a local outbound number (modified because
of only LD T1)
exten => _NXXXXXX,1,AGI(call_log.agi,${EXTEN})
exten => _NXXXXXX,2,Dial(${TRUNK}/1727${EXTEN:1},,tTo)
exten => _NXXXXXX,3,Hangup



; ZapBarge direct channel extensions
exten => 8612001,1,ZapBarge(1)
exten => 8612002,1,ZapBarge(2)
exten => 8612003,1,ZapBarge(3)
exten => 8612004,1,ZapBarge(4)
exten => 8612005,1,ZapBarge(5)
exten => 8612006,1,ZapBarge(6)
exten => 8612007,1,ZapBarge(7)
exten => 8612008,1,ZapBarge(8)
exten => 8612009,1,ZapBarge(9)
exten => 8612010,1,ZapBarge(10)
exten => 8612011,1,ZapBarge(11)
exten => 8612012,1,ZapBarge(12)
exten => 8612013,1,ZapBarge(13)
exten => 8612014,1,ZapBarge(14)
exten => 8612015,1,ZapBarge(15)
exten => 8612016,1,ZapBarge(16)
exten => 8612017,1,ZapBarge(17)
exten => 8612018,1,ZapBarge(18)
exten => 8612019,1,ZapBarge(19)
exten => 8612020,1,ZapBarge(20)
exten => 8612021,1,ZapBarge(21)
exten => 8612022,1,ZapBarge(22)
exten => 8612023,1,ZapBarge(23)
exten => 8612024,1,ZapBarge(24)


exten => 8600011,1,Meetme,8600011|q
exten => 8600012,1,Meetme,8600012|q
exten => 8600013,1,Meetme,8600013|q
exten => 8600014,1,Meetme,8600014|q
exten => 8600015,1,Meetme,8600015|q
exten => 8600016,1,Meetme,8600016|q
exten => 8600017,1,Meetme,8600017|q
exten => 8600018,1,Meetme,8600018|q
exten => 8600019,1,Meetme,8600019|q
exten => 8600020,1,Meetme,8600020|q
exten => 8600021,1,Meetme,8600021|q
exten => 8600022,1,Meetme,8600022|q
exten => 8600023,1,Meetme,8600023|q
exten => 8600024,1,Meetme,8600024|q
exten => 8600025,1,Meetme,8600025|q
exten => 8600026,1,Meetme,8600026|q
exten => 8600027,1,Meetme,8600027|q
exten => 8600028,1,Meetme,8600028|q
exten => 8600029,1,Meetme,8600029|q


exten => 8600051,1,Meetme,8600051
exten => 8600052,1,Meetme,8600052
exten => 8600053,1,Meetme,8600053
exten => 8600054,1,Meetme,8600054
exten => 8600055,1,Meetme,8600055
exten => 8600056,1,Meetme,8600056
exten => 8600057,1,Meetme,8600057
exten => 8600058,1,Meetme,8600058
exten => 8600059,1,Meetme,8600059
exten => 8600060,1,Meetme,8600060
exten => 8600061,1,Meetme,8600061
exten => 8600062,1,Meetme,8600062
exten => 8600063,1,Meetme,8600063
exten => 8600064,1,Meetme,8600064
exten => 8600065,1,Meetme,8600065
exten => 8600066,1,Meetme,8600066
exten => 8600067,1,Meetme,8600067
exten => 8600068,1,Meetme,8600068
exten => 8600069,1,Meetme,8600069
exten => 8600070,1,Meetme,8600070
exten => 8600071,1,Meetme,8600071
exten => 8600072,1,Meetme,8600072
exten => 8600073,1,Meetme,8600073
exten => 8600074,1,Meetme,8600074
exten => 8600075,1,Meetme,8600075
exten => 8600076,1,Meetme,8600076
exten => 8600077,1,Meetme,8600077
exten => 8600078,1,Meetme,8600078
exten => 8600079,1,Meetme,8600079
exten => 8600080,1,Meetme,8600080
exten => 8600081,1,Meetme,8600081
exten => 8600082,1,Meetme,8600082
exten => 8600083,1,Meetme,8600083
exten => 8600084,1,Meetme,8600084
exten => 8600085,1,Meetme,8600085
exten => 8600086,1,Meetme,8600086
exten => 8600087,1,Meetme,8600087
exten => 8600088,1,Meetme,8600088
exten => 8600089,1,Meetme,8600089
exten => 8600090,1,Meetme,8600090
exten => 8600091,1,Meetme,8600091
exten => 8600092,1,Meetme,8600092
exten => 8600093,1,Meetme,8600093
exten => 8600094,1,Meetme,8600094
exten => 8600095,1,Meetme,8600095
exten => 8600096,1,Meetme,8600096
exten => 8600097,1,Meetme,8600097
exten => 8600098,1,Meetme,8600098
exten => 8600099,1,Meetme,8600099
exten => 8600100,1,Meetme,8600100
; quiet entry and leaving conferences for VICIDIAL
exten => 78600051,1,Meetme,8600051|q
exten => 78600052,1,Meetme,8600052|q
exten => 78600053,1,Meetme,8600053|q
exten => 78600054,1,Meetme,8600054|q
exten => 78600055,1,Meetme,8600055|q
exten => 78600056,1,Meetme,8600056|q
exten => 78600057,1,Meetme,8600057|q
exten => 78600058,1,Meetme,8600058|q
exten => 78600059,1,Meetme,8600059|q
exten => 78600060,1,Meetme,8600060|q
exten => 78600061,1,Meetme,8600061|q
exten => 78600062,1,Meetme,8600062|q
exten => 78600063,1,Meetme,8600063|q
exten => 78600064,1,Meetme,8600064|q
exten => 78600065,1,Meetme,8600065|q
exten => 78600066,1,Meetme,8600066|q
exten => 78600067,1,Meetme,8600067|q
exten => 78600068,1,Meetme,8600068|q
exten => 78600069,1,Meetme,8600069|q
exten => 78600070,1,Meetme,8600070|q
exten => 78600071,1,Meetme,8600071|q
exten => 78600072,1,Meetme,8600072|q
exten => 78600073,1,Meetme,8600073|q
exten => 78600074,1,Meetme,8600074|q
exten => 78600075,1,Meetme,8600075|q
exten => 78600076,1,Meetme,8600076|q
exten => 78600077,1,Meetme,8600077|q
exten => 78600078,1,Meetme,8600078|q
exten => 78600079,1,Meetme,8600079|q
exten => 78600080,1,Meetme,8600080|q
exten => 78600081,1,Meetme,8600081|q
exten => 78600082,1,Meetme,8600082|q
exten => 78600083,1,Meetme,8600083|q
exten => 78600084,1,Meetme,8600084|q
exten => 78600085,1,Meetme,8600085|q
exten => 78600086,1,Meetme,8600086|q
exten => 78600087,1,Meetme,8600087|q
exten => 78600088,1,Meetme,8600088|q
exten => 78600089,1,Meetme,8600089|q
exten => 78600090,1,Meetme,8600090|q
exten => 78600091,1,Meetme,8600091|q
exten => 78600092,1,Meetme,8600092|q
exten => 78600093,1,Meetme,8600093|q
exten => 78600094,1,Meetme,8600094|q
exten => 78600095,1,Meetme,8600095|q
exten => 78600096,1,Meetme,8600096|q
exten => 78600097,1,Meetme,8600097|q
exten => 78600098,1,Meetme,8600098|q
exten => 78600099,1,Meetme,8600099|q
exten => 78600100,1,Meetme,8600100|q
; quiet monitor extensions for meetme rooms (for room managers)
exten => 68600051,1,Meetme,8600051|mq
exten => 68600052,1,Meetme,8600052|mq
exten => 68600053,1,Meetme,8600053|mq
exten => 68600054,1,Meetme,8600054|mq
exten => 68600055,1,Meetme,8600055|mq
exten => 68600056,1,Meetme,8600056|mq
exten => 68600057,1,Meetme,8600057|mq
exten => 68600058,1,Meetme,8600058|mq
exten => 68600059,1,Meetme,8600059|mq
exten => 68600060,1,Meetme,8600060|mq
exten => 68600061,1,Meetme,8600061|mq
exten => 68600062,1,Meetme,8600062|mq
exten => 68600063,1,Meetme,8600063|mq
exten => 68600064,1,Meetme,8600064|mq
exten => 68600065,1,Meetme,8600065|mq
exten => 68600066,1,Meetme,8600066|mq
exten => 68600067,1,Meetme,8600067|mq
exten => 68600068,1,Meetme,8600068|mq
exten => 68600069,1,Meetme,8600069|mq
exten => 68600070,1,Meetme,8600070|mq
exten => 68600071,1,Meetme,8600071|mq
exten => 68600072,1,Meetme,8600072|mq
exten => 68600073,1,Meetme,8600073|mq
exten => 68600074,1,Meetme,8600074|mq
exten => 68600075,1,Meetme,8600075|mq
exten => 68600076,1,Meetme,8600076|mq
exten => 68600077,1,Meetme,8600077|mq
exten => 68600078,1,Meetme,8600078|mq
exten => 68600079,1,Meetme,8600079|mq
exten => 68600080,1,Meetme,8600080|mq
exten => 68600081,1,Meetme,8600081|mq
exten => 68600082,1,Meetme,8600082|mq
exten => 68600083,1,Meetme,8600083|mq
exten => 68600084,1,Meetme,8600084|mq
exten => 68600085,1,Meetme,8600085|mq
exten => 68600086,1,Meetme,8600086|mq
exten => 68600087,1,Meetme,8600087|mq
exten => 68600088,1,Meetme,8600088|mq
exten => 68600089,1,Meetme,8600089|mq
exten => 68600090,1,Meetme,8600090|mq
exten => 68600091,1,Meetme,8600091|mq
exten => 68600092,1,Meetme,8600092|mq
exten => 68600093,1,Meetme,8600093|mq
exten => 68600094,1,Meetme,8600094|mq
exten => 68600095,1,Meetme,8600095|mq
exten => 68600096,1,Meetme,8600096|mq
exten => 68600097,1,Meetme,8600097|mq
exten => 68600098,1,Meetme,8600098|mq
exten => 68600099,1,Meetme,8600099|mq
exten => 68600100,1,Meetme,8600100|mq


; park channel for client GUI parking, hangup after 30 minutes
; create a GSM formatted audio file named "park.gsm" that is 30 minutes long
; and put it in /var/lib/asterisk/sounds
exten => 8301,1,Answer
exten => 8301,2,AGI(park_CID.agi)
exten => 8301,3,Playback(park)
exten => 8301,4,Hangup
exten => 8303,1,Answer
exten => 8303,2,AGI(park_CID.agi)
exten => 8303,3,Playback(conf)
exten => 8303,4,Hangup

; park channel for client GUI conferencing, hangup after 30 minutes
; create a GSM formatted audio file named "conf.gsm" that is 30 minutes long
; and put it in /var/lib/asterisk/sounds
exten => 8302,1,Answer
exten => 8302,2,Playback(conf)
exten => 8302,3,Hangup

; default audio for safe harbor 2-second-after-hello message then hangup
; create a GSM formatted audio file complies with safe harbor rules
; and put it in /var/lib/asterisk/sounds then change filename below
exten => 8307,1,Answer
exten => 8307,2,Playback(vm-goodbye)
exten => 8307,3,Hangup

; this is used for recording conference calls, the client app sends the filename
; value as a callerID recordings go to /var/spool/asterisk/monitor (WAV)
exten => 8309,1,Answer
exten => 8309,2,Monitor(wav,${CALLERIDNAME})
exten => 8309,3,Wait,3600
exten => 8309,4,Hangup

; this is used for recording conference calls, the client app sends the filename
; value as a callerID recordings go to /var/spool/asterisk/monitor (GSM)
exten => 8310,1,Answer
exten => 8310,2,Monitor(gsm,${CALLERIDNAME})
exten => 8310,3,Wait,3600
exten => 8310,4,Hangup

; this is used for playing a message to an answering machine forwarded
from AMD in VICIDIAL
; replace conf with the message file you want to leave
exten => 8320,1,WaitForSilence(2000,2) ; AMD got machine. leave
message after recording
exten => 8320,2,Playback(conf)
exten => 8320,3,AGI(VD_amd_post.agi,${EXTEN})
exten => 8320,4,Hangup

; this is used to allow the GUI to send you directly into voicemail
; don't forget to set GUI variable $voicemail_exten to this extension
exten => 8501,1,VoicemailMain(s${CALLERIDNUM})
exten => 8501,2,Hangup

; this is used to allow the GUI to send live calls directly into voicemail
; don't forget to set GUI variable $voicemail_dump_exten to this extension
exten => _85026666666666.,1,Wait(2)
exten => _85026666666666.,2,Voicemail(${EXTEN:14})
exten => _85026666666666.,3,Hangup

; this is used for sending DTMF signals within conference calls, the client app
; sends the digits to be played in the callerID field
; sound files must be placed in /var/lib/asterisk/sounds
exten => 8500998,1,Answer
exten => 8500998,2,Playback(silence)
exten => 8500998,3,AGI(agi-dtmf.agi)
exten => 8500998,4,Hangup

; prompt recording AGI script, ID is 4321
exten => 8168,1,Answer
exten => 8168,2,AGI(agi-record_prompts.agi)
exten => 8168,3,Hangup

; playback of recorded prompts
exten => _851XXXXX,1,Answer
exten => _851XXXXX,2,Playback(${EXTEN})
exten => _851XXXXX,3,Hangup

; VICIDIAL_auto_dialer transfer script:
exten => 8365,1,AGI(call_log.agi,${EXTEN})
exten => 8365,2,AGI(agi-VDADtransfer.agi,${EXTEN})
exten => 8365,3,AGI(agi-VDADtransfer.agi,${EXTEN})
exten => 8365,4,AGI(agi-VDADtransfer.agi,${EXTEN})
exten => 8365,5,Hangup

; VICIDIAL_auto_dialer transfer script SURVEY at beginning:
exten => 8366,1,AGI(call_log.agi,${EXTEN})
exten => 8366,2,AGI(agi-VDADtransferSURVEY.agi,${EXTEN})
exten => 8366,3,AGI(agi-VDADtransferSURVEY.agi,${EXTEN})
exten => 8366,4,AGI(agi-VDADtransferSURVEY.agi,${EXTEN})
exten => 8366,5,Hangup

; VICIDIAL_auto_dialer transfer script Load Balance Overflow:
exten => 8367,1,AGI(call_log.agi,${EXTEN})
exten => 8367,2,AGI(agi-VDAD_LO_transfer.agi,${EXTEN})
exten => 8367,3,AGI(agi-VDAD_LO_transfer.agi,${EXTEN})
exten => 8367,4,AGI(agi-VDAD_LO_transfer.agi,${EXTEN})
exten => 8367,5,Hangup

; VICIDIAL_auto_dialer transfer script Load Balanced:
exten => 8368,1,AGI(call_log.agi,${EXTEN})
exten => 8368,2,AGI(agi-VDAD_LB_transfer.agi,${EXTEN})
exten => 8368,3,AGI(agi-VDAD_LB_transfer.agi,${EXTEN})
exten => 8368,4,AGI(agi-VDAD_LB_transfer.agi,${EXTEN})
exten => 8368,5,Hangup

; VICIDIAL_auto_dialer transfer script AMD with Load Balanced:
exten => 8369,1,AGI(call_log.agi,${EXTEN})
exten => 8369,2,AMD(3500|1500|300|5000|120|50|5|256)
exten => 8369,3,AGI(VD_amd.agi,${EXTEN})
exten => 8369,4,AGI(agi-VDAD_LB_transfer.agi,${EXTEN})
exten => 8369,5,AGI(agi-VDAD_LB_transfer.agi,${EXTEN})
exten => 8369,6,AGI(agi-VDAD_LB_transfer.agi,${EXTEN})
exten => 8369,7,Hangup

; VICIDIAL auto-dial reminder script
exten => 8372,1,AGI(call_log.agi,${EXTEN})
exten => 8372,2,AGI(agi-VDADautoREMINDER.agi,${EXTEN})
exten => 8372,3,AGI(agi-VDADautoREMINDER.agi,${EXTEN})
exten => 8372,4,AGI(agi-VDADautoREMINDER.agi,${EXTEN})
exten => 8372,5,Hangup

### OPTIONAL IAX Load Balance extens to allow for Overflow and Balanced VDAD
### In this setup, the serverIP is the prefix followed by agent conf_exten
### If you have more than 1 server doing VICIDIAL outbound, these lines are
### REQUIRED for Load Balancing to work properly
### server 1 extens:
exten => _010*010*010*016*8600XXX,1,Dial(${TRUNKIAX2}/${EXTEN:16},55,o)
exten => _010*010*010*016*8600XXX,2,Hangup
### server 2 extens:
exten => _010*010*010*015*8600XXX,1,Dial(${TRUNKIAX1}/${EXTEN:16},55,o)
exten => _010*010*010*015*8600XXX,2,Hangup
ken4
 
Posts: 16
Joined: Wed Aug 23, 2006 9:07 pm

Postby mflorell » Fri Sep 22, 2006 8:39 pm

I have not been able to get a SIP trunk working with VICIDIAL if it does not register, although I have only tried with 2 providers and another Asterisk server acting as the providers.

It should not hurt to comment out the IAX/Zaptel entries, but you do need to customize the dialplan to your setup.
mflorell
Site Admin
 
Posts: 18384
Joined: Wed Jun 07, 2006 2:45 pm
Location: Florida


Return to Support

Who is online

Users browsing this forum: Majestic-12 [Bot] and 77 guests

cron