支持p2p媒体传输的sip软交换系统及其实现方法

文档序号:7644484阅读:236来源:国知局
专利名称:支持p2p媒体传输的sip软交换系统及其实现方法
技术领域
本发明涉及网络通信技术,具体地说是一种支持P2P媒体传输的SIP 软交换系统及其实现方法。
背景技术
SIP (会话初始协议)是由IETF (Internet工程任务组)MMUSIC (多 方多媒体会话控制)工作组定义的用于创建、修改和终止IP网上多媒体会 话的应用层信令控制协议。目前SIP协议不断完善,其最终目标是为所有 Internet成功的应用提供无所不在的接入。SIP协议以其更加开放、更易扩 展、与Internet紧密结合等特性逐步战胜H.323、 MGCP等协议成为VoIP (Voice over Internet Protocol ,互联网电话或者宽带电话)的主流协议,正 得到越来越广泛的支持。
P2P (peer-to-peer的缩写,"点对点"或称为对等联网)网络是一种打 破了传统Client/Server (客户机/服务器)模式的分布式对等网络,网络参与 者共享他们所拥有的一部分硬件资源,比如处理能力、存储能力、网络连 接能力、打印机等,这些共享资源由网络提供服务和内容,能被其它对等 节点直接访问而无需经过中间实体,网络参与者既是资源(服务和内容) 提供者,又是资源(服务和内容)获取者。P2P技术的发展以及P2P与网 络技术的结合,将影响整个计算机网络的概念和人们获取信息的模式。在 大量数据传输的领域中,P2P能有效的减轻服务器的负担,增加系统的可扩 展性和健壮性。但是P2P分布式的特点导致了其可管理性和可控性较差, 这在很大程度上限制了 P2P的长期发展。
目前将SIP和P2P相结合发挥各自的优势是一个研究热点,研究者们 基于P2P技术扩充了 SIP协议中资源分布和资源定位协议,充分利用SIP 协议简单高效、通用性好的特点以及P2P技术高可扩展性和高鲁棒性的特 点,这些扩展统称为SIP P2P。根据SIP P2P中SIP协议和P2P协议不同的 结合方式,SIP P2P可以划分为P2P over SIP和SIP over P2P两种不同的类 型。所谓P2P over SIP,即利用SIP消息来维护P2P覆盖网络,也就是SIP 以tunnel(隧道)的方式来传送P2P的信令,SIP为P2P覆盖网提供维护、 控制的功能,同时负责媒体会话的建立。所谓SIP over P2P,将SIP置于P2P 覆盖网之上,由P2P覆盖网完成资源定位和P2P网络自身的维护,也就是 说标准SIP协议中的SIP服务器的资源存储和资源定位功能由分布式的P2P 网络替代完成。
但是现有SIP P2P相关研究过多地关注SIP协议的扩展或者SIP协议的
去中心化,过分强调分布式和去中心化所带来的灵活性,忽略了P2P应用 长期以来固有的问题一可控可管性差,缺乏能够臝利、可持续发展的运营
模式。如何有效利用SIP协议所提供的良好会话建立和控制机制,整合P2P 网络各种资源,提高P2P网络各种资源的利用率和服务能力,是急需解决 的问题。

发明内容
针对现有技术中P2P应用的可控可管性差,缺乏能够贏利、可持续发 展的运营模式的不足,本发明的目的在于提供一种信令控制交互由信令控 制服务器统一处理,适应互联网可控可管理、可运营的支持P2P媒体传输 的SIP软交换系统及其实现方法。
为了解决上述技术问题,本发明是通过如下技术方案实现的 本发明支持P2P媒体传输的SIP软交换系统包括信令控制服务器、媒 体中继服务器、超级中继服务节点、STUN服务节点以及P2P客户端或普 通客户端,釆用扩展SIP协议作为信令控制层的通信协议,由处于系统中 心位置的信令控制服务器集中处理转发;媒体传输支持媒体中继服务器转 发、ICE方式的点对点直通和P2P网络传输多条路径,其中信令控制服 务器,为整个IP通信系统的控制中心,所有的SIP消息都经信令控制服务 器转发,信令控制服务器接收来自P2P客户端或普通客户端的注册请求, 并将注册信息登记在信令控制服务器的数据库中,负责所有多媒体通信会 话的建立、修改和拆除,负责为通信会话选择媒体中继服务器,提供一种 经媒体中继服务器转发的媒体传输备选路径;媒体中继服务器,具有公网 IP地址,处理来自信令控制服务器的中继请求,为通信会话分配中继端口, P2P客户端或普通客户端双方均将媒体数据包发送到中继端口 ,媒体中继服 务器将来自于一方P2P客户端或普通客户端的媒体数据包转发到另一 P2P 客户端或普通客户端;超级中继服务节点,为一长期运行的中继服务节点, 加入到P2P网络,作为P2P网络的Bootstrap节点,处理来自P2P客户端的 中继请求,为通信会话分配中继端口,中继P2P客户端之间的媒体数据包; STUN服务节点,加入到P2P网络,作为P2P网络的Bootstrap节点,处理 来自P2P客户端的STUN请求;P2P客户端,在建立通信的信令控制交互 之后,与另一P2P客户端之间进行ICE交互过程,为本次通信寻找ICE方 式点对点直通的媒体传输备选路径;在P2P网络中为本次通信寻找经中继 服务节点转发的媒体传输备选路径,当检测到自己满足成为中继服务节点 的条件时,P2P客户端申请加入P2P网络,为其它P2P客户端提供中继服
所述P2P网络具有两层结构,即资源覆盖网络和服务覆盖网络,其中 资源覆盖网络为服务覆盖网络提供统一的资源存储、检索功能;服务覆盖 网络面向不同的服务类型,每种服务类型均形成一个独立的覆盖网络,所
有服务覆盖网络使用统 一 的资源覆盖网络访问接口发布和检索服务信息;
P2P网络支持的服务类型包括中继服务和STUN服务,其中中继服务的服 务覆盖网络为无结构网络,每个P2P客户端节点从资源覆盖网络获取大量 的中继服务节点信息进行筛选,并缓存部分可用的服务节点,并且P2P客 户端与中继服务节点之间以及中继服务节点与中继服务节点之间周期性地 交互信息;STUN服务的服务覆盖网络为无结构网络,每个P2P客户端节 点从资源覆盖网络获取STUN服务节点信息,缓存可用的STUN服务节点; 所述P2P客户端从上到下划分为相对独立的SIP应用层、P2P服务层和P2P 访问层,下层为其上一层提供服务;P2P服务层抽象所有的P2P服务类型, 服务类型之间相对独立;所述超级中继服务节点及STUN服务节点从上到 下分别划分为P2P服务层和P2P访问层,下层为其上一层提供服务;P2P 服务层抽象所有的P2P服务类型,服务类型之间相对独立。
本发明支持P2P媒体传输的SIP软交换系统的实现方法具有以下步骤:
系统初始化信令控制服务器、媒体中继服务器、超级中继服务节点 和STUN服务节点启动并进行初始化;超级中继服务节点加入到中继服务 覆盖网络;STUN服务节点加入到STUN服务覆盖网络;P2P客户端和普通 客户端向信令控制服务器注册;P2P客户端连接到中继服务覆盖网络和 STUN服务覆盖网络;P2P客户端进行自我评价,若评价通过则加入到中继 服务覆盖网络,成为中继服务节点;客户端之间通过控制信令交互建立通 信会话信令控制服务器处理并转发控制信令,为本次通信选择媒体中继 服务器,提供一种经媒体中继服务器转发的媒体传输备选路径;P2P客户端 根据控制信令交互判断另一客户端是否具有P2P功能;若通信双方均为P2P 客户端,P2P客户端在中继服务覆盖网络中为本次通信寻找经中继服务节点 转发的P2P网络媒体传输备选路径;P2P客户端主叫方对所有的媒体传输 备选路径进行评价,选择性能最优的媒体传输路径,P2P客户端双方切换媒 体传输至最优的媒体传输路径;P2P客户端双方仍保留其它备选的媒体传输 路径;若当前传输路径失效而导致通话中断,P2P客户端双方切换到备选的 媒体传输路径;通信会话结東,P2P客户端释放P2P网络媒体传输路径, 信令控制服务器释放经媒体中继服务器转发的媒体传输路径。
P2P客户端在建立通信会话的控制信令交互中,携带ICE收集地址信 息,并在控制信令交互之后进行ICE连通性检测,为本次通信寻找ICE方 式点对点直通的媒体传输备选路径。
所述的根据在会话建立过程中控制信令交互来判断另一客户端是否具 有P2P功能具体如下
P2P客户端发起呼叫时,设置INVITE消息SDP部分的参数,用于表 明自己具有P2P功能;P2P客户端被叫方应答呼叫时,设置200OK消息SDP 部分的参数;P2P客户端主叫方检查200OK消息SDP部分的参数,即可判 断通信被叫方是否具有P2P功能;P2P客户端被叫方检查INVTE消息SDP 部分的参数,即可判断通信主叫方是否具有P2P功能。
所述P2P客户端在中继服务覆盖网络中为本次通信寻找经中继服务节
点转发的媒体传输备选路径,其中P2P客户端之间使用INFO消息进行交 互,步骤如下
1 ) P2P客户端主叫方从目前可用的中继服务节点中按优先级选择多个 中继服务节点组成新的列表;
2) P2P客户端主叫方构造第一个INFO消息,将得到的中继服务节点 信息填写到该消息中,发送该消息到P2P客户端被叫方;
3 ) P2P客户端被叫方接收到第 一个INFO消息后,回送应答消息给P2P 客户端主叫方,并从第一个INFO消息中得到待选的中继服务节点列表信 息;
4 ) P2P客户端被叫方对中继服务节点列表中的所有中继服务节点进行 综合评价,按优先级重新排序;
5) P2P客户端被叫方构造第二个INFO消息,将新的中继服务节点列 表信息填写到该消息中,发送该消息到P2P客户端主叫方;
6 )P2P客户端主叫方接收到第二个INFO消息后,回送应答消息给P2P 客户端被叫方,并从第二个INFO消息中得到经过P2P客户端双方评价的 中继服务节点列表信息;
7) P2P客户端主叫方取得上述中继服务节点列表中的第一个中继服务 节点,向该中继服务节点请求中继资源;若请求成功,则构造第三个INFO 消息,将得到的中继资源信息填写到该消息中,发送该消息到P2P客户端 被叫方,转至步骤8);
若请求不成功,则将该中继服务节点从中继服务节点列表中删除,重 复步骤7);若中继服务节点列表为空,则本次P2P网络传输路径的选择过 程失败, 一段时间后,重新开始P2P网络传输路径的选择过程;
8 ) P2P客户端被叫方接收到第三个INFO消息后,回送应答消息给P2P 客户端主叫方,并从第三个INFO消息中得到待选的中继服务节点信息,并 向该中继服务节点请求中继资源,若请求成功,则构造第四个INFO消息, 将得到的中继资源信息填写到第四个INFO消息中,发送第四个INFO消息 到P2P客户端主叫方;若请求不成功,P2P客户端被叫方不作任何操作;
9 )P2P客户端主叫方接收到第四个INFO消息后,回送应答消息给P2P 客户端被叫方,并从第四个INFO消息中得到待选的中继服务节点信息;若 在一定时间内没有收到P2P客户端被叫方的第四个INFO消息,则将待选 的中继服务节点从中继服务节点列表中删除,重复步骤7 )。
所述P2P客户端主叫方对所有的备选路径进行评价具体为P2P客户 端主叫方向备选路径发送既定时间的测试数据流,计算测试数据流的丢包 率、延迟及抖动参数。
P2P客户端之间使用 一次性加密密钥对通信会话的媒体流数据包进行 加密,在通信会话建立过程中完成一次性加密密钥的安全传输。
本发明具有以下有益效果及优点
1. 具有很好的可控性和可管理性。本发明通信会话的信令控制部分由 处于中心位置的信令控制服务器集中处理转发,可实现完善的计费功能、 统计功能和监控功能等,因此整个系统具有很好的可控性和可管理性。
2. 具有很好的兼容性。本发明信令控制交互采用标准SIP协议处理方
式,仍然沿用传统的c/s模式,由处于中心位置的集中式的信令控制服务 器统一处理,只要符合标准SIP协议的SIP客户端均可与本系统配合使用, 因此具有良好的兼容性。
3. 具有很高的可靠性。本发明P2P客户端为通信会话同时维持着多条 媒体传输备选路径,尽量减少因网络的不稳定性带来的通信中断,因此具 有很高的可靠性。
4. 具有很好的扩展性。本发明P2P客户端的实现釆用标准SIP终端与 P2P功能松散耦合的方式,P2P功能部分以动态链接库的形式为上层SIP应 用提供接口 ,标准SIP终端仅需少量修改即可支持P2P功能,因此具有很 好的扩展性。
5. 有效改善通信质量。本发明在通信建立后对多条媒体传输路径进行 评价,选择性能最优的媒体传输路径,有效改善了通信质量。
6. 实现网络负担的分散化。本发明将更多的功能分散到客户端,分散 了网络负担,适应了未来终端越来越职能化的要求。


图l为本发明系统结构图2为本发明系统中P2P网络结构图3为发明系统中P2P客户端的协议层次结构图4为发明系统中超级中继服务节点的协议层次结构图5为发明系统中STUN服务节点的协议层次结构图6为本发明方法P2P客户端的自我评价机制流程图7为本发明方法会话交互过程图8为本发明方法P2P网络传输路径的选择过程图9为本发明方法媒体流 一 次性加密密钥的协商过程图。
具体实施例方式
1.系统结构组成
如图1所示,本发明支持P2P媒体传输的SIP软交换系统包括信令控 制服务器、媒体中继服务器、超级中继服务节点、STUN服务节点以及P2P 客户端或普通客户端,釆用扩展SIP协议作为信令控制层的通信协议,由 处于系统中心位置的信令控制服务器集中处理转发;媒体传输支持媒体中 继服务器转发、ICE方式的点对点直通和P2P网络传输多条路径;其中, P2P网络传输路径按照既定策略进行了优化,最终由通信终端按既定评价机 制进行媒体传输路径的选择;媒体流传输釆用加密方式,加密密钥由通信
双方在通话建立过程中协商。会话建立过程的信令控制过程完全兼容标准 的SIP协议,因此系统兼容所有遵循SIP协议标准的客户端,包括各种软电
话、IP话机、移动通信终端等。其中
信令控制服务器,为整个IP通信系统的控制中心,所有的SIP消息都 经信令控制服务器转发;提供标准的注册服务器和代理服务器的功能,接 受来自P2P客户端或普通客户端的注册请求,并将注册信息登记在信令控 制服务器的数据库中;负责所有多媒体通信会话的建立、修改和拆除;负 责为通信会话选择媒体中继服务器,提供 一 种经媒体中继服务器转发的媒 体传输备选路径;
媒体中继服务器,具有公网IP地址,处理来自信令控制服务器的中继 请求,为通信会话分配中继端口, P2P客户端或普通客户端双方均将媒体数 据包发送到中继端口,媒体中继服务器将来自于一方P2P客户端或普通客 户端的媒体数据包转发到另一 P2P客户端或普通客户端,不对实时数据作 其它附加操作,尽量减少实时数据的转发时延;
超级中继服务节点,为一长期运行的中继服务节点,加入到P2P网络, 作为P2P网络的Bootstrap节点;处理来自P2P客户端的中继请求,为通信 会话分配中继端口,中继P2P客户端之间的媒体数据包;
STUN服务节点,加入到P2P网络,作为P2P网络的Bootstrap节点; 处理来自P2P客户端的STUN请求,具有标准的STUN服务器功能;
P2P客户端,除完全遵循标准SIP协议之外,还支持媒体流数据包的加 密处理、ICE功能以及P2P功能在建立通信的信令控制交互过程中,P2P 客户端之间协商用于媒体流数据包加密的 一次性加密密钥;在建立通信的 信令控制交互之后,与另一P2P客户端之间进行ICE交互过程,为本次通 信寻找ICE方式点对点直通的媒体传输备选路径;在P2P网络中为本次通 信寻找经中继服务节点转发的媒体传输备选路径;当检测到自己满足成为 中继服务节点的条件时,P2P客户端申请加入P2P网络,为其它P2P客户 端提供中继服务。随着系统的不断扩展,客户端越来越多,同时提供中继 服务的中继服务节点也相应增加。
所述的信令控制服务器和媒体中继服务器均不具有P2P功能,即不加 入到P2P网络或从P2P网络中获取资源;所述的超级中继服务节点、STUN 服务节点均具有P2P功能,加入到P2P网络,为通信终端提供相应的服务, 部署在运行稳定的机器上。
2. P2P网络结构
如图2所示,所述P2P网络具有两层结构,即资源覆盖网络和服务覆 盖网络,其中资源覆盖网络为服务覆盖网络提供统一的资源存储、检索功 能;服务覆盖网络面向不同的服务类型,每种服务类型均形成一个独立的 覆盖网络,所有服务覆盖网络使用统一的资源覆盖网络访问接口发布和检 索服务信息。
P2P网络支持的服务类型包括中继服务和STUN服务,对于中继服务, P2P客户端需要在很短的时间内找到 一个可用的中继服务节点,而且此中继 服务节点到两个通信终端的延迟都应该比较小,因此必须充分挖掘中继服 务覆盖网络的拓扑信息,相应的资源覆盖网络釆用复杂的图模型,每个客 户端节点从资源覆盖网络获取大量的服务节点信息,按照一定的策略对其 进行筛选,并缓存部分可用的服务节点,并且客户端与中继服务节点之间 以及中继服务节点与中继服务节点之间周期性地交互信息;对于STUN服 务,因对实时性的要求不高,资源覆盖网络采用简单的图模型,每个P2P 客户端节点从资源覆盖网络获取STUN服务节点信息,缓存可用的STUN
服务节点。
3. P2P网络组成实体的协议层次结构
如图3所示,所述P2P客户端从上到下划分为SIP应用层、P2P服务 层和P2P访问层,三者相对独立,下层以动态链接库的形式为其上层提供 服务。
如图4和图5所示,所述超级中继服务节点及STUN服务节点从上到 下分别划分为P2P服务层和P2P访问层,两者相对独立,下层以动态链接 库的形式为其上层提供服务。
SIP应用层完成扩展SIP协议的控制,通过接口与P2P服务层交互,完 成对P2P网络资源的访问和使用。
P2P访问层为P2P服务层提供开放的、透明的资源覆盖网络访问接口, 被所有服务覆盖网络所共享,包括在资源覆盖网络中对服务资源进行存储 和检索。
P2P服务层抽象所有的P2P服务类型,服务类型之间相对独立,每种 服务类型按照功能角色不同分为服务层客户端逻辑和服务层服务器逻辑;
服务层客户端逻辑为SIP应用层提供访问服务资源的接口,具体功能 包括
1) 服务节点评价对服务节点进行连通性、有效性和性能检测;
2) 服务节点筛选按照既定策略对性能较好的服务节点进行择优选取;
3) 服务节点管理对服务节点进行多级缓存,动态、高效的管理服务 节点;
4) 自我评价机制对终端多项指标进行自我评价,包括NAT类型、 网络带宽、CPU能力及占用率、内存大小及使用率等;确定可以提供某种 服务时,向P2P网络自举成为服务节点;
5) 服务资源请求向服务节点请求特定的服务资源,为SIP应用层提 供月艮务。
'服务层服务器逻辑为P2P客户端提供特定的服务资源,具体功能包括: l)服务资源管理对本地的服务资源进行管理与统计,并对非正常释 放的服务资源进行回收,保证资源可以再利用,为服务层客户端逻辑提供
各种服务的实际承载能力;
2) 本地资源统计对本地CPU能力及占用率、内存大小及使用率以 及带宽参数进行收集、统计;
3) 提供资源服务响应'服务层客户端逻辑的服务资源请求,为之提供 相关服务。
4.系统实现方法 4.1实现方法综述
本发明支持P2P媒体传输的SIP软交换系统的实现方法具有以下步骤:
系统初始化信令控制服务器、媒体中继服务器、超级中继服务节点 和STUN服务节点启动并进行初始化;超级中继服务节点加入到中继服务 覆盖网络;STUN服务节点加入到STUN服务覆盖网络;
P2P客户端和普通客户端向信令控制服务器注册;信令控制服务器接受 客户端注册并更新用户信息数据库;
P2P客户端连接到中继服务覆盖网络和STUN服务覆盖网络;
P2P客户端进行自我评价,若评价通过则加入到中继服务覆盖网络,成 为中继服务节点;成为中继服务节点的P2P客户端等待来自其它P2P客户 端的中继资源请求,为之提供中继服务;
客户端之间通过控制信令交互建立通信会话信令控制服务器处理并 转发控制信令,为本次通信选择媒体中继服务器,提供一种经媒体中继服 务器转发的媒体传输备选路径;P2P客户端根据控制信令交互判断另 一客户 端是否具有P2P功能;
若通信双方均为P2P客户端,P2P客户端在上述控制信令交互中携带 ICE收集地址信息,并在控制信令交互之后进行ICE连通性检测,为本次 通信寻找ICE方式点对点直通的媒体传输备选路径;
若ICE连通性检测结果为没有实现局域网点对点直通,P2P客户端在 中继服务覆盖网络中为本次通信寻找经中继服务节点转发的媒体传输备选 路径;
P2P客户端主叫方对所有的媒体传输备选路径进行评价,选择性能最优 的媒体传输路径,P2P客户端双方切换媒体传输至最优的媒体传输路径;
切换到最优媒体传输路径之后,P2P客户端双方仍保留其它备选的媒体 传输路径,并周期性进行保活;
若当前传输路径失效而导致通话中断,P2P客户端双方切换到备选的媒 体传输路径;
通信会话结東,P2P客户端释放P2P网络媒体传输路径;信令控制服 务器释放经媒体中继服务器转发的媒体传输路径。 4.2主要功能实体的工作步骤 4.2.1信令控制服务器
l)初始化,包括设定IP地址,端口号等,初始化用户信息数据库;
2) 等待客户端的注册;
3) 接收到客户端注册后,更新用户信息数据库;
4) 等待接收客户端的通信请求;
5) 接收到客户端的通信请求,为本次通信选择媒体中继服务器,修改 通信请求,判断目的地并转发通信请求;
4.2.2媒体中继服务器
1) 初始化,包括设定IP地址,端口号等;
2) 等待接收信令控制服务器的中继请求;
3) 接收到信令控制服务器的中继请求,为通信会话分配中继地址和端 口号,中继通信双方的媒体流数据包;
4.2.3超级中继服务节点
1) 初始化,包括设定IP地址,端口号等;
2) 加入到中继服务覆盖网络;
3) 等待处理来自P2P客户端的中继请求;
4 )接收到P2P客户端的中继请求,为通信会话分配中继地址和端口号, 中继通信双方的媒体流数据包;
4.2.4 STUN服务节点
1) 初始化,包括设定IP地址,端口号等;
2) 加入到STUN服务覆盖网络;
3) 等待处理来自P2P客户端的STUN请求
4 )接收到P2P客户端的STUN请求,根据STUN请求的类型做出相应 的回应;
4.2.5 P2P客户端
l)初始化,包括设定IP地址,端口号等;
2 )注册使用SIP协议中的REGISTER消息向信令控制服务器注册;
3) 连接到中继服务覆盖网络从中继服务覆盖网络中获取多个中继服 务节点,并进行性能评价,按性能优先级排序保存在缓存中;
4) 连接到STUN服务覆盖网络从STUN服务覆盖网络中获取多个 STUN服务节点,并进行性能评价,按性能优先级排序保存在缓存中;
5 )自我评价评价P2P客户端本身是否符合成为中继服务节点的条件, 参见4.3部分,若评价通过则加入到中继服务覆盖网络,成为中继服务节点;
6 )成为中继服务节点的P2P客户端等待处理来自其它P2P客户端的中
继请求,为之提供中继服务;
7)与另一客户端进行通信会话交互过程使用INVITE消息,经信令 控制服务器处理转发,参见4.4部分;
4.3 P2P客户端自我评价机制
P2P客户端的中继服务层客户端逻辑进行自我评价过程,如图6和图1 所示,包括以下过程
14
对P2P客户端本身的多项指标进行检测;包括网络带宽、CPU能力及 占用率、内存大小及使用率等;
若满足设定的阈值,使用STUN服务检测P2P客户端本身是否处在NAT 之后;
若处在NAT之后,则使用STUN服务判断NAT的类型;
如果NAT的类型为全通性NAT(Full Cone NAT),则P2P客户端成为中
继服务节点,并加入到中继服务覆盖网络;
或者如果上述使用STUN服务检测P2P客户端本身是否处在NAT之后
的结果为不在NAT之后,则P2P客户端成为中继服务节点,并加入到中继
服务覆盖网络。
4.4通信会话交互过程
如图7所示,以P2P客户端UA-1和P2P客户端UA-2之间的通信会话 交互过程为例加以说明,步骤如下
1 ) P2P客户端主叫方UA-1和P2P客户端被叫方UA-2通过控制信令 INVITE/200OK/ACK消息的交互完成会话建立过程
信令控制服务器接收到INVITE消息后为此会话选择了一个媒体中继 服务器,在接收到INVITE消息和200OK消息后,向选定的媒体中继服务 器发送中继请求;媒体中继服务器为之分配中继端口,并将中继地址和端 口信息放入中继回应回送给信令控制服务器;信令控制服务器根据中继回 应修改INVITE消息和200OK消息SDP部分的媒体流地址及端口信息,并 转发INVITE消息和200OK消息;
P2P客户端主叫方UA-1将INVITE消息SDP部分的"i="参数设置为 "sipp2p"; P2P客户端被叫方UA-2将200OK消息SDP部分的"i="参数 设置^ "sipp2p"; P2P客户端主叫方UA-1和P2P客户端被叫方UA-2通过 检查INVITE/200OK消息SDP部分的"i="参数是否为"sipp2p"得知通 信对端具有P2P功能。
2 ) P2P客户端主叫方UA-1和P2P客户端被叫方UA-2分别在INVITE 和200OK消息SDP部分携带ICE收集到的地址信息,并在控制信令交互 之后进行ICE连通性检测;其中ICE收集到的地址信息按优先级从高到低 包括
发送和接收媒体流的本地地址和端口;
若发送和接收媒体流的本地地址是私网地址,还包括通过STUN协议 获得的NAT映射后地址。
3 )经过ICE连通性检测后,P2P客户端主叫方UA-1和P2P客户端被 叫方UA-2之间没有实现局域网直通,在中继服务覆盖网络中为本次通信寻 找经中继服务节点转发的媒体传输备选路径
4) P2P客户端主叫方UA-1对所有的备选路径进行评价,向备选路径 发送既定时间的测试数据流,计算测试数据流的丟包率、延迟及抖动等参
数,最终选择了 P2P网络传输路径,P2P客户端主叫方UA-1和P2P客户端 被叫方UA-2切换媒体传输到中继服务节点;
5 )媒体传输路径选定后,P2P客户端主叫方UA-1和P2P客户端被叫 方UA-2仍保留着其它备选的传输路径,并周期性进行保活, 一旦当前传输 路径失效而导致通话中断,可及时地切换到备选的媒体传输路径;
6) P2P客户端主叫方UA-1结東本通信会话,发送BYE消息到信令控 制服务器,并向P2P网络传输路径中的中继服务节点发送中继资源回收请 求,请求中继服务节点回收中继资源;信令控制服务器接收到BYE消息后, 向为此会话选定的媒体中继服务器发送拆除请求,请求媒体中继服务器回 收中继资源,并转发BYE消息到P2P客户端被叫方UA-2, P2P客户端被 叫方UA-2对BYE消息做出回应。
4.5 P2P网络传输路径的选择过程
如图8所示,所述P2P客户端在中继服务覆盖网络中为本次通信寻找 经中继服务节点转发的媒体传输备选路径,其中P2P客户端之间使用INFO 消息进行交互,步骤如下
1) P2P客户端主叫方UA-1的SIP应用层向P2P服务层请求目前可用 的中继服务节点,P2P服务层从中继服务节点缓存列表中按优先级选择多个 中继服务节点组成新的列表,并按综合评价值进行升序排序,返回到SIP 应用层;
2 )P2P客户端主叫方UA-1的SIP应用层构造第 一个INFO消息INFO-1, 将得到的中继服务节点信息填写到该消息的消息体中,发送该消息到P2P 客户端被叫方UA-2;
3) P2P客户端被叫方UA-2的SIP应用层接收到第一个INFO消息 INFO-l后,回送应答消息200OK给P2P客户端主叫方,并从第一个INFO 消息INFO-l的消息体部分得到待选的中继服务节点列表信息;
4 ) P2P客户端被叫方UA-2的SIP应用层请求P2P服务层对中继服务 节点列表中的所有中继服务节点进行综合评价,将取得的延迟值与P2P客 户端主叫方的延迟值相加作为服务节点新的延迟值,按优先级延迟值重新 排序;
5 )P2P客户端被叫方UA-2的SIP应用层构造第二个INFO消息INFO-2, 将新的中继服务节点列表信息填写到该消息的消息体中,发送该消息到P2P 客户端主叫方UA-1;
6 ) P2P客户端主叫方UA-1的SIP应用层接收到INFO-2消息后,回送 应答消息200OK给P2P客户端被叫方,并从第二个INFO消息INFO-2的 消息体部分得到经过P2P客户端双方评价的中继服务节点列表信息;
7) P2P客户端主叫方UA-1的SIP应用层取得上述中继服务节点列表 中的第一个中继服务节点,请求P2P服务层向该中继服务节点请求中继资 源;若请求成功,则构造第三个INFO消息INFO-3,将得到的中继资源信
息(包括中继服务节点的IP地址、服务控制端口、媒体中继端口等)填写
到该消息的消息体中,发送该消息到P2P客户端被叫方UA-2,转至步骤8 );
若请求不成功,则将该中继服务节点从中继服务节点列表中删除,重 复步骤7);若中继服务节点列表为空,则本次P2P网络传输路径的选择过 程失败, 一段时间后,重新开始P2P网络传输路径的选择过程;
8) P2P客户端被叫方UA-2的SIP应用层接收到第三个INFO消息 INFO-3后,回送应答消息200OK给P2P客户端主叫方,并从第三个INFO 消息INFO-3的消息体部分得到待选的中继服务节点信息,并向该中继服务 节点请求中继资源,若请求成功,则构造第四个INFO消息INFO-4,将得 到的中继资源信息(包括中继服务节点的IP地址、服务控制端口、媒体中 继端口等)填写到第四个INFO消息INFO-4的消息体中,发送第四个INFO 消息INFO-4到P2P客户端主叫方;若请求不成功,P2P客户端被叫方UA-2 不作任何操作;
9) P2P客户端主叫方UA-1的SIP应用层接收到第四个INFO消息 INFO-4后,回送应答消息200OK给P2P客户端li叫方,并从第四个INFO 消息INFO-4的消息体部分得到待选的中继服务节点信息;若在一定时间内 没有收到P2P客户端被叫方的第四个INFO消息INFO-4,则将待选的中继 服务节点从中继服务节点列表中删除,重复步骤7)。
4.6媒体流的安全传输
P2P客户端之间使用 一次性加密密钥对通信会话的媒体流数据包进行 加密。如图9所示,在通信会话建立过程中,P2P客户端之间完成一次性加 密密钥的安全传输,具体如下
1 ) P2P客户端主叫方产生为本次通信加密媒体流数据包的一次性加密 密钥(p),将主叫SIPURI的用户密码(sa)作为对称密钥对一次性加密密 钥进行加密,并在INVITE消息中扩展私有头域携带加密后的 一次性加密密 钥((p) sa)以及完整性验证信息(MD5 (p));
2)信令控制服务器从INVITE消息中取得加密后的一次性加密密钥, 用主叫SIPURI的用户密码(sa)对其进行解密(((p) sa) sa),再用被叫 SIPURI的用户密码(sb)对解密出来的一次性加密密钥进行加密,并将新 加密后的一次性加密密钥((p) sb)重新放入INVITE消息中转发到P2P 客户端被叫方;
3 ) P2P客户端被叫方从INVITE消息中取得加密后的一次性加密密钥 以及完整性验证信息,用被叫SIPURI的用户密码(sb)对加密后的一次性 加密密钥进行解密(((p) sb) sb),得到一次性加密密钥,并进行完整性验 证。
权利要求
1.一种支持P2P媒体传输的SIP软交换系统,其特征在于包括信令控制服务器、媒体中继服务器、超级中继服务节点、STUN服务节点以及P2P客户端或普通客户端,采用扩展SIP协议作为信令控制层的通信协议,由处于系统中心位置的信令控制服务器集中处理转发;媒体传输支持媒体中继服务器转发、ICE方式的点对点直通和P2P网络传输多条路径,其中信令控制服务器,为整个IP通信系统的控制中心,所有的SIP消息都经信令控制服务器转发;接收来自P2P客户端或普通客户端的注册请求,并将注册信息登记在信令控制服务器的数据库中;负责所有多媒体通信会话的建立、修改和拆除;负责为通信会话选择媒体中继服务器,提供一种经媒体中继服务器转发的媒体传输备选路径;媒体中继服务器,具有公网IP地址,处理来自信令控制服务器的中继请求,为通信会话分配中继端口,P2P客户端或普通客户端双方均将媒体数据包发送到中继端口,媒体中继服务器将来自于一方P2P客户端或普通客户端的媒体数据包转发到另一P2P客户端或普通客户端;超级中继服务节点,为一长期运行的中继服务节点,加入到P2P网络,作为P2P网络的Bootstrap节点;处理来自P2P客户端的中继请求,为通信会话分配中继端口,中继P2P客户端之间的媒体数据包;STUN服务节点,加入到P2P网络,作为P2P网络的Bootstrap节点;处理来自P2P客户端的STUN请求;P2P客户端,在建立通信的信令控制交互之后,与另一P2P客户端之间进行ICE交互过程,为本次通信寻找ICE方式点对点直通的媒体传输备选路径;在P2P网络中为本次通信寻找经中继服务节点转发的媒体传输备选路径;当检测到自己满足成为中继服务节点的条件时,P2P客户端申请加入P2P网络,为其它P2P客户端提供中继服务。
2. 按权利要求1所述的支持P2P媒体传输的SIP软交换系统,其特征 在于所述P2P网络具有两层结构,即资源覆盖网络和服务覆盖网络,其 中资源覆盖网络为服务覆盖网络提供统一的资源存储、检索功能;服务覆 盖网络面向不同的服务类型,每种服务类型均形成一个独立的覆盖网络, 所有服务覆盖网络使用统 一 的资源覆盖网络访问接口发布和检索服务信 息。
3.按权利要求2所述的支持P2P媒体传输的SIP软交换系统,其特征 在于P2P网络支持的服务类型包括中继服务和STUN服务,其中中继服 务的服务覆盖网络为无结构网络,每个P2P客户端节点从资源覆盖网络获 取大量的中继服务节点信息进行筛选,并缓存部分可用的服务节点,并且 P2P客户端与中继服务节点之间以及中继服务节点与中继服务节点之间周期性地交互信息;STUN服务的服务覆盖网络为无结构网络,每个P2P客 户端节点从资源覆盖网络获取STUN服务节点信息,缓存可用的STUN服 务节点。
4. 按权利要求1所述的支持P2P媒体传输的SIP软交换系统,其特征 在于所述P2P客户端从上到下划分为相对独立的SIP应用层、P2P服务 层和P2P访问层,下层为其上一层提供服务;P2P服务层抽象所有的P2P 服务类型,服务类型之间相对独立;所述超级中继服务节点及STUN服务节点从上到下分别划分为P2P服 务层和P2P访问层,下层为其上一层提供服务;P2P服务层抽象所有的P2P 服务类型,服务类型之间相对独立。
5. —种支持P2P媒体传输的SIP软交换系统的实现方法,其特征在于 具有以下步骤系统初始化信令控制服务器、媒体中继服务器、超级中继服务节点 和STUN服务节点启动并进行初始化;超级中继服务节点加入到中继服务 覆盖网络;STUN服务节点加入到STUN服务覆盖网络; P2P客户端和普通客户端向信令控制服务器注册; P2P客户端连接到中继服务覆盖网络和STUN服务覆盖网络; P2P客户端进行自我评价,若评价通过则加入到中继服务覆盖网络,成 为中继服务节点;客户端之间通过控制信令交互建立通信会话信令控制服务器处理并 转发控制信令,为本次通信选择媒体中继服务器,提供一种经媒体中继服 务器转发的媒体传输备选路径;P2P客户端根据控制信令交互判断另 一客户 端是否具有P2P功能;若通信双方均为P2P客户端,P2P客户端在中继服务覆盖网络中为本 次通信寻找经中继服务节点转发的P2P网络媒体传输备选路径;P2P客户端主叫方对所有的媒体传输备选路径进行评价,选择性能最优 的媒体传输路径,P2P客户端双方切换媒体传输至最优的媒体传输路径;P2P客户端双方仍保留其它备选的媒体传输路径;若当前传输路径失效而导致通话中断,P2P客户端双方切换到备选的媒 体传输路径;通信会话结東,P2P客户端释放P2P网络媒体传输路径;信令控制服 务器释放经媒体中继服务器转发的媒体传输路径。
6. 按权利要求5所述的支持P2P媒体传输的SIP软交换系统的实现方 法,其特征在于P2P客户端在建立通信会话的控制信令交互中,携带ICE 收集地址信息,并在控制信令交互之后进行ICE连通性检测,为本次通信 寻找ICE方式点对点直通的媒体传输备选路径。
7. 按权利要求5所述的支持P2P媒体传输的SIP软交换系统的实现方法,其特征在于所述的根据在会话建立过程中控制信令交互来判断另一 客户端是否具有P2P功能具体如下P2P客户端发起呼叫时,设置INVITE消息SDP部分的参数,用于表 明自己具有P2P功能;P2P客户端被叫方应答呼叫时,设置200OK消息SDP 部分的参数;P2P客户端主叫方检查200OK消息SDP部分的参数,即可判 断通信被叫方是否具有P2P功能;P2P客户端被叫方检查INVTE消息SDP 部分的参数,即可判断通信主叫方是否具有P2P功能。
8.按权利要求5所述的支持P2P媒体传输的SIP软交换系统的实现方 法,其特征在于所述P2P客户端在中继服务覆盖网络中为本次通信寻找 经中继服务节点转发的媒体传输备选路径,其中P2P客户端之间使用INFO 消息进行交互,步骤如下(1) P2P客户端主叫方从目前可用的中继服务节点中按优先级选择多个 中继服务节点组成新的列表;(2) P2P客户端主叫方构造第一个INFO消息,将得到的中继服务节点 信息填写到该消息中,发送该消息到P2P客户端被叫方;(3)P2P客户端被叫方接收到第一个INFO消息后,回送应答消息给P2P 客户端主叫方,并从第一个INFO消息中得到待选的中继服务节点列表信(4) P2P客户端被叫方对中继服务节点列表中的所有中继服务节点进行 综合评价,按优先级重新排序;(5) P2P客户端被叫方构造第二个INFO消息,将新的中继服务节点列 表信息填写到该消息中,发送该消息到P2P客户端主叫方;(6)P2P客户端主叫方接收到第二个INFO消息后,回送应答消息给P2P 客户端被叫方,并从第二个INFO消息中得到经过P2P客户端双方评价的 中继服务节点列表信息;(7) P2P客户端主叫方取得上述中继服务节点列表中的第一个中继服务 节点,向该中继服务节点请求中继资源;若请求成功,则构造第三个INFO 消息,将得到的中继资源信息填写到该消息中,发送该消息到P2P客户端 被叫方,转至步骤8);若请求不成功,则将该中继服务节点从中继服务节点列表中删除,重 复步骤7);若中继服务节点列表为空,则本次P2P网络传输路径的选择过 程失败, 一段时间后,重新开始P2P网络传输路径的选择过程;(8)P2P客户端被叫方接收到第三个INFO消息后,回送应答消息给P2P 客户端主叫方,并从第三个INFO消息中得到待选的中继服务节点信息,并 向该中继服务节点请求中继资源,若请求成功,则构造第四个INFO消息, 将得到的中继资源信息填写到第四个INFO消息中,发送第四个INFO消息 到P2P客户端主叫方;若请求不成功,P2P客户端被叫方不作任何操作;(9)P2P客户端主叫方接收到第四个INFO消息后,回送应答消息给P2P 客户端被叫方,并从第四个INFO消息中得到待选的中继服务节点信息;若 在一定时间内没有收到P2P客户端被叫方的第四个INFO消息,则将待选 的中继服务节点从中继服务节点列表中删除,重复步骤7)。
9. 按权利要求5所述的支持P2P媒体传输的SIP软交换系统的实现方 法,其特征在于所述P2P客户端主叫方对所有的备选路径进行评价具体 为P2P客户端主叫方向备选路径发送既定时间的测试数据流,计算测试数 据流的丢包率、延迟及抖动参数。
10. 按权利要求5所述的支持P2P媒体传输的SIP软交换系统的实现 方法,其特征在于P2P客户端之间使用一次性加密密钥对通信会话的媒体 流数据包进行加密,在通信会话建立过程中完成 一次性加密密钥的安全传
全文摘要
本发明涉及一种支持P2P媒体传输的SIP软交换系统及其实现方法,该系统包括信令控制服务器、媒体中继服务器、超级中继服务节点、STUN服务节点以及P2P客户端或普通客户端,采用扩展SIP协议作为信令控制层的通信协议,由处于系统中心位置的信令控制服务器集中处理转发;该方法包括系统初始化;向信令控制服务器注册;P2P客户端连接到中继服务覆盖网络和STUN服务覆盖网络,进行自我评价;客户端之间建立通信会话;当前传输路径失效而导致通话中断,P2P客户端双方切换到备选的媒体传输路径。本发明具有很好的可控性、可管理性、兼容性、可靠性及扩展性,有效改善了通信质量,实现网络负担的分散化,适应未来终端的要求。
文档编号H04L12/56GK101102310SQ20071001226
公开日2008年1月9日 申请日期2007年7月25日 优先权日2007年7月25日
发明者波 于, 丹 刘, 伟 张, 张秀武, 磊 杨, 林镜华, 贾军营, 雷为民 申请人:中国科学院沈阳计算技术研究所有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1