Routing Plans
Routing Plan defines set of Dialpeers that will be used for call routing.
Each Routing Plan can include multiple Dialpeers that are used for describing routing and termination price.
Routing Groups
Routing Plan not includes Dialpeers directly, instead intermedite object Routing Group used - it allows to reuse same Dialpeer in multiple Routing Plan
Configuration example:
In this example we are oranizing Rotuing Groups by vendor - Each Routing Group represent routes provided by one vendor(Termination provider). Routing plan routing_plan1 includes Dialpeers(routes) from VendorA and VendorB, routing_plan2 includes Dialpeers(routes) from VendorB and VendorC. As result VendorB routes reused in multiple Rotuing Plans.
Routing Plan attributes
- Id
Unique Routing Plan's id.
- Name
Unique Routing Plan name.
- Sorting
This field is used for setting sorting method for the routes (Dialpeers) within Routing Plan. Regardless from the sorting method all
Dialpeers <dialpeerswithin Routing Plan will be filtered by using following rules:Prefix <dialpeer_prefixofDialpeer <dialpeersrecord is in the prefix range of URI name (destination) that was processed by Number translations procedures (if any);
INFO
Examples:
- Prefix of
Dialpeer <dialpeersrecord = ** ; URI name = 0662296132 =*TRUE* - Prefix of
Dialpeer <dialpeersrecord = 066 ; URI name = 0662296132 =*TRUE* - Prefix of
Dialpeer <dialpeersrecord = 066[1-3] ; URI name = 0662296132 =*TRUE* - Prefix of
Dialpeer <dialpeersrecord = 066[1-3] ; URI name = 0665296132 =*FALSE*
- Length of URI name (destination) that was processed by Number translations procedures (if any) is between
Dst number min and max length <dialpeer_dst_number_min_lengthvalues ofDialpeer <dialpeersrecord;
INFO
Examples:
- Dst number min length of
Dialpeer <dialpeersrecord = 3 ; Dst number max length ofDialpeer <dialpeersrecord = 15 ; URI name = 380662296132 =*TRUE* - Dst number min length of
Dialpeer <dialpeersrecord = 7 ; Dst number max length ofDialpeer <dialpeersrecord = 7 ; URI name = 7050460 =*TRUE* - Dst number min length of
Dialpeer <dialpeersrecord = 0 ; Dst number max length ofDialpeer <dialpeersrecord = 7 ; URI name = 0487050460 =*FALSE*
Dialpeer <dialpeersrecord is stillvalid <dialpeer_valid_dates;Balance <account_balanceofVendor's Account <dialpeer_vendor(that was chosen for theDialpeer <dialpeers) is less thanMax balance <account_max_balancevalue of this Account;Contractor <contractorsthatwas chosen <dialpeer_vendorfor theDialpeer <dialpeersis enabled and has type: Vendor;
Routing tags <routing_tagthat were chosen for the call at the previous steps (Authentication, Numberlist processing etc.) andRouting tags <routing_tagthat were chosen in the fieldRouting tag ids <dialpeer_routing_tag_ids{.interpreted-text role="ref"} ofDialpeer <dialpeersare matched to each other. Principles of theRouting tags <routing_tagmatching are described in thisExample (Truth table for tags) <tags_truth_table.The following algorithms (sorting methods) are available:
- LCR, No ACD&ASR control
- Sorting only on the basis of least-cost routing (LCR) algorithm (routes with lowest price will be on the top of rating) without control of
Acd Limit <dialpeer_acd_limitandAsr Limit <dialpeer_asr_limitparameters ofDialpeer <dialpeers. - Prio,LCR, ACD&ASR control
- Sorting on the basis of internal
Priority <dialpeer_priorityofDialpeers <dialpeerswith following sorting on the basis of least-cost routing (LCR) algorithm (routes with highest priorities will be on the top of rating, in case of same priorities LCR sorting will be used) with control ofAcd Limit <dialpeer_acd_limitandAsr Limit <dialpeer_asr_limitparameters ofDialpeer <dialpeers(routes where values of these parameters are less than presetuped limits couldn't be chosen for routing). - LCR,Prio, ACD&ASR control
- Sorting on the basis of least-cost routing (LCR) algorithm with following sorting on the basis of internal
Priority <dialpeer_priorityofDialpeers <dialpeers(routes with lowest price will be on the top of rating, in case of same prices sorting on priorities will be used) with control ofAcd Limit <dialpeer_acd_limitandAsr Limit <dialpeer_asr_limitparameters ofDialpeer <dialpeers(routes where values of these parameters are less than presetuped limits couldn't be chosen for routing). - LCRD, Prio, ACD&ASR control
- Sorting on the basis of modified least-cost routing (LCR) algorithm with following sorting on the basis of internal
Priority <dialpeer_priorityofDialpeers <dialpeers(routes with lowest price will be on the top of rating, in case of same prices sorting on priorities will be used) with control ofAcd Limit <dialpeer_acd_limitandAsr Limit <dialpeer_asr_limitparameters ofDialpeer <dialpeers(routes where values of these parameters are less than presetuped limits couldn't be chosen for routing). Difference of this algorithm from the classic LCR algorithm is on the usingRate Delta Max <rate_delta_maxvalue during the sorting ofDialpeers <dialpeersby price.Dialpeers <dialpeerswith prices that are different one from other less thanRate Delta Max <rate_delta_maxvalue will be on one level of sorting by price andPriority <dialpeer_prioritywill be used for building routing rating between them. - Route testing
- This mode of sorting usually used for testing routes from different Vendors. In this mode you can use especial format of destination number: XX*YYYYYYYYYY, where XX -
Vendor ID <contractor_idand YYYYYYYYYY - phone number. In this mode most preferredDialpeer <dialpeersofVendor <contractorswith XX ID will be used for the routing. - QD-Static, LCR, ACD&ASR control
- Sorting on the basis of modified internal
Priority <dialpeer_priorityofDialpeers <dialpeerswith following sorting on the basis of least-cost routing (LCR) algorithm (routes with highest priorities will be on the top of rating, in case of same priorities LCR sorting will be used) with control ofAcd Limit <dialpeer_acd_limitandAsr Limit <dialpeer_asr_limitparameters ofDialpeer <dialpeers(routes where values of these parameters are less than presetuped limits couldn't be chosen for routing). In this method of sortingPriority <dialpeer_priorityofDialpeers <dialpeerswill be re-written byPriority <routing_plan_static_route_priorityof theRouting plan static route <routing_plan_static_route(if this static route is present in this Routing plan). - Static only, No ACD&ASR control
- Sorting only on the basis of
Priority <routing_plan_static_route_priorityof theRouting plan static route <routing_plan_static_route(if this static route is present in this Routing plan) without control ofAcd Limit <dialpeer_acd_limitandAsr Limit <dialpeer_asr_limitparameters ofDialpeer <dialpeers. Routes with highest priorities will be on the top of rating. Routing will be done only in case of presence ofRouting plan static route <routing_plan_static_routerecord andDialpeer <dialpeersrecord that are related to this Routing plan.
- Use Lnp
- If this flag is enabled system will process Routing Plan LPN Rules to determine if LNP lookup required and perform actions configured in these rules.
- Rate Delta Max
- This value is used for LCRD, Prio, ACD&ASR control method of sorting. You should setup this value in case of using this method of sorting.
Dialpeers <dialpeerswith prices that are different one from other less thanRate Delta Max <rate_delta_maxvalue will be on one level of sorting by price andPriority <dialpeer_prioritywill be used for building routing rating between them. - Routing Groups
Routing Groups <routing_groupthat are related to this Routing Plan. The rules that are described in this Routing plan will be applied to allDialpeers <dialpeersthat are associated with chosenRouting Groups <routing_group.