This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
configuration:telephony:dialplan [2020/04/27 15:57] – admin | configuration:telephony:dialplan [2025/06/18 16:25] (current) – [perform actions with the variable (incoming context)] admin | ||
---|---|---|---|
Line 28: | Line 28: | ||
< | < | ||
${destination_number} => the destination number dialed by the user | ${destination_number} => the destination number dialed by the user | ||
- | ${caller_id_number} => the caller id number | + | ${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 () | ${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. | ||
+ | ${list\d+} => The list return variables | ||
+ | ${list_\d+} => The list return variables, increment from other list | ||
+ | ${list_< | ||
</ | </ | ||
Line 130: | Line 164: | ||
* **Name**: call local | * **Name**: call local | ||
* **Priority**: | * **Priority**: | ||
- | * **Conditions**: | + | * **Conditions**: |
- | * **Action**: x - //custom//: // | + | * x - // |
+ | * x - // | ||
+ | * **Action**: x - //custom//: // | ||
* // | * // | ||
* // | * // | ||
* // | * // | ||
+ | |||
+ | ====Bridge custom - single and list condition==== | ||
+ | To call to destination using list condition, use the following parameters: | ||
+ | |||
+ | - __add the list__ | ||
+ | * **Name**: list_calls | ||
+ | * **Mode**: Full match | ||
+ | * click __Add__ | ||
+ | |||
+ | - __add the values in list__ | ||
+ | |||
+ | * **Value**: 100 | ||
+ | * **Parameters**: | ||
+ | * click __Add__ | ||
+ | * .... | ||
+ | |||
+ | - __add rule action__ | ||
+ | * **Name**: call | ||
+ | * **Priority**: | ||
+ | * **Conditions**: | ||
+ | * **Action**: x - //custom//: //Bridge Custom//; //Type//: x - //Single//; // | ||
+ | * click __Add__ | ||
+ | |||
+ | ====Bridge custom - single and send dtmf ==== | ||
+ | To call to a landline (using Spain national numeration) and send dtmf use the following parameters: | ||
+ | |||
+ | * **Name**: call landline | ||
+ | * **Priority**: | ||
+ | * **Conditions**: | ||
+ | * **Action**: x - //custom//: //Bridge Custom//; //Type//: x - //Single//; // | ||
+ | * x - //DTMF//; | ||
+ | * x - // | ||
+ | * //Digits//: ${val2} // | ||
+ | * click __Add__ | ||
+ | |||
=====Callback===== | =====Callback===== | ||
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. | 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. | ||
Line 327: | Line 398: | ||
* **Continue**: | * **Continue**: | ||
* **Conditions**: | * **Conditions**: | ||
- | * **Action**: x - //custom//: //bridge local//; //Type//: x - // | + | * **Action**: x - //custom//: //bridge local//; //Type//: x - // |
+ | * x - //Inline features [Callee]//; x - //Record//: //Key// *2((When the callee press *2 it start or stop the recording)); | ||
* click __Add__ | * click __Add__ | ||
Line 453: | Line 525: | ||
Voice-Message: | Voice-Message: | ||
+ | |||
+ | |||
+ | =====SIP-Diversion===== | ||
+ | It's possible to set the header diversion when making outgoing calls. | ||
+ | |||
+ | ====Setting SIP Diversion ==== | ||
+ | Add a new rule to set SIP Diversion using the following parameters: | ||
+ | * **Name**: Custom SIP Diversion | ||
+ | * **Priority**: | ||
+ | * **Continue**: | ||
+ | * **Conditions**: | ||
+ | * **Action**: x - //custom//: //SIP// | ||
+ | * x - // | ||
+ | * click __Add__ | ||
+ | |||
+ | ====Setting SIP Diversion in external call==== | ||
+ | Add a new rule to set SIP Diversion in external call using the following parameters: | ||
+ | * **Name**: Custom SIP Diversion in external call | ||
+ | * **Priority**: | ||
+ | * **Conditions**: | ||
+ | * **Action**: x - //custom//: //Bridge Custom//; //Type//: x - //Single//; // | ||
+ | * x - //SIP//; x - // | ||
+ | * click __Add__ | ||
+ | |||
+ | ====Setting SIP Diversion if blind transfer==== | ||
+ | Add a new rule to set SIP Diversion if blind transfer using the following parameters: | ||
+ | * **Name**: Custom SIP Diversion if blind transfer | ||
+ | * **Priority**: | ||
+ | * **Continue**: | ||
+ | * **Conditions**: | ||
+ | * x - // | ||
+ | * **Action**: x - //custom//: //SIP// | ||
+ | * x - // | ||
+ | * click __Add__ | ||
+ | |||
+ | ====Setting SIP Diversion if redirect to new extension==== | ||
+ | Add a new rule to set SIP Diversion if redirect to new extension using the following parameters: | ||
+ | * **Name**: Custom SIP Diversion if redirect to new extension | ||
+ | * **Priority**: | ||
+ | * **Continue**: | ||
+ | * **Conditions**: | ||
+ | * x - // | ||
+ | * **Action**: x - //custom//: //SIP// | ||
+ | * x - // | ||
+ | * click __Add__ | ||
+ | |||
+ | ====Setting SIP Diversion if forward==== | ||
+ | Add a new rule to set SIP Diversion if forward using the following parameters: | ||
+ | * **Name**: Custom SIP Diversion if forward | ||
+ | * **Priority**: | ||
+ | * **Continue**: | ||
+ | * **Conditions**: | ||
+ | * x - // | ||
+ | * **Action**: x - //custom//: //SIP// | ||
+ | * x - // | ||
+ | * click __Add__ | ||
+ | |||
+ | |||
=====Accountcode===== | =====Accountcode===== | ||
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. | 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. | ||
Line 494: | Line 624: | ||
* click __Add__ | * click __Add__ | ||
+ | |||
+ | |||
+ | |||
+ | =====Caller id===== | ||
+ | It's possible to set a caller id number and/or to group all the calls in one or multiple categories. | ||
+ | |||
+ | ====Caller | ||
+ | Add a new rule to identify international calls using the following parameters: | ||
+ | * **Name**: force Caller id number for international calls | ||
+ | * **Priority**: | ||
+ | * **Continue**: | ||
+ | * **Conditions**: | ||
+ | * **Action**: x - //custom//: //Caller id //; x - //Number//: 00${caller_id_number} | ||
+ | * click __Add__ | ||
+ | |||
+ | ====Caller id inline rule==== | ||
+ | Force the Caller id number and/or name in an already created rule indentifying calls between registered users. | ||
+ | * **Name**: dial extension | ||
+ | * **Priority**: | ||
+ | * **Conditions**: | ||
+ | * **Action**: x - //custom//: //bridge local//; //Type//: x - // | ||
+ | * click __Add__ | ||
===== Voicemail ===== | ===== Voicemail ===== | ||
Line 596: | Line 748: | ||
* **Continue**: | * **Continue**: | ||
* **Conditions**: | * **Conditions**: | ||
- | * // | ||
* //Advanced DB variable//: //name//: mode | * //Advanced DB variable//: //name//: mode | ||
* //Advanced DB variable//: // | * //Advanced DB variable//: // |