TUTORIAL Gotcha-Free PBX: Inbound Call Routing

wardmundy

Nerd Uno
Joined
Oct 12, 2007
Messages
19,168
Reaction score
5,199
Incoming calls are routed by the rules included in each of the [DID_trunkname_default] contexts in /etc/asterisk/extensions.conf. By default, incoming calls are sent to the Stealth AutoAttendant which greets the caller and then passes the call to the default ring group which rings extensions 6001 and 6002. All of this can be changed either by enabling a different destination from the samples provided, by creating your own new destination instruction, or by routing the call to a newly created [context] in extensions_custom.conf that includes any desired dialplan instructions.

The Stealth AutoAttendant destinations for allowed button presses (if any) can be managed inside the Asterisk-GUI:

B-dQeKnCAAA9VDt.jpg:large


After making changes to any inbound routes, always reload your dialplan: asterisk-reload

Selecting an Incoming Route

Each of the Incredible PBX preconfigured trunks includes a number of Goto choices to route incoming calls to a specific destination. Simply uncomment one of the inbound routes:
Code:
;exten = _.,n,Goto(default,6001,1)        ; routes incoming call to extension 6001
;exten = _.,n,Goto(ringroups-custom-1,s,1) ; routes incoming call to Ring Group #1
;exten = _.,n,Goto(voicemenu-custom-2,s,1) ; routes incoming call to Nerd Vittles Demo IVR
exten = _.,n,Goto(voicemenu-custom-1,s,1)  ; routes incoming call to Stealth AutoAttendant and then to Ring Group $

If you have installed Incredible Fax, you also can opt to route incoming calls on a specific DID to the fax destination which will accept the incoming fax and then email it in PDF format to the destination you specified when you configured Incredible Fax. Simply add the following dialplan code to the end of the [DID_trunkname_default] context, comment out the other Goto options with a leading semicolon, and reload your dialplan: asterisk-reload
Code:
exten = _.,n,Goto(ext-fax,in_fax,1)      ; routes incoming call to Incredible Fax for email PDF delivery

Learning the Incredible PBX for Asterisk-GUI Lingo

Asterisk-GUI has its own vocabulary for various call destinations and functions. Unless you use the default inbound route options, you'll need to master this terminology to route calls in your dialplan:

Calling Internal Extensions is accomplished in several different ways in Incredible PBX dialplans. Shown below are the Asterisk, Asterisk-GUI (2 ways), and FreePBX methods for placing calls to internal extensions on your PBX. All are supported:
Code:
exten = _.,n,Dial(SIP/6001)
exten = _.,n,Goto(default,6001,1)
exten = _.,n,Goto(CallingRule_extensions_custom,6001,1)
exten = _.,n,Dial(local/6001@from-internal)

Calling External Extensions is accomplished in several different ways in Incredible PBX dialplans. Shown below are several of the supported methods:
Code:
Dial(SIP/[email protected]) ; call Lenny using SIP URI
Dial(Motif/GoogleVoice/[email protected]) ; call out using Google Voice trunk
Dial(${voipms}/8005551212)
Dial(${Vitelity}/8005551212})
Dial(${lesnet_peer}/18005551212)
Dial(${ipcomms}/8005551212)
Dial(${didlogic}/18005551212)
Dial(${CallCentric}/1$8005551212)
Dial(${FutureNine}/18005551212)
Dial(SIP/${AnveoPIN}[email protected])
Goto(outbound-allroutes,8005551212,1) ; call out using [outbound-allroutes] configuration

Calling DISA is accomplished by dialing the D-I-S-A extension (3472) or routing a call to the [custom-disa] context:

Code:
exten = _.,n,Dial(local/3472@from-internal)
exten = _.,n,Goto(custom-disa,s,1)

Calling the Conference Bridge is accomplished by dialing C-O-N-F extension (2663) or routing a call to the [conf-bridge] context:

Code:
exten = _.,n,Dial(local/2663@from-internal)
exten = _.,n,Goto(conf_bridge,2663,1)
Creating a Custom Recording is accomplished by dialing 5678 or routing a call to the [custom-recordme] context:
Code:
exten = _.,n,Dial(local/5678@from-internal)
exten = _.,n,Goto(custom_recordme,5678,1)
voicemenu-custom-number defines an IVR context created with Asterisk-GUI in extensions.conf. Two are provided in the default install. [voicemenu-custom-1] is the Stealth AutoAttendant (a.k.a. Greeting) described above. [voicemenu-custom-2] is the sample Nerd Vittles Demo IVR. As you add additional Voice Menus in Asterisk-GUI, they will be numbered sequentially beginning with 3. Each is listed with a corresponding direct-dial extension in the Asterisk-GUI System Status panel. Thus, you could route an incoming call to the Nerd Vittles Demo IVR in either of two ways, by context or by extension number:
Code:
exten = _.,n,Goto(voicemenu-custom-2,s,1)
exten = _.,n,Goto(default,7001,1)

ringroups-custom-number defines an Ring Group context (notice only one "g") created with Asterisk-GUI in extensions.conf. Only one is provided in the default install. [ringroup-custom-1] sends calls to extensions 6001 and 6002 with unanswered calls going to 6001 unavailable voicemail: Voicemail(6001,u). As you add additional Ring Groups in Asterisk-GUI, they will be numbered sequentially beginning with 2.
Code:
Goto(ringroups-custom-1,s,1)

Adding Call Processing to Incoming Calls

Custom dialplan code can be added to incoming call processing. Simply add your code to [incoming-sub] in extensions_custom.conf and reload the dialplan: asterisk-reload.

See also:
 

Members online

No members online now.

Forum statistics

Threads
25,782
Messages
167,509
Members
19,202
Latest member
pbxnewguy
Get 3CX - Absolutely Free!

Link up your team and customers Phone System Live Chat Video Conferencing

Hosted or Self-managed. Up to 10 users free forever. No credit card. Try risk free.

3CX
A 3CX Account with that email already exists. You will be redirected to the Customer Portal to sign in or reset your password if you've forgotten it.
Top