[solved] EndPoint Manager not finding Cisco phone

FreePBX Distro
FreePBX 13.0.54
EndPoint Manager 13.0.20 (commercial license)
Phone: Cisco 7940 (phone works on another older freePBX)

Two network interfaces - one for our lan; one dedicated for the phones

I can ping the phone:

ping -c 3
PING ( 56(84) bytes of data.
64 bytes from icmp_seq=1 ttl=64 time=0.888 ms

nmap from the freepbx finds the phone:

Nmap scan report for
Host is up (0.0030s latency).
All 1000 scanned ports on are filtered
MAC Address: 00:1F:9E:24:4F:8D (Cisco Systems)

I configured a template for the phone. Brand “cisco”, available phones CP7940.

Under “Network Scan”, “Scan this Subnet” set to and click “Scan This Subnet”:

No Devices Found

I suspect something with the template but not sure how to debug. Thanks for any help. – Bud

Tried to add the phone manually under extension mapping and that isn’t working either. A file for the phone (spa001f9e244f8d.xml) was created in /tftpboot. I did a packet capture on the phone network side and I can see the phone register with the dhcp server running on the freepbx (dbsmasq) and then request the files it needs from the tftp server. It requests in order:


None of these files exist in my /tftpboot and the server responds with “File not found”.

I’m sure I’m missing something pretty basic here. – Bud

You kind of answered your own question. The config files for the phone aren’t in the tftpboot directory. It’s been a long time since I used EPM, but isn’t there a step where you tell it to put all of the config files someplace?

I think the EPM is supposed to generate those files. I know the old OSS EPM did. – Bud

Your phones mac address is

so what does

ls -l /tftpboot/001F9E244F8D


cat /rftpboot/001F9E244F8D



[[email protected] tftpboot]# ls -l /tftpboot/*001F9E244F8D*
ls: cannot access /tftpboot/*001F9E244F8D*: No such file or directory

EPM seems to generate this file with my mac as lower case:

[[email protected] tftpboot]# ls -l $(echo /tftpboot/*001F9E244F8D* | tr '[:upper:]' '[:lower:]')
-rwxr-xr-x 1 asterisk asterisk 592 Jan 29 14:17 /tftpboot/spa001f9e244f8d.xml

Doesn’t seem like the phone looks for that though (see the list above from my pcap). – Bud

That will be a problem, try renaming them:-

cd /tftpboot
for i in ls *00*; do cp “$i” “$(echo “$i” | tr ‘[a-f]’ ‘[A-F]’)”; done

you should have both LC and UC versions

if that works post a bug appropriately.


oops that will change the extension also . . . but work on it

OK, try :-

ls -l /tftpboot/* |grep -i 001F9E244F8D

we will see what got generated case insensitive. . . .

Thanks for the help @dicko. Couldn’t figure out what I should end up with exactly so I did every combo I could think of:

[[email protected] tftpboot]# cp spa001f9e244f8d.xml spa001F9E244F8D.xml
[[email protected] tftpboot]# cp spa001f9e244f8d.xml spa001F9E244F8D.XML
[[email protected] tftpboot]# cp spa001f9e244f8d.xml SPA001F9E244F8D.xml
[[email protected] tftpboot]# cp spa001f9e244f8d.xml SPA001F9E244F8D.XML


[[email protected] tftpboot]# ls -l /tftpboot/* |grep -i 001F9E244F8D
-rwxr-xr-x 1 asterisk asterisk    592 Jan 29 15:42 /tftpboot/spa001f9e244f8d.xml
-rwxr-xr-x 1 root     root        592 Feb  1 10:11 /tftpboot/spa001F9E244F8D.xml
-rwxr-xr-x 1 root     root        592 Feb  1 10:11 /tftpboot/spa001F9E244F8D.XML
-rwxr-xr-x 1 root     root        592 Feb  1 10:11 /tftpboot/SPA001F9E244F8D.xml
-rwxr-xr-x 1 root     root        592 Feb  1 10:11 /tftpboot/SPA001F9E244F8D.XML

So with this collection of files, I rebooted the phone with the same results, the phone requests its config files (observed via tcpdump/wireshark):


and the TFTP server returns file not found for each. – Bud

it looks you are trying to provision from the wrong template

That’s possible. When I tried to do a network scan for the phone, it isn’t found either. That said, the phone is a cisco 7940 and I added Cisco as the brand, created a template and added CP7940 as an “Available Phone”. Not sure what else I can do. – Bud

So figured out at least part of it. When I created the extension, I didn’t specify a model for the phone. More details here:


Still not up and running completely so may be back. – Bud

If you’re still wrestling with this, you could always try the ‘chan-sccp-b’ extension. It sits along side Asterisk (like DAHDI). I wrote a guide to installing and configuring it with Asterisk a couple of years ago and I still use it today (in fact, I just installed a new system with 10 SCCP phones a couple of weeks ago).

The nice thing is that all of the features of the phone (even the ones that are nerfed by the SIP load) work in the native mode. It’s an option - it might be a good choice for your environment.

Well I sort of put my migration to the side for a little bit. All my phones are already converted to sip so not sure I want to go back to SCCP… I had the Cisco 7940 phone working OK with the SIP driver. Then I saw that the recommended sip driver is PJSIP. I tried switching to the that but then I found that the PJSIM doesn’t play nice with the Cisco 7940’s (registration problems). Evidently, there are workarounds but so far they haven’t worked for me. Ideally I’d get the phones working with PJSIP but I may need to switch back to SIP. – Bud

One of the problems that the SIP image has is the limitations on the password. IIRC, the passphrase for the phone is limited to 8 characters.

Thanks @cynjut! Password length was the issue with registration. Was using a 12 character password. Changed to 8 and now it registers. Now on to my trunks with voip.ms … – Bud

@cynjut Are you willing to share your chan-sccp-b guide? I am just starting the process of migrating Cisco 7942/7946 handsets to Asterisk (FreePBX) from a CUCM and would be very interested in keeping them SCCP to minimize the end users impact.

Please let me know if I can obtain a copy of your guide.


The Chan-SCCP-B driver wiki HERE has the links to everything you need to use and setup Chan-SCCP-B. The 8th or 9th item down the list on the main page is about using the system with FreePBX.

A post was split to a new topic: Can’t access SCCP source