CPE开发者3GPP学习笔记 #4:4G EPS 附着与 EMM 状态机
CPE开发者3GPP学习笔记 #4:4G EPS 附着与 EMM 状态机
系列:CPE 设备软件开发者的 3GPP 知识体系 日期:2026-08-13 参考规范:TS 24.301 V19.6.0 §5.1.3.2/§5.1.3.3/§5.5.1/§5.5.3/§9.9.3.9 上一篇:数据连接建立(PDP Context / PDU Session) 下一篇:5G 注册与 5GMM 状态机
1. 本文要解决什么问题
前几篇都在 AT 命令层(TS 27.007)。从这篇开始进入 NAS 协议层(TS 24.301,EPS 的 NAS),回答四个问题:
- EMM-DEREGISTERED 和 EMM-REGISTERED 两个状态之间转换的触发条件分别是什么?
- ATTACH REJECT 常见 Cause:#7(EPS services not allowed)、#8(EPS and non-EPS not allowed)、#11(PLMN not allowed)、#15(No suitable cells) 各意味着什么?
- CPE 收到 ATTACH REJECT 后应该怎么处理?什么时候换 PLMN、什么时候重试、什么时候放弃?
- TAU(Tracking Area Update)是什么?在什么情况下触发?
先建立心智模型: CPE 不实现 NAS——NAS 是模组的协议栈。但理解 EMM 状态机,才能读懂上一篇 +CEREG 返回的 <stat>、以及 +CEER 里的拒绝原因。+CEREG 的 stat 本质上就是 EMM 状态在 AT 接口上的投影:
| +CEREG stat | 对应的 EMM 状态/子状态 |
|---|---|
| 1(已注册,归属) | EMM-REGISTERED.NORMAL-SERVICE |
| 2(未注册,搜索中) | EMM-DEREGISTERED.PLMN-SEARCH 或 EMM-REGISTERED.PLMN-SEARCH |
| 3(注册被拒绝) | ATTACH/TAU 被拒,回落到 EMM-DEREGISTERED |
| 0(未注册,未搜索) | EMM-DEREGISTERED.NO-CELL-AVAILABLE / NO-IMSI / LIMITED-SERVICE |
| 5(已注册,漫游) | EMM-REGISTERED(但 EPS update status = EU3 ROAMING NOT ALLOWED 或漫游判定) |
2. EMM 状态机(§5.1.3.2)
2.1 七个主状态
EMM(EPS Mobility Management,EPS 移动性管理)在 UE 侧定义了七个主状态(§5.1.3.2.2):
| 状态 | 含义 | CPE 视角 |
|---|---|---|
| EMM-NULL | EPS 服务被禁用,不做任何 MM 功能 | 关机/禁用蜂窝 |
| EMM-DEREGISTERED | 无 EMM 上下文,MME 不知道 UE 位置 | 上电但未附着 |
| EMM-REGISTERED-INITIATED | 已发 ATTACH REQUEST,等 MME 响应 | 附着进行中 |
| EMM-REGISTERED | EMM 上下文已建立,默认承载已激活 | 已注册,可上网 |
| EMM-DEREGISTERED-INITIATED | 已发 DETACH,等 MME 响应 | 去附着中 |
| EMM-TRACKING-AREA-UPDATING-INITIATED | 已发 TAU REQUEST,等 MME 响应 | TAU 进行中 |
| EMM-SERVICE-REQUEST-INITIATED | 已发 SERVICE REQUEST,等 MME 响应 | 恢复业务中 |
规范原文对两个关键状态的定义:
- EMM-DEREGISTERED:"no EMM context has been established, and the UE location is unknown to an MME and hence it is unreachable by an MME. In order to establish an EMM context, the UE shall start the attach procedure."
- EMM-REGISTERED:"an EMM context has been established. Additionally, a default EPS bearer context has been activated." 且位置精度:IDLE 时 MME 只知道到 TA 列表级别,CONNECTED 时精确到 eNodeB。
2.2 状态转换表(图 5.1.3.2.2.7.1)
核心转换:
| 起点 | 触发事件 | 终点 |
|---|---|---|
| EMM-DEREGISTERED | 发起 ATTACH(+ATTACH requested) | EMM-REGISTERED-INITIATED |
| EMM-REGISTERED-INITIATED | ATTACH ACCEPT | EMM-REGISTERED |
| EMM-REGISTERED-INITIATED | ATTACH REJECT | EMM-DEREGISTERED |
| EMM-REGISTERED | 发起 DETACH(非关机) | EMM-DEREGISTERED-INITIATED |
| EMM-DEREGISTERED-INITIATED | DETACH ACCEPT | EMM-DEREGISTERED |
| EMM-REGISTERED | 发起 TAU | EMM-TRACKING-AREA-UPDATING-INITIATED |
| EMM-TAU-INITIATED | TAU ACCEPT | EMM-REGISTERED |
| EMM-TAU-INITIATED | TAU REJECT(#13/#15/#25/#83) | EMM-DEREGISTERED |
| EMM-TAU-INITIATED | TAU REJECT(其他 cause) | EMM-REGISTERED |
| EMM-REGISTERED | 发起 SERVICE REQUEST | EMM-SERVICE-REQUEST-INITIATED |
回答 Q1(状态转换触发条件):
- DEREGISTERED → REGISTERED:只有一条路——发起附着(ATTACH),收到 ATTACH ACCEPT。触发附着的条件:上电、SIM 就绪、进入有覆盖的小区、T3411/T3402/T3346 定时器到期重试等。
- REGISTERED → DEREGISTERED:多条路——显式 DETACH(关机/去附着)、TAU 被 #13/#15/#25/#83 拒绝、网络发起 DETACH、下层失败(无线链路失败)。
2.3 子状态(CPE 排障的关键)
EMM-DEREGISTERED 的子状态(§5.1.3.2.3),每个都对应一种"为什么还没注册":
| 子状态 | 含义 | CPE 对应现象 |
|---|---|---|
| NORMAL-SERVICE | 找到合适小区,PLMN/TA 不在禁止列表 | 等待附着 |
| LIMITED-SERVICE | 小区不能提供正常服务(禁止 PLMN/TA、CSG 不允许) | 仅限紧急呼叫 |
| ATTEMPTING-TO-ATTACH | 附着失败(无响应),等 T3411 重试 | stat=0,短暂 |
| PLMN-SEARCH | 正在搜网 | stat=2 |
| NO-IMSI | 无有效订阅(SIM 缺失/无效) | +CPIN 报错 |
| NO-CELL-AVAILABLE | 无 E-UTRAN 小区 | 无覆盖 |
EMM-REGISTERED 的子状态(§5.1.3.2.4):NORMAL-SERVICE、ATTEMPTING-TO-UPDATE(TAU 失败等重试)、PLMN-SEARCH、UPDATE-NEEDED(TAU 被访问类控制挡住)、NO-CELL-AVAILABLE(丢覆盖/PSM 激活)等。
2.4 EPS update status(§5.1.3.3)
除了状态机,UE 还有一个持久化的"EPS 更新状态",存在 USIM 的非易失存储里:
- EU1 UPDATED:上次附着/TAU 成功。
- EU2 NOT UPDATED:上次附着/TAU 过程性失败(无响应或收到 REJECT)。
- EU3 ROAMING NOT ALLOWED:上次正确执行了,但网络给了否定答复(漫游或订阅限制)。
EU3 这个值解释了上一篇"注册被拒后 CPE 为什么不该盲目重试"——网络已经明确说"这个订阅/这个位置不允许",UE 会把它记下来。
3. 附着流程(§5.5.1)
3.1 正常流程
UE (EMM-DEREGISTERED) MME
|---- ATTACH REQUEST ------------->| UE 启动 T3410,进入 EMM-REGISTERED-INITIATED
| |
|<--- (认证/安全模式过程) ---------| 可选:鉴权 + NAS 安全上下文
| |
|<--- ATTACH ACCEPT -------------| MME 启动 T3450
| (GUTI + TAI 列表 + T3412/T3324)|
|---- ATTACH COMPLETE ----------->|
| |
UE 进入 EMM-REGISTERED MME 停止 T3450
三个关键点(CPE 只需理解,无需实现):
- 发起(§5.5.1.2.2):UE 在 EMM-DEREGISTERED 发 ATTACH REQUEST,启动 T3410,进入 EMM-REGISTERED-INITIATED。消息里带身份:有 GUTI 用 GUTI(上次注册留下的),没有则用 IMSI。
- 接受(§5.5.1.2.4):MME 回 ATTACH ACCEPT,分配 GUTI(新的临时身份)和 TAI 列表(UE 注册的跟踪区列表,UE 存下它,用来判断是否需要 TAU)。同时可能带 T3412(周期 TAU 定时器值)和 T3324(PSM 激活时间)。
- 完成:UE 回 ATTACH COMPLETE,进入 EMM-REGISTERED。
CPE 要记住 GUTI 和 TAI 列表的作用:GUTI 是"下次附着/TAU 不用再发 IMSI"的临时身份(保护 IMSI 隐私);TAI 列表决定"UE 移动到哪个范围才需要 TAU"。
3.2 拒绝流程(§5.5.1.2.5)
UE (EMM-REGISTERED-INITIATED) MME
|<--- ATTACH REJECT (EMM cause) --|
| |
UE 停 T3410,按 cause 采取行动,回 EMM-DEREGISTERED
MME 用 ATTACH REJECT 携带 EMM cause(§9.9.3.9)告诉 UE"为什么拒绝"。UE 收到后停 T3410,并根据 cause 值采取不同动作(见 §5)。
4. EMM Cause 表(§9.9.3.9,表 9.9.3.9.1)
ATTACH REJECT / TAU REJECT / SERVICE REJECT 里都会带 EMM cause。完整表几十项,CPE 排障最常遇到的是这几类:
| Cause | 名称 | 性质 |
|---|---|---|
| #7 | EPS services not allowed | 永久:订阅不允许 EPS |
| #8 | EPS services and non-EPS services not allowed | 永久:订阅不允许任何服务 |
| #11 | PLMN not allowed | 永久:该 PLMN 被禁止 |
| #12 | Tracking Area not allowed | 永久:该 TA 被禁止 |
| #13 | Roaming not allowed in this tracking area | 永久:该 TA 不允许漫游 |
| #14 | EPS services not allowed in this PLMN | 永久:该 PLMN 不允许 EPS |
| #15 | No suitable cells in tracking area | 通常是位置/覆盖/接入控制问题 |
| #17 | Network failure | 临时:网络故障 |
| #19 | ESM failure | 附着成功但默认承载建立失败 |
| #22 | Congestion | 临时:拥塞,带退避定时器 T3346 |
| #42 | Severe network failure | 临时:严重网络故障 |
回答 Q2(#7/#8/#11/#15 各意味着什么):
- #7(EPS services not allowed):这个订阅(SIM)根本不允许 EPS 数据服务。规范要求 UE 把 USIM 视为"对 EPS 无效",进入 EMM-DEREGISTERED。CPE 应该停手,上报管理平台"SIM 未开通数据业务",而不是重试。
- #8(EPS and non-EPS not allowed):订阅不允许任何服务(连语音都不行)。UE 视 USIM 无效,进入 EMM-DEREGISTERED.NO-IMSI。这是最严重的拒绝,通常是欠费停机、SIM 被运营商拉黑。
- #11(PLMN not allowed):这个 PLMN 禁止接入。UE 把 PLMN 写入禁止 PLMN 列表,启动 T3245,进入 EMM-DEREGISTERED.PLMN-SEARCH,按 TS 23.122 重新选网。CPE 应该尝试换 PLMN(
+COPS手动选网),而不是在原地重试。 - #15(No suitable cells in tracking area):这是个"万能" cause,规范里多个场景都映射到它——默认承载建立失败(ESM #29)、接入技术利用控制、CIoT 优化不兼容等。意味着"当前这个小区/TA 不适合你"。CPE 应尝试移动(换小区/换 TA),或者检查频段/接入配置。
5. CPE 收到 ATTACH REJECT 怎么处理(回答 Q3)
规范(§5.5.1.2.5)对每个 cause 都规定了 UE 的应对动作。CPE 固件应该翻译这套动作,而不是"收到 REJECT 就无脑重试"。核心是区分三类:
5.1 永久拒绝 → 停止重试 + 换网/上报
| cause | UE 规范动作(§5.5.1.2.5) | CPE 固件动作 |
|---|---|---|
| #7 | 置 EU3,视 USIM 对 EPS 无效,进 EMM-DEREGISTERED | 停止重试,告警"SIM 未开通数据业务" |
| #8 | 置 EU3,视 USIM 无效,进 NO-IMSI | 停止重试,告警"SIM 无效/停机" |
| #11 | 存禁止 PLMN 列表,启动 T3245,进 PLMN-SEARCH | 换 PLMN(+COPS 手动选网),不再原地重试 |
| #12/#13/#14 | 存禁止 TA/漫游限制,类似 #11 | 换 TA/换 PLMN,或上报 |
5.2 临时拒绝 → 指数退避重试
| cause | UE 规范动作 | CPE 固件动作 |
|---|---|---|
| #17(network failure) | 启动 T3411 重试 | 指数退避重试 |
| #22(congestion) | 网络下发 T3346 退避定时器,到期前不得重试 | 读 T3346 值,严格等退避,不要自己拍脑袋重试 |
| #42(severe network failure) | 退避重试 | 退避重试 |
5.3 设计决策
设计决策 #1:用 +CEER / +CEREG=3 拿 EMM cause,再分类处理。 上一篇文章讲过 +CEREG 的 cause_type=0 时 reject_cause 就是这里的 EMM cause。CPE 的拒绝处理逻辑应该是:读 cause → 查永久/临时分类表 → 走对应分支。
设计决策 #2:永久拒绝绝不自动重试,临时拒绝按退避重试。 死循环重试在运营商侧会留下坏记录,且永久拒绝重试一万次也不会成功。具体策略(可配置):
永久 cause(#7/#8/#11/#12/#13/#14):
→ 停 60s → 尝试 +COPS=? 找替代 PLMN → 手动选网
→ 无可替代 → 告警上报,进入"等待人工介入"状态
临时 cause(#17/#22/#42):
→ 重试间隔 30s → 60s → 120s → 300s → 900s(封顶)
→ #22 时优先遵守网络下发的 T3346
→ 连续 N 次失败升级为告警
设计决策 #3:把 +CEREG 的 stat 映射到 EMM 子状态,日志里记录子状态而非裸 stat。 比如 stat=0 到底是 NO-IMSI(SIM 问题)还是 NO-CELL-AVAILABLE(覆盖问题),排障结论完全不同。结合 +CPIN?(SIM 状态)和 +CESQ(信号)就能定位。
6. TAU:跟踪区更新(§5.5.3)
6.1 TAU 是什么
TAU(Tracking Area Update)是 UE 在 EMM-REGISTERED 状态下告诉 MME"我还在/我移动了"的过程。UE 在附着时从 MME 拿到一个 TAI 列表(跟踪区列表),只要 UE 还在这个列表覆盖范围内,就不需要通知 MME;一旦进入列表外的跟踪区,就要发 TAU REQUEST。
6.2 触发条件(§5.5.3.2.2)
规范列了二十多种触发条件(a~zj)。CPE 是固定安装设备,主要关注这几种:
| 触发条件 | 说明 | CPE 相关性 |
|---|---|---|
| a) 当前 TAI 不在注册的 TAI 列表里 | 移动到新跟踪区 | 低(固定设备,除非网络重配) |
| b) 周期 TAU 定时器 T3412 到期 | 周期性保活 | 高——CPE 最常见 |
| e) RRC 释放带 "load balancing TAU required" | 网络负载均衡要求 | 中 |
| i) RRC 连接失败且无上下行数据 | 无线链路恢复后 | 中(信号抖动) |
回答 Q4: TAU 分两类——普通 TAU(进入列表外 TA)和周期 TAU(T3412 到期,如 54 分钟)。对固定 CPE,周期 TAU 是主要形态,作用是让 MME 知道 UE 还活着、并刷新上下文。EPS update type IE 里会标 "TA updating" 或 "periodic updating"。
6.3 TAU 对 CPE 的意义
- TAU 失败 ≠ 掉线。 普通 TAU 被拒(除 #13/#15/#25/#83 外)时,UE 仍停留在 EMM-REGISTERED(见 §2.2 转换表),数据连接不受影响。
- 但 TAU REJECT 带 #13/#15/#25/#83 会回到 EMM-DEREGISTERED,这时数据连接会断,CPE 要重新附着。
- CPE 可以观察周期 TAU 的间隔(T3412)来推断网络配置;长时间(>T3412 的若干倍)没收到任何 TAU/注册活动,可能是模组已静默掉线,需要主动
+CEREG?巡检。
7. CPE 固件设计决策汇总
- 用
+CEER/+CEREG=3拿 EMM cause,先分"永久/临时"再处理。 永久 cause 换 PLMN/上报,临时 cause 退避重试。 - #22(congestion)严格遵守网络下发的 T3346 退避定时器。 不要自己拍脑袋定重试间隔。
- 把
+CEREG的 stat 映射到 EMM 子状态,日志里记录子状态 ++CPIN++CESQ。 让远程排障能区分 SIM 问题、覆盖问题、订阅问题。 - 永久拒绝绝不自动重试,临时拒绝指数退避。 运营商侧避免留坏记录。
- 周期 TAU 失败(非 #13/#15/#25/#83)不视为掉线。 别因为一次 TAU 失败就重启模组或重建数据连接。
8. 规范原文关键引用
| 知识点 | 规范出处 |
|---|---|
| EMM 主状态(7 个) | TS 24.301 §5.1.3.2.2 |
| EMM-DEREGISTERED 子状态 | TS 24.301 §5.1.3.2.3 |
| EMM-REGISTERED 子状态 | TS 24.301 §5.1.3.2.4 |
| EPS update status(EU1/EU2/EU3) | TS 24.301 §5.1.3.3 |
| 状态转换图 | TS 24.301 图 5.1.3.2.2.7.1 |
| 附着发起(T3410,进 REGISTERED-INITIATED) | TS 24.301 §5.5.1.2.2 |
| 附着接受(GUTI/TAI 列表/T3412/T3324) | TS 24.301 §5.5.1.2.4 |
| 附着拒绝(按 cause 的动作) | TS 24.301 §5.5.1.2.5 |
| 周期/普通 TAU 触发条件 | TS 24.301 §5.5.3.2.2 |
| EMM cause 值表 | TS 24.301 §9.9.3.9(表 9.9.3.9.1) |
9. 下一篇预告
下一篇进入 5G 的 NAS:5GMM 状态机与 Registration 流程(TS 24.501 §5),对比 5G Registration 与 4G Attach 的本质区别,以及 5GMM/5GSM Cause 值表——理解 5G 注册和 PDU Session 被拒的原因。
本文基于 3GPP/ETSI Release 19 规范(TS 24.301 V19.6.0,2026-03)。

浙公网安备 33010602011771号