3CX sends NOTIFY to local IP address

Status
Not open for further replies.

phoyer

Free User
Joined
Jul 24, 2018
Messages
11
Reaction score
0
I am using a Snom 375 phone remotely on 3cx version 15.5.0. Everything is working fine except the BLF.
The local IP address of the phone is 192.168.25.135. The public IP address is 85.38.168.201.

What happens:
1.) The phone (extension 23) sends a SUBSCRIBE request to 3CX.
2.) 3CX answers TRYING to IP 85.38.168.201.
3.) 3CX sends NOTIFY to local IP address 192.168.25.135.

Message 3 will never obviously never arrive, BLF does not work.

Is this just a bug or any idea how to make 3CX send the message to the correct IP address? If required, I can also provide the Wireshark file.

Regards
Peter
 
Last edited:
Hello @phoyer

Is the phone provisioned as STUN or SBC?
 
It sounds as if STUN , or another option (BLF?) on the set, is not provisioned correctly and the local IP is being reported.

Have you used Wireshark to see in which SIP message, the local IP, is sent to 3CX?
 
The weid thing is that also if I completely disable any NAT support meachinsm (STUN, ICE, router ALG) and so the phone will always only present its local IP address in the SIP messages, all communication between the phone and 3cx will work just fine: simple calls with audio in both direction, transfer etc. Only for the NOTIFY messages, 3cx tries to send the packet to the local IP adress of the phone which of course is not reachable.

There is either some option which I have overseen in the snom or in the 3cx settings, or this is a bug in 3cx as it should not answer packets coming from a public IP address to a private IP address not reachable through the local subnet.
 
3CX will answer to the IP which is declared in the Contact Header which is send by the snom device in the SUBSCRIBE message.

Ensure that the IP phone is provisioned via 3CX, factory reset the device, load the supported firmware on it and give it another try. Also 100% important is that SIP ALG on the firewall in front of the snom is disabled! You may compare from a snom pcap what the device sends and on 3cx what you get...
 
For all packets != NOTIFY, 3CX checks if the IP address in the Contact header is the same as the IP address in the IP header. If not, it will answer to the address in the IP header and disregard any further data in Contact.

There can be always situations in which the UA is not able to correctly detect its IP addres or - in case operators have an additional NAT behind the actual NAT of the user's router for example to save IP address - the detected IP may not be correct. Therefore IP PBXs usually check if the Contact information is correct or not.

Also 3CX does this as otherwise, in the given situation, the phone would not even have resgisters. Instead it works perfectly, RTP proxy included. For some reason you just treat NOTIFY different to REGISTER and INVITE and I do not understand why? The Contact content is the same in both cases.
 
Status
Not open for further replies.

Latest Posts

Forum statistics

Threads
111,889
Messages
589,573
Members
164,753
Latest member
GemmaC