论文部分内容阅读
自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的深层次开发和应用及软件的完善提出了进一步设想。