漫谈VoIP技术 IP电话协议之SIP协议

在介绍了H.323协议之后 , 就不得不说说SIP协议了 。SIP与H.323起源于不同的阵营 , 一个是互联网领域 , 一个通信领域 。SIP的开发目的就是方便在互联网上提供语音服务 , 现在已经成为NGN可能采用的要害性标准 。
SIP(Session Initiation Protocal)称为会话初始协议 , 1999年由IETF(Internet Engineering Task Force)组织提出的 , 是一个在基于IP网络中 , 完成实时通信应用的一种信令协议 。会话是指用户之间的数据交换 。在基于SIP的应用中 , 每一个会话可以是普通的文本数据 , 也可以是经过数字化处理的音频、视频数据 , 还可以是诸如电子游戏等应用的数据 。
SIP充分借鉴了其他各种Internet协议 , 如HTTP(超文本传输协议)、SMTP(简单邮件传输协议)等;和这些协议一样 , SIP也采用基于文本的编码方式 , 这也是SIP同IP语音和视讯通信领域现有标准相比最大的特点之一 。
一、 SIP的体系结构
SIP体系结构包括以下四个主要部件:
用户代理(User Agent):就是SIP终端 , 也可以说是SIP用户 。按功能分为两类:用户代理客户端(User Agent Client) , 负责发起呼叫;用户代理服务器(User Agent Server) , 负责接受呼叫并做出响应 。
代理服务器(Proxy Server):可以当作一个客户端或者是一个服务器 。具有解析能力 , 负责接收用户代理发来的请求 , 根据网络策略将请求发给相应的服务器 , 并根据应答对用户做出响应 , 也可以将收到的消息改写后再发出 。
重定向服务器(Redirect Server):负责规划SIP呼叫路由 。它将获得的呼叫的下一跳地址信息告诉呼叫方 , 呼叫方由此地址直接向下一跳发出申请 , 而重定向服务器则退出这个呼叫控制过程 。
注册服务器(Registar Server ):用来完成UAS的登录 。在SIP系统中所有的UAS都要在网络上注册、登录 , 以便UAC通过服务器能找到 。它的作用就是接收用户端的请求 , 完成用户地址的注册 。
这几种服务器可共存于一个设备 , 也可以分别存在 。UAC和UAS , Proxy Server和Redirect Server在一个呼叫过程中的作用可能分别发生改变 。例如 , 一个用户终端在会话建立时扮演UAS , 而在主动发起拆除连接时 , 则扮演UAC 。
一个服务器在正常呼叫时作为Proxy Server , 而假如其所治理的用户移动到了别处 , 或者网络对被呼叫地址有非凡策略 , 则它就成了Redirect Server , 告知呼叫发起者该用户新的位置 。
二、 SIP的呼叫建立
【漫谈VoIP技术 IP电话协议之SIP协议】SIP使用六种信令 。INVITE和ACK用于建立呼叫 , 完成三次握手 , 或者用于建立以后改变会话属性;BYE用以结束会话;OPTIONS用于查询服务器能力;CANCEL用于取消已经发出但未最终结束的请求;REGISTER用于客户向注册服务器注册用户位置等消息 。
SIP支持三种呼叫方式:由UAC向UAS直接呼叫;由UAC进行重定向呼叫;由代理服务器代表UAC向被叫发起呼叫 。
SIP通信采用客户机和服务器的方式进行 。客户机和服务器是建有信令关系的两个逻辑实体(应用程序) 。前者向后者构建、发送SIP请求,后者处理请求, 提供服务并回送应答 。
SIP IP 电话系统的呼叫路由过程是先由用户代理发起和接收呼叫 , 再由代理服务器对呼叫请求和响应消息进行转发 , 然后注册服务器接受注册请求并更新定位服务器中用户的地址映射信息 。
三、 SIP实现的功能
理论上 , SIP呼叫可以只有双方的用户代理参与 , 而不需要网络服务器 。实际中 , 网络服务器有助于形成一个可运营的SIP网络 , 实现用户认证、治理和计费等功能 , 并对用户呼叫进行有效的控制 , 提供丰富的智能业务 。

推荐阅读