Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Scroll export button
scopecurrent
template-id0fa09813-8b86-460a-aa1d-ef450a80e9ce
quick-starttrue
add-onScroll PDF Exporter

Info

This guide explains in detail each Dialplan application and provides practical examples and use cases.

Updated: October 2021

Permalink: https://confluencewildix.wildixatlassian.comnet/wiki/x/UwI8AQahDOAQ

Table of Contents


Basic information on how Dialplan works: Dialplan: How does it work?

...

  • Set Number: set up the system to ask for the password associated to another user if you indicate another user
  • Set Options: set up the system to ask for the password only if phone is blocked

Example:

Image Added


The caller is asked for the user password and only in case the entered password is correct, the next Dialplan application “Dial trunk” is executed.

...

Example:
Suppose our local PBX is situated in Italy and remote one in France.
users” Dialplan configuration on local (Italian) PBX:

Image AddedIn case the French number is entered, the call is routed via a remote PBX located in France, the Dialplan procedure “users”.
users” Dialplan configuration on remote (French) PBX:

Image Added


On the remote PBX situated in France, the number is normalized (the first 5 digits standing for the French international prefix are eliminated) and the call is routed via a local trunk.

...

Suppose the international prefix is 39 (Italy). Here is the “users” Dialplan configuration example:

Image AddedIf the called number is +3904611715112, the system removes +39 and adds 0, the number after normalization is: 004611715112 and it matches the number 00[1-9], so the call is routed via the “local” trunk.

...

Call coming from 021234533 must be routed to the user 133, call coming from 021234532 must be routed to the user 132, etc: Set number -> remove – 7  -> prepend digits – 1 (DID management). Here is an example of Dialplan configuration for incoming calls (“main”) in this case:

Image Added

Image AddedDial the trunk

 Routes the call through the specified trunk.

...

Example:
The options “timeout” and “max number of calls” allow you to decide when to stop dialing one trunk and try another one, here is an example of “users” procedure configuration:

Image Added

In our example, the system first tries to dial one trunk, in case the timeout of 30 seconds or the maximum number of 2 calls is reached on this trunk, the system tries to route the call via another trunk.

...


Example: User 100 made a call to the number 39123456789 but no one replied. In forty minutes the called party has noticed a missed call and calls the number displayed on the screen (the office number, e.g. 04611715112). The system routes the call directly to the user 100 who had previously made an outgoing call. To do this, we must edit the Dialplan for incoming calls (“main”), by adding the “Automatic Call Back” Dialplan Application to the office number (04611715112):

Image Added

Call group

Routes the call to the selected Call Group. Call Groups are set up in Dialplan -> Call Groups (Read the chapter of WMS Start Guide, dedicated to Call groups).

...

Here is an example of the Dialplan procedure for incoming calls (“main”), where an incoming call to the tech support number is first routed to the tech support group, if no one answered within the timeout of 20 seconds, the call is routed to the sales group:

Image AddedConference


Puts the call into multiconference.

...

Examples:
In the first example of the “main” Dialplan configuration, the incoming calls to the number 021234567 are routed to the conference room 123:

Image Added

The second example demonstrates DISA configuration in which we have three different conference rooms (1, 2, 3) and the caller is asked to enter the number in order to enter each conference room: e.g. caller must enter 11234 to enter the conference room number 1, 11567 to enter the conference room number 2, 11890 to enter the conference room number 3.

Image Added

By the way, any user of the system can access these conference room by simply dialing a feature code for Conference access (98 by default) + the conference room number, e.g. 981 for conference room number 1.

...

Example:
Suppose the office fax number is 021234567. Edit the Dialplan for incoming calls (“main”):

Image Added

You can enter several extension numbers / email addresses into the field, separated by spaces, in this case the copy of received faxes is sent to multiple destinations:

Image Added

Image Added


Read the FAX/ SMS Server Quick Admin Guide for more information on sending and receiving faxes with Wildix Fax Server.

...

  • Set Number: modify the called number/ email address of the voicemail destination. You can enter several  extension numbers/ email addresses into the field, separated by comma, space or semicolon. In this case the voicemail will be sent to multiple destinations
  • Set Options: select to Play beep/ Play busy or unavailable message automatically/ Play unavailable message/ Play busy message to the caller


    Image Added

Intercom

 The phone indicated in the “Number” field answers automatically in speaker mode enabling the caller to talk to the user without his/her intervention.

...

Examples:
To enable call recording of outgoing calls, modify the Dialplan procedure used for managing outgoing calls (e.g. “users”):

Image Added

In our example the call recording starts as soon as the call is answered (specified in “Set Options”), and the copy of the recording is sent to the email address of user 100. To enable call recording of incoming calls, modify the Dialplan procedure used for managing incoming calls (“main”):

Image AddedIn this case all the incoming calls to the line 021234567 are recorded and the copy of the conversation is sent to the email address info@wildix.com.

...

Example:
Suppose the company phone and fax number is 021234567. Modify the Dialplan procedure used to manage incoming calls:

Image AddedIn our example the system tries to detect fax during 4 seconds, while the execution of the Dialplan procedure proceeds to the next step and the call is routed to the call group. In case within the 4 seconds the fax is detected, the system stops the execution of application “Call group” and the call is forwarded to the called number “fax” (as defined in “Set Number” option), in which the fax is being sent to email info@wildix.com

...

Example:
Suppose we have Sales and Tech Support departments and they both use the same trunk for outgoing calls, but they want to receive call recordings to different email addresses (sales@wildix.com and support@wildix.com) and to have different caller number for outgoing calls (04611715111 for sales and 04611715112 for tech support). For this purpose we must create two different Dialplan procedures for managing outgoing calls (users_sales and users_support). Don’t forget to assign these procedures to users belonging to each group in Users, “Dialplan” (by default “users” is set).

Image Added

In both cases the system starts the call recording of the outgoing call, but the copy of call recording is sent to different email addresses; the caller number set on trunk is different for Sales and Tech support. At the third step “Jump to”, the system routes the call to the Dialplan procedure “users”, where both types of calls (the one made by Sales or by Tech Support department), use the Dialplan application “Dial the trunk”:

Image AddedJump to if

 Jump to another procedure in case matched the condition with the possibility to modify the number.

...

Example:
In our example, in case the switch status is "ON", the incoming calls are routed to the procedure “Closed”, in case the switch is in status “Extra”, the incoming calls are routed to another Dialplan procedure “Mobile_number” (modify the procedure used for incoming calls, “main” by default):

Image AddedIn case the 3 state switch (called “Switch1”) is OFF, the Dialplan continues its execution and the call is routed to the procedure "Call group".

...

In case the switch status is EXTRA (blinking), the call is routed to the procedure “mobile_number”, where the call is sent to the predefined mobile number via the GSM trunk.

Image Added

Image AddedJump to if call type is

Verifies the type of call, if matched, jumps to another procedure with the possibility to modify the number.

...

Note

Note: you can associate each contact to call type in Phonebook (whitelist / blacklist); otherwise, in case you have imported a phonebook from some DB where you have some custom call class, e.g. “myclass”, you can set up this custom call class in “Select call type” section:

Image AddedJump to if congested / busy

Analyses the status of the call. If the “state” (BUSY, NOANSWER, CONGESTION, CHANUNAVAIL.) corresponds to the call, Dialplan jumps to another procedure with the possibility to modify the number. If no match was found, Dialplan proceeds to the next step.

...

  1. Create a new Dialplan procedure “Conference” and edit a Dialplan procedure for incoming calls (“Main” by default) by specifying an office number devoted to conference management as “Called number” (in our example, 04611715109) and adding an operation “Jump to” –> “Conference” procedure:

    Image Added

  2. Edit a Dialplan procedure “conference”

An example of configuration for this Dialplan procedure is provided below:

Image Added


  • The user is invited to enter the PIN code of the conference ("Play sound and wait for digits")
  • The system waits for 4 seconds ("Wait for digits")
  • In case the user has entered the valid conference PIN number, the call is routed to the conference room (“called number –> XXXX” (Conference PIN code), “Jump to” –> “pbxfeatures” procedure –> “98” (Feature code to access to the conference)
  • In case the user has entered a wrong number, he is invited to try again ("Play sound and wait for digits")
  • After the second unsuccessful attempt, the call is hung up ("Hangup")

...

  • Insert manually the string DIAL_OPTIONS into the first input field and g (or another option) into the second input field

  • Then add the Dialplan application to which it should be applied, e.g. “Dial the phone”, “Dial the trunk”, “Trunk group”

    Image Added

Case 2: Run shell commands or scripts. For example, you can run data base query command:

  • Add Set -> USERID -${SHELL(/usr/bin/sqlite3 /mnt/cticonnect/cticonnectdb “select username from cti_contacts where phonebook_id = 6 and mobile = ‘${EXTEN:1}’”)}

    Image Added



Case 3: Display a different phone number instead of a real caller / called ID to user in call dialog and CDR:

...

Note

You can add these variables in Dialplan context or as a Global Dialplan variable; in the latter case it is not necessary to add "Lookup caller name in phonebook" application.


Example:

Image Added


1 - display caller ID in format company / name

...

  • Add  Set -> SKIP_PUSH_NOTIFICATION -> yes  before Call group application:

Image Added

Case 6  (WMS 4.0X/ WMS 5.0X). Search for a specified parameter of a contact in shared phonebooks in order to route a call to its owner:

...

  • Add Set -> INTRUSION_NOTIFICATION -> yes 

    Image Added


Case 8 (WMS 5.02). Continue recording of an outgoing call after it is transferred to another user:

...

  • Add Set -> RECORD_ON_CALLEE_SIDE -> true 

    Warning

    Current limitation: Direct RTP must be disabled. To disable it, edit the config file /etc/callweaver/sip-general-custom.conf and add direct_rtp=no parameter


Dialplan example:

Image Added

Case 9 (WMS 5.03). Configuremissed calls notifications to be sent to Call Group notifications manager’s email:

  • Add Set -> CG_MANAGER_MAIL_NOTIFY -> yes before the Call group application:

Image Added

Case 10 (WMS 5.03). For Call All 10/ 32 Call group strategy: configure a Call group member to receive an incoming call as soon as they get available, without waiting till the Call group timeout is reached:

  • Add Set -> QUEUE_FAST_RECALL -> yes/true before the Call group application:

Image Added


More about the Call Group notifications manager feature: How to set up the Call Group notifications manager feature.

...

Example:
Wildix PBXs can interact with external programs via AGI interface. You can create for example, a script that includes a PHP AGI library (already present in the WMS) and execute it via this Dialplan application.

Script example: 

agiexapmple1Image Added


When this script is executed, the system pronounces the number (1234), reproduces the file (in your script use the name of the audio file that exists on your PBX) and then dials the user (340).

...

Indicate the path to the place where the remote script is located in the Dialplan application:


Image Added


In our case, when calling 333, the script “php.test” is executed. 

...

Example of Users procedure configuration.


Caelor panel macro

Not finding the help you need?
Join the Facebook group to ask a question!

Button macro
buttonTextFacebook
isButtonShadowOntrue
emoji{"id":"smile","name":"Smiling Face with Open Mouth and Smiling Eyes","short_names":["smile"],"colons":":smile:","emoticons":["C:","c:",":D",":-D"],"unified":"1f604","skin":null,"native":"😄"}
buttonBorderColor#4267b2ff
buttonColor#4267b2ff
buttonNewTabtrue
buttonFontColor#ffffff
buttonSizemedium
buttonIconColor#ffffff
buttonWidthDetection46
buttonHoverColor#ffffff
buttonIconfont-awesome/FacebookSquare
buttonTypeicon_left
buttonLink{"link":"https://www.facebook.com/groups/wildixtechwizards","source":"direct"}
buttonNewLink
buttonRadius3
buttonShadow0
emojiEnabledfalse
buttonWidth20