issues with mid-call handover on App Store Linphone versions - iPhone 8 / iOS 13.1.3

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

issues with mid-call handover on App Store Linphone versions - iPhone 8 / iOS 13.1.3

German Cancio-2
Dear All,

I am testing Linphone (both the current Apple App Store version: 4.2.1, SDK 4.3.1-pre.12+516dacf as well as the TestFlight version: 4.2.1, SDK 4.3.1-pre.6+0f4e35e) mid-call handover on iOS 13.1.3 (using an iPhone 8) … and it does not seem to work!

It is easy to reproduce on two scenarios:

a) Start call on Wifi, continue on mobile network:
1. start a call on Wifi
2. disable Wifi, continuing call on mobile network (LTE/3G)

and

b) Start call on mobile network, continue on Wifi:
1. start a call on mobile network (LTE, 3G)
2. enable Wifi, continuing call on Wifi

Both scenarios fail on iOS 13.1.3 + iPhone 8, while they work correctly on an iPhone 5S running iOS 12.4.4.

I have examined the linphone logs and on iOS 13.1.3 / iPhone 8, there is no attempt to do a new INVITE and to establish new SDP parameters. 

On the iPhone 5, the network detection works. See the corresponding logs:


a) going to Wifi to LTE:

2020-01-25 18:30:35:298 [liblinphone] MESSAGE New Wifi SSID detected: [none]
2020-01-25 18:30:35:299 [liblinphone] MESSAGE Updated HTTP proxy settings: no proxy
2020-01-25 18:30:35:299 [liblinphone] MESSAGE Global network status changed: reachable: [1].
2020-01-25 18:30:35:299 [liblinphone] MESSAGE SIP network reachability state is now [DOWN]
followed by 
2020-01-25 18:30:35:305 [liblinphone] MESSAGE Media network reachability state is now [DOWN]
2020-01-25 18:30:35:305 [liblinphone] MESSAGE SIP network reachability state is now [UP]
2020-01-25 18:30:35:306 [liblinphone] MESSAGE Media network reachability state is now [UP]
2020-01-25 18:30:35:306 [liblinphone] MESSAGE Starting stun server resolution [stun.linphone.org]

b) Going from LTE to Wifi:

2020-01-25 18:30:23:604 [liblinphone] MESSAGE New Wifi SSID detected: MYWIFINAME
2020-01-25 18:30:23:604 [liblinphone] MESSAGE Updated HTTP proxy settings: no proxy
2020-01-25 18:30:23:605 [liblinphone] MESSAGE Global network status changed: reachable: [1].
2020-01-25 18:30:23:605 [liblinphone] MESSAGE SIP network reachability state is now [DOWN]
followed by 
2020-01-25 18:30:23:643 [liblinphone] MESSAGE Media network reachability state is now [DOWN]
2020-01-25 18:30:23:643 [liblinphone] MESSAGE SIP network reachability state is now [UP]
2020-01-25 18:30:23:643 [liblinphone] MESSAGE Media network reachability state is now [UP]
2020-01-25 18:30:23:644 [liblinphone] MESSAGE Starting stun server resolution [stun.linphone.org]


All this is missing on the iPhone8: The SSID status change seems not to be detected on iOS 13.1.3 / iPhone 8.

I have observed this with our own PBX as well as using linphone.org accounts / servers.

Any hints? Anybody else having observed this? Any comments from the developers?

Many thanks,

Germán





_______________________________________________
Linphone-developers mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/linphone-developers
Reply | Threaded
Open this post in threaded view
|

Re: issues with mid-call handover on App Store Linphone versions - iPhone 8 / iOS 13.1.3

German Cancio-2
Interestingly enough, the following works while in mid-call:

- changing from one Wifi network to another
- changing from one mobile network provider to another

it’s really in the specific case of going mid-call from Wifi to mobile network and vice versa where I see it failing.

cheers, Germán


German Cancio / [hidden email]
IT Department
European Organization for Nuclear Research - CERN
CH-1211 Geneva 23, Switzerland


On 25 Jan 2020, at 19:17, German Cancio <[hidden email]> wrote:

Dear All,

I am testing Linphone (both the current Apple App Store version: 4.2.1, SDK 4.3.1-pre.12+516dacf as well as the TestFlight version: 4.2.1, SDK 4.3.1-pre.6+0f4e35e) mid-call handover on iOS 13.1.3 (using an iPhone 8) … and it does not seem to work!

It is easy to reproduce on two scenarios:

a) Start call on Wifi, continue on mobile network:
1. start a call on Wifi
2. disable Wifi, continuing call on mobile network (LTE/3G)

and

b) Start call on mobile network, continue on Wifi:
1. start a call on mobile network (LTE, 3G)
2. enable Wifi, continuing call on Wifi

Both scenarios fail on iOS 13.1.3 + iPhone 8, while they work correctly on an iPhone 5S running iOS 12.4.4.

I have examined the linphone logs and on iOS 13.1.3 / iPhone 8, there is no attempt to do a new INVITE and to establish new SDP parameters. 

On the iPhone 5, the network detection works. See the corresponding logs:


a) going to Wifi to LTE:

2020-01-25 18:30:35:298 [liblinphone] MESSAGE New Wifi SSID detected: [none]
2020-01-25 18:30:35:299 [liblinphone] MESSAGE Updated HTTP proxy settings: no proxy
2020-01-25 18:30:35:299 [liblinphone] MESSAGE Global network status changed: reachable: [1].
2020-01-25 18:30:35:299 [liblinphone] MESSAGE SIP network reachability state is now [DOWN]
followed by 
2020-01-25 18:30:35:305 [liblinphone] MESSAGE Media network reachability state is now [DOWN]
2020-01-25 18:30:35:305 [liblinphone] MESSAGE SIP network reachability state is now [UP]
2020-01-25 18:30:35:306 [liblinphone] MESSAGE Media network reachability state is now [UP]
2020-01-25 18:30:35:306 [liblinphone] MESSAGE Starting stun server resolution [stun.linphone.org]

b) Going from LTE to Wifi:

2020-01-25 18:30:23:604 [liblinphone] MESSAGE New Wifi SSID detected: MYWIFINAME
2020-01-25 18:30:23:604 [liblinphone] MESSAGE Updated HTTP proxy settings: no proxy
2020-01-25 18:30:23:605 [liblinphone] MESSAGE Global network status changed: reachable: [1].
2020-01-25 18:30:23:605 [liblinphone] MESSAGE SIP network reachability state is now [DOWN]
followed by 
2020-01-25 18:30:23:643 [liblinphone] MESSAGE Media network reachability state is now [DOWN]
2020-01-25 18:30:23:643 [liblinphone] MESSAGE SIP network reachability state is now [UP]
2020-01-25 18:30:23:643 [liblinphone] MESSAGE Media network reachability state is now [UP]
2020-01-25 18:30:23:644 [liblinphone] MESSAGE Starting stun server resolution [stun.linphone.org]


All this is missing on the iPhone8: The SSID status change seems not to be detected on iOS 13.1.3 / iPhone 8.

I have observed this with our own PBX as well as using linphone.org accounts / servers.

Any hints? Anybody else having observed this? Any comments from the developers?

Many thanks,

Germán




_______________________________________________
Linphone-developers mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/linphone-developers


_______________________________________________
Linphone-developers mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/linphone-developers
Reply | Threaded
Open this post in threaded view
|

Re: issues with mid-call handover on App Store Linphone versions - iPhone 8 / iOS 13.1.3

German Cancio-2
I found a workaround - working in most cases, but not 100% - as being the following:

Set “Allow Linphone to access Location” to "Never” under the iOS Settings App -> [scroll to almost the bottom] -> Linphone.

And indeed, linphone had requested access to Location information with the following explanation: “[It] allows us to detect Wifi connection changes”.

With this setting put to “Never”, handover ends up working (in most cases) and SIP / SDP exchanges take place for setting the new RTP IP:host endpoints (confirmed by looking at Asterisk RTP logs).

From a quick look at the linphone-iphone git sources , it seems that Location functionality should be used in iOS 13 for checking for network changes, but it’s seemingly not really reliable. 

Comments from the developers?

cheers, Germán

German Cancio / [hidden email]
IT Department
European Organization for Nuclear Research - CERN
CH-1211 Geneva 23, Switzerland


On 25 Jan 2020, at 20:11, German Cancio <[hidden email]> wrote:

Interestingly enough, the following works while in mid-call:

- changing from one Wifi network to another
- changing from one mobile network provider to another

it’s really in the specific case of going mid-call from Wifi to mobile network and vice versa where I see it failing.

cheers, Germán


German Cancio / [hidden email]
IT Department
European Organization for Nuclear Research - CERN
CH-1211 Geneva 23, Switzerland
<CERN-logo-signature.png>

On 25 Jan 2020, at 19:17, German Cancio <[hidden email]> wrote:

Dear All,

I am testing Linphone (both the current Apple App Store version: 4.2.1, SDK 4.3.1-pre.12+516dacf as well as the TestFlight version: 4.2.1, SDK 4.3.1-pre.6+0f4e35e) mid-call handover on iOS 13.1.3 (using an iPhone 8) … and it does not seem to work!

It is easy to reproduce on two scenarios:

a) Start call on Wifi, continue on mobile network:
1. start a call on Wifi
2. disable Wifi, continuing call on mobile network (LTE/3G)

and

b) Start call on mobile network, continue on Wifi:
1. start a call on mobile network (LTE, 3G)
2. enable Wifi, continuing call on Wifi

Both scenarios fail on iOS 13.1.3 + iPhone 8, while they work correctly on an iPhone 5S running iOS 12.4.4.

I have examined the linphone logs and on iOS 13.1.3 / iPhone 8, there is no attempt to do a new INVITE and to establish new SDP parameters. 

On the iPhone 5, the network detection works. See the corresponding logs:


a) going to Wifi to LTE:

2020-01-25 18:30:35:298 [liblinphone] MESSAGE New Wifi SSID detected: [none]
2020-01-25 18:30:35:299 [liblinphone] MESSAGE Updated HTTP proxy settings: no proxy
2020-01-25 18:30:35:299 [liblinphone] MESSAGE Global network status changed: reachable: [1].
2020-01-25 18:30:35:299 [liblinphone] MESSAGE SIP network reachability state is now [DOWN]
followed by 
2020-01-25 18:30:35:305 [liblinphone] MESSAGE Media network reachability state is now [DOWN]
2020-01-25 18:30:35:305 [liblinphone] MESSAGE SIP network reachability state is now [UP]
2020-01-25 18:30:35:306 [liblinphone] MESSAGE Media network reachability state is now [UP]
2020-01-25 18:30:35:306 [liblinphone] MESSAGE Starting stun server resolution [stun.linphone.org]

b) Going from LTE to Wifi:

2020-01-25 18:30:23:604 [liblinphone] MESSAGE New Wifi SSID detected: MYWIFINAME
2020-01-25 18:30:23:604 [liblinphone] MESSAGE Updated HTTP proxy settings: no proxy
2020-01-25 18:30:23:605 [liblinphone] MESSAGE Global network status changed: reachable: [1].
2020-01-25 18:30:23:605 [liblinphone] MESSAGE SIP network reachability state is now [DOWN]
followed by 
2020-01-25 18:30:23:643 [liblinphone] MESSAGE Media network reachability state is now [DOWN]
2020-01-25 18:30:23:643 [liblinphone] MESSAGE SIP network reachability state is now [UP]
2020-01-25 18:30:23:643 [liblinphone] MESSAGE Media network reachability state is now [UP]
2020-01-25 18:30:23:644 [liblinphone] MESSAGE Starting stun server resolution [stun.linphone.org]


All this is missing on the iPhone8: The SSID status change seems not to be detected on iOS 13.1.3 / iPhone 8.

I have observed this with our own PBX as well as using linphone.org accounts / servers.

Any hints? Anybody else having observed this? Any comments from the developers?

Many thanks,

Germán




_______________________________________________
Linphone-developers mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/linphone-developers

_______________________________________________
Linphone-developers mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/linphone-developers


_______________________________________________
Linphone-developers mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/linphone-developers
Reply | Threaded
Open this post in threaded view
|

Re: issues with mid-call handover on App Store Linphone versions - iPhone 8 / iOS 13.1.3

jehan.monnier
Hi Germán,

You are right, with IOS 13, acces location permission is required to get acces to SSID name. We use SSID name to detect WIFi changes.
However, it should not be used for transition from WIFI to cellular.
This being said, it seems IOS13 network transition from WIFI to cellular is not repported to application as it used to be.
We will certainly have to change our code a bit.

Thanks for having  reported us this issue. 


Le 25 janv. 2020 à 21:42, German Cancio <[hidden email]> a écrit :

I found a workaround - working in most cases, but not 100% - as being the following:

Set “Allow Linphone to access Location” to "Never” under the iOS Settings App -> [scroll to almost the bottom] -> Linphone.

And indeed, linphone had requested access to Location information with the following explanation: “[It] allows us to detect Wifi connection changes”.

With this setting put to “Never”, handover ends up working (in most cases) and SIP / SDP exchanges take place for setting the new RTP IP:host endpoints (confirmed by looking at Asterisk RTP logs).

From a quick look at the linphone-iphone git sources , it seems that Location functionality should be used in iOS 13 for checking for network changes, but it’s seemingly not really reliable. 

Comments from the developers?

cheers, Germán

German Cancio / [hidden email]
IT Department
European Organization for Nuclear Research - CERN
CH-1211 Geneva 23, Switzerland
<CERN-logo-signature.png>


On 25 Jan 2020, at 20:11, German Cancio <[hidden email]> wrote:

Interestingly enough, the following works while in mid-call:

- changing from one Wifi network to another
- changing from one mobile network provider to another

it’s really in the specific case of going mid-call from Wifi to mobile network and vice versa where I see it failing.

cheers, Germán


German Cancio / [hidden email]
IT Department
European Organization for Nuclear Research - CERN
CH-1211 Geneva 23, Switzerland
<CERN-logo-signature.png>

On 25 Jan 2020, at 19:17, German Cancio <[hidden email]> wrote:

Dear All,

I am testing Linphone (both the current Apple App Store version: 4.2.1, SDK 4.3.1-pre.12+516dacf as well as the TestFlight version: 4.2.1, SDK 4.3.1-pre.6+0f4e35e) mid-call handover on iOS 13.1.3 (using an iPhone 8) … and it does not seem to work!

It is easy to reproduce on two scenarios:

a) Start call on Wifi, continue on mobile network:
1. start a call on Wifi
2. disable Wifi, continuing call on mobile network (LTE/3G)

and

b) Start call on mobile network, continue on Wifi:
1. start a call on mobile network (LTE, 3G)
2. enable Wifi, continuing call on Wifi

Both scenarios fail on iOS 13.1.3 + iPhone 8, while they work correctly on an iPhone 5S running iOS 12.4.4.

I have examined the linphone logs and on iOS 13.1.3 / iPhone 8, there is no attempt to do a new INVITE and to establish new SDP parameters. 

On the iPhone 5, the network detection works. See the corresponding logs:


a) going to Wifi to LTE:

2020-01-25 18:30:35:298 [liblinphone] MESSAGE New Wifi SSID detected: [none]
2020-01-25 18:30:35:299 [liblinphone] MESSAGE Updated HTTP proxy settings: no proxy
2020-01-25 18:30:35:299 [liblinphone] MESSAGE Global network status changed: reachable: [1].
2020-01-25 18:30:35:299 [liblinphone] MESSAGE SIP network reachability state is now [DOWN]
followed by 
2020-01-25 18:30:35:305 [liblinphone] MESSAGE Media network reachability state is now [DOWN]
2020-01-25 18:30:35:305 [liblinphone] MESSAGE SIP network reachability state is now [UP]
2020-01-25 18:30:35:306 [liblinphone] MESSAGE Media network reachability state is now [UP]
2020-01-25 18:30:35:306 [liblinphone] MESSAGE Starting stun server resolution [stun.linphone.org]

b) Going from LTE to Wifi:

2020-01-25 18:30:23:604 [liblinphone] MESSAGE New Wifi SSID detected: MYWIFINAME
2020-01-25 18:30:23:604 [liblinphone] MESSAGE Updated HTTP proxy settings: no proxy
2020-01-25 18:30:23:605 [liblinphone] MESSAGE Global network status changed: reachable: [1].
2020-01-25 18:30:23:605 [liblinphone] MESSAGE SIP network reachability state is now [DOWN]
followed by 
2020-01-25 18:30:23:643 [liblinphone] MESSAGE Media network reachability state is now [DOWN]
2020-01-25 18:30:23:643 [liblinphone] MESSAGE SIP network reachability state is now [UP]
2020-01-25 18:30:23:643 [liblinphone] MESSAGE Media network reachability state is now [UP]
2020-01-25 18:30:23:644 [liblinphone] MESSAGE Starting stun server resolution [stun.linphone.org]


All this is missing on the iPhone8: The SSID status change seems not to be detected on iOS 13.1.3 / iPhone 8.

I have observed this with our own PBX as well as using linphone.org accounts / servers.

Any hints? Anybody else having observed this? Any comments from the developers?

Many thanks,

Germán




_______________________________________________
Linphone-developers mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/linphone-developers

_______________________________________________
Linphone-developers mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/linphone-developers

_______________________________________________
Linphone-developers mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/linphone-developers


_______________________________________________
Linphone-developers mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/linphone-developers
Reply | Threaded
Open this post in threaded view
|

Re: issues with mid-call handover on App Store Linphone versions - iPhone 8 / iOS 13.1.3

German Cancio-2
many thanks for your feedback Jehan!
cheers, Germán


On 28 Jan 2020, at 17:56, Jehan Monnier <[hidden email]> wrote:

Hi Germán,

You are right, with IOS 13, acces location permission is required to get acces to SSID name. We use SSID name to detect WIFi changes.
However, it should not be used for transition from WIFI to cellular.
This being said, it seems IOS13 network transition from WIFI to cellular is not repported to application as it used to be.
We will certainly have to change our code a bit.

Thanks for having  reported us this issue. 


Le 25 janv. 2020 à 21:42, German Cancio <[hidden email]> a écrit :

I found a workaround - working in most cases, but not 100% - as being the following:

Set “Allow Linphone to access Location” to "Never” under the iOS Settings App -> [scroll to almost the bottom] -> Linphone.

And indeed, linphone had requested access to Location information with the following explanation: “[It] allows us to detect Wifi connection changes”.

With this setting put to “Never”, handover ends up working (in most cases) and SIP / SDP exchanges take place for setting the new RTP IP:host endpoints (confirmed by looking at Asterisk RTP logs).

From a quick look at the linphone-iphone git sources , it seems that Location functionality should be used in iOS 13 for checking for network changes, but it’s seemingly not really reliable. 

Comments from the developers?

cheers, Germán

German Cancio / [hidden email]
IT Department
European Organization for Nuclear Research - CERN
CH-1211 Geneva 23, Switzerland
<CERN-logo-signature.png>


On 25 Jan 2020, at 20:11, German Cancio <[hidden email]> wrote:

Interestingly enough, the following works while in mid-call:

- changing from one Wifi network to another
- changing from one mobile network provider to another

it’s really in the specific case of going mid-call from Wifi to mobile network and vice versa where I see it failing.

cheers, Germán


German Cancio / [hidden email]
IT Department
European Organization for Nuclear Research - CERN
CH-1211 Geneva 23, Switzerland
<CERN-logo-signature.png>

On 25 Jan 2020, at 19:17, German Cancio <[hidden email]> wrote:

Dear All,

I am testing Linphone (both the current Apple App Store version: 4.2.1, SDK 4.3.1-pre.12+516dacf as well as the TestFlight version: 4.2.1, SDK 4.3.1-pre.6+0f4e35e) mid-call handover on iOS 13.1.3 (using an iPhone 8) … and it does not seem to work!

It is easy to reproduce on two scenarios:

a) Start call on Wifi, continue on mobile network:
1. start a call on Wifi
2. disable Wifi, continuing call on mobile network (LTE/3G)

and

b) Start call on mobile network, continue on Wifi:
1. start a call on mobile network (LTE, 3G)
2. enable Wifi, continuing call on Wifi

Both scenarios fail on iOS 13.1.3 + iPhone 8, while they work correctly on an iPhone 5S running iOS 12.4.4.

I have examined the linphone logs and on iOS 13.1.3 / iPhone 8, there is no attempt to do a new INVITE and to establish new SDP parameters. 

On the iPhone 5, the network detection works. See the corresponding logs:


a) going to Wifi to LTE:

2020-01-25 18:30:35:298 [liblinphone] MESSAGE New Wifi SSID detected: [none]
2020-01-25 18:30:35:299 [liblinphone] MESSAGE Updated HTTP proxy settings: no proxy
2020-01-25 18:30:35:299 [liblinphone] MESSAGE Global network status changed: reachable: [1].
2020-01-25 18:30:35:299 [liblinphone] MESSAGE SIP network reachability state is now [DOWN]
followed by 
2020-01-25 18:30:35:305 [liblinphone] MESSAGE Media network reachability state is now [DOWN]
2020-01-25 18:30:35:305 [liblinphone] MESSAGE SIP network reachability state is now [UP]
2020-01-25 18:30:35:306 [liblinphone] MESSAGE Media network reachability state is now [UP]
2020-01-25 18:30:35:306 [liblinphone] MESSAGE Starting stun server resolution [stun.linphone.org]

b) Going from LTE to Wifi:

2020-01-25 18:30:23:604 [liblinphone] MESSAGE New Wifi SSID detected: MYWIFINAME
2020-01-25 18:30:23:604 [liblinphone] MESSAGE Updated HTTP proxy settings: no proxy
2020-01-25 18:30:23:605 [liblinphone] MESSAGE Global network status changed: reachable: [1].
2020-01-25 18:30:23:605 [liblinphone] MESSAGE SIP network reachability state is now [DOWN]
followed by 
2020-01-25 18:30:23:643 [liblinphone] MESSAGE Media network reachability state is now [DOWN]
2020-01-25 18:30:23:643 [liblinphone] MESSAGE SIP network reachability state is now [UP]
2020-01-25 18:30:23:643 [liblinphone] MESSAGE Media network reachability state is now [UP]
2020-01-25 18:30:23:644 [liblinphone] MESSAGE Starting stun server resolution [stun.linphone.org]


All this is missing on the iPhone8: The SSID status change seems not to be detected on iOS 13.1.3 / iPhone 8.

I have observed this with our own PBX as well as using linphone.org accounts / servers.

Any hints? Anybody else having observed this? Any comments from the developers?

Many thanks,

Germán




_______________________________________________
Linphone-developers mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/linphone-developers

_______________________________________________
Linphone-developers mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/linphone-developers

_______________________________________________
Linphone-developers mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/linphone-developers

_______________________________________________
Linphone-developers mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/linphone-developers


_______________________________________________
Linphone-developers mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/linphone-developers