张建中
(河北远东哈里斯通信有限公司,河北石家庄050200)
软交换概念的提出至今,经过了多年的发展实践,相关的技术标准、规范正逐步成熟和完善。人们对软交换技术的认识和应用的思路也随着实际工作的深入和实践领域的拓宽,发生了相应的变化和重点的转移。
软交换机是电路交换网向分组网演进的核心设备,也是下一代网络的重要设备之一,它独立于底层承载协议,主要完成呼叫控制、媒体网关接入控制、资源分配、协议处理、路由、认证和计费等主要功能,并可以向用户提供现有电路交换机所能提供的所有业务以及多样化的第三方业务。它基于业务与控制相分离、控制与承载相分离的思想,通过开放的接口和业务提供的灵活性带来网络结构更加清晰、业务提供更加丰富灵活、建设和维护更加有效等好处。
软交换系统在公网的应用部署已经进入了稳定的发展时期,而在专网通信系统中软交换系统的建设也即将进入快速发展期。软交换系统的蓬勃发展需要学术界、工程界、用户和设备制造商等多方的努力才能发展得更好。以远东哈里斯通信有限公司的软交换机研发经验为基础,描述了一个软交换机系统软件的架构设计实现。
软交换机系统软件的设计是以原信息产业部发布的行业标准《YD 1434-2006-I软交换设备总体技术要求》为设计依据的,并严格遵循该标准中对关键功能、技术指标、系统架构和业务提供等方面的设计要求;同时,系统开发完毕后的功能测试也以能通过《YD 1435-2006-I软交换设备测试方法》中规定的测试项目为最低要求。
在保证符合《YD 1434-2006-I软交换设备总体技术要求》中规定的各项要求的前提下,重点设计了如下的功能:
①系统的高可靠性;
②系统对多种终端协议类型和中继协议类型的支持;
③大容量,支持10万用户以上规模的应用;
④行政通信与调度通信可以合一;
⑤支持多种组网方式;
⑥支持多种宽窄带业务,并提供业务开发接口;
⑦系统具备完善的监控和管理能力。
对于上述重点设计要求,在进行系统框架结构设计时,均提出了有针对性的技术解决设计方案。
软交换机系统软件的框架结构如图1所示。系统共分为6个子系统:协议接入和适配子系统、通用呼叫和资源控制子系统、业务接入子系统、公共服务子系统、HA高可用子系统、操作维护管理(OAM)子系统,其中有些子系统又可细分为更具体的下一级子系统或功能模块。下面将逐一对每一个子系统的功能、关键子模块及设计要点进行设计说明。
图1 软交换系统框架结构
协议接入和适配子系统主要完成对多种终端协议和中继协议的接入和适配工作。该子系统以模块化的形式实现了对多种协议的接入设计,同时也便于增加新的接入协议。其中协议接入适配模块的设计功能是将各种不同的协议信令抽象转化为软交换系统内部的统一消息,或将通用呼叫和资源控制子系统下达的控制指令转换为对应的协议信令并传递给协议模块;各个协议模块分别完成对应的协议消息的接收/发送、解包/打包等功能。由于篇幅限制,下面仅给出了七号信令接入模块和SIP协议接入模块的框架结构。
通用呼叫和资源控制子系统完成对呼叫的处理和控制(包括呼叫控制、连接承载控制、资源控制等),并在呼叫事件符合应用业务所设定的触发点时,激活上层的应用业务来对呼叫进行控制。该子系统是软交换机的核心控制模块,呼叫关联模型和基本呼叫处理是它的2个关键模块。呼叫关联模型和基本呼叫处理2个模块的设计吸收了智能网技术中成熟的呼叫模型技术,并对其进行了改进和扩充。其中,基本呼叫处理模块主要实现呼叫控制和连接承载控制功能,而呼叫关联模型模块一方面向上层提供呼叫的关联关系,另一方面实现单点控制、多点控制和多媒体处理功能。鉴权与认证和资源管理是该子系统的另外2个关键模块,它们负责对软交换机控制下的网关、终端和媒体服务器等周边设备进行鉴权和维护管理。
通用呼叫和资源控制子系统实现了SIP Server或者H.323网守的大部分功能,在实际使用中,可代替SIP Server或H.323网守来使用。接入模块的框架结构如图2所示。
图2 接入模块的框架结构
业务接入子系统主要完成提供部分内嵌业务逻辑和对外提供业务开发接口以便于新业务的提供。其中内嵌业务逻辑子系统主要提供各种补充业务,箭头表示消息的传递方向。INAP协议适配接口子系统用于与业务控制点(SCP)设备进行连网,SCP设备通过INAP协议为软交换系统提供智能网业务。安全管理接口子系统为PARLAYAPI和JAIN API业务接口提供安全管理功能。PARLAY API模块和JAIN API模块负责将业务能力适配子系统呈现的业务视图分别使用PARLAY API和JAIN API的形式来呈现给外部应用服务器,并由外部服务器上运行的业务逻辑通过调用PARLAYAPI或JAIN API来为软交换系统提供业务。业务能力适配子系统负责将系统内的私有的业务能力适配统一消息分别在其上层系统所使用的协议、消息或API之间进行转换。
业务接入子系统在内嵌业务逻辑子系统内设计了调度通信业务逻辑,该业务逻辑通过SIP协议和外部调度台进行通信,共同配合组成一个完整的调度通信系统。通过许可文件可屏蔽软交换机的调度通信业务,使软交换系统专一完成语音、数据和多媒体的行政通信功能。其系统结构如图3所示。
图3 内嵌业务逻辑子系统框架结构
公共服务子系统主要负责屏蔽操作系统的差异性,并为操作系统之上的应用提供各种基本功能的二次封装,例如内存管理、定时服务和信号量等。该子系统是由众多函数库和服务进程组成。公共服务子系统为特殊条件下的系统移植打下了良好的基础。
高可用子系统(High Availability Subsystem,HA)负责整个软交换机系统的热冗余备份功能的实现。软交换机被设计成为了1+1热冗余备份的系统,平时工作时分主用机架和备用机架,主用机架之上的HA高可用子系统负责将主边呼叫中的稳态数据实时的发送到备用机架,并由备边HA高可用子系统将数据分发给各个相关进程进行数据更新,同时HA高可用子系统负责维护数据的一致性;另外,当备边重启完成后,备边的HA高可用子系统负责向主边的HA高可用子系统索要冗余数据。HA高可用子系统的框架结构和模块构成如图4所示。
图4 HA高可用子系统框架结构
OAM子系统是由多个独立运行的进程组成,每一个进程完成一个特定的功能。这些进程与外部的GUI程序或者WEB应用程序进行消息通信,从而完成人机交互;对内与软交换机内部的各模块或子系统使用私有协议进行消息交换。OAM子系统完成的功能如下:命令行解析和处理、提供SNMP协议接口、数据配置管理、CDR管理、错误管理、告警管理、消息和信令跟踪、日志管理、业务量统计、内存数据管理、拥塞控制和系统安全管理等功能。
考虑到基于ATCA(高级电信计算架构)技术标准的硬件平台是技术发展的趋势,以及该平台在系统扩展性、可靠性、稳定性、计算能力上的优越表现,软交换机的硬件平台采用了ATCA技术标准的机箱和单板。
为了满足电信级的应用需求,操作系统采用了符合CGL 4.0规范的、WindRiver公司的、电信级的、实时的、嵌入式的Linux操作系统。
系统核心模块的开发全部采用的是标准C语言,少量程序采用了Shell编程。外部GUI采用Delphi语言,Web 应用则采用了 Perl、ASP.net、Java等语言。
为了保证系统在大话务量下对数据存取的速度要求,系统采用了高速内存数据库技术,关键数据常驻内存,系统负载较轻时再进行硬盘数据的交换。
依据软交换机许可文件提供的系统最大并发数等数据,系统在进行初始化时,会依据上述数据进行精确的内存池分配,对能够处理的最大呼叫量、允许注册的最大用户数、业务呼叫量等关键数据在各个模块或进程内所需要的内存池buffer个数和大小,进行精确的计算和分配,从而可以根据实际需求对硬件能力和系统容量进行精确的配置。
描述了一个软交换机系统软件的框架功能结构及其概要实现过程,论述的设计思想已经被应用于实践开发。经实践证明,该框架结构设计思路清晰,结构合理,充分实现了系统的设计要求和目标,对实际开发工作有很强的指导作用。同时提及的设计思想对于同类开发或研究项目而言也是一种有益的参考。
[1]YD 1434-2006-I.软交换设备总体技术要求[S],2006.
[2]YD 1435-2006-I.软交换设备测试方法[S],2006.
[3]齐幸辉.软交换内嵌业务逻辑子系统框架结构设计[J].计算机与网络,2009,35(366):45-47.
[4]李亚波,陈俊亮,苏 森.基于通用呼叫控制模型的软交换体系设计[J].通信学报,2003,24(3):78-85.