背景技术
IP(Internet Protocol,网络互联协议)多媒体子***(IP Multimedia CoreNetwork Subsystem,简称IMS)是由第三代合作伙伴计划(3rd GenerationPartnership Project,简称3GPP)提出的一种基于IP的网络架构,构建了一个的开放而灵活的业务环境,支持多媒体应用,能够为用户提供丰富的多媒体业务。
在IMS业务体系中,控制层和业务层是分离的,控制层不提供具体业务,只向业务层提供必要的触发、路由、计费等功能。控制层中业务触发和控制功能是呼叫会话控制功能(Call Session Control Function,简称CSCF)完成的,CSCF分为代理Proxy(P-CSCF)、查询Interrogating(I-CSCF)和服务Serving(S-CSCF)三种类型,其中负主要责任的是Serving,Interrogating类型是可选的。业务层是由一系列应用服务器(Application Server,简称AS)组成,能提供具体业务服务。控制层(S-CSCF)根据用户的签约信息控制业务触发,调用AS上的业务,实现业务功能。AS和S-CSCF可以统称为服务设备(ServerEquipment,简称SE)。会话中的端到端设备称为用户设备(User Equipment,简称UE),负责与使用者的交互。这些功能实体使用SIP(Session InitiationProtocol,会话初始协议)协议通讯。在需要播放多媒体信息的业务中,会需要多媒体资源功能(Media Resource Function,简称MRF)的参与,MRF也称为媒体服务器,分为控制部分MRFC和媒体处理部分MRFP,其控制部分负责将SE的SIP信令翻译和解释为对MRFP的指令,或者反之将MRFP的回应翻译和解释为向SE发送的SIP信令,而处理部分负责媒体流的发送和接收。
会话的最终目的是要实现媒体连接,因此需要在会话中协商媒体资源信息,IMS***中协商媒体资源信息的协议是SDP(Session Description Protocol,会话描述协议),协议的交互的方式为请求回应模式,即一个SDP请求必须有一个SDP回应,SDP请求和回应的内容都是媒体资源信息,媒体资源信息包括媒体所有者信息(包括地址信息),媒体连接地址,媒体类型以及与媒体类型相关的媒体端口和编解码器信息等,SDP回应的内容中,媒体数量、类型和顺序必须与SDP请求中的媒体数量,类型和顺序完全相同。SDP协议的内容通过SIP消息的消息体携带,交互过程独立于SIP的请求回应模式,也就是说SIP的请求或回应消息中可以携带SDP请求,也可以携带SDP回应,也可以不携带SDP协议内容。
而媒体连接又包括两种,一种是正常媒体连接,一种是早媒体连接,正常媒体连接是用户应答SIP呼叫请求后才能传输媒体数据的媒体连接,早媒体连接是用户尚未应答SIP呼叫请求前就可传输媒体数据的媒体连接。协商正常媒体连接的SDP请求及回应的内容就称为正常媒体SDP,协商早媒体连接的SDP请求及回应的内容就称为早媒体SDP。
呼叫建立过程中同时向主叫播放多媒体信息的业务是IMS中的一种业务,该业务也可称为彩铃业务,允许在呼叫过程中,向主叫方播放由被叫方事先定制好的多媒体信息;呼叫建立过程中同时向被叫播放多媒体信息的业务是IMS中的一种业务,该业务也可称为彩像业务,允许在呼叫过程中,向被叫方播放由主叫方事先定制好的多媒体信息。在被叫方应答后,彩铃彩像业务停止尚未停止的多媒体信息播。彩铃业务和彩像业务也可统称为早媒体业务。
图1为现有的彩铃彩像业务网络结构图,描述了主叫用户设备UE-A、被叫用户设备UE-B以及网络上的各网元间的关系,以及消息路由的过程,其说明如下:
S101、主叫用户设备UE-A在拜访网络中接入拜访网络的P-CSCF1,UE-A发出的SIP消息都通过P-CSCF1转发,并且从P-CSCF1接收发到UE-A的SIP消息;
S102、拜访网络的P-CSCF1将主叫发出的消息发往主叫归属网络的S-CSCF1,并且从S-CSCF1接收发往UE-A的SIP消息,然后将其发给UE-A;
S103、S-CSCF1根据主叫用户的业务定制情况或主叫发出的消息中的指定路由下一跳,向主叫用户的业务平台(即AS集合)中的某个AS转发主叫用户发出的消息(此过程称为业务触发),业务平台中一般有多个AS,此处只示出相关的彩像AS。业务平台的某个AS收到S-CSCF1发过来的消息,执行相应的业务逻辑,然后将处理过的消息转发回S-CSCF1,我们称主叫用户设备UE-A为被触发业务的AS的业务服务用户;
如果有多个主叫业务,S-CSCF1会再将消息继续发往业务平台的相应AS,因此会反复执行S103,直到主叫指定的业务都被执行过。
当S-CSCF1接收到被叫归属网络发回的SIP消息后,将消息发给最后触发业务的AS,并接收该AS发回的SIP消息,然后再将从业务平台接收到的消息发给倒数第二个触发业务的AS,如此反复,直到从最开始触发业务的AS收到发回的SIP消息,并将其发回主叫的拜访网络的P-CSCF1,换言之,也就是沿着业务触发相反的路径传递被叫归属网络发回的SIP消息。
S104、执行完主叫所有的业务触发后,S-CSCF1将主叫业务平台发出的消息发往被叫方的归属网络的S-CSCF2,并且从S-CSCF2接收发回的SIP消息;
S105、S-CSCF2根据被叫用户的业务定制情况或被叫发出的消息中的指定路由下一跳,向被叫用户的业务平台(即AS集合)中的某个AS转发被叫方发出的消息(此过程称为业务触发),业务平台中一般有多个AS,此处只示出相关的彩铃AS,业务平台的某个AS收到S-CSCF2发过来的消息,执行相应的业务逻辑,然后将处理过的消息转发回S-CSCF2,我们称被叫用户设备UE-B为被触发业务的AS的业务服务用户;
如果有多个被叫业务,S-CSCF2会再将消息继续发往业务平台的相应AS,因此会反复执行S105,直到被叫指定的业务都被执行过。
当S-CSCF2接收到被叫拜访网络发回的SIP消息后,将消息发给最后触发业务的AS,并接收该AS发回的SIP消息,然后再将从业务平台接收到的消息发给倒数第二个触发业务的AS,如此反复,直到从最开始触发业务的AS收到发回的SIP消息,并将其发回主叫归属网络的S-CSCF1,换言之,也就是沿着业务触发相反的路径传递被叫拜访网络发回的SIP消息;
S106、执行完主叫所有的业务触发后,S-CSCF2寻找到被叫的拜访网络的P-CSCF2,把主叫方发出的消息转发给P-CSCF2,并从P-CSCF2接收被叫方发回的SIP消息;
S107、P-CSCF2将被叫归属网络发往被叫的消息转发给UE-B,并接收UE-B发回的SIP消息,然后转发往被叫归属网络的S-CSCF2。
该图中,彩像AS在主叫归属网络,彩铃AS在被叫归属网络,但也可以彩像AS在被叫归属网络,从而服务于被叫方,向被叫方播放被叫方指定的彩像媒体信息;而彩铃AS也可以在主叫归属网络,从而服务于主叫方,向主叫方播放主叫方指定的彩铃媒体信息。
后续的流程图为了简化描述,将彩铃/彩像AS和S-CSCF画成了一个实体,他们两者之间的交互是标准的流程,由于P-CSCF只是负责转发,因此在流程图中也将其省略了。
图2为现有的一种彩铃业务的基本消息流程图,描述了主叫呼叫被叫,彩铃服务器在呼叫过程中向主叫播放彩铃,其过程如下:
步骤201~202、UE-A向UE-B发起呼叫请求,携带通话业务需要的SDP请求1,比如发送INVITE(邀请)消息,在消息体中以session(会话)类型携带SDP请求1,消息途经S-CSCF1、S-CSCF2的转发到达彩铃AS;此外,如果UE-A支持彩铃业务,则在该消息中携带支持彩铃业务SDP的标识;
步骤203、彩铃AS转发呼叫消息给UE-B,消息途经S-CSCF2到达UE-B;
步骤204、被叫UE-B收到呼叫消息,发送临时响应消息给主叫方,比如发送“183Session Progress(会话进展)”消息,并在消息体中以session类型携带UE-B的进行通话业务需要的SDP回应1,该临时响应消息途经S-CSCF2到达彩铃AS;
步骤205~206、彩铃AS执行被叫指定的彩铃业务,向主叫方播放彩铃信息,根据步骤202中携带的所述标识得知UE-A支持彩铃业务,于是在临时响应消息体中以early-session(早会话)类型添加彩铃的SDP请求,然后转发给UE-A,消息途经S-CSCF2、S-CSCF1,最终到达UE-A;
步骤207~208、UE-A收到临时响应消息,根据其中的UE-B的SDP回应1完成通话媒体的协商,并发送预确认消息,比如发送PRACK(预确认)消息,消息体中以early-session类型携带UE-A的彩铃SDP回应,消息途经S-CSCF1、S-CSCF2到达彩铃AS;
步骤209、彩铃AS收到预确认消息,根据其中的彩铃SDP回应完成彩铃媒体的协商,并将其从预确认消息中删除,然后将其转发给被叫UE-B,消息途经S-CSCF2最终到达UE-B;
步骤210~212、UE-B收到预确认,发送响应消息,比如发送“200OK”消息,消息途经S-CSCF2、彩铃AS、S-CSCF2、S-CSCF1,最终到达UE-A;
步骤213、彩铃AS向UE-A播放彩铃媒体信息;
步骤214、UE-B应答呼叫,发送应答消息,比如发送“200OK”消息,消息途经S-CSCF2,到达彩铃AS;
步骤215、彩铃AS停止播放彩铃媒体信息,然后转发应答消息,消息途经S-CSCF2、S-CSCF1到达UE-A;
至此,UE-A和UE-B建立起了媒体连接,开始通话。
彩像业务的实现与此例十分类似,只是UE-B需向网络通知其支持彩像业务SDP的标识,并同时进行两个媒体连接的资源信息协商,然后网络向UE-B播放媒体信息,这里不再赘述。
该技术的不足之处是:用户设备UE需要识别消息中的两个不同类型的SDP信息(步骤206),并能分别进行请求回应处理,从而可在一个对话刘程中同时建立两个媒体连接,这增加了对UE的要求,如果UE-A不支持早媒体业务SDP,或者不支持多个不同类型的SDP信息,也即在一个对话流程中只能有一个媒体连接,则该方法将无法实现。
图3为现有的另一种彩铃业务的基本消息流程图,描述了主叫呼叫被叫,彩铃服务器在呼叫过程中向主叫播放彩铃,其过程如下:
步骤301~304、与图2中的201~204相同;
步骤305、彩铃AS转发UE-B发过来的临时响应消息给主叫方,消息途经S-CSCF2、S-CSCF1到达UE-A;
步骤306、彩铃AS要执行被叫指定的彩铃业务,向主叫方播放彩铃信息,于是生成新的临时响应消息,比如“183Session Progress”,其与步骤305中的消息的对话标识不相同,消息体中以session类型添加彩铃的SDP回应,然后转发给UE-A,消息途经S-CSCF2、S-CSCF1到达UE-A;
步骤307、彩铃AS向UE-A播放彩铃媒体信息;
步骤308、UE-B应答呼叫,发送应答消息,比如发送“200OK”消息,消息途经S-CSCF2,到达彩铃AS;
步骤309、彩铃AS停止播放彩铃媒体信息,然后转发应答消息,消息途经S-CSCF2、S-CSCF1到达UE-A;
至此,UE-A和UE-B建立起了媒体连接,开始通话。
该技术的不足之处是:用户设备UE需要识别属于同一个呼叫的两个不同临时响应消息(步骤305~306),并能分别对其中的SDP信息进行请求回应处理,增加了对UE的要求。
发明内容
本发明要解决的技术问题是提供一种彩铃、彩像业务的实现方法及***,避免了对用户终端的过高要求,使传统用户终端无需升级即可享用早媒体业务。
为了解决上述问题,本发明提供了一种彩铃业务实现方法,所述方法包括:
主叫方通过转换应用服务器和彩铃服务设备向被叫方发送携带正常通话的会话描述协议SDP请求的呼叫请求,所述被叫方收到所述呼叫请求消息后,向所述主叫方发送临时响应;
所述彩铃服务设备收到所述临时响应后,根据所述呼叫请求消息中携带的支持彩铃业务SDP的标识在所述临时响应中添加彩铃SDP请求,并发往所述主叫方;
所述转换应用服务器收到所述临时响应后,基于所述彩铃SDP请求生成SDP回应,并将只包含所述SDP回应的临时响应发送给所述主叫方;
所述主叫方收到所述临时响应后,向所述被叫方发送预确认消息;所述转换应用服务器收到所述预确认消息后,基于所述正常通话的SDP请求生成彩铃SDP回应并将其包含在所述预确认消息中发送给所述彩铃服务设备,所述彩铃服务设备根据所述彩铃SDP回应完成彩铃媒体的协商。
此外,所述转换应用服务器基于所述彩铃SDP请求生成SDP回应是指,按照所述正常通话的SDP请求的回应要求、以所述彩铃SDP请求的内容为基础生成SDP回应。
此外,所述转换应用服务器基于所述正常通话的SDP请求生成彩铃SDP回应是指,按照所述彩铃SDP请求的回应要求、以所述正常通话的SDP请求的内容为基础生成彩铃SDP回应。
此外,如果接收到的所述呼叫请求中不带支持彩铃业务SDP的标识,则所述转换应用服务器在所述呼叫请求中添加支持彩铃业务SDP的标识。
此外,如果所述转换应用服务器在收到的所述被叫方的应答呼叫消息中没发现正常通话SDP请求,则所述转换应用服务器向所述被叫方发送不带任何SDP的重呼叫消息;所述被叫方发送重呼叫响应消息给所述主叫方,在所述重呼叫响应消息中携带所述被叫方的SDP请求;所述转换应用服务器收到所述重呼叫响应消息后,向所述主叫方转发应答呼叫消息,在所述应答呼叫消息中携带所述被叫方的SDP请求。
本发明还提供一种彩像业务实现方法,所述方法包括:
主叫方通过彩像服务设备和转换应用服务器向被叫方发送携带正常通话的会话描述协议SDP请求的呼叫请求;所述被叫方收到所述呼叫请求消息后,发送临时响应给所述主叫方;
所述转换应用服务器收到所述临时响应后,在所述临时响应中添加支持彩像业务SDP的标识,并通过所述彩像服务设备发送给所述主叫方;
所述主叫方返回预确认消息,所述彩像服务设备收到所述预确认消息后,根据所述支持彩像业务SDP的标识,在所述预确认消息中添加彩像SDP请求后发送给所述被叫方;
所述转换应用服务器收到所述预确认消息后,基于所述彩像SDP请求生成新的SDP请求,并将只包含所述新的SDP请求的预确认消息发送给所述被叫方,所述被叫方根据所述预确认消息中的SDP信息完成彩像媒体的协商。
此外,所述转换应用服务器基于所述彩像SDP请求生成新的SDP请求是指,按照所述正常通话SDP请求中要求的媒体类型顺序对所述彩像SDP请求作相应的媒体修改,并将所述正常通话SDP请求中没有的媒体类型信息放在后面。
此外,所述被叫方在所述临时响应中不携带SDP信息,并且所述预确认消息携带彩像SDP请求时,所述转换应用服务器在返回所述预确认消息的响应消息时,将所述响应消息中的彩像SDP回应的所有媒体标识为不可用或非活动状态。
此外,所述转换应用服务器在将基于所述彩像SDP请求生成新的SDP请求发给被叫方时,在所述新的SDP请求中添加所述主叫方和所述被叫方通话需要的媒体类型的信息。
此外,如果所述转换应用服务器在收到的所述被叫方的应答呼叫消息中没发现正常通话SDP请求,则所述转换应用服务器向所述被叫方发送不带任何SDP的重呼叫消息,所述被叫方发送重呼叫响应消息给所述主叫方,在所述重呼叫响应消息中携带所述被叫方的SDP请求;所述转换应用服务器收到所述重呼叫响应消息后,向所述主叫方转发应答呼叫消息,在所述应答呼叫消息中携带所述被叫方的SDP请求。
本发明还提供一种彩铃业务的实现***,包括位于被叫网络的彩铃服务设备,所述***还包括位于主叫网络的转换应用服务器,所述转换应用服务器包括标识添加模块和会话描述协议SDP请求生成模块,其中:
所述标识添加模块,用于在所述转换应用服务器收到所述主叫方发送的携带正常通话的SDP请求的呼叫请求后,如果所述呼叫请求中不带支持彩铃业务SDP的标识,则在所述呼叫请求中添加支持彩铃业务SDP的标识后发往被叫方;
所述SDP请求生成模块,用于在所述转换应用服务器收到所述彩铃服务设备发送的临时响应后,基于彩铃SDP请求生成SDP回应,并将只包含所述SDP回应的临时响应发送给所述主叫方;以及在收到所述主叫方回应所述临时响应的预确认消息后,基于所述正常通话的SDP请求生成彩铃SDP回应并将其包含在所述预确认消息中发送给所述彩铃服务设备;
所述彩铃服务设备,用于在收到所述被叫方返回的临时响应后,根据所述呼叫请求消息中携带的支持彩铃业务SDP的标识在所述临时响应中添加彩铃SDP请求,并发往所述主叫方;以及在收到所述转换应用服务器发送的所述预确认消息后,根据所述彩铃SDP回应完成彩铃媒体的协商。
此外,所述SDP请求生成模块是按照所述正常通话的SDP请求的回应要求、以所述彩铃SDP请求的内容为基础生成所述SDP回应;按照所述彩铃SDP请求的回应要求、以所述正常通话的SDP请求的内容为基础生成所述彩铃SDP回应。
此外,所述转换应用服务器在收到的所述被叫方的应答呼叫消息中没发现正常通话SDP请求时,向所述被叫方发送不带任何SDP的重呼叫消息。
本发明还提供一种彩像业务的实现***,包括位于主叫网络的彩像服务设备,所述***还包括位于被叫网络的转换应用服务器,所述转换应用服务器包括标识添加模块和会话描述协议SDP请求生成模块,其中:
所述标识添加模块,用于在所述转换应用服务器接收到被叫方回应主叫方呼叫请求的临时响应后,在所述临时响应中添加支持彩像业务SDP的标识后发送给所述主叫方;
所述彩像服务设备,用于在收到所述主叫方回应所述临时响应的预确认消息后,根据所述呼叫请求消息中携带的支持彩像业务SDP的标识在所述预确认消息中添加彩像SDP请求,并发往所述被叫方;
所述SDP请求生成模块,用于在收到所述彩像服务设备发送的所述预确认消息后,基于所述彩像SDP请求生成新的SDP请求,并将只包含所述新的SDP请求的预确认消息发送给所述被叫方。
此外,所述SDP请求生成模块器按以下方式基于所述彩像SDP请求生成新的SDP请求:按照所述正常通话SDP请求中要求的媒体类型顺序对所述彩像SDP请求作相应的媒体修改,并将所述正常通话SDP请求中没有的媒体类型信息放在后面。
此外,所述SDP请求生成模块在所述新的SDP请求中添加所述主叫方和所述被叫方通话需要的媒体类型的信息。
此外,所述转换应用服务器在收到的所述被叫方的应答呼叫消息中没发现正常通话SDP请求时,向所述被叫方发送不带任何SDP的重呼叫消息。
本发明的上述彩铃、彩像业务的实现方法及***,通过引入转换AS,避免了对用户终端的过高要求,使传统用户终端无需升级即可享用早媒体业务。
具体实施方式
下面将结合附图及实施例对本发明的技术方案进行更详细的说明。
图4为本发明的彩铃彩像业务网络结构图,与图2基本相同,只是在主叫归属网络和被叫归属网络的业务平台(AS集合)中增加了转换AS,其分别为主叫用户设备和被叫用户设备提供早媒体业务的转换服务,使传统用户终端设备不用升级即可享用早媒体业务。
下面用四个实施例进一步说明本发明。
图5为本发明实施例的彩铃业务基本消息流程图,描述了主叫呼叫被叫,彩铃服务器在呼叫过程中向主叫播放彩铃,其过程如下:
步骤401、UE-A向UE-B发起呼叫请求,携带通话业务需要的SDP请求1,比如发送INVITE(邀请)消息,在消息体中以session类型携带SDP请求1,消息途经S-CSCF1到达转换AS;
如果UE-A支持早媒体业务SDP,则可以在呼叫请求消息中携带支持早媒体业务SDP的标识;此实施例中,UE-A不支持早媒体业务SDP。
步骤402、转换AS在呼叫消息中添加支持彩铃业务SDP的标识,比如在Supported头域中添加early-session标识,然后转发呼叫消息,消息途经S-CSCF1、S-CSCF2到达彩铃AS;
步骤403、彩铃AS可以将步骤402中的标识删除后转发呼叫消息给UE-B,消息途经S-CSCF2到达UE-B;
步骤404、UE-B收到呼叫消息,发送临时响应消息给主叫方,比如发送“183Session Progress”消息,并在消息体中以session类型携带UE-B的进行通话业务需要的SDP回应1,该临时响应消息途经S-CSCF2到达彩铃AS;
步骤405、彩铃AS要执行被叫指定的彩铃业务,向主叫方播放彩铃信息,于是根据步骤402中添加的标识,在临时响应消息体中以early-session类型添加彩铃的SDP请求,然后转发给UE-A,消息途经S-CSCF2、S-CSCF1到达转换AS;
步骤406、转换AS收到临时响应消息,发现其中带有彩铃业务的SDP请求,于是基于此SDP请求生成SDP回应,并将临时响应消息中的彩铃SDP信息和通话业务的SDP信息删除后在消息体中以session类型添加上述生成的SDP回应,然后转发修改后的临时响应消息给主叫方,消息途经S-CSCF1到达UE-A;
其中,转换AS基于所述彩铃SDP请求生成SDP回应是指,按照所述SDP请求1的回应要求以所述彩铃SDP请求的内容为基础生成SDP回应。
例如,SDP请求1中的媒体类型只有音频,而彩铃SDP请求中包含的媒体类型有音、视频,则生成的SDP回应中应该只包含彩铃SDP请求中的音频媒体类型信息。这一过程是标准的。
步骤407、UE-A收到临时响应消息,根据其中的SDP信息完成媒体协商,然后发送预确认消息,比如发送PRACK消息,消息途经S-CSCF1到达转换AS;
步骤408、转换AS收到预确认消息,基于步骤401中收到的UE-A的SDP信息生成彩铃业务SDP请求的回应,并在消息体中以early-session类型添加该生成的彩铃SDP回应,消息途经S-CSCF1、S-CSCF2到达彩铃AS,此时,转换AS完成将彩铃SDP信息告知UE-A,并将UE-A的SDP信息告知彩铃AS,使UE-A与彩铃AS间能建立起媒体连接,从而使彩铃AS可以向UE-A播放彩铃,与现有技术不同,此例中UE-A在一个对话过程中只支持一个媒体连接的协商,因此,UE-A目前无法和UE-B协商媒体连接资源信息,这只能在应答后,彩铃媒体连接不再需要的情况下再协商,具体请参见步骤412及后续步骤;
其中,转换AS基于SDP请求1生成彩铃SDP回应是指,按照所述彩铃SDP请求的回应要求以所述SDP请求1的内容为基础生成彩铃SDP回应。
例如,彩铃SDP请求中的媒体类型有音、视频,而SDP请求1中包含的媒体类型只有音频,则生成的彩铃SDP回应中应该包含SDP请求1中的音频媒体类型信息,同时虚构视频媒体类型信息,其端口号为0,表示该媒体类型不可用。这一过程是标准的。
步骤409、彩铃AS收到预确认消息,根据其中的彩铃SDP回应完成彩铃媒体的协商,并将其从预确认消息中删除,然后将其转发给被叫UE-B,消息途经S-CSCF2最终到达UE-B;
步骤410、UE-B收到预确认,发送响应消息,比如发送“200OK”消息,消息途经S-CSCF2、彩铃AS、S-CSCF2、S-CSCF1、转换AS、S-CSCF1,最终到达UE-A;
步骤411、彩铃AS向UE-A播放彩铃媒体信息;
步骤412、UE-B应答呼叫,发送应答消息,比如发送“200OK”消息,消息途经S-CSCF2、彩铃AS、S-CSCF2、S-CSCF1,到达转换AS;
步骤413、转换AS发现主叫尚不能与被叫通话,因为在步骤406时并没有将被叫的通话业务SDP回应1发给UE-A,于是向被叫方发送重呼叫消息,比如发送reINVITE消息,消息中不带任何SDP信息,消息途经S-CSCF1、S-CSCF2、彩铃AS、S-CSCF2,最终到达UE-B;
步骤414、UE-B收到重呼叫消息,发送重呼叫响应消息,比如发送“200OK”消息,消息体中以session类型携带UE-B的新的SDP请求2,消息途经S-CSCF2、彩铃AS、S-CSCF2、S-CSCF1,到达转换AS;
步骤415、转换AS转发应答消息给UE-A,消息体中以session类型携带步骤414中收到的SDP请求2,消息途经S-CSCF1到达UE-A;
步骤416、UE-A发送确认消息,比如发送ACK(确认)消息,消息体中以session类型携带UE-B响应的SDP回应2,消息途经S-CSCF1、转换AS、S-CSCF1、S-CSCF2、彩铃AS、S-CSCF2,最终到达UE-B;
至此,UE-A和UE-B建立起了媒体连接,开始通话。
图6为本发明实施例的彩像业务基本消息流程图,描述了主叫呼叫被叫,彩像服务器在呼叫过程中向被叫播放彩像,其过程如下:
步骤501、UE-A向UE-B发起呼叫请求,携带通话业务需要的SDP请求1,比如发送INVITE(邀请)消息,在消息体中以session类型携带SDP请求1,消息途经S-CSCF1到达彩像AS;
步骤502、彩像AS转发呼叫消息,消息途经S-CSCF1、S-CSCF2到达转换AS;
步骤503、转换AS转发呼叫消息,消息途经S-CSCF2到达UE-B;
步骤504、UE-B收到呼叫消息,发送临时响应消息给主叫方,比如发送“183Session Progress”消息,并在消息体中以session类型携带UE-B的进行通话业务需要的SDP回应1,该临时响应消息途经S-CSCF2到达转换AS;
步骤505、转换AS判断收到的消息是否含有通话业务的SDP信息,即临时响应消息中是否携带SDP回应1,如果有则在临时响应消息中添加支持彩像业务SDP的标识,比如在Supported头域中添加early-session标识,然后转发临时响应消息,消息途经S-CSCF2、S-CSCF1到达彩像AS;如果没有则不添加,直接转发该临时响应消息;
在此实施例中,UE-B在临时响应消息中携带了SDP回应1,则转换AS在临时响应消息中添加支持彩像业务SDP的标识;在本发明其他实施例中,也可不判断,直接添加支持彩像业务SDP的标识。
步骤506、彩像AS可以将步骤505中的标识删除后转发临时响应消息给UE-A,消息途经S-CSCF1到达UE-A;
步骤507、UE-A收到临时响应消息,根据其中的SDP信息完成媒体协商,然后发送预确认消息,比如发送PRACK消息,消息途经S-CSCF1到达彩像AS;
步骤508、彩像AS要执行被叫指定的彩像业务,向被叫方播放像铃信息,于是根据步骤505中添加的标识,在预确认消息体中以early-session类型添加彩像SDP请求,然后转发给UE-B,消息途经S-CSCF1、S-CSCF2到达转换AS;
步骤509、转换AS收到预确认消息,发现其中带有彩像SDP请求,于是基于此彩像SDP请求生成新的SDP请求,以更改媒体资源信息,并将预确认消息中的彩像SDP信息和可能有的通话业务SDP信息删除后在消息体中以session类型添加生成的SDP请求,然后转发修改后的预确认消息给被叫方,消息途经S-CSCF2到达UE-B;
其中,转换AS基于所述彩像SDP请求生成新的SDP请求是指,按照所述SDP请求1中要求的媒体类型顺序对彩像SDP请求作相应的媒体修改,并将SDP请求1中没有的媒体类型信息放在后面。
例如,SDP请求1中的媒体类型顺序为音频、视频,而彩像SDP请求中的媒体类型顺序为视频、音频,则需要将彩像SDP请求的媒体类型顺序修正为音频、视频;
或者,SDP请求1中的媒体类型只有音频,而彩像SDP请求中的媒体类型包含视频和音频(顺序为视频、音频),则新的SDP请求中需增加视频媒体类型,且新的SDP请求中的媒体类型顺序为音频、视频,媒体类型信息来自彩像SDP请求。这一过程是标准的。
另外转换AS还可在新的SDP请求中添加主被叫通话需要的媒体类型的信息,这样使得UE-B保留有通话业务需要的所有媒体的相关信息,从而在后续的重协商过程中(步骤515及后续),UE-B能在其发送的SDP请求中携带所有通话业务需要的所有媒体的相关信息,使得重协商后建立的UE-A和UE-B间的媒体连接包含通话业务需要的所有媒体类型。
步骤510、UE-B收到预确认,发送响应消息,比如发送“200OK”消息,消息体中以session类型携带UE-B响应的彩像业务的SDP回应,消息途经S-CSCF2到达转换AS,此时UE-B的媒体资源信息已经更改,但UE-A不知道这个更改,因此UE-A和UE-B无法建立媒体连接;
步骤511、转换AS收到响应消息,基于步骤510中收到的UE-B的SDP信息生成彩像业务SDP请求的回应,并在消息体中以early-session类型添加该生成的彩像SDP回应,消息途经S-CSCF2、S-CSCF1到达彩像AS,此时,转换AS完成将彩像SDP信息告知UE-B,并将UE-B的SDP信息告知彩像AS,使UE-B与彩像AS间能建立起媒体连接,从而使彩像AS可以向UE-B播放彩像。与现有技术不同,此实施例中UE-B在一个对话过程中只支持一个媒体连接的协商,因此,UE-B目前无法继续和UE-A协商媒体连接资源信息,这只能在应答后,彩像媒体连接不再需要的情况下再协商,具体请参见此实施例的514及后续步骤;
步骤512、彩像AS收到响应消息,根据其中的彩像SDP回应完成彩像媒体的协商,并将所述彩像SDP回应从响应消息中删除,然后将响应消息转发给主叫UE-A,消息途经S-CSCF1最终到达UE-A;
步骤513、彩像AS向UE-B播放彩像媒体信息;
步骤514、UE-B应答呼叫,发送应答消息,比如发送“200OK”消息,消息途经S-CSCF2到达转换AS;
步骤515、转换AS发现被叫尚不能与主叫通话,因为在步骤509时已经将UE-B的媒体连接更新为接收彩像媒体,于是向被叫方发送重呼叫消息,比如发送reINVITE消息,消息中不带任何SDP信息,消息途经S-CSCF2到达UE-B;
步骤516、UE-B收到重呼叫消息,发送重呼叫响应消息,比如发送“200OK”消息,消息体中以session类型携带UE-B的新的SDP请求2,消息途经S-CSCF2到达转换AS;
步骤517、转换AS转发应答消息给UE-A,消息体中以session类型携带步骤516中收到的SDP请求2,消息途经S-CSCF2、S-CSCF1、彩像AS、S-CSCF1,最终到达UE-A;
步骤518、UE-A发送确认消息给被叫方,比如发送ACK消息,消息体中以session类型携带UE-A响应的SDP回应2,消息途经S-CSCF1、彩像AS、S-CSCF1、S-CSCF2、转换AS、S-CSCF2,最终到达UE-B;
至此,UE-A和UE-B建立起了媒体连接,开始通话。
图7为本发明的下载方式的彩像业务基本消息流程图,描述了主叫呼叫被叫,由于被叫流程的限制,彩像服务器只得采用其它方式向被叫提供彩像媒体,其过程如下:
步骤601~603、与图5的501~503相同;
步骤604、UE-B收到呼叫消息,发送临时响应消息给主叫方,比如发送“180Ringing”消息,消息途经S-CSCF2到达转换AS,该临时响应消息中不携带SDP回应;
步骤605、转换AS判断收到的消息中不含通话业务的SDP信息,则不添加支持彩像业务SDP的标识;转发临时响应消息,消息途经S-CSCF2、S-CSCF1到达彩像AS;
或者,也可不判断,直接添加支持彩像业务SDP的标识,比如在Supported头域中添加early-session标识,然后再转发临时响应消息;
步骤606、如果步骤605中添加了支持彩像业务SDP的标识,则彩像AS可以将其删除后转发临时响应消息给UE-A,消息途经S-CSCF1到达UE-A;
步骤607、UE-A收到临时响应消息,发送预确认消息,比如发送PRACK消息,消息途经S-CSCF1到达彩像AS;
步骤608、如果步骤605中添加了支持彩像业务SDP的标识,则彩像AS在预确认消息体中以early-session类型添加彩像的SDP请求,然后转发给UE-B;如果没有添加,则彩像AS直接转发预确认消息,消息途经S-CSCF1、S-CSCF2到达转换AS;
步骤609、转换AS收到预确认消息,如果其中带有彩像业务的SDP请求,但其尚未收到被叫用户的SDP信息,由于标准要求协商某个媒体连接的SDP请求与响应必须成对,因此在没收到SDP回应前,转换AS无法将彩像SDP请求发给UE-B,于是将预确认消息中的彩像SDP信息删除,然后转发修改后的预确认消息给被叫方,否则直接转发预确认消息给被叫方,消息途经S-CSCF2到达UE-B;
步骤610、UE-B收到预确认,发送响应消息,比如发送“200OK”消息,消息途经S-CSCF2到达转换AS;
步骤611、转换AS收到响应消息,如果步骤609中收到的消息带彩像SDP请求,由于请求必须要有回应,则转换生成彩像SDP回应,又由于实际上转换AS无法使UE-B与彩像AS交换SDP信息,所以必须通知彩像AS不能向UE-B播放彩像,所以彩像SDP回应中的所有媒体的端口号全为0,表示不可用,或所有媒体的属性都是inactive(非活动),这些都可表示禁止播放,并在消息体中以early-session类型添加该生成的彩像SDP回应,如果步骤609中收到的消息不带彩像SDP信息,则直接转发该响应消息,消息途经S-CSCF2、S-CSCF1到达彩像AS;
步骤612、彩像AS收到响应消息,如果步骤608时其添加了彩像SDP请求,则收到的响应消息中会有彩像SDP回应,彩像AS根据收到的响应消息中的彩像SDP回应完成彩像媒体的协商,此时的结果是不播放彩像,然后将彩像SDP回应从响应消息中删除,并将修改后的响应消息转发给主叫UE-A,如果步骤608时其没有添加彩像SDP请求,则收到的响应消息中不会有彩像SDP回应,于是直接转发响应消息,消息途经S-CSCF1最终到达UE-A;
如果彩像AS希望提供下载方式的彩像业务,则执行下面的步骤613~618:
步骤613、彩像AS向被叫方发送更新消息,比如UPDATE(更新)消息,消息中携带彩像媒体数据的下载地址,比如在Alert-Info或Call-Info中携带,消息途经S-CSCF1、S-CSCF2、转换AS、S-CSCF2,最终到达UE-B;
步骤614、UE-B发送同意更新的消息,比如发送“200OK”消息,消息途经S-CSCF2、转换AS、S-CSCF2、S-CSCF1到达彩像AS;
步骤615、UE-B根据彩像媒体数据的下载地址,向彩像AS发起下载请求,比如发送HTTP(超文本传输协议)协议的GET(获取)请求,其中携带彩像媒体数据的下载地址,请求获取彩像媒体数据;
步骤616、彩像AS根据彩像媒体数据的地址,向UE-B传送彩像媒体数据;
步骤617、彩像媒体数据传送完成后,彩像AS向UE-B发送成功下载的消息,比如发送HTTP协议的“200OK”消息;
步骤618、UE-B向用户播放下载下来的彩像媒体;
步骤619、UE-B应答呼叫,发送应答消息,比如发送“200OK”消息,消息体中以session类型携带了UE-B的SDP回应1,消息途经S-CSCF2到达转换AS;
步骤620、转换AS发现被叫已经能与主叫通话,于是向被叫方转发应答消息,消息途经S-CSCF2、S-CSCF1、彩像AS、S-CSCF1,最终到达UE-A;
步骤621、UE-A发送确认消息给被叫方,比如发送ACK消息,消息途经S-CSCF1、彩像AS、S-CSCF1、S-CSCF2、转换AS、S-CSCF2,最终到达UE-B;
至此,UE-A和UE-B建立起了媒体连接,开始通话。
为了简化描述,以下流程将转换AS的功能与彩铃/彩像AS的功能合一看待。
图8为本发明的彩铃彩像同时有的基本消息流程图,描述了主叫呼叫被叫,彩铃服务器在呼叫过程中向主叫播放彩铃媒体,彩像服务器在呼叫过程中向被叫播放彩像媒体,其过程如下:
步骤701、UE-A向UE-B发起呼叫请求,携带通话业务需要的SDP请求1,比如发送INVITE(邀请)消息,在消息体中以session类型携带SDP请求1,消息途经S-CSCF1到达彩像/转换AS;
步骤702、彩像/转换AS收到呼叫消息,此时彩像AS功能没有动作需要执行,转换AS执行功能,在呼叫消息中添加支持彩像业务SDP的标识,比如在Supported头域中添加early-session标识,然后只经过转换AS功能修改后的呼叫消息被转发给被叫方,消息途经S-CSCF2、S-CSCF1到达彩铃/转换AS;
步骤703、彩铃/转换AS收到呼叫消息,两个AS功能都没有动作需要执行,于是没有修改的呼叫消息被转发给被叫方,消息途经S-CSCF2到达UE-B;
步骤704、UE-B收到呼叫消息,发送临时响应消息给主叫方,比如发送“183Session Progress”消息,并在消息体中以session类型携带UE-B的进行通话业务需要的SDP回应1,该临时响应消息途经S-CSCF2到达彩铃/转换AS;
步骤705、彩铃/转换AS收到临时响应消息,转换AS执行功能,在临时响应消息中添加支持彩像业务SDP的标识,比如在Supported头域中添加early-session标识,同时彩铃AS执行功能,根据步骤702中添加的标识,在临时响应消息体中以early-session类型添加彩铃的SDP请求,然后经过两个AS功能修改过的临时响应消息被转发给UE-A,消息途经S-CSCF2、S-CSCF1到达彩像/转换AS;
步骤706、彩像/转换AS收到临时响应消息,彩像AS功能可以将步骤705中的标识从临时响应消息删除,转换AS功能发现临时响应消息中带有彩铃业务的SDP请求,于是基于此SDP请求生成SDP回应,并将临时响应消息中的所有SDP信息删除后添加生成的SDP回应,然后经过两个AS功能修改后的临时响应消息被转发给UE-A,消息途经S-CSCF1到达UE-A;
步骤707、UE-A收到临时响应消息,根据其中的SDP信息完成媒体协商,然后发送预确认消息,比如发送PRACK消息,消息途经S-CSCF1到达彩像/转换AS;
步骤708、彩像/转换AS收到预确认消息,彩像AS功能要执行被叫指定的彩像业务,向被叫方播放像铃信息,于是根据步骤705中添加的标识,在预确认消息体中以early-session类型添加彩像的SDP请求,同时转换AS功能将步骤701中收到的主叫的通话业务的SDP请求1生成彩铃业务SDP请求的回应,并在消息体中也以early-session类型添加该生成的彩铃SDP回应,然后经过两个AS功能修改后的预确认消息被转发给被叫方,消息途经S-CSCF1、S-CSCF2到达彩铃/转换AS;
步骤709、彩铃/转换AS收到预确认消息,彩铃AS功能根据其中的彩铃SDP回应完成彩铃媒体的协商,并将其从预确认消息中删除,同时转换AS功能发现预确认消息中带有彩像业务的SDP请求,于是基于此SDP请求生成新的SDP请求,并将预确认消息中的彩像SDP信息和可能有的通话业务SDP信息删除后在消息体中以session类型添加生成的SDP请求,然后经过两个AS功能修改后的预确认消息被转发给被叫方,消息途经S-CSCF2到达UE-B;
另外转换AS功能还可在新的SDP请求中添加主被叫通话需要的媒体类型的信息,这样使得UE-B保留有通话业务需要的所有媒体的相关信息,从而在后续的重协商过程中(步骤716及后续),UE-B能在其发送的SDP请求中携带所有通话业务需要的所有媒体的相关信息,使得重协商后建立的UE-A和UE-B间的媒体连接包含通话业务需要的所有媒体类型。
步骤710、UE-B收到预确认,发送响应消息,比如发送“200OK”消息,消息体中以session类型携带UE-B响应的彩像业务的SDP回应,消息途经S-CSCF2到达彩铃/转换AS;
步骤711、彩铃/转换AS收到响应消息,彩铃AS功能没有动作需要执行,转换AS功能基于步骤710中收到的UE-B的SDP信息生成彩像业务SDP请求的回应,并在消息体中以early-session类型添加该生成的彩像SDP回应,然后只经过转换AS功能修改的响应消息被转发给主叫方,消息途经S-CSCF2、S-CSCF1到达彩像/转换AS;
步骤712、彩像/转换AS收到响应消息,转换AS功能没有动作需要执行,彩像AS功能根据其中的彩像SDP回应完成彩像媒体的协商,并将其从响应消息中删除,然后只经过彩像AS功能修改后的响应消息被转发给主叫方,消息途经S-CSCF1最终到达UE-A;
步骤713、彩像AS向UE-B播放彩像媒体信息;
步骤714、彩铃AS向UE-A播放彩铃媒体信息;
步骤715、UE-B应答呼叫,发送应答消息,比如发送“200OK”消息,消息途经S-CSCF2到达彩铃/转换AS;
步骤716、彩铃/转换AS收到应答消息,彩铃AS功能没有动作需要执行,转换AS功能发现被叫尚不能与主叫通话,因为在步骤709时已经将UE-B的媒体连接更新为接收彩像媒体,于是向被叫方发送重呼叫消息,比如发送reINVITE消息,消息中不带任何SDP信息,如果彩铃AS和转换AS不是一个功能实体,则重呼叫消息有可能会经过彩铃AS,但彩铃AS对重呼叫消息没有动作需要执行,然后消息途经S-CSCF2到达UE-B;
步骤717、UE-B收到重呼叫消息,发送重呼叫响应消息,比如发送“200OK”消息,消息体中以session类型携带UE-B的新的SDP请求2,消息途经S-CSCF2到达彩铃/转换AS;
步骤718、彩铃/转换AS收到响应重呼叫消息,彩铃AS功能没有动作需要执行,转换AS功能转发应答消息给UE-A,消息体中以session类型携带步骤717中收到的SDP请求2,如果彩铃AS和转换AS不是一个功能实体,则应答消息有可能会经过彩铃AS,但彩铃AS对应答消息没有动作需要执行,然后消息途经S-CSCF2、S-CSCF1到达彩像/转换AS,彩像AS功能没有动作需要执行,由于应答消息中携带的是通话业务的SDP请求,于是转换AS功能也没有动作需要执行,该消息被不经修改的转发给主叫方,消息再经过S-CSCF1到达UE-A;
步骤719、UE-A发送确认消息给被叫方,比如发送ACK消息,消息体中以session类型携带UE-A响应的SDP回应2,消息途经S-CSCF1、彩像/转换AS、S-CSCF1、S-CSCF2、彩铃/转换AS、S-CSCF2,最终到达UE-B;
至此,UE-A和UE-B建立起了媒体连接,开始通话。
如图9所示为本发明实施例的彩铃业务的实现***的示意图,该***包括位于被叫网络的彩铃服务设备,还包括位于主叫网络的转换应用服务器,所述转换应用服务器包括标识添加模块和会话描述协议SDP请求生成模块,其中:
所述标识添加模块,用于在所述转换应用服务器收到所述主叫方发送的携带正常通话的SDP请求的呼叫请求后,如果所述呼叫请求中不带支持彩铃业务SDP的标识,则在所述呼叫请求中添加支持彩铃业务SDP的标识后发往被叫方;
所述SDP请求生成模块,用于在所述转换应用服务器收到所述彩铃服务设备发送的临时响应后,基于彩铃SDP请求生成SDP回应,并将只包含所述SDP回应的临时响应发送给所述主叫方;以及在收到所述主叫方回应所述临时响应的预确认消息后,基于所述正常通话的SDP请求生成彩铃SDP回应并将其包含在所述预确认消息中发送给所述彩铃服务设备;
所述彩铃服务设备,用于在收到所述被叫方返回的临时响应后,根据所述呼叫请求消息中携带的支持彩铃业务SDP的标识在所述临时响应中添加彩铃SDP请求,并发往所述主叫方;以及在收到所述转换应用服务器发送的所述预确认消息后,根据所述彩铃SDP回应完成彩铃媒体的协商。
如图10所示为本发明实施例的彩像业务的实现***的示意图,该***包括位于主叫网络的彩像服务设备,还包括位于被叫网络的转换AS,所述转换应用服务器包括标识添加模块和会话描述协议SDP请求生成模块,其中:
所述标识添加模块,用于在所述转换应用服务器接收到被叫方回应主叫方呼叫请求的临时响应后,在所述临时响应中添加支持彩像业务SDP的标识后发送给所述主叫方;
所述彩像服务设备,用于在收到所述主叫方回应所述临时响应的预确认消息后,根据所述呼叫请求消息中携带的支持彩像业务SDP的标识在所述预确认消息中添加彩像SDP请求,并发往所述被叫方;
所述SDP请求生成模块,用于在收到所述彩像服务设备发送的所述预确认消息后,基于所述彩像SDP请求生成新的SDP请求,并将只包含所述新的SDP请求的预确认消息发送给所述被叫方。
其中,所述SDP请求生成模块在所述新的SDP请求中添加所述主叫方和所述被叫方通话需要的媒体类型的信息。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。