专注SIP通讯产品与方案

电路交换系统软件功能结构

        电路交换系统软件十分庞大复杂,软件的设计目标主要为可靠性(Reliability),可维护性(Maintenability)、可再用性(Reusability)和可移植性(Portability)。
  电路交换系统
        交换软件通常采用分层的模块化结构。常用的软件设计技术有:结构化分析与设计、模块化设计、结构化编程,并趋向于采用面向对象设计。
        从功能结构来划分,交换软件可以划分为运行软件系统和支援软件系统两大部分。运行软件系统又称在线软件或联机软件,主要包括操作系统、呼叫处理、维护管理3部分,后两部分合称为应用程序,各部分所占的大致比例示意于图8。
程控交换软件组成
图8   程控交换软件组成
       1.呼叫处理
       (1)呼叫处理过程示例
       下面通过概括地了解一个局内呼叫处理过程的示例,掌握数字电路交换系统应具有的呼叫处理基本功能。
       在开始时用户处于空闲状态,交换机进行扫描、监视用户线状态。用户摘机后开始了处理机的呼叫处理。处理过程如下。
主叫用户A摘机呼叫
       • 交换机检测到用户A摘机状态;
       • 交换机调查用户A的类别,以区分同线电话、一般电话、投币电话机还是小交换机等;
       • 调査话机类别,弄清是按钮话机还是号盘话机,以便接上相应收号器。
送拨号音,准备收号
       • 交换机寻找一个空闲收号器以及它和主叫用户间的空闲路由;
       • 寻找一个空闲的主叫用户和信号音间的路由,向主叫用户送拨号音;
       • 监视收号器的输入信号,准备收号。
收号
       • 由收号器接收用户所拨号码;
       • 收到第一位号后,停拨号音;
       • 对收到的号码按位存储,并对“应收位”、“已收位”进行计数;
       • 将号首送向分析程序进行分析(叫做预译处理)。 
号码分析
       • 在预译处理中分析号首,以决定呼叫类别(本局、出局、长途、特服等),并决定该收几位号;
       • 检查这个呼叫是否允许接通(是否限制用户等);
       • 检查被叫用户是否空闲,若空闲,则予以示忙。
接至被叫用户,测试并预占空闲路由
       • 向主叫用户送回铃音路由(这一条可能已经占用,尚未复原);
       • 向被叫用户送铃流回路(可能直接控制用户电路振铃,而不用另找路由);
       • 主、被叫用户通话路由(预占)。
向被叫用户振铃
       • 向用户B送铃流;
       • 向用户A送回铃音;
       • 监视主、被叫用户状态。
被叫应答通话
      • 被叫摘机应答,交换机检测到以后,停振铃和停回铃音;
      • 建立A、B用户音通话路由,开始通话;
      • 启动计费设备,开始计费;
      • 监视主、被叫用户状态。
话终,主叫先挂机
      • 主叫先挂机,交换机检测到以后,路由复原;
      • 停止计费;
      • 向被叫用户送忙音。
被叫先挂机
      • 被叫挂机,交换机检测到后,路由复原;
      • 停止计费;
      • 向主叫用户送忙音。
(2)呼叫处理程序
       呼叫处理程序用于控制呼叫的建立和释放,基本上对应于呼叫建立过程。呼叫处理程序可包含用户扫描、信令扫描、数字分析、路由选择、通路选择、输出驱动等功能块。
用户扫描
       用户扫描用来检测用户电路的状态变化,从断开到闭合或从闭合到断开。从状态的变化和用户原有的呼叫状态可判断事件的性质。例如,回路接通可能是主叫呼出,也可能是被叫应答。用户扫描程序应按一定的扫描周期执行。
信令扫描
       信令扫描泛指对用户线进行的收号扫描和对中继线或信令设备进行的扫描。前者包括脉冲收号或双音频(DTMF)收号的扫描;后者主要是指在随路信令方式时,对各种类型的中继线和多频接收器所做的线路信令和记发器信令的扫描。
        脉冲收号扫描比较复杂,包括脉冲扫描和位间隔扫描。脉冲扫描的周期为8ms左右,用来识别快速的脉冲变化;位间隔扫描的周期则为100ms左右,用来识别拨号数字之间的间隔。 
数字分析
       数字分析的主要任务是根据所收到的地址信令或其前几位判定接续的性质,如判别本局呼叫、出局呼叫、汇接呼叫、长途呼叫、特种业务呼叫等。对于非本局呼叫,从数字分析和翻译功能通常可以获得用于选路的有关数据。
路由选择
       路由选择的任务是确定对应于呼叫去向的中继线群,从中选择一条空闲的出中继线;如果线群全忙,还可以依次确定各个迂回路由并选择空闲中继线。
通路选择
       通路选择在数字分析和路由选择后执行,其任务是在交换网络指定的入端与出端之间选择一条空闲的通路。进行通路选择时,交换网络的入端和出端已定,按照不同的呼叫类型,可以是在主叫用户与被叫用户、主叫用户与出中继、入中继与被叫用户、入中继与出中继之间选择空闲通路。软件进行通路选择的依据是存储器中反映链路忙闲状态的映像表。
输出驱动
       输出驱动程序是软件与话路子系统中各种硬件的接口,用来驱动硬件电路的动作,如驱动数字交换网络的通路连接或释放、驱动用户电路中振铃继电器的动作等。
最后要指出的是,在通话阶段.除了用户扫描或信令扫描在不断监视状态或信令的变化以外,高层的呼叫处理并不介入。
(3) 输入处理、内部处理和输出处理
       呼叫处理软件为呼叫建立而执行的处理任务可分为3种类型:输入处理、内部处理和输出处理。
输入处理
       收集话路设备的状态变化和有关的信令信息称为输入处理。各种扫描程序都属于输入处理。输入处理通常是在时钟中断控制下按一定周期执行,主要任务是发现事件而不是处理事件。输入处理是靠近硬件的低层软件,实时性要求较高。
内部处理
      内部处理是呼叫处理的高层软件,与硬件无直接关系,如数字分析、路由选择、通路选择等。呼叫建立过程的主要处理任务都在内部处理中完成。
      内部处理程序的一个共同特点是要通过查表进行一系列的分析、译码和判断。内部处理程序的结果可以是启动另一个内部处理程序或者启动输出处理。
输出处理
      输出驱动属于输出处理,也是与硬件直接有关的低层软件。输出处理与输入处理都要针对一定的硬件设备,可合称为设备处理。扫描是处理机输入信息,驱动是处理机输出信息,扫描和驱动是处理机在呼叫处理过程中与硬件联系的两种基本方式。
       综上所述,呼叫处理过程可以看成是输入处理、内部处理和输出处理的不断循环。例如,从用户摘机到听到拨号音,输入处理是用户状态扫描;内部处理是表明主叫用户的服务类别,选择空闲的双音接收器和相应的连接通路;输出处理是驱动通路接通并送出拨号音。又如,本局呼叫从用户拨号到听到回铃音,输入处理是收号扫描;内部处理是数字分析和通路选择;输出处理是驱动振铃和送出回铃音。输入处理发现呼叫要求.通过内部处理的分析判断由输出处理完成对要求的响应。响应应尽可能迅速.以满足实时处理的要求。
       硬件执行了输出处理的驱动命令后,改变了硬件的状态,使得硬件设备从原有状态转移到另一个稳定状态,硬件设备在软件中的映像状态也随之而变,以始终保持一致。因此,呼叫处理过程也反映了不断的状态转移过程,如图9所示。按照系统的性能,刻画出不同的状态和状态转移条件,是设计呼叫处理程序的重要依据和有效方法。
状态转移过程
图9    状态转移过程
       由以上的分析可知,本小节开始时介绍的局内呼叫处理过程示例可分解为图10所示的状态转移过程。
状态转移过程
图10   状态转移过程
2. 操作系统
       程控交换是实时处理系统,应配置实时操作系统,以便有效地管理资源和支持应用软件的执行。
       各种程控交换机中操作系统的功能要求和组成不尽相同,概括起来说,主要的功能是任务调度、通信控制、存储器管理、时间管理、系统安全和恢复,此外还有外设处理、文件管理、装入引导等功能。
(1) 任务调度
       任务调度主要是对处理机资源的管理。要按照一定的调度策略或算法,将处理机资源分配给并发多任务中的某一个任务。如果用建立进程的方式来组织并发执行,则任务调度的核心就是进程的调度与管理。必须选用合理而有效的调度策略。任务调度也包含对各种周期的扫描程序的执行控制。
(2) 通信控制
       在多机分散控制系统中,各处理机之间要互通信息,在同一处理机的软件模块之间也要通信。对于采用进程的方式而言,就是进程之间的通信。应制定可靠而灵活的通信控制机理,由操作系统统一控制和管理。采用松耦合的消息传送机理,有利于可靠性和灵活性的提髙。
(3) 存储器管理
       程控交换系统在运行过程中,会产生大量的动态数据。暂存动态数据的存储区应统一管理,以提高存储器效率。存放临时由外存调入的程序和数据的覆盖存储区也应由操作系统统一管理。
(4) 时间管理
       时间也是由操作系统统一管理的一种资源。基本上包括两方面的时间管理:相对时限和绝对时限的监视,同时提供日历和时钟计时的服务。
(5) 系统安全和恢复
       为保证系统的安全可靠性,操作系统必须具有系统监视、系统再启动和软件再装入等功能。
3. 维护管理
       维护管理程序的功能有用户和中继测试、交换网络测试、业务观察、过负荷控制、话务量测量统计、计费处理、用户数据和局数据管理等。
4. 数据库
      相对于动态数据而言,半固定数据是基本上固定的数据,但在需要时也可以改变。半固定数据包括用户数据与局数据。通常采用数据库的结构来存放半固定数据,如关系数据库。
       应用程序需要某种半固定数据时,可向数据库管理系统(DBMS,DataBaseManagementSystem)发出请求,由DBMS系统从数据库中取出所需的数据返回给应用程序。存储程序控制的实现离不开存储器中的大量数据。软件包括程序与数据,数据又可分为动态数据和半固定数据两大类。数据是程序执行的环境和依据。因此,要存储何种数据及确定数据结构是一个重要问题。