关于CTEXCEL成功拉起WifiCalling的经验分享

ILS36 2026-08-05 12:20 1

刚刚把CTEXCEL成功通过wificalling激活了,并没有佬友们说的拉闸的情况。特分享一下我的操作步骤。


先说硬件环境,一台ios18.7.9版本的iphone XS,连接软路由openclash,使用的uk的可以udp的机场节点,使用wloc更改位置至uk后重启。


OpenClash的相关配置:运行模式-fakeip(tun混合),代理模式-规则,运行内核-Mihomo Meta,UDP流量转发-启用,DNS劫持-启用,ipv6所有能关掉都关掉。


个人总结成功拉起wificalling的关键就是在节点支持udp的基础上,可以成功将手机udp流量通过对应的端口(500/4500端口)放行,同时要在fakeip的排除名单里过滤整个3gppnetwork.org,以保证后续所有的其他运营商都能获得真实的ePDG地址。同时Openclash默认生成的nftables规则会导致UDP 500绕过代理,必须在Openclash的防火墙规则生成后自动删除。




  1. 在上述openclash的配置基础上,打开覆写设置-DNS设置,开启Fake-Ip-Filter,选择黑名单模式,并在里面填入+.3gppnetwork.org和+.vodafone-ip.de




  2. 在Openclash首页的覆写模块中建立一个新的模块,专门用来分流wificalling,模块起名可以叫wificalling.conf,内容如下:




[YAML]

dns:
+fake-ip-filter:
- '+.3gppnetwork.org'
- '+.vodafone-ip.de'

+proxy-groups:
- name: WiFiCalling-DE
type: select
include-all: true
exclude-type: direct|reject
filter: '(?i)(Germany|German|Frankfurt|Berlin|Dusseldorf|Nuremberg|(^|[^A-Z])DE([^A-Z]|$))'
disable-udp: false

- name: WiFiCalling-UK
type: select
include-all: true
exclude-type: direct|reject
filter: '(?i)(United Kingdom|Britain|London|Manchester|Birmingham|(^|[^A-Z])UK([^A-Z]|$)|(^|[^A-Z])GB([^A-Z]|$))'
disable-udp: false

+rules:
# Vodafone Germany
- DOMAIN-SUFFIX,mnc002.mcc262.pub.3gppnetwork.org,WiFiCalling-DE
- DOMAIN-SUFFIX,vodafone-ip.de,WiFiCalling-DE
- IP-CIDR,139.7.117.0/24,WiFiCalling-DE,no-resolve

# CTExcel UK / EE
- DOMAIN-SUFFIX,mnc030.mcc234.pub.3gppnetwork.org,WiFiCalling-UK
- DOMAIN-SUFFIX,mnc033.mcc234.pub.3gppnetwork.org,WiFiCalling-UK
- IP-CIDR,31.94.76.0/24,WiFiCalling-UK,no-resolve

说明:

固定选择一个支持UDP的节点,不使用自动选择、负载均衡或轮询。






  1. 解决UDP500被防火墙绕过的问题。连接到openclash的ssh,输入如下代码


# BEGIN WIFICALLING UDP500 FIX
# 删除 OpenClash 对 IKEv2 UDP 源端口 500 的绕过规则
for i in 1 2 3 4 5; do
nft list chain inet fw4 openclash_mangle >/dev/null 2>&1 || {
sleep 2
continue
}

nft -a list chain inet fw4 openclash_mangle 2>/dev/null |
awk '$0 ~ /udp sport 500/ && $0 ~ /return/ && $0 ~ /handle/ {print $NF}' |
while read -r handle; do
[ -n "$handle" ] &&
nft delete rule inet fw4 openclash_mangle handle "$handle" 2>/dev/null
done

break
done
# END WIFICALLING UDP500 FIX

给脚本权限:


chmod +x /etc/openclash/custom/openclash_custom_firewall_rules.sh


  1. 重启openclash,确认覆写模块加载正常。

  2. 通过wloc更改定位至伦敦,保持飞行模式和CTEXCEL卡片未启用状态重启手机。

  3. 手机重启后,保持飞行模式,开启wifi,手机接入软路由网络,启用CTEXCEL,启用WIFICalling,即可在飞行模式下成功拉起wificalling,同时拨打888也可正常接通。


注:运营商版本也很关键,这些操作完了之后第一次我并没有成功拉起wificalling,因为ios版本是18.4.1,运营商版本是EE 63.0。后来我就更新了系统至18.7.9,重启后发现运营商版本变成了EE 64.0。然后就丝滑拉起了

最新回复 (5)
  • 山水之间 08-10 11:07
    1

    昨天使用一台 iOS 18.7.8 EE 64.00 的 iPhone,小火箭 + 专门为拉起 WiFi Calling 写的一个配置文件 + 英国家宽 IP,成功拉起,通话,清除了一堆的语音浏览。

    注意,目前,我们没有查到 iOS 有 18.7.9 的版本,我升级的是 18.7.8。

    顺便说一句,我没有使用定位更改,而是关闭了定位。还有一个细节是,在小火箭的配置 → 隧道 勾选 除强制和本地以外的其他选项。

  • ILS36 楼主 08-10 13:04
    2

    佬,你的ai搜索能力不行啊,iphone xs 反正是有18.7.9版本的。



    另外如果是ai撰写或者润色的问题要用截图啊,小心被炼化

  • 山水之间 08-10 13:41
    3

    那,可能是我的手机(iPhone SE)美版的问题,升级不到。

    多谢!

  • SuperNG6 08-15 00:09
    4

    太感谢了!!!!折腾了一个小时,看您的帖子终于解决了,原来是openclash的配置原因。没有您这个帖子我估计我就放弃了,这谁能琢磨的出

  • ILS36 楼主 08-15 00:12
    5

    很荣幸能帮到您,帖子能有用我也很开心!

* 帖子来源Linux.do
返回