SIP configuration on cisco 7975

Hey guys, I have been trying to setup some cisco 7975g’s for use in my phone network, I am pretty sure I have the freepbx server setup correctly and have the extensions created, when I try to get the phone ready I have a couple of errors that happen, on SIP 8.5.4 I get a Unprovisioned error with tftp and no ctl found errors.
On SIP 9.4.2 (SP3) I get tftp and no trust list errors on the phone.

Here is the config pastebin com/Au05i1vV

I don’t see any VoIP-related issue in the config file, but did notice the nonexistent domain time.microsoft.com – try replacing it with time.windows.com and retest. If the phone displays the correct time, that at least tells you that the config file was properly read and DNS lookups are working.

I believe that the trust list error is not fatal. Does the TFTP server log show that the config file was fully read? Does the number 12701 appear on the phone? What, if anything, appears in the Asterisk log when the device attempts to register? Is the PBX otherwise working (with other endpoints)?

I assume that you set up a pjsip exension. If you are using chan_sip (not recommended), you must either change bind port from the default 5160 to 5060, or change the phone config to register to port 5160. In pjsip, there are two defaults that must be changed for the Cisco; both Force rport and Rewrite Contact must be set to No.

Ok I will fix the time server link, I forgot it was windows and not microsoft. As far as I’ve seen the tftp server completes fully, I’m using tftpd64 for sending the config file to the phone and I haven’t seen anything in the pbx logs. (I’m not really sure how to get to them or what to look for) I did also enable the alternate tftp server option and set it to the ip of the pbx server. The extension doesn’t show on the phone, nothing does other than the unprovisioned and time in the corner. The extensions on the server are setup as pjsip on 5060

I’m not familiar with tftpd64 and don’t know whether requests for nonexistent or protected files get logged. Run Wireshark to see what files the phone is trying to pull and what is being delivered.

Is there a way to setup a tftp server within freepbx? I wonder if that may help as well as I have to put the phone on a different ip range with no network connectivity in order to flash the firmware

If you’re using the FreePBX Distro, System Admin pro will allows you to setup tftp with a simple button click. Without System Admin Pro, you can configure xinetd manually with the Distro.

Isn’t the tftp server active by default (freePBX distro)? My Cisco 8961 & 7975 have been using it for more than a decade.

1 Like

It’s disabled by default for fresh install of 16, possibly 15 as well. These days tftp really should only be used when there is no other alternative.

1 Like

You can provision that model over HTTP. See HTTP Provisioning . I am using this method for a Cisco 7965G.

I will have to look into it

I am using the distro, I don’t think I have the sysadmin pro since its the free version

Update on this, I updated the domain and the time zone and its still not pulling it. When I look on the website off the phone it shows that the time zone is blank

What TFTP requests does the phone make when it boots? Which ones are granted by tftpd64? If tftpd64 doesn’t log everything, run Wireshark on the Windows machine to view the TFTP traffic. If you see none, look at the DHCP traffic to see whether the phone is being handed the correct TFTP server address.

If you still have trouble, rig a way to capture traffic at the phone to see what it is trying to do.

I know its getting the tftp traffic because the way I update it is by using a tftp server, I was also able to catch the log, Rcvd DHCP Discover Msg for IP 0.0.0.0, Mac 40:F4:EC:EE:EC:42 [05/07 15:42:27.148 - Pastebin.com

The TFTP log shows only firmware files being read; no XML files were fetched at all. Please paste a log showing the config files (or at least the attempts).

The phone was assigned 192.168.1.2 but the PBX is (per your config file) at 192.168.12.137 . Are you sure that these addresses are reachable from each other, with no firewall or NAT in the path? For example, from a shell prompt on the PBX, can you ping 192.168.1.2 ?

So how its setup is the tftp server creates a dhcp client for the configuring then when I connect it back to the network I change the tftp server ip to the 12.137 and the phone grabs an ip from the .12.### range, i will see if I can find that log. Also there is only one config file in the folder, its the SEP file

Another update, these are the errors I am getting on the phone

||12:55:56p No IPv6 TFTP Server
||12:56:31p No Trust List Installed
||12:57:05p TFTP Error : ram/SEP40F4ECEEEC42.cnf.xml
||12:57:05p TFTP Error : SEP40F4ECEEEC42.cnf.xml

Confirm that the TFTP server on 192.168.12.137 is working, by running tftp from the command line.
If you don’t have another computer on the .12.xxx subnet, you can try from the PBX itself:

[root@yourpbx ~]# tftp 192.168.12.137
tftp> get SEP40F4ECEEEC42.cnf.xml
tftp> quit

If tftp is not installed, get it with

[root@yourpbx ~]# yum -y install tftp

If the command line tftp works as expected, see whether anything appears in /var/log/messages when the phone attempts to pull the file. If not, confirm that FreePBX firewall is not blocking the traffic. If you’re not sure, try turning it off as a test.

If still nothing logged when it boots, capture traffic from the phone to see whether it is attempting to fetch from the PBX.

Did you enter the IP address of the tftp server in Network>IP4>alternative TFTP server on the phone and reboot?
Ist the name of the xml file correct?
Did you add the IP of the phone to the whitelist (firewall)?

I did do the Alternate tftp server and reboot, the name is correct and I haven’t added it to the firewall, I will try that now. I added it in the firewall in the network tab as a local traffic connection