以tcp/ip参考模型为例,sip是在应用层中
一、为什么会出现SIP协议?
随着多媒体技术和网络技术的发展,越来越多网络视频监控应用应运而生,人们对视频监控系统的要求也越来越高。另外Internet上有很多的应用都需要建立和管理一个会话,会话指的是数据的交换,根据实际情况来说,实现起来是非常复杂的,例如,他们传递的数据可能有多种(文本、语音、图片、视频)。在这种情况下,sip的出现很好的解决了上面的问题,SIP允许创建基础的network hosts(叫做代理服务器),并且允许终端用户注册上去,发出会话邀请,或者发出其他请求。SIP是一个轻形的,多用途的工具,可以用来创建,修改和终止会话,它独立运作于通讯协议之下,并且不依赖建立的会话类型。
二、SIP协议的功能
SIP是一个应用层的控制协议,可以用来建立、修改、和终止多媒体会话(或者会议)例如Internet 电话。SIP也可以邀请参与者参加已经存在的会话,比如多方会议。媒体可以在一个已经存在的会话中方便的增加(或者删除)。SIP显示的支持名字映射和重定向服务,这个用于支持个人移动业务-用户可以使用一个唯一的外部标志而不用关系他们的实际网络地点。SIP在建立和维持终止多媒体会话协议上,有5个主要功能:
1) 用户定位: 确定被叫SIP终端所在的位置。SIP的最强大之处就是用户定位功能。。
2) 用户有效性:检查用户参与会话的意愿程度。
3) 用户能力:检查媒体和媒体的参数。
4) 建立会话:建立主被叫双方的会话参数。SIP会话双方通过协商媒体类型和媒体参数,最终选择双方都具有的能力建立起会话
5) 会话管理:包括发送和终止会话,修改会话参数,激活服务等等。
三、SIP协议的详细过程
(1)主叫A发送invite请求到代理服务器
(2)代理服务器返回100Trying响应
(3)代理服务器搜索被叫B的地址,获取到后转发接收到的invite请求
(4)被叫B生成180的振铃响应,返回给主叫A
(5)被叫B生成200 ok响应返回给主叫A
(6)主叫A收到B的200 ok响应后,向被叫B发送ACK确认,会话建立
(7)会话结束后,任何参与者(A或者B)可以发送一个BYE请求来终止会话
(8)另一方收到BYE,发送200 ok,会话终止