振铃前双模单待无线语音呼叫连续性方法和装置与流程

文档序号:12732405阅读:444来源:国知局
振铃前双模单待无线语音呼叫连续性方法和装置与流程

本发明涉及通信领域,具体而言,涉及一种振铃前双模单待无线语音呼叫连续性方法、装置及SCC AS。



背景技术:

双模单待无线语音呼叫连续性(Single Radio Voice Call Continuity,简称为SRVCC)是第三代移动通信合作伙伴(3GPP)提出的一种基于IP多媒体子系统(IP Multimedia Subsystem,简称为IMS)的语音业务(即VoLTE)连续性方案,主要是为了解决当单射频用户设备(User Equipment,简称为UE)在长期演进(Long Time Evolution,简称为LTE)网络和第二代移动通信(2G)/第三代移动通信3G电路交换(Circuit Switch,简称为CS)域网络之间移动时,保证语音呼叫连续性的问题,提出的一套系统方案,是VoLTE技术的核心关键技术。

振铃前SRVCC(即bSRVCC)是3GPP针对主叫终端已经发起呼叫,但被叫终端没有振铃阶段,主叫终端发生SRVCC切换提出的增强型技术方案。从无线资源预留的角度看,因为其耗时是秒级(正常情况3-5秒,网络状态不佳,耗时会更长),这个阶段主叫终端发生SRVCC切换的概率是很高的,所以bSRVCC对于用户体验是关键的。

在研究过程中发现,3GPP目前定义的bSRVCC流程存在较大问题,分析如下:

在3GPP相关规范中对bSRVCC的功能,定义了SCC AS的处理流程细节。

对于两次INVITE(请求)消息携带会话描述协议(Session Description Protocol,简称为SDP)相同的情况,参见图1。按照该相关规范的定义,后向(被叫终端侧)的183消息直接向前向(主叫终端侧)传递。但是此时,前向已经按照相关规范之前的定义使用Fake SDP(伪SDP)回过183消息。这样就存在第二条183消息携带Offer(提议)SDP的情况。然而根据请求评议文档(Request For Comments,简称为RFC)的标准,之前Offer/Answer完成,后续的183消息是不应该携带Offer SDP的。

对于两次INVITE携带的SDP不同的情况,参见图2。按照3GPP相关规范的定义,后向的183消息到达后,业务连续性应用服务器(Service Continuity Application Server,简称为SCC AS)在临时应答确认(Provisional Response ACKnowledgement,简称为PRACK)中携带前向INVITE中的Offer,并在后续收到后向Answer(应答)后,构造183消息携带SDP发送到前向。这样的话,除了有与RFC的标准相抵触的问题外,使用PRACK携带Offer的做法也是不推荐的。

此外,即使将前向的183消息改为UPDATE(更新)消息以规避抵触RFC标准的问题,但由于SCC AS还存在Answer转Offer的处理,该处理还可能引起媒体协商震荡的问题。

进一步地,3GPP相关规范中对于发送INFO(携带pre-alerting(振铃状态))消息的场景,仅限于SCC AS收到切换的INVITE时,且后向没有early dialog(早期对话,即振铃前状态)的场景。而原则上,在切换的INVITE到达之前,后向可能已经收到183消息,而未收到180消息,如图3所示。从资源预留消耗时间的角度分析,这种场景应该是较大概率。对于该流程,应该也需要发送INFO(携带pre-alerting)。

此外,因为目前SCC AS支持非Precondition(预处理)兼容流程的SRVCC切换,但这类流程在3GPP的相关规范中也未定义。

综上所述,目前3GPP相关规范中的bSRVCC流程是不可实施的,业界现状对于bSRVCC的支持也是系统缺失的。



技术实现要素:

本发明提供了一种振铃前双模单待无线语音呼叫连续性方法、装置及SCC AS,以至少解决3GPP相关规范中的bSRVCC流程是不可实施的问题。

根据本发明的一个方面,提供了一种振铃前双模单待无线语音呼叫连续性方法,包括:

SCC AS接收主叫终端的bSRVCC切换请求;

所述SCC AS判断在接收到所述bSRVCC切换请求之前是否接收到第一消息,其中,所述第一消息包括:由被叫终端发送的、携带Answer SDP的消息;

在所述SCC AS判断到在接收到所述bSRVCC切换请求之前未接收到所述第一消息的情况下,所述SCC AS缓存所述bSRVCC切换请求,并在接收到所述第一消息之前将预定消息终结在所述SCC AS,其中,所述预定消息包括:由所述被叫终端发送的、不携带Answer SDP的消息。

可选地,所述预定消息包括以下至少之一:所述被叫终端发送的、不带Answer SDP的非180消息;所述被叫终端发送的、不带Answer SDP的200OK消息。

可选地,在所述SCC AS接收所述主叫终端的所述bSRVCC切换请求之前,所述方法还包括:所述SCC AS接收所述主叫终端在分组交换PS域发起的呼叫请求;所述SCC AS发送所述呼叫请求给所述被叫终端;其中,所述SCC AS接收所述主叫终端的所述bSRVCC切换请求包括:在所述主叫终端发生PS域到电路交换CS域的切换的情况下,所述SCC AS接收所述bSRVCC切换请求,其中,所述bSRVCC切换请求是由所述主叫终端的增强的移动交换中心eMSC发送的。

可选地,在所述SCC AS缓存所述bSRVCC切换请求之后,所述方法还包括:所述SCC AS接收可靠传输的所述第一消息;所述SCC AS判断所述呼叫请求携带的SDP与所述bSRVCC切换请求携带的SDP是否相同;在所述SCC AS判断到所述呼叫请求携带的SDP与所述bSRVCC切换请求携带的SDP不相同的情况下,所述SCC AS发送第二消息给所述被叫终端,其中,所述第二消息包括:携带所述bSRVCC切换请求的offer SDP的UPDATE消息;所述SCC AS接收第三消息,其中,所述第三消息包括:响应于所述第二消息的、携带Answer SDP的200OK消息。

可选地,在所述SCC AS判断到所述呼叫请求携带的SDP与所述bSRVCC切换请求携带的SDP相同的情况下,或者,在所述SCC AS接收所述第三消息之后,所述方法还包括:所述SCC AS发送可靠传输的第四消息给所述主叫终端,其中,所述第四消息包括:携带Answer SDP和所述被叫终端的bSRVCC能力信息的183消息;所述SCC AS发送第五消息给所述主叫终端,其中,所述第五消息包括:携带当前振铃状态的INFO消息;所述SCC AS接收第六消息,其中,所述第六消息包括:响应于所述第五消息的200OK消息;所述SCC AS接收第七消息,并转发所述第七消息给所述主叫终端,其中,所述第七消息包括:所述被叫终端发送的180消息;所述SCC AS接收第八消息,并转发所述第八消息给所述主叫终端,其中,所述第八消息包括:所述被叫终端发送的、摘机的200OK消息;所述SCC AS接收第九消息,并转发所述第九消息给所述被叫终端,其中,所述第九消息包括:响应于所述第八消息的ACK消息;所述SCC AS发送可靠传输的第十一消息给所述主叫终端,其中,所述第十一消息包括:携带Answer SDP和所述被叫终端的bSRVCC能力信息的183消息;所述SCC AS发送第十二消息给所述主叫终端,其中,所述第十二消息包括:携带当前振铃状态的INFO消息;所述SCC AS接收第十三消息,其中,所述第十三消息包括:响应于所述第十二消息的200OK消息;所述SCC AS接收第十四消息,并转发所述第十四消息给所述主叫终端,其中,所述第十四消息包括:所述被叫终端发送的180消息;所述SCC AS接收第十五消息,并转发所述第十五消息给所述主叫终端,其中,所述第十五消息包括:所述被叫终端发送的摘机的200OK消息;所述SCC AS接收第十六消息,并转发所述第十六消息给所述被叫终端,其中,所述第十六消息包括:响应于所述第十五消息的ACK消息。

可选地,在所述SCC AS缓存所述bSRVCC切换请求之后,所述方法还包括:所述SCC AS接收第十七消息,其中,所述第十七消息包括:所述被叫终端发送的180消息;所述SCC AS发送可靠传输的第十八消息给所述主叫终端,其中,所述第十八消息包括:携带Fack SDP和所述被叫终端的bSRVCC能力信息的183消息;所述SCC AS发送第十九消息给所述主叫终端,其中,所述第十九消息包括:不携带SDP的180消息;所述SCC AS发送第二十消息给所述主叫终端,其中,所述第二十消息包括:携带当前振铃状态的INFO消息;所述SCC AS接收第二十一消息,其中,所述第二十一消息包括:响应于所述第二十消息的200OK消息;所述SCC AS接收第二十二消息,其中,所述第二十二消息包括:所述被叫终端发送的、摘机的200OK消息;所述SCC AS发送第 二十三消息给所述主叫终端,其中,所述第二十三消息包括:不携带SDP的、摘机的200OK消息;所述SCC AS发送第二十四消息给所述被叫终端,并接收第二十五消息,其中,所述第二十四消息包括:响应于所述第二十二消息的ACK消息,所述第二十五消息包括:响应于所述第二十三消息的ACK消息。

可选地,在所述SCC AS缓存所述bSRVCC切换请求之后,所述方法还包括:所述SCC AS接收第二十六消息,其中,所述第二十六消息包括:响应于所述呼叫请求的、携带Answer SDP的200OK消息;所述SCC AS发送第二十七消息给所述主叫终端,其中,所述第二十七消息包括:携带Fack SDP和所述被叫终端的bSRVCC能力信息的183消息;所述SCC AS发送第二十八消息给所述被叫终端,其中,所述第二十八消息包括:响应于所述第二十六消息的ACK消息;所述SCC AS发送第二十九消息给所述主叫终端,其中,所述第二十九消息包括:不携带SDP的180消息;所述SCC AS发送第三十消息给所述主叫终端,其中,所述第三十消息包括:携带当前振铃状态的INFO消息;所述SCC AS接收第三十一消息,其中,所述第三十一消息包括:响应于所述第三十消息的200OK消息;所述SCC AS接收第三十二消息,其中,所述第三十二消息包括:所述被叫终端发送的、摘机的200OK消息;所述SCC AS发送第三十三消息给所述主叫终端,其中,所述第三十三消息包括:不携带SDP的、摘机的200OK消息;所述SCC AS接收第三十四消息,其中,所述第三十四消息包括:响应于所述第三十三消息的ACK消息。

可选地,在所述SCC AS发送所述呼叫请求给所述被叫终端之后,且在所述SCC AS接收所述主叫终端的所述bSRVCC切换请求之前,所述方法还包括:所述SCC AS接收可靠传输的所述第一消息,并转发所述第一消息给所述主叫终端;在所述SCC AS接收所述主叫终端的所述bSRVCC切换请求之后,所述方法还包括:所述SCC AS判断是否接收到第三十五消息,其中,所述第三十五消息包括:所述主叫终端响应于所述第一消息的PRACK消息;在所述SCC AS判断到未接收到所述第三十五消息的情况下,所述SCC AS发送第三十六消息给所述被叫终端,其中,所述第三十六消息包括:响应于所述第一消息的PRACK消息;所述SCC AS接收第三十七消息,其中,所述第三十七消息包括:响应于所述第三十六消息的200OK消息。

可选地,在所述SCC AS发送所述呼叫请求给所述被叫终端之后,且在所述SCC AS接收所述主叫终端的所述bSRVCC切换请求之前,所述方法还包括:所述SCC AS接收可靠传输的所述第一消息,并转发所述第一消息给所述主叫终端;在所述SCC AS接收所述主叫终端的所述bSRVCC切换请求之后,所述方法还包括:所述SCC AS判断在所述SCC AS接收到所述主叫终端的所述bSRVCC切换请求之前是否接收到第三十八消息并转发所述第三十八消息给所述主叫终端,以及在所述SCC AS接收到所述主叫终端的所述bSRVCC切换请求之前是否接收到第三十九消息,其中,所述第三十八消息包括:所述被叫终端发送的UPDATE消息,所述第三十九消息包括:所述主叫终端响应于所述第三十八消息的200OK消息;在所述SCC AS判断到在所述SCC AS接收到所述主叫 终端的所述bSRVCC切换请求之前接收到所述第三十八消息并转发所述第三十八消息给所述主叫终端,以及在所述SCC AS接收到所述主叫终端的所述bSRVCC切换请求之前未接收到所述第三十九消息的情况下,所述SCC AS发送第四十消息给所述被叫终端,其中,所述第四十消息包括:响应于所述第三十八消息的200OK消息。

可选地,在所述SCC AS判断到已接收到所述第三十五消息的情况下;或者在所述SCC AS接收所述第三十七消息之后;或者在所述SCC AS判断到在所述SCC AS接收到所述主叫终端的所述bSRVCC切换请求之前接收到所述第三十八消息并转发所述第三十八消息给所述主叫终端,且所述SCC AS判断到在所述SCC AS接收到所述主叫终端的所述bSRVCC切换请求之前接收到所述第三十九消息的情况下;或者在所述SCC AS发送所述第四十消息给所述被叫终端之后,所述方法还包括:所述SCC AS判断所述呼叫请求携带的SDP与所述bSRVCC切换请求携带的SDP是否相同;在所述SCC AS判断到所述呼叫请求携带的SDP与所述bSRVCC切换请求携带的SDP不相同的情况下,所述SCC AS发送第四十一消息给所述被叫终端,其中,所述第四十一消息包括:携带所述bSRVCC切换请求的offer SDP的UPDATE消息;所述SCC AS接收第四十二消息,其中,所述第四十二消息包括:响应于所述第四十一消息的、携带Answer SDP的200OK消息。

可选地,在所述SCC AS判断到所述呼叫请求携带的SDP与所述bSRVCC切换请求携带的SDP相同的情况下,或者,在所述SCC AS接收所述第四十二消息之后,所述方法还包括:所述SCC AS发送可靠传输的第四十三消息给所述主叫终端,其中,所述第四十三消息包括:携带Answer SDP和所述被叫终端的bSRVCC能力信息的183消息;所述SCC AS发送第四十四消息给所述主叫终端,其中,所述第四十四消息包括:携带当前振铃状态的INFO消息;所述SCC AS接收第四十五消息,其中,所述第四十五消息包括:响应于所述第四十四消息的200OK消息;所述SCC AS接收第四十六消息,并转发所述第四十六消息给所述主叫终端,其中,所述第四十六消息包括:所述被叫终端发送的180消息;所述SCC AS接收第四十七消息,并转发所述第四十七消息给所述主叫终端,其中,所述第四十七消息包括:所述被叫终端发送的、摘机的200OK消息;所述SCC AS接收第四十八消息,并转发所述第四十八消息给所述被叫终端,其中,所述第四十八消息包括:响应于所述第四十七消息的ACK消息。

根据本发明的另一个方面,还提供了一种振铃前双模单待无线语音呼叫连续性装置,应用于SCC AS,可选地,包括:第一模块,用于接收主叫终端的bSRVCC切换请求;第二模块,用于判断在接收到所述bSRVCC切换请求之前是否接收到第一消息,其中,所述第一消息包括:由被叫终端发送的、携带Answer SDP的消息;第三模块,用于在所述第二模块判断到在接收到所述bSRVCC切换请求之前未接收到所述第一消息的情况下,缓存所述bSRVCC切换请求,并在接收到所述第一消息之前将预定消息终结在所述SCC AS,其中,所述预定消息包括:由所述被叫终端发送的、不携带Answer SDP的消息。

可选地,所述预定消息包括以下至少之一:所述被叫终端发送的、不带Answer SDP的非180消息;所述被叫终端发送的、不带Answer SDP的200OK消息。

可选地,所述装置还包括:第四模块,用于接收所述主叫终端在分组交换PS域发起的呼叫请求;第五模块,用于发送所述呼叫请求给所述被叫终端;其中,所述第一模块用于:在所述主叫终端发生PS域到电路交换CS域的切换的情况下,接收所述bSRVCC切换请求,其中,所述bSRVCC切换请求是由所述主叫终端的增强的移动交换中心eMSC发送的。

可选地,所述装置还包括:第六模块,用于接收可靠传输的所述第一消息;第七模块,用于判断所述呼叫请求携带的SDP与所述bSRVCC切换请求携带的SDP是否相同;第八模块,用于在所述第七断模块判断到所述呼叫请求携带的SDP与所述bSRVCC切换请求携带的SDP不相同的情况下,发送第二消息给所述被叫终端,其中,所述第二消息包括:携带所述bSRVCC切换请求的offer SDP的UPDATE消息;第九模块,用于接收第三消息,其中,所述第三消息包括:响应于所述第二消息的、携带Answer SDP的200OK消息。

可选地,所述装置还包括:第十模块,用于在所述第七模块判断到所述呼叫请求携带的SDP与所述bSRVCC切换请求携带的SDP相同的情况下,或者,在所述第九模块接收所述第三消息之后,发送可靠传输的第四消息给所述主叫终端,其中,所述第四消息包括:携带Answer SDP和所述被叫终端的bSRVCC能力信息的183消息;第十一模块,用于发送第五消息给所述主叫终端,其中,所述第五消息包括:携带当前振铃状态的INFO消息;第十二模块,用于接收第六消息,其中,所述第六消息包括:响应于所述第五消息的200OK消息;第十三模块,用于接收第七消息,并转发所述第七消息给所述主叫终端,其中,所述第七消息包括:所述被叫终端发送的180消息;第十四模块,用于接收第八消息,并转发所述第八消息给所述主叫终端,其中,所述第八消息包括:所述被叫终端发送的、摘机的200OK消息;第十五模块,用于接收第九消息,并转发所述第九消息给所述被叫终端,其中,所述第九消息包括:响应于所述第八消息的ACK消息;第十六模块,用于发送可靠传输的第十一消息给所述主叫终端,其中,所述第十一消息包括:携带Answer SDP和所述被叫终端的bSRVCC能力信息的183消息;第十七模块,用于发送第十二消息给所述主叫终端,其中,所述第十二消息包括:携带当前振铃状态的INFO消息;第十八模块,用于接收第十三消息,其中,所述第十三消息包括:响应于所述第十二消息的200OK消息;第十九模块,用于接收第十四消息,并转发所述第十四消息给所述主叫终端,其中,所述第十四消息包括:所述被叫终端发送的180消息;第二十模块,用于接收第十五消息,并转发所述第十五消息给所述主叫终端,其中,所述第十五消息包括:所述被叫终端发送的摘机的200OK消息;第二十一模块,用于接收第十六消息,并转发所述第十六消息给所述被叫终端,其中,所述第十六消息包括:响应于所述第十五消息的ACK消息。

可选地,所述装置还包括:第二十二模块,用于接收第十七消息,其中,所述第十七消息包括:所述被叫终端发送的180消息;第二十三模块,用于发送可靠传输的第十八消息给所述主叫终端,其中,所述第十八消息包括:携带Fack SDP和所述被叫终端的bSRVCC能力信息的183消息;第二十四模块,用于发送第十九消息给所述主叫终端,其中,所述第十九消息包括:不携带SDP的180消息;第二十五模块,用于发送第二十消息给所述主叫终端,其中,所述第二十消息包括:携带当前振铃状态的INFO消息;第二十六模块,用于接收第二十一消息,其中,所述第二十一消息包括:响应于所述第二十消息的200OK消息;第二十七模块,用于接收第二十二消息,其中,所述第二十二消息包括:所述被叫终端发送的、摘机的200OK消息;第二十八模块,用于发送第二十三消息给所述主叫终端,其中,所述第二十三消息包括:不携带SDP的、摘机的200OK消息;第二十九模块,用于发送第二十四消息给所述被叫终端,并接收第二十五消息,其中,所述第二十四消息包括:响应于所述第二十二消息的ACK消息,所述第二十五消息包括:响应于所述第二十三消息的ACK消息。

可选地,所述装置还包括:第三十模块,用于接收第二十六消息,其中,所述第二十六消息包括:响应于所述呼叫请求的、携带Answer SDP的200OK消息;第三十一模块,用于发送第二十七消息给所述主叫终端,其中,所述第二十七消息包括:携带Fack SDP和所述被叫终端的bSRVCC能力信息的183消息;第三十二模块,用于发送第二十八消息给所述被叫终端,其中,所述第二十八消息包括:响应于所述第二十六消息的ACK消息;第三十三模块,用于发送第二十九消息给所述主叫终端,其中,所述第二十九消息包括:不携带SDP的180消息;第三十四模块,用于发送第三十消息给所述主叫终端,其中,所述第三十消息包括:携带当前振铃状态的INFO消息;第三十五模块,用于接收第三十一消息,其中,所述第三十一消息包括:响应于所述第三十消息的200OK消息;第三十六模块,用于接收第三十二消息,其中,所述第三十二消息包括:所述被叫终端发送的、摘机的200OK消息;第三十七模块,用于发送第三十三消息给所述主叫终端,其中,所述第三十三消息包括:不携带SDP的、摘机的200OK消息;第三十八模块,用于接收第三十四消息,其中,所述第三十四消息包括:响应于所述第三十三消息的ACK消息。

可选地,所述装置还包括:第三十九模块,用于在所述第五模块发送所述呼叫请求给所述被叫终端之后,且在所述第一模块接收所述主叫终端的所述bSRVCC切换请求之前,接收可靠传输的所述第一消息,并转发所述第一消息给所述主叫终端;所述装置还包括:第四十模块,用于在所述第一模块接收所述主叫终端的所述bSRVCC切换请求之后,判断是否接收到第三十五消息,其中,所述第三十五消息包括:所述主叫终端响应于所述第一消息的PRACK消息;第四十一模块,用于在所述第四十模块判断到未接收到所述第三十五消息的情况下,发送第三十六消息给所述被叫终端,其中,所述第三十六消息包括:响应于所述第一消息的PRACK消息;第四十二模块,用于接收第三十七消息,其中,所述第三十七消息包括:响应于所述第三十六消息的200OK消息。

可选地,所述装置还包括:第四十三模块,用于在所述第五模块发送所述呼叫请求给所述被叫终端之后,且在所述第一模块接收所述主叫终端的所述bSRVCC切换请求之前,接收可靠传输的所述第一消息,并转发所述第一消息给所述主叫终端;所述装置还包括:第四十四模块,用于判断在所述第一模块接收到所述主叫终端的所述bSRVCC切换请求之前是否接收到第三十八消息并转发所述第三十八消息给所述主叫终端,以及在所述第一模块接收到所述主叫终端的所述bSRVCC切换请求之前是否接收到第三十九消息,其中,所述第三十八消息包括:所述被叫终端发送的UPDATE消息,所述第三十九消息包括:所述主叫终端响应于所述第三十八消息的200OK消息;第四十五模块,用于发送第四十消息给所述被叫终端,其中,所述第四十消息包括:响应于所述第三十八消息的200OK消息。

可选地,所述装置还包括:第四十六模块,用于在所述第四十模块判断到已接收到所述第三十五消息的情况下,或者在所述第四十二模块接收所述第三十七消息之后,或者在所述第四十四模块判断到在所述SCC AS接收到所述主叫终端的所述bSRVCC切换请求之前接收到所述第三十八消息并转发所述第三十八消息给所述主叫终端且所述第四十四模块判断到在所述SCC AS接收到所述主叫终端的所述bSRVCC切换请求之前接收到所述第三十九消息的情况下,或者在所述第四十五模块发送所述第四十消息给所述被叫终端之后,判断所述呼叫请求携带的SDP与所述bSRVCC切换请求携带的SDP是否相同;第四十七模块,用于在所述第四十六模块判断到所述呼叫请求携带的SDP与所述bSRVCC切换请求携带的SDP不相同的情况下,发送第四十一消息给所述被叫终端,其中,所述第四十一消息包括:携带所述bSRVCC切换请求的offer SDP的UPDATE消息;第四十八模块,用于接收第四十二消息,其中,所述第四十二消息包括:响应于所述第四十一消息的、携带Answer SDP的200OK消息。

可选地,所述装置还包括:第四十九模块,用于在所述第四十六模块判断到所述呼叫请求携带的SDP与所述bSRVCC切换请求携带的SDP相同的情况下,或者,在所述第四十八模块接收所述第四十二消息之后,发送可靠传输的第四十三消息给所述主叫终端,其中,所述第四十三消息包括:携带Answer SDP和所述被叫终端的bSRVCC能力信息的183消息;第五十模块,用于发送第四十四消息给所述主叫终端,其中,所述第四十四消息包括:携带当前振铃状态的INFO消息;第五十一模块,用于接收第四十五消息,其中,所述第四十五消息包括:响应于所述第四十四消息的200OK消息;第五十二模块,用于接收第四十六消息,并转发所述第四十六消息给所述主叫终端,其中,所述第四十六消息包括:所述被叫终端发送的180消息;第五十三模块,用于接收第四十七消息,并转发所述第四十七消息给所述主叫终端,其中,所述第四十七消息包括:所述被叫终端发送的、摘机的200OK消息;第五十四模块,用于接收第四十八消息,并转发所述第四十八消息给所述被叫终端,其中,所述第四十八消息包括:响应于所述第四十七消息的ACK消息。

根据本发明的一个方面,还提供了一种SCC AS,包括:上述的振铃前双模单待无 线语音呼叫连续性装置。

通过本发明,采用SCC AS接收主叫终端的bSRVCC切换请求;SCC AS判断在接收到bSRVCC切换请求之前是否接收到第一消息,其中,第一消息包括:由被叫终端发送的、携带Answer SDP的消息;在SCC AS判断到在接收到bSRVCC切换请求之前未接收到第一消息的情况下,SCC AS缓存bSRVCC切换请求,并在接收到第一消息之前将预定消息终结在SCC AS,其中,预定消息包括:由被叫终端发送的、不携带Answer SDP的消息的方式,解决了3GPP相关规范中的bSRVCC流程是不可实施的问题,提供了一种可实施的bSRVCC流程。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是相关技术中两次INVITE携带SDP相同的bSRVCC方法的流程图;

图2是相关技术中两次INVITE携带的SDP不同的bSRVCC方法的流程图;

图3是相关技术中的3GPP相关规范中未考虑的场景的流程图;

图4是根据本发明实施例的bSRVCC方法的流程图;

图5是根据本发明实施例的bSRVCC装置的结构框图;

图6是根据本发明可选实施例的bSRVCC方法的流程图一;

图7是根据本发明可选实施例的bSRVCC方法的流程图二;

图8是根据本发明可选实施例的bSRVCC方法的流程图三;

图9是根据本发明可选实施例的bSRVCC方法的流程图四;

图10是根据本发明可选实施例的bSRVCC方法的流程图五;

图11是根据本发明可选实施例的bSRVCC方法的流程图六;

图12是根据本发明可选实施例的bSRVCC方法的流程图七;

图13是根据本发明可选实施例的bSRVCC方法的流程图八。

具体实施方式

下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二” 等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

在本实施例中提供了一种振铃前双模单待无线语音呼叫连续性方法,图4是根据本发明实施例的振铃前双模单待无线语音呼叫连续性方法的流程图,如图4所示,该流程包括如下步骤:

步骤S410,SCC AS接收主叫终端的bSRVCC切换请求;

步骤S412,SCC AS判断在接收到bSRVCC切换请求之前是否接收到第一消息,其中,第一消息包括:由被叫终端发送的、携带Answer SDP的消息;

步骤S414,在SCC AS判断到在接收到bSRVCC切换请求之前未接收到第一消息的情况下,SCC AS缓存bSRVCC切换请求,并在接收到第一消息之前将预定消息终结在SCC AS,其中,预定消息包括:由被叫终端发送的、不携带Answer SDP的消息。

通过上述步骤,在接收到携带Answer SDP之前缓存bSRVCC切换请求,并将由被叫终端发送的、不带Answer SDP的消息,例如:不携带Answer SDP的非180消息和/或不带Answer SDP的200OK消息等终结在SCC AS上,实现了SCC AS对消息的异步控制。通过对消息的异步控制,可以弥补相关技术中SCC AS对消息的同步控制存在的缺陷,解决3GPP相关规范中的bSRVCC流程是不可实施的问题,进而提供一种可实施的bSRVCC流程。

可选地,在步骤S410之前,上述流程还可以包括下列步骤:

步骤S406,SCC AS接收主叫终端在分组交换(PS)域发起的呼叫请求(INVITE);

步骤S408,SCC AS发送呼叫请求(INVITE)给被叫终端;

其中,在步骤S410中,在主叫终端发生PS域到CS域的切换的情况下,SCC AS将接收由主叫终端的增强的移动交换中心(enhanced Mobile Switch Center,简称为eMSC)发送的bSRVCC切换请求。

可选地,对于呼叫请求(INVITE)中携带的SDP与bSRVCC切换请求中携带的SDP是否相同的不同情况,本发明实施例给出了相应的处理方式。

例如:在呼叫请求和bSRVCC切换请求的SDP不相同,在接收到bSRVCC切换请求之前没有接收到被叫终端发送的、携带Answer SDP的消息的场景下,在步骤S414之后,振铃前双模单待无线语音呼叫连续性方法的流程包括下列步骤:

步骤S416-11,SCC AS接收被叫终端发送的、携带Answer SDP的183消息;

步骤S418-11,在呼叫请求与bSRVCC切换请求的SDP不相同的情况下,SCC AS与被叫终端交互183消息的PRACK消息和200OK消息之后(即实现了183消息的可靠传输之后),SCC AS发送携带bSRVCC切换请求的offer SDP的UPDATE消息给被叫 终端;

步骤S420-11,SCC AS接收被叫终端响应于UPDATE消息的、携带Answer SDP的200OK消息;

步骤S422-11,SCC AS发送携带Answer SDP的183消息给主叫终端,其中,该183消息中携带有被叫终端的bSRVCC能力信息,例如,可以在183消息中添加Feature-Caps header头部,携带g.3gpp.ps2cs-srvcc-orig-pre-alerting指示,以指示被叫终端具备bSRVCC能力;

步骤S424-11,在主叫终端与SCC AS交互183消息的PRACK消息和200OK消息之后,SCC AS发送携带当前振铃状态的INFO消息给主叫终端;此时的当前振铃状态为振铃(pre-alerting)状态。

步骤S426-11,SCC AS接收主叫终端响应于INFO消息的200OK消息;

步骤S428-11,SCC AS接收被叫终端发送的180消息,并转发该180消息给主叫终端;

步骤S430-11,SCC AS接收被叫终端发送的摘机的200OK消息,并转发该200OK消息给主叫终端;

步骤S432-11,SCC AS接收主叫终端发送的ACK消息,并转发该ACK消息给被叫终端。

例如,在呼叫请求和bSRVCC切换请求的SDP相同,在接收到bSRVCC切换请求之前没有接收到被叫终端发送的、携带Answer SDP的消息的场景下,在步骤S414之后,该振铃前双模单待无线语音呼叫连续性方法的流程包括如下步骤:

步骤S416-12,SCC AS接收被叫终端发送的、携带Answer SDP的183消息;

步骤S418-12,在呼叫请求与bSRVCC切换请求的SDP相同的情况下,SCC AS发送携带Answer SDP的183消息给主叫终端,其中,该183消息中携带有被叫终端的bSRVCC能力信息,例如,在183消息中添加Feature-Caps header头部,携带g.3gpp.ps2cs-srvcc-orig-pre-alerting指示;

步骤S420-12,主叫终端与SCC AS交互183消息的PRACK消息和200OK消息,且SCC AS与被叫终端交互183消息的PRACK消息和200OK消息之后,SCC AS发送携带当前振铃状态(当前为pre-alerting状态)的INFO消息给主叫终端;

步骤S422-12,SCC AS接收主叫终端响应于INFO消息的200OK消息;

步骤S424-12,SCC AS接收被叫终端发送的180消息,并转发该180消息给主叫终端;

步骤S426-12,SCC AS接收被叫终端发送的摘机的200OK消息,并转发该200OK消息给主叫终端;

步骤S428-12,SCC AS接收主叫终端发送的ACK消息,并转发该ACK消息给被叫终端。

在振铃前双模单待无线语音呼叫连续性方法中,存在180消息或者INVITE消息的200OK消息先到的场景。在本发明实施例中对上述两种消息先到的场景的处理流程进行了描述。

例如,在接收到bSRVCC切换请求之前没有接收到被叫终端发送的、携带Answer SDP的消息,且在步骤S414中等到的180消息先到的场景下,在步骤S414之后,振铃前双模单待无线语音呼叫连续性方法的流程包括下列步骤:

步骤S416-13,SCC AS接收被叫终端发送180消息;

步骤S418-13,SCC AS发送携带Fack SDP的183消息给主叫终端,其中,该183消息中携带有被叫终端的bSRVCC能力信息,例如,在183消息中添加Feature-Caps header头部,携带g.3gpp.ps2cs-srvcc-orig-pre-alerting指示;

步骤S420-13,主叫终端与SCC AS交互183消息的PRACK消息和200OK消息之后,SCC AS发送不携带SDP的180消息给主叫终端;

步骤S422-13,SCC AS发送携带当前振铃状态(当前为early状态)的INFO消息给主叫终端;

步骤S424-13,SCC AS接收主叫终端响应于INFO消息的200OK消息;

步骤S426-13,SCC AS接收被叫终端发送的摘机的200OK消息;

步骤S428-13,SCC AS发送不携带SDP的摘机的200OK消息给主叫终端;

步骤S430-13,SCC AS发送响应于INFO消息的200OK消息的ACK消息给被叫终端,并接收主叫终端发送的、摘机的200OK消息的ACK消息。

在步骤S430-13之后,SCC AS则可以发起端到端空切流程。

例如,在接收到bSRVCC切换请求之前没有接收到被叫终端发送的、携带Answer SDP的消息,且在步骤S414中等到的INVITE消息的200OK消息先到的场景下,在该流程中,在步骤S414之后,振铃前双模单待无线语音呼叫连续性方法的流程包括下列步骤:

步骤S416-14,SCC AS接收被叫终端发送的、携带Answer SDP的200OK消息;

步骤S418-14,SCC AS发送携带Fack SDP的183消息给主叫终端,其中,该183 消息中携带有被叫终端的bSRVCC能力信息,例如,在183消息中添加Feature-Caps header头部,携带g.3gpp.ps2cs-srvcc-orig-pre-alerting指示;

步骤S420-14,主叫终端与SCC AS交互183消息的PRACK消息和200OK消息,且SCC AS发送响应于200OK消息的ACK消息给被叫终端之后,SCC AS发送不携带SDP的180消息给主叫终端;

步骤S422-14,SCC AS发送携带当前振铃状态(当前为early状态)的INFO消息给主叫终端;

步骤S424-14,SCC AS接收主叫终端响应于INFO消息的200OK消息;

步骤S426-14,SCC AS接收被叫终端发送的摘机的200OK消息;

步骤S428-14,SCC AS发送不携带SDP的摘机的200OK消息给主叫终端;

步骤S430-14,SCC AS接收主叫终端发送的、摘机的200OK消息的ACK消息。

在步骤S430-14之后,SCC AS则可以发起端到端空切流程。

可选地,本发明实施例提供了在接收到bSRVCC切换请求之前已接收到被叫终端发送的、携带Answer SDP的消息的场景下的振铃前双模单待无线语音呼叫连续性方法的流程。在该流程中,在步骤S408之后,且在步骤S410之前,该流程还包括如下步骤:

步骤S409,SCC AS接收被叫终端发送的、携带Answer SDP的183消息;SCC AS与被叫终端交互183消息的PRACK和200OK消息之后(即可靠传输该183消息之后),SCC AS转发该183消息给主叫终端。

对于呼叫请求(INVITE)中携带的SDP与bSRVCC切换请求中携带的SDP是否相同的不同情况,本发明实施例给出了相应的处理方式。

例如,在呼叫请求和bSRVCC切换请求的SDP不相同,在接收到bSRVCC切换请求之前已接收到被叫终端发送的、携带Answer SDP的183消息的场景下,在步骤S410之后,振铃前双模单待无线语音呼叫连续性方法的流程包括如下步骤:

步骤S412-21,SCC确定在接收到bSRVCC切换请求之前已接收到被叫终端发送的、携带Answer SDP的消息;

步骤S414-21,在呼叫请求与bSRVCC切换请求的SDP不相同的情况下,主叫终端与SCC AS交互183消息的PRACK消息和200OK消息之后,SCC AS发送携带bSRVCC切换请求的offer的UPDATE消息给被叫终端;

步骤S416-21,SCC AS接收被叫终端响应于UPDATE消息的、携带Answer SDP的200OK消息;

步骤S418-21,SCC AS发送携带Answer SDP的183消息给主叫终端,其中,该183消息中携带有被叫终端的bSRVCC能力信息,例如,在183消息中添加Feature-Caps header头部,携带g.3gpp.ps2cs-srvcc-orig-pre-alerting指示;

步骤S420-21,在主叫终端与SCC AS交互183消息的PRACK消息和200OK消息之后,SCC AS发送携带当前振铃状态(当前为pre-alerting状态)的INFO消息给主叫终端;

步骤S422-21,SCC AS接收主叫终端响应于INFO消息的200OK消息;

步骤S424-21,SCC AS接收被叫终端发送的180消息,并转发该180消息给主叫终端;

步骤S426-21,SCC AS接收被叫终端发送的摘机的200OK消息,并转发该200OK消息给主叫终端;

步骤S428-21,SCC AS接收主叫终端发送的ACK消息,并转发该ACK消息给被叫终端。

例如,在呼叫请求和bSRVCC切换请求的SDP相同,在接收到bSRVCC切换请求之前已接收到被叫终端发送的、携带Answer SDP的消息的场景下,在步骤S410之后,该振铃前双模单待无线语音呼叫连续性方法的流程包括如下步骤:

步骤S412-22,SCC AS确定在接收到bSRVCC切换请求之前已接收到被叫终端发送的、携带Answer SDP的消息;

步骤S414-22,在呼叫请求与bSRVCC切换请求的SDP相同的情况下,主叫终端与SCC AS交互183消息的PRACK消息和200OK消息之后,SCC AS发送携带Answer SDP的183消息给主叫终端,其中,该183消息中携带有被叫终端的bSRVCC能力信息,例如,在183消息中添加Feature-Caps header头部,携带g.3gpp.ps2cs-srvcc-orig-pre-alerting指示;

步骤S416-22,主叫终端与SCC AS交互183消息的PRACK消息和200OK消息,且SCC AS与被叫终端交互183消息的PRACK消息和200OK消息之后,SCC AS发送携带当前振铃状态(当前为pre-alerting状态)的INFO消息给主叫终端;

步骤S418-22,SCC AS接收主叫终端响应于INFO消息的200OK消息;

步骤S420-22,SCC AS接收被叫终端发送的180消息,并转发该180消息给主叫终端;

步骤S422-22,SCC AS接收被叫终端发送的摘机的200OK消息,并转发该200OK消息给主叫终端;

步骤S424-22,SCC AS接收主叫终端发送的ACK消息,并转发该ACK消息给被叫终端。

在振铃前双模单待无线语音呼叫连续性方法中,存在尚未来得及发送183消息的PRACK消息或者UPDATE消息的200OK消息就发生了bSRVCC切换的场景。在本发明实施例中对上述两种场景的处理流程进行了描述。

例如,在接收到bSRVCC切换请求之前已接收到被叫终端发送的、携带Answer SDP的183消息,但在步骤S410之前主叫终端尚未来得及发送183消息的PRACK就发生了切换的场景下,在步骤S410之后,该振铃前双模单待无线语音呼叫连续性方法的流程包括如下步骤:

步骤S412-23,SCC确定在接收到bSRVCC切换请求之前已接收到被叫终端发送的、携带Answer SDP的消息,以及在接收到bSRVCC切换请求之前未接收到主叫终端发送的、183消息的PRACK消息;

步骤S414-23,在呼叫请求与bSRVCC切换请求的SDP不相同的情况下,SCC AS发送PRACK消息给被叫终端;

步骤S416-23,SCC AS接收被叫终端响应于PRACK消息的200OK消息;

步骤S418-23,SCC AS发送携带bSRVCC切换请求的offer SDP的UPDATE消息给被叫终端;

步骤S420-23,SCC AS接收被叫终端响应于UPDATE消息的、携带Answer SDP的200OK消息;

步骤S422-23,SCC AS发送携带Answer SDP的183消息给主叫终端,其中,该183消息中携带有被叫终端的bSRVCC能力信息,例如,在183消息中添加Feature-Caps header头部,携带g.3gpp.ps2cs-srvcc-orig-pre-alerting指示;

步骤S424-23,在主叫终端与SCC AS交互183消息的PRACK消息和200OK消息之后,SCC AS发送携带当前振铃状态(当前为pre-alerting状态)的INFO消息给主叫终端;

步骤S426-23,SCC AS接收主叫终端响应于INFO消息的200OK消息;

步骤S428-23,SCC AS接收被叫终端发送的180消息,并转发该180消息给主叫终端;

步骤S430-23,SCC AS接收被叫终端发送的摘机的200OK消息,并转发该200OK消息给主叫终端;

步骤S432-23,SCC AS接收主叫终端发送的ACK消息,并转发该ACK消息给被 叫终端。

例如,在接收到bSRVCC切换请求之前已接收到被叫终端发送的、携带Answer SDP的消息,且在步骤S410之前被叫终端发送UPDATE消息给主叫终端但主叫终端尚未来得及发送UPDATE消息的200OK消息就发生了切换的场景下在步骤S410之后,该振铃前双模单待无线语音呼叫连续性方法的流程包括如下步骤:

步骤S412-24,SCC确定在接收到bSRVCC切换请求之前已接收到被叫终端发送的、携带Answer SDP的消息,在接收到bSRVCC切换请求之前被叫终端发送UPDATE消息给主叫终端,以及在接收到bSRVCC切换请求之前未接收到主叫终端响应于所UPDATE消息的200OK消息;

步骤S414-24,在呼叫请求与bSRVCC切换请求的SDP不相同的情况下,SCC AS发送响应于UPDATE消息的200OK消息给被叫终端;

步骤S416-24,SCC AS发送携带bSRVCC切换请求的offer SDP的UPDATE消息给被叫终端;

步骤S418-24,SCC AS接收被叫终端响应于UPDATE消息的、携带Answer SDP的200OK消息;

步骤S420-24,SCC AS发送携带Answer SDP的183消息给主叫终端,其中,该183消息中携带有被叫终端的bSRVCC能力信息,例如,在183消息中添加Feature-Caps header头部,携带g.3gpp.ps2cs-srvcc-orig-pre-alerting指示;

步骤S422-24,在主叫终端与SCC AS交互183消息的PRACK消息和200OK消息之后,SCC AS发送携带当前振铃状态(当前为pre-alerting状态)的INFO消息给主叫终端;

步骤S424-24,SCC AS接收主叫终端响应于INFO消息的200OK消息;

步骤S426-24,SCC AS接收被叫终端发送的180消息,并转发该180消息给主叫终端;

步骤S428-24,SCC AS接收被叫终端发送的摘机的200OK消息,并转发该200OK消息给主叫终端;

步骤S430-24,SCC AS接收主叫终端发送的ACK消息,并转发该ACK消息给被叫终端。

对于1xx消息(例如183消息、180消息、181消息等),可以可靠传输或者非可靠传输。其中,在可靠传输中,要求接收1xx消息的接收方向发送方响应PRACK消息,发送方在接收到PRACK消息之后,发送200OK消息给接收方,以表示收到PRACK消息。通过收发双方通过PRACK/200OK消息,即可确定1xx消息是否已可靠传输。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

在本实施例中还提供了一种振铃前双模单待无线语音呼叫连续性装置,应用于SCC AS,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图5是根据本发明实施例的振铃前双模单待无线语音呼叫连续性装置的结构框图,如图5所示,该装置包括:第一模块52、第二模块54和第三模块56,其中,

第一模块52,用于接收主叫终端的bSRVCC切换请求;第二模块54,耦合至第一模块52,用于判断在接收到bSRVCC切换请求之前是否接收到第一消息,其中,第一消息包括:由被叫终端发送的、携带Answer SDP的消息;第三模块56,耦合至第二模块54,用于在第二模块判断到在接收到bSRVCC切换请求之前未接收到第一消息的情况下,缓存bSRVCC切换请求,并在接收到第一消息之前将预定消息终结在SCC AS,其中,预定消息包括:由被叫终端发送的、不携带Answer SDP的消息。

可选地,预定消息包括但不限于以下至少之一:被叫终端发送的、不带Answer SDP的非180消息;被叫终端发送的、不带Answer SDP的200OK消息。

可选地,装置还包括:第四模块,用于接收主叫终端在分组交换PS域发起的呼叫请求;第五模块,用于发送呼叫请求给被叫终端;其中,第一模块用于:在主叫终端发生PS域到电路交换CS域的切换的情况下,接收bSRVCC切换请求,其中,bSRVCC切换请求是由主叫终端的增强的移动交换中心eMSC发送的。

可选地,装置还包括:第六模块,用于接收可靠传输的第一消息;第七模块,用于判断呼叫请求携带的SDP与bSRVCC切换请求携带的SDP是否相同;第八模块,用于在第七断模块判断到呼叫请求携带的SDP与bSRVCC切换请求携带的SDP不相同的情况下,发送第二消息给被叫终端,其中,第二消息包括:携带bSRVCC切换请求的offer SDP的UPDATE消息;第九模块,用于接收第三消息,其中,第三消息包括:响应于第二消息的、携带Answer SDP的200OK消息。

可选地,装置还包括:第十模块,用于在第七模块判断到呼叫请求携带的SDP与bSRVCC切换请求携带的SDP相同的情况下,或者,在第九模块接收第三消息之后,发送可靠传输的第四消息给主叫终端,其中,第四消息包括:携带Answer SDP和被叫 终端的bSRVCC能力信息的183消息;第十一模块,用于发送第五消息给主叫终端,其中,第五消息包括:携带当前振铃状态的INFO消息;第十二模块,用于接收第六消息,其中,第六消息包括:响应于第五消息的200OK消息;第十三模块,用于接收第七消息,并转发第七消息给主叫终端,其中,第七消息包括:被叫终端发送的180消息;第十四模块,用于接收第八消息,并转发第八消息给主叫终端,其中,第八消息包括:被叫终端发送的、摘机的200OK消息;第十五模块,用于接收第九消息,并转发第九消息给被叫终端,其中,第九消息包括:响应于第八消息的ACK消息;第十六模块,用于发送可靠传输的第十一消息给主叫终端,其中,第十一消息包括:携带Answer SDP和被叫终端的bSRVCC能力信息的183消息;第十七模块,用于发送第十二消息给主叫终端,其中,第十二消息包括:携带当前振铃状态的INFO消息;第十八模块,用于接收第十三消息,其中,第十三消息包括:响应于第十二消息的200OK消息;第十九模块,用于接收第十四消息,并转发第十四消息给主叫终端,其中,第十四消息包括:被叫终端发送的180消息;第二十模块,用于接收第十五消息,并转发第十五消息给主叫终端,其中,第十五消息包括:被叫终端发送的摘机的200OK消息;第二十一模块,用于接收第十六消息,并转发第十六消息给被叫终端,其中,第十六消息包括:响应于第十五消息的ACK消息。

可选地,装置还包括:第二十二模块,用于接收第十七消息,其中,第十七消息包括:被叫终端发送的180消息;第二十三模块,用于发送可靠传输的第十八消息给主叫终端,其中,第十八消息包括:携带Fack SDP和被叫终端的bSRVCC能力信息的183消息;第二十四模块,用于发送第十九消息给主叫终端,其中,第十九消息包括:不携带SDP的180消息;第二十五模块,用于发送第二十消息给主叫终端,其中,第二十消息包括:携带当前振铃状态的INFO消息;第二十六模块,用于接收第二十一消息,其中,第二十一消息包括:响应于第二十消息的200OK消息;第二十七模块,用于接收第二十二消息,其中,第二十二消息包括:被叫终端发送的、摘机的200OK消息;第二十八模块,用于发送第二十三消息给主叫终端,其中,第二十三消息包括:不携带SDP的、摘机的200OK消息;第二十九模块,用于发送第二十四消息给被叫终端,并接收第二十五消息,其中,第二十四消息包括:响应于第二十二消息的ACK消息,第二十五消息包括:响应于第二十三消息的ACK消息。

可选地,装置还包括:第三十模块,用于接收第二十六消息,其中,第二十六消息包括:响应于呼叫请求的、携带Answer SDP的200OK消息;第三十一模块,用于发送第二十七消息给主叫终端,其中,第二十七消息包括:携带Fack SDP和被叫终端的bSRVCC能力信息的183消息;第三十二模块,用于发送第二十八消息给被叫终端,其中,第二十八消息包括:响应于第二十六消息的ACK消息;第三十三模块,用于发送第二十九消息给主叫终端,其中,第二十九消息包括:不携带SDP的180消息;第三十四模块,用于发送第三十消息给主叫终端,其中,第三十消息包括:携带当前振铃状态的INFO消息;第三十五模块,用于接收第三十一消息,其中,第三十一消息包括: 响应于第三十消息的200OK消息;第三十六模块,用于接收第三十二消息,其中,第三十二消息包括:被叫终端发送的、摘机的200OK消息;第三十七模块,用于发送第三十三消息给主叫终端,其中,第三十三消息包括:不携带SDP的、摘机的200OK消息;第三十八模块,用于接收第三十四消息,其中,第三十四消息包括:响应于第三十三消息的ACK消息。

可选地,装置还包括:第三十九模块,用于在第五模块发送呼叫请求给被叫终端之后,且在第一模块接收主叫终端的bSRVCC切换请求之前,接收可靠传输的第一消息,并转发第一消息给主叫终端;装置还包括:第四十模块,用于在第一模块接收主叫终端的bSRVCC切换请求之后,判断是否接收到第三十五消息,其中,第三十五消息包括:主叫终端响应于第一消息的PRACK消息;第四十一模块,用于在第四十模块判断到未接收到第三十五消息的情况下,发送第三十六消息给被叫终端,其中,第三十六消息包括:响应于第一消息的PRACK消息;第四十二模块,用于接收第三十七消息,其中,第三十七消息包括:响应于第三十六消息的200OK消息。

可选地,装置还包括:第四十三模块,用于在第五模块发送呼叫请求给被叫终端之后,且在第一模块接收主叫终端的bSRVCC切换请求之前,接收可靠传输的第一消息,并转发第一消息给主叫终端;装置还包括:第四十四模块,用于判断在第一模块接收到主叫终端的bSRVCC切换请求之前是否接收到第三十八消息并转发第三十八消息给主叫终端,以及在第一模块接收到主叫终端的bSRVCC切换请求之前是否接收到第三十九消息,其中,第三十八消息包括:被叫终端发送的UPDATE消息,第三十九消息包括:主叫终端响应于第三十八消息的200OK消息;第四十五模块,用于发送第四十消息给被叫终端,其中,第四十消息包括:响应于第三十八消息的200OK消息。

可选地,装置还包括:第四十六模块,用于在第四十模块判断到已接收到第三十五消息的情况下,或者在第四十二模块接收第三十七消息之后,或者在第四十四模块判断到在SCC AS接收到主叫终端的bSRVCC切换请求之前接收到第三十八消息并转发第三十八消息给主叫终端且第四十四模块判断到在SCC AS接收到主叫终端的bSRVCC切换请求之前接收到第三十九消息的情况下,或者在第四十五模块发送第四十消息给被叫终端之后,判断呼叫请求携带的SDP与bSRVCC切换请求携带的SDP是否相同;第四十七模块,用于在第四十六模块判断到呼叫请求携带的SDP与bSRVCC切换请求携带的SDP不相同的情况下,发送第四十一消息给被叫终端,其中,第四十一消息包括:携带bSRVCC切换请求的offer SDP的UPDATE消息;第四十八模块,用于接收第四十二消息,其中,第四十二消息包括:响应于第四十一消息的、携带Answer SDP的200OK消息。

可选地,装置还包括:第四十九模块,用于在第四十六模块判断到呼叫请求携带的SDP与bSRVCC切换请求携带的SDP相同的情况下,或者,在第四十八模块接收第四十二消息之后,发送可靠传输的第四十三消息给主叫终端,其中,第四十三消息包括: 携带Answer SDP和被叫终端的bSRVCC能力信息的183消息;第五十模块,用于发送第四十四消息给主叫终端,其中,第四十四消息包括:携带当前振铃状态的INFO消息;第五十一模块,用于接收第四十五消息,其中,第四十五消息包括:响应于第四十四消息的200OK消息;第五十二模块,用于接收第四十六消息,并转发第四十六消息给主叫终端,其中,第四十六消息包括:被叫终端发送的180消息;第五十三模块,用于接收第四十七消息,并转发第四十七消息给主叫终端,其中,第四十七消息包括:被叫终端发送的、摘机的200OK消息;第五十四模块,用于接收第四十八消息,并转发第四十八消息给被叫终端,其中,第四十八消息包括:响应于第四十七消息的ACK消息。

在本实施例中还提供了一种SCC AS,上述的振铃前双模单待无线语音呼叫连续性装置。

需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述模块分别位于多个处理器中。

本发明的实施例还提供了一种软件,该软件用于执行上述实施例及优选实施方式中描述的技术方案。

本发明的实施例还提供了一种存储介质。在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:

步骤S410,SCC AS接收主叫终端的bSRVCC切换请求;

步骤S412,SCC AS判断在接收到bSRVCC切换请求之前是否接收到第一消息,其中,第一消息包括:由被叫终端发送的、携带Answer SDP的消息;

步骤S414,在SCC AS判断到在接收到bSRVCC切换请求之前未接收到第一消息的情况下,SCC AS缓存bSRVCC切换请求,并在接收到第一消息之前将预定消息终结在SCC AS,其中,预定消息包括:由被叫终端发送的、不携带Answer SDP的消息。

可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。

为了使本发明实施例的描述更加清楚,下面结合可选实施例进行描述和说明。

为了提出bSRVCC的可实施的系统方案,满足运营商的需求,本发明可选实施例提供了一种振铃前SRVCC方法,下面结合流程交互图对本发明可选实施例进行描述和说 明。

图6是根据本发明可选实施例的振铃前双模单待无线语音呼叫连续性方法的流程图一,在图6中示出了bSRVCC切换请求时远端(即被叫终端)未发送Answer SDP的场景下的处理流程,该流程包括如下步骤:

步骤S601,主叫终端UE-A在分组交换(Packet Switch,简称为PS)域发起IMS呼叫,经过主叫终端侧的SCC AS;

步骤S602,SCC AS将呼叫请求送到被叫终端UE-B;

步骤S603,UE-A发生PS到CS的切换,并由UE-A(CS)侧发送切换的INVITE,实际由eMSC发送;

步骤S604,SCC AS缓存收到的切换请求,并等待后向的Answer SDP;在等待后向Answer SDP的阶段,来自UE-B的不带Answer SDP的非180消息、200OK(INVITE)消息等中间消息,如181消息等,由SCC AS拦截,不向前向UE-A(CS)侧发送;

其中,本发明实施例中类似“200OK(INVITE)”的表述用于表示该200OK消息是响应于INVITE消息的,下同。

步骤S605,UE-B向SCC AS发送183消息,携带Answer SDP;

步骤S606,SCC AS与UE-B交互PRACK消息/200OK消息后,将切换请求的Offer SDP通过UPDATE更新后发送给远端UE-B;

步骤S607,UE-B在200OK(UPDATE)消息中携带Answer SDP,并发送到SCC AS;

步骤S608,SCC AS将Answer SDP携带在183消息中发送给前向UE-A(CS);183消息添加Feature-Caps header头部,携带g.3gpp.ps2cs-srvcc-orig-pre-alerting指示(feature-capability indicator);

步骤S609,在UE-A与SCC AS交互完PRACK消息后,SCC AS向UE-A(CS)发送INFO消息,携带pre-alerting状态;

步骤S610,UE-A(CS)向SCC AS回200OK(INFO)消息;

步骤S611,SCC AS将切换的前向Leg与后向Leg关联,中间信令,如1xx、后续的SDP,支持透传;

步骤S612,UE-B发送180消息到SCC AS;

步骤S613,SCC AS转发180消息到UE-A(CS);

步骤S614,UE-B发送摘机的200OK消息到SCC AS;

步骤S615,SCC AS转发摘机的200OK消息到UE-A(CS),并由SCC AS传递ACK消息;

步骤S616,用例结束。

上述流程中,SCC AS收到切换请求后,不进行后续操作,而是等到后向的Answer SDP后才进行操作,这种异步操作,对于SCC AS而言是创造性的改进。

图7是根据本发明可选实施例的振铃前双模单待无线语音呼叫连续性方法的流程图二,在图7中示出了bSRVCC切换请求时远端未发送Answer SDP的场景下,两次INVITE请求(呼叫的INVITE和切换的INVITE)SDP相同的处理流程,该流程包括如下步骤:

步骤S701,主叫终端UE-A在PS发起IMS呼叫,经过主叫终端侧的SCC AS;

步骤S702,SCC AS将呼叫请求送到被叫终端UE-B;

步骤S703,UE-A发生PS到CS的切换,并由UE-A(CS)侧发送切换的INVITE消息,实际由eMSC发送,且该切换请求的INVITE消息携带的SDP与之前UE-A发送的INVITE携带的SDP相同;

步骤S704,SCC AS缓存收到的切换请求,并等待后向的Answer SDP;在等待后向Answer SDP的阶段,来自UE-B的不带Answer SDP的非180消息、200OK(INVITE)消息等中间消息,如181消息等,由SCC AS拦截,不向前向UE-A(CS)侧发送;

步骤S705,UE-B向SCC AS发送183消息,携带Answer SDP;

步骤S706,SCC AS直接将之前从后向UE-B收到的Answer SDP在183消息中发送给前向UE-A(CS);183消息添加Feature-Caps header头部,携带g.3gpp.ps2cs-srvcc-orig-pre-alerting指示(feature-capability indicator);

后续处理与图6中的步骤S609至步骤S616相同,在此不再赘述。

图8是根据本发明可选实施例的振铃前双模单待无线语音呼叫连续性方法的流程图三,在图8中示出了bSRVCC切换请求时远端未发送Answer SDP的场景下,180消息先到的非Precondition兼容流程,该流程包括如下步骤:

步骤S801,在步骤S601后,SCC AS等到后向的消息并不是携带Answer SDP的183消息,而是180消息;SCC AS直接与后向交互180消息的PRACK消息/200OK消息;

步骤S802,参考目前的振铃态SRVCC流程,SCC AS向前向回183消息,带Fake SDP;并交互PRACK消息/200OK消息;183消息添加Feature-Caps header头部,携带g.3gpp.ps2cs-srvcc-orig-pre-alerting指示(feature-capability indicator);

步骤S803,SCC AS向前向回180消息,并交互PRACK消息/200OK消息;不论UE-B的180消息是否携带SDP,SCC AS发送到UE-A(CS)的180消息不携带SDP,且为不可靠传输;

步骤S804,SCC AS向前向发送INFO消息,因为已经收到后向的180消息,INFO消息携带early状态;

步骤S805,SCC AS收到200OK(INFO)消息;

步骤S806,SCC AS收到UE-B的摘机200OK消息;

步骤S807,SCC AS向UE-A(CS)发送摘机的200OK消息;不论UE-B的200OK消息是否携带SDP,SCC AS发送到UE-A(CS)的200OK消息不携带SDP;

步骤S808,完成ACK消息传递后,SCC AS发起空切流程;

步骤S809,用例结束。

图9是根据本发明可选实施例的振铃前双模单待无线语音呼叫连续性方法的流程图四,在图9中示出了bSRVCC切换请求时远端未发送Answer SDP的场景下,200OK(INVITE)先到的非Precondition兼容流程,该流程包括如下步骤:

步骤S901,在步骤S601后,SCC AS等到后向的消息并不是携带Answer SDP的183消息,而是200OK消息,携带Answer SDP;

步骤S902,参考目前的振铃态SRVCC流程,SCC AS向前向回183消息,携带Fake SDP;并交互PRACK消息/200OK消息;183消息添加Feature-Caps header头部,携带g.3gpp.ps2cs-srvcc-orig-pre-alerting指示(feature-capability indicator);

步骤S903,SCC AS向前向回180消息,并交互PRACK消息/200OK消息;不论UE-B的200OK(INVITE)消息是否携带SDP,SCC AS发送到UE-A(CS)的180消息不携带SDP,且为不可靠传输;

步骤S904,SCC AS向前向发送INFO消息,INFO消息携带early状态;

步骤S905,SCC AS收到200OK(INFO)消息;

步骤S906,SCC AS向UE-A(CS)发送摘机的200OK消息,不携带SDP;

步骤S907,完成ACK消息传递后,SCC AS发起空切流程;

步骤S908,用例结束。

图10是根据本发明可选实施例的振铃前双模单待无线语音呼叫连续性方法的流程 图五,在图10中示出了bSRVCC切换请求时远端已经发送Answer SDP的场景下的处理流程,该流程包括如下步骤:

步骤S1001,主叫终端UE-A在PS发起IMS呼叫,经过主叫终端侧的SCC AS;

步骤S1002,SCC AS将呼叫请求送到被叫终端UE-B;

步骤S1003,被叫终端UE-B发送183消息至SCC AS,且为可靠传输;

步骤S1004,SCC AS转发183消息至主叫终端UE-A(PS),且为可靠传输;

步骤S1005,UE-A发生PS到CS的切换,并由UE-A(CS)侧发送切换的INVITE消息,实际由eMSC发送;

步骤S1006,SCC AS收到该切换请求,将Offer SDP通过UPDATE消息更新后发送给远端UE-B;

步骤S1007,UE-B在200OK(UPDATE)消息中带Answer SDP,并发送到SCC AS;

步骤S1008,SCC AS将Answer SDP在183消息中发送给前向UE-A(CS);183消息添加Feature-Caps header头部,携带g.3gpp.ps2cs-srvcc-orig-pre-alerting指示(feature-capability indicator);

步骤S1009,在UE-A与SCC AS交互完PRACK消息后,SCC AS向UE-A(CS)发送INFO消息,携带pre-alerting状态;

步骤S1010,UE-A(CS)向SCC AS回200OK(INFO)消息;

步骤S1011,SCC AS将切换的前向Leg与后向Leg关联,中间信令,如1xx、后续的SDP,支持透传;

步骤S1012,UE-B发送180消息到SCC AS;

步骤S1013,SCC AS转发180消息到UE-A(CS);

步骤S1014,UE-B发送摘机的200OK消息到SCC AS;

步骤S1015,SCC AS转发摘机的200OK消息到UE-A(CS),并由SCC AS传递ACK消息;

步骤S1016,用例结束。

图11是根据本发明可选实施例的振铃前双模单待无线语音呼叫连续性方法的流程图六,在图11中示出了bSRVCC切换请求时远端已经发送Answer SDP的场景下,两次INVITE请求(呼叫的INVITE和切换的INVITE)SDP相同的处理流程,该流程包括如下步骤:

步骤S1101,主叫终端UE-A在PS发起IMS呼叫,经过主叫终端侧的SCC AS;

步骤S1101,SCC AS将呼叫请求送到被叫终端UE-B;

步骤S1101,被叫终端UE-B发送183消息至SCC AS,且为可靠传输;

步骤S1101,SCC AS转发该183消息至主叫终端UE-A(PS),且为可靠传输;

步骤S1101,UE-A发生PS到CS的切换,并由UE-A(CS)侧发送切换的INVITE,实际由eMSC发送,且该切换请求的INVITE携带的SDP与之前UE-A发送的INVITE携带的SDP相同;

步骤S1101,SCC AS直接将之前从后向UE-B收到的Answer SDP在183消息中发送给前向UE-A(CS);183消息添加Feature-Caps header头部,携带g.3gpp.ps2cs-srvcc-orig-pre-alerting指示(feature-capability indicator);

后续处理与图10中的步骤S1009至步骤S1016相同,在此不再赘述。

图12是根据本发明可选实施例的振铃前双模单待无线语音呼叫连续性方法的流程图七,在图12中示出了bSRVCC切换请求时远端已经发送Answer SDP的场景下,SCC AS补PRACK的处理流程,该流程包括如下步骤:

步骤S1201,如果在图10中的步骤S1004中,SCC AS转发183消息到UE-A(PS),UE-A(PS)未来得及发送PRACK消息,此时就发生切换。

步骤S1202,SCC AS在UE-B的Dialog中先发送PRACK消息到UE-B;

其中,如果原呼叫INVITE消息不带Offer,183消息中将是Offer,而SCC AS补的该PRACK消息需要带Fake SDP。

步骤S1203,UE-B回200OK消息到SCC AS;

步骤S1204,SCC AS发送UPDATE消息,SDP内容参考图10中的步骤S1006;

后续处理与图10中步骤S1007至步骤S1016相同,在此不再赘述。

图13是根据本发明可选实施例的振铃前双模单待无线语音呼叫连续性方法的流程图八,在图13中示出了bSRVCC切换请求时远端已经发送Answer SDP的场景下,SCC AS补200OK(UPDATE)的处理流程,该流程包括如下步骤:

步骤S1301,如果在图10中的步骤S1004与步骤S1005之间发生后向UE-B发送到UE-A(PS)的UPDATE消息,UE-A(PS)未来得及发送200OK(UPDATE)消息,此时就发生切换;

步骤S1302,SCC AS在UE-B的Dialog中先发送200OK(UPDATE)消息到UE-B,根据Offer/Answer状态,如果需要携带SDP,则构造Fake SDP;

步骤S1301,SCC AS发送UPDATE消息,SDP内容参考图10中的步骤S1006;

后续处理与图10中步骤S1007至步骤S1016相同,在此不再赘述。

综上所述,通过本发明提供的上述实施例和可选实施例,改进了现有3GPP bSRVCC正常流程,创造性的提出SCC AS收到切换请求后,需要等待被叫终端侧(后向)的Answer SDP的方式,涉及SCC AS的消息异步控制,是在原3GPP的bSRVCC同步消息驱动模式的重大革新,使得流程合理、可实施;提出了一套因为被切换侧的原因导致的信令不完整的兼容流程方案;并且增加了非Precondition兼容流程。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1