好的,我们继续接续上一篇文章,对 3GPP TS 31.102 规范进行深度拆解。


深度解析 3GPP TS 31.102:4.2.12 EFSPN (服务提供商名称)

本文技术原理深度参考了3GPP TS 31.102 V18.8.0 (2025-03) Release 18规范中,关于“4.2.12 EFSPN (Service Provider Name)”的核心章节,旨在为读者深入剖析手机屏幕左上角显示的运营商名称背后,USIM卡是如何通过EFSPN文件实现品牌展示与网络身份的精妙分离的。

在前面的探索中,我们已经了解了USIM如何定义身份、保障安全、声明能力。现在,让我们回到一个用户最直观的体验上:手机屏幕左上角显示的运营商名称。当我们的主角“李想”开机后,手机显示的是“中国移动”、“AT&T”,还是一个他从未见过的品牌名称?这个小小的细节,背后牵动着复杂的商业合作和品牌战略。

通常情况下,手机会显示当前驻留网络的PLMN名称。例如,在中国移动的网络下显示“中国移动”,在AT&T的网络下显示“AT&T”。但现实世界要复杂得多,尤其是在虚拟运营商(MVNO)和品牌合作日益盛行的今天。

  • 虚拟运营商场景: 李想可能办理的是“阿里通信”或“京东通信”的号码,但这些虚拟运营商并没有自己的物理网络,它们租用的是三大基础运营商(如中国移动)的网络。李想希望手机上显示的是他签约的品牌“阿里通信”,而不是底层的网络提供商“中国移动”。

  • 品牌合作场景: 某家银行可能与运营商合作推出联名卡,希望用户在使用时能看到银行的品牌标识。

为了满足这种**“服务品牌”与“网络实体”分离**的需求,3GPP规范引入了EFSPN (Service Provider Name) 文件。它的使命,就是在特定的网络条件下,让手机“忽略”物理网络的名称,转而显示USIM中预设的服务提供商名称。

今天,我们就来深入EFSPN文件,看看它是如何通过简单的文本和巧妙的显示规则,在方寸屏幕之间上演这场品牌“变形记”的。


1. 品牌的“名片”:EFSPN的核心价值

EFSPN就像一张存储在USIM里的“品牌名片”。当满足特定条件时,手机就会拿出这张名片,向用户展示。

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

This EF contains the service provider name in text format and appropriate requirements for the display by the ME. The service provider name may also be provided in a graphical format in EFSPNI.

这段原文揭示了EFSPN的几个关键属性:

  1. 服务关联: 它的存在与否,取决于USIM服务表(EF_UST)中第19号服务是否被激活。

  2. 内容核心: 存储了服务提供商的文本名称 (in text format)

  3. 显示规则: 文件内不仅有名称,还包含了显示该名称的条件 (appropriate requirements for the display)

  4. 图形扩展: 它可以与另一个文件EFSPNI (Service Provider Name Icon) 联动,实现运营商Logo的图形化显示。

场景化举例:

李想办理了一张“谷粒移动”(一家虚拟运营商)的SIM卡,这家虚拟运营商租用的是中国移动的网络。

  • 没有 EFSPN 的情况: 李想开机后,手机驻留在中国移动的网络(HPLMN),屏幕上会显示“中国移动”。这在品牌识别上是不理想的,因为李想签约的服务商是“谷粒移动”。

  • 有了 EFSPN 的情况: “谷粒移动”在发行USIM卡时,在EFSPN文件中写入了“谷粒移动”的文本,并设置了显示规则:“当手机驻留在HPLMN(即中国移动网络)时,显示此名称”。现在,李想开机后,手机驻留在中国移动网络,然后它会检查EFSPN。根据文件内的规则,手机最终在屏幕上显示出“谷粒移动”。这就实现了业务品牌和网络品牌的分离。


2. 规则的制定者:EFSPN文件结构与编码剖析

EFSPN的精妙之处在于它不仅定义了“显示什么”,更关键的是定义了“何时显示”。

2.1 文件结构

表 4.2.12-1: EFSPN 文件结构

| 属性 | 值 |

| :--- | :--- |

| Identifier | ‘6F46’ |

| Structure | Transparent |

| File size | 17 bytes |

| Update activity | Low |

| Access Conditions | READ: ALWAYS, UPDATE/DEACTIVATE/ACTIVATE: ADM |

字节内容

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

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

| 1 | Display Condition (显示条件) | M | 1 byte |

| 2 to 17 | Service Provider Name (服务提供商名称) | M | 16 bytes |

逐项解读:

  • File size: 固定的17字节,其中1字节用于规则,16字节用于名称。

  • Access Conditions: 读取(READ)权限是ALWAYS,意味着手机在任何时候(即使PIN未解锁)都可以读取SPN,以尽快在屏幕上显示运营商信息。而更新(UPDATE)权限是ADM,品牌名称和显示规则由运营商严格控制。

2.2 解码“显示条件”:1字节的二进制开关

EFSPN的灵魂在于第一个字节——Display Condition。这个字节的每一位都是一个开关,控制着SPN的显示逻辑。

Coding:

b1=0: display of registered PLMN name not required when registered PLMN is either HPLMN or a PLMN in the service provider PLMN list (see EFSPDI).

B1=1: display of registered PLMN name required when …

B2=0: display of the service provider name is required when registered PLMN is neither HPLMN nor a PLMN in the service provider PLMN list (see EFSPDI).

B2=1: display of the service provider name is not required when …

深度解析

这个字节的逻辑围绕着一个核心问题:当手机显示SPN(服务提供商名称)时,还要不要同时显示RPLMN(注册网络名称)?

为了简化理解,我们可以将复杂的规范原文归纳为两个核心开关:

  • 开关 b1 (HPLMN场景下的RPLMN显示控制): 控制手机**驻留在归属网络(HPLMN)或等效网络(EHPLMN,或者一个在EFSPDI中定义的特殊列表)**时,是否需要显示物理网络名(RPLMN)。

    • b1=0: 不需要。这是最常见的虚拟运营商场景。手机显示“谷粒移动”(SPN),就不再需要显示“中国移动”(RPLMN)了。

    • b1=1: 需要。手机会同时显示SPN和RPLMN,例如屏幕上可能显示为“谷粒移动 | 中国移动”。

  • 开关 b2 (漫游场景下的SPN显示控制): 控制手机**驻留在漫游网络(VPLMN,且非EHPLMN等特殊列表中的网络)**时,是否需要显示SPN。

    • b2=0: 需要。这意味着即使李想漫游到了法国的A运营商网络,手机依然会显示“谷粒移动”。

    • b2=1: 不需要。这意味着漫游时,SPN将“失效”,手机会恢复显示物理网络名,即“A运营商”。

场景化举例:

“谷粒移动”希望实现以下品牌展示策略:

  1. 在国内(使用中国移动网络)时,只显示“谷粒移动”。

  2. 在国外漫游时,不显示“谷粒移动”,而是显示当地的漫游网络名称,以免用户混淆。

为了实现这个策略,EFSPN的第一个字节需要被设置为:

  • b1=0: 在归属网络下,不需要显示物理网络名。

  • b2=1: 在漫游网络下,不需要显示服务提供商名。

假设其他位(b3-b8,均为RFU)都为0,那么这个字节的二进制值就是 0000 0010,十六进制为'02'

当李想的手机拿到这张卡:

  • 在国内: 驻留在中国移动网络。手机读取Display Condition,发现b1=0,于是只显示EFSPN中的“谷粒移动”。

  • 在法国: 驻留在A运营商网络。手机读取Display Condition,发现b2=1,于是决定不显示SPN,转而显示它从网络广播中获取的名称“A运营商”。

通过对这两个比特位的不同组合,运营商可以实现非常灵活的品牌展示策略。

2.3 名称的编码:16字节的发挥空间

文件的后续16个字节用于存储SPN的文本字符串。

Coding: the string shall use:

  • either the SMS default 7-bit coded alphabet … with bit 8 set to 0. The string shall be left justified. Unused bytes shall be set to ‘FF’.
  • or one of the UCS2 code options …

规范提供了两种主流的编码方式:

  1. SMS 7-bit编码: 兼容性好,但主要支持ASCII字符。对于英文品牌名称非常适合。

  2. UCS2 (Unicode): 可以支持包括中文在内的多国语言。对于“谷粒移动”这样的中文品牌,就必须使用UCS2编码。

16个字节的长度,对于大多数运营商名称来说是绰绰有余的。字符串采用左对齐,剩余未使用的字节用'FF'填充。

3. EFSPNEFPNN的协作与覆盖

在没有EFSPNEFSPN规则不要求显示SPN的情况下,手机会使用EFPNN (PLMN Network Name) 文件中定义的网络名称。EFPNN允许运营商为特定的PLMN ID定制全称和简称。

EFSPN的显示优先级通常高于EFPNN。可以这样理解它们的关系:

  • EFPNN: 是一个“PLMN-名称”的对应表,用于美化或修正物理网络的默认显示名称。

  • EFSPN: 是一个更高层级的“品牌覆盖层”,它在满足特定条件时,可以完全覆盖掉底层的物理网络名称(无论是默认的还是EFPNN定义的)。

它们共同协作,为用户呈现出最终手机屏幕上的运营商标识。

总结:方寸之间的品牌战场

EFSPN文件是USIM中一个“小文件,大作用”的典型代表。它看似简单,却深刻地反映了移动通信市场从单纯的网络管道向复杂品牌运营演进的趋势。

  • 品牌与网络解耦: 核心价值在于将服务品牌与物理网络实体解耦,为虚拟运营商(MVNO)、品牌合作等商业模式提供了技术基础。

  • 情景化显示: 通过精巧的“Display Condition”字节,实现了基于HPLMN/VPLMN等不同网络场景的差异化品牌展示策略。

  • 用户体验优化: 让用户在手机上看到的是自己所签约、所认知的服务品牌,而非陌生的底层网络代码或名称,提升了品牌的辨识度和亲和力。

对于李想而言,当他看到手机屏幕上清晰地显示着“谷粒移动”,他会感到一种归属感和确定性。他知道这正是他所选择的服务,即使他深知脚下的信号来自于另一家巨头。这份小小的确定性,正是EFSPN通过其精妙的规则和简单的文本,在USIM中为他默默构建的。


FAQ环节

Q1:EFSPN中的名称和手机“卡针”上印的运营商名字有什么关系?

A1:两者没有必然的技术联系。卡针上印的名字是UICC卡发行时物理印刷的,是静态的。而EFSPN中存储的名称是电子化的、可由运营商通过OTA远程更新的,是动态的。通常情况下,为了品牌一致性,两者会保持相同。但如果运营商更改了品牌名称,它可以通过OTA更新所有用户卡片中的EFSPN,而无法改变已经印在卡片上的物理文字。

Q2:如果EFSPN的显示条件设为在漫游时也显示SPN(b2=0),那么我在国外漫游时,如何知道我用的是当地哪个运营商的网络?

A2:这是一个很好的问题,关乎用户知情权。在这种配置下,手机屏幕主界面可能只显示你的归属服务品牌(如“谷粒移动”)。但是,手机的操作系统通常会在其他地方提供物理网络的信息。例如,在“设置”“移动网络”菜单中,会明确显示当前连接的“网络运营商”是法国的A运营商。或者在下拉通知栏的详细信息里,也可能同时显示SPN和RPLMN。EFSPN主要影响的是最顶层、最简洁的状态栏显示。

Q3:EFSPNEFSPNI(服务提供商名称图标)是如何协同工作的?

A3:EFSPNI文件中存储的不是图标本身,而是指向图标的“链接”。当手机根据EFSPN的规则决定要显示SPN时,它会进一步检查是否存在EFSPNI。如果存在,手机会解析EFSPNI中的链接,找到并显示对应的运营商Logo图标,这个图标可能存储在USIM内的EFIMG文件中,也可能是一个外部的URI。这样,手机屏幕上就可以显示彩色的品牌Logo,而不是单调的文字,进一步增强了品牌辨识度。

Q4:为什么EFSPN的读取权限是ALWAYS?这是否意味着在输入PIN码前,别人就能看到我的运营商信息?

A4:是的。权限设为ALWAYS是为了优化用户体验。手机在开机后,即使在等待用户输入PIN码的界面,也希望能够尽快显示出运营商名称,让用户知道卡已被识别且网络可及。运营商名称(SPN)本身不属于高度敏感的个人隐私信息(与IMSI不同),因此允许在PIN解锁前读取,被认为是合理的。

Q5:EFSPDI(Service Provider Display Information)文件和EFSPN有什么关系?

A5:EFSPDIEFSPN显示规则的一个补充和扩展。EFSPN中的b1b2规则是判断当前网络是HPLMN还是VPLMN。但有时运营商的合作关系更复杂,可能希望在某些“亲密”的漫游伙伴网络上也应用HPLMN的显示规则。EFSPDI文件中就存储了这样一个“亲密伙伴”的PLMN列表。当手机判断显示规则时,它会认为驻留在这个列表中的网络“视同”HPLMN,从而应用b1的规则而不是b2的规则。