专注SIP通讯产品与方案

FSM的基本结构

            FSM具有有限的非空状态集和有限的输入集、输出集。输入信号的到来导致状态的转移,下一状态是输入信号和原有状态的函数。或者说,在一定状态下收到某个输入信号,将执行引起状态转移的动作序列,其中包括向其它软件模块输出信号。
            FSM可用状态转移表、状态转移图或程序结构图描述。图5.1(a).(b)分别给出状态转移表和状态括移图的简单示例,说明摘机、挂机和拍叉判别状态间的转移。程控交换机用户在通话时可拍打叉簧,表示要使用新服务性能叫出第三方(三方通话或询问第三者)。因此,收到回路断开信号不能立即作为挂机处理,而应启动阳叉簧时限监视并转入拍叉判别状态,再等待下一个信号。如未超时而又收到回•路接通信号',说明是拍打叉簧,应转到摘机状态;如收到超时信号,说明是挂机而应转到挂机状态。在某一状态收到不应有的信号仍应保持在该状态。
状态转移表和转移图
2.FSM的程序结枸
FSM的程序结构见图5.2,它有几个特点。
(1) 具有双重选择,先按不同的状态实现多路分支,再按不同的输入信号实现多路分支。
(2) 一定状态下收到某个信号后引起状态转移。状态转移过程对应着一段程序,以执行应有的动作和状态的改写。这段程序一般不太复杂,其中可以出现过程调用。
 
FSM的程序结构
 
(1)收到某个信号后,还可以根据某种信息的判别而转向不同的状态。例如状态S2可转向S3或S5。
(2)在一定状态下收到某个信号可以回复到初始状态。例如状态细可转向S1,设S1为状态初始化执行后进入的状态。这意味着可以无限循环下去。
(3)处于某个状态而等待输入信号到来时,说明该FSM(对某个呼叫)当前无事可作,可让出处理机资源,再去调度其它程序。这说明FSM的调度执行需得到操作系统的支援。
3.分级的FSM模块
            程控交换软件通常采用分级的模块化结构,或称为分层结构。呼叫处理软件基本上划分为三层。第1层为设备控制,第2层为信令控制,第3层为呼叫控制,已如图4.38所示。第1层直接与硬件联系,执行扫描、驱动等功能,与硬件间来往的是与硬件有关的物理信号。第1层与第2层间来往的是逻辑信号,第2层与第3层间来往的是电话事件的标准信号。硬件改变时只影响第1层软件,从而可减少硬件更新时对软件系统的影响。呼叫处理的各级软件模块均可采用FSM结构,从而形成分级的FSM模块结构。例如,S1240系统呼叫处理软件采用分级FSM模块结构,也已示于图4.39。LCDH为用户电路设备处理,SLS为用户线信令接口,SIGC为信令控制接口,RSIG为记发器信令(包括双音信号)接口,SCDH为服务电路(按键接收器和多频收发码器)设备处理。CC为呼叫控制软件,分成三个FSM:PRE控制预选,CACO控制呼叫完成,REL控制释放(在通常的呼叫处理中现已不需REL的介入)。采用FSM结构的软件模块在S1240系统中称为有限消息机(FiniteMessageMachine—FMM)0LCDHSLS放在用户TCE中;SIGC和CC早先放在用户ACE中,ELC型S1240取消了用户ACE,也放在用户TCE中;RSIG和SCDH放在服务电路TCE中。SIGC要与用户TCE中的SLS以及服务电路TCE中的RSIG作信令配合,兼具用户线信令与记发器信令的功能。