Where would I even find that on the PBX? Do you mean the outbound route, or is this something completely different from that?
I know very little about Cisco phones so this is just general information:
IP phones require a considerable amount of configuration data, for example their extension number, password, IP address of the PBX and so on. This includes a “dial plan”, which defines what strings of digits are accepted and when a number is complete and sent to the PBX.
In some devices, configuration can be done with a built-in server, but with complex phones such as Cisco this is limited or nonexistent. You could try to connect to a phone from a browser and see whether what you are trying to change is there. Even if it is, changes may not ‘stick’ because the data is being overridden by the PBX.
Normally, the phone ‘pulls’ configuration files from a server, usually the same machine as the PBX, each time the phone boots and when the server requests it. These files can be created manually (with a text editor) or with an Endpoint Manager. If your Elastix has an endpoint manager module installed, you can see whether it is provisioning your phones. If so, you should be able to view and change the dial plan there.
If not, you can see whether your phones are getting config files from the PBX. If using TFTP, you’ll see entries in /var/log/messages when a phone reboots. If not, tcpdump should show some other traffic (FTP, HTTP, HTTPS) when a phone reboots. Once you see what files are being read, you can look at them and see what needs to be changed.
It’s possible that these phones were provisioned a long time ago and the means used is now defunct. If a phone is unable to pull config info, most will come up with whatever config they last had.
Let us know what you find and we’ll take it from there.
Unplugged my unit and restarted the unit, 3178.
It appears to just come back online without pulling anything. This phone works, so I’m hesitant to factory reset it, as any phone that is factory reset fails to restart.
So I think you should look to determine if the phone is pulling off any configuration from the server (of course, the configuration server could be a different box - maybe check your dhcp server to verify that it is not pushing out some different server)
On the pbx, do a command like:
sudo ngrep host IP-ADDRESS-OF-CISCO-PHONE
(could use tcpdump:
sudo tcpdump -i eth0 -s 0 -w cisco-date +%m%d-%H%M
.pcap host IP-ADDRESS but then would have to view pcap file in wireshark after testing)
and see what traffic comes through after the cisco phone is rebooted. Hopefully something other than the SIP traffic shows up such as tftp or ftp to transfer the configuration files from the server. (I don’t know what protocols the cisco phones support for provisioning - at least tftp I believe). Could check what is actually configured on the system (ftp, tftp, might use http/https as well)
Alternatively, look through /var/log and see if can tell how provisioning is done from any recent log files - though that assumes the provisioning servers are set to be logging.
Or maybe just try doing:
sudo locate dialplan.xml # if locate is installed on the system and set to update the db daily OR
sudo find / -name dialplan.xml #but will be slow as searches entire system
This tells you that the provisioning mechanism is somehow broken. It could be something trivial like the DHCP server not providing the required option. Or, the guy who wrote the files could have erased them when he got fired.
To track this down, capture traffic at the phone when you reboot it. See what it’s trying to pull and why it’s not getting it.
In the meantime, if only a few international numbers are to be called, you could set up your outbound routes so numbers that the Ciscos can dial are mapped to the proper destination. Another option is to set up a DISA – users dial a code, get dialtone from the PBX and then key the international destination number. If only one or a few users need to call overseas, perhaps you have the budget to replace just those phones.
How would I go about capturing the traffic at the phone? Do you use Wireshark for that or do I have to be plugged into the phone itself when it boots. Forgive my ignorance on this, my experience with this phone system is minimal.
Only ways are to capture on the server side of the traffic, or - on the switch - put the switch port for the phone into a mirror mode so can capture the traffic on a different computer. (Assumes using an switch that is good enough to support this mode).
I don’t think that’s an option, the switches haven’t been supported by Cisco since 2013… This whole building’s IT back end needs a full work up…
On the phone keypad, is there a way to get into settings? Might have a screen that shows you what server it uses for provisioning (if any). I don’t know if these old phones also have an internal web server to configure that way (like polycom phones do). Maybe on the pbx do: sudo nmap IP-OF-CISCO-PHONE
and see what ports are open on the phone, if 80 or 443, has a web interface.
googling around makes me think that this model does not have an admin web interface at least.
At this juncture, I believe this may just be an either an outbound rule issue, or a trunk issue, as this was the source of my problem about a year ago. If you need me to post a screen shot of those settings, I will accommodate.
You might also have an outbound route or trunk issue, but if the phone doesn’t send the complete number there is no way for the PBX to connect it.
In any case, just configure a new extension with a softphone or mobile SIP app and try international calls from that.
Shouldn’t be a problem, as long as the guy or gal who last configured them left you the password.
You could also buy a cheap switch with mirroring; see
I attempted to add a new Extension, no dice. Before, these phones could dial out internationally, I’m not sure if that could have changed
Please paste a log of the attempt from the new extension, along with details of what hardware or software you used.
When I updated the extension in putty to the one I made, it flat out gets stuck at ‘registering’ and stays there indefinitely, I couldn’t dial out, even if I tried.
What do you mean? If you update an extension by editing /etc/asterkisk/extensions_additional.conf, that will get overwritten whenever you Apply Config.
I was suggesting creating a new extension and using a softphone to register and make calls. This bypasses the number formatting issue and allows you to confirm that your outbound routes and trunks are correctly set.
We don’t have any softphone software here, unfortunately, none that can dial out anyway, only internally. Again, this phone I’m using, and the other phone were able to dial out internationally once upon a time, about a year ago, not sure what has changed. Normal outbound dialing works fine, it’s only when we dial out internationally does it fail.
Install a free softphone like MicroSIP, X-lite, Zoiper etc
I’m not sure what I’m doing wrong here. I’ve tried to set up 2 of the soft phones you recommended, and I keep getting errors for passwords not matching. I’ve used the password for the PBX login and the data from the phone extension I’m using currently.
Sorry for the delay, I was off yesterday and I’m not permitted to work remotely most of the time.
The username is the extension number, remove the ‘SIP/’, the password is the extension password, not the GUI or root user.
Also, if you don’t have the FQDN pointed to your PBX, put the IP address instead.