Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Polish Play VoWIFI #17

Open
adryb opened this issue Feb 8, 2023 · 44 comments
Open

Polish Play VoWIFI #17

adryb opened this issue Feb 8, 2023 · 44 comments

Comments

@adryb
Copy link

adryb commented Feb 8, 2023

Hi, thanks for your app!

Polish operator - Orange - works well! VoWIFI and VoLTE - great!
Polish operator - Plus - works well! VoWIFI and VoLTE - great!
Polish operator - T-Mobile - VoWIFI, VoLTE not working at all, i see thet phone asks for edge servers via WiFi but dont attepming to connect.

Polish operator - Play - works well! VoLTE - but no VoWIFi.

I see that there is trying to connect to edge operator server and after some handshake connection dropped logs below.

Maybe some is verified ? Maybe usser agent? I see this can be modified - how to check other User Agent? For example from working samsung?

TCPDUMP for Play:
16:41:47.879021 IP 192.168.253.195.47741 > 89.108.200.112.500: isakmp: parent_sa ikev2_init
16:41:47.919832 IP 89.108.200.112.500 > 192.168.253.195.47741: isakmp: parent_sa ikev2_init[R]
16:41:47.942979 IP 192.168.253.195.43066 > 89.108.200.112.500: isakmp: parent_sa ikev2_init
16:41:47.983686 IP 89.108.200.112.500 > 192.168.253.195.43066: isakmp: parent_sa ikev2_init[R]
16:41:48.016234 IP 192.168.253.195.53081 > 89.108.200.112.4500: NONESP-encap: isakmp: child_sa ikev2_auth
16:41:48.163529 IP 89.108.200.112.4500 > 192.168.253.195.53081: NONESP-encap: isakmp: child_sa ikev2_auth[R]
16:41:48.315983 IP 192.168.253.195.53081 > 89.108.200.112.4500: NONESP-encap: isakmp: child_sa ikev2_auth
16:41:48.406161 IP 89.108.200.112.4500 > 192.168.253.195.53081: NONESP-encap: isakmp: child_sa ikev2_auth[R]
16:41:48.417290 IP 192.168.253.195.53081 > 89.108.200.112.4500: NONESP-encap: isakmp: child_sa ikev2_auth
16:41:48.481634 IP 89.108.200.112.4500 > 192.168.253.195.53081: UDP-encap: ESP(spi=0x59cfb5b6,seq=0x1), length 168
16:41:48.481688 IP 89.108.200.112.4500 > 192.168.253.195.53081: NONESP-encap: isakmp: child_sa ikev2_auth[R]
16:41:49.730284 IP 192.168.253.195.53081 > 89.108.200.112.4500: UDP-encap: ESP(spi=0x051b016c,seq=0x1), length 1304
16:41:49.730285 IP 192.168.253.195.53081 > 89.108.200.112.4500: UDP-encap: ESP(spi=0x051b016c,seq=0x2), length 1128
16:41:49.795468 IP 89.108.200.112.4500 > 192.168.253.195.53081: UDP-encap: ESP(spi=0x59cfb5b6,seq=0x2), length 168
16:41:50.104259 IP 89.108.200.112.4500 > 192.168.253.195.53081: UDP-encap: ESP(spi=0x59cfb5b6,seq=0x3), length 1464
16:41:50.169513 IP 192.168.253.195.53081 > 89.108.200.112.4500: UDP-encap: ESP(spi=0x051b016c,seq=0x3), length 168
16:41:50.193627 IP 89.108.200.112.4500 > 192.168.253.195.53081: UDP-encap: ESP(spi=0x59cfb5b6,seq=0x4), length 936
16:41:50.219036 IP 89.108.200.112.4500 > 192.168.253.195.53081: UDP-encap: ESP(spi=0x59cfb5b6,seq=0x5), length 792
16:41:50.223319 IP 192.168.253.195.53081 > 89.108.200.112.4500: UDP-encap: ESP(spi=0x051b016c,seq=0x4), length 168
16:41:50.246168 IP 192.168.253.195.53081 > 89.108.200.112.4500: UDP-encap: ESP(spi=0x051b016c,seq=0x5), length 168
16:41:50.246168 IP 192.168.253.195.53081 > 89.108.200.112.4500: UDP-encap: ESP(spi=0x051b016c,seq=0x6), length 168
16:41:50.249155 IP 192.168.253.195.53081 > 89.108.200.112.4500: UDP-encap: ESP(spi=0x051b016c,seq=0x7), length 168
16:41:50.265083 IP 192.168.253.195.53081 > 89.108.200.112.4500: UDP-encap: ESP(spi=0x051b016c,seq=0x8), length 168
16:41:50.267608 IP 192.168.253.195.53081 > 89.108.200.112.4500: UDP-encap: ESP(spi=0x051b016c,seq=0x9), length 168
16:41:50.282822 IP 192.168.253.195.53081 > 89.108.200.112.4500: UDP-encap: ESP(spi=0x051b016c,seq=0xa), length 120
16:41:50.295657 IP 89.108.200.112.4500 > 192.168.253.195.53081: UDP-encap: ESP(spi=0x59cfb5b6,seq=0x6), length 168
16:41:50.295713 IP 89.108.200.112.4500 > 192.168.253.195.53081: UDP-encap: ESP(spi=0x59cfb5b6,seq=0x7), length 168
16:41:50.317985 IP 89.108.200.112.4500 > 192.168.253.195.53081: UDP-encap: ESP(spi=0x59cfb5b6,seq=0x8), length 168
16:41:50.318042 IP 89.108.200.112.4500 > 192.168.253.195.53081: UDP-encap: ESP(spi=0x59cfb5b6,seq=0x9), length 168
16:41:50.359287 IP 192.168.253.195.53081 > 89.108.200.112.4500: NONESP-encap: isakmp: child_sa inf2
16:41:50.399064 IP 89.108.200.112.4500 > 192.168.253.195.53081: NONESP-encap: isakmp: child_sa inf2[R]

@JaCzekanski
Copy link

Can confirm the same behavior on Pixel 6 with Play SIM card - VoLTE works (it actually did without this hack), VoWIFI does not.

@bige93
Copy link

bige93 commented Feb 9, 2023

Same here with Pixel 6 running on T-Mobile Poland network.

Since Android 13 VoLTE works on Pixel 6 out of the box, but not WiFi Calling.

I followed your instructions and run the script, then switched WiFi Calling on in the app.
WiFi Calling setting appeared right away, however I couldn't force it to work even after few reboots.
On top of that, whenever WiFi Calling is enabled in the device settings, phone can't register for VoLTE and calls are being placed over 3G.

Carrier supports WiFi Calling and I have it enabled on my line (I was using it with iPhone 7 previously).

Thanks!

@adryb
Copy link
Author

adryb commented Feb 9, 2023

I had a chance to check the same - with root and Magisk module - the same with Play - VoLTE works, VoWIFI trying to connect as with your application.

@kyujin-cho can you help me with troubleshoot? I can do this on rooted firmware with root access.

@kyujin-cho
Copy link
Owner

kyujin-cho commented Feb 9, 2023

Hi! Thanks for the report. Method to retrieve IMS User-Agent value varies by manufacturer. For example, in Pixel, you need to dial ##0702## from default dialer and look up for IMS_USER_AGENT.

@adryb
Copy link
Author

adryb commented Feb 9, 2023

On my pixel - stock rom - this code not works -> ##0702## its going as ussd.

@JaCzekanski
Copy link

On my pixel - stock rom - this code not works -> ##0702## its going as ussd.

@adryb I think it's supposed to be *#*#0702#*#*

@adryb
Copy link
Author

adryb commented Feb 9, 2023

Ok on google its:

#MANUFACTURE#_#MODEL#Android #AV##BUILD#

@danparidae
Copy link

For me on Pixel 6 and Play sim it's
#MANUFACTURE#_#MODEL#_Android #AV#_#BUILD#

@adryb
Copy link
Author

adryb commented Feb 17, 2023

I made a lot of tests, on rooted phone too. Tried to capture traffic on phone side - in ipsec tunnel there is sedond tunnel that communicates with operator devces, i see only that fter some handshake(?) operator closes connection.

Its not related to patch.

@kszaq
Copy link
Contributor

kszaq commented Feb 18, 2023

@adryb Can you post a result of adb shell dumpsys carrier_config with Play SIM?

@adryb
Copy link
Author

adryb commented Feb 18, 2023

Sure. Attached.
cc_pixel.log

@kszaq
Copy link
Contributor

kszaq commented Feb 18, 2023

Thanks. The only difference I can see between Orange PL (working) and Play (not working) is that for Play, "ims" APN is defined in carrier settings. Can you try to add APN "ims" with any name and only APN type set to "ims", other options at default?

@adryb
Copy link
Author

adryb commented Feb 18, 2023

Yep! That worked!!!!! IM ABLE TO CALL VIA VOWIFI!!!!

Which line this shows you?

@kszaq
Copy link
Contributor

kszaq commented Feb 18, 2023

It's not a line from carrier_config. I looked at carrier settings in /system/product/etcCarrierSettings/. You can decode them using protoc --decode_raw. For Play, ims APN is defined for only some bearers, I assume LTE and UMTS and because of this it's not used for IWLAN. If you redefine ims with no bearer, it is used for all network types and makes IMS register over WLAN.

@NXij
Copy link

NXij commented Feb 18, 2023

bearer_bitmask: "18" should be for IWLAN then yeah. Not seeing a way to change it through the Carriersettings api.
android.permission.WRITE_APN_SETTINGS is also a system permissions so cant do rootless.

One might have to do it every time theres a software update

@adryb
Copy link
Author

adryb commented Feb 18, 2023

Yes, its working after phone restart too! Everything is wotking well, i have physical sim Play and esim Plus, both works!

@JaCzekanski
Copy link

Thanks. The only difference I can see between Orange PL (working) and Play (not working) is that for Play, "ims" APN is defined in carrier settings. Can you try to add APN "ims" with any name and only APN type set to "ims", other options at default?

Thank you, that actually worked!

Here are the settings for APN if anyone having issues:
Screenshot_20230220-153023

@exolon
Copy link

exolon commented Feb 22, 2023

Rats, not even this worked for me (I'm in Greece btw)... VolTE is provisioned, there is the option in the SIM settings (and turned on of course) but everything is not registered or unavailable... Mainly, IMS Registration is Not Registered, even with the VPN :( Any other ideas? Pixel 7 Pro here.

@ciarancoffey
Copy link

The APN method worked for me on GoMo in Ireland.

@bige93
Copy link

bige93 commented Mar 11, 2023

Tried adding ims APN and WiFi calling indeed works in Pixel 6a on Play.
The only issue is device still thinks it's on VoWiFi for like a minute after WiFi is disconnected and requires airplane mode toggle to get it back on VoLTE.
Pixel IMS app is courtesy of @kszaq from this post.
Screenshot_20230311-115824 (1)
Screenshot_20230311-115140~2
Screenshot_20230311-114731~2
Screenshot_20230311-115029
Screenshot_20230311-115052~2

@lepricon
Copy link

lepricon commented Mar 23, 2023

For Pixel6 TMobile VoLTE works with both stock and PixelIMS v1.2.3. But VoWiFi doesn't (unregisters in a moment), even with APN set to IMS. Additionally no mobile internet with changed APN. How to debug this for T-Mobile case?

@danparidae
Copy link

For Pixel6 TMobile VoLTE works with both stock and PixelIMS v1.2.3. But VoWiFi doesn't (unregisters in a moment), even with APN set to IMS. Additionally no mobile internet with changed APN. How to debug this for T-Mobile case?

You've messed up adding this APN. Try to remove it and add again exactly as it was supposed to look, like on screenshots above

@lepricon
Copy link

For Pixel6 TMobile VoLTE works with both stock and PixelIMS v1.2.3. But VoWiFi doesn't (unregisters in a moment), even with APN set to IMS. Additionally no mobile internet with changed APN. How to debug this for T-Mobile case?

You've messed up adding this APN. Try to remove it and add again exactly as it was supposed to look, like on screenshots above

Right! Only three should be changed (Name, APN, APN Type), but lots are displayed. Works with T-Mobile also. Thanks

@hvandenbroeck
Copy link

Creating the APN worked for Orange Belgium + pixel 6 as well.
Thank you!

@mano922
Copy link

mano922 commented Apr 4, 2023

Hello,
I have a problem with VoWiFi in Orange Poland in Pixel 7 Pro.
VoLTE works fine.
VoWiFi is working with my SIM card on different phone (Xiaomi)

On Pixel 7 Pro I have applied patch, VoWiFi enabled in options but I am not able to make calls with VoWiFI

Added "ims" APN as shown above but it does not help (only three options changed as mentioned above).
Now I have 3 APNs: 2 defaults: "Orange Internet", "Orange MMS" and new "ims".

Do you have maybe any idea what can be still missing?

@kszaq
Copy link
Contributor

kszaq commented Apr 4, 2023

Hello,
I have a problem with VoWiFi in Orange Poland in Pixel 7 Pro.
VoLTE works fine.
VoWiFi is working with my SIM card on different phone (Xiaomi)

On Pixel 7 Pro I have applied patch, VoWiFi enabled in options but I am not able to make calls with VoWiFI

Added "ims" APN as shown above but it does not help (only three options changed as mentioned above).
Now I have 3 APNs: 2 defaults: "Orange Internet", "Orange MMS" and new "ims".

Do you have maybe any idea what can be still missing?

For Orange PL you don't need to add IMS APN - you can reset APN settings to default to revert this. Check in Settings what is your WiFi Calling preference, it may default to calling over mobile unless it's not available.

@mano922
Copy link

mano922 commented Apr 4, 2023

Hello,
I have a problem with VoWiFi in Orange Poland in Pixel 7 Pro.
VoLTE works fine.
VoWiFi is working with my SIM card on different phone (Xiaomi)
On Pixel 7 Pro I have applied patch, VoWiFi enabled in options but I am not able to make calls with VoWiFI
Added "ims" APN as shown above but it does not help (only three options changed as mentioned above).
Now I have 3 APNs: 2 defaults: "Orange Internet", "Orange MMS" and new "ims".
Do you have maybe any idea what can be still missing?

For Orange PL you don't need to add IMS APN - you can reset APN settings to default to revert this. Check in Settings what is your WiFi Calling preference, it may default to calling over mobile unless it's not available.

Thanks a lot for your comment and help.
Unfortunately it does not solve the problem.
I removed IMS APN by resetting APN settings and restarted the phone.

I have tested it in airplane mode as well as with the "WiFi only" setting for WiFi calling. In both cases it does not work and when trying to make a call the message: "Wireless networks are disabled" is displayed and it is not possible to make a call (at that time WiFi is of course connected).

Attached carrier config (with removed IMS APN) for completeness.
logCarrierConfig.txt

@kszaq
Copy link
Contributor

kszaq commented Apr 5, 2023

@mano922 I compared your carrier config with mine and the only difference is that you have qns.block_ipv6_only_wifi_bool = true in mConfigFromDefaultApp, which seems to be specific to Pixel 7. Today evening, I'll try to build an APK for you with an option to disable this.

@mano922
Copy link

mano922 commented Apr 5, 2023

@mano922 I compared your carrier config with mine and the only difference is that you have qns.block_ipv6_only_wifi_bool = true in mConfigFromDefaultApp, which seems to be specific to Pixel 7. Today evening, I'll try to build an APK for you with an option to disable this.

Thanks a lot.

@kszaq
Copy link
Contributor

kszaq commented Apr 5, 2023

@mano922 You can try this APK:
app-debug-631c8db.zip
You need to unpack it and remove Kyujin-Cho's APK before installation because of signature mismatch.
Please note that it is from my custom branch with some additional toggles. Try to disable "Block IPv6-only WiFi".

@mano922
Copy link

mano922 commented Apr 5, 2023

@mano922 You can try this APK: app-debug-631c8db.zip You need to unpack it and remove Kyujin-Cho's APK before installation because of signature mismatch. Please note that it is from my custom branch with some additional toggles. Try to disable "Block IPv6-only WiFi".

Thanks a lot for providing your APK.
Unfortunately this updated APK does not solve the problem and the behavior is exactly the same as previously (WiFi calling does not work and VoLTE works fine).

When WiFi calling is activated in settings (options "Use Wifi" or "Wifi only") then IMS status is unregistered and VoLTE unavailable. When WiFi calling is deactivated in settings then IMS status is registered and VoLTE available.

Please find attached new carrier config. It looks that qns.block_ipv6_only_wifi_bool is set to false.
logCarrierUpd.txt

@kszaq
Copy link
Contributor

kszaq commented Apr 5, 2023

Unfortunately, at this point I am out of ideas what could possibly help. The same carrier config is working for me on Pixel 6 with Orange PL SIM, with latest QPR Beta.

I also remember that at some point in the past @kyujin-cho mentioned that you may need to use "Reset Wi-Fi, mobile & Bluetooth". If you can forget these settings, it may be worth a try.

@mano922
Copy link

mano922 commented Apr 6, 2023

Unfortunately, at this point I am out of ideas what could possibly help. The same carrier config is working for me on Pixel 6 with Orange PL SIM, with latest QPR Beta.

I also remember that at some point in the past @kyujin-cho mentioned that you may need to use "Reset Wi-Fi, mobile & Bluetooth". If you can forget these settings, it may be worth a try.

@kszaq thanks a lot for your help and hints
Unfortunately after doing the "Reset Wi-Fi, mobile & Bluetooth" the behavior is still the same as previously and VoWiFi does not work.

@kszaq
Copy link
Contributor

kszaq commented Apr 8, 2023

@mano922 I've installed the latest QPR Beta on my Pixel 6 and now VoLTE is available by default. But for VoWiFi, I needed to use the app and add IMS APN. One thing to note: it's best to set APN protocols to IPv4/IPv6 because for Orange PL you need IPv6. IPv4 did not work for me.

@mano922
Copy link

mano922 commented Apr 9, 2023

@kszaq Thanks a lot for your hints.

I have also installed yesterday latest QPR Beta on my Pixel 7 Pro and VoLTE is also available by default for me.

Unfortunately VoWiFI does not work (the same behavior as previously). Tested with different options: airplane mode, WiFi only setting, Orange PL with APN ims with protocol IPv4/IPv6, "Block IPv6-only WiFi" disabled.

@kszaq
Copy link
Contributor

kszaq commented Apr 10, 2023

@mano922 Please find below my IMS APN settings. Maybe you'll notice something different in your settings. On latest beta, you won't see IMS APN because it's defined as hidden.
Screenshot_20230408-180401.png

Screenshot_20230408-180714.png

@mr-tical
Copy link

I do have the same situation with PL Plus - VoLTE works, VoWiFi stopped working. Currently on latest qpr beta. VoLTE appeared itself after updating to qpr beta, before was not present and had to use this patch
On stable March update VoWiFi worked but not VoLTE.
But on January and February update VoWiFi and VoLTE worked with the patch.
Now on qpr beta I see the carrier settings updated to pl-plus 2023-03-24 also.
Tried adding also ims APN, but when added, VoLTE speed working immediately.
Had to remove it and reboot phone.
Using Pixel 7.

@mano922
Copy link

mano922 commented Apr 10, 2023

@kszaq Thanks a lot for your help and hints

Finally I was able to make a call using WiFiCalling today.

At home I have WiFi based on Orange mobile from different SIM card. It looks that with such WiFi on Pixel 7 Pro it is not possible to make a call using WiFi calling (at least for me).

Today I have made tests with different WiFi (which is not based on Orange mobile SIM card) and WiFiCalling was working with the setting: "Use Wifi and when WiFi is not available use cellular network". In this scenario I was able to make a call with WiFiCalling and VoLTE was also working.
It looks that WiFi calling is not working with airplane mode as well as in the "WiFi only" setting.

Thanks for providing your IMS APN settings. I have latest Beta and I am able to see this APN after adding it. The only difference is that my APN has a name: "ims" from non capital letters as it was shown in previous posts (but I think that this name does not matter).
What is also interesting and different that I am not able to save setting: "IPv4/IPv6" for "APN roaming protocol". I am able to save either "IPv4" or "IPv6". I am able to set "IPv4/IPv6" for "APN roaming protocol" but after saving when going back to the setting the "IPv4" is visible. For "APN protocol" I am able to save "IPv4/IPv6" . But these are probably minor difference.

Again, thanks a lot for your help.

@mr-tical
Copy link

mr-tical commented Apr 11, 2023

Do you guys have possibility to check this on Plus?

Edit: hmmm, strange, did nothing and VoWiFi started to work too.

@mr-tical
Copy link

Patch is working on Android 14 beta 1
VoWiFi and VoLTE
PL Plus

@artproject-2004
Copy link

artproject-2004 commented Sep 6, 2023

Hi, I can't configure out Pixel IMS service on Pixel 7 (Virgin mobile PL - now a part of PLAY carrier). I tried with/without ims APN but still without success. IMS status unregistered.

Screenshot_20230906-223653.png

Screenshot_20230906-224906.png

Screenshot_20230906-224915.png

Screenshot_20230906-224924.png

Screenshot_20230906-225536_1.png

@fillwithjoy1
Copy link
Contributor

Same here with Pixel 6 running on T-Mobile Poland network.

Since Android 13 VoLTE works on Pixel 6 out of the box, but not WiFi Calling.

I followed your instructions and run the script, then switched WiFi Calling on in the app. WiFi Calling setting appeared right away, however I couldn't force it to work even after few reboots. On top of that, whenever WiFi Calling is enabled in the device settings, phone can't register for VoLTE and calls are being placed over 3G.

Carrier supports WiFi Calling and I have it enabled on my line (I was using it with iPhone 7 previously).

Thanks!

funny thing is that wifi calling on the iphone is a different platform to support than to wifi calling on android

@fillwithjoy1
Copy link
Contributor

also is this issue relevant now?

@fillwithjoy1
Copy link
Contributor

@kyujin-cho requesting to close the issue

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests