Solved Windows Client produces a 'new' phone every few seconds

Status
Not open for further replies.

Pesmith

Customer
Joined
May 15, 2019
Messages
17
Reaction score
4
Hi, I am setting up a proof of concept 3CX system with two NICs. All routed and set up correctly and all green in the Dashboard. Internal phones work fine. No SIP Trunk at present as a proof of concept test before purchase signed off. Android client works fine internally and externally via the web.

I installed a windows client internally on a 'test laptop' and sent a welcome email to provision it. All fine. However the new 'phone' shows in phones but every few seconds it adds another new duplicate phone showing as an external IP. Got to three pages of new phones before I had disabled the client. Something is seriously wrong.
10735
 
Hello @Pesmith

Can you replicate the issue with a windows client on a different machine? Looks the like there is an error in the registration process, probably because of a network communication issue.
 
Hi YannisH_3CX

Yes I added the client to my windows 7 desktop and sent a config file. It happily setup and works but also creates many new phones.10884
 
This is bizarre.
The client when provisioned internally has a setting under

PBXLocalAddr>10.3.XX.XX</PBXLocalAddr> which is the IP address of the external NIC on the Server not the internal NIC which is a different network and VLAN. The client registers and shows as working. But if I change the IP to the internal NIC of the 3CX Server it fails to register. On the Desktop I can correctly ping and tracert to the internal NIC on 3CX. When I start an Android client on the internal Wi-Fi it correctly shows as an internal IP and works fine. It also shows the correct IP as the account "Local PBX IP".


On the server is says the 10.3.xx.xx address in the Default Internet Facing address and on the Extension the 'Network interface for registration and provisioning' is set to the internal NIC IP

Seems like a bug in the windows Client
 
Strangely I tried setting the 'Use Proxy Server' and put in the IP of the internal NIC of 3CX and it shows as 'on hook' and provisions with the correct internal IP (but also starts creating new phones again with the external non-Natted IP) and if I try to call a number I get a call denied message.
 
Hi Pesmith

This is sounding more and more like a network misconfiguration issue. The PBX is receiving multiple registrations from the same client, but it must see them coming from different source ports to cause duplicates.

Since you have two NICs you should look at out documents about supported network configurations, and see if you can make the network conform to what the PBX would expect in order to function correctly.
https://www.3cx.com/blog/docs/network-configurations-supported-3cx-phone-system/

My speculation is that the client reaches the PBX via its external IP, passing through the firewall and coming back through random ports each time. Each new registration from a new random port could be cause the duplicate entries.

You could potentially run a capture to confirm this, by going to Activity Log, selecting the Ethernet interface that is also selected as the internet facing IP, and then start up the client and allow it to try to connect. After a minute or so end the capture, download it and check in WireShark by filtering for registration attempts.
 
The set up is exactly as advised in your link as a 'Public Network Nat' and for android clients internally or externally works fine.

As mentioned the client does indeed use the external ip (even from inside) and that is being set by

<PBXLocalAddr>XX.XX.XX.XX</PBXLocalAddr> in the config file. Changing the IP to the internal ip and the client won't register even though the desktop clearly can route to the server and receive pings from it - I can also use the 'extension web client' on this desktop using the internal ip and that is fine too. I can manage my Yealink phone fine.


For some reason the client is refusing to connect on the proper route to the internal IP

I have a 3CX ISO install of Debian so not sure how to capture the data but I suspect it will just tell me something I already know.

The Android client quite happily connects to the internal IP for 'Local PBX' and the 3CX address for external connections with absolutely no problems.

It would help if we can only get the PC client to connect internally as that is where we want to use the client most.11066
 
Ok, so best to do a capture from the 3CX management console to see where the traffic goes, by going to Activity Log, selecting the Ethernet interface that is also selected as the internet facing IP, and then start up the client and allow it to try to connect. After a minute or so end the capture, download it and check in WireShark by filtering for registration attempts
 
I'm glad to hear it was resolved
 
Status
Not open for further replies.

Forum statistics

Threads
112,025
Messages
590,365
Members
164,976
Latest member
Roman Mazur