Core Issue
The Cisco CallManager prefix must have an access code (9 for the United States, 0 for Australia) for the Calling Line ID (CLID) on inbound calls.
This way, numbers in the missed or received call logs on each phone have a 9 or 0 prefix for each call. When the user selects Dial, the initial 9 is used to select an outside line, and the remaining digits dial the external party.
This is simple to do in H.323 with a voice translation pattern, which can differentiate based on ISDN call type (to add the national prefix or an access code, plus national prefix) but non-trivial for a Cisco CallManager-controlled Media Gateway Control Protocol (MGCP) gateway.
To configure this functionality for non-MGCP Cisco IOS gateways, perform these steps:
Note: The prefix is 00 for the calling number, so the user does not need to edit the missed call.
- In global configuration command mode, issue the translation-rule 1 Rule 1 . 00 command.
- Under the dial-peer VoIP, issue the translate-outgoing calling 1 command.
Resolution
This functionality for all Cisco CallManager-controlled skinny and MGCP gateways, including DE-30+ and Catalyst blades, can be configured as shown:
Note: This assumes that extensions do reside in the <None> partition, that the calling party number is nine digits for inbound calls, 0 is the external access code, and 0 is prepended to the area code:
Partition:
InboundTranslations
Calling search spaces (CSS):
InboundTranslations contains partition InboundTranslations
Translation Patterns:
InboundTranslations/1.XXXX
Partition = InboundTranslations
CSS = Stations (the name of the Calling Seach Space
that contains the phones' partition)
Calling Party Transform Mask = 00XXXXXXXXX
Discard Digits = PreDot
Gateways
Gateway A with CSS = InboundTranslations and "Prefix DN" of 1
This configuration does not change the calling party number that is presented to the station for inbound calls (but not station-to-station calls), and it causes the missed calls dial to work without EditDial.
It does this by adding a 1 to the destination pattern of the inbound call so that it is not immediately recognized as a phone extension Distinguished Name (DN) prior to hitting the translation pattern within the Calling Search Space (CSS) of the gateway. It adds the 00 to the calling number with the calling party. Transform Mask then strips the extra 1 from the destination pattern and rings the phone. The extra 1 is only required if you have DNs residing in the <None> partition, which is able to be reached by any CSS and would be a closer match than an XXXX pattern.
If none of the DNs reside in the <None> partition, the translation pattern can be changed to XXXX and the gateway can pass on the DN unchanged to the inbound translations CSS without fear of it matching a real phone. The translation pattern would then not need to modify the called number at all. Only the calling party has a CSS that includes the phones.