Practical examples of using Set Dialplan application

In this Article, you can find some examples of using Set Dialplan application with options which are not available in the drop-down list.

Dialplan applications Guide: link.

Created: September 2023

Permalinkhttps://wildix.atlassian.net/wiki/x/hxTOAQ


Case 1. Set custom dial parameters

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

  • 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 trunkTrunk group


Case 2. Run shell commands or scripts

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}’”)}



Case 3. Display different numbers instead of real IDs

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

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. Display Caller IDs in Company field

Display Caller ID in Company field for calls from trunks on Wildix devices. To make it work:

  • Add Lookup caller name in phonebook application, specify in which phonebook to search and in Set application caller number, tick off Custom instead of Default

The search is performed in the following priority:

  • Search in LDAP (colleagues phonebook) - in case it is a colleague calling with Mobility service, the value specified in Department field is displayed
  • Search in the selected phonebook - in case it is a phonebook contact, the value specified in Organization field is displayed
  • Search in external resources, in the Worldwide Phonebook service (available for CLASSOUND-enabled PBXs in the USA and Canada) is active - in this case the company name is not displayed

It is also possible to customize the way caller ID name is displayed:

  • Add Set ->  EXTRADISPLAYINFO to display any additional information instead of the company name
  • Add Set ->  DISPLAYINFOPATTERN to customize the way the Caller ID is displayed 

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:


1 - display caller ID in format company / name

2 - display only 5 first digits of the caller name / [company]

3 - display custom information: name / W

Case 5. Disable push notifications for Call group calls

Disable push notifications (mobile and web push) for Call group calls.

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


Case 6. Search for a contact to route a call to its owner 

Search for a specified parameter of a contact in shared phonebooks in order to route a call to its owner:

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

Case 7. Enable audio notification for call intrusion

Enable audio notification (beep) for call intrusion. When enabled, a beep sound is played when any type of call intrusion (including silent intrusion) is started.

  • Add Set -> INTRUSION_NOTIFICATION -> yes 



Case 8. Continue outgoing calls recording after transfer to another user 

Continue recording of an outgoing call after it is transferred to another user. When enabled, a call recording continues after it is transferred to another user:

  • Add Set -> RECORD_ON_CALLEE_SIDE -> true 

    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:

Case 9. Configure missed calls notifications to be sent to CC notifications manager 

Configure missed calls notifications to be sent to Call Group notifications manager’s email:

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


Case 10. Configure calls to be sent to Call Group members despite CC timeout 

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:


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