欢迎来到天天文库
浏览记录
ID:5605599
大小:33.00 KB
页数:10页
时间:2017-12-19
《基于androidsip软交换系统》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、基于AndroidSIP软交换系统 摘要:本文结合SIP软交换系统的结构,针对SIP软交换系统的功能及相关问题,对系统做出扩展,确保系统在响应正常业务的同时,增加了对Android系统的支持,结合NDK开发框架,设计了一套基于SIP协议的安卓客户端。关键词:SIP;软交换;DNK开发框架;安卓客户端中图分类号:TN915文献标识码:A文章编号:2095-1302(2014)03-0039-040引言掌上通信软件作为手机应用的一部分,正发挥着巨大的作用。随着互联网的不断改善,在互联网上利用网络进行语音通话已成为现实,网络电话应运而生。网络电话的原理正是采用了VoIP(VoiceoverIn
2、ternetProtocol)技术实现的,VoIP是一种建立在互联网上的数字化或分组化的语音传输技术。在VoIP中常用的控制协议(ControlProtocol)有H.323、SIP、MEGACO和MGCP。其中SIP(会话发起协议)是建立VOIP连接的IETF标准。为了方便用户之间的通信,需要设计一款基于SIP协议的Android应用软件。SIP协议的Android平台的通信软件开发可以进一步提高人们间的通信质量,解决人与人之间由于远距离通信而产生高昂话费的问题。101需求分析SIP软交换系统是一个支持SIP协议通信的服务器,分为服务器和Android客户端两部分。服务器主要完成数据的封
3、包请求的转发,路由的寻址等,让用户从Android客户端中发出的数字信息通过服务器的处理转发给另外一个客户机,而另外一个Android客户机通过解析从服务器中收到的数据,并把信号还原为原始数据,从而达到通信的目的。主要完成以下服务:服务器启动,将服务器绑定到指定的IP地址上,客户机连接这个IP地址上服务器,客户机通话等。本系统是为了达到用户与用户间的通信,让用户能在不通过三大运营商的收费情况下,实现免费通话,从而降低了用户的经济开销,并且通话不受任何限制,使用户之间畅所欲言。SIP软交换系统由服务器和Android客户端组成:服务器功能:数据的读取与解析,SIP版权认证,创建SIP协议栈,
4、绑定地址、定位、认证、能力,会话管理,数据包的接收、解析、过滤、组装与应答,Proxy行为;Android客户端功能:连接服务器,发送语音,接收数据,解析数据。本系统的整体功能结构图如图1所示。图1SIP系统整体结构图2系统设计102.1系统主要功能设计(1)数据(*.xml)的读取与解析设计在ProxyServer启动之前,需要预先对ProxyServer进行设置,如SIP栈的名称、IP、端口、路由等参数的设置,考虑到系统移植和维护的方便性,把这些信息写在配置文件configuration.xml中,在系统启动的时候读取,以便于移植和维护。(2)SIP版权认证设计系统启动时,应对系统的版
5、权进行验证,只有合法授权的系统才能正确启动。主要认证最大用户数(Max),失效日期(Expiration),系列号(Serial),网卡物理地址(Mac),密钥(Key),同样这些信息也写在了配置文件license.xml中。(3)创建SIP协议栈设计栈是一种数据结构,只能在一端进行插入和删除的线性表,按照后进先出的存取规则。创建SIP协议栈后,在接收到一个以太网数据帧时,数据可以方便地从协议栈里面由底部向顶部上升,同时报文首部在各层协议上被去掉,方便读取报文数据。报文首部的协议标识在每层协议上都很方便检查,这样就可确定数据接收的上层协议,同时按照事先规定好的规则分析出需要的内容,例如数据
6、包的源端口号、源IP、目的IP等等。10(4)注册、定位、认证、能力设计ProxyServer启动以后,要获得代理的服务,必须先注册成为ProxyServer的用户,用户信息存放在后台数据库中,包含用户名、密码、服务器地址等。要对用户进行代理,必须能定位用户位置,对用户身份进行认证,确认后把呼叫方和被叫方的地址、媒体参数等提供给对方,以完成会话的创建。(5)会话管理设计包括发送和终止会话、修改会话参数、激活服务等。(6)数据包的接收、解析、过滤、组装与应答系统在收到以太网的数据包后,对数据包进行解析,过滤掉“非法”数据包,获取“合法”的正常业务信息,组装数据包进行交互。(7)Proxy行为
7、设计当ProxyServer收到一个请求时,在做代理之前,首先应该判断自己是否需要响应该请求,是否非法或者没有可信任证书需要认证,是应该按有状态还是无状态的方式处理。无状态,即Proxy只是简单的转发到下一个ProxyServer,之后该请求的相关资料就被丢弃。这些信息(特别是事务信息)会被有状态的Proxy保留,所有接收到的请求和所有接收请求的应答的相关信息被保留。这些被它保留的信息用于处理与这个请求相关的后续消息。1
此文档下载收益归作者所有