kyujin-cho / pixel-volte-patch

Pixel IMS: Rootless replacement for Tensor Pixel VoLTE patch
GNU General Public License v3.0
1.39k stars 92 forks source link

Polish Play VoWIFI #17

Open adryb opened 1 year ago

adryb commented 1 year ago

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 commented 1 year ago

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

bige93 commented 1 year ago

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 commented 1 year ago

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 commented 1 year ago

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 commented 1 year ago

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

JaCzekanski commented 1 year ago

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

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

adryb commented 1 year ago

Ok on google its:

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

danparidae commented 1 year ago

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

adryb commented 1 year ago

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 commented 1 year ago

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

adryb commented 1 year ago

Sure. Attached. cc_pixel.log

kszaq commented 1 year ago

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 commented 1 year ago

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

Which line this shows you?

kszaq commented 1 year ago

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 commented 1 year ago

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 commented 1 year ago

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

JaCzekanski commented 1 year ago

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 commented 1 year ago

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 commented 1 year ago

The APN method worked for me on GoMo in Ireland.

bige93 commented 1 year ago

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 commented 1 year ago

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 commented 1 year ago

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 commented 1 year ago

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 commented 1 year ago

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

mano922 commented 1 year ago

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 commented 1 year ago

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 commented 1 year ago

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 commented 1 year ago

@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 commented 1 year ago

@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 commented 1 year ago

@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 commented 1 year ago

@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 commented 1 year ago

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 commented 1 year ago

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 commented 1 year ago

@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 commented 1 year ago

@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 commented 1 year ago

@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 commented 1 year ago

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 commented 1 year ago

@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 commented 1 year ago

Do you guys have possibility to check this on Plus?

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

mr-tical commented 1 year ago

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

artproject-2004 commented 1 year ago

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 commented 10 months ago

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 commented 10 months ago

also is this issue relevant now?

fillwithjoy1 commented 8 months ago

@kyujin-cho requesting to close the issue

szmarczak commented 4 months ago

I'm using nju mobile and WiFi calling doesn't work even after adding the ims apn (nothing phone 2).

Edit: I tried a carrier certified device (Samsung a53) and it still does not work. So my case is not relevant here and I need to contact my carrier's support.

fillwithjoy1 commented 4 months ago

I'm using nju mobile and WiFi calling doesn't work even after adding the ims apn (nothing phone 2).

Edit: I tried a carrier certified device (Samsung a53) and it still does not work. So my case is not relevant here and I need to contact my carrier's support.

Well, how interesting that it's the carrier's issue...

samuelgarabini commented 1 day ago

@kszaq Can you help me with my problem? https://github.com/kyujin-cho/pixel-volte-patch/issues/323

kszaq commented 1 day ago

First make sure that it is working with your SIM on another phone. Sometimes operators need VoWiFi to be activated by accepting terms & conditions.

samuelgarabini commented 1 day ago

First make sure that it is working with your SIM on another phone. Sometimes operators need VoWiFi to be activated by accepting terms & conditions.

Yes, it it is working. When I try in a different phone, both VoWifi and VoLTE works, but mine only VoLTE. I tried everything today. I appreacite if you could help me

kszaq commented 21 hours ago

The only thing I can recommend is that you delete "IMS" APN and re-add it, making sure that "bearer" is "not specified" only. If this doesn't work, it is possible that your network operator does not allow your phone to use VoWiFi.