- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
基于SIP协议的IP电话通信系统的组成原理
在图2中,CPU内核模块是搭建一个带CPU及存储器的工作核心。其中的微处理器采用的就是三星公司的S3C2410(ARM920T),Flash采用的
是SST公司的SST39VFl60的NOR Flash,SDRAM则采用hynix公司的HY57V641620HG;以太网接口主要帮助CPU完成TCP/IP数据包的接收和发
送。本设计采用的RTL8019AS是一种全双工的即插即用型以太网控制器,它兼容RTL8019控制软件和NE2000 8bit或16bit的传输,并支持UTP、
AUI、BNC和PNP自动检测模式,同时支持外接闪烁存储器读写操作以及I/0口地址的完全解码,此外,它还具有LED指示功能,其接口符合Ethernet2和E802.3、10Base5、lOBase2、10BaseT等标准。
系统中的显示模块采用一块普通数显LCD,主要用来完成电话号码的显示及一些本机工作状态的显示;键盘模块和EEPROM主要提供网络电
话机的拨号键盘,以完成拨号和电话机的功能设置。EEPROM主要用于系统参数的设置和存储。语音模块可选用飞利浦半导体公司的UDAl341TS音频编解码器。另外,系统中的上位机接口主要完成一些参数的设定和一些已经被记录的参数的读取。
3 系统软件设计
软件方面的工作主要是驱动程序的编写、任务的划分和任务的编写等三个方面。由于μC/OS-II基本上不提供API接口库或者需要额外购买,因此,*中需要编写的主要驱动软件有包括TCP/IP、液晶驱动、EEPROM驱动、键盘驱动、IO驱动、USB驱动等程序。这些驱动程序的编写一般都有固定的模式和套路。一般情况下,IP电话软件应包括完成语音通话所需的所有功能。该软件按功能可划分为图3所示的四部分。
3.1 呼叫处理模块
呼叫处理模块主要完成呼叫的建立与拆除功能。呼叫控制可采用SIP协议建立会话。呼叫建立过程通常是先由一个SIP终端向本地的代理服务器发出呼叫请求,本地的代理服务器则通过查询本地的重定向服务器来查找下一个代理服务器的地址,并向其转发呼叫请求。当下一个代理服务器收到呼叫请求后,首先通过定向服务器查找被叫所在网络的代理服务器,然后向该代理服务器转发呼叫请求。被叫所在网络的代理服务器确定被叫终端后,再向被叫终端转发呼叫请求。最后由被叫终端应答,从而实现连接。
3.2 语音编码/解码模块
虽然语音采集所得到的PCM编码数据能够提供较好的长途通信语音质量,但其速率往往过高,因而占用网络带宽资源过高。为此,一般都需要对语音数据进一步压缩,以降低语音编码的速率。这样,相应的,在接收端也就需要同样的解压算法来恢复原始语音数据。编制这部分代码可采用现在比较成熟的语音编解码算法,并进行一定的改进,以提高语音通话质量。
3.3 数据封包/拆包模块
数据封包/拆包软件模块主要对压缩编码后的语音数据进行打包,包括添加包头、时标和其他信息,以使其形成语音包。在接收时。则应进行相应的拆包,并提取语音压缩包。
3.4 数据传输模块
该模块主要完成语音包的发送和接收。因为把音频数据实时地传输给对方才是保证实时语音通信的关键。所以,在考虑可靠性和实时性方面,更应注重速度和实时性。故在选择协议时,可采用UDP协议,并在编程时使用对应的数据报套接字。
4 结束语
IP电话通信系统是利用现有计算机网络资源组成的电话通信系统,它无需铺设电话线和购置电话通信网络设备,故可节省大量建设电话网络的设备费、线路费和工程费用,可在不需要铺设电话线的情况下,方便地实现电话通信,增加电话用户,缩短安装工程周期,提高计算机网络资源的利用率,扩大电话的普及范围,同时可加大信息传递量,因而具有良好的社会和经济效益。
来源:维库开发网
上一篇:高速大容量存储系统设计
下一篇:基于VB
6.0串口通信的气压测高系统数据采集实现