本文档介绍如何配置媒体网关控制协议(MGCP)并对其进行故障排除;MGCP是呼叫代理/终端协议。
本文档没有任何特定的要求。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
| 属性 |
定义 |
| 呼叫代理 |
发挥主要作用并提供集中式呼叫智能的呼叫控制元素。 |
| 终端 |
终端是呼叫代理控制的设备,例如:FXO、FXS或DS0通道。 |
| PSTN |
公共交换电话网络。 |
媒体网关控制协议(MGCP)由RFC 2705定义。MGCP是呼叫代理/终端协议,其中终端由某种类型的呼叫代理控制。整个控制情报由呼叫代理管理,呼叫代理会指示终端在检测到事件后执行什么操作。MGCP使用TCP端口2428和UDP端口2427。
MGCP中的TCP端口2428用于打开呼叫代理的新套接字,以确定是否可以建立连接。如果没有此新套接字,则无法交换后续MGCP消息。它还用于在PRI终端与其注册到的呼叫代理之间发送/接收回传消息。最后,TCP端口2428用于在主呼叫代理无响应时故障切换至备用呼叫代理。
MGCP中的UDP端口2427用于终端和呼叫代理之间交换的MGCP消息。
这是一个基本MGCP流的示例。在本示例中,网关收到来自此语音网关(终端)上的PSTN的新呼叫。 网关将收到的新呼叫通知呼叫代理(CUCM),呼叫代理指示网关为此新呼叫创建连接。最后,网关向呼叫代理发送一个OK来建立呼叫。

每个终端都需要一个标识符,以便呼叫代理确定发送事件需要谁或事件来自何处。终端标识符有两个主要组件:
示例:
本文档将每个配置组件分为几个步骤。
在计划注册到CUCM的模拟网关上,这是所需的最低配置。只需添加此配置即可开始注册过程,因为剩余配置将从CUCM下载:
VG320(config)# mgcp call-agent 10.50.217.100 2427 service-type mgcp version 0.1 VG320(config)# ccm-manager config server 10.50.217.100 VG320(config)# ccm-manager config VG320(config)# ccm-manager mgcp VG320(config)# mgcp **Note on the ISR4000s if you fail to down load your configuration file, you must add the command: VG320(config)# ip tftp source-interface GigabitEthernet x/x/x
步骤1.要在CUCM中配置MGCP网关,您必须登录到Cisco Unified CM Administration。登录后,导航到Device > Gateway:

步骤2.上面的选择将您置于“查找并列出网关”页面。在此页面上,选择Add New按钮,并使用“+”(加号):

步骤3.选择Add New后,系统将提示您选择网关类型。使用下拉列表选择要注册的硬件,然后选择Next为此设备选择所需的协议(必须选择MGCP):

步骤4.选择使用的硬件和协议后,必须配置域名、Cisco Unified Communications Manager组和模块信息。这些是通过MGCP注册终端所需的主要字段。
步骤5.域名由1至2部分组成。在Domain Name字段中,必须至少输入路由器的Host Name。在此场景中,主机名为:
VG320。但是,如果在网关上配置了域名,则必须配置此设备的完全限定域名:

步骤6.选择保存。这将更新页面并允许您选择子单位。选择子单位后,请再次选择保存。您现在可以看到可配置的端口:

步骤7.要配置终端,请点击模拟设备所插入的端口(在本场景中,该端口为0/0/0)。 选择端口后,系统会提示您配置端口类型:

步骤8.在本例中,选择POTS。选择后,您可以像为任何其他Call Manager端点那样为设备信息输入所有必要的值。唯一的必填字段是设备池,但您可以输入其他值,如呼叫搜索空间。完成后,单击Save。
步骤9.此时,左侧窗格已填充Add a New DN字段。您现在可以将DN与此端口关联、保存并应用配置。完成此操作后,返回端口配置页面,您可以看到端口已注册:

本节介绍MGCP终端注册和呼叫设置的基础知识。这包括网关与呼叫代理交互时看到的命令消息。在此场景中,CUCM是我们的呼叫代理。

对于要注册到CUCM的MGCP终端,网关将打开TCP套接字2428到CUCM。在此处,它使用UDP端口2427发送命令消息。一旦套接字打开,网关就会向CUCM发送RSIP命令,通知终端必须在重新启动时停止服务。CUCM发送有关此问题的简单确认。重新启动完成后,CUCM会发送一个带有参数R:的RQNTL/hd。这表示网关必须通知CUCM摘机事件。
此时,CUCM将审核终端(AUEP)发送到网关,以确定给定终端的状态。来自网关的响应是带有终端功能的ACK。完成此操作后,终端即注册到CUCM。以下是调试输出示例:
000138: *Apr 23 19:41:49.010: MGCP Packet sent to <CUCM IP>:2427---> RSIP 39380951 aaln/S0/SU0/0@VG320.dillbrowLab.local MGCP 0.1 RM: restart <--- 000139: *Apr 23 19:41:49.030: MGCP Packet received from <CUCM IP>:2427---> 200 39380951 <--- 000140: *Apr 23 19:41:49.030: MGCP Packet received from <CUCM IP>:2427---> RQNT 3 AALN/S0/SU0/0@VG320.dillbrowLab.local MGCP 0.1 X: 2 R: L/hd Q: process,loop <--- 000141: *Apr 23 19:41:49.030: MGCP Packet sent to <CUCM IP>:2427---> 200 3 OK <--- 000142: *Apr 23 19:41:49.050: MGCP Packet received from <CUCM IP>:2427---> AUEP 4 AALN/S0/SU0/0@VG320.dillbrowLab.local MGCP 0.1 F: X, A, I <--- 000143: *Apr 23 19:41:49.050: MGCP Packet sent to <CUCM IP>:2427---> 200 4 I: X: 2 L: p:10-20, a:PCMU;PCMA;G.nX64, b:64, e:on, gc:1, s:on, t:10, r:g, nt:IN, v:T;G;D;L;H;R;ATM;SST;PRE L: p:10-220, a:G.729;G.729a;G.729b, b:8, e:on, gc:1, s:on, t:10, r:g, nt:IN, v:T;G;D;L;H;R;ATM;SST;PRE L: p:10-110, a:G.726-16;G.728, b:16, e:on, gc:1, s:on, t:10, r:g, nt:IN, v:T;G;D;L;H;R;ATM;SST;PRE L: p:10-70, a:G.726-24, b:24, e:on, gc:1, s:on, t:10, r:g, nt:IN, v:T;G;D;L;H;R;ATM;SST;PRE L: p:10-50, a:G.726-32, b:32, e:on, gc:1, s:on, t:10, r:g, nt:IN, v:T;G;D;L;H;R;ATM;SST;PRE L: p:30-270, a:G.723.1-H;G.723;G.723.1a-H, b:6, e:on, gc:1, s:on, t:10, r:g, nt:IN, v:T;G;D;L;H;R;ATM;SST;PRE L: p:30-330, a:G.723.1-L;G.723.1a-L, b:5, e:on, gc:1, s:on, t:10, r:g, nt:IN, v:T;G;D;L;H;R;ATM;SST;PRE M: sendonly, recvonly, sendrecv, inactive, loopback, conttest, data, netwloop, netwtest <---

上一个图像是出站呼叫的示例。
您可以看到您的呼叫座席,在本例中为CUCM,从已恢复至网关以建立呼叫连接的CRCX开始。网关回复一个200 OK,其中包含所支持的SDP。完成此交换后,CUCM会向网关发送带有参数S的RQNT消息:G/rt。这会告知网关向设备播放回铃。远端收到呼叫并接听后,CUCM随后将带SDP的MDCX发送到网关,使其知道远端设备的媒体信息。网关发回一个简单的200 OK来确认这一点,此时,您已建立了双向媒体。
既然呼叫已应答,CUCM将发送另一个参数为R:的RQNTD/[0-9ABCD*#]。这会告知网关让CUCM知道呼叫处于活动状态时按下的任何DTMF,以便将其中继到下一设备。
呼叫完成后,CUCM会将MDCX通过M:recvonly可终止介质,然后是DLCX以断开呼叫。以下是调试输出示例:
001005: *May 13 14:28:15.633: MGCP Packet received from <CUCM IP>:2427---> CRCX 174 AALN/S0/SU1/0@VG320.dillbrowLab.local MGCP 0.1 C: A000000001b79063000000F5 X: 21 L: p:20, a:PCMU, s:off, t:b8 M: recvonly R: L/hu Q: process,loop <--- 001006: *May 13 14:28:15.637: MGCP Packet sent to <CUCM IP>:2427---> 200 174 OK I: 6 v=0 c=IN IP4 <Gateway IP> m=audio 16410 RTP/AVP 0 101 100 a=rtpmap:101 telephone-event/8000 a=fmtp:101 0-15 a=rtpmap:100 X-NSE/8000 a=fmtp:100 192-194 <--- 001007: *May 13 14:28:15.789: MGCP Packet received from <CUCM IP>:2427---> RQNT 175 AALN/S0/SU1/0@VG320.dillbrowLab.local MGCP 0.1 X: 22 R: L/hu S: G/rt Q: process,loop <--- 001008: *May 13 14:28:15.789: MGCP Packet sent to <CUCM IP>:2427---> 200 175 OK <--- 001009: *May 13 14:28:17.793: MGCP Packet received from <CUCM IP>:2427---> MDCX 176 AALN/S0/SU1/0@VG320.dillbrowLab.local MGCP 0.1 C: A000000001b79063000000F5 I: 6 X: 23 L: p:20, a:PCMU, s:off, t:b8 M: sendrecv R: L/hu, L/hf, D/[0-9ABCD*#] S: Q: process,loop v=0 o=- 6 0 IN EPN AALN/S0/SU1/0@VG320.dillbrowLab.local s=Cisco SDP 0 t=0 0 m=audio 18946 RTP/AVP 0 101 c=IN IP4 <Phone IP> a=rtpmap:101 telephone-event a=fmtp:101 0-15 <--- 001010: *May 13 14:28:17.797: MGCP Packet sent to <CUCM IP>:2427---> 200 176 OK <--- 001011: *May 13 14:28:17.797: MGCP Packet received from <CUCM IP>:2427---> RQNT 177 AALN/S0/SU1/0@VG320.dillbrowLab.local MGCP 0.1 X: 24 R: L/hu, D/[0-9ABCD*#], L/hf S: Q: process,loop <--- 001012: *May 13 14:28:17.797: MGCP Packet sent to <CUCM IP>:2427---> 200 177 OK <--- 001015: *May 13 14:28:20.813: MGCP Packet received from <CUCM IP>:2427---> DLCX 178 AALN/S0/SU1/0@VG320.dillbrowLab.local MGCP 0.1 C: A000000001b79063000000F5 I: 6 X: 25 R: L/hd S: Q: process,loop <--- 001016: *May 13 14:28:20.845: MGCP Packet sent to <CUCM IP>:2427---> 250 178 OK P: PS=151, OS=24160, PR=146, OR=23360, PL=0, JI=0, LA=0 <---
当您对MGCP进行故障排除时,可以查看一些有帮助的show命令和调试,以确定注册或呼叫失败的原因。一个很好的起点是检查您的MGCP网关是否已注册到呼叫代理。您可以通过运行show命令show ccm-manager或show mgcp进行检查:
VG320# show ccm-manager MGCP Domain Name: VG320.dillbrowLab.local Priority Status Host ============================================================ Primary Registered <CUCM IP> First Backup None Second Backup None Current active Call Manager: <CUCM IP> Backhaul/Redundant link port: 2428 Failover Interval: 30 seconds Keepalive Interval: 15 seconds Last keepalive sent: 17:42:40 UTC Jul 12 2019 (elapsed time: 00:00:15) Last MGCP traffic time: 17:42:55 UTC Jul 12 2019 (elapsed time: 00:00:00) VG320# show mgcp MGCP Admin State ACTIVE, Oper State ACTIVE - Cause Code NONE MGCP call-agent: <CUCM IP> 2427 Initial protocol service is MGCP 0.1 MGCP validate call-agent source-ipaddr DISABLED MGCP validate domain name DISABLED MGCP block-newcalls DISABLED
这些命令已缩短为仅包含相关输出。有关其他信息,请参阅以下显示输出:
如果前面的show命令已签出,您可以在设备上运行这些调试,以进一步确定呼叫失败的原因:
之前的调试是排除注册和呼叫设置问题的绝佳起点。
| 版本 | 发布日期 | 备注 |
|---|---|---|
5.0 |
02-Jul-2026
|
更新的拼写、间距和1个替代文本。 |
4.0 |
29-Aug-2023
|
更新的PII、SEO、品牌要求和格式。 |
3.0 |
15-Jul-2022
|
重新认证 |
1.0 |
14-Aug-2019
|
初始版本 |