好的,遵照您的指令,我们继续进行 3GPP TS 31.102 规范的深度拆解。


深度解析 3GPP TS 31.102:4.2.24 EFFDN & 4.2.44 EFBDN (拨号控制的双刃剑)

本文技术原理深度参考了3GPP TS 31.102 V18.8.0 (2025-03) Release 18规范中,关于“4.2.24 EFFDN (Fixed Dialling Numbers)”和“4.2.44 EFBDN (Barred Dialling Numbers)”的核心章节,旨在为读者深入剖析USIM卡中这对作用相反但设计相通的“拨号控制”文件,是如何通过“白名单”和“黑名单”机制,实现对手机外呼行为的精细化管理的。

在之前的探索中,我们看到了USIM如何定义身份、保障安全、指导网络选择。现在,让我们将目光投向一个更具体的应用场景:通话权限管理。在很多情况下,我们不希望一部手机能够随意拨打任何号码。

例如,我们的主角“李想”,他想为家里的老人配置一部手机,希望老人只能拨打几个预设的亲情号码,避免误拨昂贵的声讯台或骚扰电话。或者,一家公司为员工配备工作手机,希望员工只能拨打客户和同事的号码,禁止用于私人长途。反过来,也可能存在需要禁止拨打特定号码的场景,如屏蔽某些高风险的诈骗电话号码段。

为了满足这些精细化的外呼管理需求,USIM提供了两个强大的“门禁”工具:

  • EFFDN (Fixed Dialling Numbers - 固定拨号号码):这是一张**“白名单”。一旦启用,手机将只能**拨打这个列表中的号码。

  • EFBDN (Barred Dialling Numbers - 禁止拨号号码):这是一张**“黑名单”。一旦启用,手机将无法**拨打这个列表中的号码。

这两个文件如同拨号控制的双刃剑,一正一反,共同为手机的外呼行为设立了坚实的“护栏”。今天,我们将一同解剖这对“孪生”文件,理解它们的设计原理、联动机制以及在现代通信中的应用价值。


1. “白名单”的守护:4.2.24 EFFDN (固定拨号号码)

EFFDN是实现“受限拨号”功能的核心。它通过定义一个允许呼出的号码列表,为手机的通信范围画上了一个清晰的边界。

If service n° 2 and/or service n° 89 is “available”, this file shall be present.

This EF contains Fixed Dialling Numbers (FDN) and/or Supplementary Service Control strings (SSC).

从原文我们可以看到:

  1. 服务关联: EFFDN的存在与EF_UST中的服务n°2(FDN)和/或服务n°89(eCall数据)相关联。

  2. 功能核心: 文件内容是允许拨打的电话号码(FDN)或补充业务控制码(SSC,如 *#21# 等)。

FDN的工作机制

FDN功能的启用和管理,需要一个特殊的、比PIN码安全级别更高的密码——PIN2码

  1. 启用FDN: 李想在他的手机设置中找到“固定拨号”功能,并选择启用。此时,手机会要求他输入PIN2码

  2. 编辑列表: PIN2码验证通过后,李想就可以向EFFDN列表中添加、编辑或删除号码。他将父母、子女等几个亲情号码添加了进去。

  3. 门禁生效: 一旦FDN功能被激活,手机的拨号逻辑就会被“劫持”。每当李想(或使用这部手机的老人)拨打一个号码时:

    • 手机会首先将这个号码与EFFDN列表中的所有条目进行前缀匹配

    • 如果匹配成功(例如,拨打的号码是列表中的一个号码,或者是列表中某个号码的前几位),呼叫被允许,正常进行。

    • 如果匹配失败,手机会直接阻止这次呼叫,并提示用户“固定拨号已启用,无法拨打此号码”。

  4. 紧急呼叫豁免: FDN功能永远不会限制紧急呼叫。无论EFFDN如何设置,拨打EFECC中定义的紧急号码总是被允许的。

文件结构与编码剖析

EFFDN采用了线性固定文件结构,每一条记录代表一个允许的号码。其结构与我们熟悉的EFADN(电话本)高度相似。

表 4.2.24-1: EFFDN 文件结构

| 属性 | 值 |

| :--- | :--- |

| Identifier | ‘6F3B’ |

| Structure | Linear Fixed |

| Record length | X+14 bytes |

| Update activity | Low |

| Access Conditions | READ: PIN, UPDATE: PIN2, … |

记录内容

| 字节 | 描述 | M/O | 长度 |

| :--- | :--- | :--- | :--- |

| 1 to X | Alpha Identifier (号码别名) | O | X bytes |

| X+1 | Length of BCD number/SSC contents (号码长度) | M | 1 byte |

| X+2 | TON and NPI (号码类型和计划) | M | 1 byte |

| X+3 to X+12 | Dialling Number/SSC String (号码/SSC串) | M | 10 bytes |

| X+13 | Capability/Configuration2 Record Identifier | M | 1 byte |

| X+14 | Extension2 Record Identifier | M | 1 byte |

关键特性解读:

  • Access Conditions: 这是EFFDN与普通电话本EFADN最本质的区别。它的UPDATE权限被严格设置为PIN2。这意味着,只有知道PIN2码的人(通常是手机的管理者,如李想本人)才能修改这个“白名单”,而日常使用者(如老人)即使知道开机PIN码,也无法添加或删除号码,从而保证了管控的有效性。

  • 记录结构: EFFDN的记录结构几乎是EFADN的一个子集,包含了号码别名、号码本身、号码类型等核心信息。这意味着添加一个FDN号码的体验,与添加一个普通联系人非常类似。

  • Extension2 Record Identifier: 指向EFEXT2文件的记录号,用于支持超过20位的长号码,保证了功能的完整性。


2. “黑名单”的屏障:4.2.44 EFBDN (禁止拨号号码)

EFBDN的作用与EFFDN恰恰相反。它定义了一张“禁止拨出”的号码列表,充当了外呼的“防火墙”。

If service n° 6 is “available”, this file shall be present.

This EF contains Barred Dialling Numbers (BDN) and/or Supplementary Service Control strings (SSC).

BDN的工作机制

BDN功能的启用和管理,同样依赖于PIN2码

  1. 启用BDN: 启用过程与FDN类似,需要PIN2授权。

  2. 编辑列表: 管理员(知道PIN2的人)可以将需要屏蔽的号码或号码段(如声讯台、国际长途区号)添加到EFBDN列表中。

  3. 门禁生效: BDN激活后,手机的拨号逻辑同样被“劫持”。当用户拨打一个号码时:

    • 手机将该号码与EFBDN列表中的所有条目进行前缀匹配

    • 如果匹配成功,手机会立即阻止这次呼叫。

    • 如果匹配失败,则呼叫被认为是允许的,正常进行。

  4. 依赖Call Control:

    As the BDN service relies on the Call Control feature, BDN shall only be available if Call Control is available.

    这是一个重要的技术细节。BDN的实现,依赖于USAT的“Call Control by USIM”功能。这意味着手机必须向USIM“上报”每一次去电,由USIM内部的逻辑来判断是否在EFBDN列表中,并决定是否阻止呼叫。

文件结构与编码剖析

EFBDN的结构与EFFDN也几乎完全相同,唯一的细微差别在于它多了一个用于高级比较的字段。

表 4.2.44-1: EFBDN 文件结构

| 属性 | 值 |

| :--- | :--- |

| Identifier | ‘6F4D’ |

| Structure | Linear Fixed |

| Record length | X+15 bytes |

| Access Conditions| UPDATE: PIN2 |

记录内容 (与EFFDN相比)

| 字节 | 描述 | M/O | 长度 |

| :--- | :--- | :--- | :--- |

| … | … | … | … |

| X+14 | Extension4 Record Identifier | M | 1 byte |

| X+15| Comparison Method Pointer | M | 1 byte |

关键特性解读:

  • Access Conditions: UPDATE权限同样是PIN2,保证了“黑名单”的权威性。

  • Comparison Method Pointer: 这是EFBDN独有的字段。它指向EFCMI(Comparison Method Information)文件中的一条记录。这个功能允许运营商定义比简单的前缀匹配更复杂的比较逻辑。例如,可以定义“精确匹配”、“反向匹配”等,为BDN提供了更强的灵活性。


3. FDN与BDN的协同与优先级

FDN和BDN可以同时启用,那么此时它们的逻辑关系是怎样的呢?

通常情况下,FDN(白名单)的优先级更高。即,当FDN和BDN都启用时,拨号逻辑是:

  1. 首先检查号码是否在**EFFDN白名单**中。

  2. 如果不在白名单中,直接拒绝,无论它是否在黑名单里。

  3. 如果在白名单中,再检查它是否同时在**EFBDN黑名单**中。

  4. 如果在黑名单中,同样拒绝

  5. 只有当一个号码在白名单中,且不在黑名单中时,呼叫才被最终允许。

这个逻辑可以概括为:“必须是白名单里的,但不能是黑名单里的”

场景化举例:

公司为李想配置的工作手机同时启用了FDN和BDN:

  • FDN列表: +86138... (同事), +86139... (客户)

  • BDN列表: +8613800138000 (一个特定的、被禁止的号码)

现在,李想尝试拨打:

  • +8613912345678: 匹配FDN,不匹配BDN 允许

  • +86150... (私人号码): 不匹配FDN 拒绝

  • +8613800138000: 匹配FDN,但也匹配BDN 拒绝

通过这种组合,公司实现了非常精细的外呼策略:允许拨打某一类号码(客户),但又可以精确地屏蔽该类别中的个别号码。

总结:从自由拨号到策略管控

EFFDNEFBDN是USIM中实现“策略即代码”的典型范例。它们将复杂的拨号权限管理规则,物化为两张简单、标准的列表,存储在安全可控的USIM卡中。

  • 提供了强大的访问控制能力: 通过白名单(FDN)和黑名单(BDN)机制,为家庭、企业等场景提供了简单而有效的通话管理工具。

  • 安全分级管理: 引入PIN2码,实现了“管理者”和“使用者”权限的分离,确保了管控策略的稳定和权威。

  • 与核心安全机制协同: BDN功能的实现依赖于USAT的Call Control,FDN和BDN都为紧急呼叫提供豁免,这体现了USIM内部不同功能模块之间的有机协同。

  • 结构化与可扩展: 复用EFADN的记录结构,简化了实现;增加Comparison Method等扩展字段,又为未来更复杂的匹配逻辑预留了空间。

对于李想而言,当他为家人设置好FDN手机时,他获得的是一份安心。当他在工作中使用BDN限制的手机时,他体验到的是企业规范化管理的一部分。EFFDNEFBDN这对“双刃剑”,在不同的场景下,或守护、或约束,其最终目的都是让移动通信更好地服务于特定的管理需求,让技术真正落地于具体的业务场景。


FAQ环节

Q1:FDN/BDN功能对短信(SMS)和数据业务(Data)有限制吗?

A1:FDN/BDN的核心是拨号控制,主要限制的是CS(电路交换)语音呼叫。根据规范(TS 22.101),当FDN启用时,MO-SMS(发送短信)同样会受到限制,通常只允许向EFFDN列表中的号码发送短信。对于数据业务,FDN/BDN本身不直接控制APN的访问,数据业务的访问控制由EFACL(APN控制列表)来管理。

Q2:PIN2码是什么?如果我忘记了怎么办?

A2:PIN2码是一个4-8位的密码,与PIN码独立,用于授权修改FDN、BDN、计费信息等敏感但非致命的操作。它通常由运营商在用户办理业务时提供。如果连续输错PIN2码(通常是3次),PIN2码会被锁定。此时,需要使用PUK2码(PIN2 Unblocking Key,通常也是8位)来解锁并重置PIN2。如果PUK2也输错(通常是10次),PIN2功能将被永久锁定,相关的服务(如FDN)将无法再被管理。

Q3:为什么BDN需要依赖USAT的Call Control,而FDN似乎不需要?

A3:这是一个实现机制上的差异。FDN(固定拨号)是一个历史悠久且非常基础的功能,很多手机的底层协议栈(ME)已经内置了完整的FDN检查逻辑,即手机在发起呼叫前,自己就会去读取EFFDN并进行判断,无需再“请示”USIM。而BDN(禁止拨号)作为一个相对后期的功能,规范将其设计为依赖更灵活、更强大的USAT Call Control机制。这种方式的好处是,所有的判断逻辑都可以在USIM卡侧实现,使得未来扩展更复杂的禁止规则(如按时间禁止、按费率禁止等)成为可能,而无需修改手机软件。

Q4:我可以把一个号码段(如“157”)加入EFFDNEFBDN吗?*

A4:可以。FDN和BDN都支持前缀匹配。如果你在EFFDN中添加了“157”,那么拨打任何以“157”开头的号码都将被允许。同理,如果你在EFBDN中添加了“00852”(香港的国际区号),那么所有拨往香港的国际长途都将被禁止。这种前缀匹配的能力是这两个功能强大的关键所在。

Q5:在5G时代,VoNR通话会受到FDN/BDN的限制吗?

A5:会。随着通信IP化,规范也在演进。TS 22.101中明确指出,FDN检查的范围包括IMS communication。VoNR(Voice over NR)是基于IMS的通信。因此,当FDN启用时,手机在发起VoNR呼叫前,同样需要检查被叫号码(通常是TEL-URI或SIP-URI中的号码部分)是否符合EFFDN的规则。与此相关的URI格式的FDN/BDN列表,在规范后续的EFFDNURIEFBDNURI文件中被定义。