CPE开发者3GPP学习笔记 #10:PLMN 选择与漫游
CPE开发者3GPP学习笔记 #10:PLMN 选择与漫游
系列:CPE 设备软件开发者的 3GPP 知识体系 日期:2026-08-13 参考规范:TS 23.122 V19.6.0 §4.4.3 上一篇:QoS 与策略控制:QCI/5QI/DSCP 映射 下一篇:SIM/USIM 文件系统与 +CRSM
1. 本文要解决什么问题
进入第 4 层(进阶专题)。CPE 常被部署在需要"锁网"的场景(企业专网、固定运营商、跨境漫游控制)。这篇讲 PLMN 选择,回答三个问题:
- 自动 PLMN 选择的优先级规则是什么(RPLMN → HPLMN → UPLMN → OPLMN → 其他)?
- EHPLMN(Equivalent HPLMN)和 OPLMN(Operator-controlled PLMN)的区别?
- CPE 设备在漫游场景下,如何通过
+COPS实现"仅限归属网络"或"优先特定运营商"?
为什么 CPE 要懂 PLMN 选择? 因为 CPE 是固定设备,漫游会带来资费和合规问题。很多 CPE 固件需要"锁网"功能(禁止漫游、只连特定运营商),而这些功能的底层就是 PLMN 选择 + +COPS。
2. PLMN 选择的基础概念(回答 Q2)
2.1 几个关键 PLMN 类型
| 缩写 | 全称 | 含义 |
|---|---|---|
| HPLMN | Home PLMN | 归属网络(由 IMSI 的 MCC+MNC 推导) |
| EHPLMN | Equivalent HPLMN | 等价归属网络(列表,可含多个"家"码) |
| RPLMN | Registered PLMN | 上次成功注册的 PLMN |
| VPLMN | Visited PLMN | 访问网络(非 HPLMN/EHPLMN,即漫游) |
| UPLMN | User Controlled PLMN | 用户控制的优选 PLMN 列表 |
| OPLMN | Operator Controlled PLMN | 运营商控制的优选 PLMN 列表 |
2.2 EHPLMN vs OPLMN(回答 Q2 的核心)
EHPLMN(Equivalent HPLMN,等价归属网络):
规范定义(TS 23.122 §3.1):"PLMN codes that are present within this list shall replace the HPLMN code derived from the IMSI for PLMN selection purposes."
- 存储在 USIM 里,是"多个家"的列表——允许一个运营商有多个 PLMN 码(如合并/收购后);
- EHPLMN 里的 PLMN 被当作"归属网络"对待(不是漫游!);
- 关键规则:如果 IMSI 推导的 HPLMN 不在 EHPLMN 列表里,那这个 HPLMN 会被当作 VPLMN(漫游)处理。
OPLMN(Operator Controlled PLMN,运营商控制的优选网络):
- 存储在 SIM/USIM 或 ME 里,是运营商给用户预置的漫游优选列表;
- 决定"漫游时优先选哪个 VPLMN"(通常是运营商的漫游合作伙伴);
- OPLMN 里的 PLMN 仍然是 VPLMN(漫游),不是归属。
一句话区别:EHPLMN 是"也算我家"(不漫游);OPLMN 是"漫游时优先选这家"(仍漫游)。
3. 自动 PLMN 选择的优先级规则(回答 Q1)
自动选网模式(Automatic Network Selection Mode)按规范 §4.4.3.1.1 的固定顺序选择。CPE 开发者要记住的完整优先级:
1. RPLMN / Equivalent PLMN(上次注册的 + 等价列表)
2. HPLMN(EHPLMN 列表不存在/为空时)或 最高优先级 EHPLMN(列表存在时)
3. UPLMN(用户控制的优选列表,按优先级)
4. OPLMN(运营商控制的优选列表,按优先级)
5. 其他高质量信号的 PLMN(随机顺序)
6. 其他 PLMN(按信号质量降序)
7. 低选择优先级 PLMN 列表
关键点:
- RPLMN 最先:开关机/恢复覆盖后,MS 优先尝试回到上次注册的 PLMN(省信令、快)。
- EHPLMN 优先于 HPLMN:如果 USIM 有 EHPLMN 列表,就用列表里最高优先级的 EHPLMN,而不是 IMSI 推导的 HPLMN。
- UPLMN 在 OPLMN 之前:用户自己设的优选高于运营商预设。
- 最后才是"随便找个信号好的":前面都失败,才按信号质量随机/降序选其他网络。
对 CPE 的意义: CPE 的"默认自动选网"行为由模组按这套规则执行,CPE 固件不直接干预(除非用 +COPS 手动锁网,见 §4)。
4. CPE 如何实现"锁网"(回答 Q3)
+COPS(TS 27.007 §7.3)的 <mode> 参数是 CPE 控制 PLMN 选择的唯一 AT 手段。回顾 mode 取值:
| mode | 含义 | CPE 用途 |
|---|---|---|
| 0 | 自动选网 | 默认,交给模组按 §3 规则选 |
| 1 | 手动选网(指定 oper) | 锁网到指定运营商 |
| 2 | 注销(deregister) | 强制下线 |
| 4 | 手动/自动(手动失败回自动) | 锁网但允许回退 |
4.1 场景一:仅限归属网络(禁止漫游)
AT+COPS=1,2,"46001" ← 手动锁到中国联通(46001)
- 原理:手动模式(mode=1)只注册指定运营商,漫游的 VPLMN 不会被选。
- 注意:手动锁网后,如果该运营商无覆盖,CPE 会一直无服务(不会自动回漫游)。所以更稳妥的是 mode=4(手动/自动):
AT+COPS=4,2,"46001" ← 优先 46001,失败则回自动 - 配套:锁网前先
AT+COPS=?拿当前可用的运营商列表(返回<stat>,2=current、1=available、3=forbidden)。
4.2 场景二:优先特定运营商(允许漫游但排序)
CPE 无法直接改 USIM 里的 UPLMN/OPLMN 列表(那需要 +CRSM 写 SIM,见下一篇),但有两种替代方案:
- 手动优先:
AT+COPS=4,2,"<首选MCCMNC>"优先锁首选运营商,无覆盖回自动; - SIM 预配置:出厂时在 SIM 里写好 UPLMN/OPLMN(由运营商/写卡工具做),模组自动按列表优先。
4.3 设计决策
设计决策 #1:锁网用 mode=4(手动/自动)而非 mode=1(纯手动)。 纯手动锁网在目标运营商无覆盖时会永久失联,固定 CPE 无人值守,失联是不可接受的。mode=4 保证"优先锁网 + 失败回退"。
设计决策 #2:漫游判定用注册 PLMN 是否在 EHPLMN 列表。 这呼应第 2 篇的"home vs roaming"——CPE 判漫游应比较注册 PLMN 与 EHPLMN(而非简单比较 IMSI 的 HPLMN)。因为运营商合并后,注册到 EHPLMN 列表里的"第二个家"不算漫游。
设计决策 #3:锁网要处理"forbidden"状态。 +COPS=? 返回的 <stat>=3(forbidden)表示该 PLMN 被禁止(在禁止列表里),手动锁它会失败。CPE 应该读 +COPS=? 的结果,只对 <stat>=1/2(available/current)的运营商发起锁网。
5. CPE 固件设计决策汇总
- 锁网用
+COPS=4(手动/自动)而非=1(纯手动)。 避免目标运营商无覆盖时永久失联。 - 漫游判定以 EHPLMN 列表为准,不是 IMSI 的 HPLMN。 运营商合并/多码场景下,EHPLMN 列表里的网络不算漫游。
- 锁网前先
+COPS=?读可用运营商和 forbidden 状态。 只对 available/current 的 PLMN 发起锁网。 - 自动选网优先级:RPLMN → EHPLMN/HPLMN → UPLMN → OPLMN → 其他。 CPE 默认交给模组按此规则,只有需要锁网时才用 +COPS 干预。
6. 规范原文关键引用
| 知识点 | 规范出处 |
|---|---|
| EHPLMN / RPLMN / VPLMN 定义 | TS 23.122 §3.1 |
| PLMN 选择模式(自动/手动) | TS 23.122 §4.4.1 |
| 开关机/恢复覆盖的选择 | TS 23.122 §4.4.3.1 |
| 自动选网优先级顺序 | TS 23.122 §4.4.3.1.1 |
| 等价 PLMN 列表 | TS 23.122 §4.4.4 |
| +COPS 命令 | TS 27.007 §7.3 |
7. 下一篇预告
下一篇讲 SIM/USIM 文件系统与 +CRSM(TS 31.102 + TS 27.007 §8.18):EF-LOCI、EF-IMSI 等关键文件,以及 CPE 如何用 +CRSM 直接读写 SIM 卡文件(读 IMSI、判断是否支持 5G)。
本文基于 3GPP/ETSI Release 19 规范(TS 23.122 V19.6.0)。

浙公网安备 33010602011771号