|
楼主 |
发表于 2004-12-18 14:19:13
|
显示全部楼层
4.2实现方案
4.2.1呼叫控制的实现
系统的呼叫处理的过程是一个典型的在有限状态之间进行状态变迁的过程。呼叫处理可根据输入的呼叫信令消息和当前状态,完成相应的呼叫信令处理,确定变迁到达的新状态。因此,对于一个具体的呼叫,可以采用有限状态机(FiniteStateMachine,FSM)的方法来进行过程的描述和处理。
另一方面,在系统中会同时存在多个呼叫。呼叫处理必须考虑对并发呼叫的实时处理。鉴于传统的多进程处理并发事件的方式所存在的问题(呼叫越多,进程切换的开销越大,内存资源占用越多),在本系统中采用单呼叫进程实现多呼叫的并发处理。
在呼叫控制的实现中采用单呼叫进程设计方法:当一个呼叫产生时,进程生成一个记录该呼叫的呼叫FSM控制块,称为CCB(CallControlBlock)。呼叫FSM控制块记录了该呼叫的主叫号码、被叫号码和当前的状态等信息。因此,对于多个呼叫就产生与之对应的多个呼叫FSM控制块,进而组成一个呼叫FSM控制表。
当一个呼叫的信令到达时,呼叫处理进程基于主叫号码和被叫号码查找该呼叫对应的呼叫FSM控制块,然后可根据输入的呼叫信令和当前状态,完成相应的呼叫信令处理,确定变迁到达的新状态,并用迁移的新状态更新呼叫FSM控制块。 |
|