Contents

Introdução

Pré-requisitos

Requisitos

Componentes Utilizados

Informações de Apoio

Definições comuns

Fundamentos de MGCP

Fluxo básico

Identificadores de ponto final

Configuração Básica de MGCP

Configuração CLI do gateway

Configuração do CUCM

Registro de endpoint e configuração de chamada

Registro de ponto final MGCP

Configuração de chamada MGCP

Solucionar problemas de MGCP

Informações Relacionadas

Introdução

Este documento descreve como configurar e solucionar problemas do Media Gateway Control Protocol (MGCP). O MGCP é um protocolo Call Agent/Endpoint.

Pré-requisitos

Requisitos

Não existem requisitos específicos para este documento.

Componentes Utilizados

- Cisco Unified Communications Manager 11.5

- VG320

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.

Informações de Apoio

Observação: este documento utiliza exemplos de configuração, bem como saídas dos comandos debug e show como pontos de referência. Os vários recursos neste documento estão claramente marcados com a versão que o recurso foi introduzido no Cisco IOS® e no Cisco IOS® XE.

Definições comuns

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).

Fundamentos de MGCP

O Media Gateway Control Protocol (MGCP) é definido pelo RFC 2705. O MGCP é um protocolo Call Agent/Endpoint, em que o Endpoint é controlado por um Call Agent de algum tipo. Toda a inteligência de controle é controlada 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.

Fluxo básico

Este é um exemplo de um fluxo de MGCP básico. Você pode ver no exemplo que o gateway recebe uma nova chamada do PSTN neste gateway de voz (endpoint). Em seguida, o Gateway notifica o Agente de Chamadas (CUCM) sobre a nova chamada recebida, e 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.

Identificadores de ponto final

É necessário um identificador por endpoint para que o agente de chamadas possa determinar quem precisa enviar um evento ou de onde ele vem. Os Identificadores de endpoints têm dois componentes principais:

- Nome local nesse Gateway (não diferencia maiúsculas de minúsculas).

- Nome de Domínio do Gateway que gerencia o ponto de extremidade (diferencia maiúsculas de minúsculas).

Examples:

- AALN/S1/SU0/0@AV-VG200-2.cisco.com

- S0/SU0/DS1-0@AV-VG200-1

Configuração Básica de MGCP

Este documento dividiu cada um dos componentes de configuração em etapas individuais.

Configuração CLI do gateway

No gateway analógico que você planeja registrar no CUCM, essa é a configuração mínima realmente necessária. Você só precisa adicionar essa configuração para iniciar o processo de registro, já que o restante da configuração é baixado 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

Configuração do CUCM

Para configurar o Gateway MGCP no CUCM, você precisa fazer login no Cisco Unified CM Administration. Depois de fazer login, navegue até Device > Gateway:

A seleção anterior inicia você na página Find and List Gateway. Nesse caso, você deseja selecionar o botão Add New com um sinal de adição:

Depois de selecionar Add New, você será solicitado a escolher um Tipo de gateway. Use este menu suspenso para escolher o hardware que você planeja registrar e selecione Next para escolher o protocolo desejado para este dispositivo (você precisa selecionar MGCP):

Agora que você selecionou o hardware e o protocolo usados, é necessário 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.

O nome de domínio é composto de 1 a 2 partes. No mínimo, no campo Domain Name, você precisa digitar o Host Name do roteador. No meu cenário, o nome do host é:

VG320

No entanto, se você tiver um nome de domínio configurado no gateway, será necessário configurar o Nome de domínio totalmente qualificado deste dispositivo:

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

Para configurar um endpoint agora, clique na porta na qual o dispositivo analógico está conectado (no nosso caso, é 0/0/0). Depois de selecionar uma porta, você será solicitado a configurar o tipo de porta:

Nesse caso, selecione POTS. Uma vez selecionado, você pode digitar todos os valores necessários para as informações do dispositivo como 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 um Espaço de pesquisa de chamada. Depois de fazer isso, você pode clicar em Salvar. Neste ponto, você verá que o painel à esquerda preencheu o campo Add a new DN para você. Agora você pode associar um DN a essa porta, salvar e aplicar a configuração. Depois que isso for feito, na página de configuração da porta, você poderá ver a porta como registrada:

Registro de endpoint e configuração de chamada

Nesta seção, você aborda os conceitos básicos de registro de ponto final de MGCP e configuração de chamada. Isso inclui as Mensagens de Comandos vistas quando o Gateway interage com o Agente de Chamadas. Neste cenário, o CUCM é nosso agente de chamadas.

Registro de ponto final MGCP

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 informá-lo de que o endpoint deve ser retirado de serviço enquanto ocorre a reinicialização, e 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 AUEP (Audit Endpoint, ponto de extremidade de auditoria) ao Gateway para determinar o status de um determinado ponto de extremidade. 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

<---

Configuração de chamada MGCP

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 devolve um simples 200 OK para confirmar isso e, nesse ponto, você tem 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 ao 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

<---

Solucionar problemas de MGCP

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 isso por meio do 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 de show:

show mgcp

show mgcp endpoint

show mgcp connection

show ccm-manager

show voice port summary

show isdn status

show controller [t1/e1] x/x/x

show call ative voice brief

show voice call summary

show voice call status

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:

debug mgcp [endpoint erro | | eventos | pacotes]

debug mgcp all (para depuração avançada)

debug ccm-manager [backhaul | config-download erro | | eventos]

debug voip ccapi inout

debug vpm signal

debug voip vtsp session

debug isdn q931

As depurações anteriores são um ótimo ponto de partida para o que você precisa para solucionar problemas de registro e configuração de chamada.

Informações Relacionadas

RFC 2705:

Rastreador de Dados - Solicitação de Notificação