Este documento descreve como configurar e solucionar problemas do Media Gateway Control Protocol (MGCP); O MGCP é um protocolo Call Agent/Endpoint.
Não existem requisitos específicos para este documento.
As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.
| Atributo |
Definição |
| Chamar agente |
Os elementos de controle de chamadas que desempenham a função principal e fornecem inteligência centralizada de chamadas. |
| Endpoints |
Os endpoints são os dispositivos controlados pelos agentes de chamadas, como: FXO, FXS ou um canal DS0. |
| PSTN |
Public Switched Telephone Network (Rede de Telefonia Pública Comutada). |
O Media Gateway Control Protocol (MGCP) é definido pelo RFC 2705. O MGCP é um protocolo de Agente de Chamada/Ponto de Extremidade em que o Ponto de Extremidade é controlado por um Agente de Chamada de algum tipo. Toda a inteligência de controle é gerenciada por um agente de chamadas que instrui o endpoint sobre a ação a ser tomada quando um evento for detectado. O MGCP usa a porta TCP 2428 e a porta UDP 2427.
A porta TCP 2428 no MGCP é usada para abrir um novo soquete com o Agente de Chamada para determinar se a conexão pode ser estabelecida. Sem esse novo soquete, as mensagens de MGCP subsequentes não podem ser trocadas. Ele também é usado para enviar/receber mensagens de retorno entre os pontos finais PRI e o agente de chamadas no qual está registrado. Finalmente, a porta TCP 2428 é usada para failover para agentes de chamada de backup no caso de um agente de chamada principal não responder.
A porta UDP 2427 no MGCP é usada para mensagens MGCP trocadas entre os endpoints e os agentes de chamada.
Este é um exemplo de um fluxo de MGCP básico. Neste exemplo, o gateway recebe uma nova chamada do PSTN neste gateway de voz (endpoint). O Gateway notifica o Agente de Chamadas (CUCM) sobre essa nova chamada recebida, o Agente de Chamadas instrui o Gateway a criar uma conexão para essa nova chamada. Finalmente, o Gateway envia um OK de volta ao agente de chamadas para estabelecer a chamada.

É necessário um identificador por endpoint para o agente de chamadas para determinar de quem ele precisa enviar um evento ou de onde ele vem. Os Identificadores de Ponto Final têm dois componentes principais:
Examples:
Este documento dividiu cada componente de configuração em etapas individuais.
No gateway analógico que você planeja registrar no CUCM, essa é a configuração mínima necessária. Você só precisa adicionar essa configuração para iniciar o processo de registro, já que a configuração restante é baixada do 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
Etapa 1. Para configurar o Gateway MGCP no CUCM, você deve fazer login no Cisco Unified CM Administration. Depois de fazer login, navegue até Device > Gateway:

Etapa 2. A seleção anterior coloca você na página Find and List Gateway. Nesta página, selecione o botão Add New com um sinal de "+" (mais):

Etapa 3. Depois de selecionar Add New, você será solicitado a escolher um Tipo de Gateway. Use a lista suspensa para escolher o hardware que você planeja registrar e selecione Avançar para escolher o protocolo desejado para este dispositivo (você deve selecionar MGCP):

Etapa 4. Depois de selecionar o hardware e o protocolo usados, você deve configurar o Nome do domínio, o Grupo do Cisco Unified Communications Manager e as Informações do módulo. Esses são os principais campos necessários para registrar um endpoint via MGCP.
Etapa 5. O nome de domínio é composto de 1 a 2 partes. No mínimo, no campo Domain Name, você deve digitar o Host Name do roteador. Neste cenário, o nome do host é:
VG320. No entanto, se você tiver um nome de domínio configurado no gateway, deverá configurar o Nome de Domínio Totalmente Qualificado deste dispositivo:

Etapa 6. Escolha Salvar. Isso atualiza a página e permite selecionar uma Subunidade. Depois de selecionar uma Subunidade, selecione Salvar novamente. Agora você pode ver suas portas configuráveis:

Etapa 7. Para configurar um endpoint, clique na porta na qual seu dispositivo analógico está conectado (nesse cenário, ele é 0/0/0). Depois de selecionar uma porta, você será solicitado a configurar o tipo de porta:

Etapa 8. Nesse caso, selecione POTS. Uma vez selecionado, você pode digitar todos os valores necessários para as informações do dispositivo como você faria para qualquer outro ponto final do Call Manager. O único campo obrigatório é Pool de dispositivos, no entanto, você pode inserir valores adicionais, como o Espaço de pesquisa de chamada. Depois de concluído, clique em Salvar.
Etapa 9. Nesse ponto, o painel esquerdo preencheu o campo Add a New DN. Agora você pode associar um DN a essa porta, salvar e aplicar a configuração. Quando isso estiver concluído, na página de configuração da porta, você poderá ver a porta como registrada:

Nesta seção, são abordados os conceitos básicos de registro de endpoint MGCP e configuração de chamada. Isso inclui as Mensagens de Comando vistas como o Gateway interage com o Agente de Chamadas. Neste cenário, o CUCM é nosso agente de chamadas.

Para que um endpoint MGCP se registre no CUCM, o Gateway abre o soquete TCP 2428 para o CUCM. A partir daqui, ele usa a porta UDP 2427 para enviar mensagens de comando. Quando o soquete estiver aberto, o Gateway enviará um comando RSIP ao CUCM para informar que o endpoint deve ser desativado enquanto ocorre a reinicialização. O CUCM envia uma confirmação simples sobre isso. Após a conclusão da reinicialização, o CUCM envia um RQNT com o parâmetro R: L/hd Isso denota que o Gateway deve notificar o CUCM sobre um evento fora do gancho.
Nesse ponto, o CUCM envia um ponto final de auditoria (AUEP) ao Gateway para determinar o status de um determinado ponto final. A resposta do Gateway é um ACK com os recursos de endpoints. Quando isso for concluído, o endpoint será registrado no CUCM. Este é um exemplo de saída de depuração:
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 <---

A imagem anterior é um exemplo de uma chamada de saída.
Você pode ver que seu Agente de Chamada, neste caso o CUCM, começa com um CRCX que tem acesso somente ao Gateway para estabelecer a conexão para a chamada. O Gateway responde com um 200 OK que contém o SDP para o que ele suporta. Uma vez feita essa troca, o CUCM envia uma mensagem RQNT ao Gateway com o parâmetro S: G/rt Isso instrui o Gateway a reproduzir a chamada de volta para o dispositivo. Depois que a extremidade oposta recebe a chamada e a atende, o CUCM envia um MDCX com SDP para o Gateway para informá-lo sobre as informações de mídia do dispositivo da extremidade oposta. O Gateway envia de volta um simples 200 OK para confirmar isso e, nesse ponto, você estabeleceu uma mídia bidirecional.
Agora que a chamada foi atendida, o CUCM envia outro RQNT com o parâmetro R: D/[0-9ABCD*#]. Isso instrui o Gateway a informar ao CUCM sobre qualquer DTMF que seja pressionado enquanto a chamada está ativa, para que ele possa ser retransmitido para o próximo dispositivo.
Quando a chamada é concluída, o CUCM envia um MDCX para o Gateway com M: recvonly para encerrar a mídia, seguido por um DLCX para desconectar a chamada. Este é um exemplo de saída de depuração:
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 <---
Quando você soluciona problemas de MGCP, existem alguns comandos show úteis e depurações que você pode visualizar para determinar por que o registro ou uma chamada falhou. Um ótimo ponto de partida é verificar se o Gateway MGCP está registrado no Agente de Chamadas. Você pode verificar executando o comando show show ccm-manager ou 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
Esses comandos foram abreviados para conter apenas a saída pertinente. Para obter informações adicionais, consulte estas saídas show:
Se os comandos show anteriores fizerem check-out, você poderá executar essas depurações no dispositivo para determinar ainda mais por que sua chamada falhou:
As depurações anteriores são um ótimo lugar para começar a solucionar problemas de registro e configuração de chamada.
| Revisão | Data de publicação | Comentários |
|---|---|---|
5.0 |
02-Jul-2026
|
Ortografia, espaçamento e 1 texto alternativo atualizados. |
4.0 |
29-Aug-2023
|
PII, SEO, requisitos de marca e formatação atualizados. |
3.0 |
15-Jul-2022
|
Recertificação |
1.0 |
14-Aug-2019
|
Versão inicial |