基于SIP协议VoIP客户端的设计与实现.doc_第1页
基于SIP协议VoIP客户端的设计与实现.doc_第2页
基于SIP协议VoIP客户端的设计与实现.doc_第3页
基于SIP协议VoIP客户端的设计与实现.doc_第4页
全文预览已结束

下载本文档

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

文档简介

基于SIP协议VoIP客户端的设计与实现熊磊1张思发1 黄永峰2 ( 1. 中国地质大学计算机学院 武汉430074;2. 清华大学电子工程系网络研究所 北京100084)要: SIP协议作为下一代网络 ( N GN) 的重要协议,基于SIP的VoIP业务已经对传统话音业务形成了摘巨大的威胁, 具有很大的发展潜力。该文首先概述了SIP协议的结构和信令流程, 然后详细介绍了一种基于SIP 协议的VoIP客户端的设计与实现方法。 关键词: SIP; VoIP; H.3231 引言VoIP技术为基于IP网络的语音传输提供了强大而有很好的支持, 这些突出的优势使SIP得到了设备制造商和运营商的高度关注。有效的手段,以网络多媒体传输为主的宽带网成为计2 S IP 协议SIP协议是由IETF ( 国际互联网标准制定组织)制 定 的 面 向Internet 会 议 和 电 话 的 信 令 协 议 。 它 是算机网络发展的主流应用。VoIP是基于IP网络的语音通信, 它不仅是IP电话, 还是一个可以提供多样化服 务的平台。2000年前后, 国内的电信运营商就已经开始提供以H.323方式为主的VoIP业务,主要是将传统的Client/Server 结构的协议, 支持IPv4 和IPv6,用来建电话网络转化成IP网络, 以此来降低资费。2004年以后, 随着宽带的不断普及和宽带接入费用的不断降低, 基于会话初始化协议SIP ( Session Initiation Protoco)l 的VoIP ( Voice over IP) 开始成为应用的主流。SIP协议和H.323协议是VoIP的两个最重要的标 准。H.323 是由国际电联提出的一种兼顾传统PSTN( 公共交换电话网) 和IP网特点的标准体制。特别之 处就是吸取了电信网的组网、互联和运营经验, 能够 与PSTN 网以及其他应用网互联互通, 也正是这样H.323协议得到了广泛的应用。SIP协议由IETF提出, 与立、修改和终止两个或多个参与者参加的多媒体会话; 支持多媒体通信中的用户定位、用户可用性、性 能协商、会话建立、会话管理功能。2.1 S IP 中的实体按照逻辑功能区分, SIP系统可以划分为4个逻辑 实体: 用户代理、代理服务器、重定向服务器以及注 册服务器。用户代理UA ( User Agent) 是一个终端实体,该终端通过发送请求和响应请求来发起和中止一个会话, 或更改会话参数。RFC2543将用户代理定义为一图1 代理呼叫的SIP信令流程图2 重定向呼叫的SIP信令流程Agent Client)和用户代理服务器端UAS ( User AgentServer) , 前者用来发起SIP请求,根据用户的行为做出响应。代理服务器 ( Proxy Server)是 一 个 中 间 实 体 ,它同时充当服务器端和客户端, 负责接收UA发来 的 请 求 , 并 根 据 网 络 策 略 将 请 求 发 给 相 应 的 服 务后者在收到请求后器, 对收到的应答做出响应。如果需要的话,可用收到的消息改写后再发出去。它也重 定 向 服 务 器 ( Redirect Server)是 用 于 接 受SIP请求, 把目的地址映射到零个或多个新的地址,再江这些新地址返回给请求的发起者, 该请求的发 起 者 可 用 按 照 重 定 向 服 务 器 所 返 回 的 地 址 发 出 请求, 而重定向服务器本身并不发起任何SIP请求。注册服务器 ( Register)用于接受和处理用户端的注册请求, 完成用户地址信息的注册,并根据用户在请求消息中携带的信息更新本地数据库。2.2 S IP 协议的消息机制SIP消息分为两大类: 从客户端到服务器的请求( Request) 和从服务器到客户端的响应 ( Response) 。3 客户端的设计与实现系统按功能划分为核心控制模块、SIP模块、好 友管理模块、参数设置模块。无 论 是 请 求 消 息 还 是 响 应 消 息 ,都 是 由 起 始 行( Start- Line) 、消息头部 ( Message- Header)消息体 ( Message- Body) 构成。和可选的3.1核心控制模块控制模块是整个VoIP终端核心部分。主要功能包请求消息按请求行 ( 起始行) 分为Register登记联系信息; Invite邀请用户加入会话; ACK对请求成括对客户端状态进行控制、根据目前所处状态和收到的SIP 消息或用户的动作来决定下一步的状态选择、功后做出的确认; Cancel取消未完成的请求;话结束; Options询问服务器的性能。Bye会协调其他各模块之间的数据通信。客户端的用户代理 ( UAC)的状态机主要有初始响应消息按状态行 ( 起始行) 中的状态码 ( 3位) 分为1XX暂时响应; 2XX成功响应; 3XX重定状 态 ( IDLE) 、 对 方 正 在 处 理 ( CALL_PROCEED-ING) , 对方 正 在 响 铃 ( CALL_RINING) 、 呼 叫 失 败( CALL_FAILURE) 、呼叫已被应答 ( CALL_ ANSWE- RD) 、呼叫已建立 ( CALL_ESTABLISHED) ,会话已向响应; 4XX客户端出错;全局故障。2.3 S IP 协议呼叫方式5XX服务器出错;6XX( CALL_CLOSED)CALL_的状态经 结 束会 话 已 释(SIP 协 议 的 3 种 呼 叫 方 式 :用 户 代 理 客 户 机RELEASED) 。服务器端的用户代理 ( UAS)( UAC)向对方用户代理服务器 ( UAS)直接呼叫;由代理服务器代表用户代理向客户服务器发起代理 呼叫, 见图1 所示; 由用户代理客户机在重定向服务器的辅助下进行重定向呼叫, 见图2所示。有 : 初 始 状 态 ( IDLE) 、 收 到 新 的 呼 叫 ( CALL_NEW) 、 呼 叫 确 认 ( CALL_ACK) 、 呼 叫 已 建 立( CALL_ESTABL ISHED), 会 话 已 经 结 束 ( CALL_ CLOSED) 、会话已释 ( CALL_RELEASED) 。图3为用友发送即时消息、向在线好友发送会话请求。添加好友时用户所需要提供的信息包括: 用户标 识 ( ID) 、 通 用 资 源 标 识 符 URI ( Uniform ResourceIdentifier) 、电子邮件 ( Email)和联系方式 ( QQ) 。ID和URI两项信息是用户必须提交的信息,不允许为空, 其中URI是一种类似Email的地址, 由SIP服务器统一分配, 可以唯一标识某个UAC。用户在提交完整 的好友信息时, 系统首先会检查新加入的ID是否已经 被使用, 如果此ID已经存在, 则用户必须重新输入好友的ID。对于用户提交的URI系统会对其进行检查,图3 用户代理 ( UA)的状态转移示意图各个模块相对独立, 协调工作由核心控制模块来控 制 。 如 SIP 模 块 在 初 始 化 SIP 消 息 、 填 充 SDP ( Session Description Protocol会话描述协议) 内容时, 一些参数必须由参数设置模块得到, 控制模块则将这 些参数传递给SIP模块。隐藏模块只有在会话成功建判断该URI是否合法, 若系统判断为不合法,用户必须重新输入URI。好友信息提交成功后,好友的资料会被保存到相应的文件中。同时, 系统还会记录好友的个数, 以便进行好友信息显示、信息修改和删除的 操作。图4为好友管理的主界面。立之后才会被启动, 并在会话结束之前,须被停止。3.2 S IP 模块隐藏模块必该系统与SIP协议相关的内容有会话初始化、会话建立、会话参数修改、结束会话、登陆服务器、服 务器注销、发送即时消息、用户状态呈现。这些功能 是通过用户代理 ( UAC) 与SIP服务器之间, 或是用户 代理 ( UA) 与用户代理 ( UA) 之间的SIP消息传递来 实现的。上述内容中会话初始化是SIP的最基本应用。 会话初始化的过程是通过INVITE请求、200 OK 成功响应和ACK确认的3次握手来实现的。当主叫用 户 ( UAC) 发起呼叫时, 系统会构造一个SIP消息类型 ( EVENT- TYPE) 为INVITE的消息, 并发送给被图4 好友管理界面该客户端的好友状态为“On Line”和“Off Line”两种, 分别标识用户“在线”和“不在线”状态。好友状态呈现的功能是运用SIP的扩展协议实现的。在 路由直接转发SIP消息的情况下, 用户要知道好友的 状态, 则向好友发送SUBSCRIBE消息, 好友在收到SUBSCRIBE 消 息 后 首 先 应 答 200 OK,然 后 发 送叫 ( UAS) 。UAS收到请求后决定接收该呼叫,则发NOTIFY回应用户请求的状态信息。在通过SIP服务器来 转 发SIP 消 息 的 情 况 下 , 用 户 向SIP 服 务 器 发 送PUBLISH消息, 服务器收到PUBLISH消息后, 从本数 据 库 中 搜 索 用 户 请 求 的 好 友 的 状 态 , 然 后 通 过送一个成功响应 ( 200 OK) 的消息给UAC, UAC收到200OK后发送ACK确认, 会话成功建立。UAS发送BYE消息终止会话,UAC收到BYE回应200 OK终止图5 SUBSCR IBE 消息流 图6 PUBLISH消息流分功能的设计与实现。在客户端的设计与实现过程中充分体现了SIP协议便于实现、易于扩展的特性,与信息隐藏相结合, 使该客户端不仅具有一定的商业使用价值, 同时也具有相当大的科学研究价值。SIP的扩展空间庞大,这也使得该客户端有很大的改进的空间, 诸如多方通话、视频会议等功能方面还有待进一步的研究与实现。3.4 参数设置模块参数设置模块的作用是用户能根据自己的需要实 时的更改一些会话和隐秘通信的相关参数。该模块通 过属性页的方式来实现对参数的修改。这些参数包括: Log in页中的登陆SIP服务器的相关设置; Payload参考文献 1 M Handley, H Schulzrinne, E Schooler, et al.SIP: SessionIH页中隐秘通信的级别页中的语音编码方式的选择;Initiation Protocol. RFC3261, IETF,June 2002设置; Stun页中NAT穿透的相关设置;带内带外的选项。DTMF页中的2 MDay, J Rosenberg, H Sugano. A Model for Presence and InstantMessaging, RFC2778, 20003 45糜正琨.IP网络电话技术.北京: 人民优点出版社, 2000Daniel Collins.VoIP技术应用.人民邮电出版社, 2003秦臻立.基于软交换的SIP软终端的呀就和实现.光通讯研究,2005 ( 3) : 41- 436 高丽平, 邱志亮.Linux上基于SIP的软电话的设计与实现.北京电子科技学院学报, 2005 ( 13) 71- 74图7 参数设置界面4 结论本文介绍了SIP协议的系统结构和基本的SIP信令 流程, 详细介绍了一种基于SIP协议, 并且具有隐秘 通信功能的VoIP客户端的系统结构、模块划分以及部作者简介: 熊磊, 硕士研究生, 主要研究方向: 计算机网络与多媒体通信, 计算机网络安全, 信息隐藏及检测; 张思发, 教 授,主要研究方向: 网络通信与安全, 多媒体网络; 黄永峰,副教授, 博士, 主要研究方向: 互连网与多媒体通信。简讯TD 网络即将测试中国移动通信集团公司总裁王建宙表示, 中国移动目前已基本完成北京、上海、天津、沈阳、秦皇岛、广州、深圳、厦门8个城市扩大的T D- SCDMA规模网络技术应用试验网建设任务, 即将开始网络应 用的测试。王建宙是在召开的中国移动工作会议上作出上述表示的。他透露说, 2008年, 中国移动将继续 推动T D- SCDMA产业的发展, 进一下推进终端产品走向成熟, 加强重点业务的研发,

温馨提示

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

评论

0/150

提交评论