论文部分内容阅读
本文主要介绍了在Linux平台下,应用于VoIP终端中的RTP/RTCP协议栈。VoIP(Voice over Internet Protocol),也可以叫做IP电话,就是应用IP进行语音业务的传输。RTP(Real-time Transport Protocol)是由IETF(Internet Engineering TaskForce, Internet工程任务组)制定的用于传输实时多媒体数据的协议,它在UDP协议的基础上增加时间戳、序列号等,实现了音频数据的实时传输和同步。
本文研究的协议所使用的硬件平台以Altera公司Cyclone II系列FPGAEP2C35F672为核心,使用OpengISC1200的CPU软核,运行Linux操作系统,以开源代码oRTP-0.7.0为基础进行修改,实现了多进程的RTP/RTCP协议栈,多个进程间采用共享内存的方式共享数据,使用信号量进行同步和互斥,保证进程间的通信和同步。从实际应用考虑,针对如何提高语音质量,提出了相应的解决措施与算法,成功地解决了延时、抖动、丢包等一系列问题。并通过进-步对RTP和RTCP的扩展协议探索研究,如头部压缩、RTP加密和前向纠错等,顺利的实现了RTP协议的前向纠错功能,改善了在恶劣网络状况下的通话效果,丰富了RTP/RCTP协议栈的功能。最后,实现了对SIP和RTP协议栈的整合,并设计了VoIP终端界面,完成了VoIP终端软件方面的设计和测试工作。