获取会话起始协议消息传输路径的方法及系统的制作方法

文档序号:7974902阅读:174来源:国知局
专利名称:获取会话起始协议消息传输路径的方法及系统的制作方法
技术领域
本发明涉及网络通信技术领域,具体涉及一种获取会话起始协议消息传输路径的方法及系统。
背景技术
SIP(Session Initiation Protocol,会话起始协议)是由IETF(国际互联网标准制定组织)制定的面向Internet会议和电话的信令协议。SIP是一个应用层的协议,可以建立、修改或者中止多媒体会话或者呼叫。
在基于SIP协议的网络中,为了保证网络的正常运行,运营商需要对各自域内的路由策略设置进行定期更新和优化。在进行更新和优化时,运营商需要进行以下处理工作(1)检查信令和介质路径的完备性;(2)检测环路;(3)优化路由策略。
如果运营商想要主动优化路由策略,并且想要定期在网络中维护路由策略,则需要发起测试呼叫,并请求来自被叫方的信息,以获得SIP消息穿越下游实体的路径。
SIP是一个应用层控制协议,它能够建立、修改、终止多媒体会话或者呼叫。SIP系统中的呼叫是通过INVITE邀请请求、成功响应和ACK确认请求的三次握手来实现的。即当主叫用户代理要发起呼叫时,它构造一个INVITE消息,并发送给被叫。被叫收到邀请后决定接受该呼叫,就回送一个成功响应(状态码为200)。主叫方收到成功响应后,向对方发送ACK请求。被叫收到ACK请求后,呼叫成功建立。
当前,在INVITE消息的消息头中,Via字段表示请求消息迄今为止经过的路径,因此主叫方可以通过该字段向被叫方提供有关入局SIP消息所穿越路径的信息。而被叫方向主叫方回应的成功响应消息中,则没有提供类似信息的字段,也就是说,无法向主叫方提供路径信息。

发明内容
本发明实施例提供一种获取会话起始协议消息传输路径的方法及系统,以解决现有技术不能向主叫方提供消息传输路径信息的问题,为运营商对网络的维护提供必要信息。
本发明实施例还提供一种获取会话起始协议消息传输路径的网络节点设备,以有效地获取会话起始协议消息传输路径。
为此,本发明实施例提供的技术方案如下一种获取会话起始协议消息传输路径的方法,包括以下步骤主叫方发起测试呼叫,并在呼叫请求消息中携带路径信息请求标志,所述标志表示要求被叫方返回会话起始协议消息传输路径信息;被叫方收到所述呼叫请求消息后向所述主叫方返回成功响应消息,并根据所述路径信息请求标志,将收到的呼叫请求消息包含在该成功响应消息中;主叫方根据收到的成功响应消息获取所述呼叫请求消息的传输路径。
一种获取会话起始协议消息传输路径的系统,包括主叫方节点、被叫方节点,其中,所述主叫方节点包括测试呼叫单元,用于向所述被叫方节点发起测试呼叫,并在呼叫请求消息中携带路径信息请求标志;路径信息获取单元,用于从主叫方节点接收的成功响应消息中获取出所述呼叫请求消息的传输路径;所述被叫方节点包括检测单元,用于检测所述被叫方节点接收到的消息类型;
消息构造单元,用于在所述检测单元检测到所述被叫方节点接收的呼叫请求消息中包含请求被叫方信息的字段时,将所述呼叫请求消息编辑到所述被叫方节点发送给所述主叫方节点的成功响应消息中。
一种网络节点设备,包括消息收发单元、呼叫请求消息构造单元、路径信息获取单元、检测单元,其中,消息收发单元,用于和网络中的其他节点设备进行消息交互,向所述其他节点设备发起测试呼叫,并接收来自所述其他节点设备的成功响应消息;检测单元,用于检测所述消息收发单元接收到的消息类型;路径信息获取单元,用于在所述检测单元检测到成功响应消息后,从该成功响应消息中获取出消息的传输路径;呼叫请求消息构造单元,用于构造所述消息收发单元发起测试呼叫所需的呼叫请求消息,并将请求被叫方信息的字段加入到所述呼叫请求消息中。
由以上本发明实施例提供的技术方案可以看出,本发明在基于SIP协议的网络中,由主叫方发起测试呼叫,并在呼叫请求消息中携带路径信息请求标志,要求被叫方返回SIP消息传输路径信息。被叫方收到该呼叫请求消息后向主叫方返回成功响应消息,并将收到的呼叫请求消息包含在该成功响应消息中,使主叫方获得呼叫请求消息在网络中穿越的路径,从而为运营商对各自域内的路由策略设置及主动维护提供必要的信息。


图1是本发明方法一个优选实施例的实现流程图;图2是本发明系统一个优选实施例的原理框图;图3是本发明网络节点设备第一实施例的原理框图;图4是本发明网络节点设备第二实施例的原理框图。
具体实施例方式
本发明实施例是基于SIP协议的网络中,由主叫方发起测试呼叫,并在呼叫请求消息中携带路径信息请求标志,要求被叫方返回SIP消息传输路径信息。被叫方收到该呼叫请求消息后向主叫方返回成功响应消息,并将收到的呼叫请求消息包含在该成功响应消息中,从而使主叫方获得呼叫请求消息在网络中穿越的路径。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和实施方式对本发明作进一步的详细说明。
首先,参照图1所示本发明一个实施例的实现流程,包括以下步骤步骤101主叫方发起测试呼叫,并在呼叫请求消息中携带路径信息请求标志。该标志表示要求被叫方返回SIP消息传输路径信息。
可以使用SIP协议的INVITE(邀请)消息发起测试呼叫。INVITE消息是呼叫处理周期中主叫方发送的第一条消息,它在SIP消息头中包含的信息,标识了主叫方、Call-ID、被叫方、呼叫顺序编号和其他一些内容。
除此之外,为了使被叫方能够得知需要向主叫方返回INVITE消息经过的路由信息,还需要在INVITE消息中携带路径信息请求标志。
SIP请求消息格式包括三部分起始行、消息头、消息体。其中,在请求消息中,起始行也称为请求行。而在响应消息中,起始行称为状态行。请求行中,首先是一个方法标记,然后是请求的URI(统一资源标识符)、协议版本。状态行中,首先是协议版本,然后是状态码及一些状态说明。SIP消息头由多个字段名称(Field)、字段值、描述信息组成。消息体则是要发送的消息内容部分。
SIP消息头中的字段主要有From、To、Call-ID、Cseq、Via、Contact、Require。其中,所有的请求和响应必须包含From字段、To字段,From字段指示请求的发起者;To字段指明请求的接收者;Call-ID用以唯一标识一个特定的邀请或标识某一客户的所有登记。Cseq为消息序号,Contact字段给出其后和用户直接通信的地址。
Via用以指示请求消息经历的路径,以防止请求消息产生环路,并确保响应消息和请求消息选择同样的路径。发起请求的客户必须将其自身的主机名或网络地址插入请求Via字段。在请求消息前传过程中,每个代理服务器必须将其自身地址作为一个新的Via字段加在已有的Via字段之前。代理客户端通过Require字段列出的选项标签,告知代理服务器处理请求时需要支持的选项,本字段为可选,但不可以被忽略。
为此,本发明实施例中在INVITE消息的消息头中携带路径信息请求标志,以表示要求被叫方返回SIP消息传输路径信息。
另外,为了不使测试呼叫给被叫方的其他消息处理产生影响,可以在Require字段的Supported标头中设置sipdiag字段,表示本次呼叫是测试呼叫,以使被叫方可以根据该字段将收到的呼叫请求消息包含在成功响应消息中立即返回给主叫方。
步骤102被叫方接收呼叫请求消息。
步骤103获取呼叫请求消息的消息头中的Require字段信息。
步骤104判断Require字段中是否带有路径信息请求标志。如果有,则进到步骤105;否则,进到步骤107。
步骤105向主叫方返回成功响应消息,并将收到的呼叫请求消息包含在该成功响应消息中。
在本发明实施例中,可以将收到的呼叫请求消息包含在2XX消息的消息体中发送给主叫方,从而使主叫方可以根据该消息获取呼叫请求消息的传输路径。
步骤106主叫方根据收到的成功响应消息获取所述呼叫请求消息的传输路径。
步骤107进行消息的其他相应处理流程。
下面举例说明进行测试呼叫过程中的消息格式。
请求消息(INVITE)INVITE sip:bob@example.com SIP/2.0
Via:SIP/2.0/TCP pc33.atlanta.com;branch=z9hG4bKnashds8Max-Forwards:70From:Alice<sip:alice@atlanta.example.com>;tag=9fxced76slTo:Bob<sip:bob@example.com>
Call-ID:3848276298220188511@client-alice.example.comCSeq:1INVITEContact:<sip:alice@client.atlanta.example.com>
Supported:sipdiagRequire:sipdiagContent-Type:application/sdpContent-Length:...
v=0o=user 2890844526 2890844526 IN IP4 client.example.coms=Session SDPc=IN IP4 client.example.comt=30344236190m=audio 49170 RTP/AVP0a=rtpmap:0 PCMU/8000上述请求消息的Require字段为sipdiag,为路径信息请求标志,被叫方收到该请求消息后,应向主叫方返回成功响应消息,并将收到的呼叫请求消息包含在该成功响应消息中。
响应消息(200 OK)SIP/2.0 200 OKVia:SIP/2.0/TCP server10.biloxi.combranch=z9hG4bK4b43c2ff8.1Via:SIP/2.0/TCP\bigbox3.site3.atlanta.com;branch=z9hG4bK77ef4c2312983.1\
;received=192.0.2.2Via:SIP/2.0/TCP pc33.atlanta.com;branch=z9hG4bKnashds8\;received=192.0.2.1From:Alice<sip:alice@example.com>;tag=9fxced76slTo:Bob<sip:bob@example.com>;tag=8321234356Call-ID: 3848276298220188511@client-alice.example.comCSeq:1INVITEContact:<sip:bob@client.biloxi.example.com>
Content-Type: multipart/mixed;boundary=″boundaryl″Content-Length:...
--boundarylContent-Type:application/sdpv=0o=alice 2890844527 2890844527 IN IP4 example.coms=Session SDPc=IN IP4 example.comt=30344236190m=audio 3456 RTP/AVP0a=rtpmap:0 PCMU/8000--boundarylContent-Type: message/sipfragINVITE sip:bob@client.biloxi.example.com SIP/2.0Via: SIP/2.0/TCP server10.biloxi.com;branch=z9hG4bK4b43c2ff8.1Via: SIP/2.0/TCP\
bigbox3.site3.atlanta.com;branch=z9hG4bK77ef4c2312983.1\;received=192.0.2.2Via: SIP/2.0/TCP pc33.atlanta.com;branch=z9hG4bKnashds8\;received=192.0.2.1Max-Forwards: 68From:Alice<sip:alice@atlanta.example.com>;tag=9fxced76slTo:Bob<sip:bob@example.com>
Call-ID:3848276298220188511@client-alice.example.comCSeq:1INVITEContact:<sip:alice@client.atlanta.example.com>
Supported:sipdiagRequire:sipdiagContent-Type:application/sdpContent-Length:...
--boundaryl-上述响应消息的消息体类型为sipfaag的消息体中包含了被叫方接收到的INVITE消息。
由上述实施例可见,利用本发明,可以在被叫方节点允许不等待被叫方明确接受的情况下接受主叫方的请求,因此可以使主叫方的域运营商在不打扰被叫方的情况下获得SIP请求消息穿越的路径信息。接收到INVITE消息后,被叫侧UA(User Agent,用户代理)分析INVITE请求中的“Via”信息,从而获得所需的路径信息。如果运营商发现该路径不同最佳路径,可以修改域中的路由策略,优化路由策略,更好地保证网络中呼叫路由的畅通。
参照图2,图2是本发明系统一个优选实施例的原理框图在该实施例中,本发明系统包括主叫方节点11和被叫方节点12。在实际应用中,主叫方节点11和被叫方节点12之间还可以有其他的节点设备,主叫方节点11和被叫方节点12的交互消息通过这些其他的节点设备进行转发。
主叫方节点11包括测试呼叫单元111、路径信息获取单元112。其中,测试呼叫单元111用于向被叫方节点12发起测试呼叫,并在呼叫请求消息中携带路径信息请求标志,该标志表示要求被叫方返回SIP消息传输路径信息;路径信息获取单元112用于从主叫方节点接收的成功响应消息中获取出所述呼叫请求消息的传输路径。
被叫方节点12包括检测单元121、消息构造单元122。其中,检测单元121用于检测被叫方节点接收的呼叫请求消息的类型;消息构造单元122用于在检测单元检测到被叫方节点接收的呼叫请求消息中包含请求被叫方信息的字段时,将所述呼叫请求消息编辑到被叫方节点发送给主叫方节点的成功响应消息中。
该系统的工作过程如下当主叫方节点需要获取SIP消息的传输路径时,由测试呼叫单元向被叫方节点发起测试呼叫,在该测试呼叫的呼叫请求消息中携带路径信息请求标志。比如,前面对本发明方法实施例的描述中提到的INVITE消息,在其消息头中携带路径信息请求标志,以表示要求被叫方返回SIP消息传输路径信息。另外,为了不使测试呼叫给被叫方的其他消息处理产生影响,将Require字段的Supported标头中的sipdiag字段设置为测试呼叫方式,以便被叫方节点可以根据该字段将收到的呼叫请求消息包含在成功响应消息中返回给主叫方。根据实际需要,主叫方节点可以定时发起测试呼叫,也可以周期发起测试呼叫。
被叫方节点收到呼叫请求消息后,由检测单元121检测被叫方节点接收的呼叫请求消息的类型,获取该呼叫请求消息的消息头中的信息。如果检测到主叫方发送的是测试呼叫,并请求了路径信息,则通知消息构造单元122将该呼叫请求消息编辑到被叫方节点发送给主叫方节点的成功响应消息中,比如将INVITE消息全部或只将Via字段中的信息编辑到该成功响应消息的消息体中。然后,被叫方节点将该成功响应消息发送给主叫方节点。
主叫方节点收到被叫方节点的成功响应消息后,由路径信息获取单元112该成功响应消息中获取出呼叫请求消息的传输路径,即INVITE消息中的Via字段信息。这样,主叫方节点就可以得到呼叫请求消息的传输路径,为网络运营商对网络的维护提供必要的信息。
图3是本发明网络节点设备第一实施例的原理框图该设备包括消息收发单元31、呼叫请求消息构造单元32、路径信息获取单元112、检测单元121,其中,消息收发单元31用于和网络中的其他节点设备进行消息交互,向其他节点设备发起测试呼叫,并接收来自其他节点设备的成功响应消息;检测单元121用于检测消息收发单元接收到的消息类型;路径信息获取单元112用于在检测单元检测到成功响应消息后,从该成功响应消息中获取出消息的传输路径;呼叫请求消息构造单元32用于构造消息收发单元发起测试呼叫所需的呼叫请求消息,并将请求被叫方信息的字段加入到所述呼叫请求消息中。
除此之外,在本实施例中,本发明设备还包括响应消息构造单元33,用于在检测单元检测到呼叫请求消息、并且该呼叫请求消息中包含请求被叫方信息的字段时,构造消息收发单元需要回应的成功响应消息,将呼叫请求消息全部或部分包含到该成功响应消息中。
该节点设备可以作为主叫方向网络中的其他节点设备发起呼叫,也可以作为被叫方接收来自网络中其他节点的呼叫。
作为主叫方获取SIP消息传输路径或者作为被叫方向其他主叫节点设备提供SIP消息传输路径的详细过程如下本节点设备需要发起测试呼叫,首先由呼叫请求消息构造单元构造呼叫请求消息,在构造呼叫请求消息时,需要将路径信息请求标志加入到该呼叫请求消息中,为了保证不对目的节点设备产生影响,还可以将INVITE消息字段设置为测试呼叫方式,具体实现可参照前面本发明方法实施例中的描述。然后,将构造的呼叫请求消息交给消息收发单元。消息收发单元向被叫节点设备发送该呼叫请求消息,发起测试呼叫。
被叫节点设备的消息收发单元接收到该呼叫请求消息后,由被叫节点设备的检测单元检测该消息,如果发现该消息为测试呼叫消息,并且包含了路径信息请求标志时,通知被叫节点设备中的响应消息构造单元构造成功响应消息,将呼叫请求消息全部或部分包含到该成功响应消息中。然后,将该成功响应消息交给消息收发单元,由消息收发单元将该消息回应给发起测试呼叫的节点设备。
发起测试呼叫的节点设备的消息收发单元接收来自被叫设备的消息,当其检测单元检测到被叫节点设备回应的成功响应消息后,通知路径信息获取单元获取出该成功响应消息中的呼叫请求消息传输路径信息。这样,即完成了本次测试呼叫的目的。
图4是本发明网络节点设备第二实施例的原理框图与图3所示实施例不同的是,在该实施例中,增加了路由存储单元41和路由维护单元42。其中,路由存储单元41用于存储网络中的路由信息;路由维护单元42与路径信息获取单元相连,用于根据路径信息获取单元获取的呼叫请求消息的传输路径信息,更新路由存储单元中存储的路由信息。
在实际应用中,可以预先设定一些路由更新及优化策略,以使路由维护单元32利用该策略自动更新路由存储单元中存储的路由信息,保证网络路由的畅通,为用户提供更好的服务。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。
权利要求
1.一种获取会话起始协议消息传输路径的方法,其特征在于,包括以下步骤主叫方发起测试呼叫,并在呼叫请求消息中携带路径信息请求标志,所述标志表示要求被叫方返回会话起始协议消息传输路径信息;被叫方收到所述呼叫请求消息后根据所述路径信息请求标志,将收到的呼叫请求消息全部或部分包含在成功响应消息中,并将所述成功响应消息返回给主叫方;主叫方根据收到的成功响应消息获取所述呼叫请求消息的传输路径。
2.根据权利要求1所述的方法,其特征在于,所述呼叫请求消息具体为会话起始协议邀请INVITE消息,其消息头的Require字段中带有所述路径信息请求标志。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括将所述INVITE消息的消息头中的sipdiag字段设置为测试呼叫方式。
4.根据权利要求3所述的方法,其特征在于,在所述被叫方收到所述呼叫请求消息后向所述主叫方返回成功响应消息的步骤之前还包括所述被叫方获取所述呼叫请求消息的消息头中的sipdiag字段信息;在该sipdiag字段信息为测试呼叫方式时,向所述被叫方返回成功响应消息。
5.根据权利要求2所述的方法,其特征在于,所述被叫方收到所述呼叫请求消息后向所述主叫方返回成功响应消息之前还包括所述被叫方确认所述呼叫请求消息的消息头中的Require字段信息中带有所述路径信息请求标志。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述成功响应消息具体为会话起始协议的200 OK消息。
7.根据权利要求1所述的方法,其特征在于,所述被叫方将收到的呼叫请求消息包含在所述成功响应消息的消息体中。
8.一种获取会话起始协议消息传输路径的系统,包括主叫方节点、被叫方节点,其特征在于,所述主叫方节点包括测试呼叫单元,用于向所述被叫方节点发起测试呼叫,并在呼叫请求消息中携带路径信息请求标志;路径信息获取单元,用于从主叫方节点接收的成功响应消息中获取出所述呼叫请求消息的传输路径;所述被叫方节点包括检测单元,用于检测所述被叫方节点接收到的消息类型;消息构造单元,用于在所述检测单元检测到所述被叫方节点接收的呼叫请求消息中包含请求被叫方信息的字段时,将所述呼叫请求消息编辑到所述被叫方节点发送给所述主叫方节点的成功响应消息中。
9.一种网络节点设备,其特征在于,包括消息收发单元、呼叫请求消息构造单元、路径信息获取单元、检测单元,其中,消息收发单元,用于和网络中的其他节点设备进行消息交互,向所述其他节点设备发起测试呼叫,并接收来自所述其他节点设备的成功响应消息;检测单元,用于检测所述消息收发单元接收到的消息类型;路径信息获取单元,用于在所述检测单元检测到成功响应消息后,从该成功响应消息中获取出消息的传输路径;呼叫请求消息构造单元,用于构造所述消息收发单元发起测试呼叫所需的呼叫请求消息,并将请求被叫方信息的字段加入到所述呼叫请求消息中。
10.根据权利要求9所述的网络节点设备,其特征在于,还包括响应消息构造单元,用于在所述检测单元检测到呼叫请求消息、并且该呼叫请求消息中包含请求被叫方信息的字段时,构造所述消息收发单元需要回应的成功响应消息,将所述呼叫请求消息编辑到该成功响应消息中。
11.根据权利要求9或10所述的网络节点设备,其特征在于,还包括路由存储单元,用于存储网络中的路由信息;路由维护单元,与所述路径信息获取单元相连,用于根据所述路径信息获取单元获取的呼叫请求消息的传输路径信息,更新所述路由存储单元中存储的路由信息。
全文摘要
本发明公开了一种获取会话起始协议消息传输路径的方法,包括主叫方发起测试呼叫,并在呼叫请求消息中携带路径信息请求标志,所述标志表示要求被叫方返回会话起始协议消息传输路径信息;被叫方收到所述呼叫请求消息后根据所述路径信息请求标志,将收到的呼叫请求消息全部或部分包含在成功响应消息中,并将所述成功响应消息返回给主叫方;主叫方根据收到的成功响应消息获取所述呼叫请求消息的传输路径。本发明还公开了一种获取会话起始协议消息传输路径的系统和一种网络节点设备。利用本发明,可以使主叫方获得呼叫请求消息在网络中穿越的路径,从而为运营商对各自域内的路由策略设置及主动维护提供必要的信息。
文档编号H04L12/18GK1988546SQ200610168029
公开日2007年6月27日 申请日期2006年12月15日 优先权日2006年12月15日
发明者梁亮 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1