当前位置: 首页 > 工具软件 > SIP > 使用案例 >

SIP协议理解

傅自明
2023-12-01

sip是什么

SIP 的一个重要特点是它不定义要建立的会话的类型,而只定义应该如何管理会话。
SIP(Session Initiation Protocol)是一个应用层的信令控制协议。用于创建、修改和释放一个或多个参与者的会话。
SIP的设计目标之一是提供类似公用交换电话网(PSTN)中呼叫处理功能的扩展集。在这个扩展集中,实现类似日常电话的操作:拨号,振铃,回铃音或者忙音,只是实现方式和术语有所不同。
SIP与许多其它的协议协同工作,仅仅涉及通信会话的信令部分(controlmessage)。SIP报文内容传送会话描述协议(SDP),SDP协议描述了会话所使用流媒体细节,如:使用哪个IP端口,采用哪种编解码器等等。SIP的一个典型用途是:SIP“会话”传输一些简单的经过封包的实时传输协议流。
SIP同HTTP相似并采用了后者的一些设计原则:SIP报文是人类可读的,并且也是采取请求-应答的流程。SIP的倡导者宣称它比H.323简单。但是,有些人则保留地认为尽管SIP的原始目标很简单,现在它已经演变得跟H.323一样复杂了。SIP借用了许多HTTP状态码,如常见的'404 not found'。SIP的发起者说:曾经在网络上出现的急速革新和应用发展的历史将同样发生在电话产业上。SIP和H.323对语音通信毫无限制,能够传输从语音到视频的任何通信会话,甚至未来还没有设想的应用。


sip组件

SIP 会话使用多达四个主要组件:SIP 用户代理、SIP 注册服务器、SIP 代理服务器和 SIP 重定向服务器。这些系统通过传输包括了 SDP 协议(用于定义消息的内容和特点)的消息来完成 SIP 会话。下面概括性地介绍各个 SIP 组件及其在此过程中的作用。
用户代理(User Agent)
SIP用户代理是一个SIP逻辑网络端点,用于创建、发送、接收SIP消息并管理一个SIP会话。SIP用户代理又可分为用户代理客户端UAC(User Agent Client)和用户代理服务端UAS(User Agent Server)。UAC创建并发送SIP请求,UAS接收处理SIP请求,发送SIP响应。
代理服务器(Proxy)
SIP代理服务器(PROXY)在网络上位于SIP UAC和UAS之间,用于帮助UAC和UAS间的消息路由。PROXY也可以执行路由策略控制(比如,检查SIP消息的合法性,确认消息是否允许被路由)。PROXY在转发SIP消息时,可能根据需要修改SIP消息的某些部分。
注册服务器(Register)
SIP注册服务器用于接收SIP注册请求,并保存发送注册请求的UA的位置信息。


sip与http

这两天看规范发现同一个规范A接口和B接口使用的协议不一样,A接口有部分使用http,一部分sip而B接口全部使用sip。那么http与sip相比有什么特点呢?首先http肯定是tcp传输,这样就能传输大量复杂的数据,而sip一般使用udp,如果想请求一些复杂大量数据很不好处理。那么为什么同样协议A接口使用http,B接口使用sip呢?目前sip应用很多都是udp形式的,语音视频udp传输快。同样协议,B接口对应终端,而A接口为系统级别的对接,很可能原因也是从数据量上考虑的。

 

2014/02/21 add

单从数据量上判断感觉不是主要原因。sip对底层传输并没有做任何的假设,既然sip与http都是应用层协议,那么他们的重点应该在应用上。
1.http主要是请求应答方式的协议,协议简单,与sip一样都是基于文本的协议(与二进制协议相对应),基于文本协议最大特点就是人可以直接读,一般都是\r\n一个字段\r\n\r\n作为结束,同样基于文本的协议还有SMTP。

2. sip协议主要应用是媒体回话的管理,如果单单传送一些简单协议,用sip也没有多少优势,例如A接口中设备配置、管理,这个时候http与sip基本是一个效果的,一般协议头有一些状态session什么的,然后协议体传输具体的协议一般为xml,这个时候,sip与http没啥区别。

3.sip协议只有当请求视频或音频都流媒体的时候才有优势,发挥它的特长,它比H323简单,sip的目的也是做一个简单流媒体会话管理协议。

http://www.sip-dojo.com/why-brekeke-sip-server/tcp-udp-conversion
http://blog.csdn.net/buptzwp/article/details/5055487

 类似资料: