pixel-volte-patch
pixel-volte-patch copied to clipboard
Polish Play VoWIFI
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]
Can confirm the same behavior on Pixel 6 with Play SIM card - VoLTE works (it actually did without this hack), VoWIFI does not.
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!
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.
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.
On my pixel - stock rom - this code not works -> ##0702## its going as ussd.
On my pixel - stock rom - this code not works -> ##0702## its going as ussd.
@adryb I think it's supposed to be *#*#0702#*#*
Ok on google its:
#MANUFACTURE#_#MODEL#Android #AV##BUILD#
For me on Pixel 6 and Play sim it's
#MANUFACTURE#_#MODEL#_Android #AV#_#BUILD#
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 Can you post a result of adb shell dumpsys carrier_config
with Play SIM?
Sure. Attached. cc_pixel.log
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?
Yep! That worked!!!!! IM ABLE TO CALL VIA VOWIFI!!!!
Which line this shows you?
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.
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
Yes, its working after phone restart too! Everything is wotking well, i have physical sim Play and esim Plus, both works!
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:
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.
The APN method worked for me on GoMo in Ireland.
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.
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?
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
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
Creating the APN worked for Orange Belgium + pixel 6 as well. Thank you!
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?
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.
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 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 I compared your carrier config with mine and the only difference is that you have
qns.block_ipv6_only_wifi_bool = true
inmConfigFromDefaultApp
, 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 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".