Versions Compared

Key

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



Html
<div id="fb-root"></div>
<script>(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = 'https://connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.11';
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>

...

Info

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

Updated: April 2019

WMS Version: 3.88/ 4.01

Permalink: https://confluence.wildix.com/x/UwI8AQ

Table of Contents


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

Call control

Answer the call

Enables the system to answer the call.

Authenticate user

Asks the caller for the user password.

...


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.

Call through remote PBX

Routes the call through another PBX of WMS Network. As a rule, this option is used to route the call through the trunk present on the remote PBX at minor cost.

...


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.

Correct called number

Verifies if the called number contains international prefix, and if it’s the one defined in Settings -> PBX -> Language & region -“Country Code”. If matched, the prefix is substituted by the parameter indicated in “outgoing prefix”. If the international prefix is not recognized, “+” is eliminated, outgoing prefix and international prefix are added.

...

If the called number is +380481234567, the system removes + and adds 000 (00 as International prefix and 0 as Outgoing prefix), the number after normalization is: 000380481234567 and it matches the called number 000[1-9] present in Dialplan procedure, so the call is routed via the “international” trunk.

Dial the phone

Routes the call to the selected user.

...

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:




Dial the trunk

 Routes the call through the specified trunk.

...

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.

Hangup

Enables the system to terminate the call. Choose the reason from the list at which the system will terminate the call.

Trunk group

Routes the call through the specified Trunk group (Read the chapter of WMS Start Guide, dedicated to Trunk groups).

  • Select trunk group: select the trunk group from the list through which the call must be routed
  • Set Number: modify the called number
  • Class: assign the call class for this call to manage the permissions via ACL groups
  • Strategy: change the order of trunk occupation within the specified hunt group

Services

Automatic Call Back

Routes the incoming call directly to the user who had made an outgoing call to this number (within one hour) with Dial Status «No Answer».

...


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):



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:



Conference

Puts the call into multiconference.

...

To enable an external user to participate in the conference without DISA configuration, you can call this external user and then make a blind transfer of this call to the conference (e.g. 981, to enable an external user to participate in the conference with the room number 1).

Dial by name / Directory

Invites caller to enter a part of the name or surname for the search and routes the call to the user in case a match is found. Use DTMF for enteringInstead of letters, press corresponding digits. Press the digit just once to enter any option corresponding to this digit. For example, for the user John Smith, you need to enter 5646 which stands for the name/ 76484 which stands for the surname.

...

Note

Note: the feature is also available via Feature code "Directory" 82. To dial users by name, they should have their names previously recorded via another Feature code "Voicemail" 81 (call 81, press 0 for mailbox options, then press 3 to record your name). For more information, refer to Feature Codes Admin Guide, Directory section.

Fax to email

Answers an incoming call using FAX Server and sends the fax to email or to the user, indicated in “Set”.

...

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

Go to voicemail

Routes the call to the voicemail. 

  • 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 Optionsselect to Play beep/ Play busy or unavailable message automatically/ Play unavailable message/ Play busy message to the caller


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.

...

Note

Starting from WMS 3.86 calls are no longer interrupted by Paging / Intercom including web phone and WP4X0 2015-2017, starting from 3.88 this behavior is implemented on all devices; a user who is already on the phone, receives Paging / Intercom calls as a normal second incoming call. This behavior can be changed via Dialplan Custom application:

  • SIPAddHeader(Call-Info: sip:wildixgw;answer-after=0;force) - old behavior, enables the phone to answer Paging / Intercom call automatically, even if user is busy on the phone
  • SIPAddHeader(Call-Info: sip:wildixgw;answer-after=5;force) - enables the phone to answer Paging / Intercom call automatically, even if user is busy on the phone after the timeout of five seconds

Paging group

Similar to “Intercom”, but applied to a group of users (Dialplan -> Paging Groups); the phones of users present in the selected Paging group answer automatically in speaker mode enabling the caller to talk to the users without their intervention (e.g. in this way you can quickly broadcast an urgent message to the group of listeners). 

...

Note

Starting from WMS 3.86 calls are no longer interrupted by Paging / Intercom including web phone and WP4X0 2015-2017, starting from 3.88 this behavior is implemented on all devices; a user who is already on the phone, receives Paging / Intercom calls as a normal second incoming call. This behavior can be changed via Dialplan Custom application:

  • SIPAddHeader(Call-Info: sip:wildixgw;answer-after=0;force) - old behavior, enables the phone to answer Paging / Intercom call automatically, even if user is busy on the phone
  • SIPAddHeader(Call-Info: sip:wildixgw;answer-after=5;force) - enables the phone to answer Paging / Intercom call automatically, even if user is busy on the phone after the timeout of five seconds

Record call

Records the call and sends the record to the specified email/user.

...

Note

Note: in Dialplan -> General Settings it is possible to define whether to save the call recordings in *.wav or in *.mp3 quality.

Voicemail access

Accesses the voicemail number specified in “access voicemail number” value. In “Set” (Options) field it is possible to enable Voicemail access without password request.

  • Access Voicemail number: set the user for Voicemail access; if empty, the system requests the extension number
  • Set Options: skip pin check

Conditions

Detect fax

Answers the call and within a timeout specified in “fax detect time” waits for the tones of a remote fax. Usually 3 seconds is enough. If the fax is detected, the call is passed to another procedure with the possibility to change the number.

...


In 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

Jump to

Jump to another procedure with the possibility to modify the number.

...

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”:



Jump to if

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

  • Condition: select from the list of available conditions or enter your own one (read Smart Dialplan Guide - use of Custom Applications for more information on conditions)
  • Procedure: select the procedure to route the call
  • Set Number: modify the called number (to match the selected Dialplan procedure)

Jump to if 3 state switch is on

Verifies the state of the 3 state switch (set up in Dialplan -> Timetable / Switch). If the switch status is ON, the Dialplan routes the call to another procedure and number, otherwise proceeds to the next step.

...

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.




Jump 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:


Jump 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.

  • Select Dial status: select the dial status (BUSY, NOANSWER, CONGESTION, CHANUNAVAIL)
  • Procedure: select the procedure to route the call in case of matching the selected dial status
  • Set Number: modify the called number (to match the selected Dialplan procedure)

Jump to if switch is on 

Verifies the state of the switch (set up in Dialplan -> Timetable / Switch). If the switch status is ON, the Dialplan routes the call to another procedure and number, otherwise proceeds to the next step.

...

  • Select switch: select the switch from the list
  • Procedure: select the procedure to route the call in case the switch status is “Enabled
  • Set Number: modify the called number (to match the selected Dialplan procedure)

Jump to if user status is

Verifies the user status (DND / away) and based on the result routes the call to the specified Dialplan procedure with the possibility to edit the called number.

  • DND / away: select the user status
  • Set Number: set up the user extension number whose status you wish to verify
  • Procedure: select the procedure to route the call in case the user status is “DND / Away
  • Set Number: possibility to specify the called number present in the Dialplan procedure where call is routed

Verify caller

Jump to another procedure, if the number or the caller name contains certain symbols.

  • If [caller name | caller number] contains: enter the symbols
  • Procedure: select the procedure to route the call in case the called number / name contains the symbols entered in the field above
  • Set Number: modify the called number (to match the selected Dialplan procedure)

Verify number of calls

Jumps to another procedure, if the number of calls exceeds a certain quantity.

  • If more than (active calls): enter the max number of active calls
  • Procedure: select the procedure to route the call in case the max number of active calls specified in the field above is reached
  • Set Number: modify the called number (to match the selected Dialplan procedure)

Verify timetable

Checks the timetable status (set up in Dialpan -> Timetable / Switch). If the selected timetable’s status is “always on”, the call is routed to the specified Dialplan procedure, if the selected timetable’s status is “check time”, the system checks if the actual date and time matches the intervals specified in the timetable, and if the match is found, the call is routed to the specified Dialplan procedure. If the match is not found or if the timetable’s status is “never active”, the Dialplan execution proceeds to the next step. (Read the chapter of WMS Start Guide, dedicated to Timetables)

  • If matched: select the timetable from the list
  • Procedure: select the procedure to route the call in case the timetable status is “always on” or in case the timetable’s status is “check time” and the actual date and time matches the interval specified in the timetable
  • Set Number: modify the called number (to the one present in the selected Dialplan procedure)

Contacts

Lookup called name in phonebook

Searches for the called name in the specified phonebook with the option to modify the called number in case the match is found.

  • Select phonebook: select the phonebook from the list, in which to perform the search
  • Set Number: modify the called number
  • Set Options: search for the exact match

Lookup caller name in phonebook

Searches for the caller name in the specified phonebook with the option to modify the called number in case the match is found.

  • Select phonebook: select the phonebook from the list, in which to perform the search
  • Set Number: modify the called number
  • Set Options: search for the exact match

Mobility extension lookup

If the caller number (modifiable via the option “Set – caller number”) corresponds to the mobile number of one of the users, Dialplan jumps to the procedure predefined for the outgoing calls of this user, as if the call was made from this user’s extension number. User is asked to dial the number to call and the call is treated as a usual outgoing call made by this user.

...

  • Set Number: modify the called number (to match the number present in the procedure predefined for the outgoing calls for this user, e.g. Users procedure
  • Set Options: hang up and call back to the caller

Sounds / IVR

IVR

Starts the execution of the selected IVR (set up IVR in Dialplan -> IVR).

...

  • Select IVR: select the IVR from the list

IVR via ASR with Directory (WMS 4.01)

Extends the capabilities of Dial by name / Directory application and allows you to create IVRs with voice control.

The full description: How to configure IVR via ASR with Directory in Dialplan.

Play sound

Reproduces an audio file to the user.

...

Note

How to use TTS in Dialplan:

  • It is necessary to first set the language using “Set” application
  • Available from WMS 3.88: if required, you can change the default voice parameter for TTS message. Add "Set" application and use channel variable "TEXTTOSPEECH_VOICE" indicating the new voice parameter. Supported voices list can be found in WMS -> Sounds (secondary top menu)-> Text-to-speech page. Note, that the language of the voice parameter should match the language selected in "Set" application
  • Write a text using “Play sound” / “Play sound and wait for digits” applications. In case you need to insert a pause between words/ phrases, use a variable <break time="1s"/>, where the value "1s" can be changed to any number of seconds
  • To learn more about variables, read Smart Dialplan Guide - use of Custom Applications
  • You can jump to another Dialplan procedure based on TTS result: use “Jump to if” application with Condition "${TTSSTATUS}"!="SUCCESS" ("UNDEFINED"/"FAILURE")

Note, that this message will not be saved on the PBX and will be generated dynamically upon the execution of this Dialplan application.

Example:


Read more about Wildix Business Intelligence (WBI) services: https://confluence.wildix.com/x/3QM8AQ

Warning

Prerequisites:

  • Per User systems (monthly / yearly / five years subscription) (support for Virtual and Hardware PBXs has been added in WMS version 3.88.40314.18  (WMS-4362)
  • Premium license
  • Supported starting from WMS 3.87 (reference ticket WMS-3685)
  • It's necessary to set the language using "Set" application


Play sound and wait for digits

Reproduces an audio file to the user. During the playback, the system analyses the DTMF tones received from the caller and searches for the match to called numbers present in the current Dialplan procedure or in the Included procedures.

...

  • 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")

Wait for digits

Normally this Dialplan application used to give more time to the caller after the audio file is reproduced

  • For (seconds): enter the timeout in seconds

Set

Set

Set up different parameters for the current call:

...

Note

In case the option you would like to set is not available in the drop-down list of the "Set" applicaton, you can enter it manually. Below you can find some examples of using "Set" application with options which are not available in the drop-down list. Find some examples below.


Case 1: Set custom dial parameters (e.g. “g” – proceed with Dialplan execution at the next priority in the current extension if the destination channel hangs up) - supported starting from WMS 3.87:

...

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


Case 3: Display a different phone number instead of a real caller / called ID to user in call dialog and CDR - supported starting from WMS 3.86:

For outgoing external calls:

  • Add Set -> FORCE_LOOKUP_NUMBER)=XXXXX, (where XXXXX is the number which must be displayed to a user)
  • Then add Dial trunk / Trunk group Dialplan application

For incoming external calls:

  • Add Set -> FORCE_LOOKUP_NUMBER)=XXXXX, (where XXXXX is the number which must be displayed to a user)
  • Then add Look up caller name in phonebook Dialplan application

Case 4: Starting from WMS version 3.87, Caller ID is displayed with “Company” field for calls from trunks on Wildix devices

To make it work: add Diaplan application "Lookup caller name in phonebook", specify in which phonebook to search and in "Set" caller number, tick off "Custom" instead of "Default"

Note

The search is performed in the following priority:

  1. Search in LDAP (colleagues phonebook) - in case it is a colleague calling with Mobility service, the value specified in "Department" field is displayed
  2. Search in the selected phonebook - in case it is a phonebook contact, the value specified in "Organization" field is displayed
  3. Search in external resources, in the Worldwide Phonebook service is active - in this case the company name is not displayed

...

  • Add Set  -> insert the function MYVAR=${LOOKUPPHONEBOOK(valuetolookup, fieldswelookup, fieldwewant)}). For example, ${LOOKUPPHONEBOOK(CALLER_NUMBER, 'office, mobile', 'owner_id')}

Example of usage: How to automatically route calls to contact owners.

DTMF

Generate DTMF

Generates a DTMF tone.

This Dialplan application allows you to insert the DTMF that can be used during a call, for example, in case you are often asked to enter the same code while calling a particular number, via this Dialplan application, you can enable the system to enter the code automatically when calling this number.

Generate Flash Hook

Generates Flash Hook.

Flash Hook is used for integration with legacy PBX and legacy phones. Read the FXO White Paper to find examples of usage.

Other

Custom application

Used to execute custom Dialplan applications, not present in the standard list of Dialplan applications, if recommended by Wildix Support Team or on Wildix Forum.

Read Smart Dialplan Guide - use of Custom Applications to learn more about the use of custom applications for interaction with external software, MySQL server, PHP, CURL request, TAPI, MySQL Microsoft Database.

Remote script

Enter the path to the remote script.

...