CN101267426A - 会话初始协议路由优化方法 - Google Patents
会话初始协议路由优化方法 Download PDFInfo
- Publication number
- CN101267426A CN101267426A CNA2007100794330A CN200710079433A CN101267426A CN 101267426 A CN101267426 A CN 101267426A CN A2007100794330 A CNA2007100794330 A CN A2007100794330A CN 200710079433 A CN200710079433 A CN 200710079433A CN 101267426 A CN101267426 A CN 101267426A
- Authority
- CN
- China
- Prior art keywords
- request message
- session
- dialogue
- route
- protocol server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明提供了一种会话初始协议路由优化方法,其包括以下步骤:步骤S302,在获得对话的路由集的过程中,在将会话初始协议服务器加入路由集时,声明会话初始协议服务器的作用域,以指示会话初始协议服务器在对话过程中的作用范围;步骤S304,在对话中,请求消息发送客户端在构造对话的请求消息时,根据路由集在请求消息中插入路由路径数据和作用域;以及步骤S306,请求消息发送客户端在发送请求消息时,或会话初始协议服务器在转发所接收到的请求消息时,根据当前的对话状态和请求消息中的路由路径数据和作用域来决定请求消息的下一跳路由。因而,通过本发明,达到了提高消息处理效率、设备性能、缩短路由路径的目的。
Description
技术领域
本发明涉及通信领域,更具体地,涉及一种会话初始协议路由优化方法。
背景技术
会话初始协议(Session Initiation Protocal,以下简称SIP)是由互联网工程任务组(Internet Engineering Task Force,以下简称IETF)提出的一种基于IP网络,是一种用于建立、修改和终止多媒体会话的应用层控制协议,其可以在IP网络上为多种设备和应用提供通信控制。
SIP协议借鉴了其他互联网标准和协议的设计思想,在风格上遵循互联网一贯坚持的简练、开放、兼容和可扩展的原则,其获得了快速的发展和广泛的应用,它不但被应用于基于软交换的网络中进行基本的呼叫控制,而且还被第三代合作伙伴计划(3rdGeneration Partnership Project,以下简称3GPP)选择为IP多媒体子系统(IP Multimedia Subsystem,以下简称IMS)的基础信令协议。
SIP协议规定了完备的路由机制,其路由过程可以分为以下两步:
1)路由集获得过程
路由集是若干个SIP标识的集合,定义了一个对话请求必须经过的SIP服务器列表。
当对话的发起端发起一个对话建立请求消息时,在该请求经过某个SIP服务器,并转发给下一环节的过程中,如果该服务器希望自己仍留在对话路径中,即对话的后续的消息都必须经过它,则在对话建立请求消息中的记录路由(record-route)头字段中填入自己的标识或地址。
对话终结端接收到对话建立请求消息,将对话建立请求消息中record-route头字段记录的路由路径作为整个对话的路由集,并将record-route复制到随后的响应中,经过对话建立请求消息路径返回给对话的发起端,对话发起端以及路径上的SIP服务器从响应消息中获取record-route头记录中路由路径作为路由集。
2)路由分析执行过程
参与对话的用户代理客户端(发送端)在发送请求消息时,会在请求消息中填加路由route头字段,该字段包含从路由获得过程中获取的对话路由集,并将请求消息发送给route头字段第一项所指定的SIP服务器。
当SIP服务器接收到请求消息时,将检查route头字段,如果发现route头字段中的第一项是自己,则将自己从route头字段中去除,并根据去除后的route头字段的第一项转发请求消息;当请求消息中没有route头字段时,则根据请求中的统一资源标识request-URI进行路由分析。
在目前的SIP路由机制中,一个SIP服务器有以下两种应用方式:
1)在路由集获得过程中,该服务器加入路由集,从而作用于整个对话过程;以及
2)在路由集获得过程中,该服务器未加入路由集,则该服务器仅作用于对话建立请求消息和响应,而对话建立过程中的中间消息(诸如临时响应确认请求消息PRACK和媒体面更新消息UPDATE)和对话建立成功后的消息(诸如释放消息BYE和取消消息CANCEL)都不经过该服务器。
从上面可以看出,一个SIP服务器要么只作用于对话的建立请求/响应消息,要么就作用于整个对话过程。图1示出了一个SIP对话的场景,图2示出了在图1场景下现有SIP协议的路由机制的对话路由过程。
然而,对话过程可以进一步细分,分为两个阶段:对话建立阶段和对话建立后阶段。
1)对话建立阶段是指对话的发起端发送对话建立请求消息INVITE,但还没有收到最终响应进入确认状态之间的过程。
在对话建立阶段,有两类消息,一是对话建立请求INVITE消息及其临时或最终响应,另一类是在对话建立请求INVITE消息和最终响应之间的中间请求/响应消息,如为IMS应用而扩展的临时响应确认请求/响应(PRACK请求/响应),媒体更新请求/响应(UPDATE请求/响应)。
有许多电信业务与对话建立过程有关,如彩铃业务、彩像业务、呼叫转移业务、匿名呼叫业务、呼叫限制业务等,其中部分业务,如呼叫转移业务、匿名呼叫业务、呼叫限制业务和对话建立请求INVITE消息有关,部分业务,如彩铃业务、彩像业务,除了和对话建立请求INVITE消息有关,还和和第二类中间请求消息有关。
2)对话建立后阶段,指对话发起端收到另外一端的对话建立请求的最终响应后到对话结束之间的过程,期间主要完成呼叫中的会话控制、媒体控制、媒体修改、会话释放等操作。
诸如呼叫等待、呼叫保持、多方通话/会议电话、迟前转业务等的许多电信业务是发生在对话建立后的。
在采用SIP协议的电信网络(诸如IP多媒体子系统IMS)中,业务通常是由专门的SIP应用服务器提供。这些应用服务器有的是在整个对话过程中发生作用,而有的只是在对话建立阶段或建立后起作用,在其他阶段不再起作用,只是转发消息。
根据现有的路由机制,如果一个服务器加入了路由集中,就必须贯穿整个对话过程,那么在实现这些业务时存在以下缺陷:
1)有些业务应用服务器,例如彩铃服务器,虽然其只在对话建立阶段起作用,但需要处理对话建立过程中的中间消息(诸如PRACK、UPDATE),因此必须加入到整个对话的路由路径中,这样,就导致在对话建立完成之后,彩铃服务器仍处于对话路径之中,参与整个通话过程,通话过程中产生的信令仍必须经过彩铃服务器,占用彩铃服务器大量的对话处理资源,同时导致呼叫路径过长,影响对话处理效率和可靠性;以及
2)诸如呼叫等待、呼叫保持、多方通话/会议电话、和迟前转业务的有些业务发生在对话建立后的,与对话建立过程中的中间消息无关,根据目前的路由机制,其也必须加入到整个对话的路由路径中,这样导致在对话建立过程中的中间消息(如PRACK、UPDATE)也必须经过这些应用服务器,使对话路径过长,占用应用服务器的资源,影响对话建立速度和对话处理效率。
根据以上分析可以看出,目前由于SIP协议的路由机制,对话路由集是作用于整个对话阶段,导致仅在对话建立阶段起作用应用服务器或仅在对话建立后起作用应用服务器,必须始终保留在整个对话的路由路径之中,使许多应用服务器并不关心的消息要经过这些应用服务器,占用了应用服务器大量的对话处理资源,同时呼叫路径过长,影响会话建立速度、会话处理效率和可靠性。
因而,急需一种会话初始协议路由优化方法来解决上述问题。
发明内容
为了解决以上问题,本发明提出了一种会话初始协议路由优化方法,其通过引入作用域特征,可以根据对话的不同状态应用不同的路由路径,克服现有路由机制中路由集只能作用于整个对话过程的缺陷,满足不同业务的需求,从而达到提高消息处理效率、设备性能、缩短路由路径的目的。
本发明提供了一种会话初始协议路由优化方法,其可以包括以下步骤:步骤S302,在获得对话的路由集的过程中,在将会话初始协议服务器加入路由集时,声明会话初始协议服务器的作用域,以指示会话初始协议服务器在对话过程中的作用范围;步骤S304,在对话中,请求消息发送客户端在构造对话的请求消息时,根据路由集在请求消息中插入路由路径数据和作用域;以及步骤S306,请求消息发送客户端在发送请求消息时,或会话初始协议服务器在转发所接收到的请求消息时,根据当前的对话状态和请求消息中的路由路径数据和作用域来决定请求消息的下一跳路由。
在根据本发明的会话初始协议路由优化方法中,作用域可以是根据对话状态来定义的,包括:作用于整个对话、仅作用于对话建立阶段、以及仅作用于对话建立后阶段。如果没有显式声明会话初始协议服务器的作用域,则表示会话初始协议服务器的作用域可以默认为作用于整个对话。
根据本发明,在获得路由集的过程中还可以包括以下步骤:在会话初始协议服务器接收到对话建立请求消息,并向下一跳转发的过程中,如果会话初始协议服务器希望本身仍留在对话路径中,则在对话建立请求消息的指定字段中填入本身的标识或地址,同时声明本身的作用域;当对话的接收端接收到对话建立请求消息,将对话建立请求消息中的记录的路由路径和作用域作为对话的路由集,并将指定字段拷贝到随后返回的响应消息中;以及对话建立请求路径上的会话初始协议服务器和对话的发起端接收到响应之后,将对话建立请求中记录的路由路径和作用域作为对话的路由集。其中,指定字段可以是记录路由头字段。
另外,根据本发明,在步骤S306中还可以包括以下步骤:会话初始协议服务器接收到请求消息时,判断请求消息中的路由路径的第一路由项是否为会话初始协议服务器,如果判断结果为是,则从请求消息的路由路径中去掉路由项,然后分析后续路由路径。
如果会话初始协议服务器是有状态的,在步骤S306中还可以包括以下步骤:请求消息发送客户端在发送请求消息时,或会话初始协议服务器在转发所接收到的请求消息时,检查后续路由路径中的第一路由项的作用域与当前的对话状态是否相同,如果相同,则将请求消息发送到由路由项指定的会话初始协议服务器,否则,将路由项从请求消息中去除,继续检查去除路由项的后续路由路径中的第一路由项,如果没有其它路由项,则根据请求统一资源标识发送请求信息。
如果会话初始协议服务器是无状态的,在步骤S306中,会话初始协议服务器不检查后续路由路径中的第一路由项的作用域,直接将请求消息发送给后续路由路径的第一路由项所指示的会话初始协议服务器。
根据本发明,如果会话初始协议服务器收到了与本身的作用域不同的请求消息或响应消息,则会话初始协议服务器直接转发请求消息或响应消息。如果会话初始协议服务器在作用域负责的对话范围结束之后,并且对后面的对话过程不再起作用时,释放本地的对话资源。
另外,根据本发明的会话初始协议路由优化方法还可以包括以下步骤:请求消息发送客户端或会话初始协议服务器在发送或转发请求消息时,整理请求消息中的路由路径,将路由路径的作用域所指示的作用范围与当前对话状态不一致的路由项去除以保留路由路径的作用域与当前对话状态相同的路由项,然后再发送或转发请求消息。
因而,与现有技术相比,由于本发明在SIP协议路由机制中,引入了作用域特征,在路由集获得过程中,声明路由集中SIP服务器的作用域,指明该SIP服务器的作用范围,请求消息发送客户端和其他SIP代理服务器可以根据该作用域所指示的作用范围和当前的对话状态决定下一跳路由路径的方法,因此达到了可以根据对话的不同状态应用不同的SIP路由路径,进行路由路径优化的目的,克服现有路由机制中路由集只能作用于整个对话过程的缺陷,从而达到提高消息处理效率、设备性能、缩短路由路径的目的。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1示出了一个SIP对话的场景;
图2示出了在图1场景下现有SIP协议的路由机制的对话路由过程;
图3是根据本发明的会话初始协议路由优化方法的流程图;
图4是根据本发明实施例的路由机制过程的流程图;以及
图5是根据本发明实施例的改进路由机制的SIP对话过程的示图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
图1示出了一个SIP对话的场景。如图1所示,SIP终端U1102呼叫另外一个SIP终端U2108,中间会经过SIP服务器P1104、P2106,其中P1104负责管理终端U1102,P2103负责管理终端U2108。P1104和P3108都是代理服务器,可以在处理对话建立请求时,根据业务决定是否将自己加入后续的对话消息处理路径中。其中P2106需要保留在整个对话路径中,P3108也需要保留在对话路径中,但只需要处理对话建立过程中的中间消息,诸如临时响应确认请求消息/响应、和媒体更新请求/响应等,在对话建立成功后,将不再对业务产生影响。
图2示出了在图1场景下现有SIP协议的路由机制的对话路由过程,如图2所示,终端U1呼叫终端U2的过程包括以下步骤:
步骤S201,U1向服务器P1发送对话建立请求消息呼叫被叫用户U2,消息中的Request-URI为U2的用户标识;
步骤S202,P1接到对话建立请求消息,发现其并不负责U2,根据域名分析的结果,将INVITE消息发送到负责U2的P2。在转发过程中,根据业务需要,如果服务器P1希望自己留在对话路径中,则在INVITE请求消息中的记录路由record-route头字段中填入自己的标识或地址;
步骤S203,服务器P2收到P1发送过来的对话建立请求消息,发现U2在其负责范围内,则用U2登记的实际联系地址改写request-URI头中的用户标识,并将对话建立请求消息转发给U2,同样,在转发过程中,根据业务需要,如果服务器P2希望自己留在对话路径中,则在请求消息中的record-route头字段中填入P2的标识或地址;
步骤S204,U2接收到对话建立请求消息,将请求中record-route头字段记录的路由路径作为整个对话的路由集(P2,P1),并将record-route包含在随后的响应中,发送给P2,其中,响应是诸如呼叫过程指示响应、振铃响应等的临时响应;
步骤S205,P1将响应转发给P2;
步骤S206,P2将响应转发给U1;
步骤S207,U1接收到响应后,也将record-route头字段记录的路由路径作为整个对话的路由集(P1,P2),并向该路由集的第一项P1发送对话建立阶段的中间请求消息,包括临时响应确认请求、媒体更新请求等,请求消息中包含路由route头字段(P1,P2),指示请求消息要经过为P1、P2,请求统一资源标识request-URI为对端终端的联系地址;
步骤S208,P1收到请求消息后,发现route头字段中的第一项是它自己,则将自己从route头字段中去掉,并根据去除后route头字段第一项将请求消息发送给P2;
步骤S209,P2收到请求消息后,进行对话建立阶段的业务处理,发现route头字段中的第一项是它自己,就将自己从route头字段中去掉,由于去除后已经没有route头字段,则直接根据请求统一资源标识request-URI将请求消息发送给U2;
步骤S210,U2接收到请求消息后,进行相应的业务处理,向P2返回对该中间请求消息的响应;
步骤S211,P2根据进行对话建立阶段的业务处理,并将响应消息转发给P1;以及
步骤S212,P1将响应消息转发给U1,U1进行相应的业务处理。
在上述对话建立阶段,可能会多次重复步骤S207~S212的中间请求消息/响应过程,请求消息的方向可以是从U1到U2或从U2到U1。
接下来还要进行以下步骤:
步骤S213,U2接收呼叫建立请求后,向P2发送成功响应消息;
步骤S214,P2结束呼叫建立阶段的业务处理,进入对话建立后阶段,并将成功响应消息转发给P1;
步骤S215,P1将成功响应消息转发给U1,并进入对话建立后阶段;
步骤S216,U1接到成功响应消息后,进入对话建立后阶段,并向路由集的第一项P1发送对话建立响应确认消息,确认消息中包含route头字段(P1,P2);
步骤S217,与步骤S208的路由处理相同,P1将自己从route头字段中去除,将请求消息发送给去除后的route头字段的第一项P2;
步骤S218,与步骤S209的路由处理相同,P2就将自己从route头字段中去除,直接根据请求统一资源标识request-URI将请求消息发送给U2;
步骤S219,U1和U2开始进行媒体面的通讯,其中,由于P2与对话建立后阶段的业务无关,其间如果有对话消息,必须经过P2,P2只是简单地进行转发;
步骤S220,当需要释放对话时,假设由U1发起释放过程,U1向路由集的第一项P1发送对话释放请求消息,请求消息中包含路由route头字段(P1,P2);
步骤S221,与步骤S208的路由处理相同,P1将自己从route头字段中去除,将释放请求消息发送给去除后的route头字段的第一项P2;
步骤S222,与步骤S209的路由处理相同,P2将自己从route头字段中去除,直接根据请求统一资源标识request-URI将释放请求消息发送给U2;
步骤S223,U2向P2返回释放确认响应,并释放对话;
步骤S224,P2向P1转发释放确认响应,并释放对话;以及
步骤S225,P1向U1转发释放确认响应,并释放对话,并且U1接到释放确认响应,释放对话。
这样,就完成终端U1呼叫终端U2的整个过程。
图3是根据本发明的会话初始协议路由优化方法的流程图,如图3所示,该方法包括以下步骤:
步骤S302,在获得对话的路由集的过程中,在将会话初始协议服务器加入路由集时,声明会话初始协议服务器的作用域,以指示会话初始协议服务器在对话过程中的作用范围;
步骤S304,在所述对话中,请求消息发送客户端在构造对话的请求消息时,根据路由集在请求消息中插入路由路径数据和作用域;以及
步骤S306,请求消息发送客户端在发送请求消息时,或会话初始协议服务器在转发所接收到的请求消息时,根据当前的对话状态和请求消息中的路由路径数据和作用域来决定请求消息的下一跳路由。
在该会话初始协议路由优化方法中,作用域是根据对话状态来定义的,包括:作用于整个对话、仅作用于对话建立阶段、以及仅作用于对话建立后阶段。会话初始协议服务器的作用域可以默认为作用于整个对话。
在获得路由集的过程中还包括以下步骤:在会话初始协议服务器接收到请求消息,并向下一跳转发的过程中,如果会话初始协议服务器希望本身仍留在对话路径中,则在请求消息的指定字段中填入本身的标识或地址,同时声明本身的作用域;当对话的接收端接收到请求消息,将请求消息中的路由路径作为对话的路由集,并将指定字段拷贝到随后返回的响应消息中;以及对话建立请求路径上的会话初始协议服务器和对话的发起端接收到响应之后,将请求中的路由路径作为对话的路由集。其中,指定字段可以是记录路由头字段。
另外,在步骤S306中还包括以下步骤:会话初始协议服务器接收到请求消息时,判断请求消息中的路由路径的第一路由项是否为会话初始协议服务器,如果判断结果为是,则从请求消息的路由路径中去掉路由项,然后分析后续路由路径。
如果会话初始协议服务器是有状态的,在步骤S306中还包括以下步骤:请求消息发送客户端在发送请求消息时,或会话初始协议服务器在转发所接收到的请求消息时,检查后续路由路径中的第一路由项的作用域与当前的对话状态是否相同,如果相同,则将请求消息发送到由路由项指定的会话初始协议服务器,否则,将路由项从请求消息中去除,继续检查去除路由项的后续路由路径中的第一路由项,如果没有其它路由项,则根据请求统一资源标识发送请求信息。
可选地,如果会话初始协议服务器是无状态的(即,其不维护对话状态),在步骤S306中,会话初始协议服务器不检查后续路由路径中的第一路由项的作用域,直接将请求消息发送给路由路径的第一路由项所指示的会话初始协议服务器。
根据本发明,如果会话初始协议服务器收到了与本身的作用域不同的请求消息或响应消息,则会话初始协议服务器直接转发请求消息或响应消息。如果会话初始协议服务器在作用域负责的对话范围结束之后,并且对后面的对话过程不再起作用时,释放本地的对话资源。
另外,根据本发明的会话初始协议路由优化方法还包括以下步骤:请求消息发送客户端或会话初始协议服务器在发送或转发请求消息时,整理请求消息中的路由路径,将路由路径的作用域所指示的作用范围与当前对话状态不一致的路由项去除以保留路由路径的作用域与当前对话状态相同的路由项,然后再发送或转发请求消息。
图4是根据本发明实施例的路由机制过程的流程图,如图4所示,路由机制过程包括以下步骤:
步骤S401,在一个对话路由集的获得过程中,当将一个SIP服务器加入路由集时,声明该SIP服务器的作用域,指示这个SIP服务器在这个对话过程中的作用范围;
步骤S402,用户代理客户端(即本发明的请求消息发送客户端)在构造该对话的请求消息时,根据路由集在请求消息中插入路由路径数据及作用域,规定这个请求消息需要经过的路由路径;
步骤S403,用户代理客户端在发送步骤S402构造的请求消息时,或SIP服务器在转发接收请求消息时,将比较当前的对话状态和请求消息中后续路由路径中第一路由项的作用域所指定的作用范围是否一致;
步骤S404,如果一致,转到步骤S405,否则转到步骤S406;
步骤S405,用户代理客户端或SIP服务器将请求转发给该路由项指定的SIP服务器;以及
步骤S406,用户代理客户端或SIP服务器删除该请求消息路由路径中的该路由项,不再将该请求转发给该路由项指定的SIP服务器,并按照步骤S402继续检查下一路由项,如果已经无路由项,则根据请求统一资源标识Request-URI进行路由决定请求消息下一跳路由。
图5是根据本发明实施例的改进路由机制的SIP对话过程的示图。如图5所示,描述了在应用本发明的路由机制后,在图1所示业务场景中终端U1呼叫终端U2的过程。其中服务器P2需要的作用域为整个对话,服务器P3的作用域为对话建立阶段,在对话建立后将退出对话,该SIP对话过程包括以下步骤:
步骤S501,U1向P1发送对话建立请求消息,呼叫U2,消息中的请求统一资源标识Request-URI为U2的用户标识;
步骤S502,P1接到对话建立请求消息,发现它并不负责U2,则根据域名分析的结果,并将对话建立请求消息发送到负责U2的P2,在转发过程中,根据业务需要,P1在对话建立请求消息中的记录路由record-route头字段中填入自己标识或地址,并声明自己作用域为整个对话过程,其中,P1也可以不显式声明自己的作用域,此时默认作用域为整个对话,即与现有技术中的路由记录方法一致,从而保证和原来的路由机制兼容;
步骤S503,P2收到P1发送过来的对话建立请求消息,发现U2在其负责范围内,则用U2登记的实际联系地址改写request-URI头中的用户标识,并将对话建立请求消息转发给U2,同样,在转发过程中,由于P2的作用域为对话建立阶段,因此P2在请求消息中的record-route头字段中填入自己的地址,同时声明自己的作用域为对话建立阶段,在图4用P2后加“E”表示其作用域为对话建立阶段;
步骤S504,终端U2接收到对话建立请求消息,将请求中record-route头字段中记录的路由路径作为整个对话的路由集(P2;E,P1),并将record-route拷贝到在随后的响应中,发送给P2,其中,在响应的record-route头字段需要包含路由集的全部详细信息,包括作用域声明,在图4中通过临时响应返回路由集,临时响应包括呼叫过程指示响应、振铃响应等;
步骤S505,P2将临时响应转发给P1,P1从响应中的record-route头字段中获取路由集;
步骤S506,P2将临时响应转发给U1,U1从响应中的record-route头字段中获取路由集;
步骤S507,U1接收到响应后,也将record-route头部记录的路由路径作为整个对话的路由集(P1,P2;E),并向路由集的第一项P 1发送对话建立阶段的中间请求消息,如临时响应确认请求、媒体更新请求等,请求消息中包含route头字段(P1,P2;E),request-URI为对端终端的联系地址;
步骤S508,P1收到请求消息后,发现route头字段中的第一项是自己,则将自己从route头字段中去除,然后检查去除后的route头字段的第一项P2的作用域,发现设定的作用域与当前的对话阶段相同,即作用域为对话建立阶段,则将请求消息发送给P2;
步骤S509,P2收到请求消息后,进行对话建立阶段的业务处理,并进行路由处理,发现route头字段中的第一项是它自己,则将自己从route头字段中去除,由于已经没有route头字段,则直接根据request-URI将请求消息发送给U2;
步骤S510,U2接收到请求消息后,进行相应的业务处理,向P2返回对该中间请求消息的响应步骤;
步骤S511,P2将响应消息转发给P1;
步骤S512,P1将响应消息转发给U1,U1进行相应的业务处理,在对话建立阶段,会多次重复步骤S507~S512的中间请求消息/响应过程,请求消息的方向可以是从U1到U2或从U2到U1;
步骤S513,U2接受呼叫请求,U2向P2发送成功响应消息,进入对话建立后阶段;
步骤S514,P2结束呼叫建立阶段的业务处理,并将成功响应消息转发给P1,由于P2将不再处理对话建立后的消息,后续的消息不会再发给P2,因此P2结束本次对话,如果由于某种原因,如前面一个SIP服务器不支持作用域特征,已经结束了对话的P2又收到对话建立后阶段的请求/响应消息,则P2应该直接转发该请求/响应消息;
步骤S515,P1将成功响应消息转发给U1,并进入对话建立后阶段;
步骤S516,U1接到成功响应消息后,进入对话建立后阶段,并向路由集的第一项P1发送对话建立响应确认消息,确认消息中包含路由route头字段(P1,P2;E);
步骤S517,P1收到请求消息后,将自己从route头字段中去除,然后检查去除后的route头字段的第一项P2的作用域,发现设定的作用域与当前的对话阶段不同,即作用域为对话建立阶段,而现在已处于对话建立后阶段,则将P2从route头字段中去除,再检查去除后的route头字段的第一项,此时因为没有route头字段了,则根据request-URI将请求消息直接路由到U2。通过这种方式,使对话建立阶段后的消息不经过P2;
步骤S518,U1和U2开始进行媒体面的通讯,如果期间有其他对话请求响应发生,按照步骤S516~S517的过程进行,对话请求的方向可以从U1到U2,或者从U2到U1;
步骤S519,当需要释放对话时,假设由U1发起释放过程,U1向路由集的第一项P 1发送对话释放请求消息,请求消息中包含路由route头字段(P1,P2;E);
步骤S520,与过程S516的路由处理相同,P1就将自己和P2从route头字段中去除,直接根据request-URI将释放请求消息发送给U2;
步骤S521,U2向P1返回释放确认响应,并释放对话;以及
步骤S522,P1向U1转发释放确认响应,并释放对话,U1接到释放确认响应,释放对话。
其中,如果客户端或路径中的SIP服务器支持作用域特征,则可以在发送请求消息或转发时,检查并整理请求消息中的route头字段,将route头字段中的作用域与当前对话阶段不一致的服务器去除,只保留作用域与当前对话阶段相同的服务器。比如在步骤S516中,U1判断现在已经处于对话建立后阶段,而P2只作用于对话建立后阶段,U1则可以删除route头字段中P2,将route头字段设为(P1),使请求消息不经过P2。
另外,还有一类SIP服务器是无状态(即,不维护对话状态)的代理服务器,其不维护对话状态,只负责消息的转发,则可以不检查route头字段的路由作用域,按现有技术的路由机制转发消息。
对于只作用于对话建立后阶段的请求消息,处理过程与图5所述的过程类似。
综上所述,采用本发明方法,应用于会话初始协议(SessionInitiation Protocol,简称SIP)路由过程中,引入对话路由作用域,使应用SIP协议的系统可以根据对话的不同阶段应用不同的SIP路由路径,克服现有路由机制中路由集只能作用于整个对话过程的缺陷,达到提高消息处理效率、设备性能、缩短路由路径的目的,同时还与现有技术保持兼容。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (11)
1. 一种会话初始协议路由优化方法,其特征在于,包括以下步骤:
步骤S302,在获得对话的路由集的过程中,在将会话初始协议服务器加入所述路由集时,声明所述会话初始协议服务器的作用域,以指示所述会话初始协议服务器在所述对话过程中的作用范围;
步骤S304,在所述对话中,请求消息发送客户端在构造所述对话的请求消息时,根据所述路由集在所述请求消息中插入路由路径数据和作用域;以及
步骤S306,所述请求消息发送客户端在发送所述请求消息时,或所述会话初始协议服务器在转发所接收到的所述请求消息时,根据当前的对话状态和所述请求消息中的所述路由路径数据和所述作用域来决定所述请求消息的下一跳路由。
2. 根据权利要求1所述的会话初始协议路由优化方法,其特征在于,所述作用域是根据所述对话状态来定义的,包括:作用于整个对话、仅作用于对话建立阶段、以及仅作用于对话建立后阶段。
3. 根据权利要求2所述的会话初始协议路由优化方法,其特征在于,如果没有显式声明所述会话初始协议服务器的作用域,则表示所述会话初始协议服务器的作用域默认为所述作用于整个对话。
4. 根据权利要求1所述的会话初始协议路由优化方法,其特征在于,在获得所述路由集的过程中还包括以下步骤:
在所述会话初始协议服务器接收到对话建立请求消息,并向下一跳转发的过程中,如果所述会话初始协议服务器希望本身仍留在对话路径中,则在所述对话建立请求消息的指定字段中填入本身的标识或地址,同时声明本身的所述作用域;
当所述对话的接收端接收到所述对话建立请求消息,将所述对话建立请求消息中的记录的路由路径和作用域作为所述对话的路由集,并将所述指定字段拷贝到随后返回的响应消息中;以及
对话建立请求路径上的会话初始协议服务器和所述对话的发起端接收到所述响应之后,将所述对话建立请求中记录的路由路径和作用域作为所述对话的路由集。
5. 根据权利要求4所述的会话初始协议路由优化方法,其特征在于,所述指定字段为记录路由头字段。
6. 根据权利要求1至5中任一项所述的会话初始协议路由优化方法,其特征在于,在所述步骤S306中还包括以下步骤:
所述会话初始协议服务器接收到所述请求消息时,判断所述请求消息中的路由路径的第一路由项是否为所述会话初始协议服务器,如果判断结果为是,则从所述请求消息的路由路径中去掉所述路由项,然后分析后续路由路径。
7. 根据权利要求6所述的会话初始协议路由优化方法,其特征在于,如果所述会话初始协议服务器是有状态的,在所述步骤S306中还包括以下步骤:
所述请求消息发送客户端在发送所述请求消息时,或所述会话初始协议服务器在转发所接收到的所述请求消息时,检查所述后续路由路径中的第一路由项的作用域与当前的对话状态是否相同,如果相同,则将所述请求消息发送到由所述路由项指定的所述会话初始协议服务器,否则,将所述路由项从所述请求消息中去除,继续检查去除所述路由项的后续路由路径中的第一路由项,如果没有其它路由项,则根据请求统一资源标识发送所述请求信息。
8. 根据权利要求6所述的会话初始协议路由优化方法,其特征在于,如果所述会话初始协议服务器是无状态的,在所述步骤S306中,所述会话初始协议服务器不检查所述后续路由路径中的第一路由项的作用域,直接将所述请求消息发送给所述后续路由路径的第一路由项所指示的所述会话初始协议服务器。
9. 根据权利要求1所述的会话初始协议路由优化方法,其特征在于,如果所述会话初始协议服务器收到了与本身的所述作用域不同的所述请求消息或所述响应消息,则所述会话初始协议服务器直接转发所述请求消息或所述响应消息。
10. 根据权利要求1所述的会话初始协议路由优化方法,其特征在于,如果所述会话初始协议服务器在所述作用域负责的对话范围结束之后,并且对后面的对话过程不再起作用时,释放本地的对话资源。
11. 根据权利要求1所述的会话初始协议路由优化方法,其特征在于,还包括以下步骤:所述请求消息发送客户端或所述会话初始协议服务器在发送或转发所述请求消息时,整理所述请求消息中的路由路径,将所述路由路径的作用域所指示的作用范围与当前对话状态不一致的路由项去除以保留所述路由路径的作用域与当前对话状态相同的路由项,然后再发送或转发所述请求消息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007100794330A CN101267426B (zh) | 2007-03-12 | 2007-03-12 | 会话初始协议路由优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007100794330A CN101267426B (zh) | 2007-03-12 | 2007-03-12 | 会话初始协议路由优化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101267426A true CN101267426A (zh) | 2008-09-17 |
CN101267426B CN101267426B (zh) | 2012-05-23 |
Family
ID=39989564
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007100794330A Expired - Fee Related CN101267426B (zh) | 2007-03-12 | 2007-03-12 | 会话初始协议路由优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101267426B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101478414B (zh) * | 2009-02-03 | 2011-07-13 | 中兴通讯股份有限公司 | 一种实现会议业务的方法及系统 |
CN104301551A (zh) * | 2014-10-11 | 2015-01-21 | 杭州华三通信技术有限公司 | 一种音乐播放的方法和设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100459723C (zh) * | 2002-12-15 | 2009-02-04 | 华为技术有限公司 | 下一代网络中实现路由的方法 |
CN100388733C (zh) * | 2002-12-25 | 2008-05-14 | 中兴通讯股份有限公司 | 一种在会话发起协议网络中呼叫路由的方法 |
CN100499642C (zh) * | 2003-03-04 | 2009-06-10 | 华为技术有限公司 | 一种向位置服务器查询路由的方法 |
EP1800453A1 (en) * | 2004-10-14 | 2007-06-27 | Siemens Aktiengesellschaft | A method for routing calls in a telecommunications network |
-
2007
- 2007-03-12 CN CN2007100794330A patent/CN101267426B/zh not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101478414B (zh) * | 2009-02-03 | 2011-07-13 | 中兴通讯股份有限公司 | 一种实现会议业务的方法及系统 |
CN104301551A (zh) * | 2014-10-11 | 2015-01-21 | 杭州华三通信技术有限公司 | 一种音乐播放的方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN101267426B (zh) | 2012-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE602004015814D1 (de) | Austauschprotokoll für kombinatorische multimedia-dienste | |
JP5174178B2 (ja) | 着信転送のための方法、システム、およびデバイス | |
WO2005070115A2 (en) | Proprietary protocol for voip based features | |
CN100574474C (zh) | 一种通讯系统中建立通讯业务连接的方法 | |
JP2009171566A (ja) | Sipの言語選好に基づいたスクリプト選定 | |
CN101217702A (zh) | Ip多媒体子系统集中业务呼叫保持业务的实现方法 | |
CN101217703B (zh) | 一种在线彩铃彩像业务的实现方法 | |
CN101626302A (zh) | 一种基于企业融合通信的多媒体会议管理系统及方法 | |
CN101237614A (zh) | 一种实现彩铃业务的方法 | |
CN101267426B (zh) | 会话初始协议路由优化方法 | |
CN102158926B (zh) | 媒体路径优化过程中sdp请求的处理方法及装置 | |
JP2003258839A (ja) | コールチャージ方法および関連するネットワーク要素 | |
US8213373B2 (en) | Supporting method for REFER message expansion parameter | |
CN101150424B (zh) | 会议业务创建后批量增加会议成员的方法 | |
CN101365157A (zh) | 一种业务触发方法、系统及装置 | |
CN101227728A (zh) | 一种多媒体会话连续性业务的会话合并方法 | |
CN100589493C (zh) | 应用于ims终端的呼叫管理系统、方法及ims终端 | |
CN100531149C (zh) | 更改会话路径的方法、会话终端、中继节点 | |
CN101729434A (zh) | 消息交互的实现方法和融合业务系统 | |
JP4772739B2 (ja) | ビジュアルコミュニケーションサーバおよび通信システム | |
CN109067659B (zh) | 一种会话建立方法、路由器及会话系统 | |
JP2005531233A (ja) | コネクション指向通信ネットワークの端末にコネクションレスデータパケットネットワーク内に位置するサービスを提供する方法 | |
CN101511058B (zh) | 会议呼叫保持方法及系统 | |
CN101582950A (zh) | Ip多媒体子系统中振铃态转接方法及系统 | |
JP3968060B2 (ja) | セッションメディア保留方法、保留装置、保留プログラム及び該プログラムを記録した記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120523 Termination date: 20180312 |