• ILS36

    刚刚把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的防火墙规则生成后自动删除。

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

    图片

    • 在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的节点,不使用自动选择、负载均衡或轮询。

    图片

    图片

    - 解决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
    ```- 重启openclash,确认覆写模块加载正常。

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

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

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

    主楼
  • 山水之间

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

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

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

    #1
  • ILS36

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

    图片

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

    #2
  • 山水之间

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

    多谢!

    #3
  • SuperNG6

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

    #4
  • ILS36

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

    #5

发表回复

登录后回复