《程控交换机的软件系统ppt课件.ppt》由会员分享,可在线阅读,更多相关《程控交换机的软件系统ppt课件.ppt(82页珍藏版)》请在三一办公上搜索。
1、1,程控交换软件系统,1、程控交换软件的特点和组成,1.1程控交换软件的特点,交换软件的基本任务就是控制交换机的运行,也就是完成呼叫处理。程控交换机的特点是业务量大,实时性和可靠性要求高,因此对运行软件也要求有较高的实时效率,能处理大量的呼叫,而且必须保证通信业务的不间断性。交换软件的3大特点:实时性、多任务并发执行、高可靠性(业务的不间断性)。,1.2程控交换机的软件组成,软件系统,操作系统,数据库系统,应用软件,呼叫处理,OAM,程控交换机的软件系统=操作系统+应用软件,1.2.1程控交换机的操作系统,程控交换机的操作系统是计算机硬件与应用软件的接口,是一个实时多任务的操作系统。(1)实时
2、操作系统:能对随机发生的外部事件做出及时地响应,并进行处理。虽然事件的发生时间是无法预知的,但必须在事件发生时能够在严格的时限内做出响应,即使是在负荷较大的情况下。(2)多任务操作系统:支持多任务(Task)并发处理,由于多任务的并发性因而必然会引起任务的同步、互斥、通信以及资源共享等问题。此外,由于程控交换系统的控制系统多采用分布式多处理机结构,所以其操作系统也具有网络操作系统和分布式操作系统的特点。,程控交换机的操作系统对任务调度一般采用基于优先级的抢占式调度算法。(1)基于优先级调度算法:系统中的每个任务都拥有一个优先级,任何时刻系统内核将CPU分配给处于等待队列中优先级最高的任务运行。
3、(2)基于抢占式调度算法所谓抢占式是指如果系统内核一旦发现有优先级比当前正在运行的任务的优先级高的任务,则使当前任务退出CPU进入等待队列,立即切换到高优先级的任务执行。在处理同优先级别的任务时采用先来先服务或轮转调度的算法。,为什么进行任务的分级?处理机具有高速的处理能力,但同一时间也只能处理一项任务。这就需要很好的安排,使其能在分时处理的条件下满足实时处理的要求。各任务本身的实时要求是不同的,有的实时性要求高,有的则要求不高,因此可以根据任务的实时要求将它划分为若干级别。在程控交换系统中,可按照紧急性和实时性要求的不同将任务分为三种:(1)故障级任务:(2)周期级任务:(3)基本级任务:,
4、任务的分级,(1)故障级任务:完成故障紧急处理等功能的任务,具有最高优先级。(2)周期级任务:由时钟中断周期性启动执行的任务,周期级任务的优先级较故障级任务低、比基本级任务高。如每隔10ms周期性启动的拨号脉冲识别程序,启动周期为100ms的用户群扫描程序等。(3)基本级任务:由事件启动的实时性要求不高、可以适当延迟执行的任务,其优先级最低。,故障级,周期级,基本级,暂停,时钟中断,时钟中断,时钟中断,时钟中断,10ms,不同级别的任务调度与处理,设每隔10ms产生一次中断,在第一个10ms中断周期内,处理机已执行完周期级和基本级任务,暂停并等待下一个中断的到来;在第二个10ms周期内,先执行
5、周期级任务,然后执行基本级任务,但基本级任务没有执行完就被中断了,进入第三个10ms周期。在第三个10ms周期内,由于发生了故障,周期级任务被中断,转去处理故障级任务。故障级任务执行完后,才再执行周期级任务。,1.2.2程控交换机的应用软件,程控交换机的应用软件呼叫处理软件。OAM(操作维护管理)软件。数据库系统。,(1)呼叫处理软件 呼叫处理软件主要负责呼叫连接的建立与释放以及 业务流程的控制,它是负责整个呼叫过程控制的软件。具体完成的主要功能如下:用户线和中继线上各种输入信号的检测和识别;呼叫相关资源的管理;对用户数据、呼叫状态以及号码等进行分析;路由选择;控制呼叫状态迁移;控制计时、送音
6、和交换网络的连接;,(2)OAM(操作维护管理)软件:OAM软件是程控交换机用于操作、维护和管理的软件,用于保证系统高效、灵活、可靠地运行。其完成的具体功能有:用户数据和局数据的操作和管理测试告警故障诊断与处理动态监视话务统计计费过负荷控制等,(3)数据库系统程控交换机在进行呼叫处理和操作维护管理过程中,会使用和生成大量的数据,这些数据包括系统数据、用户数据和局数据。系统数据与交换机的硬件体系结构和软件程序有关,不随交换局的应用环境而变化,不同的电话局若采用同一类型的交换系统,它们的系统数据是相同的,所不同的是用户数据和局数据。,用户数据反映用户的具体情况,有静态用户数据和动态用户数据之分。用
7、户数据主要包括以下几种:用户类别:住宅用户、公用电话用户、传真用户等话机类别:PULSE话机、DTMF话机用户状态:空闲、忙、测试、阻塞等限制情况:呼出限制、呼入限制等呼叫权限:本局呼叫、本地呼叫、国内长途、国际长途等,局数据是反映交换局的数据,主要以下几种:交换机硬件配置情况:用户端口数、出/入中继线数、DTMF收号器数、MFC收发器数、信令链路数等各种号码:本地网编号及其号长、局号、应收号码、信令点编码等路由设置情况:局向、路由数计费数据:呼叫详细话单(CDR)等统计数据:话务量、呼损、呼叫情况等复原方式:主叫控制、被叫控制、互不控制,2 呼叫处理的基本原理2.1、呼叫处理过程及其特点设用
8、户A和用户B位于同一个交换机内,且两个用户均处于空闲状态。在某个时刻,用户A要发起与用户B的一个呼叫,即主叫为A、被叫为B,则交换机对这个本局呼叫的基本处理过程如表所示。,通过上面对一个本局呼叫的基本呼叫过程的描述,我们不难发现整个呼叫处理过程就是处理机在某个状态,监视、识别外部来的各种输入信号(例如用户摘挂机、拨号等),然后进行分析,执行任务和输出信号(例如振铃、送各种信号音等),进入另外一个状态,再进行监视、识别输入信号、再分析、执行、输出信号的过程。,从上图 可知,一个呼叫处理的过程可以分为几个阶段,每个阶段对应一个稳定的状态,在每个稳定状态下,只有当交换机检测到输入信号时,才进行分析处
9、理和任务执行,任务执行的结果往往要产生一些输出信号,然后跃迁到另一个稳定的状态,如此反复。,规范描述语言(Specification and Description Language,SDL)主要应用于电信领域,它是为描述复杂的实时系统而特别设计的,只要系统的行为能用扩展的有限状态机来描述,并且其重点在于交互方面,就能够用SDL来说明该系统所具有的行为,也可描述其实际具有的行为。SDL语言具有两种不同的形式:文本表示法(PR)和图形表示法(GR)。PR基于类似程序的语句,比较适合计算机使用。GR基于一套标准化了的图形符号,直观易懂,能够清晰地表示系统结构和控制流程,适于设计开发人员使用。,2.
10、2 用SDL图表示的呼叫处理过程,呼叫处理的过程实际上就是在事件(输入信号)的作用下,从一个稳定状态跃迁到另一个稳定状态的过程,它具有有限个状态和有限个输入事件,具有一个初始状态,且输入事件引起状态的迁移,因此,对于程控交换系统处理呼叫的行为,我们可以用扩展的有限状态机来描述。SDL不仅对系统的行为能用扩展的有限状态机来描述,而且能够清楚表达功能部件之间的通信关系和定时器功能。因而采用SDL语言可以方便、直观、准确的表达呼叫处理过程。,SDL图形表示法中常用的图形符号,SDL常用的图形符号,SDL图描述的本局呼叫的处理过程,呼叫处理过程的特点:整个呼叫处理过程可分为若干个阶段,每个阶段可以用一
11、个稳定的状态来表示;整个呼叫处理的过程就是在一个稳定状态下,处理机监视、识别输入信号,进行分析处理,执行任务和输出命令,然后跃迁到下一个稳定状态的循环过程;两个稳定的状态之间要执行各种处理;在一个稳定状态下,若没有输入信号,状态不会迁移;相同的输入信号在不同的状态下会有不同的处理,并迁移到不同的状态;在同一状态下,对不同输入信号的处理是不同的;在同一状态下,输入同样信号,也可能因不同情况得出不同结果,通过上述对呼叫处理过程特点的分析,我们可以将呼叫处理过程划分为以下三个部分:(1)输入处理 在呼叫处理的过程中,输入信号主要有摘机信号、挂机信号、所拨号码和超时信号,我们把这些输入信号也叫做事件,
12、输入处理就是指识别和接收这些输入信号的过程,在交换机中,它是由相关输入处理程序负责完成的。(2)分析处理 分析处理就是对输入处理的结果(接收到的输入信号)、当前状态以及各种数据进行分析,以决定下一步执行什么任务的过程,如号码分析、状态分析等。分析处理的功能是由分析处理程序来完成的。,(3)任务执行和输出处理任务执行是指在迁移到下一个稳定状态之前,根据分析处理的结果,完成相关任务的过程。它是由任务执行程序来完成的。在任务执行的过程中,要输出一些信令、消息或动作命令,如No.7信令、处理机间通信消息以及送拨号音、停振铃和接通话路命令等,我们将完成这些消息的发送和相关动作的过程叫做输出处理,输出处理
13、由输出处理程序来完成。,2.3 输入处理输入处理的主要功能就是要及时检测外界进入到交换机的各种信号,如用户摘/挂机信号、用户所拨号码(PULSE、DTMF)、中继线上的信令的线路信号等。我们将这些从外部进入到交换机的各种信号称为事件。输入处理是由输入处理程序来完成的。在一次呼叫过程中,会产生许多这样的随机事件,当事件发生时,输入处理程序要及时、准确地检测和识别这些事件,报告给分析处理程序。,输入处理程序需完成的主要功能有:用户线扫描监视:监视用户线状态是否发生了变化;中继线线路信号扫描:监视采用随路信令的中继线的状态是否发生了变化;接收各种信号:包括拨号脉冲、DTMF信号和MFC信号等;接收公
14、共信道信令;接收操作台的各种信号等。,(1)用户线扫描分析用户线扫描监视程序负责检测和识别用户线的状态变化,其目的就是要检测和识别用户线上的摘机/挂机信号和用户拨号信号。用户线有两种状态:“续”和“断”,“续”是指用户线上形成直流通路,有直流电流的状态;“断”是指用户线上直流通路断开,没有直流电流的状态。用户摘机时,用户线状态为“续”;用户挂机时,用户线状态为“断”;用户拨号送脉冲时,用户线状态为“断”;脉冲间隔时,用户线状态为“续”。因此通过对用户线上有无电流,即对这种“续”和“断”的状态变化进行监视和分析,就可检测到用户线上的摘/挂机信号及脉冲拨号信号。,此外,为了能够及时检测到用户线上的
15、状态变化,处理机必须周期性的去扫描用户线,周期的长短视具体情况而定:用户摘挂机扫描周期一般为100200ms拨号脉冲识别周期一般为810ms。因此用户线扫描监视程序是周期级程序。,(2)用户摘挂机识别原理,设:用户在挂机状态时扫描输出为“1”,用户在摘机状态时扫描输出为“0”,摘挂机扫描程序的执行周期为200ms。摘机识别:就是找到从“1”到“0”的变化点。挂机识别:就是找到从“0”到“1”的变化点。,用户线状态,200ms扫描,这次扫描结果 1 1 1 0 0 0 0 1 1 1,前次扫描结果 1 1 1 1 0 0 0 0 1 1,这前 0 0 0 1 0 0 0 0 0 0,挂机 1,摘
16、机,1 挂机,0,0,摘机识别,用户摘机识别,用户线状态,200ms扫描,这次扫描结果 1 1 1 0 0 0 0 1 1 1,前次扫描结果 1 1 1 1 0 0 0 0 1 1,挂机 1,摘机,1 挂机,0,0,这前 0 0 0 0 0 0 0 1 0 0,挂机识别,用户挂机识别,用户线状态,200ms扫描,这次扫描结果 1 1 1 0 0 0 0 1 1 1,前次扫描结果 1 1 1 1 0 0 0 0 1 1,这前 0 0 0 1 0 0 0 0 0 0,挂机 1,摘机,1 挂机,0,0,这前 0 0 0 0 0 0 0 1 0 0,摘机识别,挂机识别,用户摘挂机识别,图中每个箭头代表
17、一次200ms扫描监视程序的执行。由于摘机时用户线状态从“1”变为“0”,挂机时用户线状态从“0”变为“1”,因此我们只要将前一个200ms周期的扫描结果,即“前次扫描结果”,与当前200ms周期扫描的结果,即“这次扫描结果”进行比较,确定用户线状态从“1”到“0”的变化点和从“0”到“1”的变化点,就可识别出摘机信号和挂机信号。,用户摘挂机识别的流程图,用户设备号,200ms扫描,这次扫描结果 1 0 0 0 0 1 1 1,前次扫描结果 1 1 0 0 0 0 1 1,这前 0 1 0 0 0 0 0 0,这前 0 0 0 0 0 1 0 0,摘机识别,挂机识别,7 6 5 4 3 2 1
18、 0,群处理,(3)脉冲拨号识别脉冲拨号识别包括脉冲识别和位间隔识别。脉冲识别就是识别用户拨号脉冲,位间隔识别是识别出两位号码之间的间隔,即相邻两串脉冲之间的间隔。A)脉冲识别由于用户拨号送脉冲时为“断”,脉冲间隔时为“续”,所以脉冲识别的本质与摘挂机识别是一样的,都是要识别出用户线状态的变化点。若要能够及时检测到用户线状态的变化,必须要确定合适的脉冲识别扫描周期。,脉冲拨号有三个参数:脉冲速度、脉冲断续比和位间隔由于号盘每秒发出的最快脉冲个数为14个,脉冲周期T=1000/14=71.43ms,在这种情况下若脉冲断续比为2.5:1,则脉冲“续”的时间最短,为(1/3.5)*T,那么拨号期间最
19、短的变化周期为Tmin=(1/3.5)*T=(1/3.5)X 71.43ms=20.41ms。只要脉冲识别扫描程序的周期Ts Tmin,就能保证在识别过程中不漏掉每一个脉冲。,脉冲识别原理,脉冲识别扫描周期为10ms,其中“变化识别”用于表示用户线状态是否发生了变化,即标识出用户线状态的变化点。识别脉冲的方法有两个:脉冲前沿识别和脉冲后沿识别.脉冲前沿识别相当于摘挂机识别中的挂机识别,即:(这前)=这脉冲后沿识别相当于摘挂机识别中的摘机识别,即:(这前)前=前,B)位间隔识别进行位间隔识别首先要确定位间隔识别的扫描周期。首先我们来看一下最长的脉冲断续时间间隔是多少。由于最慢的脉冲速度为每秒8个
20、脉冲,因此脉冲周期T=1000/8=125(ms),若脉冲断续比为2.5:1,则脉冲断的时间是用户线状态无变化的最大间隔,设其为Tmax,则Tmax=(2.5/3.5)*T=2.5/3.5 X 125=89.29(ms),为了不将脉冲断续时间间隔误识别为位间隔,位间隔识别的扫描周期Ts应大于Tmax。,另一方面脉冲拨号的位间隔时间Tw大于等于350ms,位间隔识别扫描周期只有小于(1/2)*Tw,即175ms,按照下述识别原理才能不漏识位间隔。因此位间隔识别的扫描周期Ts应满足下列条件:Tmax Ts(1/2)*Tw,当位间隔识别扫描周期满足上述条件时,若在一个位间隔扫描周期内,用户线状态没有
21、发生变化,则这个间隔肯定不是脉冲断续的间隔,因为脉冲断续的时间间隔肯定小于位间隔识别扫描时间,它有可能是一个位间隔。在具体识别过程中,为保证及时识别所发生的位间隔,并且不重复识别同一个位间隔,我们通常将两个扫描周期结合起来进行判定识别,即若在一个扫描周期内,用户线状态发生了变化,而在紧接着下一个扫描周期内,用户线状态没有发生变化,我们就判定有可能检测到了一个位间隔。,位间隔识别原理如图所示。,位间隔识别原理,在图3.40中,我们取位间隔扫描周期为100ms。为了表示在一个位间隔扫描周期内用户线状态是否发生了变化,我们引入了“首次变化”这个变量。对于“首次变化”这个变量,对其操作有两个特点:1、
22、在每个位间隔扫描周期开始时,“首次变化”初始化为“0”;2、当在一个扫描周期内遇到用户线状态发生了变化,则“首次变化”的值被置为“1”,并且在这个扫描周期内保持“1”不变,以表明在这个扫描周期内,用户线发生了变化。可以用下面的逻辑关系来表示这种操作的特点:首次变化=(首次变化变化识别),在每次100ms位间隔扫描程序执行时,我们都要来检查“首次变化”这个变量。若“首次变化”为“0”,则表明在前100ms周期内用户线状态没有发生过变化;若“首次变化”为“1”,则表明用户线状态发生了变化,但此时还不能确定为何种变化,既可能为脉冲变化,也可能为位间隔变化,还需要看下一个100ms周期内是否有变化。若
23、仍有变化,则该变化属于“脉冲变化”;若无变化,则为“位间隔变化”,即判定有可能为位间隔。在下一个周期内有可能还识别出用户线无变化,但已经识别出一次了,不再作重复识别。,对于上述的判断结果,我们需进一步确认是否为“位间隔”,因为如果用户拨号时中途挂机,用户线也会有类似于“位间隔变化”的结果,因此通常我们还要再判断“当前用户线状态”,以区别是用户中途挂机还是位间隔。若当前用户线状态为“1”,则说明用户已挂机,那么识别的就是“中途挂机”,否则即为“位间隔”。,图3.41 脉冲识别和位间隔识别流程图,(4)DTMF号码接收原理DTMF有两组频率:高频组和低频组,每个号码分别用一个高频和一个低频来表示,
24、因此DTMF号码识别实际上就是要识别出是哪两个频率的组合。,程控交换机使用DTMF收号器(硬件收号器)来接收DTMF信号,DTMF收号器的示意图如图3.42所示。,图3.42 DTMF收号器示意图,在图3.42中,输出端用于输出某个号码的高频信号和低频信号,信号标志用于表示DTMF收号器是否在收号。当信号标志SP=0时,表示DTMF收号器正在收号,可以从收号器读取号码信息;当信号标志SP=1时,表示DTMF收号器没有收号,无信息可读。为了及时读出号码,我们对信号标志SP要进行检测监视,一般DTMF信号传送时间大于40ms,我们通常取该扫描监视周期为20ms,以确保不漏读DTMF号码。,图3.4
25、3 DTMF收号原理,4、分析处理分析处理就是对各种信息(当前状态、输入信息、用户数据、可用资源等)进行分析,以确定下一步要执行的任务和进行的输出处理。分析处理由分析处理程序来完成,它属于基本级程序。按照要分析的信息,分析处理具体可分为:去话分析号码分析来话分析状态分析,(1)去话分析:输入处理的摘挂机扫描程序检测到用户摘机信号后,交换机要根据用户数据进行一系列的分析,然后决定下一步的接续动作。我们将这种在主叫用户摘机发起呼叫时所进行的分析叫做去话分析,去话分析基于主叫用户数据,去话分析的结果决定下一步任务的执行和输出处理操作。图3.44是去话分析示意图。,图3.44 去话分析,图3.45是去
26、话分析的一般流程,它给出了主要的去话分析内容。,交换机检测到用户摘机后,首先要核实用户当前的状态,只有在空闲状态,才允许发起呼叫。用户呼叫限制的检查排除了因欠费等情况引起的呼出限制。对话机类别的分析,是判定用户拨号采用DTMF方式,还是PULSE(脉冲)方式,如果是DTMF方式,就要分配DTMF收号器来接收号码;如果是PULSE方式,则无需分配硬件收号器而是由软件来实现收号。同时还要获知用户是普通用户还是优先用户,在某些情况下交换机对两类用户会区别对待,如当进行过负荷控制时,会首先限制普通用户的呼出。用户计费方式的分析与是否计费以及呼叫过程所产生的话单密切相关。只有本地呼叫权限的用户,不允许其
27、拨打长途,在呼叫处理过程中像这样的控制是依据对用户呼叫权限的分析结果而进行的。,(2)号码分析:号码分析是在收到用户的拨号号码时所进行的分析处理,其分析的数据来源就是用户所拨的号码。交换机可从用户线上直接接收号码,也可从中继线上接收它局传送来的号码。号码分析的目的是确定接续方向和应收号码的长度,以及下一步要执行的任务。图3.46是号码分析示意图。,图3.46 号码分析,号码分析可分二个步骤进行:号首分析和号码翻译。接收到用户所拨的号码后,首先进行的分析就是号首分析。号首分析是对用户所收到的前几位号码的分析,一般为13位,以判定呼叫的接续类型,获取应收号长和路由等信息。号码翻译是接收到全部被叫号
28、码后所进行的分析处理,它通过接收到的被叫号码来找到对应的被叫用户。每个用户在交换机内都具有唯一的标识,我们通常称之为用户设备号,通过被叫号码找到对应的被叫用户,实际上就是要确定被叫用户的用户设备号,从而确定其实际所处的物理端口。,图3.47表示了号码分析及相应任务执行的流程。,图3.47 号码分析及相应任务的执行,比如按照我国电话网编号计划,若号首为“0”,则为国内长途呼叫;号首为“00”,则为国际长途呼叫;号首为“800”,则为智能网业务呼叫;号首为“119”,则为特服呼叫。通过号码分析确定了呼叫类型并获取了相关信息,进而转去执行相应的呼叫处理程序。,(3)来话分析来话分析是当有入呼叫到来时
29、在叫出被叫之前所进行的分析,分析的目的是要确定能否叫出被叫和如何继续控制入局呼叫的接续。来话分析是基于被叫用户数据进行的。图3.48是来话分析示意图。,图3.48 来话分析,图3.49表示了来话分析的一般流程。特别注意的是当被叫忙时,应判断用户是否登记了呼叫等待、遇忙无条件转移和遇忙回叫业务。,图3.49 来话分析的一般流程,(4)状态分析从对呼叫处理过程特点的分析可知,整个呼叫处理过程分为若干个阶段,每个阶段可以用一个稳定状态来表示,整个呼叫处理的过程就是在一个稳定状态下,处理机监视、识别输入信号,进行分析处理,执行任务和输出命令,然后跃迁到下一个稳定状态的循环过程。在一个稳定状态下,若没有
30、输入信号,状态不会迁移。在同一状态下,对不同输入信号的处理是不同的。因此在某个稳定状态下,接收到各种输入信号,首先要进行的分析就是状态分析,状态分析的目的是要确定下一步的动作,即执行的任务或进一步的分析。状态分析基于当前的呼叫状态和接收的事件。,呼叫状态主要有空闲、等待收号、收号、振铃、通话、听忙音、听空号音、听催挂音、挂起等,可能接收的事件主要有:摘机、挂机、超时、拨号号码、空错号(分析结果产生)等,在这里要强调的是事件不仅包括从外部接收的事件,还包括从交换机内部接收的事件,内部事件一般是由计时器超时、分析程序分析的结果、故障检测结果、测试结果等产生的。,5、任务执行和输出处理在呼叫处理状态
31、迁移的过程中,交换机所要完成的任务主要有:分配和释放各种资源,如对DTMF收号器、时隙的分配和释放。启动和停止各种计时器,如启动40s忙音计时器,停止60s振铃计时器等。形成信令、处理机间通信消息和驱动硬件的控制命令,如接通话路命令、送各种信号音和停各种信号音命令。开始和停止计费,如记录计费相关数据等。计算操作,如计算已收号长,重发消息次数等。存储各种号码,如被叫号码、新业务登记的各种号码等。对用户数据、局数据的读写操作。,在任务执行的过程中,要输出一些信令、消息或动作命令,输出处理就是完成这些信令、消息的发送和相关动作的过程。具体来说,输出处理主要包括:送各种信号音、停各种信号音,向用户振铃
32、和停振铃;驱动交换网络建立或拆除通话话路;连接DTMF收号器;发送公共信道信令;发送线路信令和MFC信令;发送处理机间通信信息;发送计费脉冲等。,3.6.3 程控交换软件技术1、群处理为提高效率,在软件设计中尽可能对一群对象同时进行逻辑运算和处理,我们将这种方法称作群处理。下面我们以用户线摘挂机扫描为例来说明群处理的基本方法。设处理机的字长为16位,由于每个用户摘挂机扫描的状态只用一个二进制比特就可表示,因此我们每次可以同时对一组16个用户进行摘挂机检测。图3.50是用户摘挂机扫描的群处理流程。,图3.50 用户摘挂机扫描群处理流程,在群处理过程中,设交换机对16个用户扫描的状态数据和运算数据
33、如图3.51所示,在群处理的流程中,逐位检查摘机、挂机用户,实际上就是逐位检查相应运算结果哪一位为“1”,16位比特分别对应16个用户。如对摘机运算结果的检测,可知用户8和10摘机;对挂机运算结果的检测,可知用户1和15挂机。,图3.51 群处理举例,2、逐次展开法逐次展开法基于逐次展开分析表,该表为多级检索表,呈树型结构,如图3.52所示。,图3.52 逐次展开法,每一级表对应一位号码,即收到第一位号码,查第1级表,收到第二位号码,查第2级表等等。表中每个单元由两部分组成:指示位和地址字段,指示位用以指示地址字段存放的是下一级(位)检索表首地址,还是结论表首地址。前者表示号首分析还未有结果,
34、还得继续收号、分析,后者表示号首分析完成,分析结果可在结论表中查到,它包括呼叫的接续类型、应收号长和路由等信息,比如我们可以用“0”来表示分析还没有结论,用“1”来表示分析已有结论。,号首分析也可以采用图3.53所示的方法,即第一级表对应3位号首,大多数情况下,通过第一级表就可以分析出结果,这时地址字段指向结论表。如果不能分析出结果,则继续进行下一级表的分析。我们可以将其看作是逐次展开法的一种变形。,图3.53 号首分析的另一种方法,3、表格驱动表格驱动就是根据所给参数查表来启动程序执行的方法,它是程控交换软件设计中经常采用的一种技术,可灵活地实现程序的调用执行。表格驱动技术包括两部分内容:驱
35、动表格和调度管理程序。我们以周期级程序的调度为例来说明表格驱动技术。图3.54是周期级程序调度的驱动表格结构,它是由时间计数器、屏蔽表、时间表和程序地址表组成的。,图3.54 驱动周期级程序调度执行的表格结构,时间表的每一行代表时间,每一列为一个比特,代表一个程序,若在第i行的第j列该比特位的值为“1”,则表示在这个时刻,该程序被调用;若为“0”,则不被调用。每次时间中断到来时,都要对时间计数器作加“1”操作,时间计数器的值形成了时间表的行地址。程序地址表保存被调用程序的入口地址。屏蔽表用于控制在该时刻该程序是否被调用执行,屏蔽表的每一位对应一个程序,如果某一位为“1”则表示该程序可执行,否则
36、不执行。屏蔽表提供了一种灵活控制程序调用的机制,这样就不用频繁更改时间表了。,若时间中断周期为10ms,则由上述表格结构的设计可知:拨号脉冲识别程序每隔10ms被调用执行;按键号码识别程序每隔20ms被调用执行;位间隔识别程序每隔100ms被调用执行;用户线扫描程序每隔100ms被调用执行;中继线扫描程序每隔100ms被调用执行。,图3.55 基于表格驱动的调度管理程序流程图,4、有限状态机的实现呼叫处理过程可以用扩展的有限状态机来描述,因而呼叫处理程序的实现,就是实现呼叫处理的有限状态机。设计实现有限状态机的方法有很多,在这里我们介绍常用的两种实现方法:二维数组法和多级表法。基于二维数组的有限状态机的实现如图3.56所示,二维数组下标分别由状态号和事件号构成,下标(n,m)所对应的数组元素则是在n状态下、接收到m事件时,应进行的下一步工作的执行程序入口地址,该程序完成相应的分析、任务执行和输出处理,并跃迁到下一个状态。,图3.56 基于二维数组的有限状态机的实现,基于多级表的有限状态机的实现如图3.57所示,该多级表的第1级为状态索引表,通过状态号可检索到该状态下可能接收的事件索引表的地址,再由所接收的事件号检索到在该状态下收到该事件完成下一步工作的程序地址,调用相应程序执行,即可完成相应的呼叫处理。,图3.57 基于多级表的有限状态机的实现,