Introduction
Este documento fornece um estudo de caso sobre como a mensagem de ReStart In Progress (RSIP) do Media Gateway Control Protocol (MGCP) funciona para o Cisco PGW 2200 Softswitch no modo de controle de chamadas.
Prerequisites
Requirements
Os leitores deste documento devem estar cientes destes tópicos:
As seguintes abreviações, acrônimos e termos são usados neste documento:
-
CGB — Bloco de grupo de circuito (mensagem)
-
CGBA — Confirmação de Bloco de Grupo de Circuitos (Mensagem)
-
CGU — Desbloqueio do grupo de circuitos (mensagem)
-
CGUA — Confirmação de desbloqueio do grupo de circuitos (mensagem)
-
CIC — Código de identificação do circuito
-
PSTN—Rede telefônica pública comutada
Componentes Utilizados
As informações neste documento são baseadas no Cisco PGW 2200 Softswitch.
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.
Conventions
For more information on document conventions, refer to the Cisco Technical Tips Conventions.
Problema de RSIP MGCP do Cisco PGW 2200
Este documento descreve o funcionamento da mensagem MGCP RSIP usada no software Media Gateway Controller (MGC) para o Cisco PGW 2200 no modo de controle de chamadas.
A descrição deste documento faz parte da mensagem RFC 2705 MGCP Versão 0.1
- RSIP (Cisco PGW 2200 versão 9.2[2] a 9.3[2]).
Quando o Cisco PGW 2200 recebe a mensagem RSIP, ele envia um código de retorno 200 para confirmar o gateway.
-
Desligamento forçado: O Cisco PGW 2200 bloqueia todos os circuitos para configuração de chamadas e encerra as conexões existentes.
-
Desligamento rápido: O Cisco PGW 2200 bloqueia circuitos ociosos e espera que as conexões de saída sejam terminadas.
-
Reiniciar: O Cisco PGW 2200 desbloqueia todos os circuitos para configuração de chamadas.
Exemplo (rastreamento de farejador):
IP address 10.48.84.20 = The Cisco PGW2200—IP address 10.48.84.189
= The Cisco NAS SS7 Point Code 1-010-1 = The Cisco PGW2200—SS7 Point Code
1-004-1 = SS7 STP [PSTN]
17:40:10.495444 10.48.84.189:2427 10.48.84.20:2427 MGCP...... -> RSIP 5 S0/DS1-0/*@V5300-4.cisco.com MGCP 0.1
RM: graceful
RD: 0
Isso coloca o controlador do servidor de acesso à rede (NAS) no modo de "desligamento", o que resulta em uma mensagem RSIP enviada ao Cisco PGW 2200 com um desligamento correto.
17:40:10.495763 10.48.84.20:2427 10.48.84.189:2427 MGCP...... -> 200 5
A mensagem RSIP foi confirmada por uma mensagem de 200 mensagens do Cisco PGW 2200 para o NAS.
17:40:10.722502 1-004-1[02081] 1-010-1[02129] ITU ISUP. -> CGB (18) CIC=00001
SLS=01 Pr:0 Ni:NTL
O Cisco PGW 2200 também bloqueia os circuitos do Sistema de Sinalização 7 (SS7).
17:40:10.819932 1-010-1[02129] 1-004-1[02081] ITU ISUP. -> CGBA(1a) CIC=00001
SLS=01 Pr:0 Ni:NTL
17:40:14.420686 1-010-1[02129] 1-004-1[02081] ITU ISUP. -> CGB (18) CIC=00001
SLS=01 Pr:0 Ni:NTL
17:40:14.433572 1-004-1[02081] 1-010-1[02129] ITU ISUP. -> CGBA(1a) CIC=00001
SLS=01 Pr:0 Ni:NTL
17:40:33.576082 10.48.84.189:2427 10.48.84.20:2427 MGCP...... -> RSIP 6 S0/DS1-0/*@V5300-4.cisco.com MGCP 0.1
RM: restart
RD: 1
Isso coloca o controlador do NAS no modo "no shutdown", o que resulta em uma mensagem RSIP enviada ao Cisco PGW 2200 com uma mensagem "restart".
17:40:33.576373 10.48.84.20:2427 10.48.84.189:2427 MGCP...... -> 200 6
A mensagem RSIP foi confirmada por uma mensagem de 200 mensagens do Cisco PGW 2200 para o NAS
17:40:33.802731 1-004-1[02081] 1-010-1[02129] ITU ISUP. -> CGU (19) CIC=00001
SLS=01 Pr:0 Ni:NTL
O Cisco PGW 2200 também bloqueia os circuitos SS7.
17:40:33.901392 1-010-1[02129] 1-004-1[02081] ITU ISUP. -> CGUA(1b) CIC=00001
SLS=01 Pr:0 Ni:NTL
17:40:39.662585 1-010-1[02129] 1-004-1[02081] ITU ISUP. -> CGU (19) CIC=00001
SLS=01 Pr:0 Ni:NTL
17:40:39.682974 1-004-1[02081] 1-010-1[02129] ITU ISUP. -> CGUA(1b) CIC=00001
SLS=01 Pr:0 Ni:NTL
Você pode verificar o status do Cisco PGW 2200 ao mesmo tempo emitindo o comando Man-Machine Language (MML) rtrv-tc:all quando o controlador está no modo de desligamento. Nesse caso, o status é definido no Cisco PGW 2200 em GW_STAT=INTERFACE_DISABLED,BLK=GATEWAY & REMAUTO".
PGW2200 mml> rtrv-tc:all
Retrieving results. This could take a few moments...
MGC-01 - Media Gateway Controller 2004-01-30 18:33:21.128 GMT
M RTRV
"ss7path:CIC=1,"
"ss7path:PST=IS,CALL=IDLE,GW_STAT=INTERFACE_DISABLED,BLK=GATEWAY & REMAUTO"
"ss7path:CIC=2,"
"ss7path:PST=IS,CALL=IDLE,GW_STAT=INTERFACE_DISABLED,BLK=GATEWAY & REMAUTO"
"ss7path:CIC=3,"
"ss7path:PST=IS,CALL=IDLE,GW_STAT=INTERFACE_DISABLED,BLK=GATEWAY & REMAUTO"
"ss7path:CIC=4,"
"ss7path:PST=IS,CALL=IDLE,GW_STAT=INTERFACE_DISABLED,BLK=GATEWAY & REMAUTO"
"ss7path:CIC=5,"
"ss7path:PST=IS,CALL=IDLE,GW_STAT=INTERFACE_DISABLED,BLK=GATEWAY & REMAUTO"
"ss7path:CIC=6,"
"ss7path:PST=IS,CALL=IDLE,GW_STAT=INTERFACE_DISABLED,BLK=GATEWAY & REMAUTO"
"ss7path:CIC=7,"
"ss7path:PST=IS,CALL=IDLE,GW_STAT=INTERFACE_DISABLED,BLK=GATEWAY & REMAUTO"
"ss7path:CIC=8,"
"ss7path:PST=IS,CALL=IDLE,GW_STAT=INTERFACE_DISABLED,BLK=GATEWAY & REMAUTO"
"ss7path:CIC=9,"
"ss7path:PST=IS,CALL=IDLE,GW_STAT=INTERFACE_DISABLED,BLK=GATEWAY & REMAUTO"
!--- Output suppressed.
Observação: se o status for "GW_STAT=INTERFACE_DISABLED,BLK=GATEWAY", considere estas informações:
Ao adicionar dinamicamente CICs, o estado padrão é INTERFACE_DISABLED. Em seguida, a auditoria é iniciada para os CICs SS7 adicionados. Quando você recebe uma resposta de auditoria positiva, a INTERFACE_DISABLED é apagada.
Observe também que GW_STAT=INTERFACE_DISABLED, além de BLK=GATEWAY, fornece uma indicação de que o Cisco PGW 2200 recebeu RSIP (RM:forced) ou RSIP (RM:graceful) do gateway. Esse estado é limpo quando o Cisco PGW 2200 recebe RSIP (RM:restart) do gateway.
Se os CICs SS7 permaneceram no estado INTERFACE_DISABLED, emita o comando debug mgcp packet no gateway para entender bem essa mensagem de erro. Isso pode ser vinculado ao recebimento de um código de retorno de gateway 500 (UNKNOWN_ENDPOINT) à mensagem de ponto de extremidade de auditoria (AUEP), que permanece nesse status. Verifique o status no arquivo bearChanSwitched.dat, localizado no diretório /opt/CiscoMGC/etc., e certifique-se de que a notificação de convenção de nomenclatura de endpoint seja a mesma que no gateway. Não faça nenhuma modificação nos arquivos .dat, mas use os comandos Man-Machine Lanuage (MML) para essa alteração.
Este é um exemplo:
s7/ds1-0/1@v5400-1.cisco.com
For Cisco AS5400 with CT1/CE1/PRI (TGW)
Sx/DS1-y/z@host.dom.com
x = 0 - 7,
y = 0 - 7,
z = T1:1-24 or E1: 1 - 31
For Cisco AS5400 with CT3 (TGW)
S0/DS1-x/y@host.dom.com
x = 1 - 28,
y = 1 - 24
O status de funcionamento correto é este:
PGW2200 mml> rtrv-tc:all
Retrieving results. This could take a few moments...
MGC-01 - Media Gateway Controller 2004-01-30 18:37:57.972 GMT
M RTRV
"ss7path:CIC=1,PST=IS,CALL=IDLE,GW_STAT=CXN_IS,BLK=NONE"
"ss7path:CIC=2,PST=IS,CALL=IDLE,GW_STAT=CXN_IS,BLK=NONE"
"ss7path:CIC=3,PST=IS,CALL=IDLE,GW_STAT=CXN_IS,BLK=NONE"
"ss7path:CIC=4,PST=IS,CALL=IDLE,GW_STAT=CXN_IS,BLK=NONE"
"ss7path:CIC=5,PST=IS,CALL=IDLE,GW_STAT=CXN_IS,BLK=NONE"
"ss7path:CIC=6,PST=IS,CALL=IDLE,GW_STAT=CXN_IS,BLK=NONE"
"ss7path:CIC=7,PST=IS,CALL=IDLE,GW_STAT=CXN_IS,BLK=NONE"
"ss7path:CIC=8,PST=IS,CALL=IDLE,GW_STAT=CXN_IS,BLK=NONE"
"ss7path:CIC=9,PST=IS,CALL=IDLE,GW_STAT=CXN_IS,BLK=NONE"
"ss7path:CIC=10,PST=IS,CALL=IDLE,GW_STAT=CXN_IS,BLK=NONE"
"ss7path:CIC=11,PST=IS,CALL=IDLE,GW_STAT=CXN_IS,BLK=NONE"
"ss7path:CIC=12,PST=IS,CALL=IDLE,GW_STAT=CXN_IS,BLK=NONE"
"ss7path:CIC=13,PST=IS,CALL=IDLE,GW_STAT=CXN_IS,BLK=NONE"
"ss7path:CIC=14,PST=IS,CALL=IDLE,GW_STAT=CXN_IS,BLK=NONE"
"ss7path:CIC=15,PST=IS,CALL=IDLE,GW_STAT=CXN_IS,BLK=NONE"
"ss7path:CIC=16,PST=IS,CALL=IDLE,GW_STAT=CXN_IS,BLK=NONE"
"ss7path:CIC=17,PST=IS,CALL=IDLE,GW_STAT=CXN_IS,BLK=NONE"
"ss7path:CIC=18,PST=IS,CALL=IDLE,GW_STAT=CXN_IS,BLK=NONE"
!--- Press SPACE for next page, Enter for next line, or q to quit this output.
!--- Output suppressed.
Para o conceito de Controle de Chamada do Cisco PGW 2200, você pode encontrar problemas se não usar um servidor do Sistema de Nome de Domínio (DNS) e quiser configurar o comando no ip domain-lookup. Você também pode encontrar problemas ao emitir o comando Cisco IOS Software ip host ip1 ip2 host. Nesse caso, você deve atender ao problema, pois em alguns cenários a mensagem MGCP RSIP não pode ser enviada para o endereço IP do host secundário devido às configurações padrão dos temporizadores MGCP do software Cisco IOS. Para alterar esse comportamento, você deve alterar um temporizador.
Configurações de MGCP padrão:
# show mgcp profile
MGCP Profile default
Description: None
Call-agent: mgc-bru-20 2427 Initial protocol service is MGCP 0.1
Tsmax timeout is 20 sec, Tdinit timeout is 15 sec
Tdmin timeout is 15 sec, Tdmax timeout is 600 sec
Tcrit timeout is 4 sec, Tpar timeout is 16 sec
Thist timeout is 30 sec, MWI timeout is 16 sec
Ringback tone timeout is 180 sec, Ringback tone on connection timeout is 180 sec
Network congestion tone timeout is 180 sec, Busy tone timeout is 30 sec
Dial tone timeout is 16 sec, Stutter dial tone timeout is 16 sec
Ringing tone timeout is 180 sec, Distinctive ringing tone timeout is 180 sec
Continuity1 tone timeout is 3 sec, Continuity2 tone timeout is 3 sec
Reorder tone timeout is 30 sec, Persistent package is ms-package
Max1 DNS lookup: DISABLED, Max1 retries is 5
Max2 DNS lookup: ENABLED, Max2 retries is 7
Source Interface: NONE
T3 endpoint naming convention is T1
#
A causa dessa situação é que, com as configurações padrão de tsmax (20 segundos), max1 retries (5) e max2 retries (7), o tempo tsmax é excedido antes que o gateway tenha a chance de tentar o endereço de host secundário do comando ip1 host ip2 para retransmitir os RSIPs. Nesse caso, se você quiser reenviar os RSIPs para o segundo endereço de host Cisco PGW 2200, defina o valor de tsmax mais alto para permitir que o gateway tente o max1 de novas tentativas com o primeiro endereço Cisco PGW 2200. Dessa forma, ele ainda tem tempo de obter o máximo de 2 novas tentativas para o segundo endereço Cisco PGW 2200. (O algoritmo é definido na seção 4.2 do RFC 2705
.) Por esta razão, recomenda-se a definição de tsmax para 100 segundos.
A seguinte alteração de configuração modifica o valor tsmax:
# conf term
V5300(config)# mgcp profile default
V5300(config-mgcp-profile)# timeout tsmax 100
Outro motivo pelo qual o gateway tenta enviar ao primeiro endereço IP para uma segunda rodada de tentativas antes de fazer o failover para o segundo endereço IP é devido a uma pesquisa forçada de DNS (que observa "ip host ...") se nenhuma pesquisa de domínio ip estiver configurada). Isso ocorre porque o número de novas tentativas é excedido. Quando isso acontece, o primeiro endereço IP é retornado e usado novamente. Para evitar esse comportamento, configure no max1 lookup no perfil MGCP.
A seguinte alteração de configuração modifica o valor no max1 lookup:
# conf term
V5300(config)# mgcp profile default
V5300(config-mgcp-profile)# no max1 lookup
Isso faz com que o código do Cisco IOS Software ignore a força da pesquisa de DNS. A pesquisa de DNS está ativada por padrão.
Observação: você deve recarregar o roteador para que a alteração de configuração no max1 lookup no perfil MGCP entre em vigor.
# show mgcp profile
MGCP Profile default
Description: None
Call-agent: mgc-bru-20 2427 Initial protocol service is MGCP 0.1
Tsmax timeout is 100 sec, Tdinit timeout is 15 sec
Tdmin timeout is 15 sec, Tdmax timeout is 600 sec
Tcrit timeout is 4 sec, Tpar timeout is 16 sec
Thist timeout is 30 sec, MWI timeout is 16 sec
Ringback tone timeout is 180 sec, Ringback tone on connection timeout is 180 sec
Network congestion tone timeout is 180 sec, Busy tone timeout is 30 sec
Dial tone timeout is 16 sec, Stutter dial tone timeout is 16 sec
Ringing tone timeout is 180 sec, Distinctive ringing tone timeout is 180 sec
Continuity1 tone timeout is 3 sec, Continuity2 tone timeout is 3 sec
Reorder tone timeout is 30 sec, Persistent package is ms-package
Max1 DNS lookup: DISABLED, Max1 retries is 5
Max2 DNS lookup: ENABLED, Max2 retries is 7
Source Interface: NONE
T3 endpoint naming convention is T1
#
Se você continuar a encontrar problemas de MGCP RSIP, emita o comando debug mgcp packet no gateway. Se você tiver uma carga de CPU baixa, execute o comando debug mgcp parser também. A saída desse comando mostra exatamente que etapas o Cisco IOS Software está executando para fazer uma pesquisa de DNS ou para emitir o comando ip host ip address para enviar a mensagem RSIP.
Informações Relacionadas