跳转到内容

防止漫游产生费用

一张境外卡插在本地的模组里,只要射频开着,就可能驻上本地网络并开始漫游。这页讲怎么让这类卡一直不驻网,只经 VoWiFi 打电话、收短信。

开始之前:

  • 卡所在的模组已经接管,见 接管一台模组。
  • 你能编辑主机上的配置文件 config.yaml,并能重启 nSIM。

nSIM 没有单独的「禁止漫游」开关。不想让一张卡漫游,就让它的卡策略保持「飞行模式」或「VoWiFi」。 这两种模式下射频关闭,卡不会驻网。下面几步是让这一点在开机、换卡等时刻也成立。

  1. 打开这台设备的「卡」页签,找到「射频与通话」一组。
  2. 确认「飞行模式」是打开的。要用 VoWiFi 时,「VoWiFi」也打开。

完成后,「状态」页签的小标签是「飞行模式」或「VoWiFi」。

新卡默认就是飞行模式。nSIM 读不到卡、换卡或还没确认卡策略时,也会先关射频。各模式的含义见 卡策略。

模组通电时默认打开射频,nSIM 要等它启动完才能接管。这十几秒足够一张漫游卡驻网,甚至收到一条漫游欢迎短信。

nSIM 接管模组后会自动给它写入「开机即飞行」设置,下次开机时射频就是关的。这一步不需要你操作。

要确认它已到位,看「设备」页。没有「模组配置漂移」一组,或其中没有这台设备的「开机即飞行」,就说明已生效。这一项长期留在那里,多半是固件不支持或读不到。这时本地运营商列表就是主要防线。

对还没确认「开机即飞行」的模组,nSIM 有第二道防线。它把本地运营商的网络代码写进卡里的禁止网络表,让卡在本地驻不上网。卡策略改回允许驻网时,nSIM 会把这几格还原。

本地有哪些运营商,由配置文件决定。配置文件里没写 roaming_guard 时,这一层不生效。 照抄示例配置文件时,会预填中国大陆的三家运营商;主机不在中国大陆时要改。

  1. 在 config.yaml 里加上或找到 roaming_guard,在 local_plmns 里列出主机所在地运营商的网络代码。网络代码是 MCC 加 MNC,例如 46000。

    roaming_guard:
    local_plmns:
    - "46000"
    - "46001"
    - "46011"
  2. 把本地信号最强的几家排在前面。

  3. 重启 nSIM。

完成后,受保护的卡在「卡」页签里多出「漫游防护」一行。它写着「SIM 卡已禁用」和写入的网络代码。

主机搬到别的国家,这份列表要跟着改。列表留空即关闭这一层。配置项说明见 配置文件。

  • 卡里的禁止网络表通常只有 4 格。本地网络多于 4 个时,放不下的那几个照样能让卡驻上。「漫游防护」一行会写出哪些没能写入。
  • 写不进卡时,「漫游防护」一行显示「未能写入 SIM 卡」加原因。
  • 卡策略改成「蜂窝待机」或「蜂窝联网」后,上面这些保护都会放开,因为那正是你要求驻网。
  • 在「运营商网络选择」里手动锁定一个非归属网络,卡就会在那个网络上漫游。
  • 运营商会不会因为漫游扣费、扣多少,因运营商、套餐和所在地而异。nSIM 只能保证不驻网,管不了已经驻网之后的计费。