Client keeps asking for Web API

Status
Not open for further replies.

egimbergh

Customer
Joined
Aug 20, 2015
Messages
11
Reaction score
2
Hi, I've seen a few posts about clients complaining about not being able to access the web API. The clients at our new installation also throw that message every 15-20 seconds or so. The weird thing is: everything works. We have presence info, we can see the company phonebook, we can use chat, etc. But the message blocks the client, so it's a real nuisance.

We use a setup where we only use the https connection (port 443) and have blocked http (port 80) for security reasons. But using a network sniffer I don't see any traffic on port 80 anyway.

Any suggestion what's happening? We're running version 12.0 on a server in the cloud. No phones, only the 3CX softphone. The server is on a different Ip-range, therefor the phones are always 'not in the office' and using a tunnel.

Erik
 
Hi Erik,
Do you have HTTPS Deep Inspection features enabled on your firewall/router? if so this could be what is causing your issues,
also please review article on this matter: http://www.3cx.com/blog/docs/3cxphone-presence-self-help/
 
Thanks, but doesn't seem to be the case. The systemsmanager is now checking the working of the firewall in general.
 
Update on this issue: we've upgraded to version 14, hoping for a better behaviour. But no luck.
Testing outside the offide, I'm using the same provisioning-file on my Android phone and my PC.

Android: everything works.
PC: calling in/out works, but no presence, no phonebook, no status. Every few second the message that the client can't connect to the 3CX Phone System Web API. Really weird: about 10 seconds into a phonecall, the status suddenly appears and I can see presence, phonebook, etc. Until a few seconds later the warning kicks in again and disrupts it all.

Since I'm on the same network, it can't be the router. And since the status etc. comes on during a call, I figure it also can't be the firewall or virusscanner (which I both turned off for testing anyway).

My conclusion would be that the PC client is doing some unsuccesful (and unnecessary) checks in the background which cause the warning to come up. Some way of turning off the warning would be great (registry setting?).

Erik
 
What anti virus are you running on the windows workstations ? I have seen this behavior with NOD 32 anti virus.
You need to go to setup, advanced setup, web and mail, protocol filtering, excluded apps and check the checkbox for the 3cx for windows client.
 
I'm using Norman. The 3CX client is excluded, but that doesn't help. It's not scanning networktraffic, as far as I can see in the settings. I've read the article http://www.3cx.com/blog/docs/3cxphone-presence-self-help/.

As a double check, I also just installed the client on a laptop which doesn't run (and never has had) any virusscanner. This gives the same result. Still looks like a problem in the client to me...

I see that I forgot to mention: the provisioning file points to our 3CX server (in the cloud), but the <MyPhoneServerLocalSSLAddr> and <MyPhoneServerPublicSSLAddr> point to a different address. That different address is just a gatekeeper that forwards the traffic to the 3CX server. Our server/networkmanager doesn't like internettraffic going straight to a hosted server.
 
I have discovered this error is caused by the 3CXPhone for Windows client trying to communicate to the 3CX server over http port 80. My firewall in front of the 3CX server allows only httpS port 443 communication (NO port 80), so using a packet capture, I'm able to see http SYN packet sent from the client to the server that gets dropped at the firewall.

After about a minute, the 3CXPhone for Windows client uses httpS to successfully connect which allows Presence to display.

Can anyone bump this to the developers to fix?
 
I concur with egimbergh
While using 3CX Phone for Windows, the connection is made on port 80 TCP.
The connection will never succeed, being that on port 80 I have an IIS instance.
As shown in connection tracker, the client is trying to connect to port 80.
Working ports are 5000 and 5443 (as setup at upgrade), both accessible.
 

Attachments

  • Untitled.png
    Untitled.png
    21 KB · Views: 7,085
I didn't really understand this issue fix, I am having the same problem.

As I understood, this is an windows issue, client - side not server configuration, is that correct?
 
I also had this symptom in the web client although my fix required was different.

My issue was that I didn't have DNS setup properly and had yet to create a "split DNS." Once I created the split DNS, the client immediately worked.

Just a second opinion...
 
I think my situation is a little diferentes because my server is not behind NAT, the only IP it has is public. DNS zone for external access works fine. I can acess control panel with the DNS config for externa fqdn i already set.

I have followed internal fqdn setup but it didn't work out. I think it has something to do with the wrong port as said before that I could not understand.
 
I have just figured out the solution, you have to forward ports 5000 and 5001 (used in Abyss server) to ports 80 and 443 (IIS)

The following command line should be used in 3cx server machine on command prompt:

netsh interface portproxy add v4tov4 listenport=5000 listenaddress=<serverip> connectport=80 connectaddress=<serverip>

And do the same for port 5001 to port 443

to check if config is ok use the command:

netsh interface portproxy show all

for reference use this link:
http://woshub.com/port-forwarding-in-windows/

PResence and webrtc show be fully funtional now.
 
Hi WhiteN,

Have you tried the server side fix i suggested?

If you are running IIS server that should fix all clientes, old and new.

I just dont know if there is a windows 10 problemas... But if there is not, server side port forwarding as described should do it for you.

Let US know if everything got back to work
 
Thanks daktur, It worked for me. Regards.



daktur said:
I have just figured out the solution, you have to forward ports 5000 and 5001 (used in Abyss server) to ports 80 and 443 (IIS)

The following command line should be used in 3cx server machine on command prompt:

netsh interface portproxy add v4tov4 listenport=5000 listenaddress=<serverip> connectport=80 connectaddress=<serverip>

And do the same for port 5001 to port 443

to check if config is ok use the command:

netsh interface portproxy show all

for reference use this link:
http://woshub.com/port-forwarding-in-windows/

PResence and webrtc show be fully funtional now.
 
This solution has not worked for me either.

This issue just started for us yesterday, the server is on the same subnet as the workstations so it shouldn't be a firewall issue.

We have not changed anything in the system recently so I am at a loss to explain why this has happened. Does anyone have any other suggestions we could try?

Thank you
 
For those who the work around has not fixed the problem:

Can you please provide more details on server config like OS running so that we can check if there is another way of making it.

I suggest you to download Microsoft Network monitor 3.4 to trace the packets involved in this connection.
 
Thank you Daktur

This is on a Windows 2008 R2 server. I will do some packet traces and post the results.
 
Good morning

After going over the network traces, there doesn't appear to be any network issues. The connection is up and consistent, IIS is receiving the connection successfully on port 5000 and there are no packet drops.

However, in the log files for the my3cxserver I can see that the clients are repeatedly connecting successfully, then the server is reporting them as disconnected and sent a session end signal. I am not sure what is happening, but it looks to me like an issue on the server.

You can see this is the code below, this shows two overlapping connections from the same client.

Code:
2015/11/25 17:07:05.730|7080|0046|Trac|SetHandler() trying to lock...
2015/11/25 17:07:05.730|7080|0046|Trac|SetHandler() locked
2015/11/25 17:07:05.730|7080|0046|Trac|SetHandler() unlocked
2015/11/25 17:07:05.745|7080|0032|Trac|Client 228 SessionId sbn2cto1a3lygo4f2yd2fksd: MyPhone.Notifications.RequestMyInfo is received
2015/11/25 17:07:08.809|7080|0050|Trac|Session.IsNewSession = True, client exist = False, SessionID = t0xrxagq4l1bwqpbodnkjmid
2015/11/25 17:07:08.809|7080|0050|Trac|1ST Login User:228, Password:null, [color=#FF0000]SessionID:t0xrxagq4l1bwqpbodnkjmid[/color], IP:192.168.0.100
2015/11/25 17:07:08.814|7080|0037|Trac|2ND Login User:228, Password:xxxxxxxxxxxxxxxxxxxxxxxxxx, SessionID:t0xrxagq4l1bwqpbodnkjmid, IP:192.168.0.100
2015/11/25 17:07:08.814|7080|0037|Trac|Password is valid for user=228, SessionId=t0xrxagq4l1bwqpbodnkjmid
2015/11/25 17:07:08.814|7080|0037|Trac|DisposeHandler called for client (t0xrxagq4l1bwqpbodnkjmid)
2015/11/25 17:07:08.814|7080|0037|Trac|Client 228(192.168.0.100) with SessionId t0xrxagq4l1bwqpbodnkjmid has been added
2015/11/25 17:07:08.814|7080|0037|Trac|3 clients are currently connected
2015/11/25 17:07:08.818|7080|0032|Trac|DisposeHandler called for Client 228(t0xrxagq4l1bwqpbodnkjmid)
2015/11/25 17:07:08.818|7080|0032|Trac|NotificationHandlerConnected for Client 228
2015/11/25 17:07:08.818|7080|0032|Trac|SetHandler() trying to lock...
2015/11/25 17:07:08.818|7080|0032|Trac|SetHandler() locked
2015/11/25 17:07:08.818|7080|0032|Trac|SetHandler() unlocked
2015/11/25 17:07:08.825|7080|0041|Trac|Client 228 SessionId t0xrxagq4l1bwqpbodnkjmid: MyPhone.Notifications.RequestMyInfo is received
2015/11/25 17:07:08.850|7080|0040|Trac|Client 228 SessionId t0xrxagq4l1bwqpbodnkjmid: MyPhone.Notifications.RequestServerTime is received
2015/11/25 17:07:08.858|7080|0061|Trac|Client 228 SessionId t0xrxagq4l1bwqpbodnkjmid: MyPhone.Notifications.RequestGetExtensions is received
2015/11/25 17:07:08.866|7080|0060|Trac|Client 228 SessionId t0xrxagq4l1bwqpbodnkjmid: RequestLookupContact looking for  is received
2015/11/25 17:07:08.876|7080|0050|Trac|Client 228 SessionId t0xrxagq4l1bwqpbodnkjmid: MyPhone.Notifications.RequestGetFile is received
2015/11/25 17:07:08.915|7080|0032|Trac|Client 228 SessionId t0xrxagq4l1bwqpbodnkjmid: MyPhone.Notifications.RequestGetSystemParameters is received
2015/11/25 17:07:08.964|7080|0044|Trac|Client 228 SessionId t0xrxagq4l1bwqpbodnkjmid: MyPhone.Notifications.RequestChangeStatus is received
2015/11/25 17:07:09.022|7080|0041|Trac|Client 228 SessionId t0xrxagq4l1bwqpbodnkjmid: MyPhone.Notifications.RequestGetMyMessages is received
2015/11/25 17:07:09.031|7080|0035|Trac|Client 228 SessionId t0xrxagq4l1bwqpbodnkjmid: MyPhone.Notifications.RequestMyChatParties is received
2015/11/25 17:07:09.045|7080|0040|Trac|Client 228 SessionId t0xrxagq4l1bwqpbodnkjmid: MyPhone.Notifications.RequestGetFolder is received
2015/11/25 17:07:09.245|7080|0061|Trac|Client 228 SessionId t0xrxagq4l1bwqpbodnkjmid: MyPhone.Notifications.RequestGetGreetings is received
2015/11/25 17:07:12.539|7080|0073|Warn|SessionId 0sp54pp3pkahrt1dcnojyfg1: Client is not connected to the notification channel. Notification channel will be closed.
2015/11/25 17:07:12.540|7080|0073|Trac|EndProcessRequest()
2015/11/25 17:07:12.540|7080|0061|Trac|SyncAbandon() enter...
2015/11/25 17:07:12.540|7080|0061|Trac|FireClosed enter...
2015/11/25 17:07:12.540|7080|0061|Trac|DisposeHandler called for Client 228(0sp54pp3pkahrt1dcnojyfg1)
2015/11/25 17:07:12.540|7080|0061|Trac|DisposeHandler finished
2015/11/25 17:07:12.541|7080|0061|Trac|Client 228(192.168.0.100) with SessionId 0sp54pp3pkahrt1dcnojyfg1 has been removed
2015/11/25 17:07:12.541|7080|0061|Trac|2 clients are currently connected
2015/11/25 17:07:12.629|7080|0061|Trac|FireClosed exit
2015/11/25 17:07:12.629|7080|0061|Trac|SyncAbandon() exit
2015/11/25 17:07:13.090|7080|0073|Warn|SessionId sbn2cto1a3lygo4f2yd2fksd: Client is not connected to the notification channel. Notification channel will be closed.
2015/11/25 17:07:13.091|7080|0031|Trac|SyncAbandon() enter...
2015/11/25 17:07:13.091|7080|0031|Trac|FireClosed enter...
2015/11/25 17:07:13.091|7080|0031|Trac|DisposeHandler called for Client 228(sbn2cto1a3lygo4f2yd2fksd)
2015/11/25 17:07:13.091|7080|0031|Trac|DisposeHandler finished
2015/11/25 17:07:13.091|7080|0073|Trac|EndProcessRequest()
2015/11/25 17:07:13.092|7080|0031|Trac|Client 228(192.168.0.100) with SessionId sbn2cto1a3lygo4f2yd2fksd has been removed
2015/11/25 17:07:13.092|7080|0031|Trac|1 clients are currently connected
2015/11/25 17:07:13.155|7080|0031|Trac|FireClosed exit
2015/11/25 17:07:13.155|7080|0031|Trac|SyncAbandon() exit
2015/11/25 17:07:16.407|7080|0040|Trac|Session.IsNewSession = True, client exist = False, [color=#0000FF]SessionID = oqkzgr3wu5akxhokxhsrkldn[/color]
2015/11/25 17:07:16.407|7080|0040|Trac|1ST Login User:228, Password:null, SessionID:oqkzgr3wu5akxhokxhsrkldn, IP:192.168.0.100
2015/11/25 17:07:16.413|7080|0036|Trac|2ND Login User:228, Password:xxxxxxxxxxxxxxxxxxxxx, SessionID:oqkzgr3wu5akxhokxhsrkldn, IP:192.168.0.100
2015/11/25 17:07:16.413|7080|0036|Trac|Password is valid for user=228, SessionId=oqkzgr3wu5akxhokxhsrkldn
2015/11/25 17:07:16.413|7080|0036|Trac|DisposeHandler called for client (oqkzgr3wu5akxhokxhsrkldn)
2015/11/25 17:07:16.413|7080|0036|Trac|Client 228(192.168.0.100) with SessionId oqkzgr3wu5akxhokxhsrkldn has been added
2015/11/25 17:07:16.413|7080|0036|Trac|2 clients are currently connected
2015/11/25 17:07:16.421|7080|0031|Trac|DisposeHandler called for Client 228(oqkzgr3wu5akxhokxhsrkldn)
2015/11/25 17:07:16.421|7080|0031|Trac|NotificationHandlerConnected for Client 228
2015/11/25 17:07:16.421|7080|0031|Trac|SetHandler() trying to lock...
2015/11/25 17:07:16.421|7080|0031|Trac|SetHandler() locked
2015/11/25 17:07:16.422|7080|0031|Trac|SetHandler() unlocked
2015/11/25 17:07:16.431|7080|0050|Trac|Client 228 SessionId oqkzgr3wu5akxhokxhsrkldn: MyPhone.Notifications.RequestMyInfo is received
2015/11/25 17:07:16.440|7080|0037|Trac|Client 228 SessionId oqkzgr3wu5akxhokxhsrkldn: MyPhone.Notifications.RequestServerTime is received
2015/11/25 17:07:16.449|7080|0060|Trac|Client 228 SessionId oqkzgr3wu5akxhokxhsrkldn: MyPhone.Notifications.RequestGetExtensions is received
2015/11/25 17:07:16.476|7080|0032|Trac|Client 228 SessionId oqkzgr3wu5akxhokxhsrkldn: RequestLookupContact looking for  is received
2015/11/25 17:07:16.512|7080|0041|Trac|Client 228 SessionId oqkzgr3wu5akxhokxhsrkldn: MyPhone.Notifications.RequestGetFile is received
2015/11/25 17:07:16.544|7080|0036|Trac|Client 228 SessionId oqkzgr3wu5akxhokxhsrkldn: MyPhone.Notifications.RequestGetSystemParameters is received
2015/11/25 17:07:16.552|7080|0031|Trac|Client 228 SessionId oqkzgr3wu5akxhokxhsrkldn: MyPhone.Notifications.RequestChangeStatus is received
2015/11/25 17:07:16.599|7080|0046|Trac|Client 228 SessionId oqkzgr3wu5akxhokxhsrkldn: MyPhone.Notifications.RequestGetMyMessages is received
2015/11/25 17:07:16.608|7080|0050|Trac|Client 228 SessionId oqkzgr3wu5akxhokxhsrkldn: MyPhone.Notifications.RequestMyChatParties is received
2015/11/25 17:07:16.619|7080|0037|Trac|Client 228 SessionId oqkzgr3wu5akxhokxhsrkldn: MyPhone.Notifications.RequestGetFolder is received
2015/11/25 17:07:16.814|7080|0061|Trac|Client 228 SessionId oqkzgr3wu5akxhokxhsrkldn: MyPhone.Notifications.RequestGetGreetings is received
2015/11/25 17:07:23.109|7080|0018|Warn|SessionId t0xrxagq4l1bwqpbodnkjmid: Client is not connected to the notification channel. Notification channel will be closed.
2015/11/25 17:07:23.110|7080|0040|Trac|SyncAbandon() enter...
2015/11/25 17:07:23.110|7080|0040|Trac|FireClosed enter...
2015/11/25 17:07:23.110|7080|0040|Trac|DisposeHandler called for Client 228(t0xrxagq4l1bwqpbodnkjmid)
2015/11/25 17:07:23.110|7080|0040|Trac|DisposeHandler finished
2015/11/25 17:07:23.110|7080|0018|Trac|EndProcessRequest()
2015/11/25 17:07:23.111|7080|0040|Trac|Client 228(192.168.0.100) with SessionId t0xrxagq4l1bwqpbodnkjmid has been removed
2015/11/25 17:07:23.111|7080|0040|Trac|1 clients are currently connected
2015/11/25 17:07:23.172|7080|0040|Trac|FireClosed exit
2015/11/25 17:07:23.172|7080|0040|Trac|SyncAbandon() exit
 
Hi all, first and foremost are we all running V14 SP2? This is important because I see in this post that some guys are still running 12.0. In V14 we made structural changes in Myphone Server and also Clients. So first and foremost update your systems. Then if problem still persist post results.

Thanks
 
Sorry for bumping this post but it just came to my attention.

Doing port translation for the HTTP/S ports is not a very good idea, I have seen this too many problems too many times, mainly Interface-related issues but depending on the setup, it could also cause the IVRs not to work either.
 
Status
Not open for further replies.