All phones showing "SIP Register Failed" after network outage was resolved

Status
Not open for further replies.

CDuncan

Trial User
Joined
Feb 16, 2021
Messages
8
Reaction score
3
Hello,
We have all Fanvil Phones and a Cyberdata paging system. We had a network outage, and after it was restored, all phones would not register to the 3cx system. They all needed to be factory reset and reprovisioned.

We are using 3cx on Microsoft Azure, and all devices connect to it over a VPN. We do not have OPT66 in use, we provision the phones with the provision URL individually. All firmware is managed with the EPM and are on the current supported version.

Any idea what could be causing this problem?
 
VPN down?
 
It was, but the connection is fine now.
 
So you say all phones had to be factory reset. Does that mean rebooting them didn't work because you didn't mention doing that. Did you verify connectivity across the VPN?
 
Yes, I forgot to mention that we tried rebooting them both in the phones menu and by unplugging the poe connection.
The VPN connection was working fine at the time and still is working now. The outage was planned and connection was restored and tested. The phones are connected again but only after each phone was factory reset and the provisioning url was added back.
 
Hmm...that doesn't sound right. It would have been nice if you were able to leave one phone in that state to troubleshoot. Sonicwall doing the VPN by any chance?

There's really nothing that should stop the phones from reconnecting when the VPN came back up. Are we talking about a routed (no NAT) VPN? Are the phones provisioned as Local LAN to the private IP of the Azure instance?
 
We use Fortinet here. The phones are registered to the internal IP of the 3CX server. It is likely to happen again since we are setting up a new office and will likely have the network offline soon. I will let them know to not mess with the phones and notify me if the issue comes up again.

When this initially happened, I told them to let it go, the phones will reconnect, but after 2 hours they did not and we started troubleshooting.
 
Well you can't leave folks down so if factory resetting and re-provisioning fixes them, I'd let them, just keep one or two so you can troubleshoot. If possible, I'd throw a Yealink in there (even a cheap one) just to see if it behaves the same way.
 
If it happens again I would be tempted to drop into the web front end of one of the offending phones and validate it's network connectivity / settings.
 
You would also benefit from looking at the traffic leaving the phone's LAN port.

That might tell you more than anything else.
 
@cobaltit I will just keep a couple phones offline and see what is going on. Unfortunately the only phones we have currently are the Fanvil, Cyberdata, and Sangoma phones. We just moved from Freepbx so we have a lot of sangomas lol. I'll have purchasing order a cheap Yealink for testing. Maybe it will get here in time before another planned outage. Thank you.

@Lee Cramman I will do that. I copied all the phone IPs so I can take a look later. Thank you.

@JohnS_3CX I will see if I can have one of the guys run a capture on the phone's LAN port and send it to me. I am a remote worker, otherwise I would do it myself. Thank you.
 
ok here is the log from an extension having this issue. It's showing that it is timing out on the line screen. The phone is a Fanvil x6U. All the settings appear to be okay, but it will only start working again after a factory reset and reprovisioning.

I also have a pcap file, but I can only send it to support staff as it contains internal information. Should I open a ticket for that?


Code:
operating information.
I/sip | Receive failure err:-110, call=[c41bc0] failback=[0] failuretime=[0]
I/sip | fail message is [REGISTER].
W/resolv.lib | recordListFree, type [1] is not free.
W/resolv.lib | recordListFree, type [1] is not free.
W/resolv.lib | recordListFree, type [1] is not free.
W/resolv.lib | recordListFree, type [1] is not free.
I/sip | send REGISTER message!
W/sip | update timer=[0] timer=[0]
I/sip | transaction id=[4]!
I/sip | Receive failure err:-110, call=[c41bc0] failback=[0] failuretime=[0]
I/sip | fail message is [REGISTER].
W/resolv.lib | recordListFree, type [1] is not free.
W/resolv.lib | recordListFree, type [1] is not free.
W/resolv.lib | recordListFree, type [1] is not free.
W/resolv.lib | recordListFree, type [1] is not free.
I/sip | send REGISTER message!
W/sip | update timer=[0] timer=[0]
I/sip | transaction id=[5]!
I/sip | Receive failure err:-110, call=[c41bc0] failback=[0] failuretime=[0]
I/sip | fail message is [REGISTER].
W/resolv.lib | recordListFree, type [1] is not free.
W/resolv.lib | recordListFree, type [1] is not free.
W/resolv.lib | recordListFree, type [1] is not free.
W/resolv.lib | recordListFree, type [1] is not free.
I/sip | send REGISTER message!
W/sip | update timer=[0] timer=[0]
I/sip | transaction id=[6]!
I/vcore.ap.main | apContactTimerProcess
I/vcore.ap.main | apContactDownloadProcess: interval=[720]
I/sip | Receive failure err:-110, call=[c41bc0] failback=[0] failuretime=[0]
I/sip | fail message is [REGISTER].
I/vcore.ap.main | apModuleDownloadStart: type=[1]
I/vcore.ap.main | apModuleDownloadStart contact download start !
I/vcore.ap.main | apDownloadTask downloadType=contact
I/vcore.mt.main | mtUpdateRequest Start !
I/vcore.mt.main | mtSearchUpdateFunc find update function by fileType=contact,fileName=fanvil_phonebook.xml!
I/utils.xmlparser | uXmlParseFromFdWithDigestAndBreak: XML_Parse :ok Or Read Finished :1 !!!.
I/cttXmlParse | cttXmlParseFromFdWithDigest: close url fd.
I/cttXmlParse | config digest is same
I/vcore.mt.main | mtUpdateRequest url fd alread close
I/vcore.mt.main | mtUpdateRequest: source=[ap] file=[fanvil_phonebook.xml] result=ok
I/vcore.ap.main | apDownloadTask download result=ok
I/vcore.ap.main | apModuleDownloadStart contact download result=ok
E/vcore.cfg.set | configApply: settings not find!
W/vcore.cfg.save |  --WIFI List-- : should be add to sn2name map table.
W/vcore.cfg.save |  --Code Plan List-- : should be add to sn2name map table.
E/vcore.cfg.save | There is no valid item in this module[].
E/vcore.cfg.save | There is no valid item in this module[].
W/vcore.cfg.save |  --Sidekey Config1--: should be add to sn2name map table.
W/vcore.cfg.save |  --Dsskey Config1--: should be add to sn2name map table.
W/vcore.cfg.save |  --Dsskey Config2--: should be add to sn2name map table.
W/vcore.cfg.save |  --Dsskey Config3--: should be add to sn2name map table.
W/vcore.cfg.save |  --Dsskey Config4--: should be add to sn2name map table.
W/vcore.cfg.save |  --Dsskey Config5--: should be add to sn2name map table.
W/vcore.cfg.save |  --SoftDss Config-- : should be add to sn2name map table.
W/vcore.cfg.save |  --SSL Mode-- : should be add to sn2name map table.
E/vcore.cfg.save | There is no valid item in this module[].
E/vcore.cfg.save | There is no valid item in this module[].
E/vcore.cfg.save | There is no valid item in this module[].
E/vcore.cfg.save | There is no valid item in this module[].
W/resolv.lib | recordListFree, type [1] is not free.
W/resolv.lib | recordListFree, type [1] is not free.
W/resolv.lib | recordListFree, type [1] is not free.
W/resolv.lib | recordListFree, type [1] is not free.
closed.
 
Status
Not open for further replies.