具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在IMS网络所实现的会话中,主要特征之一是在IUT过程中除了主控UE可以主动将媒体转移到受控UE,受控UE也可以将联合会话中主控UE或其他受控UE上的媒体转移到自身,或不在联合会话的UE发起拉方式媒体转移请求,将联合会话中的媒体转移到自身并加入联合会话,从而增强了IUT功能。会话连续性课题在REL10阶段允许向不同签约UE转移媒体,在UE发现过程允许发现属于不同签约的UE信息及其上的会话信息,同理对于拉方式媒体转移,允许属于同一签约的UE发起拉方式媒体转移请求,也允许属于不同签约的UE发起拉方式媒体转移请求,这里的同一签约是指发起拉方式媒体转移请求的UE与媒体所在的目标UE属于同一签约。
在会话发现阶段,若被发现的目标UE是联合会话的受控UE,所获得的会话信息仅是目标UE上的会话信息而不包含目标UE所在联合会话中的信息。针对现有技术的已有情况,无论发起媒体转移的UE是否在联合会话中,无论是向主控UE还是受控UE发起拉方式媒体转移请求,且无论发起者UE、受控UE和主控UE是否归属于同一SCC AS,本发明实施例的技术方案皆可实现拉方式媒体转移,保证会话连续性。
实施例一
图1为本发明实施例一提供的用户设备间媒体转移方法的流程图,为描述清楚起见,进行如下命名定义:联合会话中的主控UE所归属的SCC AS称为主控SCC AS;受控UE所归属的SCC AS称为受控SCC AS;发起拉方式媒体转移操作的UE称为发起者UE;发起者UE所归属的SCC AS称为发起者SCC AS;被转移的媒体所在的原UE称为目标UE,目标UE所归属的SCC AS称为目标SCC AS。上述的命名是从不同角度对UE和SCC AS进行的区分,实际应用中,发起者UE也可能是联合会话中的受控UE,发起者SCC AS、目标SCC AS和主控SCC AS也可能是同一SCC AS。不同的UE可能属于同一签约,归属于同一SCC AS,也可能属于不同签约并归属于不同SCC AS。
在请求执行媒体转移之前,首先是发起者UE在会话发现过程中发现目标UE上的会话信息,所发现的目标UE可能是联合会话的主控UE也可能是联合会话的受控UE。所发现的会话信息包括被发现的目标UE所参与的各会话的会话标识信息(session-ID)和媒体类型等。发起者UE根据以上信息确定将其中一个或多个媒体转移到自身。
本实施例的UE间媒体转移方法具体包括如下步骤:
步骤100、目标SCC AS接收发起者UE向目标UE发起的拉方式媒体转移请求,目标SCC AS终止将拉方式媒体转移请求发送至目标UE;
在步骤100中,目标SCC AS为目标UE所归属的SCC AS,该拉方式媒体转移请求中包括会话标识信息,该会话标识信息用于标识目标UE上待转移媒体所在的会话,具体为目标UE与目标SCC AS之间会话的会话标识信息。在该拉方式媒体转移请求中还可以包括其他信息,例如发起者UE标识和目标UE标识等;
在IMS网络中,拉方式媒体转移请求可以经发起者UE所属的S-CSCF,通过初始过滤准则(Initial Filter Criteria,简称iFC)发送到发起者UE所归属的发起者SCC AS。UE与SCC AS之间所传送消息需经过的中间网元本文将不再赘述。
在步骤100中,目标SCC AS接收来自发起者UE的拉方式媒体转移请求具体包括:接收到拉方式媒体转移请求的SCC AS根据媒体转移请求中的目标UE标识判断目标UE是否归属于本机,若是,则确定本机为目标SCCAS,继续执行后续步骤200,若否,则根据目标UE标识发送拉方式媒体转移请求,直至目标SCC AS接收到来自发起者UE的拉方式媒体转移请求。即,拉方式媒体转移请求是基于目标UE标识,可经多跳转发至目标SCC AS的。由于该请求是拉方式的媒体转移请求,所以其到达目标SCC AS之后终止,由SCC AS执行媒体转移操作,从而无须向目标UE发送。
步骤200、当该待转移媒体所在的会话为联合会话,且目标SCC AS根据会话标识信息判断本机是待转移媒体所在联合会话的受控SCC AS时,则将拉方式媒体转移请求转发至该联合会话的主控SCC AS,以使得主控SCC AS进行媒体转移,其中,主控SCC AS为该联合会话的主控UE所归属的SCC AS。
具体应用中,各SCC AS可以根据拉方式媒体转移请求中的会话标识信息以及本机保存的联合会话信息判断本机是否为主控SCC AS。
当目标SCC AS判断出本机是主控SCC AS时,则目标SCC AS作为主控SCC AS可以直接进行媒体转移操作,这也是主控UE作为目标UE,或目标UE和主控UE归属于同一SCC AS的简单情况。
在目标SCC AS将拉方式媒体转移请求转发至主控SCC AS的过程中,还可以进一步将拉方式媒体转移请求中所包含的目标UE与目标SCC AS之间的会话标识信息,转换为目标SCC AS与主控SCC AS之间的会话标识信息。
在步骤200中,目标SCC AS是一个受控SCC AS,需要进行会话标识信息的转换。改变会话标识信息的原因在于:受控SCC AS在受控UE建立媒体时作为背靠背用户代理(back to back User Agent,简称B2BUA),将信令发送到主控SCC AS,因此在该受控UE的接入分支中,受控UE与受控SCC AS间的会话与受控SCC AS与主控SCC AS间的会话具有不同的会话标识,导致有不同的会话标识信息。原始拉方式媒体转移请求中的会话标识信息为受控UE与受控SCC AS间的会话标识,主控SCC AS无法匹配到,所以需要进行转换,使得主控SCC AS根据受控SCC AS与主控SCC AS之间的会话标识信息匹配到待转移媒体所在的会话。
目标SCC AS向主控SCC AS转发拉方式媒体转移请求的方式有多种,例如:包括重定向和直接发送的方式。
可以采用邀请(invite)消息作为拉方式媒体转移请求,该拉方式通过邀请消息中的消息头指示。消息头具体可以采用内容部署或主题消息头。
当拉方式媒体转移请求采用邀请消息时,转发操作具体可以为:目标SCCAS根据邀请消息中的发起者UE标识判断发起者UE是否归属于本机;
若否,则将邀请消息重定向至主控SCC AS。具体的,目标SCC AS可以向发起者UE发送的邀请消息返回重定向消息,以将邀请消息直接发送到主控SCC AS,并在重定向消息中携带目标SCC AS与主控SCC AS间的会话标识信息,以使得发起者SCC AS更新邀请消息中的会话标识信息,更新为目标SCC AS与主控SCC AS间的会话标识信息,并将该邀请消息直接发送至主控SCC AS。
若是,则直接将邀请消息向主控SCC AS发送。实际应用中,即使发起者SCC AS和目标SCC AS不是同一个SCC AS,也可以不进行重定向,而由目标SCC AS直接将拉方式媒体转移请求转发至主控SCC AS。实际应用中采用重定向,由发起者UE向主控SCC AS发送拉方式媒体转移请求的手段,其优点是在后续所执行的信令流程中,可以减少目标SCC AS作为中间节点的转发过程。
拉方式媒体转移请求还可以采用转移(refer)消息,转移消息中采用消息的头域指示发起者UE完成拉方式媒体转移后加入当前联合会话。该头域可以为转移目标(refer-to)头域,其中携带表示加入当前联合会话的信息。在该方式下,转发操作可以是目标SCC AS直接将转移消息向主控SCC AS发送,同时,将转移消息中原有的会话标识信息更新为目标SCC AS与主控SCCAS间的会话标识信息。
目标SCC AS向主控SCC AS转发拉方式媒体转移请求的方式包括但不限于为上述两种。
当拉方式媒体转移请求发送至主控SCC AS之后,主控SCC AS根据拉方式媒体转移请求中的目标UE标识、发起者UE标识和转换后的会话标识信息将待转移媒体从目标UE转移至发起者UE的步骤具体可以包括:
主控SCC AS判断发起者UE是否在当前联合会话中,若否,则向发起者UE新建会话,在新建的会话中建立待转移媒体,并更新对端,释放目标UE上的媒体,从而将待转移媒体转移至发起者UE;若是,则可以向发起者UE新建会话,在新建的会话中建立待转移媒体,或者可以在当前联合会话中发起者UE对应的原接入分支中增加待转移媒体,并更新对端,释放目标UE上的媒体,从而完成媒体转移操作。
无论发起者UE是否在当前联合会话中,主控SCC AS通过新建会话进行媒体转移操作的过程中,还可以进一步包括:主控SCC AS向发起者SCC AS发送通知消息,以通知发起者SCC AS新建会话属于当前联合会话、发起者UE为该联合会话的受控UE、联合会话的主控UE的信息和/或联合会话的主控SCC AS的信息,例如主控UE和主控SCC AS的地址信息和身份信息等以便发起者UE和发起者SCC AS各自获知自身在联合会话中的身份信息,易于其他操作的执行。
IMS网络中一般采用会话发起协议(Session Initiation Protocol,简称SIP)信令作为呼叫控制信令。本发明实施例可以基于已有的信令消息来实现UE间媒体转移方法,下面通过各实施例分别进行描述。
实施例二
图2为本发明实施例二提供的用户设备间媒体转移方法的信令流程图。本实施例具体采用邀请(invite)消息作为拉方式媒体转移请求,所适用的情况具体为联合会话中的主控UE和受控UE归属于不同的SCC AS,由不属于联合会话的发起者UE向联合会话的受控UE请求转移媒体,且发起者UE与主控UE和受控UE分别属于不同签约,归属于不同的SCC AS。发起者UE通过会话发现过程获取到目标UE上的会话及媒体信息。
邀请消息是SIP信令的一种,包括多个头域和消息体。本实施例基于该邀请消息所执行的方法包括如下步骤:
步骤201、发起者UE发起邀请消息以建立会话,并在邀请消息中携带拉方式媒体转移指示。
该邀请消息中至少包括发起者UE标识、目标UE标识、以及目标UE与目标SCC AS之间的会话标识信息。该邀请消息实际上首先被发送至发起者SCC AS,由网络侧根据目的地址进行路由转发。在本实施例中邀请消息的目的地址是目标UE标识。
邀请消息可以利用其头域和消息体来携带信息,例如:会话描述协议(Session Description Protocol,简称SDP)消息体、内容部署或主题头域、加入头域、统一资源标识(Uniform Resource Identifier,简称URI)头域、目标头域和源头域。
1)SDP消息体的媒体行指示在其自身所要建立的媒体,即待转移媒体的类型;
2)内容部署或主题(content-disposition/subject:pull-media)头域,通过消息头内容部署或主题头域来指示该邀请消息为拉方式的媒体转移请求;
3)加入(Join)头域,可以利用加入头域来指示待转移媒体所在目标UE上的会话信息,也表示发起者UE在完成媒体转移后加入该联合会话,以区别于转移媒体后新建IMS会话的情况。为表达上述信息,加入头域具体可以为在会话发现阶段获取到的目标UE上的会话标识信息,本实施例中具体为受控UE与受控SCC AS间会话的会话标识信息。会话标识信息可以由会话标识、会话源端标识和会话对端标识组成,例如具体形式可以为“Join:7@c.example.org;to-tag=xyz;from-tag=pdq”。
4)统一资源标识请求(request-URI)头域,又可称为标识请求头域,指示该邀请消息所发送的目的地。在发起拉方式媒体转移请求时,目的地址是目标UE标识。各个UE标识可以但不限于采用UE的URI来进行标识。
5)目标头域和源头域,源头域中为发起者UE的身份信息,例如,“From:发起者UE URI”,目标头域为目标UE的身份信息,例如“To:受控UE URI”。目标头域和标识请求头域的参数虽然一致,但是其在被解析识别时具备不同的标识功能。
步骤202、接收到邀请消息的SCC AS根据邀请消息中的目的地址判断本机是否为目的地址所指向UE归属的SCC AS,若是,则继续执行步骤204,若否,则根据目的地址继续发送邀请消息,并执行步骤203。
本实施例中的邀请消息首先被发送至发起者SCC AS,由于假设发起者SCCAS和目标SCC AS为不同的SCC AS,所以本次发起者SCC AS的判断结果为否,继续转发该邀请消息。
在步骤202中,接收到邀请消息的SCC AS可以首先根据邀请消息内容部署或主题头域来识别出该邀请消息为拉方式媒体转移请求。本步骤在识别到邀请消息为拉方式媒体转移请求后,还可以由发起者SCC AS进一步验证发起者UE是否具有发起拉方式媒体转移请求的权利,若是,则继续执行后续步骤203,否则向发起者UE返回错误响应,例如4**响应消息,用于终止邀请消息。
步骤203、接收到邀请消息的SCC AS根据邀请消息中的目的地址判断本机是否为发送目的地址所指向UE归属的SCC AS,与步骤202的操作一致,若是,则继续执行后续步骤204;若否,则根据目的地址发送邀请消息,直至目的地址所指向UE归属的SCC AS接收到来自发起者UE的邀请消息,本实施例即发送至目标SCC AS。
步骤204、邀请消息发送至目标UE所归属的目标SCC AS,目标SCC AS根据邀请消息内容部署或主题头域识别出该邀请消息为拉方式媒体转移请求时,即终止将该请求向目标UE发送。进一步的,目标SCC A在进行后续判断逻辑之前,也可以向目标UE认证是否允许发起者UE向目标UE发起拉方式媒体转移请求。
接收到邀请消息的目标SCC AS判断本机是否为待转移媒体所在联合会话的主控SCC AS,若是,则该SCC AS可以作为主控UE执行媒体转移,若否,则执行步骤205。
在本实施例中,由于目标UE是受控UE,所以邀请消息被发送至受控SCCAS,因此步骤204中的目标SCC AS作为受控UE,且受控SCC AS和主控SCC AS为不同的SCC AS,所以判断结果为否,继续执行步骤205。
步骤204中SCC AS判断本机是否为联合会话的主控SCC AS具体可以依据邀请消息中包含的会话标识信息以及本机保存的联合会话信息进行判断。
步骤205、目标SCC AS根据邀请消息中的发起者UE标识判断发起者UE是否归属于本机,若否,则返回重定向消息,以指示接收到重定向消息的发起者SCC AS根据重定向消息更新邀请消息中的会话标识信息,并将更新后的邀请消息向主控SCC AS发送,若是,则目标SCC AS将邀请消息中的会话标识信息进行更新,并将已更新的邀请消息直接向主控SCC AS发送。
本实施例中由于发起者SCC AS和目标SCC AS不是同一个SCC AS,所以步骤205实际上执行重定向的操作,将转换后的会话标识信息携带在重定向消息中发送。
邀请消息中的会话标识信息需要更新的原因在于:邀请消息加入头域中的会话标识信息为受控UE与受控SCC AS间的会话标识,为使主控SCC AS可以找到与该会话标识匹配的会话,需要将加入头域中的会话标识信息更新为受控SCC AS与主控SCC AS之间会话的会话标识信息。
步骤205中,对会话标识信息进行转换处理,而后将其携带在重定向消息中的具体操作如下:
重定向消息可以采用302重定向响应消息(302(redirect))来实现。302重定向响应消息中的交互地址(contact)头域具体为受控SCC AS保存的该联合会话主控SCC AS的公共业务标识(Public Service Identity,简称PSI),用于表示重定向的目的地址,指示收到该重定向消息的发起者SCC AS将原邀请消息发送到交互地址头域所指定的地址,即联合会话的主控SCC AS。
由于加入头域不允许在回复消息中携带,因此在302重定向响应消息中通过可扩展标记语言(Extensible Markup Language,简称XML)消息体来携带转换后的会话标识信息。XML消息体的具体形式如下:
1)用application/dialog-info+xml格式消息体
Content-Type:application/dialog-info+xml
Content-Disposition:Join-session //表示消息体的内容
<?xml version=″1.0″?>
<dialog-info xmlns=″urn:ietf:params:xml:ns:dialog-info″
version=″1″
state=″full″
entity=″sip:sccas2@example.com″>
<dialog id=″as7d900as8″call-id=″a84b4c76e66710″
local-tag=″1928301774″remote-tag=″456887766″>
//该项表示加入会话的会话标识信息
<state>confirmed</state>
</dialog>
</dialog-info>
2)为加入会话(Join session)新定义xml格式消息体
Xml schema:
<?xml version=″1.0″?>
<xs:schema targetNamespace=″urn:3gpp:ns:imsiut:join″
xmlns:join=″urn:3gpp:ns:imsiut:join″
xmlns:xs=″http://www.w3.org/2001/XMLSchema″
elementFormDefault=″qualified″
attributeFormDefault=″unqualified″>
<xs:element name=″join″type=″join:join-session-id″/>
<xs:complexType name=″join-session-id″>
<xs:sequence>
<xs:element name=″session-id″type=″join:Session″
min0ccurs=″0″max0ccurs=″1″/>
<xs:any namespace=″##other″processContents=″lax″
min0ccurs=″0″maxOccurs=″unbounded″/>
</xs:sequence>
<xs:anyAttribute namespace=″##other″
processContents=″lax″/>
</xs:complexType>
<xs:complexType name=″Session″>
<xs:sequence>
<xs:any namespace=″##other″processContents=″lax″
minOccurs=″0″maxOccurs=″unbounded″/>
</xs:sequence>
<xs:attribute name=″call-id″type=″xs:string″/>
<xs:attribute name=″lt″type=″xs:string″/>
<xs:attribute name=″rt″type=″xs:string″/>
<xs:anyAttribute namespace=″##other″
processContents=″lax″/>
</xs:complexType>
</xs:schema>
具体形式如:
Content-Type:application/vnd.3gpp.join+xml//消息体的类型,表明该消息体的内容是用来表示加入会话的会话信息。
<?xml version=″1.0″?>
<join xmlns=″urn:3gpp:ns:imsiut:join″>
<session-id call-id=″a84b4c76e66710″lt=″1928301774″
rt=″456887766″/>//表示加入会话的会话标识信息。
</ati>
上述无论哪种XML消息体都是一种可能的实现方式。
步骤206为:当发起者SCC AS接收到302重定向响应消息后,根据302重定向响应消息向主控SCC AS发送邀请消息。
在步骤206中,当发起者SCC AS接收到302重定向响应消息后,作为B2BUA终止将302重定向响应消息发到发起者UE,而根据302重定向响应消息的指示信息,向交互地址头域所指示的地址发送邀请消息,并将302重定向响应消息的XML消息体内容写入重定向的邀请消息的加入头域中,源头域和目标头域不变,将原邀请消息中的其他相关头域和消息体复制到重定向的邀请消息中。
步骤207~步骤217、主控SCC AS接收到来自发起者UE表示通过拉方式请求媒体转移的邀请消息,主控SCC AS根据拉方式媒体转移请求中的目标UE标识、发起者UE标识和转换后的会话标识信息将待转移媒体从目标UE转移至发起者UE。
接收到邀请消息的主控SCC AS根据内容部署或主题消息头识别出该邀请消息为拉方式媒体转移请求,并根据会话标识信息和本机保存的联合会话信息判断本机为待转移媒体所在联合会话的主控SCC AS。
主控SCC AS根据邀请消息源头域中的发起者UE标识以及本机保存的联合会话信息判断发起者UE是否在当前联合会话中,执行相应的媒体转移操作,当发起者UE不在该联合会话中时,关联到联合会话信息等操作如下:
步骤207、在执行媒体转移操作之前,主控SCC AS可以向主控UE认证是否允许发送者UE发起拉方式媒体转移请求,当接收到主控UE允许该发起者UE发起拉方式媒体转移请求时,则执行后续步骤,若主控UE不允许该发起者UE发起拉方式媒体转移请求时,则返回失败响应,例如4**失败响应消息;
步骤208、经过验证允许发起者UE将目标UE的媒体转移到自身时,则主控SCC AS向对端发送重邀请(re-invite)消息以更新对端,使得相应媒体在发起者UE与对端之间通信;
步骤209、对端返回200ok响应消息;
步骤210~213、主控SCC AS根据对端返回的信息,经发起者SCC AS向发起者UE返回邀请消息的200ok响应消息,完成转移的媒体协商,发起者UE经发起者SCC AS向主控SCC AS返回200ok确认消息ACK;
进一步的,主控SCC AS向发起者UE返回邀请消息的200ok响应消息时,可以向发起者SCC AS发送通知消息,以通知发起者SCC AS该新建会话属于当前联合会话,且对应UE为受控UE,该SCC AS属于受控UE归属的SCC AS。
该通知消息还可以包括联合会话的主要信息,如主控UE、主控SCC AS的地址或身份信息等。
以上信息可以通过200ok响应消息的XML消息体来携带,发起者SCC AS识别该消息,并保存消息体内容信息后删除该消息体,200ok响应消息继续发送到发起者UE。
步骤214、主控SCC AS向对端返回200ok响应消息的确认消息ACK;
步骤215~216、主控SCC AS更新媒体所在的目标UE,将转移到发起者UE的媒体从目标UE释放。
步骤217,主控SCC AS更新主控UE所保存的联合会话信息,即被转移的媒体所在UE由目标UE变为发起者UE。
在实际应用中,如果发出邀请消息的发起者UE与目标UE属于相同签约并归属于相同SCC AS,则根据邀请消息的目标头域,邀请消息会直接发送到目标UE归属的目标SCC AS,目标SCC AS通过判断源头域得知发出邀请消息的发起者UE归属于当前的目标SCC AS,则可以不发送302重定向响应消息,而直接将邀请消息发送到联合会话的主控UE所属的主控SCC AS。
本实施例给出了不在联合会话的UE利用邀请消息向联合会话的受控UE请求媒体转移的流程,在联合会话中受控UE与主控UE属于不同签约,受控SCC AS收到拉方式媒体转移请求后将其发送到主控SCC AS,由主控SCC AS完成媒体转移过程。该技术方案保证了UE间媒体转移的可靠性。
实施例三
图3为本发明实施例三提供的用户设备间媒体转移方法的信令流程图,本实施例所适用的情况为:已建立的联合会话中包括主控UE和两个以上受控UE,本实施例以两个受控UE为例进行说明,即第一受控UE和第二受控UE,三个UE属于不同签约下,分别归属的第一受控SCC AS、第二受控SCC AS和主控SCC AS为不同的SCC AS。本实施例具体为第二受控UE请求将第一受控UE上的媒体转移到自身的解决方法,第二受控UE作为发起者UE,第一受控UE作为目标UE,且以邀请消息作为拉方式媒体转移请求。
本实施例中,与实施例二类似,发起者UE仍可通过会话发现过程来发现其他UE上的会话及媒体信息,据此决定请求目标UE上的一个或多个媒体转移到自身。发起者UE不知道自身已是该联合会话中的受控UE,而且通过会话发现过程也无法获知与目标UE属于同一个联合会话,因此,第二受控UE仍类似于实施例二来发起拉方式媒体转移请求,该媒体转移方法包括如下步骤:
步骤301~步骤306与实施例二中的步骤201~206基本相同。第二受控UE作为发起者UE发起邀请消息以建立媒体转移的信令连接,该邀请消息中至少包括发起者UE标识、目标UE标识、以及目标UE与目标SCC AS之间的会话标识信息,其中目标UE上的媒体为待转移媒体。该邀请消息被发送至主控SCC AS。该邀请消息的头域和消息体等设定格式与实施例二相同,不再赘述。
步骤307~323、主控SCC AS根据拉方式媒体转移请求中的目标UE标识、发起者UE标识和转换后的会话标识信息将待转移媒体从目标UE转移至发起者UE。
主控SCC AS根据邀请消息的内容部署或主题消息头判断出该邀请消息为拉方式媒体转移请求,根据加入头域中的会话标识信息得知本机为该联合会话中的主控SCC AS,主控SCC AS根据邀请消息源头域中的发起者UE标识以及本机保存的联合会话信息判断发起者UE是否在当前联合会话中,如果否,则可以执行实施例二的步骤207~217,若是,则主控SCC AS在当前联合会话中发起者UE对应的原接入分支中增加待转移媒体,使得在同一接入分支内传递发起者UE上所有媒体的信令信息。
由于本实施例中发起者UE已属于该联合会话,所以主控SCC AS所执行的媒体转移与实施例二有所区别,具体流程如下:
步骤307、主控SCC AS向主控UE发起认证发起者UE的请求,并接收返回的认证是否允许的结果,若认证允许,则继续执行下述步骤;
步骤308~309、主控SCC AS向发起者UE返回邀请消息的终止响应,如487响应消息(487Request Terminated),经发起者SCC AS转发至发起者UE,以终止该邀请消息。
步骤310~311、发起者UE对主控SCC AS的最终响应消息经发起者SCC AS返回确认消息ACK;
步骤312~313、主控SCC AS查找发起者UE在当前联合会话中对应的原接入分支,在发起者UE的原接入分支内发送重邀请消息,并在重邀请消息中增加待转移媒体,具体可以在重邀请消息的SDP消息体中增加待转移媒体行(re-invite with pull media description in SDP),重邀请消息经过发起者SCC AS发送至发起者UE,以向该发起者UE增加待转移媒体;
步骤314~315、发起者UE经发起者SCC AS返回重邀请消息的200 ok响应消息,该响应消息中携带发起者UE为转移媒体分配的端口号等媒体描述信息;
步骤316~317、主控SCC AS根据发起者UE返回的转移媒体的描述信息向对端发送重邀请消息以更新对端,对端返回200ok响应消息;
步骤318~319、主控SCC AS向发起者UE返回对200ok响应消息的确认消息ACK;
步骤320、主控SCC AS向对端返回200ok响应消息的确认消息ACK;
步骤321~322、主控SCC AS更新媒体所在的目标UE,将转移到发起者UE的媒体从目标UE释放。
步骤323、主控SCC AS更新主控UE所保存的联合会话信息,即将转移媒体所在UE由第一受控UE变为第二受控UE。
如果发起者UE与目标UE属于相同签约,并归属于相同的SCC AS时,则拉方式媒体转移请求可以直接被发送到第一受控SCC AS,由第一受控SCC AS经过上述判断过程得出是由归属于本SCC AS的UE发出的请求,则不必返回302重定向响应消息,而直接将邀请消息转发到主控SCC AS。
一个受控UE向联合会话中其他受控UE发起拉方式媒体转移请求时,即使发起者UE在联合会话中,也可以采用实施例二的媒体转移方式,即不终止发起者UE新创建的会话,而使得发起者UE在此联合会话中有两个接入分支。存在两个接入分支使得UE可以在不同会话网传输不同媒体流,如受控UE请求转移视频媒体,在信道带宽更大的分组域接入网中建立视频媒体的接入分支,以利于媒体流传输,具体实现过程如实施例二所述。
本实施例给出联合会话的受控UE向联合会话的其他受控UE请求媒体转移的方案。发起者UE按照不在联合会话发出拉方式媒体转移请求,目标SCC AS收到拉方式媒体转移请求,将该拉方式媒体转移请求发送到主控SCCAS,由主控SCC AS完成媒体转移过程。主控SCC AS收到拉方式媒体转移请求后,判断发起者UE是否属于联合会话,并执行不同的处理方法;或者,对于属于联合会话的发起者UE,也可以按照不在联合会话中发起拉方式媒体转移请求的方法来执行媒体转移。本实施例的技术方案保证了UE间媒体转移的可靠性。
实施例四
图4为本发明实施例四提供的用户设备间媒体转移方法的信令流程图。本实施例可以沿用实施例二的情况,但与实施例二的区别在于,发起者UE可以属于或不属于当前的联合会话,本实施例采用转移(refer)消息作为拉方式媒体转移请求。其中,发起者UE、目标UE与主控UE属于不同签约,并归属于不同SCC AS。发起者UE通过会话发现过程发现其他UE的会话及媒体信息,根据获得的目标UE会话信息将目标UE一个或多个媒体转移到自身,该目标UE为联合会话的受控UE。
步骤401、发起者UE发起转移消息以将目标UE上的媒体转移到自身,该转移消息中至少包括发起者UE标识、目标UE标识、以及目标UE与目标SCC AS之间的会话标识信息,其中目标UE上的媒体为待转移媒体;
可以利用转移消息的多个头域和消息体来指示上述信息。具体的头域介绍如下:
转移目标(refer-to)头域,由于需要将媒体转移至发起者UE,所以转移目标头域记录发起者UE表示,即发起者UE自身的身份信息(可包括全局可路由用户代理标识符(Globally Routable User Agent URI,简称GRUU))。发起者UE所要转移的媒体类型可以包含在转移目标头域中,作为需要在其自身建立的媒体类型。例如为“Refer-to:<target-URI;GRUU;audio;video;>”,“audio”、“video”表示在转移目标头域所指的UE上建立音频、视频媒体。或者媒体类型也可以通过消息体携带,如在转移目标头域中携带SDP信息或在邀请消息中携带XML消息体,来指示待转移媒体。转移目标头域中的方式(method)项可以设置为“邀请(invite)”。
目标会话(target-dialog)头域,用于记录待转移媒体所在目标UE的会话标识信息,相当于邀请消息中加入头域的功能。为区别于转移媒体后单独建立会话,发起者UE可以向主控SCC AS指示转移后加入联合会话,发起者UE通过对转移消息的转移目标头域进行增强来体现这一信息。转移目标头域的转移目标UE URI后可携带目标UE的能力信息或特征信息,例如,根据“RFC3840”可以进行如下设定:
方法一:“sip:actor”中,可以用“attendant”表示加入目标会话头域所指向的会话,用“principal”表示单独建立新的IMS会话;
方法二:““sip:events=session”表示新建会话,而对于加入联合会话不特殊指示,网络侧只有收到有“events=session”指示才新建立会话,否则表示媒体转移后加入会话。
具体形式为“Refer-To:sip:conf44@example.com;principal(attendant)/session。”
目标头域和源头域,源头域中为发起者UE的身份信息,例如,“From:发起者UE URI”,目标头域为目标UE的身份信息,例如“To:受控UE URI”。目标头域和标识请求头域的参数虽然一致,但是其在被解析识别时具备不同的标识功能。
标识请求(request-URI)头域,指示该转移消息所发送的目的地。在发起拉方式媒体转移请求时,目的地址是目标UE标识。
实际应用中,可以通过多种参数项来标识该转移消息为拉方式媒体转移请求,例如通过源头域和转移目标头域的值相同来标识为拉方式媒体转移请求,也可以通过主题(subject)头域,如“subject:pull-media”来标识为拉方式媒体转移请求。如果转移消息中包含消息体,则可以通过“content-dispositon”,如“content-dispositon:pull-media”来标识为拉方式媒体转移请求。
步骤402、转移消息经过S-CSCF被发送到发起者UE所归属的SCC AS,发起者SCC AS判断出转移消息是通过拉方式请求媒体转移时可以首先验证发起者UE是否可以发出拉方式媒体转移请求,如果可以则继续后续步骤,如果不允许发起者UE发出拉方式媒体转移请求,则对转移消息返回“4**响应消息”。
接收到转移消息的SCC AS根据转移消息中的目的地址判断本机为转移消息的发送目的,若是,则由于该请求是拉方式媒体转移请求,所以终止向目标UE发送,继续执行步骤404,若否,则根据目的地址继续发送拉方式媒体转移请求,并执行步骤403。
步骤403、与步骤402类似,目标UE所归属的目标SCC AS接收到该转移消息。
步骤404、目标SCC AS识别到该转移消息为拉方式媒体转移请求时,则终止将转移消息向目标UE的发送,目标SCC AS根据转移消息目标会话头域中的会话标识信息和保存的联合会话信息判断本机是否为待转移媒体所在联合会话的主控SCC AS,若是,则该目标SCC AS可以作为主控UE执行媒体转移操作,若否,则执行步骤405;
进一步的,目标SCC AS判断收到的转移消息为拉方式媒体转移请求,在进行后续判断逻辑之前,也可以向目标UE认证是否允许发起者UE向目标UE发起拉方式媒体转移请求。
步骤405、目标SCC AS将转移消息中所包含的会话标识信息转换为目标SCC AS与主控SCC AS之间的会话标识信息,将该转移消息转发至主控SCC AS(redirect:refer),以便主控SCC AS根据邀请消息进行媒体转移。
目标SCC AS将转换后的转移消息转发至主控SCC AS。
对会话标识信息的转换,具体可以将目标会话头域的会话标识信息替换为目标SCC AS与主控SCC AS间的会话标识信息,以便主控SCC AS根据目标会话头域找到匹配的会话,并根据发起者UE和目标UE标识执行媒体转移操作。
为将转移消息发送至主控SCC AS,可以对转移消息作以下处理:
将标识请求头域的目标UE URI替换为主控SCC AS PSI,保持源头域和目标头域不变,并复制其他头域及消息体。主控SCC AS PSI与主控UE标识类似,均用于标识某一实体。
步骤406~418、主控SCC AS接收到转移消息,解析转移消息中的目标会话头域,根据本机保存的联合会话信息判断出本机在目标会话所属联合会话中为主控SCC AS,则主控SCC AS根据拉方式媒体转移请求中的目标UE标识、发起者UE标识和转换后的会话标识信息将待转移媒体从目标UE转移至发起者UE。具体流程如下:
步骤406、主控SCC AS可以向主控UE发送转移认证请求,以请求主控UE认证是否允许发送者UE发起拉方式媒体转移请求,当主控UE允许其发起拉方式转移请求时,则对该拉方式媒体转移请求返回接受响应消息,例如“202accept”响应消息,若主控UE不允许其发起拉方式转移请求时,则返回失败响应,例如4**失败响应消息,此处认为主控UE允许发起者UE发起拉方式媒体转移请求;
步骤407~409、主控SCC AS接受拉方式媒体转移请求,向发起者UE返回转移接受响应(202accept)。
步骤410、主控SCC AS根据转移消息源头域中的发起者UE标识和目标会话头域中的会话标识信息,及本机保存的联合会话信息判断发起者UE是否属于当前联合会话,若否,则执行步骤411,若是,则在当前联合会话中发起者UE对应的原接入分支上增加媒体,完成媒体转移过程;
步骤411、主控SCC AS根据拉方式媒体转移请求中所指示的待转移媒体类型,向发起者UE发出邀请消息,以建立发起者UE和主控SCC AS之间的新会话,在新会话中建立转移媒体;
该邀请消息的SDP消息体中携带主控SCC AS保存的相应媒体对端端口号和媒体描述信息。
进一步的,主控SCC AS可以在该邀请消息中携带通知信息,以指示发起者SCC AS该新建会话属于当前联合会话,且对应的发起者UE为受控UE,该发起者SCC AS为受控SCC AS。
通知信息中还可以包括该联合会话的主要信息:如主控UE和主控SCC AS的地址或身份信息等。
以上信息可以通过邀请消息的XML消息体来携带,发起者SCC AS识别该邀请消息,并保存邀请消息的消息体内容信息后删除消息体,将邀请消息继续发送到发起者UE。
步骤412、发起者UE经发起者SCC AS返回200ok响应消息;
步骤413~414、主控SCC AS向对端发送重邀请消息,更新对端连接,对端返回200ok响应消息;
步骤415、主控SCC AS经发起者SCC AS向发起者UE返回200ok响应消息的确认消息ACK;
步骤416、主控SCC AS向对端返回确认消息ACK,完成发起者UE与对端的媒体协商过程;
步骤417、主控SCC AS更新转移媒体所在的原UE上媒体信息,将转移到发起者UE的媒体从目标UE释放;
步骤418、主控SCC AS更新主控UE所保存的联合会话信息,即将被转移媒体所在UE由目标UE变为发起者UE。
本实施例中,当发起者UE与目标UE属于相同签约,归属于相同SCC AS时,其流程与上述过程相似,转移请求可经其SCC AS直接发送到主控SCC AS。
若发起者UE为联合会话的受控UE,向联合会话中其它受控UE采用拉方式转移媒体过程与上述过程相似,不同之处仅在于步骤410中在发起者UE已有的信令连接上通过重邀请消息向发起者UE建立媒体,且不必携带指示发起者SCCAS为受控SCC AS的XML消息体。
本实施例给出了发起者UE通过转移消息向联合会话中的受控UE请求媒体转移的方法,发起者UE可以属于或不属于该联合会话。受控SCC AS收到转移消息后会将其发送到联合会话的主控SCC AS,由主控SCC AS来执行媒体转移过程。本实施例的技术方案保证了UE间媒体转移的可靠性。
实施例五
本发明实施例五提供了用户设备实现媒体转移的方法,具体为发起者UE所执行的方法,包括如下步骤:
发起者UE向目标UE发起拉方式媒体转移请求,该拉方式媒体转移请求中包括会话标识信息,该会话标识信息用于标识目标UE上待转移媒体所在的会话,会话标识信息用于当目标SCC AS接收到拉方式媒体转移请求时,在待转移媒体所在的会话为联合会话,且判断本机是待转移媒体所在联合会话的受控SCC AS时,则将拉方式媒体转移请求转发至该联合会话的主控SCC AS,以使得主控SCC AS进行媒体转移,其中,目标SCC AS为目标UE所归属的SCC AS,主控SCC AS为联合会话的主控UE所归属的SCC AS。
UE可以采用不同的消息作为拉方式媒体转移请求。一种方式为发起者UE采用邀请消息作为拉方式媒体转移请求,媒体转移请求的拉方式通过邀请消息中的消息头指示。另一种方式为发起者UE采用转移消息作为拉方式媒体转移请求,并在转移消息中采用头域指示发起者UE完成拉方式媒体转移后加入当前联合会话。具体的应用实例可参加前述实施例所述。
本实施例提供的方法可以与本发明所提供的SCC AS执行的方法配合实现UE间媒体转移操作。
实施例六
图5为本发明实施例六提供的连续性应用服务器的结构示意图,具体包括:接收模块510和转发模块520。其中,接收模块510用于接收发起者UE向目标UE发起的拉方式媒体转移请求,其中,拉方式媒体转移请求中包括会话标识信息,会话标识信息用于标识目标UE上待转移媒体所在的会话;转发模块520用于当待转移媒体所在的会话为联合会话,且根据会话标识信息判断本机是待转移媒体所在联合会话的受控SCC AS时,则将拉方式媒体转移请求转发至联合会话的主控SCC AS,以使得主控SCC AS进行媒体转移,其中,主控SCC AS为联合会话的主控UE所归属的SCC AS。
该SCC AS还可以进一步包括转换模块530,用于在判断本机不是待转移媒体所在联合会话的主控SCC AS时,将拉方式媒体转移请求中所包含的会话标识信息转换为本机与主控SCC AS之间的会话标识信息。
拉方式媒体转移请求可以采用多种消息来实现。当拉方式媒体转移请求为邀请消息时,转发模块具体包括:重定向单元,用于当判断发起者UE不归属于本机时,将邀请消息重定向至主控SCC AS。
当本实施例的SCC AS作为主控SCC AS时,还可以进一步包括转移控制模块540,用于当根据拉方式媒体转移请求判断本机是待转移媒体所在联合会话的主控SCC AS时,根据拉方式媒体转移请求进行媒体转移。
该转移控制模块540具体可以包括:第一转移控制单元541和/或第二转换控制单元542。其中,第一转移控制单元541用于向发起者UE新建会话,在新建的会话建立待转移媒体;第二转换控制单元542用于当判断发起者UE在当前联合会话中时,在发起者UE在当前联合会话中的原接入分支中增加待转移媒体。
作为主控SCC AS时,还可以包括通知模块550,与第一转换控制单元541相连,用于向发起者SCC AS发送通知消息,以通知新建的会话属于当前联合会话、发起者UE为受控UE、主控UE的信息和/或主控SCC AS的信息。
本发明实施例还提供了一种用户设备,包括请求发起模块,用于向目标UE发起拉方式媒体转移请求,拉方式媒体转移请求中包括会话标识信息,会话标识信息用于标识目标UE上待转移媒体所在的会话,会话标识信息用于当目标SCC AS接收到拉方式媒体转移请求时,在待转移媒体所在的会话为联合会话,且判断本机是待转移媒体所在联合会话的受控SCC AS时,则将拉方式媒体转移请求转发至联合会话的主控SCC AS,以使得主控SCC AS进行媒体转移,其中,目标SCC AS为目标UE所归属的SCC AS,主控SCC AS为联合会话的主控UE所归属的SCC AS。
本发明实施例还提供了一种用户设备间媒体转移系统,包括:目标SCC AS和主控SCC AS。
目标SCC AS,用于接收发起者UE向目标UE发起的拉方式媒体转移请求,其中,目标SCC AS为目标UE所归属的SCC AS,拉方式媒体转移请求中包括会话标识信息,会话标识信息用于标识目标UE上待转移媒体所在的会话,且当待转移媒体所在的会话为联合会话,且目标SCC AS根据会话标识信息判断本机是待转移媒体所在联合会话的受控SCC AS时,将拉方式媒体转移请求转发至联合会话的主控SCC AS;
主控SCC AS,用于当根据接收到的拉方式媒体转移请求中所指示的待转移媒体所在会话的会话标识信息,判断本机是待转移媒体所在联合会话的主控SCC AS时,进行媒体转移。
本发明实施例所提供的用户设备、连续性应用服务器和系统,可以执行本发明实施例所提供的用户设备间媒体转移方法,具备相应的功能模块。本发明实施例的技术方案解决了现有技术中,目标受控UE与主控UE不归属于同一SCC AS时,发起者UE无法向联合会话的受控UE请求转移媒体的问题。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。