呼叫等待
呼叫等待属被叫侧业务,是指当A用户正与B用户通话,C用户试图与A用户建立通话连接,此时应给A用户一个呼叫等待的指示,表示另有用户等待通话。之后用户A可以有三种处理方式的选择:
- 不作任何操作,待等待超时后,拒绝C的呼入。
- 拍叉按1,结束当前通话,改与另一方通话。
- 拍叉按2,保持当前通话,改与另一方通话。
一、拍叉按1流程
1)UE_A与UE_B正常通话后,UE_C呼叫UE_A,该呼叫路由到AS
2)AS给UE_A发送Invite消息,带有UE_C的SDP信息和有呼叫等待指示的XML。该XML的Content-Type头域值为“application/vnd.3gpp.cw+xml”,XML的body内容为:
<?xml version="1.0"?>
<ims-cwxmlns="http://www.3gpp.org/XMLSchema/CW/v1.0">
<call-waiting-indication/>
</ims-cw>
- UE_A放呼叫等待音,同时回应180
- AS收到180响应后,给UE_C发送呼叫等待的提示媒体
5-10)UE_A拍叉后,将UE_B进行呼叫保持。
11-14)UE_A拍叉后按1键,执行对应的逻辑处理,给UE_B发送Bye,结束与UE_B之间的对话。
15-16)UE_A发AS发送200 OK,告知AS,现在UE_A接收UE_C的呼叫请求。
17-23)由于之前AS给UE_C放呼叫等待提示媒体,已经将UE_C的媒体协商指向之前的媒体资源服务器,现在如果想重新将UE_C与UE_A进行媒体协商,比较好的方法就是先给UE_A发送不带SDP的Invite,向UE_A索要它的媒体信息,之后使用Update与UE_C协商交互,最终完成双方媒体的协商处理。
二、拍叉按2流程
拍叉按2流程的逻辑处理是保持当前通话,改与另一方通话,由于在拍叉之后已经将当前通话进行保持,所以“拍叉按2流程”相比“拍叉按1”流程,除了没有第11-14步将UE_B结束,其它流程与“拍叉按1”的流程全部相同,这里就不详细描述了。
参考资料
《IMS网络PSTN仿真业务技术要求(事件订阅机制)V1.2_markup120717(目录刷新)》
《YDT 2011-2009 基于统一IMS的业务技术要求呼叫等待与呼叫保持业务(第一阶段)》