论文部分内容阅读
随着互联网技术的高速发展,传统的VoIP应用在信令面和媒体面均有较为成熟的解决方案,但依然无法摆脱集中式部署造成的性能瓶颈等问题。P2P技术具备较强的自组织、自容灾和动态负载均衡能力,在一定程度上可以解决由于服务器集中式部署造成的问题。为了将以SIP协议为代表的VoIP技术与P2P技术更好的结合,IETF P2P-SIP工作组提出了用于在P2P网络环境下查找和定位资源信息的RELOAD协议。与传统的电信网VoIP系统相比,基于RELOAD协议的轻量级VoIP系统具备更强的自组织性和局部动态负载均衡能力,并对用户终端有着更高的要求。针对这种需求,本文研究并实现了一款基于RELOAD协议的轻量级VoIP系统终端,与传统的VoIP终端相比,轻量级VoIP系统终端在实现用户管理、即时消息、好友管理和音视频会话等基本功能的同时,还需要支持RELOAD协议栈,并具备NAT穿越、核心网动态感知和升级成为核心网节点分担负载的功能。为了使用户终端能够正常接入轻量级VoIP系统,本文研究了IETF的RELOAD协议,保证用户终端具备资源定位和查找的基本功能,并利用ICE机制实现用户终端的NAT穿越。由于轻量级VoIP系统用户终端需要具备核心网动态感知和升级成为核心网节点的功能,本文重点设计并实现了用户终端升级成为P2P核心网节点的升级策略和基本流程,归纳出轻量级VoIP系统用户终端的基本功能需求和业务流程,完整实现了具备NAT穿越和升级功能的轻量级VoIP系统用户终端,并在实验室环境下完成了用户终端的功能测试。轻量级VoIP系统用户终端以开源SIP终端Jitsi为基础,以Java OGSi为框架,同时使用JNI技术完成RELOAD协议栈的接入,将服务与实现完全分离,降低了系统各模块之间的耦合性,保证了用户终端和轻量级VoIP系统的稳定性和可扩展性,代表了未来以P2P技术为基础的VoIP应用终端的发展方向。