媒体流接收者1 Invite (with SDP)SIP服务器媒体服务器媒体流发送者2 Invite3 200 OK (with SDP)4 Invite (with SDP)5 200 OK (SDP)6 ACK (with SDP)7 ACK历史媒体流8 Invite (with SDP)9 200 OK (SDP)10 200 OK (with SDP)11 ACK12 ACK历史媒体流13 INFO14 INFO15 200 OK16 200 OK17 Message(File to End)18 Message(File to End)19 200 OK20 200 OK21 BYE22 200 OK23 BYE24 200 OK25 BYE26 200 OK27 BYE28 200 OK36
图 客户端主动发起的历史视音频回放流程示意图
其中,信令1、8、9、10、11、12为SIP服务器接收到客户端的呼叫请求后通过B2BUA代理方式建立媒体流接受者与媒体服务器之间的媒体链接信令过程,信令2-7为SIP服务器通过三方呼叫控制建立媒体服务器与媒体流之间的媒体链接信令过程,信令13-16为媒体流接收者进行回放控制信令过程,信令17-20为媒体流发送者回放、下载到文件结束向媒体接收者发送通知消息过程,信令21-24为断开媒体流接收者与媒体服务器之间的媒体链接信令过程,信令25-28为SIP服务器断开媒体服务器与媒体流发送者之间的媒体链接信令过程。
命令流程描述如下:
1:媒体流接收者向SIP服务器发送Invite消息,消息头域中携带Subject
字段,表明点播的视频源ID、分辨率、媒体流接收者ID、接收端媒体流序列号标识等参数,SDP消息体中s字段为“Playback”代表历史回放,u字段代表回放通道ID和回放类型,t字段代表回放时间段; 2:SIP服务器收到Invite请求后,通过三方呼叫控制建立媒体服务器和媒
体流发送者之间的媒体连接。向媒体服务器发送Invite消息,此消息不携带SDP消息体;
3:媒体服务器收到SIP服务器的Invite请求后,回复200 OK响应,携带
SDP消息体,消息体中描述了媒体服务器接收媒体流的IP、端口、媒体格式等内容;
4:SIP服务器收到媒体服务器返回的200 OK响应后,向媒体流发送者发送
Invite请求,请求中携带消息3中媒体服务器回复的200 OK响应消息体,并且修改s字段为“Playback”代表历史回放,u字段代表回放通道ID和回放类型,t字段代表回放时间段,增加y字段描述SSRC值,f字段描述媒体参数;
5:媒体流发送者收到SIP服务器的Invite请求后,回复200 OK响应,携
带SDP消息体,消息体中描述了媒体流发送者发送媒体流的IP、端口、媒体格式、SSRC字段等内容;
37
6:SIP服务器收到媒体流发送者返回的200 OK响应后,向媒体服务器发送
ACK请求,请求中携带消息5中媒体流发送者回复的200 OK响应消息体,完成与媒体服务器的Invite会话建立过程;
7:SIP服务器收到媒体流发送者返回的200 OK响应后,向媒体流发送者发
送ACK请求,请求中不携带消息体,完成与媒体流发送者的Invite会话建立过程;
8:完成三方呼叫控制后,SIP服务器通过B2BUA代理方式建立媒体流接收者
和媒体服务器之间的媒体连接。在消息1中增加SSRC值,转发给媒体服务器;
9:媒体服务器收到Invite请求,回复200 OK响应,携带SDP消息体,消
息体中描述了媒体服务器发送媒体流的IP、端口、媒体格式、SSRC值等内容;
10:SIP服务器将消息9转发给媒体流接收者;
11:媒体流接收者收到200 OK响应后,回复ACK消息,完成与SIP服务器
的Invite会话建立过程;
12:SIP服务器将消息11转发给媒体服务器,完成与媒体服务器的Invite
会话建立过程;
13:在回放过程中,媒体流接收者通过向SIP服务器发送会话内Info消息
进行回放控制,包括视频的暂停、播放、快放、慢放、随机拖放播放等操作,Info消息体见附录B;
14:SIP服务器收到消息13后转发给媒体流发送者; 15:媒体流发送者收到消息14后回复200 OK响应; 16:SIP服务器将消息15转发给媒体流接收者;
17:媒体流发送者在文件回放结束后发送会话内Message消息,通知SIP服
务器回放已结束,消息格式参见A.2.5媒体通知; 18:SIP服务器收到消息17后转发给媒体流接收者;
19:媒体流接收者收到消息18后回复200 OK响应,进行链路断开过程; 20:SIP服务器将消息19转发给媒体流发送者;
38
21:媒体流接收者向SIP服务器发送BYE消息,断开消息1、10、11建立的
同媒体流接收者的Invite会话;
22:SIP服务器收到BYE消息后回复200 OK响应,会话断开;
23:SIP服务器收到BYE消息后向媒体服务器发送BYE消息,断开消息8、9、
12建立的同媒体服务器的Invite会话;
24:媒体服务器收到BYE消息后回复200 OK响应,会话断开;
25:SIP服务器向媒体服务器发送BYE消息,断开消息2、3、6建立的同媒
体服务器的Invite会话;
26:媒体服务器收到BYE消息后回复200 OK响应,会话断开;
27:SIP服务器向媒体流发送者发送BYE消息,断开消息4、5、7建立的同
媒体流发送者的Invite会话;
28:媒体流发送者收到BYE消息后回复200 OK响应,会话断开。 消息示范见GB/T28181-2011附录J中的J.14。 第三方呼叫控制的历史视音频回放流程:
39
媒体流接收者SIP服务器1 Invite2 200 OK (with SDP)媒体服务器媒体流发送者3 Invite (with SDP)4 200 OK (SDP)5 ACK (with SDP)6 ACK历史媒体流7 Invite8 200 OK (with SDP)9 Invite (with SDP)10 200 OK (SDP)11 ACK (with SDP)12 ACK历史媒体流13 INFO14 200 OK15 Message(File to End)16 200 OK17 BYE18 200 OK19 BYE20 200 OK21 BYE22 200 OK23 BYE24 200 OK图 第三方呼叫控制的历史视音频回放流程示意图
40