I was hoping to consolidate as much dial-plan and digit manipulation as possible in CUSP but am having issues finding decent documentation (and examples) on how to effectively utilize pre-normalization policies. The Telco is delivering 4 digits DNIS/DIDs that need to be expanded to 10 digits and then based on the assigned prefix routed to CVP/ICM, non-agent phones on a call center CUCM cluster, or another cluster altogether.
Because of this I am expanding them on the ingress gateway via voice translation rules. The call center related DNIS numbers are scttered throughout the larger range so there are quite a few exact match dial-peers configured in order to get the correct routing. This effectively means that the routing decision is made at the gateway ( by assigning the prefix there) as opposed to centralizing it at the CUSP.
One of the items I could really use is better information on what regular expressions CUSP accepts. CUSP seems to see the . (period) as a literal rather than a wildcard and does not seem to like what we commonly use in IOS. Should the regular expression be enclosed in "" as in grep or egrep?
It would also be helpful to get better details on the "rules of engagement" on how the normalization policies actually work. If I configure the module as shown below p6980 will work but p6990 will not. If I change the trigger sequence number for p6990 to 5 then it does fire, but p6980 is then broken.
policy normalization p6980
uri-component update TO all user ^698 899222698
uri-component update request-uri user ^698 899222698
policy normalization p6990
uri-component update TO all user ^699 899222699
uri-component update request-uri user ^699 899555699
policy lookup cvp-policy
sequence 1 cvp-routes request-uri uri-component user