To create conditions you can use regular expressions to match the value in the variable field. The following expressions can be used:
\d => 1 digit (0-9) \d* => 0 or more digits \d+ => 1 or more digits \d{3} => exactly 3 digits [0-9] => any digit (1 digit only) [1-3] => a digit between 1 and 3 (1 digit only) [13] => digit is 1 or 3 (1 digit only) [134-7] => digit is 1, 3, 4, 5, 6 or 7 (1 digit only) ^123 => the value starts by 123 123$ => the value ends by 123 ^00\d+$ => the number starts by 00 followed by 1 or more digits ^00(\d+)$ => the number starts by 00 followed by 1 or more digits, but the 1 or more digits is save in variable ${val1}
You can check at http://www.regular-expressions.info/ for a full documentation to learn more about regular expressions.
When calling a destination you can use variables that are passed to the action (check the manual for a complete list of variables), for example you can do:
${destination_number} => the destination number dialed by the user ${caller_id_number} => the call caller id number ${caller_id_name} => the call caller id name ${effective_caller_id_number} => the call caller id number effective from change in action dialplan ${effective_caller_id_name} => the call caller id name effective from change in action dialplan ${local_caller_id_number} => the call caller id number local from account or domain ${local_caller_id_name} => the call caller id name local from account or domain ${external_caller_id_number} => the call caller id number external from account or domain ${external_caller_id_name} => the call caller id name external from account or domain ${origination_caller_id_number} => the call caller id number is or effective_caller_id_number or external_caller_id_number or local_caller_id_number or caller_id_number ${origination_caller_id_name} => the call caller id name is or effective_caller_id_name or external_caller_id_name or local_caller_id_name or caller_id_name ${val1}, ${val2}, ... => use the resulting match from the regular expression inside () ${domain_name} => the domain name ${line_name} => the line name ${account_name} => the account name ${description} => the account description ${accountcode} => the call accountcode ${userfield} => the call userfield ${uuid} => The call unique identifier ${call_uuid} => The call uuid unique identifier ${channel_name} => the channel name ${channel_type} => the channel type ${channel_type} => the channel type ${context} => The dial-plan context name ${extension} => The dial-plan extension name ${billsec} => The call billsec time in seconds ${bridge_hangup_cause} => The hangup cause for the bridge action ${bridge_originate_disposition} => The originate cause for the bridge action ${ivr_digits} => digits pressed inside the ivr ${odbc_[\w-]+} => The odbc return variables ${chan_[\w-]+} => The custom channel variable defined in action channel variable ${sip_p_[\w-]+} => SIP optional P-Key-Flags headers variables ${sip_x_[\w-]+} => SIP optional custom headers variables ${sip_to_user} => SIP to user variable.
Example:
Expression: ^456(\d+)$ => call to: #31#${val1}
Expression: ^\*20#$ => action voicemail: ${caller_id_number} % commsmundi.com
This action allows you call to local accounts or local groups.
To call to a account.
To call to a group.
To make a call using a line (SIP or TDM) the action used in the dialplan is the action Bridge Custom. This action allows you to also call to local accounts ignoring the internal forwards activated in the account, it calls directly to the registered endpoint.
To call to a landline (using Spain national numeration) use the following parameters:
To call simultaneously to two different accounts. The first to answer the call takes the control and makes the other to hangup.
To call to a landline (using Spain national numeration), if the first operator returns error it will use the second line.
To call to a landline (using Spain national numeration). If the call can't be completed using the first rule, try to make the call using a second rule.
Add the first rule:
Add the second rule:
If the call can not be completed using the first rule, retrieve blind transfer between extensions.
Add the first rule:
Add the second rule:
To call to destination using list condition, use the following parameters:
- add the list
- add the values in list
- add rule action
To call to a landline (using Spain national numeration) and send dtmf use the following parameters:
The function callback allows to trigger an automatic call between a destination and an action. For example, you can use this function to build an automatic system where you can call and CM returns you the call and connects it to the application disa, so you can make calls as a normal company extension.
To configure a callback that returns you the call, without answer. Oce you answered the returned call connects you to the application disa, you must add the following rules:
In order to listen for active calls, there are two options, listen to a particular caller or listen to the first active call in one group.
The destination group must have “telephony” enabled
Receiving the fax can be done directly or when the destination number is shared between normal calls using a rule to detect if is a fax or not. You must configure in directory an account with fax feature enable.
This two rules are added in the same context incoming. If you add the detection and the rule to receive the fax in different contexts, adjust the configuration.
It's possible to force a different music on hold per type of call.
Add a new rule using the following parameters:
Force the the music on hold in an already created rule
In order to capture incoming calls at one extension, there are two options, capture to a particular caller or capture to the last call in one group.
The destination group must have “telephony” enabled
It's possible to apply a limit to a random resource. This way we can limit the simultaneous calls that a domain can do, limit the international call rate, and more..
Add a new rule to the outgoing context used by the domain commsmundi. This rule allows 5 simultaneous calls for the domain commsmundi. When the value is higher than 5 the calls get dropped.
Add a new rule to the outgoing context used by the domain commsmundi. This rules allows 5 new calls per minute and then transfer the call to another context where CommsMundi will play a warning message.
Using the function ODBC is possible to connect to external databases to extract or insert data. The use of this functions allows interact with external applications or executing dialplan actions in function of external data. In the SQL queries is possible to use dialplan variables.
To add a new ODBC connector go to the Comms Mundi administration page Home → ODBC. For more examples, please check ODBC.
Adding a rule to extract total call duration for an account. Add the rule using the following parameters:
Adding a rule to update the total call duration for an account upon hangup. Add the rule using the following parameters:
Matching a call with the extract value after the previous rule “control minutes”
It's possible to record any active call in CommsMundi. There are two possible methods to do this operation by trigger the recording from the dialplan or manual trigger in the active call.
All the audio recordings can be accessible from the user's web interface in the application Recording or connecting through FTP.
Add a new rule to record all the calls using the following parameters:
Activate in the rule the Inline functions [Callee] or Inline features [Caller]:
It's possible to force a custom ring-back per type of call.
Add a new rule using the following parameters:
Force the the ring back in an already created rule
It's possible to set one or more SIP X headers that are used to send non-standard information via SIP protocol, for example, sending the customer credit information in the SIP package. Conditions can be done as well using the SIP X headers received from the remote end to execute actions.
Add a new rule to set SIP X headers using the following parameters:
Matching a incoming call using SIP X headers:
It could be used to turn on or off lights on a phone.
Add a new rule to force blf to blink:
Add a new rule to force blf to stay static or busy:
Add a new rule to force blf to stay static or free:
Create a new rule to reboot a Yealink phone typing any number.
Create a new rule to show text on a Yealink phone typing any number.
<?xml version="1.0" encoding="ISO-8859-1"?> <YealinkIPPhoneTextScreen Beep="yes" Timeout="10"> <Title wrap="yes">TextScreen</Title> <Text>xml test</Text> </YealinkIPPhoneTextScreen>
Create a new rule to turn on the message light or to activate the message notification.
Messages-Waiting: yes Message-Account: sip:100@commsmundi.com Voice-Message: 3/0
It's possible to set the header diversion when making outgoing calls.
Add a new rule to set SIP Diversion using the following parameters:
It's possible to set a custom variable Accountcode to group all the calls in one or multiple categories. The history page allows search by Accountcode.
Add a new rule to identify international calls using the following parameters:
Force the Accountcode in an already created rule indentifying calls between registered users.
It's possible to set a custom variable userfield to group all the calls in one or multiple categories. The history page allows search by userfield.
Add a new rule to identify international calls using the following parameters:
Force the userfield in an already created rule
It's possible to set a caller id number and/or to group all the calls in one or multiple categories.
Add a new rule to identify international calls using the following parameters:
Force the Caller id number and/or name in an already created rule indentifying calls between registered users.
The voicemail action allows you to check your voicemail messages or directly send a call to a voicemail box to leave a message. To add, modify or delete voicemail accounts go to the CommsMundi administration page Directory.
Add a new rule to check messages in one account
Add a new rule to redirect a caller to a voicemail box when in period “leasure_time”
The action play and get digits allows to store the dtmf digits introduced by the caller when interacting with a prompt message. The digits are store in a channel variable with the prefix digit that can later be used to trigger special rules or insert the value to a remote database using an odbc connector.
Add a new rule to prompt a message to the caller and store the pressed dtmf
Add a rule to play the age (dtmf) introduced in previous rule
The action DB allows to store values in variables that will be reflected in Telephony/Dialplan/variable DB. This values can be used in other rules to perform specific actions. Atention: the stored data are volatile.
Add a new rule to store information in the variable (activate day mode).
Add a new rule to play (the day mode is active).
Add a new rule to store information in the variable (activate night mode).
Add a new rule to play (the night mode is active).
Add a new rule to check night mode.
Add a new default rule to day mode
The HTTP action JSON response allows you to return values using a PHP file and working with this data.
Example php:
<?php $array = array(); $array[0]['extension'] = "200"; $array[0]['name'] = "name1"; $array['example']['extension'] = "300"; $array['example']['name'] = "name2"; echo json_encode($array); ?>
Add a new rule to query the PHP data.
Add a new rule to manage the consulted data.
The consulted data is stored in variable with this format:
If array is of one dimension the format would be:
You can create a rule to turn on your wake up call and another to disable it.
To execte an IVR you need to configure a rule at dialplan.
You will need to create a rule on the dialplan so the agents will have access to the callcenter.
You can create a rule so an agent can login or logout (only with dynamic users).
You can create a rule so an agent can pause or start to receiving calls.
You can create a rule so Commsmundi will automatically playback, hangup, transfer… every x seconds or once a call. For example, if you want to hangup a call when it duration is 10 seconds when the call is answered:
You can park a call and take it in a different phone.
You can generate input or output events in attendance.