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
响应
| ||
流程至此,传真结束
|
转载于:https://blog.51cto.com/940137/438835