MGCP 传真 主叫
MGCP 传真 被叫
1
主叫传真 MG_A 检测摘机以 ntfy 命令上报
 
 
MGC 接收命令之后回复 200 响应
 
2
MGC MG_A 下发 RQNT 命令,该命令携带数图描述符 digit -map 和信号请求描述符 l/dl 拨号音
 
 
MG 接收命令执行完成之后回复 200 响应
 
3
MG_A 按照数图规则收号,并将号码以 ntfy 命令上报
 
 
MGC 接收命令之后回复 200 响应
 
4
MGC MG_A 下发 RQNT 命令,指示 MG_A 检测后续拨号事件
 
 
MG 接收命令执行完成之后回复 200 响应
 
5
MGC MG_A 下发 CRCX 命令,指示 MG_A 创建连接
1
MGC MG_B 下发 CRCX 命令,该命令中携带主叫 MG 的媒体信息,指示 MG_B 创建连接
MG 接收命令回复 200 响应,该响应中携带 MG 的媒体信息
MG 接收命令回复 200 响应,该响应中携带 MG 的媒体信息
 
 
2
MGC MG_B 下发 RQNT 命令,该命令中携带信号请求描述符 l/rg 振铃
 
MG 接收命令执行完成之后回复 200 响应
6
MGC MG_A 下发 MDCX 命令,该命令携带被叫 MG 的媒体信息,同时以 RTP 流的方式下发回铃音
 
 
MG 接收命令回复 200 响应,该响应中携带 MG 的媒体信息
 
 
 
3
被叫传真 MG_B 检测摘机以 ntfy 命令上报
 
MGC 接收命令之后回复 200 响应
7
MGC 检测到被叫摘机之后,给主叫 MG_A 下发 MDCX ,指示 MG 开始通话
4
MGC 检测到被叫摘机之后,给主叫 MG_B 下发 MDCX ,指示 MG 开始通话
MGC 接收命令之后回复 200 响应
MGC 接收命令之后回复 200 响应
流程执行到此,主被叫可以进行语音通话,由于通话的双方为传真机所以主叫传真会发送 v21 传真前导信号给被叫
 
 
5
MG_B 检测到 V21 传真信号,以 ntfy 命令上报传真开始事件
 
MGC 接收命令之后回复 200 响应
8
MGC 接收到传真开始事件之后,给主叫 MG_A 下发 MDCX 命令,该命令的本地连接描述符里携带 T38 传真的一些参数
6
MGC 接收到传真开始事件之后,给主叫 MG_B 下发 MDCX 命令,该命令的本地连接描述符里携带 T38 传真的一些参数
MG 接收命令协商之后回复 200 响应
MG 接收命令协商之后回复 200 响应
流程执行到此,主被叫开始进行传真,但是传真内容的与 sip 协议 t38 协议包不同,通过 wireshark 工具过滤出传真负载如下图示(CAO 我的截图死哪儿去了)
报文格式类似:   RTP        UNKNOW RTP VERSION 0
9
MGC 检测到传真完成之后,给主叫 MG_A 下发 MDCX 命令,该命令的本地连接描述符里携带语音通话的一些参数,即切回语音通话
7
MGC 检测到传真完成之后,给主叫 MG_A 下发 MDCX 命令,该命令的本地连接描述符里携带语音通话的一些参数,即切回语音通话
MG 接收命令协商之后回复 200 响应
MG 接收命令协商之后回复 200 响应
10
主叫传真 MG_A 检测挂机以 ntfy 命令上报
 
 
MGC 接收命令之后回复 200 响应
 
MGC 接收 MG_A 挂机事件之后,给主叫 MG_A 下发 DLCX ,指示 MG_A 删除连接
 
MG 接收命令执行完成之后回复 200 响应
 
 
 
8
MGC 检测到主叫拆线之后,给被叫下发 DLCX 命令,该命令携带信号请求描述符 l/bz 忙音,指示被叫可以删除连接
 
 
 
MG 接收命令执行完成之后回复 200 响应
 
 
9
主叫传真 MG_B 检测挂机以 ntfy 命令上报
 
MG 接收命令执行完成之后回复 200 响应
 
MGC 接收 MG_A 挂机事件之后,给主叫 MG_A 下发 DLCX ,指示 MG_A 删除连接
 
MG 接收命令执行完成之后回复 200 响应
流程至此,传真结束