基于MTCA架构的ISDN接入网关设计
2013-04-23南京航空航天大学电子信息工程学院
南京航空航天大学电子信息工程学院 贺 信
下一代网络(NGN)是多网融合的产物,是可以提供多种包括媒体、音频、数据等各种业务的开放性网络。PICMG(PCI Industrial Computer Manufacturers Group)是开放性通信平台架构规范的领导者,2005年PICMG在ATCA[1](Advanced Telecom Computing Architecture)的基础上提出的MTCA(Micro Telecom Computing Architecture)架构规范[2],从此MTCA成为业界研究的热点。MTCA因其开放性的架构标准,特别适用于多种不同网络融合的小型化应用。本文提出一种基于此架构的ISDN网关设计[3][4],实现ISDN网络在IP网络中的接入。
1.系统总体结构
本系统是通过设计符合MTCA规范的AMC(Advanced Mezzanine Card:高级夹层卡)模块来实现ISDN接入网关的功能。1个典型的MTCA系统包括:12块AMC模块、1或2个MCH(MicroTCA Carrier Hub)、互连背板以及电源、散热等模块。MTCA系统支持AMC.0的所有4种规格的板卡,本系统采用AMC.2 Type E2(2个Gigabit Ethernet)。
图1 AMC硬件组成
ISDN接入网关主要完成两个功能:一是ISDN信令的与IP网络中SIP(Session Initiation Protocol∶初始会话协议)[5]信令之间的转换;二是媒体流之间的转换。一个典型的通信流程如下:
(a)ISDN终端通过ISDN接入网关对IP网络中的PC软电话发起呼叫。
(b)ISDN接入网关收到ISDN信令呼叫信号,转换为IP网络中的SIP信令呼叫信号,发送至软电话。
(c)软电话按照SIP信令流程反馈SIP信令至ISDN接入网关。
(d)ISDN接入网关将来自软电话的SIP信令转换为相应ISDN的信令,发送至ISDN终端。
(e)以上过程直至呼叫建立,ISDN接入网关将ISDN信道与IP网络中的媒体流通道打开,并进行相应的媒体流格式转换。
2.ISDN接入网关AMC硬件设计
本网关的AMC模块硬件按照功能主要划分为两部分:一是核心控制电路,完成信令转换的处理和媒体流协议的转换,是电路的核心部分;二是接口电路,完成ISDN线路的接入和MTCA系统的接入及管理。AMC硬件组成如图1。
2.1 核心控制电路设计
核心控制电路采用MindSpeed公司的VOIP处理器M82515作为主处理器,用于媒体流的协议的转换并提供软件运行的硬件平台;采用CPLD芯片来实现不同信号之间的交换、映射等处理。
M82515是专业用于VOIP设计的32位处理器,内部具有2个ARM920核和一个DSP核心,其中两个ARM920核分别用于控制和媒体流处理,DSP核用于呼叫中各种铃音的产生。
核心控制电路中的VOIP处理器最小系统,配备2片32M SDRAM芯片、1片用于存储应用程序的8M Flash芯片以及1片用于存储启动程序(bootloader)1M Flash芯片。
2.2 接口电路设计
接口电路的设计按照接口种类分为3个部分:一是用于ISDN线路接入的U接口,采用motorola公司的U接口芯片MC145572来设计实现;二是用于接入MTCA的GMII接口,采用REALTEK公司的以太网物理层芯片RT8201BL和Marvel公司的以太网交换芯片88E6045来设计实现;三是用于MTCA管理的I2C接口,采用Atmel公司的单片机ATmega128L来设计实现。
3.网关软件设计
由于ISDN网关应用在电信领域,因此需要保证其实时性要求。本网关软件平台采用的操作系统是WindRiver公司开发的Vxworks实时操作系统。VxWorks操作系统由内核、I/O系统、文件系统、网络支持几部分组成,并且拥有功能强大,界面友好的开发工具Tornado开发平台。网关软件的设计包括两大方面:一是基础软件系统,包括BSP(Board Support Package:板级支持包)的定制、操作系统的移植以及芯片驱动的编写;二是应用程序的设计,本系统中应用程序主要完成ISDN信令和SIP信令呼叫流程的控制与转换、媒体流的控制、交换和管理,应用程序的开发采用C语言设计。在下文中着重对Vxworks移植和呼叫流程的控制与转换进行介绍[6][7]。
3.1 Vxworks移植
VxWorks的移植是通过BSP来实现的。Wind River公司的Tornado开发工具对应于不同硬件平台提供了相应的BSP配置程序,功能十分强大。仅仅通过Tornado开发工具我们就可以生成bootloader引导程序和VxWorks内核映像。
BSP的配置文件一般在VxWorks编泽环境Tornado的目录target/config/all和target/config/CPUxxx(CPU型号)中,前一个目录中是通用的配置,一般不用修改,后一个目录中包括了对应的处理器的型号,如本系统BSP的配置是主要是在target/config/MindARM920(MindSpeed提供)中的config.h文件中进行的。配置文件config.h主要定义了引导行,目标机操作系统包含的主要成分,如软驱、IDE硬盘、SCSI设备、网络等设备驱动,文件系统(DOSFS,TFFS,CDROMFS等),调试方式,内存地址等及有关参数。引导行(boot line)定义了引导设备、引导路径、操作系统文件名、主机/目标机IP地址、子网掩码、FTP用户名和口令等参数。
修改config.h最重要的一步是修改引导行。引导文件bootrom.sys根据引导行来确定引导设备、引导路径、操作系统文件,并且引导行存放在固定的位置。操作系统访问引导行来确定网络的配置,系统reboot时也将访问引导行。bootrom.sys和VxWorks将它转换为一个特定的引导参数结构BOOT_PARAMS。在config.h中,引导行定义为有特定格式的字符串。BOOT_PARAMS定义在hootlib.h中。
BSP配置完成后,接下来就是生成bootloader文件bootrom_uncmp和内核映像文件VxWorks。
在Tornado集成环境中执行菜单命令Build-〉Build Boot ROM…,在弹出的对话框中,左边框中选择BSP,选中ARM920,右边框中选择要生成的影像文件,选择bootrom_uncmp,然后点击OK确认。Tornado将生成bootrom_uncmp。VxWorks内核映像文件的生成和bootrom_uncmp文件生成的操作基本一致。
3.2 呼叫流程控制与转换软件的设计
在设计呼叫流程控制与转换软件之前,先了解一下ISDN终端通过网关对SIP终端的呼叫模型,如图2。
从模型中,我们知道ISDN信令与SIP信令之间的一一对应关系,因此在网关软件中需要在实现ISDN协议(Q931、Q921)、SIP协议的基础上设计综合处理软件来实现协议的转换控制。在Vxworks软件设计中,采用不同的任务来实现相对独立的各个功能。本软件系统中定义的任务如下:
Q931Task():ISDN信令中Q931协议任务,实现标准的Q931协议。
Q921Task():ISDN信令中Q921协议任务,实现标准的Q921协议。
IHDLTask():综合处理任务,实现ISDN信令与SIP信令的转换、控制。
图2 ISDN终端呼叫SIP终端的基本呼叫模型
图3 综合处理任务主程序流程图
eXosipTask()∶SIP协议处理任务,实现标准的SIP协议,本系统中通过eXosip协议栈和Osip2协议栈来实现。
QmcSendTask()∶ISDN信令物理层协议实现,HDLC发送任务。
QmcRcvTask()∶ISDN信令物理层协议实现,HDLC接收任务。
在软件中还定义了一些其它的任务,比如用于定时的任务等,各任务之间通过消息队列进行通信。其中ISDN信令Q931和Q921任务、SIP信令任务均按照协议定义的通信流程设计,物理层协议的两个任务功能只是简单的接收和发送处理,因此在此不多做介绍。下面给出综合处理任务的主处理流程如图3所示。
4.结束语
本文提出了一种基于MTCA架构的ISDN接入网关的设计,给出了系统软硬件的结构。该系统利用MTCA这种小型化、开放性的平台架构,可广泛应用在各种多业务接入系统中。目前该网关已应用于某单位的含Pstn、ISDN、E1等多种业务MTCA接入平台中,与常见的电信平台相比,其体积小、成本低,安装使用方便。
[1]PICMG标准,行业标准,Ethernet Advanced MezzanineCard Speci fi cation,AMC.2 R1.0,2007.
[2]PICMG标准,行业标准,Micro Telecommunications Computing Architecture Base Specification,MTCA.0 R1.0,2006.
[3]中华人民共和国邮电部技术规定,行业标准,YDN 034.3-1997,ISDN用户-网络接口规范第3部分:第三层基本呼叫控制技术规范,1997.
[4]中华人民共和国邮电部技术规定,行业标准,YDN 034.2-1997,ISDN用户-网络接口规范第2部分:数据链路层技术规范,1997.
[5]IETF标准,行业标准,RFC 3261 SIP:Session Initiation Protocol,2001.
[6]周启平,张杨.VxWorks下设备驱动程序及BSP开发指南[M].北京:中国电力出版社,2004.
[7]程敬原.VxWorks软件开发项目实例完全解析[M].北京:中国电力出版社,2005.