Hello people,
I know that this topic has been discussed a lot, but not for FreePBX 16.0.40.8.
I have a fresh new install of FreePBX 16.0.40.8 with Asterisk 16.21.1 running on Raspberry Pi 4 and everything is stable. I do have some xp with OS’s and programing, but I’m completely newbie with VoIP.
I’m planning to use the FreePBX just for home and internal calls between devices. I have downloaded and installed Zoiper (advice on better app will be appreciated) on 3 Apple devices, configured extensions for them and the calls between them are perfectly fine. Even when I’m not on the WiFi I can do calls to the internal extensions with no problems through Zoiper.
A friend of mine gave me Cisco 7941G which I flashed with SIP41.9-2-1S (SIP41.9-4-2S gives error on apps install). I have downloaded and installed the module OSS Endpoint Manager and created a SEPMAC.cnf.xml with it. It is all uploaded with 2 Lines configured on extensions 1004 (PJSIP) and 7642 (CHAN_SIP). On both of the lines I have X next to the phone. I have a blank signal on both of them, but when I try to call Extension 1000 (my Phone) it does nothing. When I try to call extension 1004 or 7642 from my Phone it goes directly to VoiceMail.
I want to use that Cisco 7941 in my garage and I’m planning to purchase 3xCisco 7975G and 2xYealink SIP-T29G GIGABIT IP PHONE (any thoughts on both models will be welcome). I’m not planning to purchase Trunk to have external calls for the moment, but if that time comes I might go for a 3G/4G dongle due to prices.
Here is my SEPMAC.cnf.xml
SEPMAC.cnf.xml
Here is the log when I try to call from Extension 1004 to 1000:
From 1004 (Cisco 7941) to 1000 (Zoiper on iPhone)
Here is the log when I try to call from Extension 1000 to 1004:
From 1000 (Zoiper on iPhone) to 1004 (Cisco 7941)
I know that many people will say that Cisco 7941 is the worst phone to use on SIP with FreePBX, but this is what I have at the moment.
I also tried flashing it with SCCP41.9-2-1S but had no success with it as well.
Please advise where can be the problem and how to fix it, but remember to explain it like for a total newbie (which I am).
Please advise on the 2 other models that I’m planning to purchase as well - are they good? are they easy to setup with FreePBX? …?
Just grab a grandstream or yealink and save yourself the heartache. Not worth it for those Ciscos no matter how “tough” they look
Because they are. Especially for a newb. Early in my Freepbx “career” I also went down that route. Spent non-stop 72 hours trying to be a “hero” getting it to work. After blood, agony and tears, I let them go. If budget is your issue, get a cheap Cisco or Grandsteam ATA and analogue phones. Those Ciscos have made grown men weep
The human kind hasn’t produced yet the hardware or the software that will make me weep I’m really stubborn and I love challenges. In the last 3 weeks I went through empty screen (thought that I bricked the phone), through Unprovisioned, through stuck on Registering and now to blank signal. In the same time I went from “How to look at RUCKUS ICX 7150-C12P and Cisco WS-3850-48P-E-1G like a sheep” to “Now you work for me beeyaches! And you do whatever I say”. Not to forget to mention upgrading FreePBX to 16.0.40.8 and Raspbian to bookworm in the same time. Currently waiting on delivery for RJ45-USB console cable to make that Cisco Unified 500 Series (UC520) work as well.
One way or another this Cisco 7941 will start working and that’s it!
Working with hardware/software that is EOL/EOS makes it more challenging as there is not much info left for it.
2x Cisco and 1xYealink have been ordered already and waiting for delivery.
Stay tuned!
I am on the sidelines watching
Also consider upgrading your entire Freepbx stack to one that runs Asterisk 18 at least or preferably Asterisk 20 or 21. Asterisk 16 is EoL and you are going to struggle getting up to date advice using chan_sip
Any ideas how to upgrade Asterisk?
I tried following this Manual Install: Upgrade to Asterisk 18? but after that it couldn’t connect to it with errors in a php file.
The writing is on the wall, install a distro that is debian based and supports current Asterisk builds. Sangoma has one in late beta
stop press:
,Ward Mundy has probably a dozen
Then and only then attack the problem of forcing an under powered and generally derided device to do your bidding in an environment that it doesn’t like and is reciprocally disliked, most of us who have tried this over the years because the price was right and they look and sound great in a CUCM environment, just end up saying WTF, I’ll just spend a couple of bucks and save myself many hours of grief, YMMV of course.
Stay Tuned update:
I’ve got Cisco 7941 (SIP41.9-2-1S) and 2xCisco 7975 (SIP79.9.4.2SR3-1) up and running. They get the SEPMAC.cnf.xml, register and setup the buttons on the right of the display. The buttons work as well.
I have installed FreePBX 17/Asterisk 21 on one rig almost old as me - Dell PowerEdge 1950 (2xXeon X5536 and 16GB RAM). Phones are registering, making calls between them and even tested the Wake Up Call which also works perfect. (Pure install, just added the extensions).
On FreePBX 16/Asterisk 16 running on Raspberry Pi 4 the phones are also registering and able to ring each other. Unfortunatelly when you answer the call you can’t hear the other side on any phone.
RPi4 is on IP 192.168.0.15 and Dell PE 1950 is on IP 192.168.0.183. The only thing that I change in the SEPMAC.cnf.xml is the IP address to which server to connect.
Is it possible to be some config on the Asterisk 16 that is already pre-made on Asterisk 21? Is it just from the version? Any ideas? Any advices?
I don’t want to keep the Dell PE 1950 running for 6 internal hardphones and 3 softphones because of the power consumption.
Things TODO in my list:
Upgrade Asterisk from 16 to 20 on RPi4
Fix ringtones to add more
Fix background images on 7975
Fix services
Currently working on Asterisk upgrade, but due to my work I travel a lot and not much time left for this.
Stay tuned! I will upload all working stuff once it’s done.
I have around 6 of the model 7960s phones setup (one is in my garage in fact) in our vacation home around 100 miles from the actual FreePBX 16 server. These are all on chan_pjsip. The things are indeed built like tanks (like a phone should be) which is why they follow the “Harvest Gold” rule:
The caveats you need to know with any of these Cisco phones:
-
These phones supposedly work better with SIP over TCP. It’s important to get all of the settings parameters the same between the phone and FreePBX. Unfortunately most people throwing SEP examples around for these phones are just blindly copying some other file they saw on some other site and a lot of the sample SEP config files bouncing around have UDP set. FreePBX sets the IP type in 2 places, globally in the channel driver and in the extension config, the extension config overrides the global.
-
You have to turn on NAT in the phone even if you don’t actually have a translator anywhere in between the phone and the PBX. Don’t know why. Probably due to bugs in the phone firmware.
-
All of these phones work with chan_pjsip if you don’t need BLF keys. For anything more advanced than basic calling and some buttons, you need a patched chan_sip. The normal way is to build Asterisk 20 yourself with the patch then install FPBX 17 with the script and a flag set to assume Asterisk is already installed and FreePBX isn’t supposed to overwrite it, then login to FreePBX17 and turn on the chan_sip driver. For FreePBX 16 the normal way is to install the FreePBX 6 distro then run a bunch of commands that pull down the Sangoma FreePBX build headers and deinstall various parts of Asterisk and then download Asterisk 20 and patch it then build it. The FreePBX 17 way is a lot simpler and the “Sangoma OS” that is part of the FreePBX 16 ISO distribution is an antique version of Centos7 which they stopped patching with Centos7 updates a year or more ago and probably is full of holes.
But if you do that you will need to keep Asterisk updated yourself.
The patch author has documented a lot of the bits in the SEP config file here:
https://usecallmanager.nz/sepmac-cnf-xml.html
Note that it is highly advisable especially since you want to run it on an RPI to configure ALL of your SIP phones to use the SAME protocol, that is SIP over TCP. That way all FreePBX does is setup and monitor the call, the packets go direct from phone to phone instead of through the pbx where they are converted.
Thank you for your reply. It’s the most reasonable answer so far.
I have already 2xCisco 7975 and 1xCisco 7941 perfectly working in an internal network and awaiting delivery (probably today) of another 3xCisco 7975. I have Yealink T29G and whoever said that the integration with FreePBX is “straight forward” is totally wrong. I’ve watched hundreads of videos for that model connecting to FreePBX, doing exactly the same (of course with my IP, username and passwords) and it doesn’t even try to connect to the FreePBX.
The phone is upgraded to the latest available firmware from Yealink, tried it on FreePBX 16/Asterisk 20 and FreePBX 17/Asterisk 21 - nothing. Tried with outbound proxy on and off, NAT on and off, …
Is there anything that I’m missing? Anything specific in the FreePBX configuration for Yealink? That phone is driving me crazy the last 5 days not even attempting to connect to the server(s). I knew that I’ll have some issues with the Cisco phones as they are made to run on CUCM/CME, but that was a challenge and it’s done. But that Yealink which is supposed to be just a hint over plug and play is getting me crazy.
Any suggestions?
Yealink web UI select Settings > Configuration.
Set the Pcap Type to Advanced and press Start, you will be asked where on your local machine you would like the pcap to be saved.
You can now run tests. Once your tests are completed you can stop the pcap. The created pcap file can be examined in software such as Wireshark.
Reference: How to enable and capture a Pcap on Yealink devices - Help and support - Dial 9
Review the pcap to see if the phone is sending an INVITE and what the response is.
Sequence should be INVITE>401 Unauthorised (with a WWW-Authenticate header)>INVITE(with an Authorisation Header)>200 OK (if the secret on the phone is correct).
Also, I think you may be using chan_sip. For that, only one phone can be registered to the ext at any point.
Thank you very much @airsay. I have solved the problem much easier way - got another Cisco 7975 out of the box, connected it to the PoE switch, copy and edit the SEPMAC.cnf.xml to match the new MAC, ext, password the side buttons config and … VOILA … 2min later got the phone working. Now I have 5xCisco 7975 and 1xCisco 7941 working like a charm. It will be nice to make that Yealink T29G work as well to replace the Cisco 7941 which is going to be in the garage, but if not … it’s still a phone in the garage.
I will not give up on the Yealink, just getting frustrated how a plug and play phone can cause so many problems. One thing that really made me angry was that I did a factory reset on the T29G, put the information and it got connected (no call, but still connected), then I went to watch a movie with my daughter to clear my mind and when I came back the phone was disconnected and can NOT connect again. In that 1h 30min nobody was touching the phone or the server and still it made a problem. Is it possible the phone to be defective? I got it from eBay and this won’t surprise me. But I won’t give up on it until I make it work or prove that it has some problems. Any advices accepted
This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.