学位论文 > 优秀研究生学位论文题录展示

基于Android终端的小型VoIP系统设计与实现

作 者: 徐韬
导 师: 孙怡
学 校: 大连理工大学
专 业: 通信与信息系统
关键词: Android 会话初始协议(SIP) 网络地址转换(NAT) H.264 即时消息(IM)
分类号: TN916.2
类 型: 硕士论文
年 份: 2011年
下 载: 279次
引 用: 4次
阅 读: 论文下载
 

内容摘要


VoIP是一种利用IP网络来传输话音的业务,它在为用户提供高质量通话服务的同时还能大大降低用户的通话成本。随着2010年初我国工信部宣布解除对手机Wi-Fi入网的限制,带宽将不再是阻碍移动终端发展的问题,VoIP也以其低廉的价格越来越多的受到用户的青睐。然而近两年来,智能手机平台发展的势头迅猛,由于其性能强劲,可以支持更多更复杂的多媒体业务,这就导致传统的,以单一话音业务为主的VoIP业务已经不再能满足用户的需求,用户更希望能享受到一些高级的业务如视频通话,视频短信所带来的乐趣。因此,基于多领域业务的融合已成为目前VoIP发展的一个重要趋势。出于上述考虑,本文设计并实现了一个小型的VoIP系统。该系统支持位于不同内网用户的P2P语音通话、视频通话及收发视频短信的功能。系统实现主要分为三大部分,即协议的制定,服务器的设计和移动终端功能模块的开发。本文选用Android作为移动终端的操作系统,原因是Android是目前智能手机操作系统中功能最强大,开放性最好的系统,使开发人员可以灵活的根据自己的需求而开发特定的功能。在协议方面,本文采用会话初始协议(SIP)作为呼叫信令,负责建立端到端的通话。在媒体流的传输方面,本文选用H.264作为视频编解码标准,并选用实时传输协议(RTP)负责媒体数据的传输。在防火墙的穿透问题上,本文采用STUN协议(RFC 5389)配合UDP打洞的方法完成NAT的穿透。在服务器的设计方面,本文充分考虑到实际应用中的情况,采用Windows下效率最高的完成端口(ICOP)作为服务器内核来处理大量的并发请求,同时综合使用了BOOST库,设计模式等技术来优化服务器的设计。本文首先对系统结构、用到的工具以及系统设涉及的基本知识做了简单的介绍。然后针对系统中重要环节的实现做了深入的分析并给出了实现方法,这些环节包括,高效的UDP服务器设计方法,NAT的穿透方法以及Android下H.264视频传输的方法。最后本文给出了各个功能模块的实现过程,并展示了实验结果。本文对于在Android系统上开发VoIP业务有一定的借鉴作用。

全文目录


摘要  4-5
Abstract  5-9
1 绪论  9-12
  1.1 研究问题的背景及意义  9-10
  1.2 移动VoIP业务发展现状  10
  1.3 本文的主要工作  10-11
  1.4 本文的组织结构  11-12
2 系统设计概述  12-29
  2.1 系统结构及模块功能简介  12-15
    2.1.1 VoIP的基本概念  12-13
    2.1.2 本文系统结构介绍  13-14
    2.1.3 系统功能实现概述  14-15
  2.2 Android开发环境配置  15-19
    2.2.1 Android系统框架概述  15-16
    2.2.2 Windows下部署Android开发环境  16-17
    2.2.3 Windows下配置Android网络开发环境  17-18
    2.2.4 Windows下部署Android NDK开发环境  18-19
  2.3 系统采用的网络通信协议简介  19-25
    2.3.1 会话初始协议SIP  19-21
    2.3.2 多媒体会话描述协议SDP  21-22
    2.3.3 实时流媒体协议RTSP  22-23
    2.3.4 实时传输协议RTP  23-24
    2.3.5 系统内部协议HELSON  24-25
  2.4 系统采用的视频编解码协议简介  25-29
    2.4.1 H.264视频编解码技术简介  25-26
    2.4.2 H.264的网络传输简介  26-27
    2.4.3 H.264的RTP封装格式简介  27-29
3 基于UDP的并发登录服务器设计  29-39
  3.1 本文服务器设计方法概述  29-34
    3.1.1 Windows完成端口简介  30-31
    3.1.2 基于IOCP的服务器内核设计  31-33
    3.1.3 基于BOOST库的内存管理设计  33-34
  3.3 本文的服务器业务层设计  34-39
4 NAT穿透方案的设计  39-48
  4.1 网络地址转换NAT概述  39-41
    4.1.1 NAT映射行为分析  39-40
    4.1.2 NAT过滤行为分析  40-41
  4.2 NAT穿透算法简介  41-44
    4.2.1 常用的NAT穿透协议  42-44
    4.2.2 三种穿透方式的总结与比较  44
  4.3 本文的NAT穿透方案设计  44-48
    4.3.1 UDP打洞技术  44-45
    4.3.2 本文的NAT行为探测方法  45-48
5 Android终端关键问题研究  48-60
  5.1 Android终端程序架构设计  48-52
    5.1.1 Android系统Binder架构简介  48-50
    5.1.2 本文软件的架构设计  50-52
  5.2 Android使用MediaRecorder获取H.264编码数据的方法  52-56
    5.2.1 MP4文件的H.264数据封装格式简介  53-54
    5.2.2 本文实时获取H.264编码数据的方法  54-56
  5.3 Android 2.3 SIP框架穿透NAT的方法  56-60
    5.3.1 Android 2.3 SIP框架简介  57
    5.3.2 本文解决Android 2.3 SIP框架无法穿透NAT的方法  57-60
6 系统功能的设计与实现  60-71
  6.1 登录模块  60-62
    6.1.1 登录过程的时序设计  60
    6.1.2 登录模块的实现  60-62
  6.2 语音电话模块  62-63
    6.2.1 呼叫模块与应答模块的实现  62-63
    6.2.2 SIP信令的时序图  63
  6.3 视频电话模块  63-66
    6.3.1 RTP封包拆包模块  63-65
    6.3.2 FFmpeg解码器的移植  65-66
    6.3.3 解码显示模块  66
  6.4 视频短信模块  66-71
    6.4.1 视频短信的发送模块  66-68
    6.4.2 视频短信的接收模块  68-71
7 系统测试  71-77
  7.1 系统测试环境  71-72
  7.2 系统功能测试  72-77
    7.2.1 系统综合测试  72-73
    7.2.2 注册登录模块测试  73-74
    7.2.3 语音呼叫模块测试  74-75
    7.2.4 视频传输模块测试  75-76
    7.2.5 视频短信模块测试  76-77
结论  77-78
参考文献  78-80
攻读硕士学位期间发表学术论文情况  80-81
致谢  81-82

相似论文

  1. 基于率失真优化的码率控制算法研究,TN919.81
  2. 电视制导系统中视频图像压缩优化设计及实现研究,TN919.81
  3. 在智能手机环境下健康管理功能设计与研究,TN929.53
  4. 远程医疗系统图像压缩及传输关键技术研究,R318.0
  5. 基于ANDROID的H.264视频编解码技术的研究与实现,TN919.81
  6. 基于Android终端的视频通话系统设计与实现,TN929.53
  7. 基于Android智能手机平台的GPS开发,TP311.52
  8. 基于Android的图像特效的设计与实现,TP391.41
  9. SaaS在手机上的应用研究,TN929.53
  10. 基于Google云计算平台的Web应用系统设计及实现,TP393.09
  11. 基于Android平台的个人移动地图应用,TP393.09
  12. 基于TMS320DM365的音视频传输及智能视频分析系统的设计与实现,TN919.8
  13. 停车诱导在智能移动终端上的设计与实现,TN929.53
  14. 基于Android平台的无线控制系统设计与实现,TP273
  15. 北斗/GPS双模导航终端关键模块的设计与实现,TN967.1
  16. 基于Android的多跳无线网络通信软件的设计与实现,TN929.5
  17. 基于Android的工程导航系统设计,TN929.5
  18. 基于Android平台的无线点菜系统的设计与实现,TP311.52
  19. 远程实时心电监护系统的设计与实现,TP277
  20. 基于Android的车载娱乐信息系统,TP311.52

中图分类: > 工业技术 > 无线电电子学、电信技术 > 通信 > 电话 > 电话线路、电话网
© 2012 www.xueweilunwen.com