Been working with our Cisco CME (Cisco Unified Communications Manager – Express – as a reminder to myself!) at work past 2-3 days. I have no idea about Cisco telephony, but wanted to tackle an issue anyways. Good way to learn a new system.
The issue was that whenever anyone make an outgoing external call from our system the caller ID number shown at the remote end is that of our main number. That is to say, if our main number extension is 900, this main number externally appears as 1234900, and my extension is 929, when I make an outgoing external call to (say) my mobile the number appears as 1234900 instead of 1234929.
A useful command to debug such situations is the following command:
debug isdn q931
This shows what is set to the ISP when I place an outgoing external call.
Another useful command is:
debug voice dialpeer
This shows the internal processing that happens on CME/ CUCM. Things like what translations happen, what dial peers are selected, etc. It’s a lot of output compared to the first command.
To see what debugging is enabled on your system the following command is useful:
To turn off all debugging (coz it takes a toll on your router and so you must disable it once you are done):
no debug all
Lastly, to see the debugging output if you are SSH’d into the router rather than on the console, do the following:
In my case I found out that even though CME was correctly sending the calling extension/ number as 9xx to the ISP, it looked like the ISP was ignoring it. I thought that maybe it expects the number in a proper format (as an external number) so I made a translation rule for outgoing calling numbers to change 9xx to the correct format (12349xx) and pass to ISP – and that fixed the issue.
Here’s the rule and translation profile I created. I played around a bit with the output and saw that I need to pass a “0” before the full number for the ISP to recognize it correctly.
voice translation-rule 3
rule 1 /^9\(..\)/ /012349\1/ type any national plan any isdn
voice translation-profile makeISDN
translate calling 3
I set the plan and type too though it didn’t make any difference in my case. I saw some posts on the Internet where it does seem to make a difference, so I didn’t remove it.
Lastly I apply this profile to the voice port:
translation-profile outgoing makeISDN