签到奶昔访达
返回列表 发布新帖

Pixel 6a 在大陆使用 VOXI:Wi-Fi Calling 注册成功、短信可收不可发的排查与修复记录

909 18
发表于 2026-10-1 18:52:38 | 查看全部 阅读模式

注册奶昔,结交更多奶友,可做任务快速升级,解锁更多权益。

您需要 登录 才可以下载或查看,没有账号?注册

×

分享一个已实际验证的案例,供相同设备、相似问题的朋友参考,如果还有没有拉起wificall的朋友,也可复制给 Codex 下面的排查提示词。
整篇帖子都由codex编写,我只描述了具体环境和症状,感叹现在的agent真强,搜集信息也是直接问模型,干活也是它干。除少量codex要求的必要点击外,包括root在内的整个流程,全程由codex完成,模型为6.1sol 高。
我的准备工作:40%的5h额度,未root的pixel 6a,安装了有信号但是未拉起wificall的voxi,带有adb的电脑。
最终结果:手机右上角出现 Wi-Fi 通话提示,4636 显示 WLAN 语音通话可用;VOXI 发给我自己波兰号码的普通短信,对方成功收到。
一、我的环境和最初症状

  • 手机:Google Pixel 6a,代号 bluejay。
  • 系统:Android 17,版本 CP2A.260705.006。
  • SIM:VOXI / Vodafone UK,MCC/MNC 为 23415;当时 carrierId=28。
  • 地点:手机和电脑都在中国大陆。
  • 网络:Windows 电脑运行 v2rayN,使用新加坡节点(并没有使用英国节点,也许国内ip也可以,只是手机刚root完用了新加坡节点)、TUN 模式,手机连接电脑共享的 Wi-Fi 热点,之前电脑修改过论坛内相关的hosts,手机 Wi-Fi 代理设置为“无”。
  • 手机浏览器查询出口 IP 显示英国。
  • VOXI 有有效套餐和 £5 余额。
    最初 IMS 可以通过蜂窝网络注册,LTE 通话能力可用,但 WLAN 语音通话不可用。PixelIMS 中 VoWiFi、漫游 VoWiFi 等开关已打开,仍然拉不起 Wi-Fi Calling。
    后来 Wi-Fi Calling 修好后,VOXI 可以收到波兰号码发来的短信,但发回去依然失败。最后发现,这是另一个短信中心设置问题。
    这次没有使用虚拟定位,也没有连接位于英国的实体热点;成功时仍然使用了英国代理出口。不能据此认定英国出口可以去掉。

    二、关键发现:Pixel 的 Shannon 服务还有自己的漫游限制
    只看 Android 设置或 PixelIMS 的开关,不足以判断底层是否允许漫游 Wi-Fi Calling。
    Codex 通过 ADB 读取日志,并提取、反编译手机当前安装的:

    /system_ext/priv-app/ShannonQualifiedNetworksService/ShannonQualifiedNetworksService.apk

    在这个 APK 自带的 Vodafone UK 配置中,发现:

    <boolean name="vendor.vowifi_roaming_enabled" value="false"/>

    本机对应配置文件为:

    assets/vendor_config_carrierid_28_Vodafone-UK.xml

    进一步核对反编译代码,确认 Shannon 的 ConfigurationManager 和 ImsHandoverDecision 真正读取这个键,并在检测到境外漫游时检查它。
    之前尝试改过 AOSP 的:

    qns.block_iwlan_in_international_roaming_without_wwan_bool

    但这台 Pixel 的实际判断逻辑在 Shannon 服务里;修改这个 AOSP 键没有解决问题。不能把所有 Pixel、所有 Android 版本都当成同一套 QNS 实现。
    三、实际修改了什么

    1. 允许 Shannon 的漫游 Wi-Fi Calling
      本机已取得 Magisk Root。Codex 复制了 APK 中原有的完整 Vodafone UK 配置,只把下面这一项从 false 改成 true,其余原有配置保留:
      <boolean name="vendor.vowifi_roaming_enabled" value="true"/>

      本机的 Shannon 服务提供现成的外部配置加载机制。修改后的文件放在:

      /sdcard/Android/data/com.shannon.qualifiednetworksservice/files/vendor_config_carrierid_28_Vodafone-UK.xml

      然后发送它支持的配置重载广播:

      com.shannon.ACTION.VCC.vendor_config_data_changed

      示例命令如下,前提是已经核对当前 APK 确实支持这个路径和广播,并准备好了从当前 APK 提取、仅改一个键的完整 XML:

      adb push vendor_config_carrierid_28_Vodafone-UK.xml /data/local/tmp/vendor_config_carrierid_28_Vodafone-UK.xml
      adb shell su -c 'cp /data/local/tmp/vendor_config_carrierid_28_Vodafone-UK.xml /sdcard/Android/data/com.shannon.qualifiednetworksservice/files/vendor_config_carrierid_28_Vodafone-UK.xml'
      adb shell su -c 'am broadcast -a com.shannon.ACTION.VCC.vendor_config_data_changed -p com.shannon.qualifiednetworksservice'

      如果电脑连接了多个 Android 设备,请使用 adb -s 你的设备序列号 明确指定目标。
      日志确认加载了外部文件,并出现:

      Vendor configuration updated by file
      key=vendor.vowifi_roaming_enabled value=true

      没有修改或替换系统 APK,也没有安装 LSPosed 模块。 不建议拿别人的整个 XML 覆盖自己的配置;先提取本机原文件、核对键和加载机制。

    2. 打开真正的“漫游时 Wi-Fi 通话”用户设置
      还有一个独立问题:系统重置后,普通 Wi-Fi 通话已经开启,但内部的漫游 Wi-Fi 通话设置实际仍为关闭。
      这台设备的 Shannon 默认配置启用了:
      vendor.vowifi_use_roaming_settings=true

      因此它在漫游时会读取另一套用户设置。Codex 通过临时 ADB instrumentation 辅助 APK,针对 VOXI 对应的 subscription 调用 ImsMmTelManager,设为:

      普通 Wi-Fi 通话:开启
      漫游 Wi-Fi 通话:开启
      普通通话偏好:Wi-Fi 优先(mode=2)
      漫游通话偏好:Wi-Fi 优先(mode=2)

      对应方法包括:

      setVoWiFiSettingEnabled(true)
      setVoWiFiRoamingSettingEnabled(true)
      setVoWiFiModeSetting(2)
      setVoWiFiRoamingModeSetting(2)

      部分方法需要隐藏 API 反射,读写需要相应电话权限。本次辅助程序通过 ADB instrumentation 的 UiAutomation.adoptShellPermissionIdentity 获得所需权限;不能指望普通 APK 安装后直接调用就成功。
      subId、slotId 会随启用的 SIM 和系统重置改变,不能照抄我的数字。 本次程序先检查运营商是 23415、SIM 国家为 gb,再操作 VOXI 那张卡。
      四、如何确认 Wi-Fi Calling 真的建立了
      修改后,日志依次出现:

      Bringing up tunnel for apn: IMS ePDG: 148.252.188.96
      Ike session opened for apn: IMS
      onOpened child session for apn: IMS
      APN_IMS REGISTERED - mRadioTech(VoWiFi)

      Android 的 IMS 注册记录显示 transportType=2,表示 WLAN;语音和短信能力均为可用。手机右上角、4636 页面也确认了 Wi-Fi 通话。
      单独看到“IMS 已注册”不够,因为可能是蜂窝 IMS。单独看到浏览器出口 IP 为英国,也不能证明 ePDG 的 UDP/IPsec 通路能用。本次是实际隧道握手和 WLAN IMS 注册日志确认成功。
      五、Wi-Fi Calling 成功后,短信为什么还是只能收不能发
      继续抓取发送失败日志,确认:

  • 使用的是 VOXI 那张卡。
  • IMS 短信通道已注册、能力可用。
  • 短信实际提交到了 IMS。
  • 发送返回 errorCode=332,随后尝试蜂窝回退也失败。
    这些错误本身不能证明账号被封、余额不足或运营商禁止国际短信。继续核对发现,手机实际使用的短信中心号码是:
    +447836191011

    而 Vodafone UK 官方设备指南提供的短信中心是:

    +447785016005

    Codex 通过 VOXI 对应的 SmsManager 修改短信中心,返回成功,重新读取也确认新值生效。随后用 VOXI 给自己的波兰号码发普通短信,对方成功收到。
    有些手机可以在 *#*#4636#*#* → 对应 SIM 的“手机信息”中读取和更新 SMSC。必须选对 SIM;修改后重新读取确认。若界面不能操作,可以让 Codex 通过辅助程序调用:

    SmsManager smsManager = context.getSystemService(SmsManager.class)
    .createForSubscriptionId(voxiSubId);
    String original = smsManager.getSmscAddress();
    boolean updated = smsManager.setSmscAddress("+447785016005");
    String confirmed = smsManager.getSmscAddress();

    这里同样需要合适的权限,以及先验证目标 subscription。请按自己的运营商官方资料核对,其他运营商不能使用这个号码。
    本次“可收不可发”在修改 SMSC 后解决。收到短信不代表发送所需的 SMSC 配置正确。 发送国际短信可能扣现有余额。
    六、此前改过的 hosts 有没有帮助
    电脑 hosts 中确实存在:

    148.252.188.96 epdg.epc.mnc015.mcc234.pub.3gppnetwork.org
    148.252.188.96 epdg.vodafone.co.uk

    手机 hosts 只有默认本地地址。这些电脑端记录可能帮助了代理侧解析,而且地址与本次实际选中的 ePDG 一致。
    但没有做移除 hosts 后的对照测试,因此还不能认定它是必需条件,也不能认定它完全没作用。不要把这个 IP 当作永远不变的官方入口;使用前应重新核对。
    目前有直接证据的关键修正是:Shannon 漫游限制、漫游用户设置和 SMSC。
    七、Root、eSIM 和后续验证
    本次需要 Root 才能写入 Shannon 的外部配置目录。解锁 Pixel bootloader 清除了手机用户数据;我这台 Pixel 6a 的四个原有 eSIM 配置保留了,但需要重新启用。这个实际结果不能代替其他设备、其他刷机工具对 eSIM 的处理说明。
    不要为了本帖直接照抄别人的启动镜像。Root 使用的镜像必须匹配自己的设备和系统版本;这篇记录不展开通用 Root 教程。
    外部配置文件和用户设置已经保存,尚未完成重启后的保持验证,也未验证系统升级后是否仍适用。若外部目录原来已有文件,修改前要备份;本次目录原先为空,回退方式是移除新加的 carrier 28 XML 并触发配置重载,恢复内置配置。
    Wi-Fi Calling 注册、短信送达已验证;是否符合保号活动要求,应按运营商的保号规则另行核对,不能只凭 IMS 注册判断。

八、具体操作的话,可以把下面这段复制给 Codex

请协助排查我的 Pixel 在境外使用 VOXI / Vodafone UK Wi-Fi Calling 和短信的问题。我授权你通过已连接的 ADB 读取设备、运营商配置与相关日志,并进行有备份、可回退、仅作用于目标 SIM 的必要设置修复。涉及解锁清数据或刷写启动分区时,请先明确说明具体影响,由我确认后再做。

参考成功案例:Pixel 6a bluejay、Android 17 CP2A.260705.006、Magisk 31.0,在中国大陆通过电脑 v2rayN 英国节点/TUN/共享热点联网。两项配置修复后建立了 ePDG 隧道并注册 WLAN IMS,之后修正 SMSC 才解决短信可收不可发。

请按本机证据排查,不要直接照抄案例的 subId、slotId、carrierId、XML 文件名、ePDG IP 或启动镜像:

1. 确认设备版本、ADB 状态、是否已有 Root,以及 VOXI 的实际 subscription、slot、MCC/MNC 和 carrierId。不要操作其他 SIM。
2. 检查 Wi-Fi Calling、漫游 Wi-Fi Calling、普通和漫游通话偏好的实际内部状态。Pixel 的界面开关不能代替底层状态。
3. 提取当前安装的 ShannonQualifiedNetworksService APK,检查真实的漫游判断逻辑。在参考案例中,它读取 vendor.vowifi_roaming_enabled;Vodafone UK carrier 28 XML 默认是 false。默认配置还设置 vendor.vowifi_use_roaming_settings=true。
4. 参考案例使用服务自带外部配置机制:复制本机原有的完整 Vodafone UK XML,只改 vendor.vowifi_roaming_enabled=true,放入 /sdcard/Android/data/com.shannon.qualifiednetworksservice/files/,发送 com.shannon.ACTION.VCC.vendor_config_data_changed 广播。先确认本机当前 APK 支持这个机制,备份已有外部配置,随后通过日志确认它确实加载新值。不要直接替换系统 APK。
5. 检查 ImsMmTelManager 的 VoWiFi 和漫游 VoWiFi 用户设置。必要时制作临时 ADB instrumentation 辅助 APK,通过 UiAutomation.adoptShellPermissionIdentity 获得相应电话权限;针对确认过的 VOXI subId,开启普通/漫游 VoWiFi,并把两种偏好都设成 Wi-Fi 优先。隐藏方法是否可调用、权限是否足够,要在本机验证。
6. 用实际 ePDG IKE/IPsec 隧道、IMS transportType=WLAN 和语音/短信能力日志验证。不要把蜂窝 IMS 注册或浏览器显示英国 IP 当作 Wi-Fi Calling 成功。
7. 如果能收短信但发不出去,读取一次用户主动发送后的 IMS SMS 错误、回退错误和实际 SMSC。参考案例发送使用了 IMS,但错误码为 332;实际 SMSC 是 +447836191011,与 Vodafone UK 官方指南的 +447785016005 不一致。保存原值后修正,重新读取确认,再由用户发短信验证实收。不能仅凭错误码推断账号被封或要求充值。
8. 如果仍没有建立隧道,检查 DNS 和 UDP 500/4500 经共享热点、TUN 和代理的实际路径;不要反复让用户切开关却不读取新日志。
9. 参考案例的 Windows hosts 将两个 ePDG 域名指向 148.252.188.96,但没有做移除后的对照测试,不能认定 hosts 是必需或无用。成功时英国代理出口仍在使用。
10. 记录修改、原值、回退方法和验证结果。短信发送可能扣余额,由我主动发送测试;不要自动给其他人发短信或拨号。日志中可能包含号码、IMSI、短信内容等,请避免在公开总结中暴露这些信息。
最终目标:用当前日志和实际结果定位问题,先验证 WLAN IMS 注册,再验证短信送达,并明确重启后是否保持。若本机实现与参考案例不同,请沿本机实现排查。

欢迎相同设备的朋友反馈系统版本、实际配置和验证结果。这个案例证明该方法在我的设备和网络环境下有效,并不意味着所有 VOXI 或 Pixel 的失败原因都相同。

爱生活,爱奶昔~
estkme

评论18

wuganLv.2 发表于 2026-10-9 10:11:54 | 查看全部
太专业了
爱生活,爱奶昔~
回复 支持 1 反对 0

使用道具 举报

mrjiangLv.4 发表于 2026-10-3 15:45:48 | 查看全部
这个排查思路确实挺硬核的
爱生活,爱奶昔~
回复 支持 1 反对 0

使用道具 举报

xuiLv.3 发表于 2026-10-2 06:06:50 来自手机 | 查看全部
本帖最后由 xui 于 2026-10-2 07:25 编辑

好多人说pixel质量很差,屏幕坏的多
爱生活,爱奶昔~
nnasLv.4 发表于 2026-10-2 05:55:58 来自手机 | 查看全部
不明觉厉,感谢分享
爱生活,爱奶昔~
回复 支持 1 反对 0

使用道具 举报

acgnLv.2 发表于 2026-10-1 22:17:37 来自手机 | 查看全部
感谢分享
爱生活,爱奶昔~
回复 支持 1 反对 0

使用道具 举报

dzkjop_2233Lv.1 发表于 2026-10-1 22:03:16 | 查看全部
谢谢大佬,先收藏收藏
爱生活,爱奶昔~
回复 支持 1 反对 0

使用道具 举报

xinbalawLv.2 发表于 2026-10-1 21:49:54 | 查看全部
感谢分享。这样看来国产android反而简单多了。
教程:https://blog.ydmd.de/post/voxitutorial
爱生活,爱奶昔~
回复 支持 1 反对 0

使用道具 举报

demonfaithLv.1 发表于 2026-10-1 23:18:57 | 查看全部
7,我拉wificalling本身没问题
但今天切个卡之后,飞行模式拉不起来了,撞在了qns.block_iwlan_in_international_roaming_without_wwan_bool上面,不知道为什么,之前都正常飞行模式拉的
爱生活,爱奶昔~
Shigur3楼主Lv.2 发表于 2026-10-2 10:12:08 | 查看全部
xui 发表于 2026-10-2 06:06
好多人说pixel质量很差,屏幕坏的多

是的,我在黄鱼上上盯了很久才找到了一个合适的
爱生活,爱奶昔~
Shigur3楼主Lv.2 发表于 2026-10-2 10:14:51 | 查看全部
demonfaith 发表于 2026-10-1 23:18
7,我拉wificalling本身没问题
但今天切个卡之后,飞行模式拉不起来了,撞在了qns.block_iwlan_in_internat ...

今天我也出现了两张卡在另一个wifi下就拉不起来wificall的问题,不知道和你是不是同一个问题。我把问题复述给了codex,它已经为我解决了,你也可以让它为你排查解决下
爱生活,爱奶昔~
Shigur3楼主Lv.2 发表于 2026-10-2 10:17:01 | 查看全部
xinbalaw 发表于 2026-10-1 21:49
**** 作者被禁止或删除 内容自动屏蔽 ****

之前论坛里使用的都是blog里记录的方法,但是我手动尝试了很多次都失败了,论坛里也有失败记录的反馈,才想让AI来想其它方法
爱生活,爱奶昔~
demonfaithLv.1 发表于 2026-10-2 11:22:12 | 查看全部
Shigur3 发表于 2026-10-2 10:14
今天我也出现了两张卡在另一个wifi下就拉不起来wificall的问题,不知道和你是不是同一个问题。我把问题复 ...

Pixel 上遇到一个比较奇怪的 VoWiFi 问题:切换 eSIM/profile 后,某些海外卡(我这里是 VOXI)在“飞行模式 + Wi-Fi”下无法重新建立 Wi-Fi Calling,但如果先开蜂窝网络让 WFC 注册成功,再切回飞行模式又能继续保持。  
排查 QNS 日志后发现,Pixel 的 CarrierConfig 里有一项:
qns.block_iwlan_in_international_roaming_without_wwan_bool = true
当 SIM 国家和当前国家不同、同时又没有 WWAN 时,QNS 会直接禁止 IMS 走 IWLAN,所以纯 Wi-Fi 下 WFC 起不来。  
解决方法是通过 Shizuku/CarrierConfig override,把这项改成:
qns.block_iwlan_in_international_roaming_without_wwan_bool = false
并以 persistent 方式写入,然后重启手机,让 QNS 冷启动时重新读取配置。修改后,飞行模式 + Wi-Fi 可以正常重新注册 VoWiFi,实际拨打电话也验证正常。
我现在的做法是只持久化这一条,不去永久覆盖整套运营商配置;以后切新 eSIM/profile 时,给新的 active subId 写一次,再重启即可。
Pixel7 未root
爱生活,爱奶昔~
cptwLv.3 发表于 2026-10-2 11:37:24 | 查看全部
好多字数的文字哟
爱生活,爱奶昔~
Shigur3楼主Lv.2 发表于 2026-10-2 13:36:27 | 查看全部
demonfaith 发表于 2026-10-2 11:22
Pixel 上遇到一个比较奇怪的 VoWiFi 问题:切换 eSIM/profile 后,某些海外卡(我这里是 VOXI)在“飞行 ...

当时我的手机在没有root时codex查日志也查到了这条,它尝试过用apk覆盖来把这条修改为false,但是我们当时并没有重启手机,只是简单重新开关了飞行模式和启用esim,结果拉起失败了我们就把这项改了回来。
如果你持久化覆盖直接重启就可以拉起的话,感谢你补充了不root也能解决问题的方法
爱生活,爱奶昔~
Shigur3楼主Lv.2 发表于 2026-10-2 13:37:55 | 查看全部
cptw 发表于 2026-10-2 11:37
好多字数的文字哟

让codex总结了下解决问题的过程。只说解决了问题提供了个提示词,大家可能扫一眼就过去了,把过程发出来,也许能给有能力手动解决的人提供解决问题的思路
爱生活,爱奶昔~
franklin717Lv.2 发表于 2026-10-9 10:54:31 来自手机 | 查看全部
国产安卓可以做到吗?
爱生活,爱奶昔~
Shigur3楼主Lv.2 发表于 2026-10-9 16:06:51 | 查看全部
franklin717 发表于 2026-10-9 10:54
国产安卓可以做到吗?

手里没有国行设备,所以我不也确定,但是如果root了应该都是可以的
爱生活,爱奶昔~
Shigur3楼主Lv.2 发表于 2026-10-9 16:10:44 | 查看全部
tobii 发表于 2026-10-9 10:55
这排查过程看得我头都大了,全程让 codex 写命令搞定是真爽,mark 一下,以后 voxi 出问题就来这帖翻,感谢 ...

是的,以前查了资料还得自己慢慢调试,现在直接交给AI手都不用动
爱生活,爱奶昔~

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

© 2026 Naixi Networks. 沪ICP备13020230号-1|沪公网安备 31010702007642号手机版小黑屋RSS
返回顶部 关灯 在本版发帖
快速回复 返回顶部 返回列表