用户卡片及其cdma短信解析方法

文档序号:6502613阅读:308来源:国知局
用户卡片及其cdma短信解析方法
【专利摘要】本发明公开了一种用户卡片及其CDMA短信解析方法,涉及移动通信【技术领域】。该方法包括用户卡片接收到短信后,判断该短信是否满足0348数据结构;对于不满足0348数据结构的短信,触发扩展事件,并调用解析类型长度值TLV数据结构的API函数解析短信中的TLV数据;针对不同的数据内容对当前解析的TLV数据进行判断,如果当前解析的TLV数据符合要求则继续解析下一个TLV数据,如果不符合要求则返回错误信息;当解析到用户数据部分的TLV数据中的值时,去掉其中的消息编码部分,对剩余的用户数据进行数据转换。通过上述方案,本发明完成了CDMA短信的解析。
【专利说明】用户卡片及其CDMA短信解析方法

【技术领域】
[0001] 本发明涉及移动通信【技术领域】,特别涉及一种用户卡片及其CDMA(Code Division Multiple Access,码分多址)短信解析方法。

【背景技术】
[0002] 目前,国际标准规范中有对 GSM(Global System of Mobile communication,全球 移动通讯系统)网络定义的USIM (Universal Subscriber Identity Module,全球用户识 别卡)API (Application Programming Interface,应用程序编程接口)接口,但没有专门 针对CDMA网络应用开发定义的接口。
[0003] GSM网络的数据结构和CDMA网络的数据结构有天壤之别,短信格式也完全不一 样。例如,与GSM短信头相比,CDMA短信头是TLV (Type Length Value类型长度值)结构, 一个TLV数据与另一个TLV数据相级联,而GSM短信头中却没有TLV数据。又例如,与GSM 短信用户数据相比,CDMA短信用户数据除了包括真正的用户数据之外,还包括一些附加的 编码息,而GSM短信中却没有编码信息。
[0004] 由于GSM网络的数据结构和CDMA网络的数据结构之间的巨大差异,如果CDMA网 络应用开发直接借用GSM的USIM API接口,使用时会存在很多问题,导致CDMA应用程序无 法读到CDMA短信内容。


【发明内容】

[0005] 本发明实施例所要解决的一个技术问题是:解决CDMA短信的解析问题。
[0006] 根据本发明实施例的一个方面,提出一种CDMA短信解析方法,包括:用户卡片接 收到短信后,判断该短信是否满足0348数据结构;对于不满足0348数据结构的短信,触发 扩展事件,并调用解析类型长度值TLV数据结构的API函数解析短信中的TLV数据;针对不 同的数据内容对当前解析的TLV数据进行判断,如果当前解析的TLV数据符合要求则继续 解析下一个TLV数据,如果不符合要求则返回错误信息;当解析到用户数据部分的TLV数据 中的值时,去掉其中的消息编码部分,对剩余的用户数据进行数据转换。
[0007] 根据本发明实施例的另一方面,提出一种用户卡片,包括:短信判断单元,用于接 收到短信后,判断该短信是否满足0348数据结构;事件触发单元,用于对于不满足0348数 据结构的短信,触发扩展事件,并调用解析类型长度值TLV数据结构的API函数解析短信中 的TLV数据;短信解析单元,用于针对不同的数据内容对当前解析的TLV数据进行判断,如 果当前解析的TLV数据符合要求则继续解析下一个TLV数据,如果不符合要求则返回错误 信息;用户数据处理单元,用于当解析到用户数据部分的TLV数据中的值时,去掉其中的消 息编码部分,对剩余的用户数据进行数据转换。
[0008] 本发明对于不满足0348数据结构的CDMA短信,触发扩展事件,并调用TLV数据结 构的API函数解析短信中的TLV数据,针对不同的数据内容对当前解析的TLV数据进行判 断,如果当前解析的TLV数据符合要求则继续解析下一个TLV数据,如果不符合要求则返回 错误信息,当解析到用户数据部分的TLV数据中的值时,去掉其中的消息编码部分,对剩余 的用户数据进行数据转换,从而完成CDMA短信的解析。
[0009] 通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其 优点将会变得清楚。

【专利附图】

【附图说明】
[0010] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可 以根据这些附图获得其他的附图。
[0011] 图1为本发明CDMA短信解析方法一个实施例的流程示意图。
[0012] 图2为本发明CDMA格式短信数据结构示意图。
[0013] 图3为本发明CDMA非格式短信数据结构示意图。
[0014] 图4为本发明CDMA短信解析方法一个实施例的流程示意图。
[0015] 图5为本发明智能卡应用程序运行环境的参考示意图。
[0016] 图6为本发明对CDMA进行解析的用户卡片的结构示意图。

【具体实施方式】
[0017] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。以下 对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使 用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提 下所获得的所有其他实施例,都属于本发明保护的范围。
[0018] 由于GSM网络的数据结构和CDMA网络的数据结构之间的巨大差异,如果CDMA网 络应用开发直接借用GSM的USIM API接口,使用时会存在很多问题,导致CDMA应用程序无 法读到CDMA短信内容,为此,本发明提出一种CDMA短信解析方法。
[0019] 图1为本发明CDMA短信解析方法一个实施例的流程示意图。
[0020] 如图1所示,本实施例的CDMA短信解析方法包括以下步骤:
[0021] 步骤101,用户卡片接收到短信后,判断该短信是否满足0348数据结构;
[0022] 具体地,可以对该短信按照0348数据结构进行解析,如果解析成功,则该短信满 足0348数据结构,如果解析失败,则该短信不满足0348数据结构。
[0023] 其中,本发明的用户卡片例如可以是LTE智能卡。
[0024] 步骤102,对于不满足0348数据结构的短信,也即CDMA短信,触发扩展事件,并调 用解析TLV (类型长度值)数据结构的API函数解析短信中的TLV数据;
[0025] 其中,不满足0348数据结构的短信,也即CDMA短信,包括:点对点短信和小区广播 短?目。
[0026] 步骤103,针对不同的数据内容对当前解析的TLV数据进行判断,如果当前解析的 TLV数据符合要求则继续解析下一个TLV数据,如果不符合要求则返回错误信息;
[0027] 步骤104,当解析到用户数据部分的TLV数据中的值时,去掉其中的消息编码部分 (MSG_ENCODING),对剩余的用户数据(也即真正的用户数据部分)进行数据转换,例如,可以 由二进制转换为十六进制的数据。
[0028] 其中,步骤103具体可以针对不同的数据内容对当前解析的TLV数据中的标签 (TAG)进行判断,如果当前解析的TLV数据中的标签符合当前数据内容的要求则继续解析 下一个TLV数据,如果不符合当前数据内容的要求则返回错误信息。
[0029] 本发明的解析方法可以适用于CDMA的格式短信和非格式短信。下面结合图2所 示的CDMA格式短信数据结构示意图和图3所示的CDMA非格式短信结构示意图,给出一种 示例性的CDMA短信解析方法。
[0030] 这里首先对图2和图3中的note进行说明。notel :此处的长度字节可能为1个 字节,也可能为2个字节(长度小于或者等于0x7F则为一个字节,大于0X7F则为0X81加上 长度)。如果是单条短信,此字节为此条短信中TPDU的长度;如果为级联短信,则该字段为 各条级联短信TPDU数据组合的总长度。note2 :此处的长度字节为一个字节。如果是单条 短信,此字节为此条短信中的承载数据长度,如果为级联短信,则此字节为最后接受短信承 载数据的长度,此字段无具体含义,为填充字段,以保持数据一致性。note3 :此处的长度字 节可能为1个字节,2个字节,也可能为3个字节(长度小于或者等于0X7F则为一个字节,大 于0X7F则为0X81加上一个长度字节,大于0XFF,则为0X82加上两个字节长度),如果是单 条短信,此字节为此条短信中的用户数据长度;如果为级联短信,则该字段为各条级联短信 用户数据组合的总长度。note4:此处的编码方式字节,保存C网的数据编码方式,其中低5 比特为真实数据,而高3比特为扩展数据。
[0031] 参见图4,CDMA短信(包括CDMA格式短信和CDMA非格式短信)解析方法包括以下 步骤:
[0032] 步骤401,解析该短信的第一个TLV数据,判断第一个TLV数据中的标签是否为 D1,如果是D1,则第一个TLV数据符合要求,继续解析下一个TLV数据,如果不是D1,则第一 个TLV数据不符合要求,返回错误信息;
[0033] 步骤402,如果第一个TLV数据符合要求,继续解析设备标识部分的TLV数据,判断 设备标识部分的TLV数据中的标签是否为82,如果是82,则设备标识部分的TLV数据符合 要求,继续解析下一个TLV数据,如果不是82,则设备标识部分的TLV数据不符合要求,返回 错误信息;
[0034] 步骤403,如果设备标识部分的TLV数据符合要求,继续解析短信传输协议数据单 元部分的TLV数据,判断短信传输协议数据单元部分的TLV数据中的标签是否为C8,如果是 C8,则短信传输协议数据单元部分的TLV数据符合要求,继续解析下一个TLV数据,如果不 是C8,则短信传输协议数据单元部分的TLV数据不符合要求,返回错误信息;
[0035] 步骤404,如果短信传输协议数据单元部分的TLV数据符合要求,继续解析承载数 据部分的TLV数据,判断承载数据部分的TLV数据中的标签是否为08,如果是08,则承载 数据部分的TLV数据符合要求,继续解析下一个TLV数据,如果不是08,则承载数据部分的 TLV数据不符合要求,返回错误信息;
[0036] 步骤405,如果承载数据部分的TLV数据符合要求,继续解析用户数据部分的TLV 数据,判断用户数据部分的TLV数据中的标签是否为01,如果是01,则用户数据部分的TLV 数据符合要求,继续解析用户数据部分的TLV数据中的值,如果不是01,则用户数据部分的 TLV数据不符合要求,返回错误信息。
[0037] 图5为本发明智能卡应用程序运行环境(简称CARE)的参考示意图。CARE是附加 在LTE JAVA智能卡运行环境(简称JCRE)上的,主要是用来管理Toolkit Applet,即LTE JAVA智能卡应用。
[0038]如图 5 所不,在原有的 uicc. access package (uicc (Universal Integrated Circuit Card,通用集成电路卡)访问包)、uicc. tookit package (uicc工具箱包)和 uicc. system package (uicc 系统包)的基础上,本发明还定义了 uicc. csim. access package (uicc csim 访问包)、uicc. csim. tookit package (uicc csim 工具箱包)、CCAT Framework(CCAT 框架)和 CCAT Enve 1 opHander(CCAT Envelop 句柄)。其中,CCAT Runtime EnvelopHander (CCAT 运行时 Envelop 句柄)包括 Tookit Handlers (工具箱句柄)、Tookit registry (工具箱注册)、和 Triggering Entity (工具箱实体)。csim (CDMA Subscriber Identity Module, CDMA用户识别模块)卡,是基于UICC架构平台的用户卡片。Envelop是 一种封装命令(pp-download的命令)。
[0039] 在Uicc. csim. access package中主要定义LTE JAVA智能卡的文件访问的相关 常量。Uicc. csim. toolkit package 其中包括 CCATEnvelopeHander (定义了 CSIM 处理保 存 Envelope 数据的接口)、CCATEnvelopeHanderSystem(定义了获取 CCATEnvelopeHandler 的方法)、CATTerminalProfile (定义 了用于 Terminal Profile 的 CDMA SMS 数据)、 ToolkitConstants (定义了 C网Envelope数据的相关TAG常量)几个包,主要定义了 LTE JAVA智能卡处理保存Envelope数据的接口。EnvelopHandle包主要用于处理来自服务器 的数据信息,当LTE JAVA智能卡片收到来自服务器的cdma短信,需要将cdma短信分发给 应用并处理,分发前,需要将数据存入EnvelopHandler中,应用解析EnvelopHandler中的 数据内容,并做处理。
[0040] 用户卡片(如LTE JAVA智能卡)需要处理来自服务器的不满足0348数据结构 的短信,那么卡上需要安装一个toolkit applet (工具箱应用,后续简称applet),这个 toolkit applet需要针对不满足0348数据结构的短信注册扩展事件,如表1示,卡内需 要记录是哪个applet注册此事件,所以需要将事件编号,将事件与applet关联。例如, EVENT_UNFORMATTED_SMS_PP_ENV事件的编号为4。当卡片收到不满足0348数据结构的 短信,从关联表中找到注册扩展事件的applet,通过EnvelopHandler将短信内容传递给 applet,处理短信内容。系统将短信内容存储在EnvelopHandler中,applet通过一些方法 解析短信内容。比如:applet可能需要获取短信中用户数据的长度等信息,所以定义了方 法 CCATEnvelopeHander. getSecuredDataLength(), toolkit applet 可以调用此方法获取 到短信的用户数据长度。
[0041]

【权利要求】
1. 一种CDMA短信解析方法,包括: 用户卡片接收到短信后,判断该短信是否满足0348数据结构; 对于不满足0348数据结构的短信,触发扩展事件,并调用解析类型长度值TLV数据结 构的应用程序编程接口 API函数解析短信中的TLV数据; 针对不同的数据内容对当前解析的TLV数据进行判断,如果当前解析的TLV数据符合 要求则继续解析下一个TLV数据,如果不符合要求则返回错误信息; 当解析到用户数据部分的TLV数据中的值时,去掉其中的消息编码部分,对剩余的用 户数据进行数据转换。
2.根据权利要求1所述的方法,其特征在于,所述针对不同的数据内容对当前解析的 TLV数据进行判断,如果当前解析的TLV数据符合要求则继续解析下一个TLV数据,如果不 符合要求则返回错误信息包括: 针对不同的数据内容对当前解析的TLV数据中的标签进行判断,如果当前解析的TLV 数据中的标签符合当前数据内容的要求则继续解析下一个TLV数据,如果不符合当前数据 内容的要求则返回错误信息。
3.根据权利要求2所述的方法,其特征在于,所述针对不同的数据内容对当前解析的 TLV数据中的标签进行判断,如果当前解析的TLV数据中的标签符合当前数据内容的要求 则继续解析下一个TLV数据,如果不符合当前数据内容的要求则返回错误信息包括: 解析该短信的第一个TLV数据,判断第一个TLV数据中的标签是否为D1,如果是D1,则 第一个TLV数据符合要求,继续解析下一个TLV数据,如果不是D1,则第一个TLV数据不符 合要求,返回错误信息; 如果第一个TLV数据符合要求,继续解析设备标识部分的TLV数据,判断设备标识部分 的TLV数据中的标签是否为82,如果是82,则设备标识部分的TLV数据符合要求,继续解析 下一个TLV数据,如果不是82,则设备标识部分的TLV数据不符合要求,返回错误信息; 如果设备标识部分的TLV数据符合要求,继续解析短信传输协议数据单元部分的TLV 数据,判断短信传输协议数据单元部分的TLV数据中的标签是否为C8,如果是C8,则短信传 输协议数据单元部分的TLV数据符合要求,继续解析下一个TLV数据,如果不是C8,则短信 传输协议数据单元部分的TLV数据不符合要求,返回错误信息; 如果短信传输协议数据单元部分的TLV数据符合要求,继续解析承载数据部分的TLV 数据,判断承载数据部分的TLV数据中的标签是否为08,如果是08,则承载数据部分的TLV 数据符合要求,继续解析下一个TLV数据,如果不是08,则承载数据部分的TLV数据不符合 要求,返回错误信息; 如果承载数据部分的TLV数据符合要求,继续解析用户数据部分的TLV数据,判断用户 数据部分的TLV数据中的标签是否为01,如果是01,则用户数据部分的TLV数据符合要求, 继续解析用户数据部分的TLV数据中的值,如果不是01,则用户数据部分的TLV数据不符合 要求,返回错误信息。
4.根据权利要求1所述的方法,其特征在于,所述判断该短信是否满足0348数据结构 包括: 对该短信按照0348数据结构进行解析,如果解析成功,则该短信满足0348数据结构, 如果解析失败,则该短信不满足0348数据结构。
5.根据权利要求1所述的方法,其特征在于,所述不满足0348数据结构的短信包括: 点对点短信和小区广播短信。
6. 一种用户卡片,包括: 短信判断单元,用于接收到短信后,判断该短信是否满足0348数据结构; 事件触发单元,用于对于不满足0348数据结构的短信,触发扩展事件,并调用解析类 型长度值TLV数据结构的API函数解析短信中的TLV数据; 短信解析单元,用于针对不同的数据内容对当前解析的TLV数据进行判断,如果当前 解析的TLV数据符合要求则继续解析下一个TLV数据,如果不符合要求则返回错误信息; 用户数据处理单元,用于当解析到用户数据部分的TLV数据中的值时,去掉其中的消 息编码部分,对剩余的用户数据进行数据转换。
7.根据权利要求6所述的用户卡片,其特征在于,所述短信解析单元具体用于: 针对不同的数据内容对当前解析的TLV数据中的标签进行判断,如果当前解析的TLV 数据中的标签符合当前数据内容的要求则继续解析下一个TLV数据,如果不符合当前数据 内容的要求则返回错误信息。
8.根据权利要求7所述的用户卡片,其特征在于,所述短信解析单元具体用于: 解析该短信的第一个TLV数据,判断第一个TLV数据中的标签是否为D1,如果是D1,则 第一个TLV数据符合要求,继续解析下一个TLV数据,如果不是D1,则第一个TLV数据不符 合要求,返回错误信息; 如果第一个TLV数据符合要求,继续解析设备标识部分的TLV数据,判断设备标识部分 的TLV数据中的标签是否为82,如果是82,则设备标识部分的TLV数据符合要求,继续解析 下一个TLV数据,如果不是82,则设备标识部分的TLV数据不符合要求,返回错误信息; 如果设备标识部分的TLV数据符合要求,继续解析短信传输协议数据单元部分的TLV 数据,判断短信传输协议数据单元部分的TLV数据中的标签是否为C8,如果是C8,则短信传 输协议数据单元部分的TLV数据符合要求,继续解析下一个TLV数据,如果不是C8,则短信 传输协议数据单元部分的TLV数据不符合要求,返回错误信息; 如果短信传输协议数据单元部分的TLV数据符合要求,继续解析承载数据部分的TLV 数据,判断承载数据部分的TLV数据中的标签是否为08,如果是08,则承载数据部分的TLV 数据符合要求,继续解析下一个TLV数据,如果不是08,则承载数据部分的TLV数据不符合 要求,返回错误信息; 如果承载数据部分的TLV数据符合要求,继续解析用户数据部分的TLV数据,判断用户 数据部分的TLV数据中的标签是否为01,如果是01,则用户数据部分的TLV数据符合要求, 继续解析用户数据部分的TLV数据中的值,如果不是01,则用户数据部分的TLV数据不符合 要求,返回错误信息。
9.根据权利要求6所述的用户卡片,其特征在于,所述短信判断单元具体用于: 对该短信按照0348数据结构进行解析,如果解析成功,则该短信满足0348数据结构, 如果解析失败,则该短信不满足0348数据结构。
10.根据权利要求6所述的用户卡片,其特征在于,所述不满足0348数据结构的短信包 括:点对点短信和小区广播短信。
【文档编号】G06F9/46GK104142816SQ201310170577
【公开日】2014年11月12日 申请日期:2013年5月10日 优先权日:2013年5月10日
【发明者】黄健文, 刘兆元, 蔡秋艳 申请人:中国电信股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1