软交换分组协议基础-MGCP协议V2.0-20021210-B_第1页
软交换分组协议基础-MGCP协议V2.0-20021210-B_第2页
软交换分组协议基础-MGCP协议V2.0-20021210-B_第3页
软交换分组协议基础-MGCP协议V2.0-20021210-B_第4页
软交换分组协议基础-MGCP协议V2.0-20021210-B_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

资料编码 产品名称 NGN 使用对象 工程师 产品版本 编写部门 固网技术支持部 资料版本 V2.0 软交换分组协议基础 MGCP协议 拟 制: 刘志强 日 期: 2002年 07月 15日 审 核: 日 期: 审 核: 日 期: 批 准: 日 期: 华 为 技 术 有 限 公 司 版权所有 侵权必究修订记录 日期 修订版本 描述 作者 2002/10/15 V1.1 调整文章结构及内容,结合 NGN组网及软交换产品对协议加以说明。 刘志强 2002/12/10 V2.0 转换成 Word格式。 邢宇翔 目 录 第 1章 MGCP协议介绍 . 3 第 2章 MGCP协 议常见名词解释 . 5 2.1 端点的命名 .5 2.2 连接的命名 .6 2.3 呼叫的命名 .6 2.4 事务标识和三次握手 .6 2.5 事件、信号与包 .7 2.6 号码分析表 .8 第 3章 MGCP命令解释与说明命令 . 10 3.1 命令的格式 . 10 3.1.1 命令行 . 10 3.1.2 参数行 . 11 3.2 MGCP 命令介绍 . 12 3.2.1 通知请求( RQNT) . 12 3.2.2 通知命令( NTFY) . 13 3.2.3 创建连接命令( CRCX) . 13 3.2.4 修改连接命令( MDCX) . 14 3.2.5 由呼叫代理发起的删除连接命令( DLCX) . 15 3.2.6 由网关发起的删除连接命令( DLCX) . 15 3.2.7 审计端点命令( AUEP) . 16 3.2.8 审计连接命令( AUCX) . 16 3.2.9 重启命令( RSIP) . 17 3.3 命令示例 . 17 3.3.1 MGCP 命令编码的示例 . 17 3.3.2 响应格式 . 18 第 4章 MGCP接续流程分析 . 20 4.1 成功呼叫流程 . 20 4.2 不成功呼叫流程 . 22 第 5章 MGCP在组网中的实际应用 . 1 5.1 MGCP 在 NGN 组网中的应用: .1 5.2 MGCP 在 SoftX3000 产品中的应用: .2 5.2.1 协议栈 .3 5.2.2 功能实现 .4 F-2 关键词和缩略语 : MG 媒体网关 MGCP媒体网关控制协议 CA呼叫代理 MGC媒体网关控制器 Endpoint端点 Connection连接 摘 要 : 本文对网关控制协议( MGCP)做了简单的介绍,包括 MGCP 协议的概念、原理及在 NGN 组网中的应用。 在 MGCP 定义的呼叫体系结构中,呼叫控制功能和媒体网关相分离,由外部呼叫控制单元来处理。 本文由五个主要部分组成: MGCP协议的定义及简单介绍。 与 MGCP协议相关的概念、名词解释说明。 MGCP命令及消息单元的描述。 接续过程描述,包括成功接续过程和失败接续过程的描述与分析。 MGCP在 NGN 组网中的应用。 参考资料清单: 软交换分组协议基础 MGCP 协议 第 1 章 MGCP 协议介绍 3 第 1章 MGCP 协议 介绍 IETF 制定的 MGCP( Media Gateway Control Protocol)协议是一个分布式IP 电话网关系统的内部协议,用于控制来自外部呼叫控制单元的 IP 语音( VoIP)网关。从本质上说 MGCP 是一个主 /从协议,网关需要执行媒体网关控制器发出的命令。 IP 电话网关系统由呼叫代理( Call Agent)和一组网关( MG)组成,如图 1所示: 呼叫代理信令网关组媒体网关组媒体网关组H . 3 2 3 信令IP 分组SS7电路网 关 组M G C PM G C P图 1 IP电话网关系统 图中呼叫代理( Call Agent)又称媒体网关控制器( Media Gateway Controller)主要完成与呼叫过程相关的信令功能,对媒体网关和信令网关的操作过程进行控制和管理。 网关( Gateway)是一种网络单元,用于实现不同体系结构的网络之间的互联互通。 在 NGN 体系结构中,网关包括很多种: 中继网关( TG):提供传统电话网( PSTN)和承载语音的 IP 网的接口。 接入网关( AG):提供传统模拟用户线或者数字专用分组交换机与承载语音的 IP 网络之间的接口。 住宅网关( RG):为 IP 语音网提供传统的模拟接口( RJ11)的实体。住宅网关的例子包括电缆调制解调器 /电缆 机顶盒, xDSL 设备和宽带无线设备。 一组网关中至少包含一个媒体网关,如果需要与 SS7 网络连接,至少还需要一个信令网关。媒体网关完成电路交换网与分组交换网之间的语音信号的转软交换分组协议基础 MGCP 协议 第 1 章 MGCP 协议介绍 4 换;信令网关完成窄带信令网与宽带信令网之间的无缝交互与信令之间的转换。 本文讨论媒体网关控制协议的应用,主要针对 IP 电话网关。电话网关是承载于电话电路的语音信号,可以和承载于包交换网网络的语音信号互通与转换。通过电话网关以及控制它的呼叫代理,普通的电话终端可以通过分组交换网,如 IP 或 ATM 网,和其它普通电话终端,或 IP/ATM 终端互通电话 。 软交换分组协议基础 MGCP 协议 第 2 章 MGCP 协议常见名词解释 5 第 2章 MGCP 协议常见名词解释 MGCP 支持传统的电话操作,例如拨号、摘机等。它也支持基于电话的链路,例如 DSI。 MGCP 认为连接模型由连接和端点这两个基本元素组成,一次呼叫由一个或多个连接组成,连接与呼叫由一个或多个呼叫代理协同完成。 图2 显示了端点、连接、呼叫和网关的相互关系。 网关连接呼叫连接呼叫端点端点图 2 MGCP网关组成 2.1 端点的命名 在 MGCP 中,端点就是数据信源和数据信宿。端点可以是物理链路,如一条T1 的中继线。它们也可以是操作在物理链路上的虚拟链路。 端点由端点 名称来标识。该名称分为两个部分,第一部分是该端点所在的网关的域名,第二部分是该端点在网关内的本地名称,它们之间用“ ”来分隔,实际上就是一个 Email 地址。本地名称的语法取决于端点的类型,但要求具有层次结构,以形成一个从网关名到各端点的命名路径。 本地名中可以用通配符“ *”和“ $”,前者表示这一层上的所有端点,后者表示在这一层上的某一端点,即前者具有“所有的”,而后者具有“任何一个”的含义。 如:中继网关的端点名: X35V3+A4/13。 软交换分组协议基础 MGCP 协议 第 2 章 MGCP 协议常见名词解释 6 意指 example 网络中第 23 号网 关中接口 X35V3+A4 上第 13 条 TDM 电路。 2.2 连接的命名 连接可以是点到点连接或多点连接。点到点连接就是两个互相发送数据的端点之间的一种关连,一旦该关联在两个端点都建立起来后,就可开始传送数据。多点连接是多个端点之间的关联。连接可建在不同类型的承载网络之上。连接在端点处被管理,并且可以被聚合成呼叫。连接由网关创建,并且网关赋予其本端唯一的连接标识。连接标识符为十六进制数字组成的字符串。 2.3 呼叫的命名 呼叫由唯一的标号来标识,它由呼叫代理创建。呼叫标识可以看作没有结构的字符串。呼叫标识符在系统中必须是 唯一的。呼叫代理可能会对同一个呼叫构建数条连接,这些连接必须与同一个呼叫相关联。 2.4 事务标识和三次握手 事务标识是 0 到 999999999 之间的整数值。呼叫代理可以决定为它们管理的每个网关分配一个确定的编号空间,或者对属于任意一组的所有网关使用相同的编号空间。呼叫代理可以决定将管理一个大网关的负荷分担给多个相互独立的进程。这些进程将分享相同的事务编号空间。这里可以有多种可能的共享实现,例如使用事务标识的集中分配方法,或者为每个进程预先分配相互不重叠的标识域。该实现必须保证所有来自同一个逻辑呼叫代理的事务必须 被分配一个唯一的事务标识,这样只需查看事务标识,网关就可以很简单地检查出重复的事务。在任何命令中都可以发现响应确认属性。它携带一个“确认的事务标识域”集。 网关可以选择删除那些在收到的响应确认消息中“已经确认的事务标识域”中所包含事务的响应的拷贝。当更多的来自呼叫代理的命令的事务标识落在这个域中时,网关应该默默丢弃这些命令。 如果自从该网关发出它的最后一个给呼叫代理的响应已经超过 LONG-TIMER秒,或者当一个网关恢复操作时,不应该再使用该“已经确认的事务标识域”。这种情况下,网关应该接收相关命令并进行处 理,不检查事务标识。 携带“响应确认属性”的命令可能不按顺序传输。网关应该保留最近收到“已经确认事务标识域”的并集。 软交换分组协议基础 MGCP 协议 第 2 章 MGCP 协议常见名词解释 7 2.5 事件、信号与包 事件和信号的概念在 MGCP 中起着重要的作用。呼叫代理可能会请求网关监视指定端点上将要发生的某个事件,如摘机,或者指示网关向指定端点送音信号,如拔号音。 为此,需要标识事件和信号。在 MGCP 中,事件和信号被分成不同的包( Package),在包中,信号和事件被统一命名,共享同一名字空间,我们用事件名来统指事件名和信号名。通常,包是按端点类型来划分的,一个包给出在这个端点上可能会发 生的事件或可以实施的信号的集合。 图 3 描述了事件和包的关系。事件是在端点上发生的事情。摘机事件、拨号音事件均是事件的例子。一个包是事件及特定类型端点支持的信号的聚合体。 网关连接呼叫端点事件 a事件 n包 1事件 a事件 m包 2图 3 事件与包 例如,对于模拟接入线路一个包可能支持某些事件和信号组,对于音频线路一个包可能支持其他的事件和信号组。对于一个给定的端点类型可能存在一个或者多个包。 事件名是不区分大小写的,它由两个逻辑部分组成,即一个包名和一个事件名。它们都是字母、连字号和数字组成的字符串,但是,连字号在名字中不能作为首字符和最后一个字符出现。包或者事件名 不区分大小写,例如“ hu”、“ Hu”,“ HU”或者“ hU”被认为是等同的。 “ D”( DTMF)、“ M”( MF)、“ T”( Trunk)或者“ L”( Line)是包名的例子。“ hu”(摘机或者挂机迁移)、“ HF”(闪断)或者“ 0”(数字0)可以作为事件名的例子。在文本表示中,当出现包名时,它和事件名用斜杠“ /”分隔。事实上包名是可选项。每个端点类型都有一个和它相关的缺省包,如果事件名中不包含包名,将采用缺省的包名。例如,对于一个模拟接入线路,下面的两个事件名等价: 软交换分组协议基础 MGCP 协议 第 2 章 MGCP 协议常见 名词解释 8 l/dl 模拟接入线路包中的拨号音事件 dl 模拟接入线路包(缺省)中的拨号音事件 下面的两个约定可以用来表示这样的组: 通配符约定能用来检查属于一个包的任何事件,或者任何包中指定的事件,或者网关所支持的任何包中的任何事件。星号( *)可以用作通配符替换包名,使用字母“ x”表示“任何字母或者数字”,用“ 0-9#”表示数字 0到 9和英镑符号,关键字可以用作通配符替换事件名,例如: “ foo/all”表示包“ foo”中的所有事件 “ */bar”表示网关所支持的任何包中的“ bar”事件 “ *”或者“ */all”表示该网关所支持的所有事件。 事件和信号是在包中 描述的。对于每个事件,在包的描述中必须包含下面的信息: 事件及其目的描述,该描述应该预定用户产生的实际信号(例如, xx ms FSK音频)以及导致用户观察到结果的原因。 事件的详细特征,例如,音频信号的频率和振幅、调制和再现。 事件的典型和最大持续时间。 信号是根据它们的行为分类的: 开 /关信号( OO) 一旦被使用,这些信号一直持续到被关闭。这种信号作为事件或者新信号请求命令的结果出现(见下文)。 超时信号( TO) 一旦被使用,它们将一直持续到被关闭(由于事件的发生或者信号请求命令)或者超过信号指定的持续时 间。这依赖于包的规范,当该信号超时时,它将产生一个“操作完成”事件。 2.6 号码分析表 呼叫代理可以请求网关收集用户拨号数字。该功能将用于住宅网关收集用户拨打的电话号码;类似的,该功能也可以用于中继网关和接入网关,用来收集存取码、信用卡号码或者呼叫控制业务请求的其他号码。 1对于网关可以选择另外一种处理过程,用户一拨号马上把该拨号数字通知给呼叫代理。然而这种方式将产生大量的交互过程。因此,在缓冲区中存储拨打的号码然后通过一个消息传输是优选方案。然而使用存储方法也有问题,那就是在传输之前网关很难预测需要存储多少 号码。例如,我们可能使用桌上的电话拨打如下号码: 表 1 拨号方案分析表 软交换分组协议基础 MGCP 协议 第 2 章 MGCP 协议常见名词解释 9 0 本地接线员 00 长途接线员 xxxx 本地区号 8xxxxxxx 本地号码 #xxxxxxx 在其他公司服务区内的本地快捷号码 *xx 开始服务 91xxxxxxxxxx 长途号码 9011 + 最多 15为数字 国际号码 在网关中装入和拨号方案相应的号码分析表可以解决该问题。该数字表使用从 UNIX系统 egrep命令导出的语法表示。例如上文所描述的拨号方案可以导出如下数字表: ( 0T| 00T|1-7xxx|8xxxxxxx|#xxxxxxx|*xx|91xxxxxxxxxx|9011x.T) 该号码分析表的形式语法将在 MGCP协议的形式语法描述部分的数字表规则中给出。根据该语法数字表可以用一个或者一系列字符串定义。列表中的每个字符串是一个可选择的拨号方案,可能是数字或者记时器也可能是一个正则表达式。检测数字、字符或者记时器的网关将: 1) 把该事件参数编码作为一个符号添加在称为“当前拨号串”的内部状态变量之后。 2) 以词法的顺序尝试将当前拨号串和数字表中的每个正则表达式相匹配。 3) 如果该结果未达到合 格条件(特别是至少有一项和数字表匹配),不执行进一步的操作。 如果该结果匹配或者已经超过合格条件(例如 ,没有更多的可能产生匹配的数字),将当前字符串发送给呼叫代理。在该规范中一个匹配可以是“完全匹配”,即和一个规定的选择完全匹配,也可能是一个不可能的匹配,即拨号串不与任何选择匹配。例如,意外的记时器就是一个“不可能的匹配”。完全匹配和不可能的匹配都将触发存储数字通知。无论何时只要呼叫代理通知网关监听数字,它将把数字表提供给网关。 软交换分组协议基础 MGCP 协议 第 3 章 MGCP 命令解释与说明命令 10 第 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 CreateConnection CRCX 5 Notify NTFY 2 ModifyConnection MDCX 6 AuditEndpoint AUEP 3 DeleteConnection DLCX 7 AuditConnection AUCX 4 NotificationRequest RQNT 8 RestariInProgress RSIP 事务号为最长 9 位的数字串。它由命令的发起者选取并置入命令行中,接收方应答时,应把该值放入应答行中。 软交换分组协议基础 MGCP 协议 第 3 章 MGCP 命令解释与说明命令 11 执行命令的端点(或实体):端点或实体的编码在前面已做了说明,它表现为一 Email 地址。 MGCP 协议版本号:当前的版本号为 MGCP 1.0 3.1.2 参数行 参数行由参数名、冒号、空格及参数值构成。参数名通常被缩写为一个字母,如表 3 所示。 表 1 参数代码表 Parameter name Code Parameter value CallId C 呼叫 ID号 ConnectionId I 连接 ID号 NotifiedEntity N 被通知的实体。指示网关,当检测到指定事件时,应向哪个实体发送通知。 RequestIdentifier X 请求标识。通常,一次由呼叫代理发起的NotificationRequest将对应一次由网关发往呼叫代理的通知 Notify。 Notify将携带此请求标识,使得呼叫代理能够识别这对应于哪次NotificationRequest LocalConnectionOptions description L 本地连接选项。呼叫代理用此参数引导网关如何设置这个连接的一些参数,它包 括这样一些域:编码方案、打包时延、占用带宽、业务类型、回声抑制的使用、静音抑制的使用、增益控制的使用、资源预留的使用、RTP安全机制的使用、承载网络的类型。 Connection Mode M 连接模式。此参数指出此连接的操作模式,如“ sendonly”、“ recvonly”、“ sendrecv”、“ conference”、“ data”、“ inactive”等。 RequestedEvents R 事件列表。网关将检测对应端点上是否发生此事件列表中列出的这些事件。这些事件包括: Fax信号、摘挂机事件等。 每一个事件将对应一个动作,网关在检测到对应的事件后将按照对应的动作指示做相应的处理,如直接通知呼叫代理、按照 DigitMap收号等。 SignalRequests S 信号音请求参数。呼叫代理在检测特定事件的时候或之前,可以通过此参数指示网关向对应端点输出信号。 DigitMap D 当需要网关按堆积方式收号时,呼叫代理会利用此参数携带收号方案给网关, ObservedEvents O 被网关检测到的事件集。 ConnectionParameters P 连接参数。包括关于此连接的各种统计值等软交换分组协议基础 MGCP 协议 第 3 章 MGCP 命令解释与说明命令 12 信息 ReasonCode E 拆除的原因。 SpecificEndpointID Z 网关发 Notify命令时,用该参数指示返回的端点 RequestedInfo F 请求检查的连接信息。呼叫代理利用此参数告知网关,希望了解该连接的哪些信息。这些信息是: CallId、 NotifiedEntity、LocalConnectionOptions、 Mode、RemoteConnectionDescriptor、RemoteConnectionDescriptor、ConnectionParameters。 QuarantineHandling Q “隔离期”事件处理指示。“隔离期事件表”是用来处理冲突的一种措施。 DetectEvents T 隔离期事件集。指在“隔离期”内检测的事件集,即“隔离期事件表”。 RestartMethod RM 重启方案。端点重新启动有三种方案,Graceful:该方案表明这些端点将在指定的延时之后离线。 Forced:该方案表明这些端点将立即离线。 Restart:该方案指示端点的服务将在指定的延时之后恢复(在线)。 RestartDelay RD 重启时延。以秒为单位。 Forced方案下RestartDelay没有意义。 RemoteConnectionOptionsdescription 远端连接描述。与本地连接选项相同。 3.2 MGCP命令介绍 3.2.1 通知请求( RQNT) 通知请求命令是由呼叫代理发送给网关的命令,以指示网关在指定端点上检测指定的事件。 NotificationRequest EndpointId, RequestIdentifie, RequestedEvents,SignalRequests , NotifiedEntity , DigitMap , QuarantineHandling ,DetectEvents 主要参数: EndpointId:端点标识。呼叫代理请求网关检测在这个端点上发生的指定事件。这里的端点标识可以使用表示“所有的”通配符“ *”。 RequestedEvents:事件列表。指示网关检测对应端点上事件列表中的事件。这些事件包括: Fax 信号、摘挂机事件等。 软交换分组协议基础 MGCP 协议 第 3 章 MGCP 命令解释与说明命令 13 DigitMap:当需要网关按堆积方式收号时,呼叫代理指示网关按此参数收号。 收号方式有立即与堆积方式,按堆积方式收号时,网关收齐指定的位数以后一次把所收集的号码发给呼叫代理。 SignalRequests:信号音请求参数。呼叫代理在检测特定事件的时候或之前,可以通过此参数指示网关向对应端点输出信号。 收到该命令后,网关立即发送一应答( Respond)给呼叫代理,并执行相应操作,检测对应的事件。一旦网关检测到对应的事件,则按该命令规定的动作处理(每个事件对应一个动作),如直接通知呼叫代理、按照 DigitMap 收号等,缺省的动作是发送通知。 3.2.2 通知命令( NTFY) 当在指定端口上检测到指定的事件后,如果规定的动作是发送通知,则网关将发出命令 Notify 给呼叫代理。 Notify EndPointId, RequestIdentifier, NotifiedEntity, ObservedEvents,QuarantineHandling, DetectEvents 主要参数: EndpointId:端点标识。 Notify 是由端点上的事件触发。这里端点标识不能使用通配符。 ObservedEvents : 被 网 关 检 测 到 的 事 件 集 。 其 中 只 包 含 对 应 命 令NotificationRequest 要求检测的并被检测到的事件。 收到网关发来的 Notify 命令后,呼叫代理立即应答网关。如果有必要,随后还会发出其它命令,如 NotificationRequest 或 CreateConnection 等给网关。 3.2.3 创建连接命令( CRCX) 该命令由呼叫代理发送给网关的命令,用于创建连接。 CreateConnection EndpointId , CallId , RequestIdentifier ,LocalConnectionOptions , ConnectionMode , RequestEvents ,SignalRequests , NotifiedEntity , DigitMap , QuarantineHandlling ,DetectEvents, RemoteConnectionDesriptr 主要参数: CallId:呼叫标识。全局唯一的标识。指出所建立的连接属于这个呼叫。 EndpointId:端点标识。网关所创建的连接的端点。 软交换分组协议基础 MGCP 协议 第 3 章 MGCP 命令解释与说明命令 14 LocalConnectionOptions:本地连接选项。引导网关如何设置这个连接的一些参数,它包括这样一些域:编码方案、打包时延、占用带宽、业务类型、回声抑制的使用、静音抑制的使用、增益控制的使用、资源预留的使用、 RTP安全机制的使用、承载网络的类型。 RemoteConnectionDescripto:远端连接描 述。与本地连接选项的域相同。该呼叫代理不清楚远端描述的情况下,本参数缺省。 ConnectionMode:连接模式。指示此连接的操作模式,如它们可以被设置为“只发送”( sendonly)、“只接收”( recvonly)、“收 /发”( sendrecv)、“会议”( confrnce)、“数据( data)”、“去激活( inactive)等。 在这些连接上接收到的音频信号的处理是由这些模式参数决定的: 通过“接收”、“会议”或者“收 /发”模式连接收到的数据包中的音频信号将被混合,并被送到该端点。 源于模式为“发送” 、“会议”或者“收 /发”的连接的该端点的音频信号将被发送出去。 通过“会议”连接模式数据包收到的音频信号,除了被送到端点之外,还被复制到所有模式为“会议”的其他连接上。 其它参数: 这些参数与通知请求命令相同,这也说明在创建连接的同时可以携带通知请求命令给网关,使之同时执行这两条命令。 执行完 CreateConnection 后,网关将立即发送一应答给呼叫代理。指出连接建立是否成功。如果成功,则返回网关创建的连接标识( ConnectionId,在端点内唯一,一个端点可以终结多个连接)、用 SDP 描述的本地连接描 述(其中包含 IP 地址和 RTP 端口号)。 3.2.4 修改连接命令( MDCX) 由呼叫代理发送给网关的命令,用于更改连接的特征,其参数中既包括本地连接描述,也包括远端连接描述。 ModifyConnection CallID, EndPointId, ConnectionID, RequestIdentifier,LocalConnectionOptions , ConnectionMode , RequestEvents ,SignalRequests , NotifiedEntity , DigitMap , QuarantineHandlling ,DetectEvents, RemoteConnectionDesriptr 主要参数: CallID:呼叫标识。 软交换分组协议基础 MGCP 协议 第 3 章 MGCP 命令解释与说明命令 15 ConnectionId:连接标识。这是在建立连接时由网关返回的标识,对应端点内连接的标识。 其它参数: 与建立连接命令参数相同,且其用法也是一样。不同之处在于 EndpointId 不可使用通配符。 执行 ModifyConnection 后,网关立即应答呼叫代理,如果本地连接的参数被更改,则同时返回更改后的 LocalConnectionDescriptor 参数。 3.2.5 由呼叫代理发起的删除 连接命令( DLCX) 呼叫代理用 DeleteConnection 来终止之前建立的连接。 DeleteConnectionCallID, EndPointId, ConnectionID, RequestIdentifier,RequestEvents, SignalRequests, NotifiedEntity, ReasonCode, DigitMap,QuarantineHandlling, DetectEvents 主要参数: CallId:呼叫标识。 EndpointId:端点标识。这里端点标识不能用通配符。 ConnectionId:连接标识。 其它参数: 与建立连接的参数一样,用法也相同。 通常情况下,一条连接对应着两个端点,要呼叫代理(可能是不同的呼叫代理)分别发送一条删除连接命令给这两个端点所对应的网关。连接一旦被删除,所有关于此连接的操作,如挂机事件检测等都将被取消。作为对DeleteConnection 的应答,网关还会将关于此连接在此端点上的一些统计值返回给呼叫代理,呼叫代理可以据此记帐。这些统计值是:发送出的数据包的数目、发送出的信息的字节数、接收到的包的数目、接收到的信息的字节数、丢包数、平均时 延抖动、平均传输时延等。 3.2.6 由网关发起的删除连接命令( DLCX) 某些情况下,如资源不够、端点不能接收和发送数据而变的得不可用等,网关将不得不拆除这条连接,对此它将发送删除连接命令给呼叫代理通知对应的连接已被拆除。 软交换分组协议基础 MGCP 协议 第 3 章 MGCP 命令解释与说明命令 16 DeleteConnection CallID, EndPointId, ConnectionID, ReasonCode,ConnectionParameters 主要参数: CallId:呼叫标识。 EndpointId:端点标识。不可使用通配符。 ConnectionId:连接标识。 ReasonCode:拆除的原因。 ConnectionParameters:连接参数。包括关于此连接的各种统计值等信息。 收到网关发来的 DeleteConnection 后,呼叫代理立即应答网关。 3.2.7 审计端点命令( AUEP) 呼叫代理可以用这条命令检查指定端点的状态。 AuditEndpointEndPointID, RequestedInfo 主要参数: EndpointId:端点标识。如果端点标识含有通配符“ *”,则网关将返回所有匹配此标识的端点标识,且不返回任何关于这些端点的状态。如果端点标识不含通配符 ,则网关将返回此端点的各种指定状态。 RequestedInfo:请求检查的状态信息。呼叫代理通过此参数告知网关,希望得到关于端点的哪些状态。这些状态信息包括: RequestedEvents、 DigitMap、SignalRequests、 RequestIdentifier、 NotifiedEntity、 ConnectionIdentifiers、DetectEvents、 Capabilities。 收到 AuditEndpoint 请求后,网关将立即应答呼叫代理,并根据 RequestedInfo中的指示,返回 关于指定端点的特定的状态信息。 3.2.8 审计连接命令( AUCX) 呼叫代理可以用这条命令检查指定连接的各种信息。 AuditConnectionEndPointID, ConnectionID, RequestedInfo 主要参数: EndpointId:端点标识。这里,端点标识不能含通配符。 ConnectionId:连接标识。欲被检查的连接标识。 软交换分组协议基础 MGCP 协议 第 3 章 MGCP 命令解释与说明命令 17 RequestedInfo:请求检查的连接信息。呼叫代理利用此参数告知网关,希望获 知 此 连 接 的 哪 些 信 息 。 这 些 信 息 是 : CallId 、 NotifiedEntity 、LocalConnectionOptions 、 Mode 、 RemoteConnectionDescriptor 、RemoteConnectionDescriptor、 ConnectionParameters。 收到 AuditConnection 请求后,网关将立即应答呼叫代理,并根据RequestedInfo 中的指示,返回关于指定端点中指定连接的指定信息。 3.2.9 重启命令( RSIP) 网关利用命令 RestartInProgress 提示呼叫代理,网关内的一个或一群端点将不再提供服务或将可以提供服务( take in or out of service),换句话说,就是即将离线或即将在线。 RestartInProgressEndPointID, RestartMethod, RestartDelay 主要参数: EndpointId:端点标识,指即将在线或离线的端点。它可以含表示“所有”的通配符“ *”,但不能含表示“其中任何一个”的通配符“ $”。 RestartMethod:重启方案。这些端点重新启动有三种方案,它们是: Graceful:此方案表明这些端点将在指定的延时之后离线。 Forced:此方案表明这些端点将立即 离线,已建立的连接将丢失。 Restart:此方案表明这些端点的服务将在指定的延时之后恢复(在线)。此时,这些端点上没有建立任何连接。 RestartDelay:重启时延。即是上面所说的时延,以秒为单位。 Forced 方案下 RestartDelay 没有意义。 收到 RestartInProgress 命令后,呼叫代理作相应处理,并应答网关。 3.3 命令示例 3.3.1 MGCP 命令编码的示例 RQNT 4561 MGCP 1.0 N: : 5777 X: 45848484 R: hd 软交换分组协议基础 MGCP 协议 第 3 章 MGCP 命令解释与说明命令 18 第一行是命令行, RQNT 是表示通知请求命令的动词,事务编号是 4561,端点是 ,协议版本是 V1.0。 第二行表示 NotifiedEntity 的内容: A: 5777。它表示网关观察到指定的事件后,发出通知的实体是 A,端口号是5777。 第三行是用于请求标识符的十六进制的字符串。发送命令时,网关通过此参数将相应的 通知请求通报给 MGC。 第四行表示每一个事件名称的代码,代码“ hd”表示摘机。这些代码表示需要检测的网关请求的事件名称。 MGC 给网关发出该命令,请求它监控摘机事件,该事件出现在中继网关tgw-21 的“端点 66”,域名为“ ”。 3.3.2 响应格式 和 MGCP 命令的格式类似,响应格式由一行后接一组可选参数行的响应行组成。 响应行由响应码,事务标识和一个由空格隔开的可选注释组成。 响应码是一个三位的数值,表示命令的执行状态。 MGCP 1.0 版本中定义十九个代码,其范围如下: 200和 299之间的值表示成功完成 400和 499之间的值表示瞬态误差 500和 599之间的值表示永久误差 下面是审计连接响应的示例: 200 1203 OK C: A3C47F21456789F0 N: 2 L: p: 10, a: PCMU; G726-32 M: sendrecv P: PS=1245, OS=62345, PR=780, OR=45123, PL=10, JI=27,LA=48 v=0 软交换分组协议基础 MGCP 协议 第 3 章 MGCP 命令解释与说明命令 19 c=IN IP4 m=audio 1296 RTP/AVP 0 v=0 c=IN IP4 5 m=audio 1296 RTP/AVP 0 96 a=rtpmap:96 G726-32/8000 第一行,“ 200”表示命令的正确接收, 1203 是事务标识符, OK 是注释。 第二行, C 代表了呼叫 ID。 第三行, 被通知的实体。指示网关,当检测到指定事件时,应向哪个实体发送通知。 第四行,在近端连接选项 L 中,封装时延是 10 秒,压缩算法是 G.726-32。 第五行,连接方式 M,表示这是一个发送和接收模式,即,该端点既可接受也可发送数据。 第六行,连接参数( P)表示,到目前为止, 1245 个包含 62345 个字节的数据包已经发出,包含 45123 个字节的 780 个数据包已经收到, 10 个数据包丢失,平均抖动时间是 27ms,平均延迟时间是 48ms。 第七行及其下面的两组参数分别是近端连接说明和远端连接说明,分别表示当地和远端 IP 地址,端口号和抑制算法。 软交换分组协议基础 MGCP 协议 第 4 章 MGCP 接续流程分析 20 第 4章 MGCP 接续流程分析 4.1 成功呼叫流程 两个电话用户在同一个 MGC 的控制下的不同 MG 成功呼叫,呼叫流程应用实例如所示。 N T F YA C KR Q N TA C KN T F YA C KC R C XA C KA C KD L C XM D C XA C KR Q N TA C KN T F YA C KA C KR Q N TC o n v e r s a t i o n12163579154C R C XA C KN T F YA C KD L C XA C KN T F YA C KM D C XA C KR Q N TA C K6810111314U s e r MG M G C MGD i a l t o n eO f f - h o o kR Q N TA C KD i a l i n gU s e rB u s y t o n eO n - h o o k12R i n g b a c k t o n eR i n g i n gO f f - h o o kO n - h o o k图 5 两个电话用户之间的 MGCP呼叫流程 事件 1: MGC 给网关发送 RQNT 命 令,请求其对端点的摘机进行监控。 网关确认命令。确认时,使用和 RQNT 命令相同的事务代码。网关监控这一事件直到用户摘机。 事件 2:用户摘机后,网关给 MGC 发出 NTFY 命令,其中包含被监控端点发生的摘机事件消息。 MGC 应对网关发出的信息进行确认并记录摘机时间。 事件 3: MGC 给网关发 RQNT 命令,要求它根据拨号方案收集拨打的号码,监控用户的挂机事件并送拨号音。 软交换分组协议基础 MGCP 协议 第 4 章 MGCP 接续流程分析 21 网关确认命令并同时给用户送拨号音。 事件 4:网关根据事件 3 的拨号方案,接收数字。收到所有数字后,网关发出NTFY 命令通知 MGC。这个命令携带收到的带 有数 ObservedEvents 的数字。 MGC 发 ACK 确认命令。 事件 5: MGC 给网关发出 CRCX 命令,指示它创建连接。这个命令包括参数CallID、 LocalConnectionOptions 和 ConnectionMode。它表示打包周期、压缩算法( G.711、 G.729 等等)、连接带宽以及回声抵消。连接方式设置为接收模式。同时, MGC 请求网关停止接收拨号,监控另一个挂机事件。 网关创建连接后,发 ACK 响应 MGC,该响应中包含一些连接参数,如 IP 地址、端口号、承载参数和连接 ID。 事件 6: MGC 分析事件 4 收到的号码,来指定呼叫路由并建立和指定被呼叫网关的连接。 MGC 通过分析指定到被呼叫网关的路由。 MGC 给被叫网关发 CRCX 命令。此命令携带的参数包括事件 5 中网关送回MGC 的连接参数,以及与网关传送到 MGC 的会议相同的会话。但是有两点不同。首先,端点名称表示被叫网关的端点,并且通常它的值和呼叫网关的值不同。第二,方式参数设置为接收 /发送方式。由于两个端点之间的连接属于同一个呼叫,呼叫 ID 在命令中仍然相同。另外,携带诸如 SignalRequests和 RequesteEvents 的参数,指示网关给被叫送振铃声并 检测摘机信号。 被叫网关发 ACK 响应。该命令包括被叫网关的会议说明,如 IP 地址,端口号和 RTP 结构。此外网关给被叫送振铃音。接着,它对被叫进行监控直到被叫摘机。 事件 7: MGC 给主叫网关发出 QRNT 命令,指示它检测和监控摘机事件并送回铃音。 网关发 ACK 对命令进行确认,并给主叫送回铃音。 事件 8:当被叫网关监测到被叫摘机,它将给 MGC 发 NTFY 命令,通知 MGC在指定端点观察到的摘机事件。 MGC 用 ACK 响应。 事件 9: MGC 给主叫发 MDCX 命令要求修改连接。该命令携带被叫网关的一些连接参数,即被叫网关响应的 ACK 中携带的参数,然后,连接方式改变为接收 /发送方式。同时,它指示网关停止送回铃音。 主叫网关用 ACK 响应 MGC。同时,它将修改连接并停送回铃音。 软交换分组协议基础 MGCP 协议 第 4 章 MGCP 接续流程分析 22 事件 10:紧随事件 8, MGC 给被叫网关发 RQNT,指示它检测指定端点的挂机事件。 被叫网关用 ACK 对 MGC 响应。 然后,主叫和被叫连接,进入通话状态。同时双方的网关分别监控指定端点的挂机事件。 事件 11:当被叫网关检测到挂机事件,它给 MGC 发 NTFY 通报指定端点的挂机事件。 MGC 用 ACK 信号对网关响应。 事件 12: MGC 给主叫网关发 DLCX 命令,指示它断开连 接。该命令包括诸如端点名称,呼叫 ID 和连接 ID 等参数,另外,它还包括参数 SignalEvents用来指示网关送忙音。 网关用 ACK 信号对 MGC 响应。给 MGC 的响应中携带性能数据字段来进行统计分析。同时,网关送忙音给用户以中断连接。 事件 13: MGC 发 DLCX 命令给被叫网关,指示它中断连接。该命令包括端点名称,呼叫 ID 和连接 ID 等参数。 被叫网关发 ACK 给 MGC,响应中携带性能数据字段,中断连接。 事件 14: MGC 发 RQNT 命令给被叫网关,指示它对所有端点的摘机信号进行监控。 被叫网关用 ACK 对 MGC 响应,并 恢复指定端点的摘机检测。 事件 15:当呼叫网关观察到主叫挂机,发 NTFY 命令给 MGC。 MGC 用 ACK 对网关响应。 事件 16: MGC 发 RQNT 命令给呼叫网关,指示它停止送忙音给指定端点并监控所有端点的摘机信号。 网关用 ACK 对 MGC 响应并恢复指定端点的摘机检测。 4.2 不成功呼叫流程 两个电话用户在同一个 MGC 的控制下的不同 MG 不成功呼叫,原因为被叫忙或中继忙,呼叫流程应用实例如所示。 软交换分组协议基础 MGCP 协议 第 4 章 MGCP 接续流程分析 23 N T F YA C KR Q N TA C KN T F YA C KR Q N TA C KN T F YA C KA C KR Q N T35674U s e rMG M G C MGD i a l t o n eO f f - h o o kR Q N TA C KD i a l i n gU s e rO n - h o o k12B u s y t o n e图 6 两个电话用户之间的 MGCP呼叫流程示例 事件 1: MGC 给网关发送 RQNT 命令,请求其对端点的摘机进行监控。 网关确 认命令。确认时,使用和 RQNT 命令相同的事务代码。网关监控这一事件直到用户摘机。 事件 2:用户摘机后,网关给 MGC 发出 NTFY 命令,其中包含被监控端点发生的摘机事件消息。 MGC 应对网关发出的信息进行确认并记录摘机时间。 事件 3: MGC 给网关发 RQNT 命令,要求它根据拨号方案收集拨打的号码,监控用户的挂机事件并送拨号音。 网关确认命令并同时给用户送拨号音。 事件 4:网关根据事件 3 的拨号方案,接收数字。收到所有数字后,网关发出NTFY 命令通知 MGC。这个命令携带收到的带有数 ObservedEvents 的数字。 MGC 发 ACK 确认命令。 软交换分组协议基础 MGCP 协议 第 4 章 MGCP 接续流程分析 24 MGC 分析事件 4 中收到的号码,来指定呼叫路由和建立与指定被叫网关的连接。 MGC 不能建立连接,因为被叫方忙。 MGC 送忙音给呼叫网关的指定端点。 事件 5: MGC 发出 RQNT 命令给主叫网关指示它监控所有端点的挂机信号。 主叫网关用 ACK 对 MGC 响应并恢复指定端点的挂机检测。 事件 6:当主叫网关监测到主叫挂机,发 NTFY 命令给 MGC。 MGC 用 ACK 对网关响应。 事件 7: MGC 发出 RQNT 命令给主叫网关,指示它停送忙音给指定端点并监控所有端点的摘机信号。 网关用 ACK 对 MGC 响应并恢复指 定端点的摘机检测。 软交换分组协议基础 MGCP 协议 第 5 章 MGCP 在组网中的实际应用 1 第 5章 MGCP 在组网中的实际应用 5.1 MGCP在 NGN 组网中的应用: 在介绍 MGCP 在 NGN 应用之前,大家先简单了解一些 NGN 的简单情况,所谓 NGN 从字面上理解,我们可以叫它为下一代网络。它是电信史上的一块里程碑,标志着新一代电信网络时代的到来。从发展的角度来看, NGN 在传统的以电路交换为主的 PSTN 网络中逐渐迈出了向以分组交换为主的步伐,它承载了原有 PSTN 网络的所有业务,同时把大量的数据传输卸载( offload)到 ATM/IP 网络中以减轻 PSTN 网络的重荷,又以 ATM/IP 技术的新 特性增加和增强了许多新老业务。从这个意义上讲, NGN 是基于 TDM 的 PSTN 语音网络和基于 ATM/IP 的分组网络融合的产物,它使得在新一代网络上语音、视频、数据等综合业务成为了可能。 大家可以通过 NGN 网络架构来了解 MGCP 的应用,如图 7 所示: 图 7 NGN网络架构 从上图可以看出, MGCP 是媒体网关控制器(或软交换)与媒体网关之间应用的一种标准协议,完成了媒体网关控制技术。软交换与媒体网关间的接口主要用于软交换对媒体网关的承载控制、资源控制及管理,从软交换的协议框架也不难理解 MGCP 的应用,如图 8 所示: 软交换分组协议基础 MGCP 协议 第 5 章 MGCP 在组网中的实际应用 2 图 8 NGN组网应用的协议框架 5.2 MGCP在 SoftX3000 产品中的应用: 最后通过 SoftX3000 产品大家再来了解一下 MGCP 的应用, SoftX3000 系统提供 MGCP 呼叫代理功能。 SoftX3000 可作为网络中 MGCP E-phone 和Softphone 的接入点,和 IETF RFC 2705 ( MGCP)兼容。 SoftX3000 遵循RFC2705( 1.0 版本) 2.1.3 节的规定,支持呼叫和连接管理规程。 SoftX3000支持 MGCP MRS 控制,用于提供通知音和交换语音响应( IVR)业务。 MRS可用于为系统中的各种用户提供通知服务。 SoftX3000 也支持通过 MRS 进行收号。 MG

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论