搜索新闻

新一代多媒体通信协议SIP及其实现

SIP协议架构与实现机制
来源:投影时代 更新日期:2008-07-29 作者:李志
内容导航:  分页浏览 | 全文浏览

SIP协议架构与实现机制

    SIP的核心思想是邀请新成员加入一个已经存在的会话或创建一个新的会话,各成员之间可以通过组播(multicast)、单播(unicast)或两者结合的方式进行交互。

1.SIP的基本功能及特点

    SIP支持会话描述,它允许参与者在一组兼容媒体类型上达成一致,同时通过代理和重定向请求到用户当前位置来支持用户移动性。SIP不与任何特定的会议控制协议捆绑。SIP提供以下功能:

● 名字翻译和用户定位:无论被呼叫方在哪里都确保呼叫达到被叫方。执行任何描述信息到定位信息的映射。

● 特征协商:它允许与呼叫有关的组(这可以是多方呼叫)在支持的特征上达成一致。例如是否支持视频等多种需要协商的特征。

● 呼叫参与者管理:呼叫中参与者能够引入其它用户,加入呼叫或取消到其它用户的连接。

● 呼叫特征改变:用户应该能够改变呼叫过程中的呼叫特征。

SIP既可以用于建立各种会话,也可以用来传送即时消息和文件。能够灵活、方便地提供业务,具有多方面优点。

● 协议可扩展性:SIP协议具有强大的扩充机制。SIP协议的扩展性主要体现在其消息的扩展上,SIP消息的三个基本部分:消息类型、消息头、消息体,都可以被不断扩充。SIP消息基于文本方式,使得各种扩充工作都变得十分简洁。

● 开放的业务生成环境:SIP网络的业务提供主要由Proxy Server完成,生成一个业务就是设计一个业务逻辑从而对一个特定的消息流进行控制,或对消息请求做出相应的响应。

● 支持移动性:SIP的动态注册机制,使用户端移动变得十分方便。

2.SIP协议的分层结构

    SIP是一个分层结构协议,它的行为根据一组平等独立的处理阶段来描述,每一阶段之间只是松耦合。

    SIP的最底层是语法和编码。它的编码使用增强Backus-Nayr形式语法(BNF)来规定。

第二层是传输层,定义了网络上客户机与服务器发送请求和接收响应的方式,所有的SIP元素包含传输层。

    第三层是事务层。事务是SIP的基本元素。事务层具有客户机组成部分(称为客户机事务)和服务器组成部分(称为服务器事务),一个事务由客户机事务发送给服务器事务的请求(使用传输层),以及服务器事务发送对应该请求的响应组成。

    事务层之上的层为事务用户(TU)。当一个TU希望发送请求时,生成一个客户机事务实例并向它传递请求和IP地址、端口和用来发送请求的传输机制。

3.SIP协议的消息机制

    SIP采用C/S结构,通过消息机制来建立会话。SIP消息包括请求消息和响应消息,二者具有相同的消息格式。

    SIP消息是UAC和UAS之间通信的基本信息单元,采用的是基于UTF-8的文本编码格式,语法信息以扩展Backus-Naur形式(EBNF)描述,消息格式遵循RFC2822。

SIP消息的通用格式是:

Generic-message = start-line

*message-header

CRLF

[message-body]

start-line: SIP消息起始行。

*message-header:多个头域。

CRLF:空行,表示消息头域的结束

message-body:消息体部分。

SIP消息有两种:客户机到服务器的请求(Request), 服务器到客户机的响应(Response) .

4. SIP系统得功能实体及工作流程

    SIP系统采用C\S模式,利用消息机制建立并管理会话。按逻辑功能,SIP系统可分为四大功能实体:SIP用户代理、SIP代理服务器、SIP重定向服务器和SIP注册服务器,它们共同构成了SIP系统的基本模型。

    SIP用户代理(SIP UA):又称为SIP终端,是SIP系统中的最终用户,在RFC3261中将它们定义为一个应用。根据它们在会话中扮演的角色的不同,又可分为用户代理客户机(UAC)和用户代理服务器(UAS)两种。其中前者用于发起呼叫请求,后者用于当接到SIP请求时联系用户,并代表用户返回响应。

    SIP代理服务器(SIP Proxy Server):是一个中间元素,它既是一个客户机又是一个服务器,能够代理前面的用户向下一跳服务器发出呼叫请求。SIP代理服务器除了路由能力外,也可以集成防火墙、radius(AAA)等功能。

    SIP重定向服务器(SIP Redirect Server):是一个规划SIP呼叫路径的服务器,在获得了下一跳的地址后,立刻告诉前面的用户,让该用户直接向下一跳地址发出请求而自己则退出对这个呼叫的控制。

    SIP注册服务器(SIP Register Server):用来完成对UAS的登录,在SIP系统的网元中,所有UAS都要在某个登录服务器中登录,以便UAC通过服务器能找到它们。注册服务并不做请求的身份认证的判定。在SIP中授权和认证可以通过建立在基于请求/应答的模式上的上下文相关的请求来实现,也可以使用更底层的方式来实现。

    图表中用户Alice使用安装了支持语音和视频功能的客户程序的PC,用户Bob使用SIP电话。两者都已经向本域内的SIP代理服务器注册了他们的状态和IP地址。用户A发起呼叫;代理服务器收到A的请求后向注册服务器查询B的位置信息;向B发出代理呼叫;B通知代理服务器接受A的邀请并已作好接受数据的准备;代理服务器通知A后SIP会话建立完毕。当Bob要结束会话时,直接向Alice发送结束请求,在Alice确认这个请求以后会话结束。

本文导航
  • 第2页:SIP协议架构与实现机制
推荐视频会议厂商
广告联系:010-82755684 | 010-82755685 手机版:m.pjtime.com官方微博:weibo.com/pjtime官方微信:pjtime
Copyright (C) 2007 by PjTime.com,投影时代网 版权所有 关于投影时代 | 联系我们 | 欢迎来稿 | 网站地图
返回首页 网友评论 返回顶部 建议反馈
快速评论
验证码: 看不清?点一下
发表评论