RCS协议测试方法、测试平台和计算机可读存储介质与流程

文档序号:17729298发布日期:2019-05-22 02:44阅读:632来源:国知局
RCS协议测试方法、测试平台和计算机可读存储介质与流程

本发明涉及数据业务技术领域,尤其涉及一种rcs协议测试方法、测试平台和计算机可读存储介质。



背景技术:

rcs(richcommunicationsuite,融合通信)是面向中国移动手机用户提供基于4g网络和四网协同环境下的基础通信服务,是语音、消息和通信录等基础通信业务在4g下的升级。融合通信包括新通话、新消息和新联系三类功能。“新通话”以volte(voiceoverlongtermevolution,长期演进上的语音)为核心、以voip(voiceoverinternetprotocol,网络电话)为补充,增强用户通话质量和体验;“新消息”以rcs为基础,无缝融合多种媒体和消息格式,无缝与传统短/彩信互通;“新联系”以真实手机号码为前提,构建全新的社交、公众信息服务入口。

目前在融合通信产业及相关国际标准尚未完全成熟时,技术细节存在频繁优化及更新的情况,测试是用来辅助厂家研发,提升客户端产品质量的重要手段,传统的测试仪表厂家无法及时对融合通信系统的更新迭代进行对应的测试仪表升级,为促进产业链成熟,需要提供基于云端的、能够模拟rcs业务服务器的rcs协议测试平台。相比采用仪表,云端的rcs协议测试平台可以更好为终端厂家提供融合通信协议一致性的测试服务,可快速支持rcs最新标准,成本更低。

在技术原理上,基于云端的rcs协议测试平台通过模拟rcs业务服务器的uni(usernetworksinterface,用户网络侧接口)的信令流程及消息格式,可直接构造出请求或响应报文,但平台不需要具备完整的rcs业务逻辑及功能,不需要进行真实的rcs业务处理。

在测试时,待测终端与模拟为rcs业务服务器的rcs协议测试平台进行rcs业务注册和业务交互,rcs协议测试平台通过对抓取的报文进行解析和检查来判断待测终端是否符合rcs协议标准。

但是在rcs业务注册流程里,其中十分关键的native(本地)终端与归属hss(homesubscriberserver,归属签约用户服务器)之间的aka(authenticationandkeyagreement,认证和密钥协商)鉴权环节,由于需要使用保存在hss中的真实的sim(subscriberidentificationmodule,用户识别模块)卡数据、并依赖于hss的鉴权算法等功能,而基于云端的rcs协议测试平台并不具备真实的sim卡数据,因此目前只能通过如下方式实现:

1.rcs协议测试平台模拟实现hss的aka鉴权算法,以及hss与卡鉴权有关的其他功能;

2.测试之前先协调省公司的网络部门申请一批现网测试卡,统一获取sim卡信息并预先保存在rcs协议测试平台中;

3.待测终端进行rcs业务注册时,rcs协议测试平台根据预先获得的sim卡信息,进行aka鉴权校验。

上述解决方案主要存在如下缺点:

1.rcs协议测试平台除了需要开发rcs相关协议之外,还需要实现与rcs协议本身无直接关联的hss的相关功能(包括aka鉴权及相关功能),二者存在紧耦合,不符合软件设计的模块独立、相互解耦的基本原则。

2.hss作为电信网络的核心能力设备,业务逻辑较为复杂,开发技术门槛较高,后续运维难度也较大。

3.测试前需要协调省公司网络部门获得测试用sim卡及卡信息,使用过程中也需要与省公司进行沟通,跨部门的协调难度大、申请及审批流程复杂冗长,很可能影响测试进度;

4.sim卡由各测试厂商实际使用,涉及卡需求统计、卡下发、卡损坏或丢失的后的作废及补发、卡回收等工作,管理的难度较大。



技术实现要素:

有鉴于此,本发明提供一种rcs协议测试方法、测试平台和计算机可读存储介质,用于解决现有的rcs协议测试平台需要模拟实现hss的鉴权认证功能,技术上实现难度大的问题。

为解决上述技术问题,本发明提供一种rcs协议测试方法,应用于rcs协议测试平台,包括:

接收待测终端发送的rcs业务注册请求消息;

将所述rcs业务注册请求消息转发至rcs业务服务器,由所述rcs业务服务器与所述待测终端的归属hss交互,对所述待测终端进行鉴权认证;

转发所述rcs业务服务器与所述待测终端之间的鉴权认证相关消息。

优选地,所述转发所述rcs业务服务器与所述待测终端之间的鉴权认证相关消息的步骤包括:

接收所述rcs业务服务器根据所述rcs业务注册请求消息回复的鉴权消息,所述鉴权消息中携带认证向量;

将所述鉴权消息转发至所述待测终端;

接收所述待测终端根据所述鉴权消息中的认证向量回复的注册消息,所述注册消息中携带认证响应数据;

将所述注册消息转发至所述rcs业务服务器,由所述rcs业务服务器将所述注册消息中携带的认证响应数据与期望接收到认证响应数据进行匹配,根据匹配是否成功生成认证成功或认证失败的认证响应消息,并且,当匹配成功时与所述待测终端的归属hss交互,更新所述待测终端在所述hss中的注册信息;

接收所述rcs业务服务器发送的认证响应消息;

将所述认证响应消息转发至所述待测终端。

优选地,所述将所述rcs业务注册请求消息转发至rcs业务服务器的步骤包括:

将所述rcs业务注册请求消息中的ip地址和端口修改为所述rcs业务服务器的ip地址和端口,并将修改后的注册请求转发至所述rcs业务服务器。

优选地,当所述待测终端认证成功之后,所述rcs协议测试方法还包括:

接收所述待测终端发送的业务交互的消息;

对所述业务交互的消息对应的业务进行处理,并根据处理结果回复所述待测终端。

本发明还提供一种rcs协议测试方法,应用于rcs业务服务器,包括:

接收rcs协议测试平台转发的待测终端发送的rcs业务注册请求消息;

根据所述rcs业务注册请求消息与所述待测终端的归属hss交互,对所述待测终端进行鉴权认证。

优选地,所述根据所述rcs业务注册请求消息与所述待测终端的归属hss交互,对所述待测终端进行鉴权认证的步骤包括:

根据所述rcs业务注册请求消息,生成鉴权消息,所述鉴权消息中携带认证向量;

将所述鉴权消息发送给所述rcs协议测试平台,由所述rcs协议测试平台将所述鉴权消息转发至所述待测终端;

接收所述rcs协议测试平台转发的所述待测终端根据所述鉴权消息中的认证向量回复的注册消息,所述注册消息中携带认证响应数据;

将所述注册消息中携带的认证响应数据与期望接收到认证响应数据进行匹配,根据匹配是否成功生成认证成功或认证失败的认证响应消息,并且,当匹配成功时与所述待测终端的归属hss交互,更新所述待测终端在所述hss中的注册信息;

将所述认证响应消息发送给所述rcs协议测试平台,由所述rcs协议测试平台将所述认证响应消息转发至所述待测终端。

优选地,所述根据所述rcs业务注册请求消息,生成鉴权消息的步骤包括:

判断是否有可用的认证向量;

如果是,从所述可用的认证向量中选择一认证向量,并生成携带选择的所述认证向量的鉴权消息;

如果否,向所述待测终端的归属hss发送认证向量集请求,并接收所述hss根据所述认证向量集请求返回的认证向量集,从所述认证向量集中选择一认证向量,并生成携带选择的所述认证向量的鉴权消息。

本发明还提供一种rcs协议测试平台,包括:

收发器,用于接收待测终端发送的rcs业务注册请求消息,将所述rcs业务注册请求消息转发至rcs业务服务器,由所述rcs业务服务器与所述待测终端的归属hss交互,对所述待测终端进行鉴权认证;并转发所述rcs业务服务器与所述待测终端之间的鉴权认证相关消息。

优选地,所述收发器还用于接收待测终端发送的rcs业务注册请求消息;将所述rcs业务注册请求消息转发至rcs业务服务器;接收所述rcs业务服务器根据所述rcs业务注册请求消息回复的鉴权消息,所述鉴权消息中携带认证向量;将所述鉴权消息转发至所述待测终端;接收所述待测终端根据所述鉴权消息中的认证向量回复的注册消息,所述注册消息中携带认证响应数据;将所述注册消息转发至所述rcs业务服务器,由所述rcs业务服务器将所述注册消息中携带的认证响应数据与期望接收到认证响应数据进行匹配,根据匹配是否成功生成认证成功或认证失败的认证响应消息,并且,当匹配成功时与所述待测终端的归属hss交互,更新所述待测终端在所述hss中的注册信息;接收所述rcs业务服务器发送的认证响应消息;将所述认证响应消息转发至所述待测终端。

优选地,所述rcs协议测试平台还包括:

处理器,用于将所述rcs业务注册请求消息中的ip地址和端口修改为所述rcs业务服务器的ip地址和端口;

所述收发器,还用于将修改后的注册请求转发至所述rcs业务服务器。

优选地,当所述待测终端认证成功之后:

所述收发器,还用于接收所述待测终端发送的业务交互的消息;

所述rcs协议测试平台还包括:

处理器,用于对所述业务交互的消息对应的业务进行处理,并根据处理结果回复所述待测终端。

本发明还提供一种rcs业务服务器,包括:

收发器,用于接收rcs协议测试平台转发的待测终端发送的rcs业务注册请求消息;

处理器,用于根据所述rcs业务注册请求消息与所述待测终端的归属hss交互,对所述待测终端进行鉴权认证。

优选地,所述处理器,还用于根据所述rcs业务注册请求消息,生成鉴权消息,所述鉴权消息中携带认证向量;

所述收发器,还用于将所述鉴权消息发送给所述rcs协议测试平台,由所述rcs协议测试平台将所述鉴权消息转发至所述待测终端;接收所述rcs协议测试平台转发的所述待测终端根据所述鉴权消息中的认证向量回复的注册消息,所述注册消息中携带认证响应数据;

所述处理器,还用于将所述注册消息中携带的认证响应数据与期望接收到认证响应数据进行匹配,根据匹配是否成功生成认证成功或认证失败的认证响应消息,并且,当匹配成功时与所述待测终端的归属hss交互,更新所述待测终端在所述hss中的注册信息;

所述收发器,还用于将所述认证响应消息发送给所述rcs协议测试平台,由所述rcs协议测试平台将所述认证响应消息转发至所述待测终端。

优选地,所述处理器,还用于判断是否有可用的认证向量;当判断出有可用的认证向量集时,从所述可用的认证向量中选择一认证向量,并生成携带选择的所述认证向量的鉴权消息;

所述收发器,还用于当所述处理器判断出没有可用的认证向量集时,向所述待测终端的归属hss发送认证向量集请求;接收所述hss根据所述认证向量集请求返回的认证向量集;

所述处理器,还用于从所述可用的认证向量中选择一认证向量,并生成携带选择的所述认证向量的鉴权消息。

本发明还提供一种rcs协议测试平台,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序;所述处理器执行所述程序时实现上述应用于rcs协议测试平台的rcs协议测试方法。

本发明还提供一种rcs业务服务器,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序;所述处理器执行所述程序时实现上述应用于rcs业务服务器的rcs协议测试方法。

本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述应用于rcs协议测试平台的rcs协议测试方法中的步骤。

本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述应用于rcs业务服务器的rcs协议测试方法中的步骤。

本发明的上述技术方案的有益效果如下:

rcs协议测试平台接收到的待测终端发送的rcs业务注册相关消息时,均转发至现网的真实rcs业务服务器,由真实rcs业务服务器与hss交互,完成待测终端的鉴权认证,从而rcs协议测试平台不需要模拟实现hss的鉴权认证功能,降低了开发和运维成本,同时也不需要专门获取测试用sim卡数据,避免了现有的rcs业务注册流程中需要对sim卡数据进行协调以及对sim卡进行管理等复杂问题。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例一的rcs协议测试方法的流程示意图;

图2为本发明实施例二的rcs协议测试方法的流程示意图;

图3为本发明实施例三的rcs协议测试方法的流程示意图;

图4为本发明实施例四的rcs协议测试方法的流程示意图;

图5为本发明实施例五的rcs协议测试方法的流程示意图;

图6为本发明实施例六的rcs协议测试方法的流程示意图;

图7为本发明实施例七的rcs协议测试平台的结构示意图;

图8为本发明实施例八的rcs业务服务器的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例的附图,对本发明实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的本发明的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。

请参考图1,图1为本发明实施例一的rcs协议测试方法的流程示意图,该rcs协议测试方法应用于rcs协议测试平台,包括:

步骤101:接收待测终端发送的rcs业务注册请求消息;

所述rcs业务注册请求消息中携带所述待测终端的impi(ipmultimediaprivateidentity,私有用户标识);

步骤102:将所述rcs业务注册请求消息转发至rcs业务服务器,由所述rcs业务服务器与所述待测终端的归属hss交互,对所述待测终端进行鉴权认证;

步骤103:转发所述rcs业务服务器与所述待测终端之间的鉴权认证相关消息。

本发明实施例中,rcs协议测试平台接收到的待测终端发送的rcs业务注册相关消息时,均转发至现网的真实rcs业务服务器,由真实rcs业务服务器与hss交互,完成待测终端的鉴权认证,从而rcs协议测试平台不需要模拟实现hss的鉴权认证功能,降低了开发和运维成本,同时也不需要专门获取测试用sim卡数据,避免了现有的rcs业务注册流程中需要对sim卡数据进行协调以及对sim卡进行管理等复杂问题。

下面对如何转发所述rcs业务服务器与所述待测终端之间的鉴权认证相关消息的过程举例进行说明,当然,在本发明的其他一些实施例中,也不排除转发所述rcs业务服务器与所述待测终端之间的鉴权认证相关消息的过程采用其他的流程。

请参考图2,图2为本发明实施例二的rcs协议测试方法的流程示意图,该rcs协议测试方法应用于rcs协议测试平台,包括:

步骤201:接收待测终端发送的rcs业务注册请求消息;

所述rcs业务注册请求消息中携带所述待测终端的impi;

步骤202:将所述rcs业务注册请求消息转发至rcs业务服务器;

所述rcs业务服务器为现网的真实的rcs业务服务器,具备处理rcs业务注册和rcs业务处理的功能。

步骤203:接收所述rcs业务服务器根据所述rcs业务注册请求消息回复的鉴权消息,所述鉴权消息中携带认证向量;

所述鉴权消息中还携带所述待测终端的impi。

所述认证向量可以包括:认证所需的rand(随机数)和autn(网络认证令牌)等。

所述rcs业务服务器接收到rcs业务注册请求消息时,会认为这是一个真实的rcs业务注册请求消息,并与现网的所述待测终端的归属hss进行交互,以对该待测终端进行aka鉴权认证。

具体的,所述rcs业务服务器接收到rcs业务注册请求消息时,需要判断是否有可用的认证向量;如果是,从所述可用的认证向量中选择一认证向量,并生成携带选择的所述认证向量的鉴权消息;如果否,向所述待测终端的归属hss发送认证向量集请求,所述认证向量集请求中携带所述待测终端的impi,还可能携带所请求的认证向量的个数;接收所述hss根据所述认证向量集请求返回的认证向量集,从所述认证向量集中选择一认证向量,并生成携带选择的所述认证向量的鉴权消息。

步骤204:将所述鉴权消息转发至所述待测终端;

步骤205:接收所述待测终端根据所述鉴权消息中的认证向量回复的注册消息,所述注册消息中携带认证响应数据;

待测终端接收到鉴权消息后,根据鉴权消息中的认证向量,对网络进行认证,认证通过后,计算出认证响应数据,并通过注册消息携带所述认证响应数据回复给rcs协议测试平台。

步骤206:将所述注册消息转发至所述rcs业务服务器,由所述rcs业务服务器将所述注册消息中携带的认证响应数据与期望接收到认证响应数据进行匹配,根据匹配是否成功生成认证成功或认证失败的认证响应消息,并且,当匹配成功时与所述待测终端的归属hss交互,更新所述待测终端在所述hss中的注册信息;

步骤207:接收所述rcs业务服务器发送的认证响应消息;

步骤208:将所述认证响应消息转发至所述待测终端。

本发明实施例中,rcs协议测试平台接收到的待测终端发送的rcs业务注册相关消息时,均转发至现网的真实rcs业务服务器,由真实rcs业务服务器与hss交互,完成待测终端的鉴权认证,从而rcs协议测试平台不需要模拟实现hss的鉴权认证功能,降低了开发和运维成本,同时也不需要专门获取测试用sim卡数据,避免了现有的rcs业务注册流程中需要对sim卡数据进行协调以及对sim卡进行管理等复杂问题。

所述转发所述rcs业务服务器与所述待测终端之间的鉴权认证相关消息的流程请参见步骤203~208。所述鉴权认证相关消息为步骤203~208中rcs协议测试平台转发的消息。

本发明实施例中,所述将所述rcs业务注册请求消息转发至rcs业务服务器的步骤包括:将所述rcs业务注册请求消息中的ip(internetprotocol,互联协议)地址和端口修改为所述rcs业务服务器的ip地址和端口,并将修改后的注册请求转发至所述rcs业务服务器。也就是说,rcs协议测试平台通过修改接收到的rcs业务注册请求消息的ip地址和端口,从而将接收到的rcs业务注册请求消息转发至rcs业务服务器。

本发明实施例中,当所述待测终端认证成功之后,所述将所述认证响应消息转发至所述待测终端的步骤之后,还包括:

接收所述待测终端发送的业务交互的消息;

对所述业务交互的消息对应的业务进行处理,并根据处理结果回复所述待测终端。

本发明实施例中,rcs协议测试平台仅代理转发rcs业务注册的相关消息,但自行处理其他业务交互的消息,从而实现测量用例的完全覆盖。

请参考图3,图3为本发明实施例三的rcs协议测试方法的流程示意图,该rcs协议测试方法应用于rcs业务服务器,包括:

步骤301:接收rcs协议测试平台转发的待测终端发送的rcs业务注册请求消息;

步骤302:根据所述rcs业务注册请求消息与所述待测终端的归属hss交互,对所述待测终端进行鉴权认证。

本发明实施例中,rcs协议测试平台接收到的待测终端发送的rcs业务注册相关消息时,均转发至现网的真实rcs业务服务器,由真实rcs业务服务器与hss交互,完成待测终端的鉴权认证,从而rcs协议测试平台不需要模拟实现hss的鉴权认证功能,降低了开发和运维成本,同时也不需要专门获取测试用sim卡数据,避免了现有的rcs业务注册流程中需要对sim卡数据进行协调以及对sim卡进行管理等复杂问题。

下面对如何根据所述rcs业务注册请求消息对所述待测终端进行鉴权认证的过程举例进行说明,当然,在本发明的其他一些实施例中,也不排除根据所述rcs业务注册请求消息对所述待测终端进行鉴权认证的过程采用其他的流程。

请参考图4,图4为本发明实施例四的rcs协议测试方法的流程示意图,该rcs协议测试方法应用于rcs业务服务器,包括:

步骤401:接收rcs协议测试平台转发的待测终端的rcs业务注册请求消息;

步骤402:根据所述rcs业务注册请求消息,生成鉴权消息,所述鉴权消息中携带认证向量;

所述鉴权消息中还携带所述待测终端的impi。

所述认证向量可以包括:认证所需的rand(随机数)和autn(网络认证令牌)等。

所述rcs业务服务器接收到rcs业务注册请求消息时,会认为这是一个真实的rcs业务注册请求消息,并与现网的所述待测终端的归属hss进行交互,以对该待测终端进行aka鉴权认证。

步骤403:将所述鉴权消息发送给所述rcs协议测试平台,由所述rcs协议测试平台将所述鉴权消息转发至所述待测终端;

步骤404:接收所述rcs协议测试平台转发的所述待测终端根据所述鉴权消息中的认证向量回复的注册消息,所述注册消息中携带认证响应数据;

待测终端接收到鉴权消息后,根据鉴权消息中的认证向量,对网络进行认证,认证通过后,计算出认证响应数据,并通过注册消息携带所述认证响应数据回复给rcs协议测试平台。

步骤405:将所述注册消息中携带的认证响应数据与期望接收到认证响应数据进行匹配,根据匹配是否成功生成认证成功或认证失败的认证响应消息,并且,当匹配成功时与所述待测终端的归属hss交互,更新所述待测终端在所述hss中的注册信息;

具体的,如果该待测终端的impu(ipmultimediapublicidentity,ip多媒体公共标识)当前还未注册,hss将注册信息更新为已注册;

如果该待测终端的impu当前已注册,hss将保持注册信息不变;

如果该待测终端的impu在隐式注册集中,hss将把隐式注册集中的所有impu当成已注册。

步骤406:将所述认证响应消息发送给所述rcs协议测试平台,由所述rcs协议测试平台将所述认证响应消息转发至所述待测终端。

本发明实施例中,rcs协议测试平台接收到的待测终端发送的rcs业务注册相关消息时,均转发至现网的真实rcs业务服务器,由真实rcs业务服务器与hss交互,完成待测终端的鉴权认证,从而rcs协议测试平台不需要模拟实现hss的鉴权认证功能,降低了开发和运维成本,同时也不需要专门获取测试用sim卡数据,避免了现有的rcs业务注册流程中需要对sim卡数据进行协调以及对sim卡进行管理等复杂问题。

其中,根据所述rcs业务注册请求消息对所述待测终端进行鉴权认证的过程请参见步骤402~406。

本发明实施例中,所述根据所述rcs业务注册请求消息,生成鉴权消息的步骤包括:

步骤4021:判断是否有可用的认证向量;如果是,执行步骤4022,否则,执行步骤4023;

步骤4022:从所述可用的认证向量中选择一认证向量,并生成携带选择的所述认证向量的鉴权消息;

步骤4023:向所述待测终端的归属hss发送认证向量集请求,所述认证向量集请求中携带所述待测终端的impi,还可能携带所请求的认证向量的个数;接收所述hss根据所述认证向量集请求返回的认证向量集,从所述认证向量集中选择一认证向量,并生成携带选择的所述认证向量的鉴权消息。

下面对结合待测终端、rcs协议测试平台和rcs业务服务器三者之间的交互流程,对本发明实施例的rcs协议测试方法进行说明。

本发明实施例中,是native终端对sip(sessioninitiationprotocol,会话初始协议)类业务进行认证的应用场景。

请参考图5,图5为本发明实施例五的rcs协议测试方法的流程示意图,该rcs协议测试方法包括以下步骤:

步骤501:待测终端将rcs业务平台地址配置为模拟成rcs业务服务器的rcs协议测试平台的地址,并使用普通的现网sim卡向rcs协议测试平台发起rcs业务注册请求消息(sipregister),该rcs业务注册请求消息中携带待测终端的impi;

该待测终端为native终端。

步骤502:rcs协议测试平台修改该rcs业务注册请求消息中的ip地址和端口等有关字段,再将修改后的rcs业务注册请求消息(sipregister)转发给rcs业务服务器;

步骤503:rcs业务服务器接收到该rcs业务注册请求消息后,会认为这是一个真实的rcs业务注册请求消息,并与现网hss进行交互,以对该待测终端进行aka鉴权认证。rcs业务服务器向rcs协议测试平台回复sip401unauthorized(nonce)消息,其中,该sip401unauthorized消息中携带认证所需的rand和autn等参数;

步骤504:rcs协议测试平台将该sip401unauthorized消息转发至待测终端;

步骤505:待测终端接收到sip401unauthorized消息后,根据该sip401unauthorized消息中携带的autn和rand对网络进行认证。认证通过后,使用rand计算出认证响应res(即上述实施例中的认证响应数据),并发送注册消息(sipregister)至rcs协议测试平台,该注册消息中携带认证响应res;

步骤506:rcs协议测试平台转发该注册消息给rcs业务服务器;

步骤507:rcs业务服务器接收到携带认证响应res的注册消息后,检查实际收到的认证响应res和期望收到的认证响应xres是否匹配,如果两者匹配不成功,则认为该待测终端不能通过网络认证,如果匹配成功,则认为该待测终端通过网络认证,并在匹配成功后,与hss交互,更新所述待测终端在hss中的注册信息,并向rcs协议测试平台发送认证成功响应(sip200ok)消息。

本发明实施例中,假设实际收到的认证响应res和期望收到的认证响应xres匹配成功。

步骤508:rcs协议测试平台转发该sip200ok消息给待测终端。

步骤509:完成认证之后,rcs协议测试平台对于业务(如订阅业务、消息业务或其他业务)交互的消息不做转发,而是自行对所述业务交互的消息对应的业务进行处理,并根据处理结果回复所述待测终端。

下面结合具体网络场景,对本发明实施例的rcs协议测试方法进行说明。

本发明实施例中,是native终端对sip(sessioninitiationprotocol,会话初始协议)类业务进行认证的应用场景。native终端sip类业务认证基于imsaka,使用httpdigestakav1(rfc3310),用户签约数据存储在省hss。

本发明实施例中的p-cscf用于实现上述实施例中的rcs协议测试平台的功能,本发明实施例中的i-cscf和s-cscf用于实现上述实施例中的rcs业务服务器的功能。

请参考图6,图6为本发明实施例六的rcs协议测试方法的流程示意图,该rcs协议测试方法包括以下步骤:

步骤601:用户在待测终端上发起sip类业务操作,如新消息操作。

步骤602:待测终端与对应的接入控制功能模块(具备sbc(sessionbordercontroller,会话边界控制器)和p-cscf功能,以下使用p-cscf表示)建立tls(transportlayersecurity,传输层安全性)隧道,即进行tls握手(tlshandshake),具体过程如下:

1)终端使用tls向p-cscf加密端口创建tcp(transmissioncontrolprotocol,传输控制协议)握手;

2)由于终端访问的是加密端口,首先p-cscf下发自身的证书和公钥;

3)终端根据证书验证p-cscf的可信性,需要验证证书里的身份是否与p-cscf的域名一致,如果证书验证成功,则与p-cscf协商tls密钥并建立tls加密通道;

4)p-cscf对于tls链路设置定时器,如果在定时器时间阈值内,p-cscf接收到消息,则维持该tls链路;否则,拆除tls链路。

步骤603:待测终端发起rcs业务注册请求消息(register),并携带impi,放在authorization(鉴权)头域中。

rcs业务注册请求消息的样例可以如下:

registersip:registrar.home1.netsip/2.0

via:sip/2.0/udp

[5555::aaa:bbb:ccc:ddd];comp=sigcomp;branch=z9hg4bknashds7

max-forwards:70

p-access-network-info:3gpp-utran-tdd;

utran-cell-id-3gpp=234151d0fce11

from:<sip:user1_public1@home1.net>;tag=4fa3

to:sip:user1_public1@home1.net

contact:<sip:[5555::aaa:bbb:ccc:ddd];comp=sigcomp>;expires=600000

call-id:apb03a0s09dkjdfglkj49111

authorization:digestusername="user1_private@home1.net",

realm="registrar.home1.net",nonce="",uri="sip:registrar.home1.net",

response=""

security-client:tls-3gpp;alg=hmac-sha-256-96;spi-c=23456789;

spi-s=12345678;port-c=2468;port-s=1357

require:sec-agree

proxy-require:sec-agree

cseq:1register

supported:path

content-length:0

步骤604:p-cscf接收到rcs业务注册请求消息后,转发至i-cscf(会话控制功能模块)。

步骤605~606:i-cscf从hss中查询到s-cscf的地址(selection-info),将rcs业务注册请求消息发送到s-cscf(会话控制功能模块)。

s-cscf接收到注册请求消息后,做如下处理:

判断s-cscf中有没有可用的认证向量;

如果s-cscf中没有可用的认证向量,执行步骤407,s-cscf将向省hss发送认证向量集请求(mar),请求中携带所要求的认证向量的个数m(1≤m≤5)。

如果s-cscf中有可用的认证向量,则直接执行步骤409。

步骤607~608:省hss接收到s-cscf的认证向量集请求后,根据消息中的authentication-scheme参数值为“digest-akav1-sha256”判断出此待测终端的认证模式是imsaka,根据用户签约信息计算五元组并向s-cscf返回基于序列号排序的n个认证向量(每一认证向量均包括rand、autn、xres、ck和ik),n等于或小于m。

步骤609:s-cscf按照先入先出的原则从认证向量集中选择一个认证向量向i-cscf发送401挑战消息(401_auth_challenge),该消息中携带参数impi、rand、autn、ck和ik,认证向量包含在www-authenticate头域中。

步骤610:i-cscf将401挑战消息转发给p-cscf。

步骤611:p-cscf接收到401挑战消息后,从中取出ik和ck(密码对)并保存,将401挑战消息中剩余的参数rand、autn和impi继续向待测终端发送。

401挑战消息的样例如下:

sip/2.0401unauthorized

via:sip/2.0/udp

[5555::aaa:bbb:ccc:ddd];comp=sigcomp;branch=z9hg4bknashds7

from:<sip:user1_public1@home1.net>;tag=4fa3

to:<sip:user1_public1@home1.net>

call-id:apb03a0s09dkjdfglkj4911

www-authenticate:digestrealm="registrar.home1.net",nonce=base64(rand+autn+serverspecificdata),algorithm=akav1-sha256

security-server:tls-3gpp;q=0.1;alg=hmac-sha-256-96;spi-c=98765432;spi-s=87654321;port-c=8642;port-s=7531

cseq:

content-length:

步骤612:待测终端接收到401挑战消息后,根据401挑战消息中的autn和rand计算出xmac,并和autn中的mac值进行比较是否一致,并且要比较autn中的序列号sqn。待测终端对网络的认证通过后,使用rand计算出认证响应res(authenticationresponse),放在authorization头域中,并通过注册消息(reigster)发送到p-cscf。该注册消息中携带所述待测终端的impi和authenticationresponse。

注册消息的样例如下:

registersip:registrar.home1.netsip/2.0

via:sip/2.0/udp

[5555::aaa:bbb:ccc:ddd]:1357;comp=sigcomp;branch=z9hg4bknashds7

max-forwards:70

p-access-network-info:3gpp-utran-tdd;

utran-cell-id-3gpp=234151d0fce11

from:<sip:user1_public1@home1.net>;tag=4fa3

to:sip:user1_public1@home1.net

contact:<sip:[5555::aaa:bbb:ccc:ddd]:1357;comp=sigcomp>;expires=600000

call-id:apb03a0s09dkjdfglkj49111

authorization:digestusername="user1_private@home1.net",

realm="registrar.home1.net",nonce=base64(rand+autn+serverspecificdata),algorithm=akav1-sha256,uri="sip:registrar.home1.net",

response="6629fae49393a05397450978507c4ef1"

security-client:tls-3gpp;alg=hmac-sha-256-96;spi-c=23456789;

spi-s=12345678;port-c=2468;port-s=1357

security-verify:tls-3gpp;q=0.1;alg=hmac-sha-256-96;spi-c=98765432;

spi-s=87654321;port-c=8642;port-s=7531

require:sec-agree

proxy-require:sec-agree

cseq:2register

supported:path

content-length:0

步骤613~615:p-cscf接收到注册消息并向i-cscf发送,i-cscf从hss中查询(query)到s-cscf的地址,将注册消息向s-cscf发送。s-cscf接收到注册消息,检查注册消息中的认证响应res和期望接收到的认证响应xres是否匹配,如果两者匹配成功,则该待测终端通过网络认证,否则不能通过网络认证。

步骤616~617:s-cscf向hss发送sar(server-assignment-request)消息,更新待测终端在hss中的注册信息,hss返回saa(server-assignment-answer)消息给s-cscf:

如果该待测终端的impu当前还未注册,hss将注册信息更新为已注册;

如果该待测终端的impu当前已注册,hss将保持注册信息不变;

如果该待测终端的impu在隐式注册集中,hss将把隐式注册集中的所有impu当成已注册。

步骤618~620:s-cscf接收到saa消息后,s-cscf经过i-cscf、p-cscf向待测终端发送认证成功响应(200_auth_ok)消息,用户的认证完成。

认证成功响应消息的样例如下:

sip/2.0200ok

via:sip/2.0/udpicscf1_p.home1.net;branch=z9hg4bk351g45.1,sip/2.0/udp

pcscf1.visited1.net;branch=z9hg4bk240f34.1,sip/2.0/udp

[5555::aaa:bbb:ccc:ddd]:1357;comp=sigcomp;branch=z9hg4bknashds7

path:sip:term@pcscf1.visited1.net;lr

service-route:<sip:orig@scscf1.home1.net;lr>

from:

to:

call-id:

contact:<sip:[5555::aaa:bbb:ccc:ddd]:1357;comp=sigcomp>;expires=600000

cseq:

date:wed,11july201408:49:37gmt

p-associated-uri:<sip:user1_public2@home1.net>,

<sip:user1_public3@home1.net>,

<sip:+1-212-555-1111@home1.net;user=phone>

content-length:…

基于同一发明构思,请参考图7,本发明的实施例七还提供一种rcs协议测试平台70,所述rcs协议测试平台70包括:

收发器71,用于接收待测终端发送的rcs业务注册请求消息,将所述rcs业务注册请求消息转发至rcs业务服务器,由所述rcs业务服务器与所述待测终端的归属hss交互,对所述待测终端进行鉴权认证;并转发所述rcs业务服务器与所述待测终端之间的鉴权认证相关消息。

本发明实施例中,rcs协议测试平台接收到的待测终端发送的rcs业务注册相关消息时,均转发至现网的真实rcs业务服务器,由真实rcs业务服务器与hss交互,完成待测终端的鉴权认证,从而rcs协议测试平台不需要模拟实现hss的鉴权认证功能,降低了开发和运维成本,同时也不需要专门获取测试用sim卡数据,避免了现有的rcs业务注册流程中需要对sim卡数据进行协调以及对sim卡进行管理等复杂问题。

在一些优选实施例中,所述收发器71还用于接收待测终端发送的rcs业务注册请求消息;将所述rcs业务注册请求消息转发至rcs业务服务器;接收所述rcs业务服务器根据所述rcs业务注册请求消息回复的鉴权消息,所述鉴权消息中携带认证向量;将所述鉴权消息转发至所述待测终端;接收所述待测终端根据所述鉴权消息中的认证向量回复的注册消息,所述注册消息中携带认证响应数据;将所述注册消息转发至所述rcs业务服务器,由所述rcs业务服务器将所述注册消息中携带的认证响应数据与期望接收到认证响应数据进行匹配,根据匹配是否成功生成认证成功或认证失败的认证响应消息,并且,当匹配成功时与所述待测终端的归属hss交互,更新所述待测终端在所述hss中的注册信息;接收所述rcs业务服务器发送的认证响应消息;将所述认证响应消息转发至所述待测终端。

优选地,本发明实施例中的rcs协议测试平台还包括:

处理器(图未示出),用于将所述rcs业务注册请求消息中的ip地址和端口修改为所述rcs业务服务器的ip地址和端口;

所述收发器,还用于将修改后的注册请求转发至所述rcs业务服务器。

也就是说,rcs协议测试平台通过修改接收到的rcs业务注册请求消息的ip地址和端口,从而将接收到的rcs业务注册请求消息转发至rcs业务服务器。

本发明实施例中,当所述待测终端认证成功之后:

所述收发器71,还用于接收所述待测终端发送的业务交互的消息;

所述rcs协议测试平台还包括:

处理器,用于对所述业务交互的消息对应的业务进行处理,并根据处理结果回复所述待测终端。

本发明实施例中,rcs协议测试平台仅代理转发rcs业务注册的相关消息,但自行处理其他业务交互的消息,从而实现测量用例的完全覆盖。

请参考图8,本发明的实施例八还提供一种rcs业务服务器80,该rcs业务服务器80包括:

收发器81,用于接收rcs协议测试平台转发的待测终端发送的rcs业务注册请求消息;

处理器82,用于根据所述rcs业务注册请求消息与所述待测终端的归属hss交互,对所述待测终端进行鉴权认证。

本发明实施例中,rcs协议测试平台接收到的待测终端发送的rcs业务注册相关消息时,均转发至现网的真实rcs业务服务器,由真实rcs业务服务器与hss交互,完成待测终端的鉴权认证,从而rcs协议测试平台不需要模拟实现hss的鉴权认证功能,降低了开发和运维成本,同时也不需要专门获取测试用sim卡数据,避免了现有的rcs业务注册流程中需要对sim卡数据进行协调以及对sim卡进行管理等复杂问题。

在本发明的一些优选实施例中,所述处理器82,还用于根据所述rcs业务注册请求消息,生成鉴权消息,所述鉴权消息中携带认证向量;

所述收发器81,还用于将所述鉴权消息发送给所述rcs协议测试平台,由所述rcs协议测试平台将所述鉴权消息转发至所述待测终端;接收所述rcs协议测试平台转发的所述待测终端根据所述鉴权消息中的认证向量回复的注册消息,所述注册消息中携带认证响应数据;

所述处理器82,还用于将所述注册消息中携带的认证响应数据与期望接收到认证响应数据进行匹配,根据匹配是否成功生成认证成功或认证失败的认证响应消息,并且,当匹配成功时与所述待测终端的归属hss交互,更新所述待测终端在所述hss中的注册信息;

所述收发器81,还用于将所述认证响应消息发送给所述rcs协议测试平台,由所述rcs协议测试平台将所述认证响应消息转发至所述待测终端。

优选地,本发明实施例中,所述处理器82,还用于判断是否有可用的认证向量;当判断出有可用的认证向量集时,从所述可用的认证向量中选择一认证向量,并生成携带选择的所述认证向量的鉴权消息;

所述收发器81,还用于当所述处理器判断出没有可用的认证向量集时,向所述待测终端的归属hss发送认证向量集请求;接收所述hss根据所述认证向量集请求返回的认证向量集;

所述处理器82,还用于从所述可用的认证向量中选择一认证向量,并生成携带选择的所述认证向量的鉴权消息。

本发明实施例还提供一种rcs协议测试平台,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序;所述处理器执行所述程序时实现上述rcs协议测试平台侧执行的rcs协议测试方法。

本发明实施例还提供一种rcs业务服务器,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序;所述处理器执行所述程序时实现上述rcs业务服务器侧执行的rcs协议测试方法。

本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现上述rcs协议测试平台侧执行的rcs协议测试方法中的步骤。

本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现上述rcs业务服务器侧执行的rcs协议测试方法中的步骤。

上述计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1