Thursday, December 18, 2014

Traditional SRST Outbound CallerID Manipulation

 Scenario:

T1 PRI provider only allows outbound calls on their trunk from DID's assigned to the circuit. This would not be a noticeable problem when your enterprise endpoints are registered to CUCM and the proper external phone number masks are configured or when using CME SRST configuration where you can assign the external phone number masks to the enterprise phones. However, Traditional SRST does not provide the flexibility to configure this option and therefore digit manipulation needs to take place.

Example: 
You have DID range 212-555- 1100 to 212-555-1110. Your corresponding internal extensions 1100-1110.
In traditional SRST, the phones use the same configuration file they downloaded from CUCM when they register to their SRST reference gateway. Therefore their Calling party number will appear as their 4 digit DN in this case.

When the phone with extension 1100 attempts to make an outbound call via the PRI the provider will send the cause code below since they are expecting and will only allow calls from one of the assigned DID's/

Cause i = 0x82B9 - Bearer capability not presently authorized

The same error will be returned by the provider if an incoming call to 1100 is forwarded to external voicemail since the redirecting number  would be 1100.

Solution:

We need to use voice translation rules to resolve the issue.

voice translation-rule 5
rule 1 /^11\(..\)/ /21255511\1/

Matches number beginning with 11 and followed by any two digits. Prefixes 21255511 

voice translation-profile SRST_Outbound_CallerID
 translate calling 5

Creates a profile which applies translation-rule 5 to calling number

Dial-peer voice 100 pots
destination-pattern [2-9]..[2-9]...
translation-profile outgoing SRST_Outbound_CallerID

Applies translation profile in the outgoing direction to your matching outbound dial-peer


If your using an external number to forward calls to voicemail we need to translate the redirecting number as well.

example: 718-555-2222 calls 212-555-1100 while in Traditional SRST fallback mode. The call gets forwarded to an external number 646-555-5555 which routes the call to your Unity Connection server. Since the phone is configured with extension 1100 that would be the redirecting number sent to the PSTN. The call will be rejected by the carrier.

Solution:

voice translation-rule 6
rule 1 /^11\(..\)/ /21255511\1/
match your internal for digit extension and translate it to the 10 digit DID expected by the carrier

voice translation-profile SRST_Redirect_VM
 translate redirect-called 6
Create translation profile which will apply translation rule 6 to the redirecting number 

dial-peer voice 500 pots
destination-pattern 6465555555 
translation-profile outgoing SRST_Redirect_VM

Apply the profile to the matching outbound dial-peer of the external voice mail number

Note: Cisco documents that the translation profile can be applied under call-manager fallback but it did not work for me and I did not test it further. Also make sure you understand the effects of applying the profiles to the dial-peer since these are used in non SRST mode as well.