MGCP协议附加业务---盲转
|
|
业务描述:
用户A呼叫B
B摘机接听
B拍叉,保持A(MGC给用户A播放等待音乐)
B拨打用户C的号码
拨完号码后用户B挂机,无需等待用户C振铃
用户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命令上报用户C的号码(每拨一位便上报一位)
|
MGC接收命令回复200确认
|
|
MGC分析号码并指定呼出路由
|
|
12
|
MGC给主叫MG_B下发MDCX,指示MG_B修改连接模式(INàSR),同时携带用户C的媒体参数
|
MG接收命令执行之后回复200确认—被叫根据主叫的媒体参数协商出通话所需参数
|
|
13
|
MGC_B检测到挂机以ntfy命令上报
|
MGC接收命令执行回复200确认
|
|
MGC给被叫MG_B发DLCX,指示MG_B删除连接
|
|
MG接收命令执行之后回复200确认
|
|
用户B退出与用户C的通话
|
|
14
|
MGC拆除MG_B的连接之后,向MG_A发MDCX,指示MG_A修改连接模式(IN->SR),同时以RTP流的方式下发回铃音
|
MG接收到命令执行回复200 确认
|
|
15
|
MGC接收到MG_C用户摘机之后,向MG_A发MDCX,指示MG_A开始接听电话
|
MG接收命令执行之后回复200确认
|
|
用户A与用户C开始通话
|