3CX 15 Tunnel Not Listening

TL;DR If your 3CXPhone app and/or your desktop phone are not able to connect to a remote 3CX server, test connectivity to the server on 3CX tunnel port 5090. If there’s no connection, on the server, check if anything is listening on that port. If not, restart the 3CX SIP/RTP Tunneling Service.

My 3CXPhone client connects directly to a remote server. My desk phone connects through a local Session Border Controller. Today, neither one was completing registration.


Review 3CXPhone client logs (on your local PC): 

%AppData%\3CXPhone for Windows\Logs

Review Session Border Controller logs (on the machine running the SBC):


Check connection on port 5090 (if you haven’t already, you’ll need to activate Telnet Client from Programs and Features > Turn Windows features on or off):

telnet [host name or IP address of server] 5090

Telnet should respond with some “garbage” characters. Press Ctrl-C to close the connection.

On the server, run this command to see if anything is listening on port 5090:

netstat -ano | find /i "listening"

You should see a process listed with port :5090, like this:

3CX Tunnel 1

The last column is the Process ID (PID). In Task Manager, that should cross-reference back to 3CXTunnel.exe.


If you do not see a process listening on port 5090 (I did not), open the Services app and stop and re-start the 3CX SIP/RTP Tunneling Service. In my case, the service was already running and looked fine; I had not received any alerts about it from 3CX. But once I restarted it, port 5090 appeared in the list of listening ports and both my 3CXPhone client and my desktop phone were able to register again.

I’m setting up a TCP Service Check alert on my monitoring software to let me know if port 5090 stops accepting connections.

Leave a Reply

Your email address will not be published. Required fields are marked *

Notify me of followup comments via e-mail. You can also subscribe without commenting.

This site uses Akismet to reduce spam. Learn how your comment data is processed.