Running the DM/PM rules is CPU- and memory-intensive because each rule is issued for every sub-rule linearly. If you do not use DM/PM rules sparingly, it becomes difficult to manage the number of DM/PM rules or sub-rules applied to a call. Ribbon recommends issuing no more than 80-100 sub-rules per call.
The Digit Parameter Handling feature allows you to configure criteria for applying DM/PM (digit manipulation/parameter manipulation) rules. You can also use this entity to define criteria for applying URI manipulation rules.
For digit manipulation, the matching criteria can be digits in the calling or called numbers, out pulse numbers from SCP queries, generic numbers, and so on. For example, you can provision the Policy Server to check if the first three digits of the calling number are 617, or to check if digits 4 through 6 are 723.
For parameter manipulation, the matching criteria is based on the specified parameter type. For example, you can provision the Policy Server to match a specified Calling Party Category (CPC), or match a specified Originating Line Information Parameter (OLIP) value.
There is also a URI parameter type used to match the contents of the specified URI type.
% set profiles digitParameterHandling dmPmCriteria <dmPmCriteria_id> dmPmRule <dmPmRule_id> numberTranslationCriteria <numberTranslationCriteria> numberingPlan <numberingPlan> prefixProfile <prefixProfile>
Digit manipulation rules are used for manipulating but not suggested for 1-1 number translations if there is large list of numbers for 1-1 translations.
The following examples show the DM rule on the SBC to replace Called Number value 288962222 to 288961111. The DM rule can be applied to Ingress TG/Prefix Profile/Egress TG level in ERE (depending upon where it is needed). The example below assumes that the SBC is configured to process the ingress number to determine the country code correctly, and then the configuration is in place to add it back to globalize the number on the egress leg.
set profiles digitParameterHandling dmPmCriteria CLD_288962222 criteriaType digit digitType calledNumber parameterPresenceCheck exists digitCriteria digitMatch operation equals value matchValue 288962222 numberOfDigits 9 startDigitPosition 0 set profiles digitParameterHandling dmPmRule REP_CLD_288962222 subRule 0 criteria CLD_288962222 ruleType digit digitManipulation numberType calledNumber digitStringManipulation replacement type variable startDigitPosition 0 numberOfDigits 30 value 288961111