ODSA架构与操作-1
6 基于eSIM设备的本地服务激活(ODSA)授权与配置
基于eSIM设备的ODSA流程由请求设备(requesting device)或主设备(primary device)上的客户端应用发起。ODSA应用需从服务提供商(Service Provider)获取授权与配置信息以完成流程。以下章节详述eSIM设备ODSA相关操作及生成的配置文档。
ODSA架构与操作
ODSA 应用程序的主要特点:
2. ODSA 客户端应用程序的访问权限
为了访问 eSIM,ODSA 客户端应用程序必须满足以下要求:
这些要求符合 SGP.21 [10] 和 SGP.22 [11] 中规定的 eSIM 远程配置标准。
3. ODSA 用例架构
3.1 伴侣设备 ODSA 用例
-
客户端应用
-
ODSA客户端应用运行于请求设备或主设备,允许终端用户:
-
在附属设备(companion device)或主设备的eSIM上无缝激活订阅及相关服务
-
无需服务提供商的客服或技术支持人员介入
-
-
-
eSIM访问权限
-
ODSA客户端应用需在终端用户请求下调用,并按照SGP.21[10]和SGP.22[11]要求捕获合法交互(如用户授权)。
-
-
架构说明(附属设备用例)
-
授权配置服务器(Entitlement Configuration Server)作为服务提供商的ODSA网关(图10中标注为“ODSA GW”),向“附属设备ODSA应用”提供授权与配置数据。
-
请求设备(hosting ODSA client)可能具备或不具备服务提供商的有效SIM卡(含激活的配置文件)。
-
-
接口范围
-
请求设备的ODSA客户端与附属设备间的接口不在本规范范围内。
-
-
6. 设备上服务激活 (ODSA) 授权与配置
1. ODSA 程序概述
ODSA(设备上服务激活) 程序旨在实现 eSIM 设备的无缝激活,适用于以下两种场景:
- 伴侣设备激活: 由主设备上的客户端应用程序发起,用于激活与主设备关联的伴侣设备的 eSIM 订阅和相关服务。
- 主设备激活: 由主设备上的客户端应用程序发起,用于激活主设备自身的 eSIM 订阅和相关服务。
- 无需服务提供商客户或支持人员参与: 用户可以自行完成激活流程,无需联系运营商客服或技术支持。
- 无缝激活体验: 通过自动化流程和用户友好的界面,简化激活过程,提高用户体验。
- 用户发起: 应用程序应在用户请求时调用,确保用户知情并授权激活过程。
- 用户交互: 应用程序必须能够捕获用户的适当交互,例如:
- 用户同意: 获取用户对激活过程的明确同意。
- 用户输入: 收集必要的用户信息,例如物理地址(某些地区用于紧急呼叫)。
- 条款和条件 (T&C) 接受: 确保用户已阅读并接受服务的条款和条件。
关键组件:
请求设备: 托管 ODSA 客户端应用程序的设备,可以是智能手机、平板电脑等。该设备可能拥有也可能没有来自服务提供商的带有活动配置文件的 SIM 卡。 伴侣设备: 需要激活 eSIM 订阅和相关服务的设备。 授权配置服务器 (ECS): 作为服务提供商的 ODSA 网关(如图中的“ODSA GW”),为“伴侣设备 ODSA”应用程序提供授权和配置数据。
- 功能: 验证用户身份,验证设备和服务资格,提供激活所需的配置信息,例如激活代码、ICCID 等。
服务提供商后端系统: 管理用户订阅、eSIM 配置文件和服务状态。
3.2 主设备 ODSA 用例
架构图:
接口说明:
- 请求设备上的 ODSA 客户端与伴侣设备之间的接口不在本规范的范围内。这意味着激活流程的具体实现方式(例如使用蓝牙、NFC 或其他通信协议)由设备制造商和服务提供商决定。
关键组件:
主设备: 托管 ODSA 客户端应用程序并包含 eSIM 的设备,需要激活或转移 eSIM 订阅。 其他组件与伴侣设备 ODSA 用例相同。
主要区别:
4. ODSA 操作
ODSA 应用程序需要与 ECS 进行多次交互才能完成激活流程。每次交互都与特定操作相关联,TS.43 规范定义了以下 eSIM ODSA 操作:
ODSA 操作 | 描述 |
---|---|
CheckEligibility | 验证最终用户是否有权调用 ODSA 应用程序 |
ManageSubscription | 管理 eSIM 设备的订阅,例如激活、退订、更改订阅等 |
ManageService | 在主设备或伴侣设备上激活/停用服务。这是可选操作。 |
AcquireConfiguration | 获取与 eSIM 设备关联的配置信息,例如激活代码、ICCID 等 |
AcquirePlan | 请求 MNO 向特定用户或 MDM 提供可用的计划 |
AcquireTemporaryToken | 从 ECS 请求临时令牌,以允许尚未具备获取 TOKEN 手段的设备进行认证 |
GetPhoneNumber | 获取与订阅关联的电话号码 (MSISDN) |
VerifyPhoneNumber | 验证提供的 MSISDN 是否与用于认证的 MSISDN 匹配 |
GetSubscriberInfo | 获取与订阅关联的订阅者信息 |
5. ODSA 请求参数
除了第 2.2 节中描述的参数之外,主设备和伴侣设备的 ODSA 程序还需要在 HTTP 请求中包含其他参数。表 27 呈现了新的参数及其相关的 ODSA 操作。
表 27. ODSA 应用程序的新 GET 参数
ODSA 应用程序的新 GET 参数 | 类型 | 值 | 描述 |
---|---|---|---|
operation | 字符串 | CheckEligibility, ManageSubscription, ManageService, AcquireConfiguration, AcquirePlan, AcquireTemporaryToken, GetPhoneNumber, VerifyPhoneNumber, GetSubscriberInfo | 指示“eSIM 设备 ODSA”应用程序请求的操作 |
operation_type | 整数 | 0-SUBSCRIBE, 1-UNSUBSCRIBE, 2-CHANGE SUBSCRIPTION, 3-TRANSFER SUBSCRIPTION, 4-UPDATE SUBSCRIPTION, 5-ACTIVATETERMINAL ICCID, 6-DEACTIVATETERMINAL ICCID, 7-ACTIVESUBSCRIPTION RECOVER, 10-ACTIVATESERVICE, 11-DEACTIVATESERVICE | 用于 ManageSubscription 操作。指示对 eSIM 设备的订阅执行的操作类型,例如激活、退订、更改订阅、转移订阅等。 |
operation_targets | 字符串 | 表中 operation 字段的逗号分隔列表 | 获取与 ODSA 操作和 AppID 关联的临时令牌。 |
companion_terminal_id | 字符串 | 由所有伴侣 ODSA 操作使用。 | |
companion_terminal_vendor | 字符串 | 任何字符串值 | 该值应为设备的唯一且持久的标识符。该标识符可以是 IMEI(首选)或 UUID。由伴侣 ODSA 的 CheckEligibility、ManageSubscription 和 ManageService 操作使用。它必须出现在 ManageSubscription 请求中。 |
companion_terminal_model(可选) | 字符串 | 任何字符串值 | 伴侣设备的制造商。 |
companion_terminal_sw_version | 字符串 | 任何字符串值 | 伴侣设备的型号。 |
companion_terminal_friendly_name(条件性) | 字符串 | 任何字符串值 | 伴侣设备的软件版本。 |
companion_terminal_service | 字符串 | 由伴侣 ODSA 的 ManageSubscription 和 ManageService 操作使用。 | |
SharedNumber(条件性) | 表示正在管理的服务是“共享编号”,其中伴侣设备携带与主设备相同的 MSISDN。此参数应作为 ManageService 操作的一部分包含在内,以指示正在管理哪个服务。作为 ManageSubscription 操作的一部分包含它是可选的。 | ||
DiffNumber(条件性) | 表示正在管理的服务是“不同编号”,其中伴侣设备携带与主设备不同的 MSISDN,但分配给同一订阅者。此参数应作为 ManageService 操作的一部分包含在内,以指示正在管理哪个服务。作为 ManageSubscription 操作的一部分包含它是可选的。 | ||
FamilyNumber(条件性) | 表示正在管理的服务是“家庭编号”,其中伴侣设备携带与主设备不同的 MSISDN,并且 MSISDN 可以分配给另一个个人或订阅者。此参数应作为 ManageService 操作的一部分包含在内,以指示正在管理哪个服务。作为 ManageSubscription 操作的一部分包含它是可选的。 | ||
companion_terminal_iccid(条件性) | 字符串,符合 ICCID 格式 | 由伴侣 ODSA 的 ManageSubscription、ManageService 和 AcquireConfiguration 操作使用。 | |
companion_terminal_eid(条件性) | 字符串 | 由伴侣 ODSA 的 ManageSubscription 和 AcquireConfiguration 操作使用。它必须出现在 ManageSubscription 请求中。符合 eUICC 格式的值,伴侣设备正在管理的 eUICC 标识符 (EID)。 |
6. 设备标识符用于请求参数
表 4 和表 27 呈现了一些需要与主设备或伴侣设备上的标识符相关联的标识参数。以下提供了伴侣和主 ODSA 用例及其不同操作的设备标识符与标识参数之间的映射。
7. ODSA 请求示例
7.1 CheckEligibility 请求示例
表 28 展示了 ODSA 应用程序的 CheckEligibility 操作的示例。
7.2 ManageSubscription 请求示例
表 29 展示了 ODSA 应用程序的 ManageSubscription 操作的示例。
7.3 ManageService 请求示例
表 30 展示了 ODSA 应用程序的 ManageService 操作的示例。
7.4 AcquireConfiguration 请求示例
表 31 展示了 ODSA 应用程序的 AcquireConfiguration 操作的示例。
7.5 AcquirePlan 请求示例
表 32 展示了服务器 ODSA 应用程序的 AcquirePlan 操作的示例。
7.6 AcquireTemporaryToken 请求示例
表 33 展示了服务器 ODSA 应用程序的 AcquireTemporaryToken 操作的示例。
7.7 GetPhoneNumber 请求示例
以下部分根据发送 getPhoneNumber 请求的设备(设备或应用程序服务器)提供了一些示例。
7.7.1 主客户端的 GetPhoneNumber 请求
表 34 展示了主客户端的 GetPhoneNumber 操作的示例。
7.7.2 应用程序服务器发送的 GetPhoneNumber 请求
表 35 展示了应用程序服务器的 GetPhoneNumber 操作的示例。
7.8 VerifyPhoneNumber 请求示例
表 36 展示了 VerifyPhoneNumber 操作的示例。
7.9 GetSubscriberInfo 请求示例
表 37 展示了应用程序服务器的 GetSubscriberInfo 操作的示例。
8. ODSA 配置参数
8.1 通用/始终存在的配置参数
参数名称:
8.2 CheckEligibility 操作配置参数
参数名称和存在性:
8.3 ManageSubscription 操作配置参数
参数名称和存在性:
8.4 ManageService 操作配置参数
参数名称和存在性:
8.5 AcquireConfiguration 操作配置参数
参数名称和存在性:
8.6 AcquirePlan 操作配置参数
参数名称和存在性:
8.7 AcquireTemporaryToken 操作配置参数
参数名称和存在性:
8.8 GetPhoneNumber 操作配置参数
参数名称和存在性:
8.9 客户端处理与 SP Web 门户关联的参数
CheckEligibility 和 ManageSubscription 操作的响应可能包含响应参数,允许客户端应用程序与服务提供商的门户 Web 服务器进行交互。本节解释客户端应用程序应如何处理这些与门户相关的参数。
8.10 VerifyPhoneNumber 操作配置参数
参数名称和存在性:
8.11 GetSubscriberInfo 操作配置参数
参数名称和存在性:
9. ODSA 应用程序注意事项与 WebView 回调
在伴侣或主 eSIM 设备的 ODSA 程序过程中,最终用户可以查看一组特定于运营商的 WebView。WebView 由运营商门户 Web 服务器托管,如图 10 所示。
为了支持 WebView 与 ODSA 应用程序之间的正确通信,应用程序应支持 JS 回调,以允许门户共享以下事件和相应的数据元素,如表 72 所述。
10. 订阅转移的设备信息表示
为了在订阅转移过程中准备适当的 eSIM 配置文件,主 ODSA 客户端应用程序可能需要向 ECS 提供新设备的有关信息,以便安装准备好的 eSIM 配置文件。
本节介绍了订阅转移的设备信息表示。设备信息应使用 [21] 中定义的 URI 格式作为字符串连接来编码,如表 74 中所列。
11. 总结
TS.43-v12.0 规范通过定义设备服务授权配置流程,解决了设备服务授权过程中面临的诸多挑战:
该规范旨在确保设备能够高效、安全地激活和管理各种服务,同时为用户提供良好的使用体验。
- 主设备直接访问 eSIM,因此无需与伴侣设备进行通信。
- 主设备上的 ODSA 客户端应用程序负责与 ECS 交互,并管理 eSIM 配置文件的下载和激活。
- OperationResult:必需
- GeneralErrorURL:可选
- GeneralErrorUserData:可选
- GeneralErrorText:可选
- CompanionAppEligibility:伴侣 ODSA 必需
- PrimaryAppEligibility:主 ODSA 必需
- EnterpriseAppEligibility:服务器发起的 ODSA 必需
- CompanionDeviceServices:伴侣 ODSA 必需
- NotEnabledURL:可选
- SubscriptionResult:必需
- SubscriptionServiceURL:条件性
- SubscriptionServiceUserData:条件性
- SubscriptionServiceContentsType:条件性
- DownloadInfo:条件性
- MSG:主 ODSA 可选
- ServiceStatus:必需
- CompanionConfigurations:条件性(伴侣 ODSA)
- CompanionConfiguration:CompanionConfigurations 中,一个或多个
- PrimaryConfigurations:条件性(主 ODSA)
- PrimaryConfiguration:主 ODSA 必需
- EnterpriseConfiguration:条件性(服务器发起的 ODSA)
- MSG:主 ODSA 可选
- PlanOffers:条件性
- PlanOffer:PlanOffers 中,一个或多个
- TemporaryToken:条件性
- TemporaryTokenExpiry:条件性
- MSISDN:条件性
- PhoneNumberVerification:必需。指示 MSISDN 是否匹配。
- msisdn:可选。订阅的 MSISDN,采用 E.164 格式
- SubscriberInfo:条件性。应用程序特定的订阅者信息
- 服务授权状态验证: 确保设备能够准确获取服务的授权状态。
- 设备与网络信息同步: 使设备配置与服务提供商的网络状态保持一致。
- 用户交互与授权流程整合: 提供灵活的用户交互方式,以支持不同的服务和使用场景。
- 支持多种认证机制: 满足不同使用场景对认证方式的需求。
- 支持临时令牌和令牌管理: 简化设备认证流程,提高安全性。
- 支持服务器发起的 ODSA: 允许服务器应用程序(例如 MDM)管理设备订阅。
- 支持直接运营商计费 (DCB): 扩展授权配置以支持 DCB 流程。
- 支持私有用户身份 (Private UserID): 增强用户隐私保护。
- 支持设备与用户信息获取: 提供获取设备或用户信息的机制。
- 支持设备应用程序认证: 使第三方应用程序能够访问运营商特定的网络功能或服务。
- 支持 SatMode 授权和配置: 支持卫星网络连接。
- OperationTargets:条件性