(计算机科学与技术专业论文)sip传真服务系统的设计与实现.pdf_第1页
(计算机科学与技术专业论文)sip传真服务系统的设计与实现.pdf_第2页
(计算机科学与技术专业论文)sip传真服务系统的设计与实现.pdf_第3页
(计算机科学与技术专业论文)sip传真服务系统的设计与实现.pdf_第4页
(计算机科学与技术专业论文)sip传真服务系统的设计与实现.pdf_第5页
已阅读5页,还剩69页未读 继续免费阅读

(计算机科学与技术专业论文)sip传真服务系统的设计与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

北京邮电大学硕士研究生毕业论文摘要 s ip 传真服务系统的设计与实现 摘要 n g n 是一个统一的、多业务的、以数据网络为中心、在开放的业务平台上提供 不同服务质量业务的下一代网络。通过与电信网络的融合,可以实现多样化 的电信增值业务,s i p 传真服务就是其中的一种,除了基本的传真发送 和接收业务之外,它还能提供传真群发、传真查询等业务。开发该业务 不需要具备专业的电信知识,而该服务系统能够提供的服务又是传统的 传真业务所不能比拟的。 本文将主要研究s i p 、s o a p 、m s m l 与t 3 8 协议是如何配合传输 传真的。其中,s i p 协议实现传真终端与媒体服务器的媒体协商;s o a p 协议保证了w e b 端与s i p 服务器的信息交互标准化;m s m l 协议定义 了s i p 消息中传真参数的具体设置;t 3 8 协议定义了发送和接收传真的 具体流程和s d p 消息格式。本论文首先将介绍本研究课题的背景,然后 在第二章分别介绍s o a p 、s i p 、m s m l 和t 3 8 的有关传真的协议内容 和相关技术。第三章和第四章是本文的重点,将详细介绍s i p 传真服务 系统的设计和实现。第五章将简单地介绍服务系统的相关测试工作。最 后,作者将对论文撰写和课题研究期间所作的工作进行了总结,并提出 下一阶段系统需要改进和完善的方面。 关键词:传真 s i ps o a ps d p m s m l 1 北京邮电大学硕士研究生毕业论文 t 目哐d e s i g na n d 唧l e n 三卜n ? i o no fs f a xs y s t e m a b s t r a c t a sau n i f i e d , m u l t i - b u s i n e s s ,a n dd a t an e t w o r k - o r i e n t e dn e t w o r kb u s i n e s s ,n g nc a l l p r o v i d eaw i d e - r a n g es e r v i c ei na no p e nb u s i n e s sp l a t f o r m ;t h r o u g ht h ei n t e g r a t i o no f t d e c o mn e t w o r k , av a r i e t yo ft e l e c o mv a l u e a d d e ds e r v i c e si n c l u d i n gs i pf a xc a nb e a c h i e v e d a p a r tf r o mt h eb a s i cf a xs e n d i n ga n dr e c e i v i n gb u s i n e s s ,i ta l s op r o v i d e sg r o u p f a xs e n d m ga n df a xi n q u i r i e sa sw e l la sm a n yo t h e rb u s i n e s s e s t h ep r o f e s s i o n a l k n o w l e d g eo ft e l e c o m m u n i c a t i o n si sn o tn e c e s s a r yd u r i n gt h eb u s i n e s sd e v e l o p m e n t , w h i l et h es e r v i c ep r o v i d e db yt h i ss y s t e mi sn o tc o m p a r a b l ea m o n gt h et r a d i t i o n a lf a x b u s i n e s s t h i sa r t i c l ei sm a i n l yf o c u so nh o wt h et 38p r o t o c o lc o m p l e t et h ef a xt r a n s m i s s i o n c o u p l e dw i t ht h es i pa n ds o a pa sw e l la sm s m lp r o t o c o l s a m o n gw h i c h ,s i pp r o t o c o l a c t u a l i z e dt h em e d i ac o n s u l t a t i o n sb e t 、) l r e e nf a xt e r m i n a la n dm e d i as e r v e r ;s o a p p r o t o c o le n s u r e dt h es t a n d a r d i z a t i o no fi n f o r m a t i o ne x c h a n g eb e 伽e e nt h ew e b c l i e n ta n d s i ps e r v e r ;m s m lp r o t o c o ld e f i n e dt h es p e c i f i cs e t t i n g so ff a xp a r a m e t e r si ns i p m e s s a g e ;t 3 8p r o t o c o ld e f i n e dt h es p e c i f i cf l o wo ff a xs e n d i n ga n dr e c e i v i n ga sw e l la s t h es d pm e s s a g ef o r m a t f o l l o w i n gt h ep r o l o g u eo ft h er e s e a r c hb a c k g r o u n d ,t h et h e s i s w i l ll a u n c hi n t r o d u c t i o no ft h er e l e v a n tc o n t e n t sa n dt e c h n o l o g i e so fs o a p , s i p , m s m l a n dt 38r e s p e c t i v e l y a st h ef o c u so ft h ea r t i c l e ,c h a p t e r si i ia n di vw i l lp r o v i d ed e t a i l e d i n f o r m a t i o na b o u tt h ed e s i g na n di m p l e m e n t a t i o no ft h es i pf a xs e r v i c es y s t e m b r i e f 2 北京邮电大学硕士研究生毕业论文a b s t r a c t i n f o r m a t i o no ft h es e r v i c es y s t e m r e l a t e dt e s t i n gw o r kw i l lb ef o u n di nt h ec h a p t e rva s af i n a lp o i n t ,t h ea u t h o rw i l ls u m m a r i z et h et h e s i s r e l a t e dr e s e a r c hw o r ka n dp u tf o r w a r d t h ei s s u e sw h i c hn e e dt ob ei m p r o v e di nt h en e x tp h a s e k e yw o r d s :f a x s i ps o a ps d p m s m l 3 北京邮电大学硕士研究生毕业论文 独创性( 或创新性) 声明 本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究成果。 尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不包含其他人 已经发表或撰写过的研究成果,也不包含为获得北京邮电大学或其他教育机构的学位 或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中 作了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名:磅嚣斗4 灶日期:班亏p 卜 关于论文使用授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定,即:研 究生在校攻读学位期间论文工作的知识产权单位属北京邮电大学。学校有权保 留并向国家有关部门或机构送交论文的复印件和磁盘,允许学位论文被查阅和 借阅;学校可以公布学位论文的全部或部分内容,可以允许采用影印、缩印或 其它复制手段保存、汇编学位论文。( 保密的学位论文在解密后遵守此规定) 保密论文注释:本学位论文属于保密在一年解密后适用本授权书。非保密论文 注释:本学位论 本人签名: 导师签名: 北京邮电大学硕士研究生毕业论文 绪论 1 1 课题背景 1 1 1 概述 第一章绪论 进入n g n 时代之后,人们对电信业务多样化、个性化的要求也越来越强烈,丰 富多彩的业务成为通信行业日益重要的利润增值点。伴随着带宽的极大提高,越来 越多的数据业务和多媒体业务应人们的需求不断涌现,而业务的融合和快速开发也 成为必然的趋势。为了适应新的电信运营格局和激烈的市场竞争、满足日趋多样化 与个性化的市场需求,运营商需要不断推出新业务,以寻求新的利润增长点。 传真在人们的日常生活中占据着重要地位,点对点的传输可以完全保证传输资 料的安全性。但是传统传真也存在一些不如人意的地方,制约这传真服务的进一步 发展。在这种背景下,新式传真应运而生。本课题在当前的通信业务开发平台上开 发一种新型传真业务,不仅具有现实意义,相信对以后传真事业的发展会起到积极 的影响。 1 1 2 传统的业务接入 在p s t n 业务中,传真业务一直是被众多企业用户青睐的业务之一。传真业务图 文并茂的特性赋予用户类似白板的功能,在接收端可以得到发送端“所见即所得 的效果,这为在传递信息的同时进行身份验证提供了有力的支持。然而,传真业务 也有其一定的局限性,它要求收发双方都具备传真机,并且要求使用者熟悉传真机 的操作。这一点可能正是传真业务主要应用在企业用户之间的原因。设想一下,作 为个人用户,由于手边没有传真机的缘故,就不可能将图文材料传递到远端企业客 户的传真机上。而且传统的传真模式存在着效率低、成本高、管理难等缺点。 1 1 3 网络传真 事实上,利用下一代网络强大的软交换功能,完全可以将传真业务进一步拓展 到因特网上来,从而摆脱硬件设备不足的困扰。网络传真是基于下一代网络( n g n ) 环境下的新型网络增值业务。它们整合了传真和网络两种资源,在其中寻求新的发 l 北京邮电大学硕士研究生毕业论文 绪论 展出路。网络传真是基于p s t n ( 电话交换网) 和互联网络的传真存储转发,也称电子 传真。它整合了电话网、智能网和互联网技术。原理是通过互联网将文件传送到传 真服务器上,由服务器转换成传真机接收的通用图形格式后,再通过p s t n 发送到全 球各地的普通传真机上。 网络传真通过互联网发送和接收传真,不需要传统传真机的一种新型传真方式。 通过行运网络传真,用户可以象收发电子邮件一样接收和发送传真,如图1 - 1 所示: 网络传真突破了以往传真业务的局限,不需要购买传真机和申请专用传真号码, 只需要通过p c 就可以在w e b 页面上进行传真的收发操作。用户还可以选择传真转发 和邮件、短信通知等附加业务。 f a x 1 - 1 基本结构原理图 采用网络传真还具有以下优点: 1 、 网络传真使传真机与电脑的联系变的更为紧密。 在我国,文件的产生、管理已基本实现了电脑化,而放在旁边的传真机是这些 文件的主要传输工具。但现实是两者并不能直接相连,发h m 送传真时,文件先从 电脑中打印出来,再由人工拨号、送纸从传真机发送;收到传真是纸面文件,无法 放进电脑保存,更不用说用电脑进行编辑和修改了,可以说两者虽近在咫尺,却远 在天边。因此,在电脑办公大潮的推动下,网络传真开始进入人们的视野。 网络传真不是在传统传真机上简单的功能升级,而是完全颠覆了传统传真模式 的新一代传真系统。网络传真与电脑直接相连,借助于日益普及的计算机网络,通 过类似于电子邮件式的人性化界面来收发传真,因此它提供了直接对电脑管理的电 子文件进行操作的可能,从而不用再打印成纸面文件就可以收发传真了。网络传真 无需耗材和纸张,可以说真正实现了无纸化办公,同时也符合当今绿色环保的主题。 2 、网络传真大大简化了传真收发工作。 以往用传统传真机发送传真时先要把电脑罩的电子文件打印成纸面文件,然后 送纸、人工拨号,收到传真信号后开始发送传真,如果一切顺利还好说,一旦遇到 传真耗材用尽、对方号码占线、对方误操作挂断以及传真机卡纸等问题,传真就变 2 北京邮电大学硕士研究生毕业论文绪论 得异常繁琐了。原本简单的传真工作无形中就变成了一种负担,既耽误时间又影响 工作,效率还特别低。而用网络传真就解决了这些问题,用户只需坐在电脑前简简 单单的动几下鼠标,剩下的工作就由传真服务器来完成,简单又轻松,省时又省力。 3 、网络传真便于对传真件进行分类和管理。 由于网络传真接收的和发送的都是电子文件,因此用户可以象管理个人电脑里 的文件一样对传真件进行分类和管理,比如可以按接收件和发送件,按客户类型, 按重要程度和保密性对传真件进行分类,查阅和管理井然有序,一目了然。相反, 传统传真机收发的纸面传真件管理起来就复杂得多,分类、归档、编号、入库等一 系列的工序既费时又费力,如果接收到的是热敏纸传真还必须复印在普通纸上才能 保管,因此很多公司安排专人来管理传真,即便如砒,有时查阅一份传真还会出现 找不到的情况。 4 、网络传真可以实现网络共享。 传统的传真机无法和公司的网络相连接,所以即使公司的网络设备再发达,要 发送传真的时候也都要跑过去,有时赶上占线,还要跑好几趟,接收到传真也只能 跑过去取。网络传真与公司局域网相连,只需经过简单的设置,就可以让局域网里 的每台计算机单独发送传真,如此一来,公司所有员工都可安坐在座位上随时发送 传真,不用再跑来跑去了,营造了一个安静和谐的办公环境。同时,网络传真系统 在收到传真后会自动分发到每一个人,免去了传统传真机收到传真后再复印多份分 发给每个人的过程,真正实现了信息化办公。 5 、网络传真可以大大拓展传真的范围 传统的传真机只能发送纸张上的文字资料及分辨率很低的图像,而且只能是黑 白的,如果己方或对方的传真机或耗材不够理想,那么接收到的图文会严重失真, 有的根本无法辨认。而网络传真可以将保存在电脑上的任何格式的文件以传真的形 式发给对方,如照片、程序、海报、表格、收据等等。使用网络传真,传真的对象 不再仅仅局限于过去单一的纸面文件,它已经有了更大的范畴,所有电脑能够识别 的文件都都是它的收发对象。 6 、网络传真可以很方便的实现重发和群发。 传统的传真机不具备自动重发和群发功能,遇有重发和群发需求时,用户只能 人工重复拨号,一份一份地发送传真,既费时又费力。有些企业( 比如银行、保险 公司、外贸公司) 传真量很大,就只能安排专人收发传真,无形中增加了经营成本。 而网络传真都具备自动重发和群发功能,用户只需在发送界面上输入重发的次数和 群发的传真号码,网络传真服务器就会将传真进行排队发送,从而大大降低了工作 3 北京邮电大学硕士研究生毕业论文 绪论 量,提高了工作效率。 总之,网络传真是一种高效、低耗、环保的传真方式,能够轻松完成用户绝大 多数的传真需求,它的出现不仅壮大了传真机的阵容,也为用户提供了全新的选择。 1 2 作者的主要工作 自2 0 0 6 年九月进入北京邮电大学交换与智能控制国家重点实验室以来,笔者主 要从事下一代网络和3 g 网络中业务应用方面的研究,并作为开发人员参与了s i p 传真服务系统的研究和实现,具体的工作内容如下: 1 、s i p 传真服务系统开发方案说明。 2 、s i p 传真服务系统数据库设计及传真接口定义。 3 、开发传真网关模块和传真能力服务模块。 4 、搭建测试环境,并最终完成该系统的测试。 1 3 论文的组织与结构 第一章,绪论即本章。对论文的背景及问题的引入进行简单的介绍, 了论文的主要工作,最后描述论文的组织和结构。 第二章,从系统涉及的相关技术和协议进行介绍。 第三章,对s i p 传真服务系统的整个系统结构和设计做了简要介绍, 接口和数据库设计。 然后说明 定义系统 第四章,重点对s i p 传真服务系统的实现进行介绍。内容涵盖了开发环境介绍、 传真网关处理模块实现以及传真能力服务器处理模块实现。 第五章,重点对s i p 传真服务系统的测试进行了介绍。内容包括了测试环境, 测试工具,功能测试及结果。 第六章,重点对笔者在研究生阶段的工作和论文做了总结,并在此基础上,提 出系统的不完善之处以及相应的改进意见。 最后是本文的参考文献列表、致谢以及附件。 4 北京邮电大学硕士研究生毕业论文相关技术与协议 第二章相关技术及协议 s i p 传真服务系统在实现过程中,涉及到了多个协议之间的映射,就本文 中使用的相关技术和协议,在下面的文章里做简短的介绍。 2 1s o a p 规范概述 s o a p 以x m l 形式提供了一个简单、轻量的用于在分散或分布环境中交换结 构化和类型信息的机制。s o a p 本身并没有定义任何应用程序语义,如编程模型 或特定语义的实现;实际上它通过提供一个有标准组件的包模型和在模块中编 码数据的机制,定义了一个简单的表示应用程序语义的机制。这使s o a p 能够被 用于从消息传递到r p c 的各种系统。 s o a p 包括三个部分: s o a p 封装结构定义了一个整体框架用来表示消息中包含什么内容,谁 来处理这些内容以及这些内容是可选的或是必需的。 s o a p 编码规则( 定义了用以交换应用程序定义的数据类型的实例的一 系列机制。 s o a pr p c 表示定义了一个用来表示远程过程调用和应答的协定。 虽然这三个部分都作为s o a p 的一部分一起描述,但它们在功能上是相交 的。特别的,封装和编码规则是在不同的名域中定义的,这种模块性的定义方 法增加了简单性在s o a p 封装,s o a p 编码规则和s o a p r p c 协定之外,这个 规范还定义了两个协议的绑定,描述了在有或没有h t t p 扩展框架的情况下, s o a p 消息如何包含在h t t p 消息中被传送。 2 1 1 设计目标 s o a p 的主要设计目标是简单性和可扩展性,这意味着传统的消息系统和分 布对象系统的某些性质不是s o a p 规范的一部分。这些性质包括: 分布式碎片收集 成批传送消息 对象引用( 要求分布式碎片收集) 激活机制( 要求对象引用) 5 北京邮电大学硕士研究生毕业论文相关技术与协议 2 1 2 处理与传输 s o a p 消息从发送方到接收方是单向传送,s o a p 消息经常以请求应答的方 式实现。s o a p 实现可以通过开发特定网络系统的特性来优化。例如,h t t p 绑 定使s o a p 应答消息以h t t p 应答的方式传输,并使用同一个连接返回请求。不 管s o a p 被绑定到哪个协议,s o a p 消息采用所谓的 消息路径“发送,这使在 终节点之外的中间节点可以处理消息。一个接收s o a p 消息的s o a p 应用程序必 须按顺序执行以下的动作来处理消息:识别应用程序想要的s o a p 消息的所有 部分检验应用程序是否支持第一步中识别的消息中所有必需部分并处理它。如 果不支持,则丢弃消息。在不影响处理结果的情况下,处理器可能忽略第一步 中识别出的可选部分。如果这个s o a p 应用程序不是这个消息的最终目的地,则 在转发消息之前删除第一步中识别出来的所有部分。为了正确处理一条消息或 者消息的一部分,s o a p 处理器需要理解:所用的交换方式( 单向,请求应答, 多路发送等等) ,这种方式下接收者的任务,r p c 机制( 如果有的话) 的使用, 数据的表现方法或编码,还有其它必需的语义。尽管属性( 比如s o a p e n c o d i n g s t y l e ,可以用于描述一个消息的某些方面,但这个规范并不强制所 有的接收方也必须有同样的属性并取同样的属性值。 ( 注:交互双方的s o a p 消息并不一定要遵循同样的格式设定,而只需要以一种 双方可理解的格式交换信息就可以了) 2 1 3 封装 s o a p 消息是一个x m l 文档,包括一个必需的s o a p 封装,一个可选的s o a p 头和一个必需的s o a p 体。在这篇规范剩余部分中,提到s o a p 消息时就是指这 个x m l 文档。这一节中定义的元素和属性的名域标志符为: ”h t t p :s c h e m a s x m l s o a p o r g s o a p e n v e l o p e ”。一个s o a p 消息包括以 下部分:1 在表示这个消息的x m l 文档中,封装是顶层元素。2 应用s o a p 交换 信息的各方是分散的且没有预先协定,s o a p 头提供了向s o a p 消息中添加关于 这条s o a p 消息的某些要素( f e a t u r e ) 的机制。s o a p 定义了少量的属性用来表明 这项要素( f e a t u r e ) 是否可选以及由谁来处理。3 s o a p 体是包含消息的最终 接收者想要的信息的容器。s o a p 为s o a p 体定义了一个f a u l t 元素用来报告错 误信息。语法规则如下所示: 封装: 1 元素名是”e n v e l o p e ” 6 北京邮电大学硕士研究生毕业论文 相关技术与协议 2 在s o a p 消息中必须出现。 3 可以包含名域声明和附加属性。如果包含附加属性,这些属性必须限定 名域。类似的,”e n v e l o p e ”可以包含附加子元素,这些也必须限定名域 且跟在s o a p 体元素之后。 s o a p 头: 1 元素名是 h e a d e r 竹 2 在s o a p 消息中可能出现。如果出现的话,必须是s o a p 封装元素的第 一个直接子元素。 3 s o a p 头可以包含多个条目,每个都是s o a p 头元素的直接子元素。所 有s o a p 头的直接子元素都必须限定名域。 s o a p 体: 1 元素名是”b o d y 2 在s o a p 消息中必须出现且必须是s o a p 封装元素的直接子元素。它必 须直接跟在s o a p 头元素( 如果有) 之后。否则它必须是s o a p 封装元 素的第一个直接子元素。 3 s o a p 体可以包括多个条目,每个条目必须是s o a p 体元素的直接子元 素。s o a p 体元素的直接子元素可以限定名域。s o a p 定义了s o a p f a u l t 元素来表示错误信息。 2 1 4 请求及响应 一个s o a p 方法可以简单地看作遵循s o a p 编码规则的h t t p 请求和响应。 s o a p 请求是一个h t t p p o s t 请求。s o a p 请求的c o n t e n t - t y p e 必须用 t e x t x m l 。而且它必须包含一个请求u r i 。服务器怎样解释这个请求u r i 是与 实现相关的,但是许多实现中可能用它来映射到一个类或者一个对象。 一个s o a p 请求的h t t p 体是一个x m l 文档,它包含方法中 i n 】和 i n , o u t 参数的值。这些值被编码成为一个显著的调用元素的子元素,这个调用元素具 有s o a p m e t h o d n 锄e h r r p 头的方法名和名域u r i 。调用元素必须出现在标准 的s o a p 和 元素内( 后面会更多讨论这两个元素) 。下面是 一个最简单的s o a p 方法请求: p o s t s t r i n g _ s e r v e r o b j e c t l7 h t t p 1 1 h o s t :2 0 9 1 1o 19 7 2 c o n t e n t - t y p e :t e x t x m l 7 北京邮电大学硕士研究生毕业论文 相关技术与协议 c o n t e n t - l e n g t h :15 2 s o a p m e t h o d n a m e :u m :s t r i n g s - c o m :i s t r i n g # r e v e r s e h e l l o ,w o d d s o a p 响应的格式类似于请求格式。响应体包含方法的 o u t 和 h a ,o u t 参数, 这个方法被编码为一个显著的响应元素的子元素。这个元素的名字与请求的调 用元素的名字相同,但以r e s p o n s e 后缀来连接。下面是对前面的s o a p 请求的 s o a p 响应: 2 0 0 0 k c o n t e n t - t y p e :t e x t x m l c o n t e n t l e n g t h :16 2 d l r o w , o l l e h 这里响应元素被命名为r e v e r s e r e s p o n s e ,它是方法名紧跟r e s p o i l s e 后缀。 要注意的是这里是没有s o a p m e t h o d n a m e h t t p 头的。这个头只在请求消息中 需要,在响应消息中并不需要。 2 2s i p 协议 s i p ( 会话初始协议) 的开发目的是用来帮助提供跨越因特网的高级电话业 务。因特网电话( i p 电话) 正在向一种正式的商业电话模式演进,s i p 就是用 来确保这种演进实现而需要的n g n ( 下一代网络) 系列协议中重要的一员。 s i p 是i e t f 标准进程的一部分,它是在诸如s m t p ( 简单邮件传送协议) 和h t t p ( 超文本传送协议) 基础之上建立起来的。它用来建立,改变和终止 基于i p 网络的用户间的呼叫。s i p 被描述为用来生成,修改和终结一个或多个 8 北京邮电大学硕士研究生毕业论文 相关技术与协议 参与者之间的会话。这些会话包括因特网多媒体会议,因特网( 或任何m 网络) 电话呼叫和多媒体发布。会话中的成员能够通过多播或单播联系的网络来通信。 s i p 支持会话描述,它允许参与者在一组兼容媒体类型上达成一致。同时,它 通过代理和重定向请求到用户当前位置来支持用户移动性。s i p 不与任何特定 的会议控制协议捆绑。 s i p 协议的主要功能和特点概括如下: 1 s i p 是一个客户服务器协议。 2 协议消息分为两类:请求和响应。 3 协议消息的目的是:建立或终结会话。 4 响应消息分为两类:中间响应和最终响应。 5 采用s i pu r l 的寻址方式,特别地,其用户名字段可以是电话号码, 以支持口电话网关寻址,实现疋电话和p s t n 的互通。 6 s i p 的最强大之处就是用户定位功能,用户定位基于登记和d n s 机制; 7 s i p 独立于低层协议,可采用不同的传输层协议,若采用u d p 传送, 要求响应消息沿请求消息发送的同样路径回送;若采用t c p 传送,则同一 事务的请求和响应需在同一t c p 连接上传送。 s i p 主要支持以下五个方面的功能: 1 用户定位:确定通信所用的端系统位置。 2 用户能力交换:确定所用的媒体类型和媒体参数。 3 用户可用性判定:确定被叫方是否空闲和是否愿意加入通信。 4 会话建立:邀请和提示被叫,在主被叫之间传递呼叫参数。 5 会话管理:包括会话终结和会话转交,以及会话参数的修改和相关调 用业务。 2 2 1 消息格式 s i p 消息有两种:客户机到服务器的请求,服务器到客户机的响应。 s i p 消息由一个起始行、一个或多个字段组成的消息头、一个标志消息头 结束的空行以及作为可选项的消息体组成。 起始行分请求行和状态行两种,其中请求行是请求消息的起始行,状态行 是响应消息的起始行。 根据协议中的相关内容,可以发现有的头字段只能用于请求消息,有的头 字段只能用于响应消息,而有的则在两种消息中都可以使用,所以根据上述可 将消息头部字段概括分为:通用头、请求头、响应头和实体头四种。其中,实 9 北京邮电大学硕士研究生毕业论文相关技术与协议 体头为描述消息体的头字段。 2 2 2 请求消息 s i p 请求消息的请求行以方法标记开始,后面是和协议版本,最后以回车 键结束,各个元素间用空格键字符间隔。基本的请求方法有如下六种: i n v i t e 该方法用于邀请用户和服务参加一个会话。在i n v i t e 请求的消息体中可 对被叫方被邀请参加的会话作以描述。如主叫方能接收的媒体类型、发出的媒 体类型及其一些参数。对i n v i t e 请求的成功响应必须在响应的消息体中说明 被叫方愿意接收那种媒体,或者说明被叫方发出的媒体。 a c k 该方法用于客户机向服务器证实它已经收到了对i n v i t e 请求的最终响 应。a c k 只和i n v i t e 请求一起使用。对2 x x 最终响应的证实由客户机用户代 理发出,对其它最终响应的证实由收到响应的第一个代理或第一个客户机用户 代理发出。a c k 请求的t o 、f r o m 、c a l l i d 、c s e q 字段的值由对应的i n i v i t e 请求的相应字段的值复制而来。 o p t i o n s 该方法用于向服务器查询其能力。如果服务器认为它能与用户联系,则可 用一个能力集响应o p t i o n s 请求;对于代理和重定向服务器只要转发此请求, 不用显示其能力。o p t i o n s 的f r o m 、t o 分别包含主被叫的地址信息,对 o p t i o n s 请求的响应中的f r o m 、t o ( 可能加上t a g 参数) 、c a l l i d 字段的值由 o p t i o n s 请求中响应的字段值复制得到。 b y e 该方法用于向服务器表明它想释放呼叫。b y e 请求可以象i n v i t e 请求那 样被转发,可由主叫方发出也可以由被叫方发出。呼叫的一方在释放( 挂断) 呼叫前必须发出b y e 请求,收到b y e 请求的这方必须停止发媒体流给发出 b y e 请求的这方。 c a n c e l 该方法用于取消一个c a l l i d ,t o ,f r o m 和c s e q ( 仅序列号) 字段值相同的正 在进行的请求,但取消不了已经完成的请求( 如果服务器返回一个最终状态响 应,则认为请求已完成) 。c a n c e l 请求中的c a l l i d ,t o ,c s e q 的数字部分及f r o m 字段和原请求的对应字段值相同,从而使c a n c e l 请求与它要取消的请求匹 配。 1 0 北京邮电大学硕士研究生毕业论文 相关技术与协议 r e g i s t e r 该方法用于向s i p 服务器注册列在t o 字段中的地址信息。 s i p 请求消息举例: i n v i t es i p :w a t s o n b o s t o n b e l l t e l c o ms i p 2 0 v i a :s i p 2 0 ,u d pk t o n b e l l - t e l c 0 1 f r o m :a b e l l t o :t w a t s o n c a l l i d :6 6 2 6 0 6 8 7 6 k t o n b e l l t e l c o m c s c q :1i n v i t e c o n t a c t : s u b j e c t :m r w a t s o n , o p i n eh e r e c o n t e n t - t y p o :a p p l i c a t i o n s c o n t e n t - l e n g t h : v = o o = b e l l5 3 6 5 5 7 6 52 3 5 3 6 8 7 6 3 7i ni p 41 2 8 3 4 5 铲m r w a t s o n ,c o m eh e r e e = i ni p 4k t o n b e l l t e l e o m m = a u d i o3 4 5 6r t p 以i v po345 2 2 3 响应消息 s i p 响应消息的状态行以协议版本开始,接下来是用数字表示的状态码及 相关的文本说明,最后以回车键结束,各个元素间用空格字符间隔。 s i p 协议中用三位整数的状态码和原因值来表示对请求的作出回答,状态 码用于机器识别操作,原因短语是对状态码的简单文字描述,用于人工识别操 作。 常用的状态码有如下六类: l x x :信息类,表示请求已经收到、继续处理请求。 2 x x :成功类,表示请求已经被成功地收到,理解和介绍。 3 x x :转发类,表示为完成呼叫请求,还须采取进一步地动作。 4 x x :客户端错误,表示请求有语法错误或不能被服务器执行。客户机需修 改请求,然后再重发请求。 5 x x :服务器错误,表示服务器出错,不能执行合法请求。 1 1 北京邮电大学硕士研究生毕业论文 相关技术与协议 6 x x :全局错误,表示任何服务器都不能执行请求。 其中,l x x 响应为临时响应,其它响应为最终响应。 s i p 响应消息举例: s i p 2 02 0 0o k v i a :s i p 2 0 厂u d pk t o n b e l l t e l c o m f r o m :a b e l l t o : ;姆3 7 4 6 2 311 c a l l - i d :6 6 2 6 0 6 8 7 6 k t o n b e l l t e l c o m c s e q :1i n v i t e c o n t a c t :s i p :w a t s o n b o s t o n b e l l - t e l c o m c o n t e n t t y p e :a p p l i c a t i o n s d p c o n t e n t - l e n g t h : v = o o = w r a t s o n4 8 5 8 9 4 9 4 8 5 8 9 4 9i ni p 419 2 1 2 3 s = i m o n m y w a y c = i ni p 4b o s t o n b e l l t e l c o m m = a u d i o5 0 0 4i u 甲a 、,po3 2 2 4 主要头字段 s i p 协议的消息定义与h t t p 在语法规则和定义上很相似。每个头字段都 遵循以下格式;首先是字段名,字段名不分大小写,后面是冒号,然后是字段值, 字段值与冒号间可有多个前导空格。 f r o m :所有请求和响应消息必须包含此字段,以指示请求的发起者,服务 器将此字段从请求消息复制到响应消息。 t 0 :该字段指明请求的接收者,其格式与f r o m 相同,仅第一个关键词代 之以t o 。所有请求和响应都必须包含此字段。 c a l li d :该字段用以唯一标识一个特定的邀请或标识某一客户的所有登记。 v i a :该字段用以指示请求经历的路径。它可以防止请求消息传送产生环路, 并确保响应和请求的消息选择同样的路径。v i a 必须含有一个b r a n c h 参数,这 个参数标识主要用于识别由请求所创建的事务,服务器和用户都使用这个参数。 c s e q :命令序号。客户端在每个请求中应加入此字段,它由请求方法和一 个十进制序号组成。 1 2 北京邮电大学硕士研究生毕业论文相关技术与协议 c o n t a c t :该字段用于i n v i t e 、a c k 和r e g i s t e r 请求以及成功响应、呼 叫进展响应和重定向响应消息,其作用是给出之后和用户直接通信的地址。 m a x f o r w a r d s :该字段表示请求消息的传送跳数的限制,是一个整数,每 经过一跳数值减一。 c o n t e n t t y p e :该字段主要表示所发消息体的媒体类型。如果消息体不是空 的,则c o n t e n t t y p eh e a d e rf i e l d 一定要存在。如果c o n t e n t - t y p eh e a d e rf i e l d 存 在,而消息体是空的,表明该类型的媒体流长度是0 。 c o n t e n t l e n g t h :该字段表明消息体的大小。 c o n t e n t e n c o d i n g :该字段表明消息体上添加应用的内容编码方式。 r o u t e :该字段决定请求消息的路由。 r e q u i r e :该字段用于客户机告诉代理服务器为了正确处理请求,客户机希 望服务器支持的选项。 2 2 5 流程介绍 一个基本的s i p 呼叫的过程可分为以下3 部分。 1 当u a c 发出呼叫“邀请,u a c 在请求消息起始行中写入i n v i t e ,及被 叫当前的s i pu r l 地址,在头部字段t o 中写入被叫的s i pu r l 地址,在c a l l i d 字段中生成唯一的呼叫标识,在f r o m 字段中写入主叫用户的s i pu r l 地 址,在v i a 字段中写入自己的主机名或者网络地址,消息体内s d p 写明u a c u a s 所支持的媒体类型以及网络地址和端口号( 用于端系统间的媒体协商) 。代 理服务器收到请求消息后,将自己的地址压入头部字段v i a 栈中( 路由中的代 理服务器都作同样的处理) 。对于被叫位置的确定,代理服务器可以向定位服务 器发起查询,查询被叫当前的位置信息,如果被叫的位置信息未发生更新,请 求消息则直接发给被叫;如果被叫位置发生了更新,代理服务器则继续根据新 的地址转发请求消息,直到到达被叫u a s 。 2 被叫u a s 收到请求消息后,回送响应。响应分为两种类型:一类是中 间响应,报告呼叫进展情况,如用户空闲、正在振铃等;一类是最终响应,包 括成功响应和异常失败响应。响应根据请求消息中的v i a 字段,原路返回主叫 u a c 。对于表示成功的响应,u a c 使用“确认( a c k ) 方法向被叫u a s 发请求消 息,被叫u a c 收到确认消息后,主被叫间会话建立,双方通过r t p 协议互发信 息。 3 通信结束后,任何一方向对方发送“再见”( b y e

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论