第四章、程控交换软件系统学习内容:1、程控交换软件系统概述2、呼叫处理的基本原理1.1交换软件的特点和组成交换软件的特点程控交换机的运行软件=操作系统+应用软件运行软件的基本任务就是控制交换机的运行,也就是完成呼叫处理。程控交换机的特点是业务量大,实时性和可靠性要求高,因此对运行软件也要求有较高的实时效率,能处理大量的呼叫,而且必须保证通信业务的不间断性。即运行软件的特点为:实时性、多道程序运行、业务的不间断性交换软件的组成交换软件运行软件系统(交换机运行时执行的软件)支援软件系统操作系统数据库系统应用软件系统软件开发、生产工具与环境软件维护工具与环境呼叫处理程序管理程序维护程序1.1交换软件的特点和组成一运行软件系统呼叫处理程序管理程序应用软件系统维护程序调用返回系统调用操作系统硬件系统中断控制数据库管理系统数据运行软件的系统结构数据:反映交换局和用户的情况,为程序的执行提供必要的环境和依据。操作系统:负责资源的管理和程序的执行控制。操作系统直接覆盖在裸机上,为其它软件提供一个虚拟机环境。呼叫处理程序:负责呼叫处理功能。管理程序:协助实现交换机的软,硬件系统的更新(如新用户建立,用户改号时用户数据的更新);进行计费管理;监督交换机的工作情况,确保交换机的服务质量(如服务观察和话务量测量)。维护程序:负责交换机的故障检测,诊断和恢复,保证交换机可靠工作。管理25%呼叫处理15%操作系统20%维护40%运行软件的比例分配二软件支援系统交换机的运行软件本身是很庞大和复杂,它的设计生产和维护工作也是艰巨的,软件支援系统就是提供这两方面的工具和环境.交换机的运行软件大体结构相同,但对不同的交换局,需作一定的修改以适应各种具体要求,利用软件开发、生产工具与环境可高效、可靠地完成。软件维护指对原先设计的运行软件不断地改进和扩充,直至交换机退役,这也可以由软件维护工具与环境完成。程控交换机的操作系统操作系统的类型:批处理操作系统、分时操作系统、实时操作系统、网络操作系统、分布式操作系统程控交换系统是一个实时控制系统,因此它的操作系统具有实时操作系统的特点。此外,由于在程控交换系统中常常采用多处理机系统,它的结构有计算机局域网的特点,因此其操作系统还具有网络操作系统的功能。对于全分散控制的交换系统来说,其操作系统也具有分布式操作系统的特点。程控交换机操作系统的特点:实时性:对一组“激励”(输入)在满足一定的时间要求的条件下系统应产生相应的“响应”(输出),这就是实时操作。多任务与并发性:多任务的并发性引起任务间的同步、互斥、通信以及资源共享。程控交换机操作系统的特点环境行为的随机性:要求系统各部分的处理能力必须按忙时负荷来计算。网络资源共享和网络通信:分布性:使得系统在资源管理、进程通信和系统结构上具有其自身特点。操作系统的功能:对计算机资源管理(处理机管理,存储器管理,I/O设备管理,文件管理)控制程序执行:根据任务的轻重缓急调度程序运行.此处重点介绍在程控交换系统中操作系统如何控制程序进行。任务的分级程控交换系统中任务按紧急性和实时性的要求不同可分为:故障级:负责故障识别和紧急处理等功能,具有最高优先级。周期级:由时钟中断按周期性启动的任务。(用户扫描程序,启动周期为96ms拨号脉冲识别程序,启动周期为8ms)基本级:由队列启动的、实时性要求较低的任务。(如通路选择,维护管理程序等)时钟中断故障级周期级基本级暂停时钟中断时钟中断时钟中断8ms任务的分级各级任务执行顺序示意如下:故障级程序和基本级程序又根据重要程度细分若干等级,同级申请时按等级的高低先后执行.或者每级相同时,排队执行(进入队列)时钟级程序中不同的程序启动周期不一样,需要通过时间表来调度执行.故障级时钟级基本级空闲定时中断定时中断定时中断定时中断定时中断2时钟级程序的调度不同的时钟程序其启动周期不同,如何保证在不同的时钟周期到来时启动相应的周期程序执行呢?调度方法:通过产生定时时钟中断信号的定时器和时间表来控制时钟级程序的调度.时间计数器:对定时中断脉冲计数屏蔽表:反映程序是否处在可执行状态时间表调度表:功能程序入口地址表时间表的工作机理:下面通过举例说明时间表的工作过程和原理.设周期级程序及其启动周期如下:拨号脉冲识别程序,8ms测试用拨号脉冲识别程序,8ms按钮号识别程序,16ms位间隔识别程序,96ms用户群扫描程序,96ms中继器扫描程序,96ms时间计数器清零,(根据实际情况确定)定时时间的确定:由于最小的启动周期为8ms,其它的启动周期又均是8ms的倍数,因此取8ms为定时器的周期时间计数器拨号脉冲识别测试用拨号脉冲识别按钮号识别位间隔识别用户群1扫描用户群2扫描时间计数器清零0001110010110101110000110001110000110001110000110001110000110001111000111000000111101101屏蔽表:反映程序是否处在可执行状态,为1可执行。调度表:每行表示当时钟周期到来时是否调出相应的程序执行,为1表示要执行。T0T1T2T3T4T5T6T7T8T9TATB功能程序入口地指表时间表的工作原理:起始时,时间计数器为0,来一个脉冲,计数器加1,开始从调度表中相应单元取数。调度程序执行,执行到最后一行,最后调出计数器清零程序,计数器为0。当再来一个脉冲又从T1单元开始取数执行。①时间计数器置初值0,每当定时时间到产生一中断脉冲时间计数器就加1.②以时间计数器的值为指针取出调度表中的相应单元与屏蔽表相乘。③对相乘结果进行寻“1”,哪一位为1,则对应的功能程序被调出执行。④调度表的最后一行,最后调计数器清零程序,以便循环。时间表的设计:定时时间的确定:时基=各程序的启动周期的最大公约数。调度表的行数:各启动周期的最小公倍数时基例如设计一时间表调度A,B,C程序的执行,A,B,C的启动周期分别为2ms,3ms,4ms时基:1ms,即产生定时中断脉冲的定时周期为1ms调度表的行数:12ms/1ms=12时间计数器000001000000000100000010000000010000010000000011000000000000000100000110000000010000000010000011时钟级程序A时钟级程序B时钟级程序C…时间计数器清零功能程序入口地址调度表注:对于具有相同启动周期的程序,应分配在不同的时刻执行,而不要在同一时钟中断脉冲到来时执行,使时钟级程序均匀分配在各时钟中断脉冲到来时刻执行,留下足够的时间给基本级程序。1.2应用程序文件组成3程控交换软件设计语言程控交换机的软件设计常用两类语言:汇编语言高级语言选用哪类语言通常要考虑以下几点:1)程序的效率2)编程的效率3)适于程序结构化和软件模块化的设计4)便于程序的调试5)可维护性和可移植性6)数据修改的可能性和方便性SDL语言CCITT建议的SDL语言(SpecificationandDescriptionLanguage功能规格和描述语言)主要用于规定电信交换系统的行为,已成为国际上通用的标准。SDL特点:SDL是为描述复杂的实时系统而特别设计的,只要系统的行为能用扩展的有限状态机来描述,并且其重点在于交互方面,SDL就能够适用。SDL语言具有两种不同的形式,即正文短语表示法(PR)和图形表示法(GR)。PR基于类似程序的语句,比较适合计算机使用。GR基于一套标准化了的图形符号,能够清晰地表示系统结构和控制流程。SDL是形式化定义的,可以对其进行分析、模拟和确认。1.规范描述语言规范描述语言(SDL)是原CCITT建议的一种高级语言,主要用来说明电话交换系统的行为。(1)系统定义系统名字信号定义信号表定义信道定义数据定义模块定义图4-6系统图的SDL/GR表示(2)模块定义模块定义包含以下项目:模块名字信号定义信号表定义信号路由定义信道到路由的连接进程定义数据定义图4-7模块的SDL/GR表示(3)进程定义图SDL/GR描述进程的主要符号进程定义的例子SDT开发工具SDT是基于SDL语言的支持工具,是基于SDL系统开发的集成环境。它包括MSC图编辑器,SDL图形编辑器,SDT分析仪、SDT模拟器、SDT确认器和C代码生成器。采用SDT开发工具的开发流程GR编辑器转化为SDLPR形式语法检查模拟确认C生成器C编辑器C链接库MSC图编辑器系统功能说明系统设计软件设计程序编制软件检验运行和维护软件维护SDLCHILLSDL、CHILLMML软件生存周期号码预译就是对号首(一般为头3位)的分析,以确定呼叫类型、号长以及下一步要做的工作。地址翻译就是将被叫的电话号码翻译成交换机内部所使用的可唯一标识被叫的地址(通常称为用户设备号),以确定本次通话的被叫。系统数据、用户数据、局数据多级表格——号码预译和地址翻译呼叫处理有关的数据和表格第一位号码第二位号码第三位号码结论表索引呼叫类别局向路由…(号首)组号匹配组内号码匹配翻译结果用户设备号被叫号码62282656号码预译地址翻译7.2呼叫处理有关的数据和表格事件队列——周期级与基本级程序的接口队列进程基本级周期级扫描到事件(顺序、链表)呼叫处理有关的数据和表格呼叫处理的基本原理呼叫处理软件是负责呼叫处理功能,具体有:监视话路设备的状态(用户线、中继线)、接收用户号码,数字(号码)分析,状态分析,路由选择,通路选择,驱动话路设备等.第一位号码到一呼叫处理的过程及处理任务处理任务状态输入信号(事件)用户扫描去话分析,送拨号音停拨号音,数字分析来话分析,(路由选择)通路选择,振铃控制,送回铃音通路接续路由复原,送忙音主叫复原空闲等待收号收号振铃通话听忙音空闲主叫摘机送用户号码被叫摘机被叫挂机主叫挂机上述呼叫处理过程中所执行的处理任务可以分为三种类型:输入处理、内部处理、输出处理。输入处理:用于识别输入信号,具体有用户扫描,收号等。内部处理:分析输入信息的现有状态,分配资源(收号器,中继路由,内部链路),决定下一步的工作。如数字分析,来话分析,通路选择。输出处理:执行内部处理的结果,完成对话路设备的驱动,如振铃控制,通路接续,送忙音,回铃音等。一个呼叫处理过程是输入处理,内部处理,输出处理的不断循环,一个循环的结束,硬件设备就从一个稳定状态转移到新的稳定状态。一个呼叫处理的过程实际上是状态转移的过程。8.1一个呼叫的处理过程1)主叫用户摘机呼叫2)送拨号音,准备收号3)收号4)号码分析5)接至被叫用户6)向被叫用户振铃7)被叫应答和通话8)主叫先挂机,通话结束9)被叫先挂机,通话结束用SDL图表示的呼叫处理过程用SDL图表示的一个呼叫处理过程呼叫处理的SDL图的特点呼叫处理的过程可分为三个部分:输入处理分析处理内部任务的执行和输出处理用户模块1#0127…用户模块4#0127……数字交换网络中继模块1#中继模块4#………063063CPU数字交换系统中一个呼叫(局内呼叫)2MPCM2MPCMCACBCall_HKOFSendDialToneNumberRingingSetupCalled_HKOF通话用MSC图表示的一个呼叫处理过程StopDialToneNumberNumberSendAlertToneSetupAckCalled_HKOFCACBCalled_HKONReleaseCall_HKONReleaseAck通话用MSC图表示的一个呼叫处理过程SendBusyToneCalled_HKONReleaseCall_HKONReleaseAckSendBusyTone被叫先挂主叫先挂8.3输入处理输入处理程序的主要任务是对用户线、中继线等进行监视、检测和识别,及时报告事件的产生。输入处理主要可分为:用户线扫描监视中继线线路信号扫描接收Pulse、DTMF和MFC信号接收公共信道信号用户线扫描监视程序主要负责检测用户线的状态和识别用户线状态的变化。用户线的各种不同变化:用户话机的摘/挂机状态号盘话机的拨号脉冲用户通话时的环路状态投币话机的输入信号用户线上各种不