专注SIP通讯产品与方案

呼叫处理的动态数据结构

呼叫处理程序与数据密切相关,这里顺便介绍DMS-100系统呼叫处理软件的动态数据结构。DMS-100具有以下的数据结构:
•呼叫压缩块(CallCondenseBlock-CCB)
•终端状态映象(TerminalStateMap-TSM)和终端状态字(TerminalStateWord—TSW)
•呼叫数据块(CallDataBlock-CDB)
•呼叫处理信件(CallprocessingLetter)
•扩充的呼叫压缩块(ExtendedCallCondenseBlock—ECCB)
(1)CCB的作用
            每产生一个呼叫,就要分配一个CCB,并且一直伴随着这个呼叫,存放与此呼叫有关的暂存信息,诸如与此呼叫有关的代理、与当前呼叫状态有关的信息以及从各种事务处理所获得的信息等。这在其它程控交换机中一般称为呼叫控制块(CallControlBlock-CCB)。DMS-100的软件中引入了“压缩"这一用语,因此称为呼叫压缩块。
CCB通过TSM可与呼叫所涉及的终端相勾连。CCB具有若干种状态,并可形成以下几种不同的链接关系:
①链接到激活的呼叫
            当发生某种事件而引起了事务处理的呼叫称为激活的呼叫,也就是从呼叫压缩而进入呼叫激活。呼叫激活后,将有一呼叫进程来处理此呼叫:此时CCB将链接到这一进程及其相关的CDB。
②链接到压缩的呼叫而在等待消息。
③编入以下三种单向队列之一:
(a)可用队列(AvailableQueue)
            可用队列就是空闲队列,凡空闲的CCB均在此队列中。当产生一个新呼叫,就从此队列取出一个CCBO当呼叫结束,CCB又归还到可用队列。
(b)进行队列(ProgressQueue)
            当一个压缩的呼叫收到一个消息后,其CCB即编入进行队列,等待呼叫进程的调度,以处理该消息对应的事务。要注意的是,已压缩的呼叫收到消息肯定不是呼叫开始产生时的呼出消息。
(c)呼出队列(OriginationQueue)
            从一空闲的终端收到呼出消息后,从可用队列取出的CCB就编入呼出队列,等待呼叫进程的处理。这一队列的级别低于进行队列,也就是要将进行队列中的所有CCB处理完毕,才处理呼出队列。