支持移动终端的SIP客户端设计与实现

来源 :中国科学院沈阳计算技术研究所 | 被引量 : 7次 | 上传用户:jxzsy
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
近年来,随着移动网络技术的迅猛发展,移动VoIP开始显露出强大的增长潜力。市场调研机构ON World公司预计到2011年全球移动VoIP用户将达到1亿人。通过移动VoIP,用户不仅能享受移动通讯带来的快乐,同时还能享受VoIP带来的低廉的通话成本。移动VoIP的功能主要是通过运行在移动终端上的SIP客户端来体现的,然而实现支持移动终端的SIP客户端会有许多困难,移动终端的硬件资源十分有限,CPU运算能力低,内存小,移动终端上运行的操作系统多达数十种,而且相互之间差别较大。此外,移动终端体积较小,屏幕分辨率较低,操作方式受到许多限制,多以触摸屏和按键为主。针对移动终端的这些特点,本文结合开源项目PJSIP,将SIP客户端设计为五大模块:平台抽象层、SIP栈、媒体栈、功能封装层和用户界面。平台抽象层是跨平台性的基础,实现对操作系统各种接口和数据类型的抽象,此外还提供了独立的内存管理机制,进程从内存池中而不是堆中申请内存,保证了内存资源的有效利用且不会造成内存泄漏。SIP栈在PJSIP基础上改进了注册认证过程,使得用户不用手动输入realm认证参数就能实现注册。在媒体栈中添加了对G.729A音频codec的支持,G.729A是G.729的定点运算实现,对系统的要求大大降低,并且还针对移动终端平台进行了优化,以满足实时语音通话的要求,此外还调整了媒体栈的一些参数以改善语音质量。功能封装层对SIP栈和媒体栈进行了封装,降低了用户界面与协议栈的耦合度,此外还实现了其它的功能,包括文件播放、按键音、回铃音、配置文件读写、发送保活信息等功能。用户界面与操作系统紧密相关,采用C++语言开发,充分利用现在图形开发资源,界面设计在遵循操作系统原有风格的基础上尽量考虑界面友好性。结构上采用MVC模式,使界面与底层逻辑分离,在最大限度上实现跨平台性的同时保留操作系统的操作特性。在这些设计的基础上,本文实现了一款能运行在Windows Mobile操作系统上的SIP客户端程序,该程序具有极好的可移植性,当移植到Symbian、Linux等其它平台时只有界面部分需要重新开发。此外该程序还具有良好的可扩展性,可以很方便地添加即时消息等其它功能。
其他文献
随着人们对客观世界认识的不断深入,计算机应用中普遍存在的数据不确定性逐渐得到业界的关注。尽管在传统数据库领域中作为多目标决策重要手段的轮廓查询得到了广泛深入的研究
事件流作为数据库领域的新兴热点问题,近年来获得了日益广泛的关注。很多应用在本质上都是事件驱动的,例如,RFID采集到的元数据可以看做是一种简单事件,商业事务处理中每次交
随着信息技术的发展以及应用领域的不断扩大,地理信息系统(GIS)技术得到了飞速的发展。由于其应用越来越广泛,包含海量复杂的数据,对查询效率的要求也越来越高。因此在庞大的
从挖掘单一关系到挖掘多关系,数据挖掘技术实现了研究方法的巨大飞跃。同样,对于数据集合来说,数据容量更加庞大,存储结构更加复杂,数据种类也不再单一。如何挖掘结构复杂的
现今的图形学能够达到高质量的树木模拟,但是在树皮纹理的模拟方面还缺乏细致的研究。树皮表面纹理具有丰富的细节,并且树干不同部位的纹理质地可能会发生自然渐变,要真实模
Internet正从一个主要用于交换和共享信息的网络演变成为一个开放的软件协同环境。在这个环境下汇集了大量的高度自治的软件实体,蕴涵了极大的计算潜力。在这种情况下,出现了一
随着Web服务技术的发展,越来越多的Web服务提供相同的服务功能,如何从众多相同功能的Web服务中查找出满足需求的服务已成为研究的热点。然而,已有的基于关键字的Web服务发现
近年来,随着计算机和网络在生活以及工作中的广泛应用,高科技犯罪日益猖獗,不法分子会想方设法的掩盖其犯罪证据,如何通过计算机取证找到充分、可靠、具有法律效力的电子证据
连续反最近邻查询技术是空间数据库领域中的一个重要研究课题。连续反最近邻查询是指连续检索将查询点作为最近邻的所有对象。随着定位装置的广泛应用和定位服务的发展,道路
本文通过对组建集团医院的需求进行调研与分析,结合当今医院发展趋势及医疗行业信息化现状等相关背景,设计并实现了基于微软消息队列MSMQ (Microsoft Message Queue)的集团医