3405 字
17 分钟
在 Pixel 6 Pro 上开启 GiffGaff WiFi Calling

一、前言#

距离上一次使用 GiffGaff WiFi Calling 已经有两年的时间了,当时只需要设备支持 WiFi Calling 功能即可使用。

但是后来 GiffGaff 对 WiFi Calling 的开启条件进行了限制,不仅要求指定的设备,还要求只能在英国境内使用。

同时根据 GiffGaff 官方的文档 [ Understanding WiFi calling and VoLTE ] :Pixel 系列只有 Pixel 7 及后续版本才支持开启 GiffGaff 的 WiFi Calling ,很遗憾我的设备 Pixel 6 Pro 并不在其中。

但是这却和两年前的使用经历产生了矛盾。在限制开启条件之前我的 Pixel 6 Pro 上可以正常使用 WiFi Calling 的。

这说明 Pixel 6 Pro 硬件和系统本身具备使用 WiFi Calling 的能力,而现在无法使用更可能与 GiffGaff 的限制有关。

因此这让我对 GiffGaff 的 WiFi Calling 的开启条件产生了疑惑,到底是什么因素限制了我在 Pixel 6 Pro 上开启 GiffGaff 的 WiFi Calling?

  • APN?
  • 设备型号?
  • 网络环境?
  • IMS 注册参数?
  • 还是其他暂时不明确的配置

两年间我尝试了很多次,无论是 root 还是各种方案,但是都没有成功。这甚至一度让我放弃了折腾。

但是最近看到了一篇帖子提到无法开启 WiFi Calling 可能是因为缺少 IMS APN,其测试添加后即可开启。

这让我又燃起了继续折腾的想法。

二、IMS 配置工具#

针对 Pixel 在中国大陆使用时的适配问题,需要借助 IMS 配置工具来开启部分官方隐藏或默认关闭的通信功能。

目前较为常用的 IMS 配置工具包括 Pixel IMS、Carrier IMS for Pixel、TurboIMS 以及 OneIms 等。

这些工具的使用方式相对简单,既支持通过 Root 权限直接完成配置,也支持利用 Shizuku 配合无线调试,在无需 Root 的情况下完成相关 IMS 参数修改与功能启用。

Pixel IMS#

Pixel IMS 是目前 Pixel 用户中广泛使用的 IMS 配置工具,也是我长期使用的一款工具。

早期我便是通过 Pixel IMS 成功开启 GiffGaff WiFi Calling 功能。不过,在后续尝试中发现 GiffGaff 的 WiFi Calling 无法再次启用时,我一度认为 Pixel IMS 已经失效。

经过进一步测试发现,问题并非完全来自 Pixel IMS 本身,而更多与运营商配置、系统版本以及 IMS 参数适配有关。

TurboIMS#

TurboIMS 同样是一款较为流行的 IMS 配置工具。

相比 Pixel IMS,TurboIMS 主要是在基础 IMS 配置功能上增加了 5G 相关配置支持。其操作界面更加简洁,但整体功能覆盖范围相比 Pixel IMS 略少。

对于只需要开启基础 IMS 功能,或需要额外配置 5G IMS 特性的用户,TurboIMS 也是一个不错的选择。

OneIms#

OneIms 是一款较新的 IMS 配置工具,采用 Cursor 辅助开发。

这是我近期正在尝试使用的一款工具。相比 Pixel IMS,OneIms 在功能整合方面更加完善,但目前界面设计仍有一定优化空间,整体布局略显杂乱。

目前 OneIms 仍处于持续完善阶段,不过核心功能已经较为稳定,可以满足日常 IMS 配置需求。

相比传统 IMS 配置工具仅提供参数修改功能,OneIms 其更侧重于 IMS 状态检测和问题排查。其集成了较为丰富的诊断能力,可以帮助用户从多个方面分析 IMS 异常原因。

不过,目前该项目尚未公开源代码,且其通过 Shizuku 调用系统 API 完成,因此在使用时建议注意权限授予范围,并根据自身需求谨慎使用。

Carrier IMS for Pixel#

Carrier IMS for Pixel是基于 TurboIMS 开发的一款 IMS 配置工具。

其功能与 TurboIMS 相似,但缺少 IMS User Agent 配置功能,而该配置项在后续 IMS 适配过程中较为关键。因此,在本文后续配置流程中并不推荐使用该工具。

不过 Carrier IMS for Pixel 仍具有一些特色功能,例如支持 5G 相关配置,以及提供修复 TikTok 无网络问题的功能。

如果用户仅需要基础 IMS 功能或特定功能修复,Carrier IMS for Pixel 仍可以作为一个备选方案。

三、IMS APN 缺失导致 WiFi Calling 无法使用#

根据帖子描述部分 Pixel 设备在开启 WiFi Calling 后,虽然系统中已经出现相关选项,但实际使用时仍然无法正常工作。

最终定位问题为运营商配置中缺少 IMS APN。在手动添加 IMS APN 后,WiFi Calling 功能恢复正常。

参考配置如下:

  • APN 名称:IMS
  • APN:IMS
  • APN 类型:ims
  • APN 协议:IPV4
  • APN 漫游协议:IPV4

添加 IMS APN 以后,我通过 Pixel IMS 重新触发 IMS 注册流程。

但是经过我的测试,使用该方法无法开启 GiffGaff 的 WiFi Calling。

这让我再次对 Pixel IMS 的实际效果产生了怀疑。随后,我清除了 Pixel IMS 之前写入的全部配置,并切换到 OneIms,使用相同的配置方案进行进一步测试。

但测试结果并没有出现变化,切换到 OneIms 后,GiffGaff 的 WiFi Calling 依旧无法正常连接。

通过 *#*#4636#*#* 查询 IMS 服务状态,发现只要有任何 IMS 配置的修改就会导致 IMS 状态从已注册变成未注册,即使重新触发 IMS 注册也无法完成注册。

四、OneIms 诊断与修复#

借助 OneIms 的诊断与修复功能,经过多次测试后发现 ePDG 检测显示 已解析到对应 IP,但网络连接不可达。

经过查询了解到 ePDG 是 VoWiFi 网络架构中的关键组件,负责在用户设备与运营商 IMS 核心网络之间建立安全连接。

设备连接 WiFi 后,需要通过 ePDG 建立 IPSec 隧道,并进一步连接运营商 IMS 网络,才能完成 WiFi Calling 连接。

WiFi
|
ePDG
|
IPSec Tunnel
|
IMS Core
|
VoWiFi

如果 ePDG 无法正常连接,设备就无法建立 IMS over WLAN 注册,因此最终无法使用 WiFi Calling。

五、使用英国网络环境#

软件代理失败#

既然是网络问题导致无法连通,于是我尝试在手机上通过代理软件设置全局代理,此时 OneIms 的 ePDG 检测显示 ePDG 已经可以连通。

但是查看代理日志发现,该检测实际基于 ICMP 实现,目标地址是代理软件生成的 Fake IP,而非 GiffGaff ePDG 的真实 IP。

因此在代理环境下,OneIms 显示的 ePDG 连通状态只能证明代理软件的 Fake-IP 映射和虚拟响应正常,无法确认设备是否真正连接到 GiffGaff 的真实 ePDG。

再次查询发现,WiFi Calling 使用的 ePDG 连接并不是基于 TCP 的普通流量,而是通过 UDP 上的 IKE/IPSec 协议建立安全隧道,主要涉及 UDP 500 和 UDP 4500 端口。

由于当前代理环境无法验证 IMS 所需的 IKE/IPSec 隧道是否能够正常建立,因此即使 OneIms 显示 ePDG 检测正常,也无法证明 WiFi Calling 所需的网络条件已经满足。

L3 网络层代理#

由于代理软件无法确定当前连接情况,因此只能尝试在 L3 网络层配置英国网络出口。

最简单的方案便是使用英国手机卡的漫游流量作为网络出口,通过热点共享让设备直接接入英国网络环境,从而绕过代理无法转发 IMS/IPSec 流量的问题,理论上更接近真实的英国运营商网络环境。

如果条件不满足,也可以尝试使用软路由或在 Windows 上使用支持热点共享代理的工具,实现模拟英国网络环境的效果。具体方案可自行探索。

切换到英国网络环境后,再次进行 ePDG 检测,这次检测也显示 ePDG 已经可以正常连通。

同时通过流量监控可以看到设备开始大量访问 GiffGaff 的 ePDG 地址epdg.epc.mnc010.mcc234.pub.3gppnetwork.org,DNS 解析正常并且有相应的数据响应。

这说明设备已经能够正常访问 GiffGaff 对应的 ePDG 地址,结合官方文档可以确认 GiffGaff 对 WiFi Calling 存在英国网络环境限制。

但是即使切换到英国网络环境后,还是仍然无法开启 WiFi Calling。

这说明当前问题已经不再是 ePDG 域名解析或基础网络连通性问题,而更可能出现在后续 ePDG 隧道建立、IMS 注册流程,或者运营商配置匹配过程中。

六、设置 IMS User Agent#

既然仍然无法成功开启 WiFi Calling,说明当前配置中可能仍然缺少某些关键条件。

于是我的排查方向重新回到了 GiffGaff 社区以及相关官方文档。

既然 GiffGaff 限制 Pixel 7 及后续版本才支持开启 WiFi Calling,那么运营商又是通过什么方式判断设备是否属于支持列表中的设备?

这时 Pixel IMS 和 OneIms 中一个之前并未重点关注的配置项进入了我的视线——IMS User Agent。

IMS User Agent 让我联想到了浏览器访问网站时请求头中自带的 User Agent。服务器可以通过 User Agent 获取客户端的设备、系统等信息,虽然 User Agent 本身可以被修改,但仍然可以作为判断客户端类型的一种方式。

那么 IMS User Agent 是否也具有同样的作用?运营商是否会通过 IMS User Agent 判断设备型号,判断设备是否属于支持列表中的设备,从而开启 WiFi Calling?

于是打算使用 Pixel IMS 修改 IMS User Agent,其默认格式为:

#MANUFACTURER#_#MODEL#_Android #AV#_#BUILD#

Pixel IMS 会在设备进行 IMS 注册时,根据设备当前的信息自动替换其中的变量。

  • #MANUFACTURER# 会替换为设备制造商
  • #MODEL# 会替换为设备型号
  • #AV# 会替换为 Android 版本
  • #BUILD# 会替换为当前系统 Build 版本

以运行 Android 16,Build 版本为 CP1A.260405.005 的 Pixel 6 Pro 为例 ,其 IMS User Agent 为:

Google_Pixel6Pro_Android16_CP1A.260405.005

为了满足 GiffGaff 官方针对设备的要求,可以尝试模拟 Pixel 7 Pro 的 IMS User Agent。

因为 Pixel IMS 会自动替换模板中的变量,因此只需要修改 #MODEL# 参数,无需修改其他参数。

在修改过程中发现,Pixel IMS 提供的模板存在问题,Android#AV# 之间多了一个空格。

因此修改 #MODEL#Pixel7Pro,并删除 Android#AV# 之间的空格即可。

#MANUFACTURER#_Pixel7Pro_Android#AV#_#BUILD#

需要注意的是,OneIms 等其他工具不使用模板配置,需要完整填写 IMS User Agent。

Google_Pixel7Pro_Android16_CP1A.260405.005

随后在 Pixel IMS 中触发重新注册 IMS,但设备出现了无信号的情况。

于是开启飞行模式。此时意外发现设备开始产生大量 ePDG 连接请求。

再次触发 IMS 重新注册后,WiFi Calling 立即显示注册成功。

信号栏也终于出现了久违的 GiffGaff WiFi Calling 标识,通过 *#*#4636#*#* 查询 IMS 服务状态,确认 IMS 和 WiFi Calling 状态均为已注册

但是关闭飞行模式后发现仍有大量 ePDG 连接请求,却始终无法成功连接 WiFi Calling。

开启飞行模式后 WiFi Calling 连接恢复,可以正常使用 WiFi Calling接打电话。

这说明在飞行模式下已经满足 WiFi Calling 注册的基本条件,但在蜂窝网络下 WiFi Calling 的注册流程仍然存在异常。

七、探查必要配置#

在确认飞行模式下已经可以开启并使用 WiFi Calling ,我尝试进一步分析连接 GiffGaff WiFi Calling 所需的必要条件。

首先删除 IMS APN 进行测试。测试发现,删除 IMS APN 后并不会影响 WiFi Calling 的建立。

不过由于前置配置过程中设备可能已经通过 IMS APN 获取过相关参数,因此无法完全排除 IMS APN 对初始配置过程存在影响。因此,IMS APN 仍然建议保留。

随后恢复 Pixel IMS 默认的 IMS User Agent 模板。测试发现,恢复默认 IMS User Agent 后,WiFi Calling 无法再次成功建立。

经过多次测试确认,符合支持设备列表要求的 IMS User Agent 是连接 GiffGaff WiFi Calling 的必要条件之一。

最后切换到非英国网络环境进行测试。测试发现,WiFi Calling 会立即中断,并且无法重新建立连接。

这进一步验证了 GiffGaff WiFi Calling 对英国网络环境存在要求,英国网络出口也是建立 GiffGaff WiFi Calling 的必要条件之一。

八、总结#

通过以上测试发现,GiffGaff 开启 WiFi Calling 的条件较为严格:

  • 需要使用符合 GiffGaff 支持列表要求的设备,或通过自定义 IMS User Agent 模拟符合要求的设备
  • 需要处于英国网络环境
  • 修改 IMS 配置后,需要重新触发 IMS 注册流程
  • 特定情况下需要开启飞行模式才能成功建立 WiFi Calling(可能与设备状态或网络环境有关)

经过多次测试确认:

  • IMS APN 并不是当前测试环境下建立 GiffGaff WiFi Calling 的必要条件,但仍建议保留
  • IMS User Agent 和英国网络环境是成功建立 GiffGaff WiFi Calling 的关键条件
在 Pixel 6 Pro 上开启 GiffGaff WiFi Calling
https://www.self4m.com/posts/pixel-6-pro-giffgaff-wifi-calling/
✍️作者
Self4m
📅发布于
2026-07-24
©️许可协议
CC BY-NC-SA 4.0

商业用途必须事先获得作者授权;
非商业用途可以使用,但必须注明出处;
若有改编需采用相同许可协议发布。