最近在JegoTrip领到了一张免费的CMLink UK eSIM,但是在我这台三星手机上一直拉不起WiFi Calling,激活不了。
别的卡例如3UK、Skinny都能随便拉,唯独这张一直没反应,很奇怪。
前置路由挂着UK IP节点,UDP 450/4500这些都没问题,甚至用tcpdump抓包看了IPsec到ePDG连接是通的,所以不像是IP问题,没啥头绪就放弃了。
直到看到 https://www.nodeseek.com/post-793823-1 这个贴后提到用fakelocation改定位,我去试了下没想到成功拉起来了。
我用的是GPS JoyStick: https://play.google.com/store/apps/details?id=com.theappninjas.fakegpsjoystick
用其他有模拟位置功能的软件应该也是一样的。
打开手机的开发者模式,在开发者选项里面找到选择模拟位置APP把这个APP选上。

然后打开GPS JoyStick,在地图模式拉到英国随便点一个地方,或者点设置坐标输入一个英国范围的地理坐标,接着点START启动模拟位置。

打开地图软件看到定位在英国就可以开WiFi Calling了。

如无意外等个三十秒左右连接成功就能看到VoWIFI图标:

也可以在飞行模式下连接:

还有另一个方法就是把系统IMS Service应用的定位权限关了。
我这台三星手机系统有点奇葩,没法禁用系统应用的权限,用Shizuku+App Ops强制把权限禁了也还能继续获取定位信息....
三星OneUI8的IMS包名是IMS Service(com.sec.imsservice),其他手机可能不同。

这里演示的是CMLink UK,有其他卡连接不上也可以用两个个方法试一下。
我猜测是和IOS新系统一样,运营商设定档设置了启用WiFi Calling要上传设备定位信息,那些能拉起的安卓手机可能是没写这个功能或者IMS应用获取不到定位权限信息。

最后就是并非每个运营商的WiFi Calling都要求当地家宽/原生IP,但至少要通UDP 450/4500端口。
我测了3UK和CMLink UK用英国龟壳(机房广播IP)都能拉。
这不我帖子吗 哈哈哈 希望对各位安卓机的mjj有用
我靠,牛啊,我的voxi也拉不起来。晚上我也试试。