TUTORIAL Gotcha-Free PBX: Inbound Call Routing

wardmundy

Nerd Uno
Joined
Oct 12, 2007
Messages
15,136
Reaction score
2,627
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:



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/[email protected])
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/[email protected])
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/[email protected])
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/[email protected])
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

PIAF 5 - Powered by 3CX

Forum statistics

Threads
22,367
Messages
137,355
Members
14,575
Latest member
Issue