2006年春夏1第4章程控交换机的软件4.1程控交换机的运行软件4.2软件设计语言4.3程序的级别与调度4.4呼叫处理程序(对应书中第6章前半部分和第7章)2006年春夏24.1程控交换机的运行软件运行软件的基本概念对运行软件的要求运行软件的分类与组成程序文件2006年春夏34.1程控交换机的运行软件运行软件的基本概念指存放在交换机处理机系统中,对交换机的各种业务进行处理的程序和数据的集合。对运行软件的要求实时性并发性不间断性分类系统软件应用软件2006年春夏4程控交换机运行软件的组成话路部分I/O设备系统软件呼叫处理程序维护和运行程序执行管理程序系统监视故障处理程序故障诊断程序I/O和人机通信程序应用软件2006年春夏5各程序的功能描述执行管理程序(操作系统)管理软硬件资源程序运行平台I/O与人机通信程序负责系统的输入和输出实现人机通信(如测试,查询等)故障诊断程序故障测试、诊断,确定故障部位,以便处理2006年春夏6程序功能描述——系统监视和故障识别系统监视硬件监视:核对与检测电路软件监视:比较与校验分析与故障处理分析故障原因,确定处理措施临时故障,恢复处理确认故障,主/备切换系统重新组织切换并建立新系统恢复与在启动重新初始化,恢复数据,直至正常工作2006年春夏7程序功能描述——呼叫处理程序是直接负责电话交换的软件,即负责交换机所有呼叫的建立与释放。具体包括:交换状态管理各种状态的读写,状态转移与管理交换资源管理各种功能模块的调用与管理如用户模块、中继器、收/拨号器、交换网络等交换业务管理一般业务和补充业务的管理如叫醒业务、转移呼叫业务等交换负荷管理根据业务负荷,控制发话和入局呼叫,保证系统安全工作2006年春夏8程序功能描述——维护和运行程序话务量观察、统计与分析定期对用户线和中继线例行维护和测试业务质量监视通话质量监视收费监视业务变更处理用户变动处理:新用户登记、撤销或更改号码等业务业务更改处理:新业务登记、业务更改等计费与用户账单打印负荷控制:对话务量负荷进行控制2006年春夏9程序文件程序文件的通用性要求虽然各交换局业务和功能不完全相同各局交换容量、中继线对不完全相同但要求软件具有最大的通用性--即同一软件通用性基本思想:将程序和数据分开程序数据局数据用户数据程序和系统数据一起称为系统程序系统数据2006年春夏10程序文件的组成三部分:系统程序、局数据和用户数据系统程序:不同的交换局通用局数据:各局不同设备情况:如硬件配置、安装条件编号方式、中继线信号方式等用户数据:各局不同局用户分配新业务的情况话机类别各自不同的用户属性等局数据和用户数据由数据库提供2006年春夏11选择语言要考虑的因素程序的效率(空间的和时间的)程序员的编程效率结构化程序设计和软件模块化的适用性调试的效率可维护性和可移植性数据修改的可能性和方便性4.2软件设计语言2006年春夏124.2软件设计语言常用的软件设计语言汇编语言(低级语言)程序效率高高级语言除了效率,具备其它所有优点通常采用混合编程方法2006年春夏134.2软件设计语言原CCITT(现ITU)建议的专用语言CHILL语言(CCITTHighLevelLanguage)是一种高级编程语言SDL语言(SpecificationandDescriptionLanguage)一种功能规格和描述语言MML语言(Man-MachineLanguage)人-机通信语言2006年春夏14系统功能说明系统设计软件设计程序编制软件检验运行和维护SDLCHILLMML4.2软件设计语言2006年春夏154.3程序的分级和调度根据对实时性要求的不同,程序的级别分为:故障级:故障识别和处理,级别最高周期级:周期性启动,时钟中断启动执行基本级:实时性要求低,队列启动2006年春夏16各级任务执行举例8ms时钟中断故障级周期级基本级暂停时钟中断时钟中断时钟中断2006年春夏174.4呼叫处理基本原理4.4.1呼叫处理原理概述4.4.2用SDL图描述的呼叫处理过程4.4.3呼叫处理相关数据与表格4.4.4输入处理4.4.5分析处理2006年春夏184.4.1呼叫处理原理概述呼叫处理是交换机软件的核心应用软件基本原理交换机随时监视外部接口的输入信息,并进行分析处理,实现用户通话所需的全部处理功能呼叫处理的基本步骤1.输入处理(数据采集)识别并接收外部输入的处理请求信号(如摘/挂机信号等)2.分析处理(内部处理)根据输入信号和现有状态进行比较分析,判别,决定下一步任务3.任务执行和输出处理根据分析结果,发布命令,命令对象可能是内部的某一任务,也可能是外部硬件(如送拨号音、振铃音等)2006年春夏194.4.1呼叫处理原理概述一个正常的局内呼叫处理过程描述由A向B发起的呼叫过程如下:1)A摘机2)交换机检测到摘机,送拨号音3)A拨被叫B的号码4)交换机接收号码,进行分析(出局?服务权限?),向被叫B振铃,同时向A回铃5)被叫B摘机6)交换机检测到B摘机,接通A与B路由并启动记费7)A与B通话8)A与B任何一方挂机,交换机断开A、B通路,停止记费2006年春夏20稳定状态与状态转移SDL图简介一个局内呼叫的SDL进程图举例4.4.2用SDL图描述的呼叫处理过程2006年春夏21稳定状态与状态转移状态转移的概念将一次接续过程分为不同的阶段,每个阶段由一个稳定状态来表示。由一个稳定状态到另一个稳定状态的变化叫状态转移(如空闲--等待收号--收号…….)稳定状态K输入信号(事件产生)输入程序(事件识别)分析程序(事件分析)输出命令(执行任务)状态迁移与控制稳定状态K+1注意:一个状态的迁移,必须有输入信号产生稳定状态与状态转移同一输入不同状态处理新状态摘机空闲主叫摘机,接收号器,送拨号音等待收号振铃被叫摘机,断铃,路由接续通话同一状态不同输入处理新状态振铃主叫挂机中途挂机,停振铃和回铃音,中断呼叫空闲被叫摘机通话接续,停振铃和回铃音,接续通话同一状态同一输入处理新状态空闲主叫摘机收号器接续,若无空闲收号器或路由听忙音收号器接续,若有空闲收号器和路由等待收号状态转移的多种可能性1)同一输入信号,不同状态下会转移到不同的新状态2)同一状态下,不同输入信号,转移的状态不同3)同一状态下,同一输入信号,也可能出现不同的转移2006年春夏23SDL进程图简介常用的SDL进程图形符号状态输入输出判别任务是SDL语言的一种图形表示法动态特征是一个激励--一个响应(描述状态转移)局内A呼叫B的SDL进程图例详图见书中P137A摘机1等收号0空闲拨号A挂机T03听忙音拨号A挂机T10空闲3听忙音2收号(逐位)号收够4振铃A挂机0空闲3听忙音0空闲5通话A挂机B摘机T3A挂机B挂机2收号(逐位)T0:首位拨号等待时间T1:号码间隔时间T3:振铃最长时间0空闲空号B忙2006年春夏254.4.3呼叫处理相关数据与表格程控交换机的数据分:通用数据和专用数据通用数据即系统数据,对所有交换机适用专用数据即局数据和用户数据,不同交换机不同数据是呼叫处理的信息来源和依据用户数据反映用户情况和属性,每个用户所特有静态数据用户情况如呼入/呼出限制用户类别如私人用户、共用电话话机类别DTMF或脉冲拨号出局限制局内、市内、国内、国际用户业务热线、叫醒、缩位等记费类别定期/立即记费,免费记费等级私话、公话各种号码用户设备号、时隙号、局号、密码等............动态数据临时状态数据用户的忙、闲、测试状态,用户的摘、挂机状态等,所占的收号器、时隙……….局数据反映交换局情况,每个交换局所特有公用硬件配置情况入/出中继数与类别,信号设备数与类别,收号器数,交换网络结构,公共链路数局间环境参数局向数、每局的中继器数和类别迂回路由设置出局、入局呼叫迂回路由提供情况接用户交换机用户交换机类别、入网方式、号码、中继线数记费方式按次、按时等话务量接通率统计特种服务特种服务种类和线数(如114,119,120等)提供新业务如热线、转移等等交换机类别如长/市/农合一,市话等各种号码本地网编号长度,局号,最多能收的号码等能接的非话终端种类和数量(传真、ISDN终端等)……..…………2006年春夏28基本任务对用户线、中继线监视、检测和识别,然后进入队列或相应存储区,供其他程序取用。功能具体包括用户线扫描监视中继线线路信号扫描接收数字信号(如DTMF信号、多频信号等)接收公共信道方式的电话信号(信令)接收操作台的各种信号4.4.4输入处理2006年春夏29目的:检测和识别用户线状态状态:摘/挂机状态号盘话机拨号脉冲投币话机输入信号通话时环路状态特点:用户线只有两种状态:“断”和“续”,分别用“1”和“0”表示用户状态的变化是随机的对用户线扫描是周期性的摘/挂机识别扫描周期:100-200ms拨号脉冲识别扫描周期:8-10ms用户线扫描监视2006年春夏30用户摘/挂机识别与扫描识别方法规定摘机/挂机状态的表示方式“1”表示摘机,“0”表示挂机也可“0”表示摘机,则“1”表示挂机但一个交换机内只能规定一种状态识别(识别程序完成)找出变化状态(0-1或1-0变化)识别算法(假设“0”摘机,“1”挂机)本次状态前次状态1表示用户由挂机变为摘机本次状态前次状态1表示用户由摘机变为挂机注意:并不是每次用户状态的扫描都会引起下一步处理,算法正是保证只在状态变化时才进行下一步处理∩∩2006年春夏31用户摘/挂机识别示例111100000111111110000011用户线状态200ms扫描本次扫描前次扫描本次前次1000000000001本次前次00000000000挂机摘机挂机摘机识别挂机识别假设“0”摘机,“1”挂机012006年春夏32用户摘/挂机状态扫描扫描方式有两种逐个用户扫描逐组用户扫描(群用户扫描)每组用户的数量一般等于处理机的位数一般采用该方式,效率更高群用户识别原理将用户分成多个组每次对一组用户同时扫描找出组中真正摘、挂机的用户针对具体用户(个体)进行处理110110101010111用户号本次扫描前次扫描假设每组8个用户,其中D0---D7对应用户0---7且假设“0”摘机,“1”挂机D7D6D5D4D3D2D1D0本次前次00000011本次前次000000011发生状态变化的用户:2、4、5、6其中用户2、5由挂机变为摘机用户4、6由摘机变为挂机只对状态变化的用户进行处理组(群)扫描示例置扫描起始地址读用户扫描数据有用户摘机?有用户挂机?最后用户组?找出摘机用户摘机用户进入处理队列找出挂机用户挂机用户进入处理队列换一组用户返回200msyyyNN组(群)扫描与识别流程2006年春夏35123A456B789C*0#D1209Hz1336Hz1477Hz1633Hz697Hz770Hz852Hz941HzDTMF(双音多频)话机是目前主要的话机类型DTMF拨号的特点每个号码由两个频率混合而成(高音+低音)高低音各四个,不同组合代表不同的号码每个号码持续时间大于40ms扫描周期为16ms按钮话机(DTMF)号码的接收2006年春夏36收号器接收DTMF号码由DTMF收号器完成每个收号器都有一根“信号到来”指示线SPSP—”1”,表示无信号SP—”0”,表示有号码每收一个号,在SP线上会产生一个脉冲变化按钮话机(DTMF)号码的接收2006年春夏37收号处理过程开始收号CPU检测SP定期扫描(16ms),周期小于号码持续时间的一半目的是避免漏号当SP由“1”变为“0”时,开始接收号码当SP由“0”变为“1”时,一个号码接收完毕收号的原则是:只有在SP状态“1”变为“0”时,才能收号目的是为了避免重复收号按钮话机(DTMF)号码