Client keeps asking for Web API

Discussion in 'Windows' started by egimbergh, Aug 20, 2015.

Thread Status:
Not open for further replies.
  1. egimbergh

    Joined:
    Aug 20, 2015
    Messages:
    12
    Likes Received:
    1
    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
     
  2. pj3cx

    pj3cx Active Member

    Joined:
    Aug 1, 2013
    Messages:
    645
    Likes Received:
    1
    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/
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  3. egimbergh

    Joined:
    Aug 20, 2015
    Messages:
    12
    Likes Received:
    1
    Thanks, but doesn't seem to be the case. The systemsmanager is now checking the working of the firewall in general.
     
  4. egimbergh

    Joined:
    Aug 20, 2015
    Messages:
    12
    Likes Received:
    1
    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
     
  5. Deepest

    Joined:
    Nov 9, 2012
    Messages:
    45
    Likes Received:
    0
    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.
     
  6. egimbergh

    Joined:
    Aug 20, 2015
    Messages:
    12
    Likes Received:
    1
    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.
     
  7. uptime1

    uptime1 New Member

    Joined:
    Jan 13, 2012
    Messages:
    112
    Likes Received:
    28
    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?
     
  8. inteq

    Joined:
    Jan 8, 2013
    Messages:
    42
    Likes Received:
    0
    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.
     

    Attached Files:

  9. daktur

    daktur New Member

    Joined:
    Oct 15, 2015
    Messages:
    225
    Likes Received:
    6
    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?
     
  10. michaelholt

    Joined:
    Oct 9, 2015
    Messages:
    18
    Likes Received:
    3
    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...
     
  11. daktur

    daktur New Member

    Joined:
    Oct 15, 2015
    Messages:
    225
    Likes Received:
    6
    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.
     
  12. daktur

    daktur New Member

    Joined:
    Oct 15, 2015
    Messages:
    225
    Likes Received:
    6
    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.
     
  13. WhiteN

    Joined:
    Nov 5, 2015
    Messages:
    5
    Likes Received:
    0
    Since the system upgrade to v12.5, getting the same error for newly created extensions only. These remote users cannot access the Web API and thus no contacts and presence information is displayed. The connection is through the 3CX remote tunnel. Calling works fine. The thing is, the other remote users that were created before the upgrade still work fine and connect to the Web API. One of the new users which cannot connect to the API is in the same office as 2 other users who can connect to the API without issues.

    What I noticed is that after the upgrade the email configuration file changed the out of office IP address to FQDN which didn't work so I changed it back to the IP. I made sure that the account configuration on the 3cx phone client is the same as the other working users. Is there any other configuration that might have changed after the upgrade that I need to fix on the client side? Also the new remote extensions do not appear in 3CXPhoneClients in the Management Console. All remote users are on Windows 10.
     
  14. daktur

    daktur New Member

    Joined:
    Oct 15, 2015
    Messages:
    225
    Likes Received:
    6
    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
     
  15. CATE

    Joined:
    Dec 18, 2012
    Messages:
    15
    Likes Received:
    0
    Thanks daktur, It worked for me. Regards.



     
  16. WhiteN

    Joined:
    Nov 5, 2015
    Messages:
    5
    Likes Received:
    0
    Sorry forgot to mention in my previous post that I did try this but didn't work. What is strange is that the old remote extensions still fully function. If it were a port issue, wouldn't it affect them as well and not just the new extensions ?
    Using this guide http://www.3cx.com/blog/docs/ports-used/ I checked that I have all the ports forwarded on a Cisco 2911 router except for the last two.
     
  17. kti-joshua

    Joined:
    Nov 20, 2015
    Messages:
    3
    Likes Received:
    0
    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
     
  18. daktur

    daktur New Member

    Joined:
    Oct 15, 2015
    Messages:
    225
    Likes Received:
    6
    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.
     
  19. kti-joshua

    Joined:
    Nov 20, 2015
    Messages:
    3
    Likes Received:
    0
    Thank you Daktur

    This is on a Windows 2008 R2 server. I will do some packet traces and post the results.
     
  20. kti-joshua

    Joined:
    Nov 20, 2015
    Messages:
    3
    Likes Received:
    0
    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
    
     
Thread Status:
Not open for further replies.