一种嵌入式呼叫处理模型设计分析

2010-09-26 01:59王志华
无线电工程 2010年10期
关键词:原语状态机信令

郑 熠,王志华

(1.中国电子科技集团公司第五十四研究所,河北石家庄050081;2.郑州大学软件技术学院,河南郑州450002)

0 引言

交换机软件用来实现交换机的全部智能性操作,呼叫处理软件是交换机软件的核心部分。

为了解决呼叫处理软件实时性和并发性特点,在此给出的呼叫处理模型采用VxWorks嵌入式操作系统;基于实时、多任务的嵌入式软件架构设计要达到分事件、实时处理多任务的要求,采用层次结构的软件架构进行软件设计;并且引入有限状态机(FSM)技术,其作为计算机的基础理论最早被应用于编译器的句法分析和语言识别。现阶段,有限状态机被广泛应用在呼叫处理程序设计中,此项技术的使用使得程序结构变得非常清晰,大大降低了嵌入式软件开发的难度[1]。

1 相关技术

1.1 嵌入式操作系统

VxWorks是专门为实时嵌入式系统设计开发的操作系统内核,为程序员提供了高效的实时多任务调度、中断管理,实时的系统资源以及实时的任务间通信。在各种CPU平台上提供了统一的编程接口和一致的运行特性,尽可能地屏蔽了不同CPU之间的底层差异。

VxWorks的一个重要特点是可移植性,把所有特定的硬件功能都集成在板级支持包(Board Suppon Package,BSP)中,使得上层软件在很大程度上与目标板的硬件结构无关[2]。

呼叫处理模型采用嵌入式开发模式,实时多任务操作系统VxWorks5.5,开发环境为Tornado2.2集成开发环境,调试工具采用Tornado2.2集成调试环境和VisionClick 7.1。

1.2 分层软件架构

嵌入式应用软件常用的结构是层次结构。层次结构就是利用分层的方式来处理复杂的功能,层次结构要求上层可以使用下层的功能,而下层不能使用上层的功能。一般下层每个程序接口执行当前的一个简单功能,而上层通过调用不同的下层程序,并按不同的顺序来执行这些下层程序。

图1 呼叫处理软件结构

呼叫处理软件建立分层结构模型,共包含以下几个模块:呼叫控制软件、信令适配软件和自组网路由软件;分上下2层,呼叫控制软件位于上层,信令适配软件和自组网路由软件位于下层。信令适配软件包括的信令协议有:模拟用户信令、CPC信令和自组网信令,对上与呼叫控制软件按统一的消息交互,通过原语方式进行通信,完成各种信令协议到呼叫控制软件统一接口的适配工作。呼叫处理软件的分层模型如图1所示。

维护管理软件为呼叫处理软件提供维护和管理功能,包括主被叫的相关信息、话音呼叫涉及的数据信息和IP业务所需的参数信息。

呼叫处理软件对IP业务软件采用函数调用方式,以获取被叫号码所在用户站号、路由和业务带宽。

底层驱动软件(BSP软件)实现的功能有动态组网信令、G729编解码、可靠性传输和PPP协议等适配,对MPC8260初始化以及外围接口的驱动,呼叫处理软件通过函数调用与BSP软件进行交互。

1.3 有限状态机技术

有限状态机的作用主要是描述对象在它的生命周期内所经历的状态序列,以及如何响应来自外界的各种事件[3]。

有限状态机FSM由有限的状态和相互之间的转移构成。当接收到一个输人事件时,状态机产生一个输出,同时也可能伴随着状态的转移。有限状态机各状态之间的状态转移可以看成是在瞬时完成的,因此可以认为有限状态机总是处于状态集的某一状态的[4]。

呼叫处理模型根据呼叫的各个阶段定义控制实体的有限状态机,完成无线接入系统的各种呼叫控制流程。控制实体的有限状态机包含以下状态:空闲状态、收号状态、等待振铃状态、等待摘机状态、通话状态和等待释放状态。呼叫控制实体通过收到的信令类型和当前所处的状态来判断下一步的迁移状态。

呼叫处理软件中控制实体的基本状态迁移如图2所示。

图2 控制实体状态迁移

2 呼叫控制实现

呼叫控制功能完成话音呼叫的过程控制,任务是分析主叫呼叫请求,向被叫发起呼叫,被叫应答后建立接续,通话完成后释放呼叫。一个呼叫逻辑上由主叫和被叫2个信令处理实体组成,呼叫过程一般是由主叫信令处理实体发起,由呼叫控制功能实体控制主被叫信令处理实体完成整个呼叫过程。

2.1 呼叫控制实体

呼叫实体在呼叫控制软件设计中是很重要一部分,在本系统中,呼叫处理软件的呼叫实体记录了主叫与被叫呼叫信息、路由信息、资源带宽、呼叫类型以及当前呼叫所处状态等信息。

呼叫控制软件的主要过程是接收信令处理软件的原语,根据原语所带参数进行主叫分析、号码分析、分配呼叫资源、被叫对象分析、选择被叫路由、硬件连接控制、主被叫的下一步的动作处理和释放控制等。

呼叫控制实体的数据结构分为两大部分:全局信息,属于一个呼叫的整体特性,包括状态等,不属于呼叫的某一方;主被叫信息,记录了主被叫状态,路由等一系列参数,如表1所示。

表1 呼叫控制实体主被叫信息

2.2 呼叫流程

呼叫控制软件共设计了4个模块,主处理模块代表了呼叫处理任务,一旦系统开始运行,主处理模块先调用初始化模块,然后循环从消息队列中接收信令,并进行分析,根据信令内容查询呼叫实体或分配新的呼叫实体,最后调用状态机模块进行相应处理。状态机模块通过调用数据管理模块的函数来完成相应功能。

图3 入站呼叫模拟用户信令流图

呼叫控制功能是完成话音呼叫的过程控制。以入站呼叫模拟用户为例说明其呼叫流程,如图3所示,CC表示呼叫处理,SP表示信令处理,Line表示模拟用户,Adhoc表示自组网用户。

入站呼叫模拟用户实现其他用户站用户呼叫本站模拟用户时的呼叫控制过程,包括对来自自组网信令呼叫请求指示的识别,分析被叫号码,根据号码得到被叫用户的电路位置,然后向被叫用户发起呼叫,识别被叫应答指示,协商话音编码,建立内部接续,通话结束后,拆除内部接续,释放呼叫。

3 呼叫处理测试与性能分析

3.1 功能测试

功能测试采用人工手动测试的方法,用于呼叫处理的功能验证。

首先需要进行的是模拟系统测试,旨在考察呼叫处理软件本身在整体逻辑功能上是否符合呼叫流程。具体步骤包括:编写测试用例、监测消息及原语、分析呼叫流程。

进行了上述测试之后,需要进行CC和SP以及维护软件模块间的模拟联合测试,旨在考察CC与SP之间的原语内容和时序上的一致性,以及CC与维护软件接口的正确性。具体步骤包括:编写测试用例;调用测试函数;CC响应;显示消息或原语;判断一致性。

3.2 呼损测试

2台用户站中间通过速率为2M的无线中继相连,组成简单网络。呼叫模拟器和2台用户站同时相连,模拟2台用户站的各7部模拟话机进行连续呼叫测试。Abacus5000呼叫模拟器可以自动生成测试报告。

为了提高测试的有效性,可以利用调整呼叫模拟器的呼叫时间参数来改变呼叫的强度。

3.3 性能分析

进行功能测试时,呼叫处理软件的显示输出结果和状态迁移完全符合呼叫流程,从而证明了呼叫处理软件在整体功能上的正确性,以及呼叫处理软件与信令软件在消息原语及时序上的一致性。

进行呼损测试时,在不同时间进行了2次连续呼叫测试。第1次呼叫时长为2h9min5s,错误次数为4次。第2次总呼叫时长为2h 20min 15s,错误数为0。

呼损测试的结果表明:呼叫处理软件具有同时处理多呼叫的能力,证明了本软件对实时性和并发性等事件的处理性能。

综合功能测试和大话务量呼损测试的测试结果,可以得出以下结论:呼叫处理软件实现了预期功能;呼叫处理分层软件模型简单合理;呼叫实体抽象合理,该分层模型易于扩展。

4 结束语

应用于某专用无线接入系统的嵌入式呼叫处理软件,采用了有限状态机技术,根据实际需求设计了呼叫实体,建立了有限状态机模型和状态迁移图,使得复杂的呼叫流程易于描述实现;整个呼叫处理模型采用分层软件架构设计,信令适配模块完成各种信令协议到通用呼叫处理模型统一接口的适配工作,可以灵活应用于具有同类信令的通信系统交换软件,增强了呼叫处理软件的可扩展性和可重用性。

[1]李晓锋,宋 锐,曾小宝.有限状态机在嵌入式系统中的实现及应用[J].机械与电器,2008(4):38-39.

[2]风河公司.VxWorks程序员指南[M].北京:清华大学出版社,2003.

[3]李 光.大型有限状态机系统中的定时器设计[J].无线电工程,2005,35(6):58-60.

[4]周 飚,谢晓阳.有限状态机在RTC设计中的分析与应用[J].计算机系统应用,2008(5):77-80.

猜你喜欢
原语状态机信令
SLS字段在七号信令中的运用
基于有限状态机的交会对接飞行任务规划方法
移动信令在交通大数据分析中的应用探索
密码消息原语通信协议介绍及安全分析
基于信令分析的TD-LTE无线网络应用研究
浅谈旅游翻译中文化差异的处理
LTE网络信令采集数据的分析及探讨
基于ZigBee协议栈的PHY服务研究
双口RAM读写正确性自动测试的有限状态机控制器设计方法
基于原语自动生成的安全协议组合设计策略及应用研究