具体实施方式
下面结合附图对本发明实施例进行详细描述。
本发明实施例提供一种实现切换多媒体铃音的方法,包括:
A.处于活跃状态的服务器接收来自终端的切换指令;
B.处于活跃状态的服务器根据上述切换指令向处于抑制状态的服务器发送指示更新多媒体铃音会话状态的指令,以使处于抑制状态的服务器转变为活跃状态,向终端发送多媒体铃音。
在实际应用场合,上述处于活跃状态和处于抑制状态的服务器可以为各种具体的实现多媒体铃音播放的服务器,在后面的实施例中将分别以主叫彩铃与被叫彩铃的切换,以及主叫彩振和被叫彩振的切换为例详细说明本发明实施例。
通过本发明实施例可以实现多媒体铃音的切换。
实施例一
在本实施例中,处于抑制状态的服务器为被叫彩铃服务器,所述处于活跃状态的服务器为主叫彩铃服务器。
本实施例一提供一种实现主被叫彩铃切换的方法,该方法包括:
步骤S101:主叫彩铃服务器O-CAT AS接收主叫终端发送的请求切换为被叫彩铃T-CAT的第一请求消息;
步骤S102:主叫彩铃服务器根据第一请求消息向被叫彩铃服务器T-CATAS发送激活消息,所述激活消息用于激活被叫彩铃服务器发送包含被叫彩铃的媒体流;
步骤S103:主叫彩铃服务器接收被叫彩铃服务器根据激活消息发送的确认消息;
步骤S104:主叫彩铃服务器根据所述第一确认消息指示主叫媒体资源功能停止播放主叫彩铃,并指示所述主叫媒体资源功能转发被叫彩铃服务器根 据所述激活消息指示被叫媒体资源功能发送的被叫彩铃媒体流至主叫终端。
根据本实施例,主叫终端可以从播放主叫彩铃切换为播放被叫彩铃,实现主叫彩铃与被叫彩铃的切换。
以下实施例二和实施例三中具体说明实施例一中提供的方法的具体实现。
实施例二
本实施例提供的方法能够实现主叫彩铃切换为被叫彩铃,并且被叫彩铃媒体流通过主叫彩铃服务器间接到达主叫终端。参见图2所示,本实施例提供的实现主被叫彩铃切换的方法包括:
步骤S201至步骤203:主叫终端201发起邀请INVITE消息,该消息携带主叫终端用于协商正常通话会话的请求Offer(这里Offer即Offer SDP,下同),该邀请消息途经主叫彩铃服务器O-CAT AS 202、被叫彩铃服务器T-CATAS 203、最终到达被叫终端204。
步骤S204:被叫终端204返回振铃Ringing消息;
在实际中,该振铃消息可以是“180”消息。
步骤S205:T-CATAS 203将上述振铃消息转换为会话进行中消息(例如“183”消息),并在其中携带T-CAT AS 203的请求Offer,用于协商被叫彩铃会话,并执行步骤S206:T-CAT AS 203开始为被叫彩铃预留媒体资源。
步骤S207:由于通常运营商默认设置O-CAT AS 202具有更高的优先级,因此O-CAT AS 202在接收到步骤S205中的会话进行中消息后,将其中的T-CAT AS 203的请求替换为自己的请求,即替换为O-CAT AS 202的请求,用于协商主叫彩铃会话。
步骤S208:主叫终端201接收到步骤S207中的会话进行中消息后,返回PRACK(Provisional Response Acknowledgement,临时响应确认)消息,并在其中携带主叫终端的应答Answer(这里Answer即Answer SDP,下同),用于应答主叫彩铃会话。
步骤S209:O-CAT AS 202接收到步骤S208中的PRACK消息后,将其中的主叫终端201的Answer移除,替换为自己的Answer,即O-CAT AS 202的Answer,并且在本实施例中,在Answer中将表示接收T-CAT AS 203发送的被叫彩铃媒体流的端口全部设置为关闭,在实际中,可以在该消息中将与被叫彩铃媒体流相对应的m行的端口号设置为“0”,即可实现上述的关闭端口的目的。通过在PRACK消息中将端口设置为关闭可以达到拒绝T-CAT AS203发送被叫彩铃的目的。
步骤S210:T-CATAS 203在接收到PRACK消息后,释放步骤S206中预留的媒体资源。
步骤S211至步骤S212:T-CATAS 203针对PRACK消息返回确认消息(例如“200”消息),该消息经过O-CAT AS 202发送到达主叫终端201。
步骤S213:O-CATAS 202指示主叫媒体资源功能(O-MRF,OriginatingMultimedia Resource Function)205向主叫终端201发送主叫彩铃媒体流。
步骤S214:O-MRF 205向主叫终端201发送主叫彩铃媒体流,为主叫终端201播放主叫彩铃。
通过上述步骤,在一次呼叫中当主叫彩铃和被叫彩铃同时存在的时候,默认抑制被叫彩铃的播放,优先播放主叫彩铃。
步骤S215:主叫终端201在希望切换为被叫彩铃时,向O-CAT AS 202发送第一请求消息,用于请求切换为被叫彩铃。
其中,本步骤中的请求消息可以是DTMF(Dual-Tone MultiFrequency,双音多频)信号,或者INFO和UPDATE等带外信令,或者SIP头域或SIP消息体。在实际中,可以设计为当主叫终端201按下终端上的按键即可发送上述请求消息。
步骤S216:O-CAT AS 202在接收到步骤S215中主叫终端201发送的请求消息后,向T-CAT AS 203发送更新UPDATE消息,该消息中携带O-CAT AS202的请求Offer,并且将Offer中表示接收T-CAT AS 203发送的被叫彩铃媒 体流的端口设置为打开,例如可以将相应的m行的端口号设置为“m=audio54321 RTP/AVP 97”。
步骤S217:T-CAT AS 203针对步骤S216中的UPDATE消息返回确认OK消息,该确认消息中携带了T-CAT AS 203的应答Answer。
步骤S218:O-CATAS 202在接收到步骤S217中T-CATAS 203返回的第一确认消息后,指示O-MRF 205停止主叫彩铃媒体流的发送,准备转发被叫彩铃媒体流。
步骤S219:T-CAT AS 203指示被叫媒体资源功能(T-MRF,TerminatingMultimedia Resource Function)206向O-MRF 205传输被叫彩铃媒体流;
步骤S220至步骤S222:T-MRF 206向O-MRF 205传输被叫彩铃媒体流,此时O-MRF 205作为一个媒体网关,将被叫彩铃媒体流转发给主叫终端201。
这样通过步骤S215至步骤S222即可实现主叫彩铃切换为被叫彩铃。
另外,根据实际需要,主叫终端201可能又希望切换回主叫彩铃,此时,本实施例中还可以包括如下步骤:
步骤S223:主叫终端201向O-CAT AS 202发送第二请求消息,用于请求切换回主叫彩铃。
其中,本步骤中的请求消息可以是DTMF(Dual-Tone MultiFrequency,双音多频)信号,或者INFO和UPDATE等带外信令,或者SIP头域或SIP消息体。在实际中,可以设计为当主叫终端201按下终端上的按键即可发送上述请求消息。
步骤S224:O-CAT AS 202在接收到步骤S223中主叫终端201发送的请求消息后,向T-CAT AS 203发送更新UPDATE消息,该消息中携带O-CAT AS202的请求Offer,并且将Offer中表示接收T-CAT AS 203发送的被叫彩铃媒体流的端口设置为关闭。在实际中,可以在该消息中将与被叫彩铃媒体流相对应的m行的端口号设置为“0”,即可实现上述的关闭端口的目的。
步骤S225:T-CAT AS 203针对步骤S224中的UPDATE消息返回第二确 认OK消息,该确认消息中携带了T-CAT AS 203的应答Answer。
步骤S226:T-CAT AS 203指示T-MRF206停止发送被叫彩铃媒体流;
步骤S227:O-CATAS 202指示O-MRF205向主叫终端201发送主叫彩铃媒体流。
步骤S228:O-MRF205向主叫终端201发送主叫彩铃媒体流。
通过本实施例提供的方法,可以根据用户需要实现从主叫彩铃切换为被叫彩铃。
实施例三
本实施例提供的方法能够实现主叫彩铃切换为被叫彩铃,与实施例一的区别在于,本实施例中,被叫彩铃服务器始终保持着用来传输被叫彩铃媒体流的媒体资源,具体地,参照图3所示,本实施例提供的实现主被叫彩铃切换的方法包括:
步骤S301至步骤S303:主叫终端301发起INVITE消息,该消息携带主叫终端用于协商正常通话会话的请求Offer(这里Offer即Offer SDP,下同),该邀请消息途经主叫彩铃服务器O-CAT AS 302、被叫彩铃服务器T-CAT AS303、最终到达被叫终端304。
步骤S304:被叫终端304返回振铃Ringing消息;
在实际中,该振铃消息可以是“180”消息。
步骤S305:T-CATAS 303将上述振铃消息转换为会话进行中消息(例如“183”消息),并在其中携带T-CATAS 303的请求Offer,用于协商被叫彩铃会话,并执行步骤S306:T-CAT AS 303开始为被叫彩铃预留媒体资源。
步骤S307:由于通常运行商默认设置O-CAT AS 302具有更高的优先级,因此O-CAT AS 302在接收到步骤S305中的会话进行中消息后,将其中的T-CATAS 303的请求替换为自己的请求,即替换为O-CATAS 302的请求,用于协商主叫彩铃会话。
步骤S308:主叫终端301接收到步骤S307中的会话进行中消息后,返回 PRACK(Provisional Response Acknowledgement,临时响应确认)消息,并在其中携带主叫终端的应答Answer(这里Answer即Answer SDP,下同),用于应答主叫彩铃会话。
步骤S309:O-CAT AS 302接收到步骤S308中的PRACK消息后,将其中的主叫终端301的Answer移除,替换为自己的Answer,即O-CAT AS 302的Answer,并且在本实施例中,不需要更改在Answer中表示接收T-CAT AS303发送的被叫彩铃媒体流的端口设置,而是在Answer中包括指示被叫彩铃会话状态为抑制的信息,用于指示T-CAT AS 303将被叫彩铃会话切换为非活跃状态,从而达到拒绝T-CAT AS 303发送被叫彩铃的目的。
在实际中,可以通过将Answer中的a属性值设置为“Inactive”来实现上述设置被叫彩铃会话状态为抑制的目的。
步骤S310:T-CAT AS 303在接收到PRACK消息后,将被叫彩铃会话设置为非活跃状态,但仍保持步骤S306中为被叫彩铃预留的媒体资源。
步骤S311至步骤S312:T-CATAS 303针对PRACK消息返回确认消息(例如“200”消息),该消息经过O-CAT AS 302发送到达主叫终端301。
步骤S313:O-CATAS 302指示主叫媒体资源功能(O-MRF,OriginatingMultimedia Resource Function)305向主叫终端301发送主叫彩铃媒体流。
步骤S314:O-MRF 305向主叫终端301发送主叫彩铃媒体流,为主叫终端301播放主叫彩铃。
通过上述步骤,在一次呼叫中当主叫彩铃和被叫彩铃同时存在的时候,默认抑制被叫彩铃的播放,优先播放主叫彩铃。
步骤S315:主叫终端在希望切换为被叫彩铃时,向O-CAT AS 302发送第一请求消息,用于请求切换为被叫彩铃。
其中,本步骤中的请求消息可以是DTMF(Dual-Tone MultiFrequency,双音多频)信号,或者INFO和UPDATE等带外信令,或者SIP头域或SIP消息体。在实际中,可以设计为当主叫终端301按下终端上的按键即可发送 上述请求消息。
步骤S316:O-CAT AS 302在接收到步骤S315中主叫终端301发送的请求消息后,向T-CAT AS 303发送信息INFO消息,该消息中携带指示信息,该指示信息用于指示T-CAT AS 303将被叫彩铃会话状态切换为活动active状态。在实际中可以将指示消息中的a属性值设置为“Sendrecv”或“Recvonly”,即可实现上述指示的目的。
步骤S317:T-CAT AS 303针对步骤S316中的INFO消息返回200OK第一确认消息,该确认消息中携带了指示消息,以表示被叫彩铃会话状态已经转换成活跃状态。
步骤S318:O-CATAS 302在接收到步骤S317中的T-CATAS 303返回的确定消息后,指示O-MRF 305停止主叫彩铃媒体流的发送,准备转发被叫彩铃媒体流。
步骤S319:T-CAT AS 303指示T-MRF 306向O-MRF 305传输被叫彩铃媒体流。
步骤S320至步骤S322:T-MRF 306向O-MRF 305传输被叫彩铃媒体流,此时O-MRF 305作为一个媒体网关,将被叫彩铃媒体流转发给主叫终端301。
这样通过步骤S315至步骤S322即可实现主叫彩铃切换为被叫彩铃。
另外,根据实际需要,主叫终端201可能又希望切换回主叫彩铃,此时,本实施例中还可以包括如下步骤:
步骤S323:主叫终端301向O-CAT AS 302发送第二请求消息,用于请求切换回主叫彩铃。
步骤S324:O-CAT AS 302在接收到步骤S323中主叫终端301发送的请求消息后,向T-CAT AS 303发送INFO消息,该消息中携带指示信息,该指示信息用于指示T-CAT AS 303将被叫彩铃会话状态切换为非活跃状态。
在实际中将指示消息中的a属性值设置为“Inactive”即可实现上述指示的目的。
步骤S325:T-CATAS 303针对步骤S324中接收的INFO消息返回第二确认消息(例如“200”消息),该确认消息中携带了指示消息,以表示被叫彩铃会话状态已经转换成非活跃状态。
步骤S326:T-CAT AS 303指示T-MRF 306停止发送被叫彩铃媒体流。
步骤S327:O-CATAS 302指示O-MRF305向主叫终端301发送主叫彩铃媒体流。
步骤S328:O-MRF 305向主叫终端301发送主叫彩铃媒体流。
可选的,步骤S316中的INFO消息可以由UPDATE消息替换,消息中携带O-CAT Offer,Offer中的属性行置为“a=sendrecv”或“a=recvonly”;
相应的,步骤S317中的200OK(INFO)消息可以由200OK(UPDATE)消息替换,消息中携带T-CAT Answer,Answer中的属性行置为“a=sendrecv”或“a=sendonly”。
本实施例提供的方法不仅能够实现从主叫彩铃切换到被叫彩铃,而且相对于实施例二提供的方法,本实施例没有释放用来传输被叫彩铃的媒体资源,在需要传输被叫彩铃时,可以直接利用该保留的媒体资源传输被叫彩铃,因此具有更小的延迟。
实施例四
本实施例四提供一种实现主被叫彩铃切换的方法,该方法与实施例一的区别在于本实施例中被叫彩铃媒体流不经过主叫彩铃服务器,直接到达主叫终端。具体地,参见图4,本实施例提供的方法包括:
步骤S401:主叫彩铃服务器接收主叫终端发送的请求切换为被叫彩铃的第一请求消息;
步骤S402:主叫彩铃服务器根据所述第一请求消息向被叫彩铃服务器发送激活消息,所述激活消息用于激活被叫彩铃服务器发送包含被叫彩铃的媒体流;
步骤S403:主叫彩铃服务器向主叫终端转发被叫彩铃服务器根据所述激 活消息发送的请求主叫终端直接接收被叫彩铃媒体流的第二请求消息;
步骤S404:主叫彩铃服务器向被叫彩铃服务器转发主叫终端根据所述第二请求消息发送的表示允许直接接收被叫彩铃媒体流的确认消息,以触发被叫彩铃服务器直接向主叫终端发送被叫彩铃媒体流。
根据本实施例,主叫终端可以从播放主叫彩铃切换为播放被叫彩铃,实现主叫彩铃与被叫彩铃的切换。
以下以实施例五具体说明实施例四的具体实现。
实施例五
在本实施例中,处于抑制状态的服务器为被叫彩铃服务器,处于活跃状态的服务器为主叫彩铃服务器。
本实施例提供一种实现切换主被叫彩铃的方法,需要说明的是,本实施例与实施例二和实施例三的区别在于被叫彩铃媒体流直接发送到主叫终端。而抑制和激活被叫彩铃服务器发送被叫彩铃的媒体流的消息可以采用实施例二中通过设置端口的方式,也可以采用实施例三中设置被叫彩铃会话状态的方式,而相应地,对于预留的媒体资源可以采用实施例二中的不用即释放的方式,也可以采用实施例三中采用一直保持的方式。在本实施例中特别地以与实施例三中类似地的抑制和激活的方式为例说明。
如图5所示,本实施例提供的方法包括如下步骤:
步骤S501至步骤S503:主叫终端501发起INVITE消息,该消息携带主叫终端用于协商正常通话会话的请求Offer(这里Offer即Offer SDP,下同),该邀请消息途经主叫彩铃服务器O-CAT AS 502、被叫彩铃服务器T-CAT AS503、最终到达被叫终端504。
步骤S504:被叫终端504返回振铃Ringing消息;
在实际中,该振铃消息可以是“180”消息。
步骤S505:T-CAT AS 503将上述振铃消息转换为会话进行中消息(例如“183”消息),并在其中携带T-CAT AS 503的请求Offer,用于协商被叫彩铃 会话,同时执行步骤S506:T-CAT AS 503开始为被叫彩铃预留媒体资源。
步骤S507:由于通常运行商默认设置O-CAT AS 502具有更高的优先级,因此O-CAT AS 502在接收到步骤S505中的会话进行中消息后,将其中的T-CAT AS 503的请求替换为自己的请求,即替换为O-CATAS 502的请求,发送给主叫终端501,用于协商主叫彩铃会话。
步骤S508:主叫终端501接收到步骤S507中的会话进行中消息后,返回PRACK(Provisional Response Acknowledgement,临时响应确认)消息,并在其中携带主叫终端501的应答Answer(这里Answer即Answer SDP,下同),用于应答主叫彩铃会话。
步骤S509:O-CAT AS 502接收到步骤S508中的PRACK消息后,将其中的主叫终端501的Answer移除,替换为自己的Answer,即O-CAT AS 502的Answer,并且在本实施例中,在Answer包括指示被叫彩铃会话状态为抑制的信息,用于指示T-CAT AS 503将被叫彩铃会话切换为非活跃状态,从而达到拒绝T-CAT AS 503发送被叫彩铃的目的。
在实际中,可以通过将Answer中的a属性值设置为“Inactive”来实现上述设置被叫彩铃会话状态为抑制的目的。
步骤S510:T-CAT AS 503在接收到PRACK消息后,将被叫彩铃会话状态设置为非活跃状态,但仍保持步骤S506中为被叫彩铃预留的媒体资源。
步骤S511至步骤S512:T-CAT AS 503针对PRACK消息返回确认消息(例如“200”消息),该消息经过O-CAT AS 502发送到达主叫终端501。
步骤S513:O-CATAS 502指示主叫媒体资源功能(O-MRF,OriginatingMultimedia Resource Function)505向主叫终端501发送主叫彩铃媒体流。
步骤S514:O-MRF 505向主叫终端501发送主叫彩铃媒体流,为主叫终端501播放主叫彩铃。
通过上述步骤,在一次呼叫中当主叫彩铃和被叫彩铃同时存在的时候,默认抑制被叫彩铃的播放,优先播放主叫彩铃。
步骤S515:主叫终端501在希望切换为被叫彩铃时,向O-CAT AS 502发送请求消息,用于请求切换为被叫彩铃。
其中,本步骤中的请求消息可以是DTMF(Dual-Tone MultiFrequency,双音多频)信号,或者INFO和UPDATE等带外信令,或SIP信令头域SIP信令消息体发送的切换指令。在实际中,可以设计为当主叫终端501按下终端上的按键即可发送上述请求消息。
步骤S516:O-CAT AS 502在接收到步骤S515中主叫终端501发送的请求消息后,向T-CAT AS 503发送信息INFO消息,该消息中携带指示信息,用于准备协商。
步骤S517:T-CAT AS 503针对步骤S516中的INFO消息返回确认OK消息,该确认消息中携带了指示消息,以表示被叫彩铃会话状态已经转换成活跃状态。
步骤S518至步骤S521:T-CAT AS 503向O-CAT AS 502发送更新UPDATE消息,该更新消息经过O-CAT AS 502的转发到达主叫终端501。该更新消息中携带了T-CAT AS 503的Offer,用于请求直接向主叫终端501发送被叫彩铃媒体流。主叫终端501针对该更新消息返回确认OK消息,用于表示允许直接接收被叫彩铃媒体流,该确认消息经过O-CAT AS 502转发,到达T-CAT AS 503。
步骤S522:O-CAT AS 502指示O-MRF 505停止发送主叫彩铃媒体流;
步骤S523:T-CAT AS 503指示T-MRF 506直接向主叫终端501发送被叫彩铃媒体流;
步骤S524:T-MRF 506直接向主叫终端501发送被叫彩铃媒体流。
如果主叫终端501又希望切换回播放主叫彩铃,可以继续执行如下步骤:
步骤S525:主叫终端501向T-CAT AS 503发送请求消息,用于请求切换回主叫彩铃。
步骤S526:T-CAT AS 503向O-CAT AS 502发送INFO消息,该消息用 于指示O-CAT AS 502向主叫终端501发送更新UPDATE消息;
步骤S527:O-CAT AS 502向主叫终端501发送更新UPDATE消息,该更新消息中携带了O-CAT AS 502的Offer。
步骤S528:O-CAT AS 502针对步骤S526中的INFO消息向T-CAT AS 503返回确认OK消息;
步骤S529:主叫终端501针对步骤S527中的更新消息,向O-CAT AS 502返回确认消息,并在该消息中携带主叫终端501的应答Answer。
步骤S530:T-CAT AS 503指示T-MRF 506停止发送被叫彩铃媒体流;
步骤S531:O-CAT AS 502指示O-MRF 505向主叫终端501发送主叫彩铃媒体流;
步骤S532:O-MRF 505向主叫终端501发送主叫彩铃媒体流,为主叫终端501播放主叫彩铃。
通过本实施例,不仅能够实现主叫彩铃切换到被叫彩铃,而且相对于实施例一到实施例三中提供的方法,本实施例中被叫彩铃媒体流无需经过O-CAT AS和O-MRF,可以直接发送给主叫终端,这样就降低了O-CAT AS和O-MRF的负载。
实施例六
在本实施例中,处于抑制状态的服务器为主叫彩振服务器,处于活跃状态的服务器为被叫彩振服务器。
本实施例六提供一种切换主被叫彩振的方法,如图6所示,该方法包括:
步骤S601:被叫彩振服务器接收被叫终端发送的请求切换为主叫彩振的第三请求消息;
步骤S602:被叫彩振服务器根据所述第三请求消息向主叫彩振服务器发送激活消息,所述激活消息用于激活主叫彩振服务器发送包含主叫彩振的媒体流;
步骤S603:被叫彩振服务器接收主叫彩振服务器根据所述激活消息发送 的确认消息;
步骤S604:被叫彩振服务器根据所述第三确认消息指示被叫媒体资源功能停止播放被叫彩振,并指示所述被叫媒体资源功能转发主叫彩振服务器根据所述激活消息指示主叫媒体资源功能发送的主叫彩振媒体流至被叫终端。
通过本发明实施例,被叫终端可以从播放被叫彩振切换为播放主叫彩振,实现被叫彩振与主叫彩振的切换。
以下实施例七和实施例八具体说明实施例六中提供的方法的具体实现。
实施例七
参见图7所示,本实施例提供的实现主被叫彩振切换的方法包括:
步骤S701至步骤S703:主叫终端701发起邀请INVITE消息,该消息携带主叫终端用于协商正常通话会话的请求Offer(这里Offer即Offer SDP,下同),该邀请消息途经主叫彩振服务器O-CRS AS 702、被叫彩振服务器T-CRSAS 703、最终到达被叫终端704。
步骤S704至步骤S706:被叫终端704返回振铃Ringing消息,该消息途经T-CRT AS 703、O-CRS AS 702到达主叫终端701。
步骤S707:主叫终端701在接收到步骤S706中的振铃Ringing消息后,返回PRACK(Provisional Response Acknowledgement,临时响应确认)消息,用于对步骤S706的振铃消息的可靠临时应答。
步骤S708:O-CRS AS 702在接收到步骤S707中的PRACK消息后,在其中添加O-CRS AS 702的请求Offer,然后转发给T-CRS AS 703。
步骤S709:O-CRS AS 702为主叫彩振预留媒体资源;
步骤S710:由于通常运营商默认设置T-CRS AS 703具有更高的优先级,因此T-CRS AS 703在接收到步骤S708中的PRACK消息后,将其中的O-CRSAS 702的Offer移除,替换为自己的Offer,即T-CRS AS 703的Offer,然后转发给被叫终端704。
步骤S711:被叫终端704针对PRACK消息返回确认消息(例如“200” 消息),该消息中携带了被叫终端704的应答Answer,用于应答被叫彩振会话。
步骤S712:T-CRS AS 703接收到步骤S711中的确认消息后,完成了被叫彩振早期会话的协商,然后将该消息中的被叫终端704的Answer移除,替换为自己的Answer,即替换为T-CRS AS 703的Answer,并且在本实施例中,在上述Answer中将表示接收O-CRS AS 702发送的主叫彩振媒体流的端口全部设置为关闭,在实际中,可以在该消息中将与主叫彩振媒体流相对应的m行的端口号设置为“0”,即可实现上述关闭端口的目的。通过在确认消息中将端口设置为关闭可以达到拒绝O-CRS AS 702发送的主叫彩振的目的。
步骤S713:O-CRS AS 702将步骤S712中的确认消息转发给主叫终端701。
步骤S714:O-CRS AS 702释放步骤S709中预留的媒体资源。
步骤S715:T-CRS AS 703指示T-MRF 705向被叫终端704发送被叫彩振媒体流;
步骤S716:T-MRF 705向被叫终端704发送被叫彩振媒体流,为被叫终端704播放被叫彩振。
通过上述步骤,在一次呼叫中,当主叫彩振和被叫彩振同时存在的时候,默认抑制主叫彩振的播放,优先播放被叫彩振。
步骤S717:当被叫终端701希望切换为主叫彩振时,向T-CRS AS 703发送第三请求消息,用于请求切换为被叫彩振。
其中,本步骤中的请求消息可以是DTMF(Dual-Tone MultiFrequency,双音多频)信号,或者INFO和UPDATE等带外信令,或SIP信令头域SIP信令消息体发送的切换指令。在实际中,可以设计为当被叫终端701按下终端上的按键即可发送上述请求消息。
步骤S718:T-CRS AS 703在接收到步骤S717中被叫终端704发送的请求消息后,向O-CRS AS 702发送更新UPDATE消息,该消息中携带T-CRS AS703的请求Offer,并且将Offer中表示接收O-CRS AS 702发送的主叫彩振的媒体流的端口设置为打开,例如可以将相应的m行的端口号设置为“m=audio 54321 RTP/AVP 97”。
步骤S719:O-CRS AS 702针对步骤S718中的UPDATE消息向T-CRS AS703返回第三确认OK消息,该确认消息中携带了O-CRS AS 702的应答Answer。
步骤S720:T-CRS AS 703在接收到步骤S719中的确认消息后,指示T-MRF 705停止向被叫终端704发送被叫彩振媒体流,并准备转发主叫彩振媒体流。
步骤S721:O-CRS AS 702指示O-MRF 706向T-MRF 705传输主叫彩振媒体流。
步骤S722至步骤S724:O-MRF 706向T-MRF705传输主叫彩振媒体流;T-MRF 705此时作为一个媒体网关,将主叫彩振媒体流转发给被叫终端704。
这样,通过步骤S717至步骤S724即可实现被叫彩振切换为主叫彩振。
另外,根据实际需要,被叫终端704可能又希望切换回被叫彩振,此时,本实施例中还可以包括如下步骤:
步骤S725:被叫终端704向T-CRS AS 703发送第四请求消息,用于请求切换回被叫彩振。
其中,本步骤中的请求消息可以是DTMF(Dual-Tone MultiFrequency,双音多频)信号,或者INFO和UPDATE等带外信令,或SIP信令头域SIP信令消息体发送的切换指令。在实际中,可以设计为当被叫终端704按下终端上的按键即可发送上述请求消息。
步骤S726:T-CRS AS 703在接收到步骤S725中被叫终端704发送的请求消息后,向O-CRS AS 702发送更新UPDATE消息,该消息中携带T-CRS AS703的请求Offer,并且将Offer中表示接收O-CRS AS 702发送的主叫彩振媒体流的端口设置为关闭。在实际中,可以在该消息中将与主叫彩振媒体流相对应的m行的端口号设置为“0”,即可实现上述关闭端口的目的。
步骤S727:O-CRS AS 702针对步骤S726中的UPDATE消息返回第四确 认OK消息,该消息携带了O-CRS AS 702的应答Answer。
步骤S728:O-CRS AS 702指示O-MRF 706停止发送主叫彩振媒体流。
步骤S729:T-CRS AS 703指示T-MRF 705开始为被叫终端704发送被叫彩振媒体流;
步骤S730:T-MRF 705向被叫终端704发送被叫彩振媒体流,为被叫终端705播放被叫彩振。
通过本实施例提供的方法,可以根据用户需要实现从被叫彩振切换为主叫彩振。
实施例八
本实施例提供一种实现主被叫彩振切换的方法,该方法与实施例七的区别在于:在本实施例中,主叫彩振服务器始终保持着用来传输主叫彩振媒体流的媒体资源。具体地,参照图8所示,本实施例提供的实现主被叫彩振切换的方法包括:
步骤S801至步骤S803:主叫终端801发起邀请INVITE消息,该消息携带主叫终端用于协商正常通话会话的请求Offer(这里Offer即Offer SDP,下同),该邀请消息途经主叫彩振服务器O-CRS AS 802、被叫彩振服务器T-CRSAS 803、最终到达被叫终端804。
步骤S804至步骤S806:被叫终端804返回振铃Ringing消息,该消息途经T-CRT AS 803、O-CRS AS 802到达主叫终端801。
步骤S807:主叫终端801接收到步骤S806中的振铃消息后,返回PRACK(Provisional Response Acknowledgement,临时响应确认)消息,用于对步骤S806中振铃消息的可靠临时应答。
步骤S808:O-CRS AS 802在接收到步骤S707中的PRACK消息后,在其中添加O-CRS AS 802的请求Offer,然后转发给T-CRS AS 803。
步骤S809:O-CRS AS 802为主叫彩振预留媒体资源。
步骤S810:由于通常运营商默认设置T-CRS AS 803具有更高的优先级, 因此T-CRS AS 803在接收到步骤S808中的PRACK消息后,将其中的O-CRSAS 802的Offer移除,替换为自己的Offer,即替换为T-CRS AS 803的Offer,然后转发给被叫终端804。
步骤S811:被叫终端804针对PRACK消息返回确认消息(例如“200”消息),该消息中携带了被叫终端804的应答Answer,用于应答被叫彩振会话。
步骤S812:T-CRS AS 803接收到步骤S811中的确认消息后,完成了被叫彩振早期会话的协商,然后将该消息中的被叫终端804的Answer移除,替换为自己的Answer,即替换为T-CRS AS 803的Answer,并且在本实施例中,不需要更改在Answer中表示接收O-CRS AS 802发送的主叫彩振媒体流的端口设置,而是在Answer中包括指示主叫彩振会话状态为抑制的信息,用于指示O-CRS AS 802将主叫彩振会话状态设置为非活跃状态,从而达到拒绝O-CRS AS 802发送主叫彩振的目的。
在可以通过将Answer中的a属性值设置为“Inactive”来实现上述设置主叫彩振会话状态为抑制的目的。
步骤S813:O-CRS AS 802将主叫彩振会话状态设置为非活跃状态,但仍保持步骤S809中为主叫彩振预留的媒体资源。
步骤S814:O-CRS AS 802将步骤S812中的确认消息转发给主叫终端801。
步骤S815:T-CRS AS 803指示T-MRF 805向被叫终端804发送被叫彩振媒体流;
步骤S816:T-MRF 805向被叫终端804发送被叫彩振媒体流,为被叫终端804播放被叫彩振。
通过上述步骤,在一次呼叫中,当主叫彩振和被叫彩振同时存在的时候,默认抑制主叫彩振的播放,优先播放被叫彩振。
步骤S817:当被叫终端801希望切换为主叫彩振时,向T-CRS AS 803发送第三请求消息,用于请求切换为主叫彩振。
其中,本步骤中的请求消息可以是DTMF(Dual-Tone MultiFrequency, 双音多频)信号,或者INFO和UPDATE等带外信令,或SIP信令头域SIP信令消息体发送的切换指令。在实际中,可以设计为当被叫终端801按下终端上的按键即可发送上述请求消息。
步骤S818:T-CRS AS 803在接收到步骤S817中被叫终端804发送的请求消息后,向O-CRS AS 802发送信息INFO消息,该消息中携带指示信息,该指示信息用于指示O-CRS AS 802将主叫彩振会话状态切换为活动active状态。在实际中可以将指示消息中的a属性值设置为“Sendrecv”或“Recvonly”,即可实现上述指示的目的。
步骤S819:O-CRS AS 802针对步骤S818中的INFO消息返回第三确认OK消息,该确认消息中携带了指示消息,以表示主叫彩振状态已经转换成活跃状态。
步骤S820:T-CRS AS 803在接收到步骤S819中O-CRS AS 802返回的确认消息后,指示T-MRF 805停止被叫彩振媒体流的发送,准备转发主叫彩振媒体流。
步骤S821:O-CRS AS 802指示O-MRF806向T-MRF 305传输主叫彩铃媒体流。
步骤S822至步骤S824:O-MRF806向T-MRF 805传输主叫彩铃媒体流;T-MRF 305此时作为一个媒体网关,将主叫媒体流转发给被叫终端804。
通过上述步骤S817至步骤S824即可实现被叫彩振切换层主叫彩振。
另外,根据实际需要,被叫终端804能又希望切换回被叫彩振,此时,本实施例中还可以包括如下步骤:
步骤S825:被叫终端804向T-CRS AS 803发送第四请求消息,用于请求切换回被叫彩振;
步骤S826:T-CRS AS 803在接收到步骤S825中被叫终端804发送的请求消息后,向O-CRS AS 802发送INFO消息,该消息中携带指示消息,以指示O-CRS AS 802将主叫彩振会话切换为非活跃状态。
在实际中将指示消息中的a属性值设置为“Inactive”即可实现上述指示的目的。
步骤S827:O-CRS AS 802针对步骤S826中的INFO消息返回第四确认消息(例如“200”消息),该确认消息中携带了指示消息,以表示主叫彩振会话状态已经转换成非活跃状态。
步骤S828:O-CRS AS 802指示O-MRF 806停止发送主叫彩振媒体流。
步骤S829:T-CRS AS 803指示T-MRF 805为被叫终端804发送被叫彩振媒体流。
步骤S830:T-MRF 805为被叫终端804发送被叫彩振媒体流,为用户播放被叫彩振。
可选的,步骤S818中的INFO消息可以由UPDATE消息替换,消息中携带O-CAT Offer,Offer中的属性行置为“a=sendrecv”或“a=recvonly”;
相应的,步骤S819中的200OK(INFO)消息可以由200OK(UPDATE)消息替换,消息中携带T-CAT Answer,Answer中的属性行置为“a=sendrecv”或“a=sendonly”。
本实施例提供的方法不仅能够实现从被叫彩振切换层主叫彩振,而且相对于实施例七提供的方法,本实施例没有释放用来传输主叫彩振的媒体源,在需要传输主叫彩振时,可以直接利用该保留的媒体资源传输主叫彩振,因此具有更小的延迟。
实施例九
本实施例九提供一种实现主被叫彩振切换的方法,该方法与实施例六的区别在于,本实施例中主叫彩振媒体流不经过被叫彩振服务器,直接到达被叫终端。具体地,参见图9,本实施例提供的方法包括:
步骤S901:被叫彩振服务器接收被叫终端发送的请求切换为主叫彩振的请求消息;
步骤S902:被叫彩振服务器向主叫彩振服务器发送激活消息,所述激活消息用于激活主叫彩振服务器发送包含主叫彩振的媒体流。
步骤S903:被叫彩振服务器向被叫终端转发主叫彩振服务器发送的请求被叫终端直接接收主叫彩振媒体流的请求消息;
步骤S904:被叫彩振服务器向主叫彩振服务器转发被叫终端发送的表示允许直接接收主叫彩振媒体流的确认消息,以触发主叫彩振服务器直接向被叫终端发送主叫彩振媒体流。
根据本实施例,被叫终端可以从播放被叫彩振切换为主叫彩振,实现被叫彩振与主叫彩振的切换,而且本实施例中由于被叫彩振媒体流不经过被叫彩振服务器直接发送给被叫终端,因此可以降低被叫彩振服务器的负载。
以下以实施例十具体说明实施例九的具体实现。
实施例十
本实施例提供一种实现切换主被叫彩振的方法,需要说明的是,本实施例与实施例七和实施例八的区别在于主叫彩振媒体流直接发送到主叫终端。而抑制和激活主叫彩振服务器发送主叫彩振媒体流的消息可以采用实施例七中通过设置端口的方式,也可以采用实施例八中设置被叫彩铃会话状态的方式,而相应地,对于预留的媒体资源可以采用实施例七中的不用即释放的方式,也可以采用实施例八中采用一直保持的方式。在本实施例中特别地以与实施例八中类似地的抑制和激活的方式为例说明。
如图10所示,本实施例提供的方法包括如下步骤:
步骤S1001至步骤S1003:主叫终端1001发起邀请INVITE消息,该消息携带主叫终端用于协商正常通话会话的请求Offer(这里Offer即Offer SDP,下同),该邀请消息途经主叫彩振服务器O-CRS AS 1002、被叫彩振服务器T-CRS AS 1003、最终到达被叫终端1004。
步骤S1004至步骤S1006:被叫终端1004返回振铃Ringing消息,该消息途经T-CRT AS 1003、O-CRS AS 1002到达主叫终端1001。
步骤S1007:主叫终端1001接收到步骤S1006中的振铃消息后,返回 PRACK(Provisional Response Acknowledgement,临时响应确认)消息,用于对步骤S1006中振铃消息的可靠临时应答。
步骤S1008:O-CRS AS 1002在接收到步骤S707中的PRACK消息后,在其中添加O-CRS AS 1002的请求Offer,然后转发给T-CRS AS 1003。
步骤S1009:O-CRS AS 1002为主叫彩振预留媒体资源。
步骤S1010:由于通常运营商默认设置T-CRS AS 1003具有更高的优先级,因此T-CRS AS 1003在接收到步骤S1008中的PRACK消息后,将其中的O-CRS AS 1002的Offer移除,替换为自己的Offer,即替换为T-CRS AS 1003的Offer,然后转发给被叫终端1004。
步骤S1011:被叫终端1004针对PRACK消息返回确认消息(例如“200”消息),该消息中携带了被叫终端1004的应答Answer,用于应答被叫彩振会话。
步骤S1012:T-CRS AS 1003接收到步骤S1011中的确认消息后,完成了被叫彩振早期会话的协商,然后将该消息中的被叫终端1004的Answer移除,替换为自己的Answer,即替换为T-CRS AS 1003的Answer,并且在本实施例中,不需要更改在Answer中表示接收O-CRS AS 1002发送的主叫彩振媒体流的端口设置,而是在Answer中包括指示主叫彩振会话状态为抑制的信息,用于指示O-CRS AS 1002将主叫彩振会话状态设置为非活跃状态,从而达到拒绝O-CRS AS 1002发送主叫彩振的目的。
在可以通过将Answer中的a属性值设置为“Inactive”来实现上述设置主叫彩振会话状态为抑制的目的。
步骤S1013:O-CRS AS 1002将主叫彩振会话状态设置为非活跃状态,但仍保持步骤S1009中为主叫彩振预留的媒体资源。
步骤S1014:O-CRS AS 1002将步骤S1012中的确认消息转发给主叫终端1001。
步骤S1015:T-CRS AS 1003指示T-MRF 1005向被叫终端1004发送被叫 彩振媒体流;
步骤S1016:T-MRF 1005向被叫终端1004发送被叫彩振媒体流,为被叫终端1004播放被叫彩振。
通过上述步骤,在一次呼叫中,当主叫彩振和被叫彩振同时存在的时候,默认抑制主叫彩振的播放,优先播放被叫彩振。
步骤S1017:当被叫终端1001希望切换为主叫彩振时,向T-CRS AS 1003发送请求消息,用于请求切换为主叫彩振。
其中,本步骤中的请求消息可以是DTMF(Dual-Tone MultiFrequency,双音多频)信号,或者INFO和UPDATE等带外信令,或SIP信令头域SIP信令消息体发送的切换指令。在实际中,可以设计为当被叫终端1001按下终端上的按键即可发送上述请求消息。
步骤S1018:T-CRS AS 1003在接收到步骤S1017中被叫终端1004发送的请求消息后,向O-CRS AS 1002发送信息INFO消息,该消息中携带指示信息,该指示信息用于准备协商。
步骤S1019:O-CRS AS 1002针对步骤S1018中的INFO消息返回确认OK消息,该确认消息中携带了指示消息,以表示主叫彩振状态已经转换成活跃状态。
步骤S1020至步骤S1023:O-CRS AS 1002向T-CRS AS 1003发送更新UPDATE消息,该更新消息经过T-CRS AS 1003转发到达被叫终端1004。该更新消息中携带了O-CRS AS 1002的Offer,用于请求直接向被叫终端1004发送被叫彩铃媒体流。被叫终端1004针对该更新消息返回确认消息,用于表示允许直接接收被叫彩铃媒体流,该确认消息经过T-CRS AS 1003的转发,到达O-CRS AS 1002。
步骤S1024:T-CRS AS 1003指示T-MRF 1005停止发送被叫彩振媒体流。
步骤S1025:O-CRS AS 1002指示O-MRF 1006直接向被叫终端1004发送主叫彩振媒体流。
步骤S1026:O-MRF1006直接向被叫终端1004发送主叫彩振媒体流。
如果被叫终端1004又希望切换回播放被叫彩振,本实施例还可以包括如下步骤:
.0步骤S1027:被叫终端1004向O-CRS AS 1002发送请求消息,用于请求切换回被叫彩振。
步骤S1028:O-CRS AS 1002在接收到步骤S1027中被叫终端1004发送请求消息后,向T-CRS AS 1003发送INFO消息,该消息中携带指示消息,该指示消息用于指示T-CRS AS 1003向被叫终端1004发送更新UPDATE消息;
步骤S1029:T-CRS AS 1003向被叫终端1004发送更新消息,该更新消息中携带了T-CRS AS 1003的Offer;
步骤S1030:T-CRS AS 1003针对步骤S1028中的INFO消息向O-CRS AS1002返回确认OK消息。
步骤S1031:被叫终端1004针对步骤S1029中的更新消息返回确认OK消息,该确认消息携带了的被叫终端1004的应答Answer。
步骤S1032:O-CRS AS 1002指示O-MRF 1006停止发送主叫彩振媒体流;
步骤S1033:T-CRS AS 1003指示T-MRF 1005向被叫终端1004发送被叫彩振媒体流。
步骤S1034:T-MRF 1005向被叫终端1004发送被叫彩振媒体流。
通过本实施例,不仅能够实现被叫彩振切换到主叫彩振,而且相对于实施例七到实施例八中提供的方法,本实施例中被叫彩铃媒体流无需经过T-CRS AS和T-MRF,可以直接发送给主叫终端,这样就降低了T-CAT AS和T-MRF的负载。
实施例十一
本实施例相应提供一种多媒体铃音服务器,该多媒体铃音服务器用于实现切换多媒体铃音,包括:
接收单元,用于接收来自终端的切换指令;
发送单元,用于向处于抑制状态的服务器发送指示更新多媒体铃音会话状态的指令;以使处于抑制状态的服务器转变为活跃状态,向终端发送多媒体铃音。
当处于抑制状态的服务器为被叫彩铃服务器时;本实施例中的一个优选的方案具体为:接收单元可以包括:第一接收子单元,用于接收主叫终端发送的请求切换为被叫彩铃的第一请求消息;发送单元可以包括:第一发送子单元,用于根据所述第一请求消息向被叫彩铃服务器发送激活消息;另外,接收单元还可以包括:第二接收子单元,用于接收所述被叫彩铃服务器根据所述激活消息发送的第一确认消息;发送单元还可以包括:第二发送子单元,用于根据所述第一确认消息指示主叫媒体资源功能停止播放主叫彩铃,并指示所述主叫媒体资源功能转发所述被叫彩铃服务器根据所述激活消息指示被叫媒体资源功能发送的被叫彩铃媒体流至所述主叫终端。
当处于抑制状态的服务器为被叫彩铃服务器时;本实施例中的另一个优选的方案为:接收单元可以包括:第一接收子单元,用于接收主叫终端发送的请求切换为被叫彩铃的第一请求消息;发送单元包括:第一发送子单元,用于根据所述第一请求消息向所述被叫彩铃服务器发送激活消息,所述激活消息用于激活所述被叫彩铃服务器发送包含被叫彩铃的媒体流;多媒体铃音服务器还包括:第一转发单元,用于向所述主叫终端转发所述被叫彩铃服务器根据所述激活消息发送请求主叫终端直接接收被叫彩铃媒体流的第二请求消息;并向所述被叫彩铃服务器转发主叫终端根据所述第二请求消息发送的表示允许直接接收被叫彩铃媒体流的确认消息,以触发所述被叫彩铃服务器直接向所述主叫终端发送被叫彩铃媒体流。
当处于抑制状态的服务器为主叫彩振服务器时,本实施例的一个优选的技术方案是:接收单元包括:第三接收子单元,用于接收被叫终端发送的请求切换为主叫彩振的第三请求消息;发送单元包括:第三发送子单元,用于根据所述第三请求消息向所述主叫彩振服务器发送激活消息,所述激活消息用于激活所述主叫彩振服务器发送包含主叫彩振的媒体流;接收单元还可以包括:第四接收子单元,用于接收所述主叫彩振服务器根据所述激活消息发送的第三确认消息;发送单元还可以包括:第四发送子单元,用于根据所述第三确认消息指示被叫媒体资源功能停止播放被叫彩振,并指示所述被叫媒体资源功能转发所述主叫彩振服务器根据所述激活消息指示主叫媒体资源功能发送的主叫彩振媒体流至所述被叫终端。
当处于抑制状态的服务器为主叫彩振服务器时,本实施例的一个优选的技术方案是:接收单元包括:第三接收子单元,用于接收被叫终端发送的请求切换为主叫彩振的第三请求消息;发送单元包括:第三发送子单元,用于根据所述第三请求消息向所述主叫彩振服务器发送激活消息,所述激活消息用于激活所述主叫彩振服务器发送包含主叫彩振的媒体流;该多媒体铃音服务器还包括:第二转发单元,用于向所述被叫终端转发所述主叫彩振服务器根据所述激活消息发送的更新消息,所述更新消息中携带所述主叫彩振服务器的请求Offer,所述Offer用于请求所述被叫终端直接接收主叫彩振媒体流的请求消息;还用于向主所述叫彩振服务器转发被叫终端根据所述第三请求消息发送的表示允许直接接收主叫彩振媒体流的确认消息,以触发所述主叫彩振服务器直接向所述被叫终端发送主叫彩振媒体流。
实施例十二
本实施例相应提供一种终端,包括:
发送单元,用于向处于活动状态的服务器发送切换指令,以使所述处于活跃状态的服务器根据所述切换指令向处于抑制状态的服务器发送指示更新多媒体铃音会话状态的指令,并使处于抑制状态的服务器转变为活跃状态,向终端发送多媒体铃音;
接收单元,用于接收所述处于抑制状态的服务器发送的多媒体铃音。
当处于抑制状态的服务器为被叫彩铃服务器,而处于活跃状态的服务器为主叫彩铃服务器时,本实施例中的终端为主叫终端。
当处于抑制状态的服务器为主叫彩振服务器,而处于活跃状态的服务器为被叫彩振服务器时,本实施例中的终端为被叫终端。
实施例十三
应用场景:用户A为自己订阅了主叫彩铃,同时用户B为A订阅了被叫彩铃;用户A预先在主叫彩铃服务器上设置:“默认优先播放被叫彩铃”,当呼叫建立时主叫彩铃服务器指示主叫终端显示“您如果想切换回主叫彩铃,请按1#键”。如果主叫想接收主叫彩铃,则按1#键发送双音多频信号,从而实现由被叫彩铃切换为主叫彩铃。
本实施例的组网结构与实施例一相同,如图11所示,本实施例提供的方法包括如下步骤:
步骤S1101至步骤S1103:用户设备A发起呼叫建立请求消息,该消息携带用户设备A的用于协商正常通话会话的Offer(请求)。该呼叫建立请求消息途经主叫彩铃服务器、被叫彩铃服务器,最终到达用户设备B;
步骤S1104:用户设备B返回振铃消息;
步骤S1105:被叫彩铃服务器将用户设备B发来的振铃消息转换为会话进行中消息,并在其中携带被叫彩铃请求,用于协商被叫彩铃会话,同时,被叫彩铃服务器开始为彩铃预留媒体资源;
步骤S1106至步骤S1108:由于用户A预先设置了默认播放被叫彩铃(即被叫彩铃服务器具有更高的优先级),因此主叫彩铃服务器需要将被叫彩铃服务器的媒体通道接入到主叫彩铃服务器,并将后续播放的被叫彩铃媒体流转发给用户设备A。为实现该目的,主叫彩铃服务器需要做如下处理:
在接收到会话进行中之后,将其中的被叫彩铃请求移除,替换为自己的主叫彩铃请求,以与主叫终端建立媒体通道。另外主叫彩铃服务器还可以在会话进行中消息中携带一段text类型的文字信息,用于由用户设备A呈现给用户作提示之用,具体内容例如“现在为您播放的是被叫彩铃,如果想切换回主叫彩铃,请按1#键”;主叫彩铃服务器也可以携带一个标志字段,用于触发用户设备A显示上述提示信息给用户。Text类型的文字信息或标志字段可以在会话进行中消息的头域或消息体中携带。
用户设备A接收到会话进行中之后,返回临时响应确认消息,并在其中携带用户设备A的应答。
主叫彩铃服务器接收到用户设备A发来的临时响应确认消息后,将其中的用户设备A的应答移除,替换为自己的主叫彩铃应答,然后将临时响应确认转发给被叫彩铃服务器;主叫彩铃服务器此时抑制主叫彩铃的资源预留及播放,等待接收并转发后续到来的被叫彩铃媒体流;
步骤S1109至步骤S1110:被叫彩铃服务器针对临时响应确认返回临时响应确认消息的成功响应消息,该消息途经主叫彩铃服务器,到达用户设备A。
步骤S1111:被叫彩铃服务器开始指示被叫媒体资源功能为用户设备A播放被叫彩铃。被叫彩铃媒体流途径主叫媒体资源功能,主叫媒体资源功能此时充当一个媒体网关,将媒体流转发给用户设备A;
步骤S1112:用户A希望由被叫彩铃切换为主叫彩铃,则在终端上按键,用户设备A将相应的双音多频信号发送给主叫彩铃服务器,此处也可不使用双音多频信号,而使用信息消息、更新消息等带外信令;
步骤S1113:主叫彩铃服务器接收到用户设备A的切换请求后,向被叫彩铃服务器发送更新请求消息,消息中携带主叫彩铃请求,并且Offer(请求)的属性行置为inactive(即a=inactive),或者Offer(请求)中的所有端口号均置为0。被叫彩铃服务器接收到更新请求消息后,指示被叫媒体资源功能停止播放被叫彩铃,并使被叫彩铃处于抑制状态或取消状态;
步骤S1114:被叫彩铃服务器返回更新消息的成功应答消息,消息中携带被叫彩铃应答,且Answer(应答)的属性行置为inactive(即a=inactive),或者Answer(应答)中的所有端口号均置为0;
步骤S1115:主叫彩铃服务器接收到更新消息的成功应答消息后,指示主叫媒体资源功能开始播放主叫彩铃;
步骤S1116至步骤S1122用户B摘机,用户设备B发送呼叫建立请求的成功应答消息,消息中携带了用户设备B的应答,用于应答正常通话会话; 呼叫建立请求的成功应答消息途经被叫彩铃服务器、主叫彩铃服务器,到达用户设备A。用户设备A返回确认消息,之后用户A和B进入正常通话过程。
本实施例提供的方法实现了当主被叫彩铃同时存在时,默认播放被叫彩铃,并在接收到主叫用户的切换指令后,切换为主叫彩铃。增强了主被叫彩铃播放的灵活性。
实施例十四
本实施例的应用场景与实施例十三相同,此处不再赘述;本实施例提供了一种实现切换多媒体铃音的方法,如图12所示,包括:
步骤S1201:与主叫终端和被叫彩铃服务器分别建立媒体连接;
步骤S1202:转发来自被叫彩铃服务器的媒体流至主叫终端;
步骤S1203:接收来自主叫终端的切换指令;
步骤S1204:向被叫彩铃服务器发送更新消息,用于将其置为非活跃状态;
步骤S1205:向主叫终端发送主叫媒体流。
上述步骤的执行主体为主叫彩铃服务器,具体参见实施例十三及相应附图。
本实施例提供的方法实现了当主被叫彩铃同时存在时,默认播放被叫彩铃,并在接收到主叫用户的切换指令后,切换为主叫彩铃。增强了主被叫彩铃播放的灵活性。
实施例十五
应用场景:用户A为自己订阅了主叫彩铃,同时用户B为A订阅了被叫彩铃;当用户A呼叫用户B时,主/被叫彩铃服务器同时向主叫播放各自的彩铃,主叫终端接收到两路彩铃媒体流,但只播放出其中一路,并在屏幕上显示“如果想切换为被叫(主叫)彩铃,请按1#键”。当用户A按键切换后,终端本地抑制已经播放的媒体流,而打开另一路媒体流进行播放。
本实施例的组网结构与实施例一相同,本实施例以Early-Session模式的彩铃为例,如图13所示,本实施例提供的方法包括如下步骤:
步骤S1301至步骤S1303:主叫终端用户设备A发起呼叫建立请求消息,该消息携带用户设备A的用于协商正常通话会话的Offer(请求)。该呼叫建立请求消息途经主叫彩铃服务器、被叫彩铃服务器,最终到达用户设备B;
步骤S1304:被叫终端用户设备B返回振铃消息;
步骤S1305:被叫彩铃服务器将振铃消息修改为会话进行中消息,并在其中携带被叫彩铃请求,然后转发给主叫彩铃服务器;
步骤S1306:主叫彩铃服务器在会话进行中消息中插入主叫彩铃请求,然后将其转发给用户设备A。此时,会话进行中消息中携带了两个Offer(请求);
步骤S1307:用户设备A返回临时响应确认消息,消息中携带了两个Answer(应答),分别用于应答被叫彩铃请求和主叫彩铃请求;
步骤S1308:主叫彩铃服务器将临时响应确认消息中的用户设备A的应答-2提取出来,完成了主叫彩铃媒体通道的协商,然后将临时响应确认转发给被叫彩铃服务器;
步骤S1309至步骤S1310:被叫彩铃服务器返回临时响应确认消息的成功响应消息,该消息途径主叫彩铃服务器,到达用户设备A;
步骤S1311:被叫彩铃服务器指示被叫媒体资源功能为用户设备A播放被叫彩铃;
步骤S1312:主叫彩铃服务器指示主叫媒体资源功能为用户设备A播放主叫彩铃。用户设备A同时接收到两路媒体流,但只播放其中的一路;
步骤S1313:用户设备A接收到用户的切换指示,本地切换主被叫媒体流,即抑制正在播放的一路,而播放另一路媒体流;
步骤S1314至步骤S1320:用户B摘机,用户设备B发送呼叫建立请求的成功应答消息,消息中携带了用户设备B的应答,用于应答正常通话会话。呼叫建立请求的成功应答消息途经被叫彩铃服务器、主叫彩铃服务器,到达用户设备A。用户设备A返回确认消息,之后用户A和B进入正常通话过程。
本实施例由于采用了终端为主的方案,因此服务器只需按正常流程播放 彩铃即可,对现有的服务器改动很小,便于普及与推广。
实施例十六
本实施例的应用场景与实施例十五相同,此处不再赘述;本实施例提供了一种实现切换多媒体铃音的方法,如图14所示,包括:
步骤S1401:接收主叫彩铃服务器以及被叫彩铃服务器发送的两路媒体流,所述两路媒体流包括主叫媒体流和被叫媒体流;
步骤S1402:按照预设策略播放所述两路媒体流中的一路媒体流;
步骤S1403:接收到切换指示后抑制正在播放的一路媒体流,而播放另一路媒体流。
上述步骤的执行主体为用户设备A,具体参见实施例十五及相应附图。
本实施例由于采用了终端为主的方案,因此服务器只需按正常流程播放彩铃即可,对现有的服务器改动很小,便于普及与推广。
实施例十七
本实施例提供一种终端,具体应用场景与实施例十四及实施例十五相同,
如图15所示,所述终端具体包括:
媒体流接收单元1501:用于接收主叫彩铃服务器以及被叫彩铃服务器发送的两路媒体流,所述两路媒体流包括主叫媒体流和被叫媒体流;
播放单元1502:用于按照预设策略播放所述两路媒体流中的一路媒体流;
切换单元1503:用于接收到切换指示后抑制正在播放的一路媒体流,而播放另一路媒体流。
可选的,所述终端还包括,设置单元1504:用于设置主叫媒体流和被叫媒体流播放优先级。
以上各个单元的具体功能请参见实施例十五和实施例十六。
需要说明的市以上实施例中所描述的终端包括但不限于具有无线通信能力的收集、PDA、掌上电脑及用户设备等。
本领域的技术人员可以理解:附图只是一个优选实施例的示意图,附图中的模块、实体或流程并不一定是实施本发明所必需的。
本领域的技术人员可以理解:实施例中的终端的模块或实体可以按照实施例的描述分布于实施例的终端中,也可以进行相应变化位于不同于本实施例的一个或多个设备中。上述实施例的模块或实体可以合并成一个模块或实体,也可以精进一步拆分成多个子模块或实体。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以可借助软件加必要的通用硬件平台的方式来实现,基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。