用户名: 密码: 验证码:
基于开源SIP协议栈的IP软电话的研究与实现
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
自1995年2月第一款可以通过Internet打长途电话的软件产品“Internet Phone”问世以来,VoIP技术就以极快的速度发展,从单一的语音传输向多媒体通信发展,逐渐融合固定通信业务、移动通信业务和互联网业务,向着一个确定的目标前进——下一代网络。在向下一代网络演进的过程中,VoIP的核心协议——信令协议的选择成为争论的焦点。其中SIP协议以其更加简单灵活方便的特点逐渐被人们所接受,成为了下一代网络的核心协议之一。因此,SIP协议以及相关技术的研究不但在目前具有极高的应用价值,也将是未来下一代网络的核心技术。
     论文选择SIP协议及其开源实现项目ReSIProcate作为科研目标进行了较深入的研究和探讨,设计开发了一个IP电话终端软件,并围绕该软件的实现过程对ReSIProcate协议栈进行了应用和测试,对相关技术进行了讨论和实现。
     首先,本文简要地介绍了VoIP技术及SIP协议,并对现有SIP开源协议栈做了比较,选择了其中较稳定且兼容多操作系统的ReSIProcate协议栈。论文对该开源协议栈的组成架构和系统设计思想进行了深入剖析,分析了ReSIProcate对SIP元素的封装与实现。一方面为课题的研究打下坚实的基础,另一方面也为成熟稳定但文档缺乏的开源项目ReSIProcate留下参考和记录。
     接着,本文对IP电话终端软件进行了系统分析和设计,并给出了详细的开发过程。软件以Windows XP为操作系统平台,使用Visualstudio 2005作为开发工具。在软件的设计过程中,使用ReSIProcate开源协议栈的stack项目作为SIP协议核心模块;使用开源协议栈的DUM项目作为呼叫控制核心模块。采用多线程机制保证各功能模块的并行;使用MFC类库设计了友好的用户界面;语音处理部分采用WindowsMultimedia API函数,并采用多缓冲技术保证语音采集和回放的连续性,传输部分使用UDP协议实现语音数据的传输,保证了较小的网络延迟。其中呼叫控制核心模块为软件的核心模块,它通过用户界面线程的消息机制来协调和控制各个模块线程。
     该软件主要实现了以下功能:(1)电话呼叫的连接与控制,包括IP电话的注册、呼叫建立、呼叫终止和呼叫处理;(2)语音数据的处理,包括语音信号的采集、压缩、解压和播放;(3)语音数据的传输;(4)友好的图形用户界面。通过对该软件的测试和分析表明,IP电话终端软件成功地试用了开源协议栈ReSIProcate并达到了预期的功能需求。
     最后,论文对所做工作进行了总结,并对开源协议栈ReSIProcate的深层次开发和应用及软件的完善提出了进一步设想。
Early at February of 1995,the Internet Phone,the first long-distance telephone software,appeared in the world.From then on,VoIP is developed most rapidly in the field.It is improved from voice communication to multimedia communication,which is gradually combined with the fixed communication,the mobile communication and the Internet business.The definite aim of VoIP heads to Next Generation Network During the development process to Next Generation Network,how to choose the signaling protocol is the focus of contention,which is the key protocol of VoIP.The SIP is accepted gradually by people due to its more simplicity,flexibility and convenience among the protocols.Therefore,it becomes one of the key protocols of Next Generation Network.Thus,the SIP and its related technology are worth researching in application at present, and will be the key technology of Next Generation Network system in the future.
     Consequently the SIP and its open source project "ReSIProcate" are choosen to be the research subject,as well as further researched and discussed.A SIP telephone terminal software is realized to test the project, and related techniques are discussed and realized in the paper.
     Firstly,The VoIP technology and the SIP are briefly introduced in this article,and compared with existing open source SIP protocol stacks.Then, the stable and compatible multi-operating system's ReSIProcate project is chosen.The analysis of ReSIProcate's structure and design framework, along with the stack's concept packaging and implementation about elements of SIP,are deeply discussed in this paper.On the one hand,it lays the foundation for the research,on the other hand,it can be used in reference and records for open source project ReSIProcate,which is mature,stable but with limited documents.
     Then,the terminal software of SIP phone is systematically analyzed and designed in this paper,and the development process is fully brought up.The software is based on Visual Studio 2005 development tool and running on the Windows XP operating system.In the design of software,multithread mechanism can guarantee the modules parallelly running,the user-friendly interface is designed by MFC class library,the stack project,which belongs to the ReSIProcate open source stack,is used as the SIP core module.The DUM project of ReSIProcate is also used as the call controlling core module.
引文
[01]张智江,张云勇,刘韵洁.SIP协议及其应用.北京.电子工业出版社.2005
    [02]李晓明.关于NGN若干问题的思考—从VolP到NGN.电信科学.2005.(4):30-33
    [03]刘韵洁,张智江.下一代网络.北京.人民邮电出版社.2005
    [04]魏航.下一代网络的体系结构与软交换协议.计算机应用.2003
    [05]赵慧玲,叶华.以软交换为核心的下一代网络技术.北京.人民邮电出版社.2002:1-264
    [06]BICC VS SIP--NGN协议的较量.http://cisco.ccxx.net/cisco/4207.html
    [07]糜正琨.IP网络电话技术.北京.人民邮电出版社.2000.(6)
    [08]Gonzalo Camarillo.SIP揭密.北京.人民邮电出版社.2003.
    [09]司端锋,韩心慧,龙勤等SIP标准中的核心技术与研究进展.软件学报.2005 16(2):239-250
    [10]H.323 Protocols Suite.Http://www.protocols.com/pbook/h323.htm
    [11]J.Rosenberg,M.Handley,H.Schularinne etc.SIP:Session Initiation Protocol.RFC3261.2002.6
    [12]P.Resnick.Internet Message Format.RFC2822.2001.4
    [13]T.Bemers-Lee,R.Fielding,L.Masinter.Uniform Resource Identifiers(URI):Generic Syntax.RFC2396.1998.8
    [14]A.H.Schulzrinne.The tel URI for Telephone Numbers.RFC3966.2004.12
    [15]J.Rosenberg,H.Schulzrinne.Session Initiation Protocol(SIP):Locating SIP Servers.RFC 3263.2002.6
    [16]AlanB.Johnston.Understanding the Session Initiation Protocol Artech House.2004
    [17]胡颖.基于SIP协议多媒体软电话的研究与实现.[学位论文].西安电子科技大学2007.01
    [18]宋婧,龚青生.基于SIP和Windows的软电话设计与实现.电讯技术.2006.6:191-193
    [19]黄永峰.IP网络多媒体通信技术.北京.人民邮电出版社.2003:210-212
    [20]涂继辉,钟宝荣.基于SIP协议点到点软电话的设计与实现.长江大学学报(自科版). 2005.2(4):161-164
    [21]A.Johnston,S.Donovan,R.Sparks.Session Initiation Protocol(SIP)Basic Call Flow Examples.US:IETF RFC3665 2003
    [22]赵建涛,吴开炎.基于SIP协议的软电话的设计与实现.华北电力大学学报.2007.34(1):120-122
    [23]ReSIProcate.org/main page.http://www.resiprocate.org/
    [24]李冬芬.漫谈VoIP技术及应用.中国科技信息.2005.19(21)
    [25]钟刚.一个基于SIP协议的IP电话系统终端的研究.[学位论文].华中科技大学.2005.10
    [26]冯刚,李英壮,房俊梅.基于SIP的VoIP语音通信系统.计算机应用研究.2006.(4)
    [27]几种开源SIP 协议栈对比.http://www.chinavideo.org/index.php?option=com_content&task=view &id=206 &Itemid=5
    [28]杨秀平,汤海冰,耿浩.Vocal系统中SIP协议栈实现分析及应用.科学技术与工程.2006.6(6)
    [29]M.Handley,V.Jacobson,C.Perkins.SDP:Session Description Protocol RFC4566.2006.07
    [30]徐洪波,李玲远.SDP协议的应用分析.华中师范人学学报(自然科学版).2002.36(6):151-154
    [31]王荣生.SDP协议在视频点播系统中的应用.计算机应用与软件.2005.22(1):74-76
    [32]蒋国权,赵志峰,郑少仁.多媒体应用中的会话描述协议.新技术与新业务.2004.(2)
    [33]H.Schulzrinne,S.Casner,R.Frederick,etc.RTP:A Transport Protocol for Real-Time Applications.RFC 3550.2003.07
    [34]Resiprocate SIP Stack管窥.http://www.netyi.net/training/f4c3c04b-db5c-4137-a40c-98e 31eebc9df
    [35]Colin Perkins Addison.RTP:Audio and Video for the Internet.Wesley.2003
    [36]聂黎生,刘东良.从视觉文化的角度分析软件界面设计.中国教育信息.化.2007.(07):41-42
    [37]孙鑫,余安萍.vc++深入详解.北京.电子工业出版社.2006(6):219-621
    [38]马云升,姚晓,夏志忠.VC++下声卡低层音频服务的编程技术.计算机应用.2002.22(2)
    [39]李建军,陈爱民.基于Windows的音频信号处理方法.2006.27(13)
    [40]王晓军,王生保.用VC++实现语音全双工实时通信.机床与液压2003.(5)
    [41]黄友生.编程实现对音频压缩管理器(ACM)的调用.电脑编程技巧与维护.2002.(3):30-39
    [42]王仁明,李夕海,刘代志.并行线程技术在IP网络语音通话中的应用.计算机应用与软件.2003.(02):1-2
    [43]叶晓彤.利用WINSOCK实现网络编程的几个关健技术.自贡师范高等专科学校学报2002.17(4)
    [44]陆其明.Windows Media编程导向.北京.清华大学出版社.2003
    [45]W.Richard Stevens.UNIX网络编程.第2版.北京.清华大学出版社.1999:180-202

© 2004-2018 中国地质图书馆版权所有 京ICP备05064691号 京公网安备11010802017129号

地址:北京市海淀区学院路29号 邮编:100083

电话:办公室:(+86 10)66554848;文献借阅、咨询服务、科技查新:66554700