pixel-volte-patch icon indicating copy to clipboard operation
pixel-volte-patch copied to clipboard

Polish Play VoWIFI

Open adryb opened this issue 2 years ago • 46 comments

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]

adryb avatar Feb 08 '23 15:02 adryb

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

JaCzekanski avatar Feb 09 '23 00:02 JaCzekanski

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!

bige93 avatar Feb 09 '23 08:02 bige93

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.

adryb avatar Feb 09 '23 10:02 adryb

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.

kyujin-cho avatar Feb 09 '23 14:02 kyujin-cho

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

adryb avatar Feb 09 '23 14:02 adryb

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

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

JaCzekanski avatar Feb 09 '23 15:02 JaCzekanski

Ok on google its:

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

adryb avatar Feb 09 '23 16:02 adryb

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

danparidae avatar Feb 09 '23 17:02 danparidae

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.

adryb avatar Feb 17 '23 18:02 adryb

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

kszaq avatar Feb 18 '23 12:02 kszaq

Sure. Attached. cc_pixel.log

adryb avatar Feb 18 '23 12:02 adryb

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?

kszaq avatar Feb 18 '23 12:02 kszaq

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

Which line this shows you?

adryb avatar Feb 18 '23 12:02 adryb

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.

kszaq avatar Feb 18 '23 13:02 kszaq

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

NXij avatar Feb 18 '23 14:02 NXij

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

adryb avatar Feb 18 '23 15:02 adryb

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

JaCzekanski avatar Feb 20 '23 14:02 JaCzekanski

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.

exolon avatar Feb 22 '23 08:02 exolon

The APN method worked for me on GoMo in Ireland.

ciarancoffey avatar Feb 28 '23 22:02 ciarancoffey

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

bige93 avatar Mar 11 '23 10:03 bige93

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?

lepricon avatar Mar 23 '23 13:03 lepricon

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

danparidae avatar Mar 23 '23 13:03 danparidae

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

lepricon avatar Mar 23 '23 15:03 lepricon

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

hvandenbroeck avatar Apr 04 '23 13:04 hvandenbroeck

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?

mano922 avatar Apr 04 '23 18:04 mano922

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.

kszaq avatar Apr 04 '23 19:04 kszaq

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

mano922 avatar Apr 04 '23 20:04 mano922

@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.

kszaq avatar Apr 05 '23 09:04 kszaq

@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.

mano922 avatar Apr 05 '23 09:04 mano922

@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".

kszaq avatar Apr 05 '23 17:04 kszaq