基于SDL的SIP协议设计(重定向服务器)(18页).doc
《基于SDL的SIP协议设计(重定向服务器)(18页).doc》由会员分享,可在线阅读,更多相关《基于SDL的SIP协议设计(重定向服务器)(18页).doc(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-基于SDL的SIP协议设计(重定向服务器)-第 17 页通信软件与协议工程课程作业基于SDL的SIP协议设计(重定向服务器)学 院: 计算机学院 专 业: 通信与信息系统 年 级: 2012级 学 号: 2012021495 学生姓名: 尹恒 小组成员:尹恒,曹嵘晖,娄洹熙 指导教师: 刘紫燕 2013 年 6 月 26日 目 录第一章绪 论31.1研究的背景和意义31.2课题研究现状3第二章SIP 协议综述42.1SIP协议简介42.1.1 SIP协议的历史42.1.2 SIP协议的特点42.1.3 SIP协议的功能52.2 SIP 实体62.2.1 用户代理62.2.2 重定向服务器62
2、.2.3 注册服务器72.2.4 定位服务器7第三章SIP工作流程及注册服务器配置和实现方法83.1 SIP 工作流程83.1.2 注册过程83.2 注册服务器配置及实现方式103.2.1注册服务器103.2.2 注册服务器实现方式103.2.3 用户注册方式10第四章重定向服务器的设计以及在SDL上的实现114.1 重定向服务器概述114.2重定向服务器软件设计124.2.1 OSIP开发库124.2.2 SIP消息解析模块134.3 SIP重定向服务器在sdl_ttcn上的仿真实现144.3.1 重定向呼叫144.3.2 SIP重定向服务器模式在SDL上的各类截图15第五章总结与展望215
3、.1 总结215.2 技术展望215.2.1 办公OA系统215.2.2 呼叫中心系统215.2.3重定向攻击防范21参 考 文 献23致 谢24第一章 绪 论1.1 研究的背景和意义SDL(specification and description language)是一种基于扩展有限状态机和抽象数据类型的形式化描述语言,定义在ITU的建议Z.100中。SDL自身的特性非常适合通信协议的形式化描述和实现。现在越来越多的电信设备开发商开始使用SDL 进行协议软件开发。设计模式是成功的软件实践经验和设计思想的总结。在通信协议软件中,这种可重用的开发经验和设计思想的特点体现的尤为明显。为了减少通信
4、协议的开发成本,降低出错率,提高开发效率和协议软件的质量,SDL模式技术应运而生。SIP是由IEFT(Internet Engineering Task Force)组织于1999年提出的多媒体通信框架的应用层信令协议,现在的版本是2001年提出的RFC3261,它可以用来在IP网络上建立一个多媒体会话,在需要的时候会改变和结束这个会话。SIP协议的设计思想和SMTP以及HTTP一样,都是基于互联网,采用的编码方式是基于比较简单的文本方式,协议简洁高效并易于扩展,很适合基于Internet的传输,是未来多媒体通信系统的主流发展方向。SIP用来在因特网或者任意IP网络上创建、改变和结束一个多媒体
5、会话,会话参与者可以只有两个,也可以是很多个,也就是说可以用来创建一个会议。SIP协议在下一代网络中有很重要的地位,SIP 能够连接使用任何IP网络(有线 LAN 和 WAN、公共 Internet 骨干网、移动 2.5G、3G 和Wi-Fi)和任何IP设备(电话、PC、PDA、移动手持设备)的用户,而传统的电话的通信范围和通信方式太窄,利用SIP,可以做到很多以前做不到的应用,这些应用将来会很有市场,而且会为众多企业和运营商提供很多商机,应用前景非常好。基于SIP的应用丰富多样,这些应用都离不开SIP服务器的支持,所以研究SIP服务器如代理服务器、重定向服务器等就很有必要,也很有意义。1.2
6、 课题研究现状SIP协议最早是在1999年出现的。当时IETF(Internet工程任务组)在IETF上提出了这一概念,当时出来了第一个版本RFC2543,最新的版本是在2001年出来的,即RFC3261,SIP的理论基础一旦建立,就相继出现看众多基于SIP协议的服务和产品。国内对于SIP的研究相对少些,但也有一些公司投入了力量,如华为、中兴等。他们在研究SIP的基础上也推出了一些应用和产品,产品当然包括SIP服务器,还有SIP终端之类的。但是总体来说,国内对SIP的研究和产品以及应用不多,就算有产品和应用,也几乎没有多少市场份额。况且SIP协议也会根据技术发展和人们的需求做一些补充和完善,所
7、以对SIP协议、服务器和SIP用户终端及其他新兴应用的研究很有必要和意义,很多的技术创新会在这过程中产生。第二章 SIP 协议综述2.1 SIP协议简介2.1.1 SIP协议的历史SIP(Session Initiation Protocol)会话初始协议,是由IEFT(Internet Engineering Task Force:Internet 工程任务组)下的MMUSIC(Multiparty Multimedia Session Control:多方多媒体会话控制工作组)提出来的。SIPv1是SIP协议的第一个版本,不过这里的SIP还不是人们所熟知的会话初始协议,而它的含义是会话邀请
8、协议(Session Invitation Protocol)。SIPv1于1996年2月22日第36届IETF会议上,作为一个Internet草案提交给IETF。不过SIPv1已经和后来的SIP一样使用了会话描述协议(SDP,Session Description Protocol),SIPv1使用的传输协议是基于UDP的,编码方式已经是基于文本的了,SIPv1协议的功能相对简单,只是用来处理会话的建立。同是在1996年2月22日,简单会议邀请协议(SCIP, Simple Conference Invitation Protocol)的草案也提交给IETF。SCIP和SIPv1不同,SIP
9、v1使用UDP,SCIP则使用TCP协议进行传输,SCIP的信令比SIPv1持续时间长,会持续到会话建立以后。在用户标识符方面,SCIP使用的是E-mail地址,采用的是超文本传输协议。在1996年12月的IETF第37届大会上,SIPv2作为Internet的草案提交给IETF。这时的SIP含义相比较SIPv1来说已经发生了变化,它不在是会话邀请协议(Session Invitation Protocol),而是由SIPv1和SCIP合并而成,是人们所熟知的会话初始协议(Session Initiation Protocol)。因为是两个协议合并而来的,所以这个新的SIP包含了SIPv1和S
10、CIP这两个协议的特点,即,基于HTTP,使用的传输协议既可以是TCP也可以是UDP,它同时也是基于文本的。IETF在1999年2月发布了SIP的提议标准,这个提议标准即RFC2543规范。IETF在2001年又发布了新的规范,即RFC3261,并在以后不断地进行了完善。RFC3261中对多媒体会话过程是如何建立、如何修改和如何结束等进行了定义。它定义了用户间多媒体会话过程的建立、修改和终止。SIP协议的设计思想和SMTP以及HTTP一样,都是基于互联网,采用的编码方式是基于比较简单的文本方式,协议简洁高效并易于扩展,很适合基于Internet的传输,是未来多媒体通信系统的主流发展方向。2.1
11、.2 SIP协议的特点1. 基于 Internet 的设计原则,易于业务整合。在 OSI 七层结构体系中,SIP 位于应用层,这使得 SIP 协议可以独立于底层的协议,这样在建立、调整和结束一个会话的时候,它就可以和底层相互独立,底层只需要提供相应的接口和协议规范即可。同时由于 SIP 协议基于 Internet 的设计原则,这使得很多也是基于Internet 的协议可以和 SIP 很方便的互通。SIP 消息的语法衍生于 HTTP,所以 HTTP 中的很多消息和语法可以在 SIP 中重用,所以容易把相关业务整合起来。2. 独立的传输层SIP 协议处于应用层,独立于底层协议,自然而然的也独立于传
12、输层,对传输层没有多少限制。3. 第三方控制机制第三方控制是指自己本身并不参与会话,但是会有一些诸如建立呼叫的功能,SIP 协议支持第三方的控制机制。4. 很容易开发多媒体业务以前的固定电话只是单一的语音呼叫,但 SIP 不止如此,它管理的对象是会话,这个会话当然包括语音在内,但它还有新的内容在里面。如它可以包括数据、图像、视频流等业务,也就是说,使用 SIP 很容易开发其他通信业务。5. 移动性、兼容性和扩展性移动性体现在 SIP 定义了重定向服务器,这个服务器是 SIP 服务器的重要内容,它一般使用统一资源定位器(URL)的方式来标识自己,有了重定向服务器,用户就可以得知目的用户的新位置。
13、SIP 还具有向上兼容的特性,这主要体现在 SIP 的忽略机制上。SIP 提供了很多功能和消息标题头,但并不是每个代理服务器或用户都能完全用到,用不到的功能将会被忽略掉。SIP 的强大之处还在于SIP 有很多扩展功能,这些功能随着一些新的想法和应用还在不断扩展。6. 协议格式清楚,维护方便SIP 协议基于比较简单的文本格式,这样下来协议的可读性很强,在出现错误时,可以很方便地对错误进行分析,维护起来比较方便。2.1.3 SIP协议的功能1. 用户定位用户定位的完成主要是通过 SIP 协议的请求和应答消息来实现的。请求可以有 INVITE请求,也可以是 ACK 等其他请求,当传送的应答状态码为“
14、200 OK”时,就可以根据以上这些消息来确定哪些用户代理或终端正在通信。SIP 协议也支持 URL,SIP 重定向服务器还支持终端用户的重定向功能。另外,其他的一些定位服务器也可以和 SIP 协议一起来用。2. 会话能力的协商SIP 请求消息中有一个 OPTION(可选项),它的状态码是 600-699。OPTION 为 SIP 会话的双方提供了可供他们选择的参数、他们想要了解的会话属性来进行会话的协商。3. 会话管理这是 SIP 协议中很重要的一个功能。任何一个 SIP 的终端用户都可以通过会话管理功能发起一个呼叫,同样的话,如果他想把一些新的会话参与者加入会话或者结束这个会话,也是可以的
15、。4. 呼叫建立一般是 SIP 代理服务器通过 100-199 的状态码来完成振铃,振铃也就是“Ringing”,这只是一个临时应答,但是这个临时应答却起到了连接主叫和被叫以及各种会话参数建立的功能。5. 呼叫处理有时候被叫方并不在你所知道的那个位置,或是他现在忙,这时你要通过 SIP 的重定向功能来找到被叫方的新位置,用通过包含有 Contact 头域的 BYE 请求消息来进行呼叫转移。2.2 SIP 实体C/S 模型,是互联网中经常采用的一种模型,也就是客户端/服务器模型(Client/Server),SIP 基于因特网,自然也采用了这种结构。SIP的实体有两种,即 SIP 用户代理(Us
16、er Agent, UA)和 SIP 服务器(SIP Server)。用户代理通常是用于发送和接收SIP的请求和应答消息,SIP电话是 SIP 用户代理的一个比较常见的形式。一个 UA 包含一个 UAC(User Agent Client,用户代理客户端)和一个UAS(User Agent Server,用户代理服务器)。服务器是用于对客户端提出的请求进行处理并提供应答。SIP服务器可以分为代理服务器(Proxy Server)、重定向服务器(Redirection Server)和注册服务器(Registrar),另外还有一个不属于SIP服务器的范围,但也很重要的定位服务器。2.2.1 用户
17、代理SIP 用户代理也就是 SIP 的端系统,常见的 SIP 用户代理有多媒体手持设备、各种 SIP电话(包括硬件或软件实现的 SIP 话机)、具有能创建和管理 SIP 功能的移动电话、PC 等。用户代理有两种类型,一种是用户代理客户端(简称 UAC),另外一种就是用户代理服务器(简称 UAS)。这两种类型在一个呼叫中起到不同的作用,分居于服务器的两端,UAC 发出呼叫的消息,UAS 用于接收呼叫的应答消息。2.2.2 重定向服务器重定向服务器用来对户代理进行重新定位,产生的应答码介于 300-399 之间,在所请求的用户地址改变以后,它重定向到用户的新的地址,并通过 URL 的方式把这个新地
18、址放在应答消息 3xx 中返回出去。代理服务器可以发送 SIP 请求消息,但是重定向服务器不会,而且重定向服务器也不能接受通话请求。一般一个好的 SIP 服务器会包括代理服务器、重定向服务器和注册服务器,这几个服务器可以放到一个平台上。而在通常情况下,通常说的术语 SIP 服务器是一般是指代理服务器,但有时也可以指重定向服务器,这并没有按照它们基本行为的不同来区分。在实际的应用中,同一个 SIP 服务器根据具体情形,有时可以表现出重定向服务器的功能,但可能又同时作为代理服务器来用。举个例子,某个人想要重定向所有会话邀请,一个 SIP 服务器就可以帮他实现这个要求,同时,这个服务器又可以使用代理
19、功能去处理其他的请求。2.2.3 注册服务器SIP 注册服务器是接收注册(Register)请求的服务器,用户向注册服务器发送了一个注册请求,注册服务器收到后,接收请求消息,注册成功后返回一个最终应答“200 OK”。同时它会把这个新注册的用户信息送到定位服务器中,以便日后需要的时候可以很方便地查找用户的位置信息。注册服务器从某种意义上说也可以是一个数据库,所有用户代理的位置信息都放在其中。2.2.4 定位服务器在 SIP 的实体中并没有定位服务器,而且 SIP 服务器和定位服务器之间也不像 SIP 实体之间那样使用 SIP 协议,但它却是 SIP 体系结构中很重要的一部分。注册服务器把新注册
20、的用户代理的信息传到定位服务器中,定位服务器也可以和本地的数据库相连,用来存储这些用户的注册信息,包括位置、IP 地址等信息,为用户提供定位的功能。一些定位服务器使用的是轻量级目录访问协议(Lightweight Directory Access Protocol, LDPA)或 My SQL 和 SIP 服务器进行通信。第三章 SIP工作流程及注册服务器配置和实现方法3.1 SIP 工作流程SIP 定义了注册/注销、呼叫、重定向以及能力查询四种工作过程,下面结合图例说明几种典型的呼叫处理。3.1.1 注册目的注册就是将自己的 IP登记给注册服务器的过程, 以便其他用户通过一个称为统一资源指标
21、符 URL 的地址来访问到。URL 地址可在该用户域的 SIP代理中解析。 每个用户在启动时, 都要到注册服务器注册当前的 SIP URL 和 IP地址的绑定,服务器最后把这些信息保存在位置服务器中。用户发送 REGISTER 请求向服务器通知他们当前所处的位置,这样,所有进入以 SIP格式所表示的目的地址的请求都被代理处理,或重定向到用户当前所在的 IP地址。注册过程为后续会话连接做准备。3.1.2 注册过程用户代理要通过SIP进行通信,首先要在相应的服务器上登记注册,如图 3-1 所示:图3-1 SIP注册流程注册的具体流程如下:1) 用户代理 Alice 发送 REGISTER 请求给注
22、册服务器,请求登记注册;2) 注册服务器通过在数据库中查询发现该用户不合法,返回一个 401 错误(Unauthorized)给 Alice,该错误响应中包含了令牌信息,用于用户再次注册的安全验证;3) Alice 再次发出注册请求,这时用户的账号密码等已被步骤 2 中的令牌作了加密处理;4) 注册服务器再次收到 REGISTER 请求,通过对用户的加密信息进行解密后再到数据库中进行合法验证,若 Alice 的信息合法,则登记入库,注册成功。另外,注册服务器会返回一个 200 OK 响应(成功响应)给用户代理 Alice。3.1.3 通过重定向服务器的呼叫图 3-2 给出了两个UA之间通过重定
23、向服务器进行呼叫的具体流程:图3-2 通过重定向服务呼叫的具体流程具体的呼叫流程如下:1) 用户代理 Alice发出会话邀请消息INVITE;2) 服务器收到请求后查询被叫方 Bob 的地址,然后发送302 响应(Moved Temporarily)给 Alice 的代理,告知 Bob 的地址信息;3) Alice 的代理收到响应后发送 ACK 向重定向服务器证实收到的响应消息;4) Alice 依照 302 的 Contact 中指明的地址直接发送 INVITE 消息给代理 Bob;5) Bob 端振铃的同时发送 180 响应给 Alice;6) Bob 用户摘机,发送 200 OK 响应给
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 SDL SIP 协议 设计 定向 服务器 18
限制150内