No ringy ringy
**Upfront note: This post is not about best practices, it is about a quick technological fix**
A couple of weeks ago I got a call about a problem with a CallManager. My intro was the usual “the CallManager doesn’t work”. I took a quick drive over to the site and found out there were 3 phones. 1 phone could call out but not receive calls, the other 2 phones could not dial out or receive calls. A study of the dial-plan indicated the local phones were using a 7 digit scheme but could not call each other. The Intercluster Trunk (ICT) for external calling was using a 10 digit scheme. We knew an unattended off-site phone we could call to test what I was told, so we started with the first phone. After several rings, I was satisfied (assuming no codec problems) the first phone could call out.
Next, I headed over to the two phones that could not call out or receive calls. I had someone dial the known good number from both phones and received a fast busy. The Marines I was working with wanted to move on, but I know you can learn a lot from when the fast busy starts. I had one of the Marines put the phone on speaker and dial the number digit by digit. First digit and an immediate fast busy. I’ve seen this dozens of times, but wanted confirmation. Opening up the Dialed Number Analyzer (DNA), I selected the phone I was using and typed in the number I was calling. I received the expected “Block This Pattern”. The phone clearly had a problem with its Calling Search Space (CSS). It turned out the two phones did not have a partition or CSS assigned, which was the reason they could not call out and the reason the first phone could not call them. After giving them the correct partition and CSS, all three phones could call each other and they could all call out, but still no return calls worked.
With telephone networks, consistency is very important. The local phones all called each other using 7 digits, but anytime they called out they were using 10. Just like with IP networks, you not only need routes out, but your packets will likely need a route back. In this case, all external CallManagers were trying to call this CallManager using 10 digits. When they calls came in all the local extensions were 7 digits and the CallManager does not accept matching 7 of 10 digits (by default). Given they only had 3 phones at this site, it was easy and quick to just change all the local extensions to 10 digits. Another option (and probably much better if you have a large number of phones) would be to change the number of significant digits on your ICT. By default, the ICT uses all passed digits as being significant. If you change the number of significant digits to 7 calls would work in both directions.