论文部分内容阅读
随着互联网的快速发展和迅速普及,用户对网络通信服务的需求也日益提高。在这些网络通信服务中多媒体应用逐渐占据着主导作用,其中以VoIP (Voice over IP)技术尤为突出,而信令又是VoIP的关键技术之一。目前最流行的VoIP信令协议是SIP(Session Initialization Protocol)信令协议和H.323信令协议。SIP由Internet Engineering Task Force (IETF)的Multiparty Multimedia Session Control (MMUSIC)工作组于1999年提出,用来建立、修改、和终止多媒体会话。近年来,SIP凭借其简单、开放、灵活、可扩展等优势[2]在VoIP中得到越来越广泛的应用。本文根据RFC3261对SIP协议及相关扩展协议进行深入的研究与分析,同时对PJSIP开源SIP协议栈的SIP事务、消息解析等模块进行了研究,结合跨平台软件设计的准则,基于PJSIP实现了跨平台的SIP协议栈。该协议栈针对不同的操作系统编译成相应的Python模块,负责底层的SIP协议解析和SIP事务处理等,结合Python虚拟机和PyQt4用户界面框架设计并实现了跨平台的SIP语音通信系统。SIP语音通信系统软终端的设计采用了经典的MVC (Model-View-Controller)设计模式,使得系统各个模块层次清晰,便于扩展。SIP语音通信系统的功能包括SIP账号注册、语音通信、即时消息通信、状态呈现、账户和好友管理等。系统界面实现了添加账号和添加好友的功能,可以在不同的账号之间进行切换;软终端可以从五种状态中选择自己的在线状态;软终端主界面显示好友列表,通过选择列表中的好友进行呼叫通话、发送即时消息等操作;主界面下方的状态栏可以显示当前用户的状态,如注册成功、注册失败、是否处于通话状态。结合互联网电子邮件的广泛应用,SIP语音通信系统在提供语音通信和即时消息通信的功能之外集成了通过Email发送消息和添加附件进行发送的功能,形成了SIP+Email的一种新的通信模式。通过在Ubuntu Linux、Windows XP以及Windows 7等操作系统下的测试表明,SIP语音通信系统的各项功能运行稳定,并且支持多个系统平台的运行。系统还具有良好的可扩展性,后期可以在此基础上进行更多的功能实现。通过与Yate Client等其他SIP终端语音通信等测试表明该SIP语音通信系统也具有兼容性强的特点。