已阅读5页,还剩70页未读, 继续免费阅读
(通信与信息系统专业论文)基于会话初始化协议sip的voip系统的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
东南大学学位论文独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除 了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获 得东南大学或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献 均已在论文中作了明确的说明并表示了谢意。 研究生签名: 并耍日 期: 东南大学学位论文使用授权声明 东南大学、中国科学技术信息研究所、国家图书馆有权保留本人所送交学位论文的复印件和电子文档, 可以采用影印、缩印或其他复制手段保存论文。本人电子文档的内容和纸质论文的内容相一致。除在保密 期内的保密论文外,允许论文被查阅和借阅,可以公布( 包括刊登) 论文的全部或部分内容。论文的公布 ( 包括刊登) 授权东南大学研究生院办理。 研究生签名:葺驻艮导师签名:虹日期: r 吵 议格式;最后概述了实时传输协议r ,r p ( r e a l t i i i l et r a n s p o r tp 咖1 ) 的应用及数据包格式。 研究了v o i p 客户端软件的总体架构以及通信过程的设计与实现。首先研究了客户端软件的总体构架,软 件的总体架构由三个进程模块组成,各进程模块分别实现不同的功能;其次研究了各进程的创建及实现过程; 再次研究了进程间的通信方式管道的特点、管道的创建及通信原理、各进程模块间的管道的创建及通信内容和 通信结构:最后深入分析了进程模块数据的主要执行流程。 研究了v o p 客户端功能的实现。首先研究了人机交互功能的设计与实现,主要包括人机交互主界面的设 计与实现以及人机交互地址簿与呼叫历史功能的设计与实现;其次对信息中继与状态转移功能的设计与实现; 再次对 b 客户端的会话功能进行研究和实现,包括对注册功能、发起会话功能、接收会话功能、会话终止 功能、呼叫转接功能以及呼叫预留功能的研究与实现:最后对数据库功能进行研究,设计并实现了v o 毋客户 端软件的地址簿功能和呼叫历史功能,包括添加、删除、编辑、重命名联系人以及呼叫历史管理功能。 阐述了v 0 p 系统测试平台的搭建及功能测试过程,首先介绍v o m 测试平台的搭建及服务器拨号方案等的 配置,其次对本文实现的注册功能、会话功能、呼叫预留功能以及呼叫转接功能进行测试,表明本文设计并实 现的v o m 客户端实现了人机交互功能、会话功能、呼叫转接功能、呼叫预留功能以及数据库功能。最后对研 究工作进行了总结与展望,首先对v o 口技术的前景进行展望,其次对研究工作进行总结和展望。 关键字:v o ,会话初始化协议,会话描述协议,实时传输协议 p r l 哟c o l ( s d p ) ,锄dr e a l - t i m e 们n s p o r tp 咖1 ( r t p ) w es t l k l yn l es 虮j c t l 鹏o fs mp 妣o l ,s a r c l l i t i 眦u r ea n dc a l l p r o c 鹤s ,s m e s s a g ef o 】1 i l a t 锄dm ei i i l p l e m e n t a _ t i o n so fs 口p r o t o c 0 1 a n d 廿l e ns d pi i l f o 珊a t i o na n di t sm e s s a g e f o l m a la r ed i s s c u s e d f i n a j l yw e 脚t r 1 阳肿蛾0 1a p p l i 删o n sa 1 1 di t sd a 纽p a c k e tf o i m 她 s e c o n d l y ,w ed e s i g nm ec n e n ts o 愈a r e - so 、,e r a l la r c h i t e c t u r e 狮d l p l e m e n tt 1 1 ec o m m u i l i c a 士i o np r o c e s s t h e s 0 r w a r e s0 v e r a l lf 姗e w o d 【c o n s i s c so fm r e ep i o c e s sm o ( i u l e sw i l i c ha r ed e s i g n e dt 0 陀a l i z ed i 丘毫r e n t 劬商o n s f e s p e c t i v e l y a r l dt 1 1 e c 他a t i o n 锄di i n p l e m e n t a t i o l l so f 廿1 ep r o c e s sa 陀d e s c r i b l e d w r ep r e s e n t 廿l em e a n so f c o i 姗u i l i c 撕0 n e np r o c e s s e s ,i t sc h a 麟锄证i c s ,i t sc r e a t i o n 锄d 乜砌i z 撕o r la tl a s t ,t l l ei l i l p l e m 删i o n so f t t l e p l d c e s sm o d u l ed a 诅n o wa r ea n a l y 2 髓陀s p e c t i v e l y 1 r i 削l y ,w e 缸u s0 nd e s 伽a n di i i l p l e m e n 锄0 no f m ev o m c h e n ts o 脚a r e a tf i 政w ed e s 咖锄dr e a j i z e 恤 h u m m 孔h i n ei i l t e r a c t i v ef b a l _ u r e s ,i i l c l u d i n gm 豳i i i 渤r 1 1 a c e 锄da d d r e s s b 0 0 ka n dc a l l sm s t 0 d ,i n t e r f a c e a n d 廿l e l l l e m f o 衄a t i o nr e l a ya n d 姐t e 怕r l s i 廿o n 劬嘶o n sa r ed e s i 黟l e d 锄dr e a l i 趵d 1 1 1 i r d l yw ef 0 c u s0 n 吣锄dr e a l i z a t i o nm e s e s s i o n 觚c t i o n s ,i n c i u d i n gr 晒s 戗砸o nf 酚t u r e ,i 1 1 i t i a :t ec o m 惯s a t i o nf u n c t i o 玛r e c e i v i n g 伽l n 、,e l 期五o n 向n c d 咀 蜘n m a 蛀o no f m es e s s i o n 砌t u r e ,c a l lf o n v a r d 崦a n dc a l lr e 跚l i o n 劬c t i 0 璐a tl a s t 舭d a 士a b a s e so f m ev o pc l i e n t 玳d e s i 印e d 锄d 砌蹴m l u d i n g m e a d d r e s s b 0 0 k 批e 锄dc a l l s d ,d a t a b 投 f i l l a l l y ,w eo u t l i n eb u i l d i n g0 f 他v o ms y s t c 肌t e s tp l a t f o n i l 锄d 劬c t i o n st e s t i n g f i 硎yw eb u i l dm eo v e r a l l v 0 i p 戗tp l a :响n i l 硫1 u d 吨m ec o n 丘目删i o no fm es e n 惯b a s 耐0 ns o f t s w i 砒t e c l l l l o l 9 彰锄dt h ec o l l f i g u 】丽0 no f 蚴p l a i l - f 砌l y 恤僦捌胁c t i o n s o f 舭v o c l i 咖勰t e s 媳i n c l u d 堍删i o n 彻t u r e ,鲫l v e 删o n 劬嘶咀 c a l lf 0 r 、v a r d i n g 锄dc a u 麒珂v a l i o n 觚n i o l l s f i n a l l y 鞠j 芏1 1 m 撕嚣锄do u t l 0 0 ko f m i st h e s i s 1 蛔唧o r d s :v 0 皿s e s s i o ni n j t i a l i 伽p 咖l ,s e s s i o nd e 氍r i p t i o np 咖l ,r e a l 础n e 砌n s p o np 删o c o l ,p 烈e 豁 i i 目录 目录 摘要i a b s t r a c t i i e j j 录i i i 第一章绪论l 1 1 课题背景与意义1 1 2 国内外研究现状2 1 3 论文开展的主要工作。2 1 4 论文的组织结构3 第二章v o i p 协议研究5 2 1s i p 协议研究5 2 1 1s i p 协议结构5 2 1 2s i p 体系结构及呼叫流程6 2 1 3s 巾消息格式9 2 1 4s i p 协议实现ll 2 2s d p 协议研究1 2 2 2 1s d p 信息1 3 2 2 2s d p 协议格式13 2 3r t p 协议研究1 4 2 3 1r t p 协议的应用。1 4 2 3 2r t p 协议的数据包格式1 4 2 4 本章小结1 5 第三章v o i p 软件系统总体架构设计及通信过程的设计与实现l7 3 1v o i p 系统客户端软件的总体构架设计1 7 3 2 进程的创建及实现18 3 2 1m a i n 进程的创建与实现1 8 3 2 2s i p 进程的创建与实现1 9 3 3 模块间的通信方式及信息研究2 0 3 3 1 管道的特点。2 0 3 3 2 管道的创建及通信原理2 l 3 3 3u i 模块与m a 跗模块间的通信2 1 3 3 4m a i n 模块与s i p 模块间的通信2 4 3 4 各模块的主要执行流程2 6 3 4 1u i 进程模块的执行流程2 6 3 4 2m a n 进程模块的执行流程2 7 3 4 3s i p 进程模块的执行流程2 7 3 5 本章小结2 8 第四章v 0 i p 系统功能设计与实现2 9 4 1 人机交互功能的设计与实现2 9 4 1 1 人机交互主界面的设计与实现3 0 4 1 2 人机交互地址簿及呼叫历史功能的实现3 2 4 2 信息中继及状态转移功能3 6 4 3 基本会话功能的研究与实现3 8 4 3 1 注册功能的研究与实现3 8 4 3 2 发起会话功能的研究与实现4 l 4 3 3 接收会话功能的研究与实现4 5 4 3 4 会话终止功能研究与实现4 6 i u 东南大学硕士学位论文 4 3 5 呼叫转接功能的研究与实现 4 3 6 呼叫预留功能的研究与实现 4 4 数据库功能的设计与实现。 4 4 1 数据库的连接与创建 4 4 2 地址簿和呼叫历史与用户的交互功能 4 5 本章小结一 第五章v 0 i p 系统测试平台的搭建及功能测试。 5 1v 0 i p 系统测试平台的搭建。 5 1 1a s t e r i s k 服务器及其搭建 5 1 2a s t e r i s k 服务器的s i p 配置。 5 2v 0 i p 系统功能的测试 5 2 1 注册功能测试。 5 2 2 会话功能测试 5 2 3 呼叫转接功能测试。 5 2 4 呼叫预留功能的测试 5 3 本章小结 第六章结论与展望 致谢 参考文献6 5 攻读硕士研究生期间发表的文章和科研成果6 7 i v 图卜lv 0 i p 传输的基本过程 v o p 也是使用i n t i e n l e t 、内部网以及外部网等各种数据网进行语音传输的业务,与传统的电话技术p s t n 相比,v o m 采用分组交换技术使得v o p 在网络上传输的是数据包而不是模拟语音信号,因此v 0 技术具有以 下优点【”1 ,:首先带宽要求低,电路交换技术电话网以6 4 k b p s 的速率传输语音,而电话是在多个逻辑连接 中动态的共享带宽,而每个连接只需6 1 6 k b p s 。其次设备费用更低,传统的电路交换技术的电话网因为不同 的供应商而采用专用的硬件,专用的操作系统、专用的应用软件,因此成本高昂。i p 网络尽管也采用一些专门 的硬件系统,但是大部分硬件是标准计算机设备并批量生产,这就为买者提供了更多选择以及从生产中获利的 机会。体系结构开放,有利于多种通信方式统一,m 网络是开放的网络,有利于多媒体业务的集成,m 电话 网络可同时支持语音、数据、图像传输,为全面提供多媒体业务打下了基础。最后易于增值业务的开发,p 电话网利用计算机强大的处理功能和i n l e n 俄丰富的资源,可灵活地控制信令、连接以及数据传输,有利于语 音邮件、呼叫中心、语音信息广播等各种增值业务的开发。 m 电话的这些突出优点使得v o p 技术迅猛发展,并且因其能为用户提供价格低廉的多媒体信号传输服务 而受到广大用户的亲睐。m 电话的重要价值还在于它是未来网上实时多媒体应用的重要组成部分,而不仅 仅是用来替代现有的传统长途电话业务。 1 随着宽带网络建设及网络接入技术的高速发展,v o 口也飞速发展,但v o 口进一步完善必须从以下几个方 面改进。首先是服务品质,因为它是由p s t n 过渡到v 0 p 、pp b x 取代p b x 【1 洲1 的最基本的要求。其次是高 可用性,尽管是未来电话的必然趋势,但较之传统的p s l n ,在成熟度、稳定性、可用性、可管理性及可 扩展性等方面仍需改善和加强。再者是开放性及兼容性,面对企业级市场,v 0 口目前面临的最大课题之一是 在开放架构下如何实现v o i p 产品或解决方案的互通和兼容及m 电话与传统电话的互通【1 2 ,1 4 1 。最后是多媒体应 用,它是v o 在协议的标准化后最大的优势所在。 解决这些问题主要从v 0 m 解决方案采用的协议入手。虽然目前使用h 3 2 3 的技术比较成熟,但是s 口协 议已逐渐成为市场主流,它是v o p 技术发展到第三阶段的必然选择,是n g n 删e 斌g e n a r a t i o nn e 觚。哟的关键 技术之一。首先s m 属于应用层协议【1 5 1 ,且使用基于文本的消息编码,与采用基于a s n 1 和压缩编码规则的 二进制方法表示消息的h 3 2 3 相比,更易于实现且具有良好的可扩展性。其次s 的会话请求过程和媒体协商 过程是同时进行的【1 例,与建立过程和媒体协商的信令控制过程分开进行的h 3 2 3 相比,呼叫的建立时间更短。 再者h 3 2 3 为实现补充业务,还需定义专门的协议,而s m 只要充分利用已定义的包头,必要时对头域进行简 单扩展就能很方便地支持补充业务或智能业务。最后h 3 2 3 采用的是集中、层次化的控制1 2 1 1 ,而s m 类似于其 它i n l e n l e t 协议,设计上为分布式呼叫模型服务,具有分布式的组播功能。因此s i p 协议是v o 技术未来发展 的必然趋势,是n c n 发展的必然选择。 1 3 论文开展的主要工作 本文研究了v o p 技术及s m 协议,在l i n u ) 【平台下实现v o p 客户端的软件系统并实现客户端的功能,具 体内容包括设计并实现系统的人机交互功能,研究并实现、b m 系统的基本会话功能,包括认证鉴权、注册、 呼叫、接听、电话簿以及通话记录等。另外也包括研究并实现一些附加的功能包括呼叫转接功能、来电显示功 能以及呼叫预留功能等。本文的研究内容包括: 研究了v o 相关协议,包括对信令协议s p 协议,媒体格式协议s d p 协议以及实时媒体传输协议i 盯p 协 议的研究。s 协议是用于创建、修改和终止会话连接的应用层信令协议,主要对s p 协议的协议结构、s m 协议的体系结构及呼叫流程、s 协议消息格式及s 口的协议实现进行了研究。s 协议是基于文本的分层协 2 第一章绪论 议,从下到上分别是语法与编码层、s p 传输层、事务层及事务用户层。s 巾体系结构采用的是服务器客户端 构架,且服务器分为代理服务器和重定向服务器。本文采用的s 口协议的实现主要o s ) e x o s i p 协议栈,分析 了o s m f e x o s i p 协议栈的特点及结构。s d p 协议用于描述流媒体初始化参数的格式,其信息包括会话级信息及 媒体级信息,会话级信息应用于整个会话和所有媒体流媒体级信息则作用于特殊媒体流。i u p 协议是传输音频、 视频、模拟数据等实时数据的传输协议。 通过对s 协议及v 0 技术的研究,设计并实现了v o m 客户端的总体软件构架及通信过程。首先设计了 客户端的总体构架,它由三个进程模块组成,包括l 进程模块、m a 烈进程模块以及s 口进程模块,其中s i p 进程模块又包括呼入信息线程和呼出信息线程。其次研究了进程的创建及具体实现,包括m a i n 进程的创建与 实现及s 口进程的创建和实现。再次对进程模块间的通信方式和通信内容进行研究,通信方式采用半双工的管 道,通信结构采用设计的结构体,通信内容根据所要实现的功能进行设计。 通过对s p 协议及v o 技术的研究,设计并实现了m 系统的人机交互功能、会话功能及数据库功能。 其中v o 系统的人机交互功能设计与实现包括对人机交互主界面功能的设计与实现,以及对人机交互功能的 地址簿和呼叫历史的设计与实现。人机交互功能是在l i i l u x 系统下采用g n h g i l 川口t c o l d 来实现的,人 机交互地址簿和呼叫历史功能的设计与实现则使用g n 针和m y s q l 相结合来设计与实现的。会话功能的设计 与实现包括对注册功能、发起会话、接收会话功能、会话终止功能、呼叫转接功能以及呼叫预留功能的研究与 实现,对各功能在s 口进程的执行流程、网络的执行流程、与前台用户的交互过程进行了研究与实现。数据库 功能使用m y s q l 进行设计与实现,包括与数据库的连接、数据库的创建以及数据库后台与前台进行交互功能 的设计与实现。 搭建测试平台以及服务器,并且对服务器进行正确的拨号方案配置,使用协议分析工具对系统所实现的功 能包括人机交互功能、注册功能、会话功能、呼叫预留功能及呼叫转接功能进行测试,并给出了测试结果。最 后,对论文所做工作进行总结并对下一步工作进行展望。 1 4 论文的组织结构 全文共由六章组成,具体内容如下所述。 第一章绪论,简要阐述课题背景与意义、课题的国内外研究现状、论文开展的主要工作及论文的组织结构。 第二章对v o p 协议研究,对v 0 p 相关协议进行研究,包括对s p 协议的协议结构、s 护协议的体系结构、 s 的消息格式及s p 协议实现,s d p 协议的信息及协议格式,r 1 限协议的应用及数据包格式进行研究。 第三章v 0 p 软件系统总体架构设计与通信过程的设计与实现,在对v o p 技术及s m 协议研究的基础上, 对v o 口系统客户端软件的总体构架进行研究,对各模块进程创建的实现过程进行研究,并在此基础上对模块 之间的通信方式、通信内容以及通信结构的设计与实现等进行研究,最后介绍了各个模块的具体执行流程,即 各模块的主要数据流向。 3 个模块的主要功 第五章v o m 系统测试平台的搭建及功能测试,包括服务器搭建及服务器拨号方案的配置,以及对v o 巾系 统客户端实现的注册功能、发起会话功能、接收会话功能、会话终止功能、呼叫转接功能及呼叫预留功能的测 试,并给出测试过程中协议分析工具所获得的s 口信令。 第六章是对本文的所做工作总结及对项目下一步研究工作的展望。 4 s 口协议由互联网工程任务组正t f ( i 眦m e te n g m e 耐1 1 9 体kf o r c e ) 制定,它是基于文本编码方式并构建于 u ) p 厂r c p 协议族之上,用于创建、修改和终止会话连接的应用层信令协议。s 口协议提供如下功能:名字翻译 与用户定位、特征协商、呼叫参与者管理与呼叫特征改变。名字翻译和用户定位,无论呼叫方在哪都能保 证呼叫到达被叫方,即执行任何描述信息到定位信息的映射,确保呼叫的相关细节被支持。特征协商, 允许与呼叫有关的组( 可是多方呼叫) 在支持的特征上一致。呼叫参与者管理,呼叫中参与者能够引入其 它用户加入呼叫,或取消到其它用户的连接,用户也可被转移或置为呼叫保持。呼叫特征改变,用户 能改变呼叫过程中的呼叫特征。 2 1 1s i p 协议结构 s 是由相对无关的处理层次组成的分层协议,且层次之间只是松散的关系。s i p 按服务分层的方式定义, 它运行在t c p 佃协议模型的应用层,从下到上分别是语法与编码层、s 口传输层、事务层及事务用户层嘲。 语法与编码层:s 口协议最底层是语法和编码,编码使用增强b a c k u s 惭语法来规定。 传输层:s 口传输层定义了网络上客户端如何发送请求和接收响应以及服务器如何接收请求和发送响应, 所有s m 要素都包含传输层。 事务层:事务是s 口的基本组成部分,事务是由客户端通过传输层向服务器发送的请求事务,和服务器发 回客户端事务的对客户端事务所有请求的应答。事务层处理应用服务层的重发、匹配请求的应答以及应用服务 层的超时。任何用户代理客户端u a c ( u s e r a g e n tc 1 i e n t ) 完成的事情都是由事务构成的。用户代理包括一个事务 层,用于实现有状态的代理服务器而无状态的代理服务器不包含事务层。事务层包括一个客户元素( 也叫客户 事务) 和一个服务器元素( 也称为服务器事务) ,它们都可以用一个有限状态机来处理特定的请求。 事务用户层:事务用户( t u ) 在事务层之上,所有s 口实体,除了无状态代理都是事务用户。当1 1 j ( ,砌n s a c t i o n 5 东南大学硕士学位论文 u 蝴) 希望发送请求,首先创建客户机事务实例并且向它传递请求和地址、端口及用来发送请求的传输机制。 t u 生成客户机事务也能被取消。当客户取消一个事务时,它请求服务器停止正在处理的事务并将状态恢复到 事务初始化之前,并且最终生成特定的错误响应,这是由c a n c e l 请求完成,此请求有自身的事务且包含被 取消的事务。 p p l i 妇吗w t f 印哪h y 苗 i m 嘲l n 晡 p h y i 酬,l 诎h y o s酬吨曲 咖时 s d p嘲i a 蛐 m ll 圭i i 圭ll 蜊。l 卜i 掣l 鲫j ri 掣掣l 彳叫lij ij r t c pu d p jl 口 i 从h p 件 , a 1 mv 如e 船嘣 3 0 2 1 l 图2 1 i n t e m e t 多媒体协议栈结构【2 2 】 2 1 2s i p 体系结构及呼叫流程 s i p 协议体系中包括两个结构元素,分别为s p 网络服务器和s 用户代理。s 口网络服务器包括代理服务 器( p 巧s e r v e r ) 和重定向服务器( r e d i r e c ts e r v e r ) 。代理服务器分为有状态代理服务器和无状态代理服务器,s m 代理服务器接收请求,决定将这些请求传送到何处,并且使用下一跳路由原理将它们传送到下一服务器。有状 态和无状态代理服务器的区别是有状态代理服务器记住它接收的入请求,以及回送的响应和它转送的出请求而 无状态代理服务器一旦转送请求后不记录所有的信息。这允许有状态代理服务器生成请求以并行地尝试多个可 能的用户位置并且送回最好的响应。无状态代理服务器可能是最快的,并且是s m 结构的骨干。有状态代理服 务器可能是离用户代理最近的本地设备,它控制用户域并且是应用服务的主要平台。重定向服务器接收请求, 但不是将这些请求传递给下服务器而是向呼叫者发送响应以指示被呼叫用户的地址,使得主叫方可以直接连 接到在另一服务器上被叫方的地址。 s 口用户代理( u s e ra g e n t ) ,就是发送s 口请求的应用程序,功能上包括用户代理客户端( u s e ra g e n tc l i e n t ) 和用户代理服务器( u s e ra g e m 辩r v e r ) 两部分。u a c 负责发起呼叫请求,u a s 负责对呼叫请求做出响应。u a c 可由一些外部的触发发出请求及处理应答( 如用户按按钮,或按下电话键产生了一个音频信号等) 。u a s 能够接 收请求并且产生应答的元素,它可根据用户输入、外部输入、程序执行结果或其它机制来产生应答。当u a c 发送请求时,请求可能通过代理服务器( p r o x 传递到u a s 。当u a s 产生应答时,此应答消息会同样的被传 送到u a c 。u a c 和u a s 的处理具有两个特点,第一处理基于请求或者应答是否在相同对话中;第二处理基 于请求的方法。 6 第二章v 0 i p 协议研究 s i p 的呼口l 流程分为点对点呼叫流程和通过服务器的呼叫流程。这两种呼叫流程有很大的不同。 点对点的呼叫模式:这种呼叫模式的呼叫终端之间没有其它的设备,完全的点对点连接,但是终端必须 知道对方精确的i p 地址和端口号。图2 - 2 表示一个对点直接呼叫流程。其中每一步过程如下: s l :u a c l 向u a c 2 发送仆i t e 请求,u a c l 在输入u a c 2 的r e q u e s t u 耐的时候,必须知道u a c 2 当前的 准确i p 地址和端口,例如:u a c 2 1 7 2 2 1 1 3 4 1 0 0 :5 0 6 0 。 s 2 :u a c 2 从5 0 6 0 端口接收到了请求以后,处理完i n v i t e 消息开始振铃,并发送正在响铃,1 8 0 砌n g i n g 响应给u a c l 。 s 3 :u a c 2 摘机,接受会话邀请,并向a 发送2 0 0o k 响应,准备建立语音通道。 s 4 :u a c l 向u a c 2 发送a c k 确认消息,确认己经收到b 的2 0 0o k 应答,呼叫正式建立。 s 5 :双方通过r t p 协议进行语音通话。 s 6 :一方要结束通话,则挂机,并发送结束会话的b y e 请求,在此假设b 先挂机。 s 7 :收到b y e 请求方,发送确认应答2 0 0o k ,通话结束。 1 】 c 1u c 2 图2 2 点对点直接呼叫模式流程 具有代理的呼叫模式流程:服务器呼叫模式主要是代理用户u a 在不知道对方确切位置信息的情况下, 通过向服务器注册位置服务器查询被叫方位置信息,并通过代理服务器中转s i p 信令从而建立会话连接的 模式。通过代理模式建立连接包括以下步骤:代理服务器首先接收用户端发送的i n t e 消息包;代理服务 器通过定位服务器来确定被叫方的位置;代理服务器将i n t e 消息包发送给被叫方;被叫方的应用程序通 知用户接收来电并向代理服务器发送成功信息包,该消息包通过相同的路由发送给代理服务器;代理服务 器向呼叫发起方转发呼叫成功信息;呼叫发起方接收到成功建立连接的消息,并直接向被叫方发送a c k 消 息包,不再通过代理服务器。具体呼叫流程如图2 3 所示。其中每一步的如下: s l :u a c l 发起会话请求r 卜i t e ,并提交给自己所在域的代理服务器p r o 珂l 。 s 2 :p r o x y l 根据i n t e 请求起始行的r e q u e s t - u 砌信息,查询u a c 2 所在域代理服务器,然后将请求转 发到u a c 2 的代理服务器p r o x y 2 。 7 s 7 :p r 0 矽2 收到18 0 黜n g i n g 响应,就将该响应返回给p r o x y l 。 s 8 :p r o 冽l 收到18 0m n g i n g 响应,将响应返回给u a c l 。 s 9 :u a c 2 接受i n v i t e ,就发送2 0 00 k 给p r 0 珂2 。 s 1 0 :p m x y 2 收到2 0 0o k 响应,就将响应返回给p r 0 珂l 。 s 1 l :p r o w l 收到2 0 0o k 响应,就将响应继续返回给u a c l 。 s 1 2 :u a c l 收到2 0 0o k 的响应,此时u a c l 已经知道u a c 2 的确切位置信息,直接向u a c 2 发送a c k 确认消息,进行点对点通信。 s 1 3 :会话成功建立,双方通过r t p 进行语音通话。 s 1 4 :如果u a c 2 先挂机,其用户代理向u a c l 发送b y e 请求,请求结束通话。 s 1 5 :u a c l 收到u a c 2 的b y e 请求后,发送2 0 0o k 给u a c l 通话结束。 由上面直接的点对点直接呼叫模式和通过服务器的呼叫模式的信令交互流程可以知道,点对点模式适 合在局域网小范围内进行s i p 呼叫的建立,而通过服务器的呼叫方式可以适合大范围和跨网的呼叫会话的 建立,通过对服务器的配置和管理,可以对s i p 通话网络进行统一的管理和维护。 图2 3 代理服务器模式下的呼叫流程 8 图2 _ 4 s m 的一般消息的格式 消 于 的 的 消息是请求消息还是应答消息是由起始行来区分的,起始行是请求行的是请求消息,若是状态行则是应答 消息。请求消息的请求行r e q u e s t - l i n e 以方法m 劬o d 标记开始,后面是r e q u e s t - l 7 i u 及协议版本s p - v 酗i , 以回车键结束,各个元素间用空格s p 间隔。其请求行格式见图2 5 所示,具体解释如下所述。 m e m o d :此规范规定了六种方法,r e g i s t e r 用于登记联系信息,n t e 、a c k 及a n c e l 用于建立 会话,b y e 用于结束会话,o p l l o n s 用于查询服务器负裂冽。 图2 5 s p 请求行格式 r 明u e 非u i u :r e q u e s t - u i u 是一个s p 或者s p su ,也可是通用的l 7 i u ,用于标志请求所用到的用户或 者服务的地址。r e q u e s “瓜i 禁止包含空白字符或控制字符,并且禁止用”括上。s p 元素可支持除s 母或 s i p s 之外所规定的r e q u e 蜘u i 池。比如硷r l i u 模式。s 口元素可以用自身的机制来转换非s i pu l u s 到s i p u l u s ,s p sl 瓜i 或其它格式的l 7 i u 。 r e q u e s t - l i n e g e n e r a l - h e a d e r r e q u e s t - h e a d e r e n t i t ) ,- h e a d e r c r l f m e s s a g e b o d y ( 请求行) ( 通用头) ( 请求头) ( 实体头) ( 空行) ( 可选消息体) 图2 _ 6s m 请求消息的一般格式 9 东南大学硕士学位论文 s v e r s i o n :请求和应答消息都包含所使用的s i p 版本,s p 的版本大小写不敏感,但在实现 请求消息的一般格式见图2 6 所示。s 口请求消息共有六种类型,包括i n 仃t e 、a c k 、b y e r e g i s t e r 及o p l l o n s ,具体分类和功能描述见表2 1 。 表格2 1s i p 请求消息类型 消息描述 i n v i t e 一个用户或业务参加一个会话 a c k 对客户端请求的确认 b y e 向服务器发消息来结束该呼叫 c a n c e l 取消一个挂起的呼叫 r e g i s t e r 向定位服务器注册客户机的相关信息 o p t l 0 n s 查询服务器的相关信息和功能 相较于请求消息,应答消息的状态行漱u s l i n e 以协议版本开始,然后用数字表示状态码,此后就是应 答的原因文本,最后是回车换行c r l f ,各要素之间用空格s p 隔开。应答消息的状态行格式如图2 5 所示, 应答消息状态行中s t a t i l s c 0 d e 是一个三位的数字码,用于标志处理请求的结果及机器识别操作。r 脚n p h r a 辩 是s 啪s c o d e 说明,主要用于人工识别操作。客户端并不要求一定要显示或者解释r e a s 伽p h r a s e 。s t a t u s c o d e 的第一个数字表示应答类型,接下来两个数字不作分类使用。基于此原因,任何c o d e 在1 0 0 到1 9 9 的 可以统称位”1 】。( 应答,在2 0 0 到2 9 9 的可以统称位,:2 碰应答,依此类推。s 垅0 允许六类应答,如表2 - 2 所示,s 伊协议的应答消息格式见图2 - 7 所示。 图2 7 应答消息的状态行 图2 8s 口应答消息的一般格式 s p 请求消息在请求行后包含一些标题头,而应答消息则在状态行后包含标题头。标题头提供了关于请求 或应答的消息及这些消息包含的消息体的消息。某些标题头在请求消息和应答消息中均可使用,而某些标题头 只能特定的用于请求消息或应答消剧2 9 1 。标题头格式由标题头名、跟着一个冒号、再后面跟着标题头值,标题 头见表2 3 所示。 l o 第二章v o i p 协议研究 消息体是可选的,但是请求消息和应答消息都可能包含有消息体,它被一个空行和消息头分开。被s 口消 息携带的消息体通常是会话描述符,但它可以由任何不透明的物体组成,因为s 代理不需要检查消息体,消 息体中的内容对它们来讲是透明的刚,作为一个结果,会话描述符通过用户代理进行端到端的传输,代理为了 路由s p 消息而需要所有的消息都包含在请求、状态行和s 口标题头中。当然s p 消息也可以携带多个消息体, s 消息体经常携带s d p 消息。 表格2 2s i p 响应消息类型 消息描述 l 般l n f o 册a t i o n a l ( 通知) 临时应答一请求已经接收,正在处理这个请求 2 舣s u c c c s s 如l ( 成功)成功处理一请求已经成功接收,并且正确处理了这个请求。 3 x xr e d i 陀c t i 。n ( 重定向) 蠢耋墨矗还需要附加的操作才能完成这个请求本请求转发到其他的服务 4 ) 。( r e q u e s tf a j l u r e ( 请求失败) 客户端错误一一请求包含错误的格式或者不能在这个服务器上完成 5 斌s e r v e rf a i l u r c ( 服务失败) 服务器错误一服务器不能正确的处理这个显然合法的请求 6 x xg 1 0 b a lf a i l u r e s ( 全局错误) 全局错误一请求不能被任何服务器处理 2 1 4s i p 协议实现 协议栈是协议的实现,主要指网络中各层协议的总和,形象的反映了网络文件由上层协议到底层协议,再 由底层协议到上层协议传输的过程f 3 l l 。常用的s 协议栈:0 1 ) e r l s 口s t a c k 、o s p 、v 0 c a l 、p j s 及m j s i p 等。 本文选择o s ) e x o s i p 协议栈来实现u a c ,下面将对o s i p e x o s i p 进行较详细的介绍和研究。 l 、o s i p 协议栈的主要特点【3 2 】: 开发语言使用c 语言:与操作系统s o l a r i s ,h p 硼权,r to sv x w o d ( s ,w i n d o w s ,g n l 忱i n 叹,p o s 兼容系统;支持的r f c 标准:r f c3 2 6 l ,r f c2 3 2 7 ,3 2 “,r f c3 2 6 3 ,c3 3 l l ;支持传输协议包括 t c p 及l ) p ;支持单线程及多线程编程;模块之间采用松耦合,且模块独立性高;兼容性高,可以与多种s i p 协议栈互通。 2 、o s i p e x o s i p 协议栈的结构和组成: o s p 由o s i p 2 及o s i p p a 敝蛇两部分组成。o s i p 2 主要提供初始化l i b o s i p 2 库、管理交易、管理对话、s d p 协 商和状态机的管理等功能。o s i p p a 耿i r 2 提供包括s d p 解析的a p l 、h e a d e r 的定义、消息a p i 、u 解析等功能。 e x o s i p 是o s i p 2 的扩展协议集,它是o s 口协议栈的封装和调用,且e x o s i p 增加了对c a l l 、d i a l o g 、嘲i s 仃矧o n 、 s u b s c r i p t i o n 等过程的解析,实用性更强。但e x o s i p 局限于u a 的实现,所以不容易用于r e 百s 仃a r 、s i p 辩r v e r 等 应用。此外它没有
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 后勤安全生产建议书讲解
- 某印刷厂生产安全细则
- 景区安全标语讲解
- 某制药厂环保安全制度
- 健康宣教:产后初访记录模板
- 森林消防安全责任落实方案
- 中国AI产业图鉴
- 儿科采血流程健康宣教
- 2027夏季商场供水合同范本
- 2026中心医院血库面试题及答案
- 2026年西安市总工会建强实业集团有限公司招聘(26人)笔试备考试题及答案详解
- 安全监理策划方案
- 2026年完整版临床三基考试试题及答案
- 2026年技术转移经纪人人才培养与职业资质认定知识考核
- (2026版)建筑施工特种作业人员管理规定课件
- 林长制六项工作制度
- 检验机构轮岗工作制度
- 2026年江西省宜春市辅警考试试卷含答案
- 实习律师考勤制度
- 银行个金业务培训
- 工厂员工培训资料
评论
0/150
提交评论