语音业务VOIP开发之SIP协议篇(二) —— SIP报文浅析

语音业务VOIP开发之SIP协议篇(二) —— SIP报文浅析,第1张

一、SIP消息

     SIP消息是SIP客户终端和服务器之间通信的的基本信息单元。SIP消息基于文本,采用UTF-8编码(RFC 2279)中的ISO 10646字符集。SIP协议借鉴了>上级=sip+源设备

1sip代理或下级向sip服务器发送REGISTER请求+sip编号+IP+端口
2sip服务器回复401+unauthorized
3sip代理或下级向sip服务器发送REGISTER请求+sip编号+IP+端口
4sip服务器回复200

1以message的方法发送一段xml文本,主要通过Catalog命令和DeviceID发送,获取设备,
2设备收到后,马上回复200
3还会回复设备相关信息给服务器
4服务器收到后回复200,给设备

流程描述如下:
a) 1:媒体流接收者向 SIP 服务器发送 Invite 消息,消息头域中携带 Subject 字段,表明点播的视频源 ID、分辨率、媒体流接收者 ID、接收端媒体流序列号等参数,SDP 消息体中 s 字段为“Play”代表实时点播;
b) 2:SIP 服务器收到 Invite 请求后,通过三方呼叫控制建立媒体服务器和媒体流发送者之间的媒体连接。向媒体服务器发送 Invite 消息,此消息不携带 SDP 消息体;
c) 3:媒体服务器收到 SIP 服务器的 Invite 请求后,回复 200 OK 响应,携带 SDP 消息体,消息体中描述了媒体服务器接收媒体流的 IP、端口、媒体格式等内容;
d) 4:SIP 服务器收到媒体服务器返回的 200 OK 响应后,向媒体流发送者发送 Invite 请求,请求中携带消息 3 中媒体服务器回复的 200 OK 响应消息体,并且修改 s 字段为“Play”代表实时点播,增加 y 字段描述 SSRC 值,f 字段描述媒体参数;
e) 5:媒体流发送者收到 SIP 服务器的 Invite 请求后,回复 200 OK 响应,携带 SDP 消息体,消息体中描述了媒体流发送者发送媒体流的 IP、端口、媒体格式、SSRC 字段等内容;
f) 6:SIP 服务器收到媒体流发送者返回的 200 OK 响应后,向媒体服务器发送ACK 请求,请求中携带消息 5 中媒体流发送者回复的 200 OK 响应消息体,完成与媒体服务器的 Invite 会话建立过程;
g) 7:SIP 服务器收到媒体流发送者返回的 200 OK 响应后,向媒体流发送者发送 ACK 请求,请求中不携带消息体,完成与媒体流发送者的 Invite 会话建立过程;
h) 8:完成三方呼叫控制后,SIP 服务器通过 B2BUA 代理方式建立媒体流接收者和媒体服务器之间的媒体连接。在消息 1 中增加 SSRC 值,转发给媒体服务器;
i) 9:媒体服务器收到 Invite 请求,回复 200 OK 响应,携带 SDP 消息体,消息体中描述了媒体服务器发送媒体流的 IP、端口、媒体格式、SSRC 值等内容;
j) 10:SIP 服务器将消息 9 转发给媒体流接收者;
k) 11:媒体流接收者收到 200 OK 响应后,回复 ACK 消息,完成与 SIP 服务器的 Invite 会话建立过程;
l) 12:SIP 服务器将消息 11 转发给媒体服务器,完成与媒体服务器的 Invite 会话建立过程;
m) 13:媒体流接收者向 SIP 服务器发送 BYE 消息,断开消息 1、10、11 建立的同媒体流接收者的 Invite 会话;
n) 14:SIP 服务器收到 BYE 消息后回复 200 OK 响应,会话断开;
o) 15:SIP 服务器收到 BYE 消息后向媒体服务器发送 BYE 消息,断开消息 8、9、12 建立的同媒体服务器的 Invite 会话;
p) 16:媒体服务器收到 BYE 消息后回复 200 OK 响应,会话断开;
q) 17:SIP 服务器向媒体服务器发送 BYE 消息,断开消息 2、3、6 建立的同媒体服务器的 Invite会话;
r) 18:媒体服务器收到 BYE 消息后回复 200 OK 响应,会话断开;
s) 19:SIP 服务器向媒体流发送者发送 BYE 消息,断开消息 4、5、7 建立的同媒体流发送者的Invite 会话;
t) 20:媒体流发送者收到 BYE 消息后回复 200 OK 响应,会话断开。

message(recordinfo+deviceID+time)->200
设备端xml类型码流发给服务器,发完后以bye结束,服务器回复200

a) 1:源设备向 SIP 服务器发送设备控制命令,设备控制命令采用 MESSAGE 方法携带;
b) 2:SIP 服务器收到命令后返回 200 OK;
c) 3:SIP 服务器向目标设备转发设备控制命令,设备控制命令采用 MESSAGE 方法携带;
d) 4:目标设备收到命令后返回 200 OK;
e) 5:目标设备向 SIP 服务器发送设备控制响应命令,设备控制响应命令采用 MESSAGE 方法携带;
f) 6:SIP 服务器收到命令后返回 200 OK;
g) 7:SIP 服务器向源设备转发设备控制响应命令,设备控制响应命令采用 MESSAGE 方法携带;
h) 8:目标设备收到命令后返回 200 OK


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10798402.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存