在监控系统中,常见的摄像机设备互联协议有国际标准的ONVIF、国标的GB28181和各厂商的私有连接协议,本章从GB28181-2016中摘抄整理常见信令流程,如28181的会话/媒体通道、SIP基本注册/注销流程、客户端主动发起视频点播流程、设备控制流程等。
目录
会话/媒体流通道
基本注册流程
基本注销流程
客户端主动发起实时音视频点播流程
第三方呼叫控制的实时音视频点播流程
联网系统在进行视频频传输及控制时,应建立两个传输通道:会话通道和媒体流通道。会话通道用户在设备之间建立会话并传输系统控制命令;媒体流通道用于传输视音频数据,经过压缩编码的视音频流采用流媒体协议RTP/RTCP传输。
基本注册流程即采用IETF RFC 3261规定的基于数字摘要的挑战应答式安全技术进行注册,具体注册如下图:
注册流程如下:
1.SIP代理向SIP服务器发送Register请求;
2.SIP服务器向SIP代理发送响应401,并在响应的消息头WWW_Authenticate字段中给出合适SIP代理的认证体制和参数;
3.SIP代理重新向SIP服务器发送Register请求,在请求的Authorization字段给出信任书,包含认证信息;
4.SIP服务器对请求进行验证,如果检查出SIP代理身份合法,向SIP代理发送成功响应200ok,如身份不合法则发送拒绝应答。
注销流程如下:
1.SIP代理向SIP服务器发送 Register请求,Expires字段的值为0,表示SIP代理要注销;
2.SIP服务器向 SIP 代理发送响应401,并在响应的消息头 WWW_Authenticate字段中给出适合SIP代理的认证体制和参数;
3.SIP代理重新向SIP服务器发送 Register请求,在请求的 Authorization字段给出信任书,包含认证信息,Expires字段的值为0;
4.SIP 服务器对请求进行验证,如果检查出 SIP 代理身份合法,向 SIP 代理发送成功响应200ok, 如身份不合法则发送拒绝应答。
PS:其中,信令1、8、9、10、11、12为SIP服务器接收到客户端的呼叫请求后通过 B2BUA 代理方式建立媒体流接收者与媒体服务器之间的媒体流信令过程,信令2~7为SIP服务器通过三方呼叫控制建立媒体服务器与媒体流发送者之间的媒体流信令过程,信令13~16为媒体流接收者断开与媒体服务器之间的媒体流信令过程,信令17~20为 SIP 服务器断开媒体服务器与媒体流发送者之间的媒体流信令过程。
实时音视频点播流程如下:
1.媒体流接收者向SIP服务器发送Invite消息,消息头域中携带 Subject字段,表明点播的视频源ID、发送方媒体流序列号、媒体流接收者ID、接收端媒体流序列号等参数,SDP消息体中s字段为“Play”代表实时点播;
2.SIP服务器收到Invite请求后,通过三方呼叫控制建立媒体服务器和媒体流发送者之间的媒体连接。 向媒体服务器发送Invite消息,此消息不携带SDP消息体;
3.媒体服务器收到SIP服务器的Invite请求后,回复200OK 响应,携带SDP消息体,消息体中描述了媒体服务器接收媒体流的IP、端口、媒体格式等内容;
4.SIP服务器收到媒体服务器返回的200OK 响应后,向媒体流发送者发送Invite请求,请求中携带消息3中媒体服务器回复的200OK 响应消息体,s字段为“Play”代表实时点播,增加y字段描述SSRC值,f字段描述媒体参数;
5.媒体流发送者收到SIP服务器的Invite请求后,回复200OK 响应,携带SDP消息体,消息体中描述了媒体流发送者发送媒体流的IP、端口、媒体格式、SSRC字段等内容;
6.SIP服务器收到媒体流发送者返回的200OK 响应后,向媒体服务器发送 ACK 请求,请求中携带消息5中媒体流发送者回复的200OK 响应消息体,完成与媒体服务器的Invite会话建立过程;
7.SIP服务器收到媒体流发送者返回的200OK 响应后,向媒体流发送者发送 ACK 请求,请求中不携带消息体,完成与媒体流发送者的Invite会话建立过程;
8.完成三方呼叫控制后,SIP服务器通过B2BUA 代理方式建立媒体流接收者和媒体服务器之间的媒体连接。 在消息1中增加SSRC值,转发给媒体服务器;
9.媒体服务器收到Invite请求,回复200OK 响应,携带SDP消息体,消息体中描述了媒体服务器发送媒体流的IP、端口、媒体格式、SSRC值等内容;
10.SIP服务器将消息9转发给媒体流接收者;
11.媒体流接收者收到200OK 响应后,回复 ACK 消息,完成与SIP服务器的Invite会话建立过程。
12.SIP服务器将消息11转发给媒体服务器,完成与媒体服务器的Invite会话建立过程;
13.媒体流接收者向SIP服务器发送 BYE消息,断开消息1、10、11建立的同媒体流接收者的Invite会话;
14.SIP服务器收到 BYE消息后回复200OK 响应,会话断开;
15.SIP服务器收到 BYE消息后向媒体服务器发送 BYE消息,断开消息8、9、12建立的同媒体服务器的Invite会话;
16.媒体服务器收到 BYE消息后回复200OK 响应,会话断开;
17.SIP 服务器向媒体服务器发送 BYE 消息,断开消息2、3、6建立的同媒体服务器的Invite会话;
18.媒体服务器收到 BYE消息后回复200OK 响应,会话断开;
19.SIP 服务器向媒体流发送者发送 BYE 消息,断开消息4、5、7建立的同媒体流发送者的Invite会话;
20.媒体流发送者收到 BYE消息后回复200OK 响应,会话断开。
第三方呼叫控制的实时音视频点播流程如下:
1.SIP服务器向媒体服务器发送Invite消息,此消息不携带SDP消息体;
2.媒体服务器收到SIP服务器的Invite请求后,回复200OK 响应,携带SDP消息体,消息体中描述了媒体服务器接收媒体流的IP、端口、媒体格式等内容;
3.SIP服务器收到媒体服务器返回的200OK 响应后,向媒体流发送者发送Invite请求,请求中携带消息2中媒体服务器回复的200OK 响应消息体,s字段为“Play”代表实时点播,增加y字段描述SSRC值,f字段描述媒体参数;
4.媒体流发送者收到SIP服务器的Invite请求后,回复200OK 响应,携带SDP消息体,消息体中描述了媒体流发送者发送媒体流的IP、端口、媒体格式、SSRC字段等内容;
5.SIP服务器收到媒体流发送者返回的200OK 响应后,向媒体服务器发送 ACK 请求,请求中携带消息4中媒体流发送者回复的200OK 响应消息体,完成与媒体服务器的Invite会话建立过程;
6.SIP服务器收到媒体流发送者返回的200OK 响应后,向媒体流发送者发送 ACK 请求,请求中不携带消息体,完成与媒体流发送者的Invite会话建立过程;
7.SIP服务器向媒体流接收者发送Invite消息,此消息不携带SDP消息体;
8.媒体流接收者收到SIP服务器的Invite请求后,回复200OK 响应,携带SDP消息体,消息体中描述了媒体流接收者接收媒体流的IP、端口、媒体格式等内容;
9.SIP服务器收到媒体流接收者返回的200OK 响应后,向媒体服务器发送Invite请求,请求中携带消息8中媒体流接收者回复的200OK 响应消息体,s字段为“Play”代表实时点播,增加y字段描述SSRC值;
10.媒体服务器收到SIP服务器的Invite请求后,回复200OK 响应,携带SDP消息体,消息体中描述了媒体服务器发送媒体流的IP、端口、媒体格式、SSRC字段等内容;
11.SIP服务器收到媒体服务器返回的200OK 响应后,向媒体流接收者发送 ACK 请求,请求中携带消息10中媒体服务器回复的200OK 响应消息体,完成与媒体流接收者的Invite会话建立过程;
12.SIP服务器收到媒体服务器返回的200OK 响应后,向媒体服务器发送 ACK 请求,请求中不携带消息体,完成与媒体服务器的Invite会话建立过程;
13.SIP服务器向媒体流接收者发送 BYE 消息,断开消息7、8、11建立的同媒体流接收者的Invite会话;
14.媒体流接收者收到 BYE消息后回复200OK 响应,会话断开;
15.SIP服务器向媒体服务器发送 BYE 消息,断开消息9、10、12建立的同媒体服务器的Invite会话;
16.媒体服务器收到 BYE消息后回复200OK 响应,会话断开;
17.SIP 服务器向媒体服务器发送 BYE 消息,断开消息1、2、5建立的同媒体服务器的Invite会话;
18.媒体服务器收到 BYE消息后回复200OK 响应,会话断开;
19.SIP 服务器向媒体流发送者发送 BYE 消息,断开消息3、4、6建立的同媒体流发送者的Invite会话;
20.媒体流发送者收到 BYE消息后回复200OK 响应,会话断开;
剩余常见信令流程请查看:
GB28181协议常见几种信令流程(二)
GB28181协议常见几种信令流程(三)