使用背靠背用户代理时实现分叉的方法

文档序号:7625570阅读:186来源:国知局
专利名称:使用背靠背用户代理时实现分叉的方法
技术领域
本发明涉及通信领域,特别涉及通信领域和分叉(FORKING)相关的技术。
背景技术
随着第三代移动通信(The Third Generation,简称“3G”)技术的提出和进一步发展,第三代合作伙伴项目(3rd Generation Partnership Project,简称“3GPP”)在第5版(Release 5,简称“R5”)和第6版(Release 6,简称“R6”)阶段引入了网际互联协议多媒体子系统(IP MultimediaSubsystem,简称“IMS”)域,叠加在分组域网络之上。IMS是3G移动网实现分组话音和分组数据,以提供统一的多媒体业务和应用为目的的网络。
IMS采用IP分组域作为其控制信令和媒体传输的承载通道,使用会话初始化协议(Session Initiation Protocol,简称“SIP”)作为IP多媒体会话的信令控制协议。在IMS中,IMS的用户签约数据集中在归属签约用户服务器(Home Subscriber Server,简称“HSS”)中管理,业务由应用服务器(Application Server,简称“AS”)统一提供,会话控制由服务呼叫状态控制功能(Serving Call Session Control Function,简称“S-CSCF”)完成,两者在网络结构上完全分离,业务通过S-CSCF触发至AS处理,多个AS间可协同工作。用户通过当前所在地代理节点接入IMS,会话和业务控制则由其注册地的归属域服务节点完成,因此用户在不同接入点总能得到同样的服务,实现了业务管理、会话控制及承载接入的三者分离以及与接入和位置无关的业务提供。
AS是IMS应用系统中的应用服务器,是业务控制者的角色。AS通过基于SIP协议接口与代理服务器交互,代理服务器根据基于每用户的AS业务触发签约数据,及当前输入的SIP消息域内容,进行签约规则匹配,并根据匹配结果进行到各AS的路由。对于一个指定用户及其代理服务器而言,依据其AS触发规则的特殊设置,不仅支持不同业务到不同AS的触发,同时可以实现同一会话到多个AS的多次触发,从而实现对同一用户的增值业务逻辑的关联组合。
SIP网元,如AS,可以作为背靠背用户代理(Back to Back User Agent,简称“B2BUA”),在该SIP网元处关联两段独立的用户会话(DIALOG),如图1所示。用户代理(User Agent,简称“UA”)1和UA2分别各有一个DIALOG,而B2BUA网元则同时拥有DIALOG1和DIALOG2这两个DIALOG。B2BUA服务器根据业务把这两个DIALOG关联起来完成相关的业务交互。
关于IMS的详细说明,可以参见《IP Multimedia Subsystem(IMS);Stage2》(3GPP TS 23.228),中文可译为《网际互联协议多媒体子系统(IMS),第2阶段》,以及《Signalling flows for the IP multimedia call control based onSession Initiation Protocol(SIP)and Session Description Protocol(SDP);Stage3》(3GPP TS 24.228),中文可译为《基于会话初始化协议(SIP)和会话描述协议(SDP)的网际互联协议多媒体呼叫控制信令流程,第3阶段》。
分叉(FORKING)是《Request for Comments3261》(RFC3261),中文可译为《请求评注3261》(RFC3261),定义的SIP代理服务器的一种网络能力。分叉服务器能把收到的方法拷贝成多个,发向不同的用户终端或者网元。分叉是SIP代理服务器的一种网络能力。本领域的普通技术人员可以理解,分叉能够将一个呼叫送到多个终端,这个特色使SIP能够支持一号多机等业务。比如某用户使用一个电话号码,但在办公室、家里面分别都有一个终端,如果网络有分叉这样的功能,那么作为被叫的话,两台电话都可以听到振铃。而用户在哪里,就可以接听哪里的电话。
在B2BUA方式连接的网络中,发生FORKING的示意图如图2所示。其中,应用服务器(AS)作为B2BUA实现代理1和代理2的连接。主叫通过代理1发送一个方法类SIP消息,经过AS后,AS以B2BUA方式前传这个方法以实现业务,该方法在经过代理2处发生FORKING,这时,代理2会产生一个以上的方法拷贝,发向不同的网元或者终端,图2中代理2产生两个相同的方法拷贝,分别发送给用户设备(User Equipment,简称“UE”)1和UE2。此时,UE1和UE2产生临时的响应时候,代理2汇集了多个分支的临时响应,并前传临时响应。
现有技术方案中作为B2BUA的AS在收到FORKING的多个分支的同类响应消息时直接前传。
现有实现FORKING的技术方案在B2BUA网元处关联多个DIALOG的示意图如图3所示。
此时,在B2BUA网元处,由于使用了FORKING,右侧有多个DIALOG,而左侧只有一个DIALOG。本领域的普通技术人员理解,如果右侧的多个DIALOG回复同类响应消息时,作为B2BUA网元的AS首先作为UA终结响应消息并直接前传,即前向的同一DIALOG上会有多个同类消息传送。
在实际应用中,上述方案存在以下问题现有技术方案在AS作为B2BUA时无法实现端到端的协商。
造成这种情况的主要原因在于,现有技术方案中作为B2BUA的AS在同一DIALOG上传送多个同类消息,而此时前向网元无法区分同类消息,会将后收到的同类消息作为重传消息丢弃,因此无法实现端到端的协商。例如在图3中用户代理2和用户代理3均响应183消息时,现有技术方案中作为B2BUA的AS直接在同一DIALOG上前传这两个183消息,此时用户代理1就会将后一个收到的183消息作为重传消息直接丢弃。

发明内容
有鉴于此,本发明的主要目的在于提供一种使用背靠背用户代理时实现分叉的方法,使得AS在B2BUA的应用模式下,能够实现后向网元的FORKING。
为实现上述目的,本发明提供了一种使用背靠背用户代理时实现分叉的方法,包含以下步骤A使用分叉时所述背靠背用户代理接收多个分支的响应,前向传递其中一个分支的响应,并存储其它分支的响应;B所述背靠背用户代理根据所收到的最终响应对应的分支终止其它分支或进行媒体重协商以建立会话。
其中,所述步骤B还包含以下步骤B1如果所述最终响应对应被传递的所述分支,则所述背靠背用户代理终止其它分支,前向传递所述最终响应并建立会话;B2如果所述最终响应对应被存储的所述其它分支之一,则所述背靠背用户代理利用所述步骤A存储的该分支的响应进行媒体重协商并建立会话。
此外在所述方法中,所述步骤B1中,所述背靠背用户代理向其它分支发送BYE消息。
此外在所述方法中,所述步骤B2中,所述背靠背用户代理发送UPDATE消息进行媒体重协商。
此外在所述方法中,所述媒体协商和所述媒体重协商的内容包含会话描述协议信息。
此外在所述方法中,所述背靠背用户代理为应用服务器。
此外在所述方法中,所述背靠背用户代理存储的其它分支的响应包含会话描述协议信息和TO头域的totag标记。
此外在所述方法中,在网际互联协议多媒体子系统中使用。
通过比较可以发现,本发明的技术方案与现有技术的主要区别在于,作为B2BUA的AS不直接透传FORKING分支中后向网元或终端的响应,而是选择一个分支的响应进行前向传递,同时存储其它分支的响应,AS还根据后向网元或终端的选择情况,决定是否根据存储的其它分支响应发起重协商。
这种技术方案上的区别,带来了较为明显的有益效果,即利用本发明方案,首先,在使用AS作为B2BUA时,可以避免现有技术方案中将响应认为是重传而丢弃的情况,因此不会丢失FORKING分支中后向网元或终端的响应;第二,本发明方案中AS可以存储后向网元FORKING分支的响应利用这些存储的响应发起重协商,因此可以实现端到端的协商;第三,本发明方案实现了AS作为B2BUA的模式,后向网元发生FORKING的应用场景。对IMS的解决方案提供了技术实现的补充,IMS可以在该应用模式下向用户提供FORKING带来的丰富的业务体验。


图1是作为B2BUA的SIP网元处关联两段独立的DIALOG的示意图;图2是在B2BUA方式连接的网络中发生FORKING的示意图;图3是现有实现FORKING的技术方案在B2BUA网元处关联多个DIALOG的示意图;图4是根据本发明第一较佳实施方式的使用背靠背用户代理时实现分叉的流程;
图5是根据本发明第二较佳实施方式的后向网元选择响应被前向传递的分支时的消息交互流程;图6是根据本发明第二较佳实施方式的后向网元没有选择响应被前向传递的分支时的消息交互流程。
具体实施例方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。
本发明将在作为B2BUA的AS处终结后向网元的响应后,前向传递其中一个分支的响应同时存储其它分支的响应,如果后向网元或终端选择了响应被前向传递的分支,则AS终结其它分支;如果后向网元或终端没有选择响应被前向传递的分支,则AS作为UA向主叫UA根据存储的其它分支的响应发起重协商。
本领域的普通技术人员可以理解,本发明方案的AS不直接透传FORKING分支中后向网元或终端的响应,而是选择一个分支的响应进行前向传递,还存储其它分支的响应,可以避免现有技术方案中前向网元认为同类响应是重传而将其丢弃的现象,同时,本发明方案的AS还可以根据后向网元或终端的选择情况,决定是否根据存储的其它分支响应发起重协商,因此本发明方案可以实现端到端的协商。
利用本发明方案,第一,在使用AS作为B2BUA时,可以避免现有技术方案中将响应认为是重传而丢弃的情况,因此不会丢失FORKING分支中后向网元或终端的响应;第二,本发明方案中AS可以存储后向网元FORKING分支的响应利用这些存储的响应发起重协商,因此可以实现端到端的协商;第三,本发明方案实现了AS作为B2BUA的模式后向网元发生FORKING的应用场景,对IMS的解决方案提供了技术实现的补充,可以在IMS向用户提供FORKING带来的丰富的业务体验。
为了更好的说明本发明方案,下面结合附图和本发明较佳实施方式进行说明。
根据本发明第一较佳实施方式的使用背靠背用户代理时实现分叉的流程如图4所示。
首先,进入步骤410,AS的后向网元发生FORKING。本领域的普通技术人员理解,FORKING会产生两个或两个以上分支,这些分支会分别发送给多个被叫侧的后向网元或终端,该步骤的实现和现有技术完全相同,在此不详细说明。
接着,进入步骤420,AS终结后向网元FORKING各分支的响应。其中,后向网元FORKING各分支的响应可以为同类响应,现在技术方案会将这些同类直接前向传送。
接着,进入步骤430,AS前向传递其中一个分支响应并存储其它分支响应。其中,通过存储会话描述协议(Session Description Protocol,简称“SDP”)信息以及TO头域的totag标记即可实现其它分支响应的存储。本领域的普通技术人员可以理解,此时在前向的同一会话上就不会出现同类响应,从而可以避免出现前向网元将后接收到的同类响应作为重传丢弃的情况。
接着,进入步骤440,判断后向网元是否选择响应被前向传递的分支,如果是则进入步骤450,否则进入步骤460。其中,该步骤中,AS可以通过根据最终确认的响应(200 OK)的发送者判断是否选择了响应被前向传递的分支。本领域的普通技术人员理解,如果后向网元选择响应被前向传递的分支,则可以终止FORKING的其它分支;如果后向网元没有选择响应被前向传递的分支,则还需要重新协商。
在步骤450中,AS向其它分支发送终止消息。其中,AS可以通过向其它分支发送BYE消息实现。
在步骤460中,AS根据存储的尚未前向传递的分支响应对前向发起重协商。其中,在该步骤中,AS发起UPDATE消息,以更新其协商的SDP信息。
基于本发明第一较佳实施方式,本发明第二较佳实施方式中,后向网元选择响应被前向传递的分支时的消息交互流程如图5所示。其中,用户1为主叫用户,标号中含有“a”代表和用户2有关的消息,含有“b”代表和用户3有关的消息。
首先,用户1发起邀请消息(INVITE)。
接着,代理1前传INVITE消息。
接着,AS作为B2BUA前传INVITE消息到代理2。
在代理2处,FORKING产生两个分支,分别产生两个INVITE消息分别发送给用户2和用户3。
接着,用户2返回183消息并经过代理2、AS和代理1依次前传到用户1。
在步骤9a到16a为对该183消息的可靠传输的PRACK确认过程。
在步骤5b到13b中,用户3返回183消息的交互流程,此时该183消息在AS处终结,不进行前向传递,但AS代理用户完成一次可靠临时响应的传输。
在步骤17a到20a中,用户2回最终响应,中间所有网元前传这个最终响应。其中,AS通过最终响应得知该最终响应为用户2,即前面步骤前向传送其响应的分支发送。
在步骤21a到25a中,用户1返回确认(ACK),完成协商,会话建立,中间网元同样直接转发该消息。
基于本发明第一较佳实施方式,本发明第二较佳实施方式中,后向网元没有选择响应被前向传递的分支时的消息交互流程如图6所示。其中,用户1为主叫用户,标号中含有“a”代表和用户2有关的消息,含有“b”代表和用户3有关的消息。
首先,用户1发起邀请消息(INVITE)。
接着,代理1前传INVITE消息。
接着,AS作为B2BUA前传INVITE消息到代理2。
在代理2处,FORKING产生两个分支,分别产生两个INVITE消息分别发送给用户2和用户3。
接着,用户2返回183消息并经过代理2、AS和代理1依次前传到用户1。
在步骤9a到16a为对该183消息的可靠传输的PRACK确认过程。
在步骤5b到13b中,用户3返回183消息的交互流程,此时该183消息在AS处终结,不进行前向传递,但AS代理用户完成一次可靠临时响应的传输。
在步骤17a到20a中,用户2回最终响应,中间所有网元前传这个最终响应。
在步骤17b中,AS收到用户最终响应,发现不是前传的那个分支,则发送UPDATE消息,更新协商的会话内容。
接着在步骤18b中,代理1前传这个UPDATE消息。
在步骤19b到20b中,用户1返回UPDATE的响应200。
在步骤21b到22b中,AS发送最终确认的200响应消息给用户1。
最后,在步骤23b到27b中,用户回最终确认消息ACK,并经各个中间网元传递到用户3,完成最终的会话。
虽然通过参照本发明的某些优选实施方式,已经对本发明进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
权利要求
1.一种使用背靠背用户代理时实现分叉的方法,其特征在于,包含以下步骤A使用分叉时所述背靠背用户代理接收多个分支的响应,前向传递其中一个分支的响应,并存储其它分支的响应;B所述背靠背用户代理根据所收到的最终响应对应的分支终止其它分支或进行媒体重协商以建立会话。
2.根据权利要求1所述的使用背靠背用户代理时实现分叉的方法,其特征在于,所述步骤B还包含以下步骤B1如果所述最终响应对应被传递的所述分支,则所述背靠背用户代理终止其它分支,前向传递所述最终响应并建立会话;B2如果所述最终响应对应被存储的所述其它分支之一,则所述背靠背用户代理利用所述步骤A存储的该分支的响应进行媒体重协商并建立会话。
3.根据权利要求2所述的使用背靠背用户代理时实现分叉的方法,其特征在于,所述步骤B1中,所述背靠背用户代理向其它分支发送BYE消息。
4.根据权利要求2所述的使用背靠背用户代理时实现分叉的方法,其特征在于,所述步骤B2中,所述背靠背用户代理发送UPDATE消息进行媒体重协商。
5.根据权利要求1至4中任一项所述的使用背靠背用户代理时实现分叉的方法,其特征在于,所述媒体协商和所述媒体重协商的内容包含会话描述协议信息。
6.根据权利要求1至4中任一项所述的使用背靠背用户代理时实现分叉的方法,其特征在于,所述背靠背用户代理为应用服务器。
7.根据权利要求1至4中任一项所述的使用背靠背用户代理时实现分叉的方法,其特征在于,所述背靠背用户代理存储的其它分支的响应包含会话描述协议信息和TO头域的totag标记。
8.根据权利要求1至4中任一项所述的使用背靠背用户代理时实现分叉的方法,其特征在于,在网际互联协议多媒体子系统中使用。
全文摘要
本发明涉及通信领域,公开了一种使用背靠背用户代理时实现分叉的方法,使得AS在B2BUA的应用模式下,能够实现后向网元发生分叉的业务场景。本发明中,作为B2BUA的AS不直接透传分叉分支中后向网元或终端的响应,而是选择一个分支的响应进行前向传递,同时存储其它分支的响应,AS还根据后向网元或终端的选择情况,决定是否根据存储的其它分支响应发起重协商。
文档编号H04L29/06GK1984126SQ200510111460
公开日2007年6月20日 申请日期2005年12月13日 优先权日2005年12月13日
发明者赵君贤 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1