Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
configuration:telephony:dialplan [2020/04/27 15:57] adminconfiguration:telephony:dialplan [2025/06/18 16:25] (current) – [perform actions with the variable (incoming context)] admin
Line 28: Line 28:
 <code> <code>
 ${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_<list_name>_\d+} => The list return variables from list name
 </code> </code>
  
Line 130: Line 164:
   * **Name**: call local   * **Name**: call local
   * **Priority**: //after retrieve_blind_transfer_between_extensions//   * **Priority**: //after retrieve_blind_transfer_between_extensions//
-  * **Conditions**: x - //custom//; x - //list//: <list_domain> ; x - //Channel Name//: //Name//: isblindtransfer , //Expression//: ^true$ +  * **Conditions**: 
-  * **Action**: x - //custom//: //Bridge Local//;+    * x - //custom//; x - //Destination number//: x - //list//: <list_domain> 
 +    * x - //Advanced//; x - //Channel variable//: //Name//: isblindtransfer , //Expression//: ^true$ 
 +  * **Action**: x - //custom//: //Bridge Custom//;
     * //Destination//: //Domain//: <domain>; //Number//: ${destination_number};     * //Destination//: //Domain//: <domain>; //Number//: ${destination_number};
     * //Continue//; //Condition//: x - //On timeout//; x -//On failure//      * //Continue//; //Condition//: x - //On timeout//; x -//On failure// 
     * //Transfer//; //Destination//: ${blind_transfer_channel_name} % <context>     * //Transfer//; //Destination//: ${blind_transfer_channel_name} % <context>
 +
 +====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**: 612345678
 +  * click __Add__
 +  * ....
 +
 + - __add rule action__
 +  * **Name**: call
 +  * **Priority**: //last//
 +  * **Conditions**: x - //custom//; x - //Destination number//: x-//list//: <list_name>$
 +  * **Action**: x - //custom//: //Bridge Custom//; //Type//: x - //Single//; //Destination//: //Remote//; //Line//: <select a line>; //Number//: ${list1}; //Timeout//: 60
 +  * 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**: //last//
 +  * **Conditions**: x - //custom//; x - //Destination number//: x-//Expression//: ^([89][1-8]\d{7})(\d+)$
 +  * **Action**: x - //custom//: //Bridge Custom//; //Type//: x - //Single//; //Destination//: //Remote//; //Line//: <select a line>; //Number//: ${val1}; //Timeout//: 60
 +    * x - //DTMF//;
 +    * x - //Destination//;
 +    * //Digits//: ${val2} //Duration//: <Duration>; //Delay//: <Delay>;
 +  * 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**: x - //Continue after extension//   * **Continue**: x - //Continue after extension//
   * **Conditions**: x - //any//   * **Conditions**: x - //any//
-  * **Action**: x - //custom//: //bridge local//; //Type//: x - //account//; //Destination//: ${destination_number} % commsmundi.comx //Inline features [Callee]//; x - //Record//: //Key// *2((When the callee press *2 it start or stop the recording)); //Recording mailbox//: recordbox % commsmundi.com+  * **Action**: x - //custom//: //bridge local//; //Type//: x - //account//; //Destination//: ${destination_number} % commsmundi.com 
 +    * //Inline features [Callee]//; x - //Record//: //Key// *2((When the callee press *2 it start or stop the recording)); //Recording mailbox//: recordbox % commsmundi.com
   * click __Add__   * click __Add__
  
Line 453: Line 525:
  Voice-Message: 3/0  Voice-Message: 3/0
   
 +
 +
 +=====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**: //first//
 +  * **Continue**: x - //Continue after extension//
 +  * **Conditions**: x - //any//
 +  * **Action**: x - //custom//: //SIP//
 +    * x - //Diversion//; //Address: sip//:${destination_number}@192.168.10.25; //Reason//:<unconditional>
 +  * 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**: //first//
 +  * **Conditions**: x - //custom//; x - //Destination number//: x-//Expression//: ^912345678$
 +  * **Action**: x - //custom//: //Bridge Custom//; //Type//: x - //Single//; //Destination//: //Remote//; //Line//: <select a line>; //Number//: 612345678; //Timeout//: 60
 +    * x - //SIP//; x - //Diversion//; //Address//: sip:912345678@192.168.10.25; //Reason//:<unconditional>
 +  * 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**: //first//
 +  * **Continue**: x - //Continue after extension//
 +  * **Conditions**:
 +    * x - //Advanced//; x - //Channel variable//: //Name//: isblindtransfer , //Expression//: ^true$
 +  * **Action**: x - //custom//: //SIP//
 +    * x - //Diversion//; //Address//: sip:912345678@192.168.10.25; //Reason//:<unconditional>
 +  * 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**: //first//
 +  * **Continue**: x - //Continue after extension//
 +  * **Conditions**:
 +    * x - //Advanced//; x - //Channel variable//: //Name//: isredirection_to_new_destination , //Expression//: ^true$
 +  * **Action**: x - //custom//: //SIP//
 +    * x - //Diversion//; //Address//: sip:912345678@192.168.10.25; //Reason//:<unconditional>
 +  * 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**: //first//
 +  * **Continue**: x - //Continue after extension//
 +  * **Conditions**:
 +    * x - //Advanced//; x - //Channel variable//: //Name//: isforward , //Expression//: ^true$
 +  * **Action**: x - //custom//: //SIP//
 +    * x - //Diversion//; //Address//: sip:912345678@192.168.10.25; //Reason//:<unconditional>
 +  * 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  id rule====
 +Add a new rule to identify international calls using the following parameters:
 +  * **Name**: force Caller id number for international calls
 +  * **Priority**: //first//
 +  * **Continue**: x - //Continue after extension//
 +  * **Conditions**: x - //Custom//; x - //Destination number//; x-//Expression//: ^00\d+$
 +  * **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**: //first//
 +  * **Conditions**: x - //any//
 +  * **Action**: x - //custom//: //bridge local//; //Type//: x - //account//; //Destination//: ${destination_number} % commsmundi.com; x - //Caller id//: x - //name//: NAME
 +  * click __Add__
  
 ===== Voicemail ===== ===== Voicemail =====
Line 596: Line 748:
   * **Continue**: x - //Continue after extension//   * **Continue**: x - //Continue after extension//
   * **Conditions**: x - //Custom//   * **Conditions**: x - //Custom//
-    * //Destination-number:// X - //Expression//: //^1235$// 
     * //Advanced DB variable//: //name//: mode     * //Advanced DB variable//: //name//: mode
     * //Advanced DB variable//: //expression//: ^night$     * //Advanced DB variable//: //expression//: ^night$
/home/www/wiki/data/attic/configuration/telephony/dialplan.1587995828.txt.gz · Last modified: 2020/04/27 15:57 by admin
 
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki