3cx network hopping -- between 4g/wifi causes client to lose connection

Status
Not open for further replies.

Brad Cann

Customer
Basic Certified
Joined
May 5, 2017
Messages
120
Reaction score
18
Gday All,

Has anyone had any issues when network hopping (IE, client on mobile in office in wifi environment, then goes for drive in car on 4g, causes the 3cx client to not function or refuse to connect without killing the client on the phone (Latest client on android, latest 15.5 sp2 server version).

This does seem to have been happening for a while.
 
  • Like
Reactions: nitrox
It may depend on how the phone itself handles (conveys to Apps) that one method of network access is no longer available. Do you normally just leave both 4G and Wifi enabled continuously and then expect the phone to switch seamlessly between the two? Do you try turning off Wifi when you leave the office, forcing Apps to now switch to 4G and the phone to acquire a new IP?
 
It may depend on how the phone itself handles (conveys to Apps) that one method of network access is no longer available. Do you normally just leave both 4G and Wifi enabled continuously and then expect the phone to switch seamlessly between the two? Do you try turning off Wifi when you leave the office, forcing Apps to now switch to 4G and the phone to acquire a new IP?

This is across multiple models of android mobiles (Samsung S7, Samsung J3 2016 edition, google pixel xl2/xl1) and asking staff to manually turn off wireless to force a reconnect to 3g/4g is incredulous given every other app manages the transition just fine.
 
Hello @Brad Cann,

What version are you running?

Thank you
 
Last edited:
15.5.159 and at least the last 5+ versions. I also notice there is another thread about this recently.

https://www.3cx.com/community/threa...offline-after-around-a-day.51754/#post-214663

And this thread too.
https://www.3cx.com/community/threa...mpletely-unreliable-for-entreprise-use.52586/

3cx is working to solve the issue on android. In the beta version 15.5.196 the problem is still there. I have the same issue on different smartphones. So no solution for you and your customers until 3cx fix it. No problem on iOS.
 
I believe the user above is reporting the fact that the 3CX Client unregisters once it goes to the background. Unrelated to the latest issue it the beta regarding 3G not registering your client at all.

This is expected behavior. The application uses PUSH notifications to wake up the application even if it's not running.
 
I have found, with both iPhone and Android, is that there is approx. 1 minute after changing networks that calls won't go through to the app. I imagine this is the period of time it takes the app to re-register with the push notification server.
 
The phone itself has to detect that the original network connection is no longer available, and there may be a delay while it retries. That is dependant on how the phone handles switching between network. It then has to "give up" and re-connect using another method. Then re-registration has to happen.
 
We're having the same problem on a large scale.
To be really honest: One should expect that a mobile telephony app ‘deals’ with unreliable network conditions, because those conditions can be expected in the real world.

Compare this to Whatsapp Audio, or Skype, or FaceTime audio: if those softphone-apps ever lose connectivity, they just re-connect you to the ongoing call and don’t just hang up. You can even disconnect your wifi, switch your phone to 4G and still have it reconnected!

The 3CX client just terminates the call. This is a very illogical and undesirable behavior. The softphone should only hangup/disconnect if the user really presses the ‘hangup’ button; not just because the connection has a really really short disruption of whatever kind.

(we now have >20 reports of users asking for a solution for this, because this is happening in offices, homes, hotels, everywhere)
 
  • Like
Reactions: Fadi S Nori
We've had a few reports from users using the latest beta .208 that the main issue reported in this thread seems to be resolved. A full release instead of a beta should be available quite soon.

We're hoping to give you something sometime next week.
As always, to register for the beta, please follow the links available in this blog post: https://www.3cx.com/blog/releases/voip-client-android-beta/
 
The phone itself has to detect that the original network connection is no longer available, and there may be a delay while it retries. That is dependant on how the phone handles switching between network. It then has to "give up" and re-connect using another method. Then re-registration has to happen.
Then why would PJSIP introduce new API?:confused:
 
@Sopock how you would reconnect a held call?
I mean, you're on a call and the remote party put you on hold; while listening music on hold, you move from one office to another, therefore switching from one WiFi to another. So, how will you handle the call in this case?
 
Or the other way round would be when remote party is on PSTN.

PBX should notice that at some point mobile client will stop sending audio. This will trigger on hold music which will hear PSTN side.

Mobile app will not terminate the call. During reconnect attempt app can even play local on hold music?

A tries to update its Contact header via UPDATE without SDP
 
PBX should notice that at some point mobile client will stop sending audio. This will trigger on hold music which will hear PSTN side.
many (most?) PSTN gateways use this method (silence) as one of the disconnect options. Unfortunately, it isn't the most reliable and can be triggered when one side is on hold, listening to low level music, and should be the choice of last resort.

What time-out do you choose? 30 seconds, 3 minutes? In any senario, you will get have issues and complaints.
 
I wish to clarify the objectives in this case.
It is most certainly not important to 'notify' the other call party with hold-music or a special tone.
The main focus should be that 'our' end disconnects the call and can't resume it. Currently, it just hangs up.

Example:
When a user on 'our' end walks away and somehow gets shortly disconnected, his 3CX app should seek re-instating connection with the PBX and resume the conversation. For example, by setting up a new audio path.
For the remote end, they'll hear a few seconds of silence and then hear the called party again.

This is the point you should be investigating. In my opinion it's only a secondary objective / added 'extra' that the remote party gets put on hold when the PBX detects that the other party has not hang up, but audio has temporarily stopped.
 
It seems the case I exposed earlier was not very clear: shortly - a held call cannot be re-invited. Add to this cases of:
- new network is unauthenticated captive WiFi
- new network is blocking ports 5060/5090
- new network is a not-allowed 3G/4G
- switch between in-office Wi-Fi to out-of-office tunneled.
- remote party does not support replaces/reinvite
- remote party does not allow multiple calls.
Now, honestly, do you think that we never tried this feature?
 
Last edited:
For the remote end, they'll hear a few seconds of silence and then hear the called party again.

If it were possible, as you desire, the re-connect time may be more than just "a few seconds", and in fact, depending on each scenario, may be long enough to cause the other end to hang up, thinking they were dropped, especially if it happened mid sentence.

If this is a concern, in an office, there are (not inexpensive) Wifi solutions that are able to do hand-offs from access point to access point. Changing IP and possibly connection method become much more difficult without an intelligent network in the background. Consider mobile pone calls. as you move from the coverage area of one tower to another, there is a lot of work, going on in the background, to do a hand-off that doesn't drop the call, sort even cause an interruption. They can do that smoothly because they control both "from" and "to" ends
 
Last edited:
Status
Not open for further replies.

Forum statistics

Threads
112,149
Messages
590,966
Members
165,171
Latest member
Mahlon