Cisco IP Phone 7841

Sangoma requires any phone vendor who wants their phones to be listed in EPM to write the additions to EPM to support their phone including submitting the firmware for incorporation into EPM. Only Yealink (and maybe a few others) appears to have done this. Cisco in particular regards their phone firmware as separate from their phone hardware - that is, purchasing a Cisco hardware phone - like the 7841 you have - does not give you rights to firmware updates. You must have a Cisco service contract on the phone in order to download firmware updates for it. So even if they agreed to write EPM additions for the 3PCC versions of the 7841 they would never allow firmware to be included in EPM.

With the exception of the Sangoma phones, the rest of the phones in EPM are old because they date from when EPM was written.

The situation with older phone firmware is unfortunate. More and more former phone models have firmware that is difficult to access or simply not available. For example Mitel sells phones that an earlier version 6 of their firmware would work with Asterisk but later version don’t and they have now closed access off to their site to get the earlier phone firmware. When HP acquired Polycom they still have older Polycom firmware available via FTP but you have to dig for it and study a document they made available in the archive that lists what firmware goes to what, but you can no longer go to a website and just download it. Aastra either went out of business or something else but they no longer have firmware available for download. And so it goes.

Part of the problem you see is that when you sell a PBX into a business, there is a huge temptation to try to sell forklift upgrades of phones into the business because that can in many times dwarf the cost of the PBX itself. So many of these PBX vendors will refuse to support phones that aren’t “theirs” you are really on your own. That’s OK when it comes to basic functions - any admin who is experienced with VoIP phones can figure out configuration to get a basic extension line working on most PBXes - but BLF and other function keys not so much.

The story of EPM is that originally EPM was contributed as a free module. However, it never had much interest and received sporadic attention from the FOSS community - so Sangoma wrote their own. The original EPM was renamed OSEPM (OpenSource) and over the years it has been forked multiple times. But the forks only got scant development attention, were active for a while, and then went dead.

The biggest, in my view, problem that caused this was PHP. In retrospect it has been as difficult to develop for as Java because of the constant changes. It and Java and GTAK are awful in this regard - older apps developed for older versions get broken in the new versions because the developers are constantly changing things around. The irony is that people flocked to PHP from Java because of this behavior and now PHP is pulling the same BS. It was a giant amount of development work to get FreePBX updated to work with the latest PHP 8.

The current fork of OSEPM - which works with FreePBX 17 and DOES allow templates to be written and added for phones - lives here:

I made a post with instructions for installing this here

OSS Endpoint Manager keeps crashing - FreePBX / Applications / Modules - FreePBX Community Forums

You probably will have to write a template for the 7841, though, as well as supply firmware. A sample template for a 3PCC phone is here

How to provision Cisco 8800 series 3PCC phones on FreePBX/PBXAct Endpoint Manager (EPM) - FreePBX Community Documentation - Sangoma Documentation

The 88xx and 78xx series basically use the same template under 3PCC firmware.

Note that there is one other phone provisioner that applies specifically to Cisco phones which is located here:

GitHub - Wriar/Cisco-Provisioning-Server: An open-source node server to provision Cisco phones and devices.

This is a complete provisioner/tftp setup you would probably put on a separate virtual instance than the PBX. It provisions Cisco phones running the Cisco Enterprise firmware NOT the 3PCC firmware.

The rule of thumb in phone provisioning is:

  1. If you want a KISS solution, buy Sangoma phones supported by EPM and the EPM module is included for free. That’s fully supported by Sangoma KISS solutions cost money, sonny, FOSS support had always been “if we feel like giving you any” in every FOSS project I’ve ever been involved in.

  2. If you have zillions of Cisco phones in place running Enterprise firmware, then the USECALLMANAGER patch and the Wriar provisioner is what you want to get involved in

  3. If you have zillions of Cisco phones in place and you want to upgrade them to 3PCC then Cisco Support is where you get all the XML file documentation from and your on your own for mass provisioning - the Sangoma doc I linked to is a start and look into OSEPM

  4. If you have a small handful of Cisco phones of either the Enterprise firmware or 3PCC then manually provisioning them by copying a template to a new SEPMAC file and hand editing it with a text editor is going to be the easiest way.