当前位置:首页 > 软交换分组协议基础-MGCP协议V2.0-20021210-B
软交换分组协议基础-MGCP协议
第2章 MGCP协议常见名词解释
2.5 事件、信号与包
事件和信号的概念在MGCP中起着重要的作用。呼叫代理可能会请求网关监视指定端点上将要发生的某个事件,如摘机,或者指示网关向指定端点送音信号,如拔号音。
为此,需要标识事件和信号。在MGCP中,事件和信号被分成不同的包(Package),在包中,信号和事件被统一命名,共享同一名字空间,我们用事件名来统指事件名和信号名。通常,包是按端点类型来划分的,一个包给出在这个端点上可能会发生的事件或可以实施的信号的集合。
图3描述了事件和包的关系。事件是在端点上发生的事情。摘机事件、拨号音事件均是事件的例子。一个包是事件及特定类型端点支持的信号的聚合体。
网关连接包1事件a呼叫端点事件n包2事件a事件m
图3 事件与包
例如,对于模拟接入线路一个包可能支持某些事件和信号组,对于音频线路一个包可能支持其他的事件和信号组。对于一个给定的端点类型可能存在一个或者多个包。
事件名是不区分大小写的,它由两个逻辑部分组成,即一个包名和一个事件名。它们都是字母、连字号和数字组成的字符串,但是,连字号在名字中不能作为首字符和最后一个字符出现。包或者事件名不区分大小写,例如“hu”、“Hu”,“HU”或者“hU”被认为是等同的。
“D”(DTMF)、“M”(MF)、“T”(Trunk)或者“L”(Line)是包名的例子。“hu”(摘机或者挂机迁移)、“HF”(闪断)或者“0”(数字0)可以作为事件名的例子。在文本表示中,当出现包名时,它和事件名用斜杠“/”分隔。事实上包名是可选项。每个端点类型都有一个和它相关的缺省包,如果事件名中不包含包名,将采用缺省的包名。例如,对于一个模拟接入线路,下面的两个事件名等价:
7
软交换分组协议基础-MGCP协议
第2章 MGCP协议常见名词解释
l/dl 模拟接入线路包中的拨号音事件 dl 模拟接入线路包(缺省)中的拨号音事件 下面的两个约定可以用来表示这样的组:
通配符约定能用来检查属于一个包的任何事件,或者任何包中指定的事件,或者网关所支持的任何包中的任何事件。星号(*)可以用作通配符替换包名,使用字母“x”表示“任何字母或者数字”,用“[0-9#]”表示数字0到9和英镑符号,关键字可以用作通配符替换事件名,例如: “foo/all”表示包“foo”中的所有事件
“*/bar”表示网关所支持的任何包中的“bar”事件 “*”或者“*/all”表示该网关所支持的所有事件。
事件和信号是在包中描述的。对于每个事件,在包的描述中必须包含下面的信息:
事件及其目的描述,该描述应该预定用户产生的实际信号(例如,xx ms FSK音频)以及导致用户观察到结果的原因。
事件的详细特征,例如,音频信号的频率和振幅、调制和再现。 事件的典型和最大持续时间。 信号是根据它们的行为分类的:
开/关信号(OO) 一旦被使用,这些信号一直持续到被关闭。这种信号作为事件或者新信号请求命令的结果出现(见下文)。
超时信号(TO) 一旦被使用,它们将一直持续到被关闭(由于事件的发生或者信号请求命令)或者超过信号指定的持续时间。这依赖于包的规范,当该信号超时时,它将产生一个“操作完成”事件。
2.6 号码分析表
呼叫代理可以请求网关收集用户拨号数字。该功能将用于住宅网关收集用户拨打的电话号码;类似的,该功能也可以用于中继网关和接入网关,用来收集存取码、信用卡号码或者呼叫控制业务请求的其他号码。
1对于网关可以选择另外一种处理过程,用户一拨号马上把该拨号数字通知给呼叫代理。然而这种方式将产生大量的交互过程。因此,在缓冲区中存储拨打的号码然后通过一个消息传输是优选方案。然而使用存储方法也有问题,那就是在传输之前网关很难预测需要存储多少号码。例如,我们可能使用桌上的电话拨打如下号码:
表1 拨号方案分析表
8
软交换分组协议基础-MGCP协议
第2章 MGCP协议常见名词解释
0 00 xxxx 8xxxxxxx #xxxxxxx *xx 91xxxxxxxxxx 9011 + 最多15为数字 本地接线员 长途接线员 本地区号 本地号码 在其他公司服务区内的本地快捷号码 开始服务 长途号码 国际号码 在网关中装入和拨号方案相应的号码分析表可以解决该问题。该数字表使用从UNIX系统egrep命令导出的语法表示。例如上文所描述的拨号方案可以导出如下数字表:
(0T|
00T|[1-7]xxx|8xxxxxxx|#xxxxxxx|*xx|91xxxxxxxxxx|9011x.T)
该号码分析表的形式语法将在MGCP协议的形式语法描述部分的数字表规则中给出。根据该语法数字表可以用一个或者一系列字符串定义。列表中的每个字符串是一个可选择的拨号方案,可能是数字或者记时器也可能是一个正则表达式。检测数字、字符或者记时器的网关将:
1) 把该事件参数编码作为一个符号添加在称为“当前拨号串”的内部状态变量之后。
2) 以词法的顺序尝试将当前拨号串和数字表中的每个正则表达式相匹配。 3) 如果该结果未达到合格条件(特别是至少有一项和数字表匹配),不执行进一步的操作。
如果该结果匹配或者已经超过合格条件(例如 ,没有更多的可能产生匹配的数字),将当前字符串发送给呼叫代理。在该规范中一个匹配可以是“完全匹配”,即和一个规定的选择完全匹配,也可能是一个不可能的匹配,即拨号串不与任何选择匹配。例如,意外的记时器就是一个“不可能的匹配”。完全匹配和不可能的匹配都将触发存储数字通知。无论何时只要呼叫代理通知网关监听数字,它将把数字表提供给网关。
9
软交换分组协议基础-MGCP协议
第3章 MGCP命令解释与说明命令
第3章 MGCP命令解释与说明命令
本章叙述MGCP的命令。它们包括连接处理和端点处理命令。在本协议中共有九个命令,网关控制器(MGC)和网关(MG)之间共有九种MGCP消息,当消息发送到MG或MGC时,称它为命令;当命令的证实消息从MG或MGC送回时,称为响应。命令和响应是不可分的,收到命令时,网关(或MGC)会立即送回一个响应。
3.1 命令的格式
图4显示了MGCP命令的格式。它由一命令行与一组参数行组成。命令行、各个参数行用换行符区分开来。
命令名 事务号 端点 版本参数名:参数值参数名:参数值等等命令行参数行
图4 MGCP命令的结构
3.1.1 命令行
命令行包括四个域:命令名、事务号、执行该命令的端点(或实体)、协议版本号。它们之间用空格分隔。
命令名为4个字母的字符串。上述8个命令的编码如表2-1所示。
表1 命令编码表
1 2 3 4 命令名 CreateConnection ModifyConnection DeleteConnection NotificationRequest 代码 CRCX MDCX DLCX RQNT 命令名 Notify AuditEndpoint AuditConnection RestariInProgress 代码 NTFY AUEP AUCX RSIP 5 6 7 8
事务号为最长9位的数字串。它由命令的发起者选取并置入命令行中,接收方应答时,应把该值放入应答行中。
10
共分享92篇相关文档