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 does not include Dialpeers directly, instead an intermediate object Routing Group is used — it allows to reuse the same Dialpeer in multiple Routing Plans.
Configuration example:
In this example we are organizing Routing 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. - Max Rerouting Attempts
- Maximum number of dialpeers that can be tried for a single call processed by this Routing Plan. When a termination attempt fails, Yeti moves to the next dialpeer in the sorted route set. Once this limit is reached, the call is rejected. Note that each dialpeer may point to a Gateway Group with multiple gateways — failover within a gateway group is controlled by the gateway group's own limit and does not count against this value.
- Validate Dst Number Format
- When enabled, Yeti validates that the destination number (after rewriting) contains only digit characters. Calls with an invalid destination number format are rejected before routing begins.
- Validate Dst Number Network
- When enabled, Yeti checks that the destination number (after rewriting) is resolvable to a known network in Network Prefixes. Calls where the destination number does not match any network prefix are rejected before routing begins.
- Validate Src Number Format
- When enabled, Yeti validates that the source number (after rewriting) contains only digit characters. Calls with a non-digit source number are rejected with Disconnect code 8011. Source numbers equal to
anonymous(case-insensitive) are exempt from this check. - Validate Src Number Network
- When enabled, Yeti checks that the source number (after rewriting) is resolvable to a known network in Network Prefixes. Calls where the source number does not match any network prefix are rejected before routing begins.
- Src Numberlist
- Optional Numberlist applied to the source number (A-number) after Customer Auth processing. Typical use: global blocking of specific source numbers across all customers using this Routing Plan.
- Dst Numberlist
- Optional Numberlist applied to the destination number (B-number) after Customer Auth processing. Typical use: global blocking of calls to specific destinations across all customers using this Routing Plan.
- 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.