计算机应用研究
APPLICATION RESEARCH OF COMPUTERS
2000 Vol.17 No.3 P.80-82




N-ISDN基本速率入口(BRA)呼叫控制的实现
韩和生　黄桂金
摘　要：近几年来，综合业务数字网(Integrated Services Digital Network)取得了较快的发展。特别是窄带ISDN(Narrowband ISDN)，已经进入到大量应用的阶段。主要介绍窄带ISDN的基本速率接口(2B+D)的呼叫控制的方案及实现。
关键词：窄带ISDN 2B+D 呼叫控制
l　引言
　　由于社会对信息处理的需求迅速增长，出现了很多新型的电信业务，包括声音、图象、文字、数据等等。人们为了满足这些业务，建立了专门的网络。网络之间的互通只有通过网间的特殊信关(Gateway)设备来实现。无论对用户还是对于运行管理部门来说，都存在很多缺点，如经济性差、效率低下、使用不便、维护复杂等。为了克服这些缺点，必须用一个单一的网络来提供各种不同的业务，实现完全的开放系统互连和通信。这个单一的网络就是综合业务数字网ISDN(Integrated Services Digital Network)。
　　因为不可能抛弃现存的网络，ISDN的发展将分为两步：第一步先发展窄带ISDN(Narrow ISDN)，即将用户-网络接口上的速率限制在2Mbit/s之内；第二步是发展宽带ISDN(Broadband ISDN)，以提供高得多的速率，并使图象通信和快速数据传送等业务成为可能。
　　窄带ISDN有两种不同速率的标准接口：一种是基本入口(Basic Rate Access)，速率为144 kbit/s，支持2条64 kbit/s的用户信道和一条16 kbit/s的信令信道；另一种是一次群速率入口(Primary Rate Access)，其速率和PCM一次群速率相同(2,048 kbit/s或1,544 kbit/s)，支持30或24条64 kbit/s的用户信道和一条64 kbit/s的信令信道。
2　相关协议
　　CCITT对于ISDN制定了一整套的相关协议，与呼叫控制有关的协议是I.451(即ITU-T Q.931)。该协议描述了D通路第三层的各种功能，规定了在ISDN用户-网络接口上建立、保持和清除网络连接的程序。其主要功能包括以下各项：
　　(a)处理与数据链路层通信的原语；
　　(b)产生和解释同层通信的第三层消息；
　　(c)管理呼叫控制程序中使用的定时器和逻辑实体；
　　(d)接入资源的管理，包括对B通路和分组层逻辑通路的管理；
　　(e)保证提供的业务与用户要求一致的检查(如，承载能力、地址、低层和高层兼容性)。
　　Q.931协议可以分成两部分：协议控制部分和呼叫控制部分。前者主要完成上述的前三项功能，后者主要完成后两项功能及逻辑实体的管理，两部分之间以原语进行通信。图1给出了用户-网络接口示意图。

　　Q.931对于协议控制作了很详细的规定：包括需要的状态定义，具体的消息结构，用户侧和网络侧的消息交换的流程及相关的SDL图。而对于呼叫控制部分则给出较为抽象的说明及参考的原语名称。这样做是因为这一部分无法制定成统一的标准，特别是在网络侧，各厂商的设计结构、设计思想都不会一致；当然，另一方面也给设计者以较大的灵活性。
3　开发协议软件的工程方法
　　通信网络的发展已经进入了一个系统化和工程化的时代，OSI参考模型在任何涉及到异种网络互连的地方都可以看到，各种系统的实现都必须遵循相应的OSI协议标准。因此，如何系统地开发协议软件，以确保在不同的实现之间能协调地工作是一个十分重要的问题。在这一背景下，产生了“协议工程”。协议工程为协议软件的研制和开发提供了一套工程规范，它是软件工程理论在分布式协议系统中的具体应用(图2)。

图2　开发协议软件的主要模型
　　所谓的协议概念模型是指用自然语言描述的协议工程。自然语言不够严格、不够精确，必须用形式描述技术(FDT，Formal Description Technique)将协议的概念模型变成精确的规格说明。FDT模型很多，主要有FSM、Petri网模型、形式语言模型等。对电信系统而言，常用的是SDL图表示的FSM模型。从协议的概念模型到精确的规格说明是一个反复的过程，也是实现协议的关键。
　　Q.931中有相当一部分是SDL图，这些图是其中协议控制部分的功能描述，对于呼叫控制部分来说，SDL图要自己制定。这部分必须慎重，确保整个呼叫控制模块功能即与协议控制的接口与规范一致。
4　FSM的管理
　　有限状态机(FSM)是自动机理论中的研究对象，其基本特征是具有有限的状态集、有限的输入集和有限的输出集，某一时刻的输出取决于系统前一状态和此刻的输入。
　　FSM有两种实现方法：表格驱动(Table-driven)和过程驱动(Procedure-driven)。表格驱动法利用一个二维数组，该数组中的每一行与一个状态相对应，每一列与一个可能的输入事件或引起的转换操作相对应，每一表项则与在某一状态下对某一事件的处理相对应。过程驱动法为每一个状态都定义一个过程。当一个事件发生时，根据当前的状态来选择正确的过程，这个过程用“case...”区分事件，并采取相应的处理。
　　表格驱动法适合于一个具有规则结构、简单语义和相对复杂的转换图表的有限状态机。过程驱动适合于实现具有几个转换和复杂语义的有限状态机。呼叫控制部分的实现采用了过程驱动法。
5　呼叫控制的实现
　　呼叫控制部分的功能为：
　　(a)完成端到端D信令的交互；
　　(b)进行资源管理(如B通路，呼叫参考)；
　　(c)通过和原交换机中MPU(Micro Processing Unit)的通信，完成呼叫的建立、接续、拆除等过程。
　　我们要实现的是网络侧的呼叫控制部分，而且是在原先普通交换机(更确切地说是调度机)上，因此充分参考了该机的特点。它采用的是全分散式结构，即每块用户板只负责处理4路普通电话，这样就保证了整个系统的高可靠性。相应地，ISDN的设计也采用了类似的方式，每块ISDN用户板只负责处理1路2B+D。这样，呼叫控制所管理的资源将大大减少。即使某块用户板不能正常工作，也不会影响其它的用户板。
　　由于交换机的上述特点，为了完成端到端的D信令的交互过程，呼叫控制模块除了要与协议控制进行原语通信，还要与其它用户板上的呼叫控制模块进行对等实体间的消息通信。
　　呼叫的接续过程，主要由原交换机的MPU来完成。ISDN用户板由原交换机的普通用户板改造而来，它和交换机的接口与原用户板到交换机的接口完全相同。但是由于原普通用户板与MPU的通信能力很差，无法满足实现ISDN功能所需的对交换机的控制。因此，对接续的控制就交由ISDN接续控制板来完成。ISDN接续控制板负责和MPU通信，而ISDN用户板则和接续控制板通信，通过接续控制板间接完成对呼叫的接续过程。
　　图3为其接口示意图。

图3　呼叫控制模块接口示意图
　　呼叫控制模块与协议控制模块以原语进行通信，属于板内通信。在整个呼叫的过程中，呼叫控制模块为了得到有关用户的信息(如用户号码、用户权限)，必须查询数据库，主要是调用数据库提供的API函数。另一方面通过与X总线驱动程序接口，呼叫控制模块与系统中的其它ISDN用户板上的呼叫控制模块及接续控制板的接续控制模块进行板间通信。
　　图4(a)～(c)给出了ISDN设备呼叫ISDN设备，ISDN呼叫普通电话、普通电话呼叫ISDN电话的消息流程图，图中的振铃信号来自MPU。(b)和(c)的呼叫释放的消息流程是相同的，为节省篇幅，在图(b)中没有给出呼叫释放的过程。

图4（a）　ISDN呼叫ISDN的呼叫过程消息流程

图4（b）　ISDN电话呼叫普通　　　　图4（c）　普通电话呼叫ISDN
电话的消息流程　　　　　　　　　电话的消息流程
　　呼叫控制模块采用了有限状态机(FSM)结构。将呼叫控制进行的不同时刻抽象为不同的状态，将来自外部和内部的激励分别表示成原语和消息，一次呼叫的处理过程就是在一系列消息和原语激励下的呼叫状态的演变。由于呼叫控制要处理ISDN到ISDN的呼叫，以及ISDN到普通电话、普通电话到ISDN的呼叫，而对于每一个呼叫，主、被叫端口分开单独考虑。因此，共定义了4组状态机来分别处理。
　　对每一个正在进行的呼叫，都有一个和它相联系的独立的动态数据结构，称之为呼叫控制块(Call Control Block，简称CCB)，它记录了当前某一正在进行的呼叫所需的各种动态数据，控制呼叫的进行。每当一个新的呼叫产生时，呼叫控制为其分配一个新的呼叫控制块，而当一个呼叫结束时，将返还该呼叫控制块。
6　数据结构
　　呼叫控制部分所涉及的数据结构有三种：和协议控制部分交互的原语结构、和其它呼叫控制交互的消息结构以及与接续控制部分通信的消息结构。
　　原语结构应由呼叫控制和协议控制协商决定，由于协议控制部分采用的是商用软件，原语结构已经提供了，这里不作讨论。
　　两种消息的整体结构大致相同，即由公共的消息头和数据部分组成。
　　消息头的结构为：
struct message_header
{
　　ushort DestAddr；　　　　　　/* 目的地址 */
　　uchar SourAddr；　　　　　　/* 源地址 */
　　uchar MsgType；　　　　　　/* 消息类型 */
　　ushort MsgLen；　　　　　　/* 实际有效数据长度 */
　　uchar MsgCode；　　　　　　/* 消息编码 */
　　uchar Reserved；
}
　　由于采用的是全分散式结构，板间通信是必须的。消息头提供的正是相关的信息，如：目的板(高字节为接续控制板，低字节为用户板)和源板地址，消息类型(用户板到用户板、用户板到接续控制板等)，传送的消息长度，消息编码。
　　各消息的数据部分则各不相同，呼叫控制与接续控制通信的消息根据交换机MPU的特点制定，呼叫控制与呼叫控制之间的消息则参考了Q.931中第三层的消息的组成及各信息单元的结构，如图5所示。

图5　呼叫控制消息结构
　　每条消息都包含了可能存在的信息单元，在这些信息单元中，有任选的，也有必选的。对于任选的信息单元，它可能存在于该消息中，也可能并不存在。为了指示这一点在信息单元加了一个标志。接收消息的呼叫控制实体可根据标志，正确地得到存在的信息单元的内容。消息结构的这样定义是为了简单，因为它并没有涉及到内存的动态分配，因而不会给整个系统带来什么影响，而在处理上则一目了然。
7　结束语
　　上述呼叫控制的方案证明是切实可行的，目前已经成功地实现了语音、数据及图象的传输。有了可靠的网络连接，用户终端可以在此基础上开发出更多的应用程序，特别是非通话业务的实现。
韩和生(华中理工大学 武汉 430074)
黄桂金(华中理工大学 武汉 430074)
参考文献
1 ITU-T Recommendation Q.931: Digital Subscriber Signalling No.1 (DSS 1)-ISDN User- Network Interface Layer 3 Specification For Basic Call Control 1993
2 中华人民共和国标准: ISDN用户-网络接口第三层基本呼叫技术规范及测试方法
3 程时端编著. 综合业务数字网. 北京：人民邮电出版社, 1997.10
4 李津生, 秋山稔著. 综合业务数字网与异步转移模式. 合肥：中国科学技术大学出版社, 1993.1
5 深圳德开通讯设备有限公司. DK-1全分散数字式汇接调度交换系统技术说明书. 1998
收稿日期：1999年10月1日
