专利名称:在sip会话中修改媒体能力的方法及sip中继网关的制作方法
技术领域:
本发明涉及会话发起协议(SIP,Session Initiation Protocol)技术领域,具体涉及在SIP会话中修改媒体能力的方法及SIP中继网关。
背景技术:
随着企业内支持会话发起协议(SIP,Session Initiation Protocol)的IP电话交换机(IP_PBX,IP based Private Branch Exchange)的大量部署以及通过SIP协议提供语音通信基础架构的因特网电话运营商(ITSP,Internet Telephone Service Provider) 的逐渐增多,企业迫切需要一种能提供类似于传统公共交换电话网(PSTN,Public Switched Telephone Network)中继线路的SIP中继技术来使企业IP-PBX与外部的ITSP 之间能够通过该中继进行直接互连。企业全网IP化不再需要部署和维护传统的PSTN网络, 企业所有外出通信都通过该中继交由ITSP。这种基于SIP的中继技术即SIP Trunk.SIP Trunk提供了一种类似于传统PSTN中继的虚拟SIP中继来使企业IP-PBX与外部的ITSP之间通过IP进行直接互连。在这种网络架构中,企业所有的外部呼叫均通过该SIP中继路由到ITSP来完成。外部ITSP通过该SIP Trunk的虚拟中继线路对企业提供服务。图1给出了现有的SIP Trunk的典型应用场景图,如图1所示,其中,SIP中继网关(TG,Trunk Gateway)即用于企业内部通信和企业外部通信的中继网关设备。其具有支持SIP2SIP的信令中继转发和实时传输协议(RTP, Real-time Transport Protocol) 2RTP 的媒体流中继转发功能。作为两个网络的中间设备,TG需要对主被叫进行彼此地址隐藏,故对于收到的 SIP消息,TG需要将SIP消息头的源地址和SIP消息中的会议描述协议(SDP,Session Description Protocol)消息体的源地址都修改为TG自己的地址,然后再转发该SIP消息。在基于SDP媒体能力集协商的RTP通道的建立过程上,TG存在如下几种处理方式1、透传模式所谓透传模式,就是对于主被叫发来的SIP消息中的SDP消息体,TG只修改SDP消息体中的源地址,不修改SDP消息体中的媒体能力信息,即不参与主被叫的SDP媒体能力协商,而是向主被叫透传彼此在SDP消息体中所携带的媒体能力信息,由主被叫自己进行媒体能力协商。对于从主、被叫收到的RTP报文,TG仅仅向对端转发。2、转换模式所谓转换模式,就是对于主、被叫发来的SIP消息,TG不但修改SDP消息体中的源地址,而且还可以根据用户的设置,对收到的SIP消息及其中的SDP媒体能力信息进行重新组织后产生新的报文,然后向对端发送。和透传模式相比,其好处是可以对媒体能力协商时机和采用的媒体能力进行管理和过滤控制。在SIP会话建立后,会话一端可能会要求对当前使用的媒体能力进行修改,此时,会向对端发送重邀请(ReIrwite)消息,该消息可能携带SDP消息体,也可能不携带SDP消息体。但是,目前为了保证呼叫和计费安全,大多数ITSP服务器不允许在已经建立的SIP 会话中发送不带SDP媒体能力信息的Rehvite消息来对当前使用的媒体能力进行修改,在这种情况下,TG通常采用转换模式,以在收到不携带SDP消息体的Rehvite消息后进行适配处理。由于在采用转换模式进行SDP媒体能力协商的过程中,TG分别控制与主、被叫的媒体能力协商,会存在三者不存在媒体能力交集导致呼叫无法建立的情况;另外,TG分别与主、被叫进行SDP媒体能力协商,在这个过程中,TG和主、被叫协商出来的媒体能力还可能不一致,此时还需要TG对从一端收到的不同类型的RTP报文进行编解码转换后再向另一端发送,这样TG还需要支持异构编解码报文的转换能力,对设备硬件要求较高,对呼叫性能也有影响。
发明内容
本发明提供在SIP会话中修改媒体能力的方法及SIP中继网关,以保证在SIP会话中通过不携带SDP媒体能力的媒体能力修改消息能够成功修改媒体能力。本发明的技术方案是这样实现的一种在会话发起协议SIP会话中修改媒体能力的方法,应用于具有支持SIP的IP 电话交换机IP-PBX的企业网与通过SIP提供语音通信基础架构的因特网业务提供商ITSP 网络间的SIP会话中,该方法包括SIP中继网关接收发起方发来的SIP会话建立请求消息,向目标方发送媒体能力请求消息,接收并记录目标方返回的目标方的媒体能力集;或者,SIP中继网关接收发起方发来的SIP会话建立完成确认消息,向目标方发送媒体能力请求消息,接收并记录目标方返回的目标方的媒体能力集;SIP中继网关接收目标方发来的不带媒体能力信息的媒体能力修改消息,将记录的目标方的媒体能力集放入所述媒体能力修改消息中,将该媒体能力修改消息转发给发起方,并将发起方发送的携带媒体能力的响应消息转发给目标方,其中发起方发送的响应消息中携带的媒体能力是从目标方的媒体能力集中选择的一个或多个媒体能力。所述媒体能力请求消息为SIP选项消息。所述SIP中继网关接收目标方发来的不带媒体能力信息的媒体能力修改消息为SIP中继网关接收目标方发来的不带会话描述协议SDP消息体的SIP重邀请消息。所述SIP中继网关接收发起方发来的SIP会话建立请求消息为SIP中继网关接收发起方发来的SIP邀请消息。所述SIP中继网关接收发起方发来的SIP会话建立完成确认消息为SIP中继网关接收发起方发来的指示SIP会话建立完成的SIP确认消息。一种SIP中继网关,包括媒体能力请求模块接收发起方发来的SIP会话建立请求消息,向目标方发送媒体能力请求消息,接收并记录目标方返回的目标方的媒体能力集;媒体能力修改处理模块接收目标方发来的不带媒体能力信息的媒体能力修改消息,将媒体能力请求模块记录的目标方的媒体能力集放入所述媒体能力修改消息中,将该媒体能力修改消息转发给发起方。所述媒体能力请求消息为SIP选项消息。所述不带媒体能力信息的媒体能力修改消息为不带会话描述协议SDP消息体的 SIP重邀请消息。所述SIP会话建立请求消息为SIP邀请消息。一种SIP中继网关,包括媒体能力请求模块接收发起方发来的SIP会话建立完成确认消息,向目标方发送媒体能力请求消息,接收并记录目标方返回的目标方的媒体能力集;媒体能力修改处理模块接收目标方发来的不带媒体能力信息的媒体能力修改消息,将媒体能力请求模块记录的目标方的媒体能力集放入所述媒体能力修改消息中,将该媒体能力修改消息转发给发起方。所述媒体能力请求消息为SIP选项消息。所述不带媒体能力信息的媒体能力修改消息为不带会话描述协议SDP消息体的 SIP重邀请消息。所述SIP会话建立完成确认消息为指示SIP会话建立完成的SIP确认消息。与现有技术相比,本发明中,当SIP中继网关接收到发起方发来的SIP会话建立请求消息或SIP会话建立完成确认消息,向目标方获取目标方的媒体能力集,此后,当SIP中继网关接收到目标方发来的不带媒体能力信息的媒体能力修改消息时,将目标方的媒体能力集放入所述媒体能力修改消息中,从而避免了向ITSP网络发送不带媒体能力信息的媒体能力修改消息,同时使得发起方能够获得目标方的媒体能力集,保证了媒体能力修改成功完成。
图1为现有的SIP Trunk的典型应用场景图;图2为本发明实施例一提供的在SIP会话中修改媒体能力的方法流程图;图3为本发明实施例二提供的在SIP会话中修改媒体能力的方法流程图;图4为本发明实施例一提供的SIP中继网关的组成示意图。
具体实施例方式下面结合附图及具体实施例对本发明再作进一步详细的说明。图2为本发明实施例一提供的在SIP会话中修改媒体能力的方法流程图,如图2 所示,其具体步骤如下步骤201 发起方向SIP中继网关(TG)发送SIP邀请(Invite)消息,该消息的SDP 消息体中携带发起方提供的发起方媒体能力。发起方可能是具有支持SIP的IP-PBX的企业网内的终端,或者是通过SIP提供语音通信基础架构的ITSP网内的终端;目标方可能是通过SIP协议提供语音通信基础架构的 ITSP网内的终端,或者是具有支持SIP的IP-PBX的企业网内的终端。步骤202 :TG接收SIP Invite消息,根据消息中的目标方地址,向目标方发送SIP 选项(OPTIONS)消息,以请求获取目标方的媒体能力集。
这里的SIP OPTIONS消息可以使用SIP基本协议RFC3^1中提出的SIP0PTI0NS消息。步骤203 目标方接收SIP OPTIONS消息,向TG返回SIP 200响应(Ok)消息,该消息的SDP消息体中携带目标方的媒体能力集。步骤204 =TG接收SIP 2000k消息,从该消息的SDP消息体中获取目标方的媒体能力集。步骤205 =TG将SIP Invite消息转发给目标方。步骤206 目标方接收SIP ^ivite消息,通过TG向发起方返回SIP 180振铃 (Ringing)消息;同时,在SIP ^wite消息携带的发起方媒体能力集中选择一个或多个本目标方支持的媒体能力,将选择的媒体能力作为本目标方应答的媒体能力放入SIP 2000k 消息中,将SIP 2000k消息通过TG返回给发起方。步骤207 发起方接收SIP 2000k消息,记录该消息携带的目标方应答的媒体能力,通过TG向目标方返回SIP确认(Ack)消息。此后,发起方和目标方采用步骤206中的SIP 2000k消息中的媒体能力传输媒体流。步骤208 目标方要修改当前使用的媒体能力,向发起方发送SIP Rehvite消息, 该消息不携带SDP消息体。步骤209 =TG接收SIP ReInvite消息,发现该消息不携带SDP消息体,则将步骤 204中获取的目标方的媒体能力集作为目标方提供的媒体能力构造SDP消息体,将该SDP消息体放入SIP Rehvite消息中,将SIP Rehvite消息转发给发起方。步骤210 发起方接收SIP ReInvite消息,从SDP消息体的媒体能力集中选择一个或多个本发起方支持的媒体能力,将选择的媒体能力作为本发起方应答的媒体能力放入 SIP 200 Ok消息的SDP消息体中,将SIP 200 Ok消息发送给TG。步骤211 :TG接收SIP 200 Ok消息,将SDP消息体中的媒体能力作为发起方提供的媒体能力,将SIP 200 Ok消息转发给目标方。步骤212 目标方接收SIP 200 Ok消息,记录SIP消息体中的媒体能力,同时将 SIP 200 Ok消息的SDP消息体中的媒体能力作为本目标方应答的媒体能力放入SIP Ack消息的SDP消息体中,向TG返回该SIP Ack消息。此后,目标方与发起方使用步骤212中的SIP 200 Ok消息中的媒体能力传输媒体流。步骤213 =TG接收SIP Ack消息,向发起方转发SIP Ack消息。TG向发起方转发的SIP Ack消息可不携带SDP消息体。图3为本发明实施例二提供的在SIP会话中修改媒体能力的流程图,如图3所示, 其具体步骤如下步骤301 发起方向TG发送SIP Invite消息,该消息的SDP消息体中携带发起方提供的发起方媒体能力集。发起方可能是具有支持SIP的IP-PBX的企业网内的终端,或者是通过SIP提供语音通信基础架构的ITSP网内的终端;目标方可能是通过SIP协议提供语音通信基础架构的 ITSP网内的终端,或者是具有支持SIP的IP-PBX的企业网内的终端。
步骤302 :TG接收SIP Invite消息,将SIP Invite消息转发给目标方。步骤303 目标方接收SIP hvite消息,通过TG向发起方返回SIP 180Ringing消息;同时,在SIP Invite消息携带的发起方媒体能力集中选择一个或多个本目标方支持的媒体能力,将该媒体能力作为本目标方应答的媒体能力放入SIP 200 Ok消息中,将SIP 200 Ok消息通过TG返回给发起方。步骤304:发起方接收SIP 200 Ok消息,记录该消息携带的目标方应答的媒体能力,向TG返回SIP Ack消息。步骤305 :TG接收SIP Ack消息,将该SIP Ack消息转发给目标方,同时,根据SIP Ack消息中的目标方地址,向目标方发送SIP OPTIONS消息,以请求获取目标方的媒体能力集。此后,发起方和目标方采用步骤303中的SIP 200 Ok消息中的媒体能力传输媒体流。步骤306 目标方接收SIP OPTIONS消息,向TG返回SIP 200 Ok消息,该消息的 SDP消息体中携带目标方的媒体能力集。步骤307 =TG接收SIP 200 Ok消息,从该消息的SDP消息体中获取目标方的媒体能力集。步骤308 目标方要修改当前使用的媒体能力,向发起方发送SIP Rehvite消息, 该消息不携带SDP消息体。步骤309 =TG接收SIP ReInvite消息,发现该消息不携带SDP消息体,则将步骤 307中获取的目标方的媒体能力集作为目标方提供的媒体能力构造SDP消息体,将该SDP消息体放入SIP Rehvite消息中,将SIP Rehvite消息转发给发起方。步骤310 发起方接收Rehvite消息,从SDP消息体的媒体能力集中选择一个或多个本发起方支持的媒体能力,将该媒体能力作为本发起方应答的媒体能力放入SIP 200 Ok消息的SDP消息体中,将SIP 200 Ok消息发送给TG。步骤311 :TG接收SIP 200 Ok消息,将SDP消息体中的媒体能力作为发起方提供的媒体能力,将SIP 200 Ok消息转发给目标方。步骤312 目标方接收SIP 200 Ok消息,记录SIP消息体中的媒体能力,同时将 SIP 200 Ok消息的SDP消息体中的媒体能力作为本目标方应答的媒体能力放入SIP Ack消息的SDP消息体中,向TG返回该SIP Ack消息。此后,目标方与发起方使用步骤311中的SIP 200 Ok消息中的媒体能力传输媒体流。步骤313 =TG接收SIP Ack消息,向发起方转发SIP Ack消息。TG向发起方转发的SIP Ack消息可不携带SDP消息体。图4为本发明实施例一提供的SIP中继网关的组成示意图,如图4所示,其主要包括媒体能力请求模块41和媒体能力修改处理模块42,其中媒体能力请求模块41 接收发起方发来的SIP Invite消息,向目标方发送SIP OPTIONS消息,接收目标方返回的SIP 200 Ok消息,从SIP 200 Ok消息的SDP消息体中获取并记录目标方的媒体能力集。媒体能力修改处理模块42 接收目标方发来的不带SDP消息体的SIPRehvite消息,利用媒体能力请求模块41记录的目标方的媒体能力集构造SDP消息体,将该SDP消息体放入SIP ReInvite消息中,将SIP ReInvite消息转发给发起方。以下给出本发明实施例二提供的SIP中继网关的组成示意图,其主要包括媒体能力请求模块和媒体能力修改处理模块,其中媒体能力请求模块接收发起方发来的指示SIP会话建立完成的SIP Ack消息,向目标方发送SIP OPTIONS消息,接收目标方返回的SIP 200 Ok消息,从该SIP 200 Ok消息的SDP消息体中获取并记录目标方的媒体能力集。媒体能力修改处理模块接收目标方发来的不带SDP消息体的SIP ReInvite消息,利用媒体能力请求模块记录的目标方的媒体能力集构造SDP消息体,将该SDP消息体放入SIP ReInvite消息中,将SIP ReInvite消息转发给发起方。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
9
权利要求
1.一种在会话发起协议SIP会话中修改媒体能力的方法,应用于具有支持SIP的IP电话交换机IP-PBX的企业网与通过SIP提供语音通信基础架构的因特网业务提供商ITSP网络间的SIP会话中,其特征在于,该方法包括SIP中继网关接收发起方发来的SIP会话建立请求消息,向目标方发送媒体能力请求消息,接收并记录目标方返回的目标方的媒体能力集;或者,SIP中继网关接收发起方发来的SIP会话建立完成确认消息,向目标方发送媒体能力请求消息,接收并记录目标方返回的目标方的媒体能力集;SIP中继网关接收目标方发来的不带媒体能力信息的媒体能力修改消息,将记录的目标方的媒体能力集放入所述媒体能力修改消息中,将该媒体能力修改消息转发给发起方, 并将发起方发送的携带媒体能力的响应消息转发给目标方,其中发起方发送的响应消息中携带的媒体能力是从目标方的媒体能力集中选择的一个或多个媒体能力。
2.根据权利要求1所述的方法,其特征在于,所述媒体能力请求消息为SIP选项消息。
3.根据权利要求1所述的方法,其特征在于,所述SIP中继网关接收目标方发来的不带媒体能力信息的媒体能力修改消息为SIP中继网关接收目标方发来的不带会话描述协议SDP消息体的SIP重邀请消息。
4.根据权利要求1所述的方法,其特征在于,所述SIP中继网关接收发起方发来的SIP 会话建立请求消息为SIP中继网关接收发起方发来的SIP邀请消息。
5.根据权利要求1所述的方法,其特征在于,所述SIP中继网关接收发起方发来的SIP 会话建立完成确认消息为SIP中继网关接收发起方发来的指示SIP会话建立完成的SIP确认消息。
6.一种SIP中继网关,其特征在于,包括媒体能力请求模块接收发起方发来的SIP会话建立请求消息,向目标方发送媒体能力请求消息,接收并记录目标方返回的目标方的媒体能力集;媒体能力修改处理模块接收目标方发来的不带媒体能力信息的媒体能力修改消息, 将媒体能力请求模块记录的目标方的媒体能力集放入所述媒体能力修改消息中,将该媒体能力修改消息转发给发起方。
7.根据权利要求6所述的SIP中继网关,其特征在于,所述媒体能力请求消息为SIP选项消息。
8.根据权利要求6所述的SIP中继网关,其特征在于,所述不带媒体能力信息的媒体能力修改消息为不带会话描述协议SDP消息体的SIP重邀请消息。
9.根据权利要求6所述的SIP中继网关,其特征在于,所述SIP会话建立请求消息为 SIP邀请消息。
10.一种SIP中继网关,其特征在于,包括媒体能力请求模块接收发起方发来的SIP会话建立完成确认消息,向目标方发送媒体能力请求消息,接收并记录目标方返回的目标方的媒体能力集;媒体能力修改处理模块接收目标方发来的不带媒体能力信息的媒体能力修改消息, 将媒体能力请求模块记录的目标方的媒体能力集放入所述媒体能力修改消息中,将该媒体能力修改消息转发给发起方。
11.根据权利要求10所述的SIP中继网关,其特征在于,所述媒体能力请求消息为SIP 选项消息。
12.根据权利要求10所述的SIP中继网关,其特征在于,所述不带媒体能力信息的媒体能力修改消息为不带会话描述协议SDP消息体的SIP重邀请消息。
13.根据权利要求10所述的SIP中继网关,其特征在于,所述SIP会话建立完成确认消息为指示SIP会话建立完成的SIP确认消息。
全文摘要
本发明公开了在SIP会话中修改媒体能力的方法及SIP中继网关。方法包括SIP中继网关接收发起方发来的SIP会话建立请求消息或者SIP会话建立完成确认消息,向目标方发送媒体能力请求消息,接收并记录目标方返回的目标方的媒体能力集;SIP中继网关接收目标方发来的不带媒体能力信息的媒体能力修改消息,将目标方的媒体能力集放入媒体能力修改消息中,将媒体能力修改消息转发给发起方。本发明使得在SIP会话中通过不携带SDP媒体能力的媒体能力修改消息能够成功修改媒体能力。
文档编号H04L12/66GK102387124SQ20101027235
公开日2012年3月21日 申请日期2010年9月2日 优先权日2010年9月2日
发明者曲进 申请人:杭州华三通信技术有限公司