MGCP协议附加业务---拍叉转移
|
|
业务描述:
用户A呼叫B
B摘机接听
B拍叉,保持A(MGC给用户A播放等待音乐)
B拨打用户C的号码
C振铃
用户B挂机
用户A听回铃音
C摘机
用户A与用户C通话
|
|
1
|
MG_A检测到摘机以ntfy命令上报
|
MGC接收到命令之后回复200 确认
|
|
2
|
MGC下发RQNT(携带数图描述符,信号描述符,请求事件描述符)命令,指示MG_A检测拨号事件,并且号码按照数图规则收号,同时给话机下发拨号音
|
MG接收命令执行动作之后回复200确认
|
|
3
|
MG_A按照数图规则收号并以ntfy(号码携带在观察事件描述符号)命令上报
|
MGC接收到命令之后回复200 确认
|
|
4
|
MGC下发RQNT(携带请求事件描述符),指示MG_A检测后续拨号事件
|
MG接收命令之后回复200确认
|
|
MGC分析号码并指定呼出路由
|
|
5
|
MGC给主叫MG_A下发CRCX,指示MG创建连接—收集主被叫媒体连接参数的过程
|
MG接收命令执行之后回复200确认—响应中携带自身的媒体连接参数
|
|
MGC给被叫MG_B下发CRCX,指示MG创建连接—命令中携带上述步骤收集到主叫的媒体连接参数
|
|
MG接收命令执行之后回复200确认—被叫根据主叫的媒体参数协商出通话所需参数
|
|
6
|
MGC给主叫MG_A下发RQNT(携带信号描述符),指示MG给话机下发回铃音
|
MG接收命令执行之后回复200确认
|
|
MGC给被叫MG_B下发RQNT(携带信号描述符),指示MG给话机下发振铃音
|
|
MG接收命令执行之后回复200确认
|
|
7
|
被叫MG检测到摘机以ntfy上报
|
MGC接收到命令之后回复200 确认
|
|
8
|
MGC给主叫MG下发MDCX,指示MG修改连接模式(RCàSR)
|
MG接收命令执行之后回复200确认
|
|
MGC给被叫MG下发MDCX,指示MG修改连接模式(RCàSR)
|
|
MG接收命令执行之后回复200确认
|
|
用户A和用户B开始通话
|
|
9
|
MC_B检测到话机拍叉以ntfy上报
|
MGC接收命令回复200确认
|
|
10
|
MGC给被叫MG_B下发MDCX,指示MG修改连接模式(SRàIN)
|
MG接收命令执行之后回复200确认
|
|
MGC给被叫MG_A下发MDCX,指示MG保持当前会话(rtp的负载格式:telephone-event-->无(普通rtp流))
|
|
MG接收命令执行之后回复200确认
|
|
11
|
MG_B以ntfy命令上报号码(每拨一位便上报一位)
|
MGC接收命令回复200确认
|
|
MGC分析号码并指定呼出路由
|
|
12
|
MGC给主叫MG_C下发CRCX,指示MG_C创建连接—命令携带已经协商完成的媒体连接参数
|
MG接收命令执行之后回复200确认—被叫根据主叫的媒体参数协商出通话所需参数
|
|
13
|
MGC给主叫MG_B下发RQNT(携带信号描述符),指示MG给话机下发回铃音
|
MG接收命令执行之后回复200确认
|
|
MGC给被叫MG_C下发RQNT(携带信号描述符),指示MG给话机下发振铃音
|
|
MG接收命令执行之后回复200确认
|
|
14
|
MG_B检测到挂机机以ntfy命令上报—但目标号码C开始振铃的时候,呼叫已经成功转移
|
MGC接收到命令之后回复200 确认
|
|
MG_C检测到摘机以ntfy命令上报—但目标号码C摘机接听
|
|
MGC接收到命令之后回复200 确认
|
|
15
|
MGC给被叫MG_A下发MDCX,指示MG进入通话模式(rtp的负载格式:无(普通)àtelephone-event)
|
MG接收命令执行之后回复200确认
|
|
MGC给被叫MG_C下发MDCX,指示MG_C修改连接模式(INàSR)
|
|
MG接收命令执行之后回复200确认
|
|
用户A与用户C开始通话,若需要继续拍叉则重复步骤9—步骤15
|