Sorry but again someone down the rabbithole, a question about setting up a Cisco CP-8841.
Goal: Connect a Cisco CP-8841 (with enterprise firmware) to FreePBX.
(and have regular features like, call, call_forward, Voicemail, BLF)
Background:
I have been running a freePBX server for a while with a bunch SPA504G in SIP mode
and thought to replace one or a few phones with the CP-8841.
As many before me I discovered that under the hood there are two versions of the CP-4481.
One with Cisco Enterprise firmware and the 3PPC. I have the Enterprise firmware.
So even though Iāam aware I can convert them, and will if this is the only option.
I felt confident enough to try to get them to play nice with FreePBX and in Sccp mode.
Provisioning goes throught the FreePBX build-in TFTPServer, and the phone picks-up the
SEPmac file and carries it out. Because when I send it a SEPmac file with SIP registration.
It does work (although the CP-4481 on SCCP firmware is very limited in SIP mode).
What doesnāt work is getting it to register with Chan-SCCP.
The good news is I donāt see any errorās in the Asterisk logs,
but thatās also the bad news. I have no idea where/what to troubleshoot.
The phone just reports āUnprovisionedā after reading the SEPmac, AppDialRules and dialplan.
Could some of you guruās ādickoā?, give me some leads how to proceed.
Or query me for some logs/screenshots for details
I have worked with chan_sccp some. I donāt know that I would recommend it for more modern endpoints that have 3pcc SIP capabilities. My use was with old 79xx enterprise phones and only for fun/pain.
First things first, make sure you have tcp port 2000 (sccp) open through the firewall.
Thank you for youāre answer.
I thought about that too: iptables-save | grep '2000 ā -A fpbxsvc-acf8f2819af64f8e -p tcp -m tcp --dport 2000 -j ACCEPT -A fpbxsvc-acf8f2819af64f8e -p udp -m udp --dport 2000 -j ACCEPT
The ports were already added to the exceptions. Ichecked anyway.
But you are right it seems the packets never make it to the server.
Someting is blocking traffic, or the phone is reaching out the wrong way.
I have used tcpdump:
tcpdump -nli eth0 host 192.168.1.47 and 192.168.1.205 -w /tmp/Caputure-1 -s 65535
And the capture file imported in WireShark.
Communication between FreePBX-sever and Phone.
This is the first time I look at someting like this. But from what I can tell about it.
The communication on the TFTP protocol is correct. Files are requested,
and when found transferred like the SEPmac file.
But all the request from the server TCP 6970 seem not to be answered by the phone.
8 20.739483 192.168.1.205 > 192.168.1.47 TCP 54 6970 ā 51331 [RST, ACK] Seq=1 Ack=1 Win=0 Len=0
It seems the replay al have a packet with Lenth 0.
After what you see on the screenshot it just repeats.
What am I supposed to see on a SCCP Cliƫnt?
Thanks.
TCP 6970 is also used for provisioning. If you are using TFTP you can ignore it. You should see traffic from your phone to PBX on TCP port 2000. If you donāt, double check the config file to make sure it has the correct address.
Oh my goodness you have been sent down the mother of all rabbitholes.
The CP-8841ās do not run SCCP. Cisco has actually deprecated that protocol. They run SIP. I donāt even think there is SCCP firmware available for those phones.
Plug your phone into a PoE port and while itās at the grey screen saying provisioning, press the gear button and then go to Phone Information and it will show what Enterprise firmware is loaded on it. You will likely see sip in the name, there.
The OLDER phones like the 8_NINE_41ās (8941) and the other x9xx model phones are the ones that run SCCP firmware. However, Cisco did release SIP firmware for them (now, unavailable since Cisco deprecated those phones - unavailable from Cisco that is but still available from your favorite Russian pirate site, lol)
But the 88xxās and 78xx models run SIP and you can simply create a generic pjsip extension for them and go to town. However, I donāt think anything other than straight calling works on them because the SIP firmware on those phones is āCiscoifiedā meaning the call control (forwarding, message lights, etc.) is completely alien to how Asterisk/FreePBX does it.
Now, how do you get the BLF functions working on those phones? Simple. You have 1 of 3 options.
Option #1 is to patch Asterisk in FreeBSD. Thereās 2 ways. First is to setup a straight Asterisk system and apply the usecallmanager patch to that. Meaning, recompile asterisk. Then follow the advanced guide on the Sangoma help site to install the FreePBX GUI on top of that:
The second way is to install FreePBX and itās version of Asterisk then download the FreePBX rpmās and patch them then recompile FreePBXās Asterisk. The current usecallmanager patch seems to patch chan_pjsip not the older antique sip so ignore the cautions you see in older posts on this forum. The instructions to do that are here:
Option #2 is to buy the licenses for the 3PCC firmware from Cisco and replace the Enterprise firmware with 3PCC. The firmware license is inexpensive, under $50 if you get it from a large Cisco reseller like CDW. It puts a webserver on the phone and you can configure the phone with a web browser like any Polycom or other phone, no need to muck about with XML files. I will put some more info on this at the bottom of this post.
Option #3 is to use SCCP per the following:
Warning though - those instructions are older. They may not apply to current FreePBX. But supposedly that driver has now included SIP support and works with the x8xx phones. I have never tried it, as I think the focus has been to use it for the older SCCP phones.
āThe Asterisk folks Iāve talked to lately want to stress that Cisco (especially 79xx) phones using the SIP Image should be outlawed. I support that position. They are, without exception, the hardest phone to configure and working reliably, and even once installed still donāt work as well as the phones in Skinny mode.ā
Sadly the issue with Option #3 is that the biggest supporter of the Chan-SCCP approach died a couple years ago. You are going to have to do some more digging to go that route with old phones. But, I think you are better off with the newer phone you have, anyway.
Assuming you got your 8841 off Fleabay, where right now the average cost of those is running under $30, that plus the license file for 3PCC is really NOT a bad deal for a videophone. And since Cisco just announced EOL for those phones, itās likely that the price of them is going to crash on the Fleabays of the world and we will be awash in cheap videophones.
I have a site of over 300 Cisco phones of various x8xx models and I estimate cost of shifting them to 3PCC is likely going to run us somewhere in the neighborhood of $20k but Iām still favoring doing that if I can use the phones with PBXact instead of having to pay Ci$co for a new UCM or go to webex cloud calling (ick)
The sites that really should be seriously considering the usecallmanager patch are the ones who have a large number of older SCCP phones and the willingness to reflash those to Enterprise SIP because the older phones CANNOT run 3PCC firmware. You can buy refurb Cisco 8945ās off Fleabay in quantity for $11 a phone, so if you are willing to go that route, you can really have a slick FreePBX system for very little money. Or, with more work, consider the SCCP driver and leave the phones running the SCCP firmware.
The irony of it to me, personally, is that when I was younger and had no money but plenty of time, the cost of Cisco devices, even the older SCCP ones, was far beyond my reach to justify buying them and messing about with the callmanager patch. But today, Iām older, and have a big budget, and the newer and older Cisco phones are cheap as dirt, but now I canāt justify buying them because my time cost is too high to fool with them. Sometimes the Universe she likes to play jokes on us. Sigh.
But, if you DO want to go down the usecallmanager or chan-sccp patch road with dirt cheap Cisco videophones that cost $11 a phone, Iāll be green with envy. Thereās even a provisioner someone wrote for the Enterprise phones that is much slicker than EPM for these phones:
Now, getting back to your phone - if you do go forward with buying the 3PCC license from Cisco for it, instructions are on Ciscoās website as to how to upgrade the phone - you take the license key, load it into Ciscoās website along with the mac address of your phone, and then log the phone into Ciscoās site where it downloads and installs the key and the firmware. I wonāt go into that further, Cisco explains it well.
Once itās upgraded, then getting it to work on FreePBX is easy. Sangoma DID have a document for doing this but sometime during the last couple days - it disappeared off their website. They are messing with that site. To find it, search Bing for:
Much of the info you supplied was in a way more or less known to me:
I also had reduced my options:
Go for Usecallmanger patch.
(I found it very invasive as it has to be reapplied every update of Asterisk).
Buy the 3PPC license. treat the 8841 same as the SPA504G.
(And feed them some language, and tone files for customization via TFTP)
Go the Chan-SCCP way. All the functionality I am after is in there.
(Just a driver change and the manual seems very doable. Included is a provisioning tool for the XML
It was en still is my preferred way)
Run the Enterprise firmware on a āCiscoifiedā (love it ) SIP extension.
Option #1 I did not know it patched the newer Chan_pjsip, thanks for letting me know.
Option #2 This is my backup plan.
Option #3 You are right, the current FreePBX and the (outdated?) install instructions do leave me
with a non working setup.
Option #4 NOT AN OPTION, very limited functionality.
I already spend more time on this then I want to admit. Somehow I feel by now I am entitled that is
should work. Since I tried so hard. Haha.
Maybe I convert the bunch and leave at least one on Enterprise firmware so I can once in a while return to this demon to scratch my head on it.
If @tmittelstaedt 's information is correct then you cannot use SCCP. I havenāt looked into it. Iām just telling you what happens if you have an actual SCCP endpoint, which it appears you do not.
The current chan-sip driver is supposedly dual sccp/sip with cisco enterprise call control. It sounds like itās author and the usecallmanager patch author are working towards the same thing I guess. But I have not tried messing with it on a current freepbx install.
So I dug a deeper hole en setup a new VM with USECALLMAGER patch.
I applied the patch for Asterisk 18.20.0.
Quite a setup to compile Asterisk from source.
Even though tmmitlsteadt mentioned the patch now also applies to PJSIP.
I can assure you it doesnāt. It needs the Sip legacy and SIP 5160 port to
communicate.
The Youtube video says to set the Sip_channel driver exclusive to Sip_legacy.
(This would be unworkable, all newer phones and softphones wouldnāt work)
I run now both drivers enabled, and guess what:
The phone registerd and actually works with all itās features.
Redial, Hold, Transfer, DND (Do not disturb)
Contactās, Wallpapers, Ringtones
Voicemail
A Softphone on pjsip also works.
So after this much needed succes Iāam still looking to Chan-SCCP,
I am confident the produced SEPmac from Chan-SCCP Manager is incorrect.
Itās looks mutilated however I donāt know how to create one from scratch.
Specially the authentification part.
Since the other methodes all uses SIP to authenticate, what does Chan-SCCP use.
Does anyone have a sample SEPmac for Chan-SCCP and preferable a Cisco 88xx one?
I also want to thank all the input from community so far.
Well thatās cool! I wonder how it differentiates between the 2 drivers on port 5160?
As for the dependency on chan_sip, your building Asterisk 18 which still included chan_sip and an older version of the usecallmanager patch. The latest version of Asterisk, version 20, has chan_sip removed and what I read was that the usecallmanager patch for version 20 was updated for pj_sip
Note that even if the version 20 patch did require chan_sip, itās still here:
which is a fork of it from the master branch. That concerns me specifically since I use an old Cisco router with voice cards as a voice gateway - and that device and itās firmware only works with chan_sip.
If you really want a thrill apparently the old OSS Endpoint manager was revived from Zombie sleep:
You could try installing it from the above instructionsā¦it might even produce a working xml file!
I DONāT know if thatās the original contributed FreePBX OSS Endpoint Manager code that ended up being ignored and suffering from bitrot, or if the IncrediblePBX guys took that code and brushed it up a bit. To use it you have to uninstall the commercial endpoint manager, Settings, module admin, click it so it drops down, then uninstall, process
I put a link to the youtube video for it in the prior post.
The user who created that was unaware of the old OSS Endpoint Manager code and did his own thing. Itās actually very cool even though all menu items donāt work, the key ones do. It replaces the TFTP server, essentially. I put setup instructions for it into a post in āIssuesā on that github archive.
My understanding is that on Cisco Enterprise phones all of the models use the same general format for the SEPmac. Here for your amusement is an actual file Iāve used to get a Cisco 6921 running SIP firmware registered in to a non-usecallmanagerpatched FreePBX system. Iāve even included the password because, of course, its fake:
So was not buying the 3PCC update worth it?
Letās see, 10 hours of development time @ $250 an hour vs $50. Yup, definitely worth it!
Donāt worry, as JRR Tokien said in The Hobbit, Dragons love wasting time with puzzles. And yes I am green with envy.
Letās see from a money point of view you are so right it wasnāt.
But see it from this side: I had 10 hour (conservative estimate) of fun.
We gained a lot of new knowledge en experience, that wil last a lifetime.
And my core business is not IT, but I went through the same proces before.
VMware server systems
Windows Server editions
SIP phone systems.
VPN site-to-site LAN with Layer 3 software based switch.
And for each of those tasks I could have hired a good IT guy for ā¬ 250,- an hour
and I would have to call him each time someting needs to be done. Since we didnāt get the knowledge.
Thatās how I justify it to myself, (and my wife) LOL.
I might still go for the 3PCC license but this Cisco CP-8841 Enterprise thingy that was personal.
The Chan_SIP vs PJSIP driver
Chan_SIP is on 5060 and 5061 secure
PJSIP is on 5160 and 5161 secure
This I stumbled upon because the LOG kept saying āNo matching endpoint foundā¦ā turned out the phone was trying the PJSIP driver. And at first glance in the SEPmac the ports are quite the same.
[2024-03-03 11:33:40] NOTICE[2401] res_pjsip/pjsip_distributor.c: Request āREGISTERā from āsip:[email protected]ā failed for ā192.168.1.47:51402ā (callid: [email protected]) - No matching endpoint found after 30 tries in 0.162 ms
Thank you very much for posting the SEPMac. Will try to see if Chan-SCCP wantās to respond.
Now since you showed me a future for USECALLMANAGER Patch it became more attractive,
Chan-SCCP seems currently unmaintained, and is in a buggy state.
Youāre knowledge about these Pones is admiriable, you must be the $ 250,-/h guy.
I wish every IT worker I hire thought like that. Thereās no substitute for doing it in house. Not only do you get the institutional knowledge your people are actually interested in their jobs. Itās a larger up front cost (I just approved a $1500 training course last week for 2 of my people) and it takes them somewhat offline for a while but every dollar you invest in learning is paid back tenfold or more and ultimately the stuff isnāt crashing every day.
Besides, Iām at the point where most of the vendors I outsource anything to, canāt teach me anything. Their main use is getting something done faster since I can work them in parallel, but usually not better.
Ted is right. The way I see it you have 4 options with a Cisco 88xx series Phone on enterprise firmware.
Leave it the way it is.
(Phones will register fine with Asterisk/FreePBX. Basic calling works. Some of the line-keys and almost non of the Soft-keys work. But hey it looks great on youāre desk.)
Buy the 3PCC license from Cisco
(Not a bad deal. For about ā¬/$ 50,- you buy yourself a lot of leisure time.
(And it will be a recurring investment, if you look at other options)
Use Chan-SCCP driver combined with SCCP-Manager in FreePBX.
(I stopt troubleshooting this, and did not get it to work. It seems no longer maintained and notice more people run into the same issues. Following the full steps in the Wiki a vanilla FreePBX 15 and 16 will not get you a working setup).
Apply USECALLMANAGER patch to Asterisk. It works right out of the box.
(Caveats, every update that involves Asterisk. You needs to re-apply the patch and compile from source. Thatās even with a script 15 mins of work. You have to manually provision phones with the XML files. There are some tools to help you with it, but itās not integrated in FreePBX)
I donāt know if anyone would be interested in the following but:
I installed the latest FreePBX 16 from itās download ISO on to a virtual host under ESXi 5.5 then I followed the instructions in this video:
to apply the usecallmanager patch to it. Then I shut down the FreePBX guest, and made a copy of it. This was before activating it or doing any configuration to it (including excluding asterisk from updating by modifying the yum.conf file)
I donāt know how many people are stil using ESXi (after Broadcom bought VMWare and started bleeding the company) espically the older ESXI 5.5, but if anyone is interested I can put the copy up for downloading.
One rather amusing thing is that you can now buy genuine Cisco UCS200 chassis under Ebay for less than $100 and boot ESXI5 on those or Cisco UCS220 chassis for around the same amount, and boot ESXI 5.5 on those (those versions of ESXi have support for the hardware RAID cards in those machines) You could then install FreePBX as a guest OS on them, then install a SECOND Linux image on them and use that as a Cisco phone provisioning/tftp server by running the Cisco Provisioning Server (mentioned above) on them. The UCS200 chassis has a bug in it where the RAID card is positioned too close to the CPU heatsink which will overheat the card and after a number of years cause it to start getting flakey, (which you can tell by the brown spot that forms on the RAID card) but those cards are $5 or less off Ebay. Then you would have a drop-in replacement for a real Cisco UCM without all of the licensing nuisance. LOL. The UCS200 can use off-the-shelf 3.5 SATA hard drives and since those canāt run ESXi8 (required for the latest Cisco UCM) Cisco has EOLed them and the used market is flooded with them, along with the older 89xx videophones which Iāve seen as cheap as $11 a phone. Too funny.
Anyway, what Iād be interested in finding out is if people would rather have this available as a Docker image under Windows Services for Linux, or under HyperV.
One thing about building Asterisk with the usecallmanager patch - I built this on a bit of a slower machine that let me read the stuff as it was being compiled - and I swore that I saw skinny.c and various other files with āsccpā and āchan-sccpā in their names compiled into Asterisk. So that patch must have some more dependencies in it than a surface view reveals.