Menu

#121 Call cut when using 3G if known WiFi becomes available

Accepted
nobody
None
Medium
Defect
2013-08-22
2010-07-31
Anonymous
No

Originally created by: kro...@gmail.com
Originally owned by: r3gis...@gmail.com

What steps will reproduce the problem?
Make 3G call.  Move towards WiFi router until in range.

What is the expected output? What do you see instead?
Ideally, call should continue over 3G until finished preventing WiFi from taking over.  Perhaps disable WiFi during 3G calls, although that might conflict with my Y5 Battery Saver or similar.  Even better would be to forward call to WiFi interface once connection made.

What version of the product are you using? On what operating system?
0.00-12-06, Nexus 2.2

Discussion

  • Anonymous

    Anonymous - 2010-08-09

    Originally posted by: r3gis...@gmail.com

    Yes, the second solution should be the correct behavior.
    There is some piece of code that already re-register each time network is changed.
    But never tested. Probably something to be deeply tested.
    I think that there is a brief instant while there is no connection available at all. And so, the sip stack just teardown instead of staying connected and waiting a while for a new connection (that will allow, just by re-registration to update voice path sending the good new sdp offers).

    Maybe difficult to test for me (my gsm provider block 3G SIP calls). But will try with wifi to another wifi spot. (Maybe same the thing can be observed). Or if Bob or Micheal want to take the point, they would be welcome.

    Status: Accepted

     
  • Anonymous

    Anonymous - 2010-08-10

    Originally posted by: r3gis...@gmail.com

    http://trac.pjsip.org/repos/wiki/Symbian_AP_Reconnection < Technical article from pjsip to follow to manage this issue.

    My first comment was wrong (I didn't remember this article very well since).
    The good way seems to be stop the stack and then, restart it. But as I previously said, I never tested it, and there is maybe consistency issues with the user interface.

     
  • Anonymous

    Anonymous - 2010-08-14

    Originally posted by: egcros...@gmail.com

    Please note that if the peer does *not* have the "capability to switch its RTP/RTCP transmission to the source address of the RTP/RTCP packets" mentioned in the article that you cited, you will need to modify existing SIP and SDP sessions (give them the new IP address of yourself) with a new INVITE, mentioned as pjsip_inv_reinvite() in the article, that is said to be not fully working.

    This is my understanding of the issue (but I must say that I only have theoretical knowledge of the protocol).

     
  • Anonymous

    Anonymous - 2010-08-16

    Originally posted by: kro...@gmail.com

    I've tested a 3g call swapping over to wifi and it works.  So it can be marked as solved.  However if you move out of wifi range (or switch it off) it doesn't switch back to 3g, as there's no connection to do handover.  I suppose the solution would be enable 3g when a call starts, having it ready for switch over if wifi connection drops below a certain level or fails.

    Thoughts?

     
  • Anonymous

    Anonymous - 2010-08-16

    Originally posted by: r3gis...@gmail.com

    Strange that now it works.
    I didn't change anything on that point keeping my old method that just destroy the sip stack and start it again when connection is lost. (This is one of the solution proposed by pjsip guys - the other described by egcrosser is not fully working).
    What is possible is that my method is not stable enough (probably the first time you get the issue it was a 3G -> Wifi and this time 3G -> Nothing -> Wifi. (the nothing force the sip stack to restart).
    I should probably do thing cleaner on that point. So I'll not close this issue yet, still work to do on it.

    For your second point Wifi -> No 3G I have this one sometimes too. Maybe linked to the fact an app keep a wifi lock (that's the case of csispimple while in call) or maybe keep some open sockets. So there is also clean things to do on that point to cleanly stop the stack when connection is lost.

    Owner: r3gis.3R

     
  • Anonymous

    Anonymous - 2011-06-11

    Originally posted by: r3gis...@gmail.com

    As per issue 1033, should also ensure this does not break outgoing calls too.

     

    Related

    Tickets: #1033

  • Anonymous

    Anonymous - 2011-07-01

    Originally posted by: perry.lu...@gmail.com

    Info Request:

    Regis,

    I have a few questions on the following works in PjSip and if it does how is it done in CSipSimple as I did not find any code references to it.

    1. Re-register with the new IP address when switching between 3g and WiFi (manually or moving in-out of coverage).
    2. IP address change when on 3g. How do you get notified on IP address change  and what action do you take?
    3. How to re-invite in the middle of a call with new IP address if WiFi becomes available and is in range for use.

    Your answers with references to your code blocks are highly appreciated. I am studying your code to potentially do similar to what Keyyo-VoIP has done and want to make sure you have it all covered as those are some of the requirements that my product management is putting on me.

    Thanks,
    Perry

     
  • Anonymous

    Anonymous - 2011-09-02

    Originally posted by: grndcntr...@gmail.com

    r3gis: you cant use sip over your 3g if your carrier sees it as sip, try openvpn =]

     
  • Anonymous

    Anonymous - 2013-03-28

    Originally posted by: 7778...@gmail.com

    Im new here, pleas help me. Im im using CSIPsimple on my Galaxy Note as a remote extension of my own PBX system, it worked well for few days, but suddenly it disconnected and cant register to my SIP account anymore. I switched to Wifi (ADSL internet) and now t works only on Wifi but not on 3G, so my 3G provider confirmed they dont allow voip calls. is there any possibility to overcome my 3G operator's restriction?

     
  • Anonymous

    Anonymous - 2013-08-21

    Originally posted by: onmyway...@gmail.com

    Hi Regis, can you sum up? What you do when network changes during call ? Do you destroy and create pjsip again? Or do you send reINVITE ?

     
  • Anonymous

    Anonymous - 2013-08-21

    Originally posted by: r3gis...@gmail.com

    If *during a call*, nothing. If ICE is enabled or remote side supports (like pjsip) rtp sources changes, media will be updated as soon as only one change its network (which should be sufficient to get media of the call still active). Nothing is done currently to update dialog contact.

    In general, the implementation in csipsimple is made with mind the pjsip guidelines that you can read here :
    http://trac.pjsip.org/repos/wiki/IPAddressChange

     
  • Anonymous

    Anonymous - 2013-08-22

    Originally posted by: onmyway...@gmail.com

    Have you stumbled upon rtpproxy? Many devices nowadays are behind "Symmetric NAT", so using rtpproxy is a must. Unfortunately, its default behavior is to NOT accept rtp packets from new IP.
    Also, I read that you said, NDK native socket is still using 3G interface even if we turn on Wifi, right ?

     

Log in to post a comment.