Architecture for Voice, Video and Integrated Data

Cisco Unified Communications

DEBUG´s no VOICE GATEWAY

Posted by loliveira em 30/04/2011


Muitas vezes ficamos preocupados com a execução de debugs em um Voice Gateway em produção, pensando que vai ocorrer causar alto processamento e consecutivamente a interrupção dos serviços. O intuito deste documento é desmentir e esclarecer estes conceitos.

Debugs podem ser executados em segurança na maioria dos ambientes que possuem roteadores com IOS. Muito cuidado e atenção ao ativar debugs em um ambiente de produção.
!! Fique sempre de olho no processamento do equipamento (#show proc cpu) quando habilitar qualquer tipo de Debug.

Se você não quer entender os conceitos e apenas quer saber quais comandos inserir, use os comandos na sessão abaixo

Configurações Recomendadas: <Quick Mode>

Router(config)# service sequence-numbers
Router(config)# service timestamps debug datetime localtime

msec
Router(config)# logging buffered 10000000 debug
Router(config)# no logging console
Router(config)# no logging monitor
Router(config)# default logging rate-limit
Router(config)# default logging queue-limit
Router(config)# voice iec syslog

<Habilite o debug que você quer, e aguarde o problema acontecer>

<Habilite a captura da sessão para txt em seu programa terminal (putty, SecureCRT etc)>

Router# terminal length 0
Router# show logging

O que estes comandos faz exatamente? <Hardcore>
Agora iremos verificar abaixo cada um dos comandos acima e explicar suas funções, em determinados cenários podem conter algumas variações do modelo acima.

service-sequence-numbers – Este comando escreve números de sequencia nas linhas do Debug. Isto é útil (virtualmente necessário) quando se envia para um servidor de Syslog, para identificar se alguma mensagem do Syslog foi descartada. O número de sequência será o primeiro item do debug, antes do timestamp e da mensagem atual. Note que isso é diferente do timestamp/sequence number que pode ser escrito no servidor de Syslog, se aplicável.

001033: *Apr 27 14:29:25.867: %IPPHONE-6-REG_ALARM: NAME=SEP000A10000075 Load=P00308000500 Parms=Status/IPaddr  Last=CM-closed-TCP

service timestamps debug datetime localtime msec – Garante que o horário do roteador será escrito corretamente nos debugs,
com milisegundos de precisão. Isto é útil para encontrar ligações baseada no tempo.Geralmente falando, os milisegundos permite você agrupar linhas de debugs em eventos lógicos relacionados quando duas linhas ocorrerem no mesmo milisegundo. Precisão extrema para lhe auxiliar na detecção de algum problema.

logging buffered 10000000 debug – Informa o roteador a enviar os debugs para um buffer interno. O tamanho do buffer é configurado em bytes, e aqui está a 10MB de espaço para os logs do debug. O tamanho do buffer que você precisa depende do volume de ligações, duração do tempo que o buffer precisa para armazenar, memória livre [#show memory statistic history] e [#show memory summary].

no logging console – Por padrão, o roteador envia todo os debugs para a console. Na IOS, a console possui a mais alta prioridade sobre qualquer processo. Entretanto funciona a velocidades super baixas (normalmente 9600bps). Com isso, se o debug envia para o roteador mais rapido que a velocidade da console, pode ocasionar alto processamento de CPU.

Para aliviar este comportamento, quando executar quaolquer debug no IOS, é imprecindível que o envio de debugs para a console esteja desabilitado inserindo este comando.

no logging monitor – Este comando previne que o roteador envie degugs em tempo real para as linhas VTY (Telnet/SSH). Como iremos coletar os debugs, não precisaremos de nada sendo exibido em tempo real.

default logging rate-limit – Por padrão, o roteador limita a quantidade de mensagens. Normalmente é recomendado deixar isto
habilitado para garatir a estabilidade do roteador. Se um engenheiro do TAC suspeitar que o routeador esteja descartando debugs antes que estejam indo para o logging buffer, ele poderá solicitar para aumentar este valor ou desabilita-lo. Note que mudando este parâmetro em determinados ambientes pode causar alta de instabilidade na CPU, uma vez que esteja certo que as mensagens estão sendo feitas no logging buffer.

default logging queue-limit – Por padrão, o roteador enfilera as mensagens de logs, no entanto há uma quantidade FINITA de memória que o roteador irá enfilerar enquanto aguarda para ser escrito no logging buffer. Normalmente é recomendado deixar isto habilitado para garatir a estabilidade do roteador. Se um engenheiro do TAC suspeitar que o routeador esteja descartando debugs antes que estejam indo para o logging buffer, ele poderá solicitar para aumentar este valor ou desabilita-lo. Note que mudando este parâmetro em determinados ambientes pode causar alta de instabilidade na CPU pelas mesmas razões discutidas anteriormentes.

voice iec syslog – Este comando mostra informações extras em cenários ondd o roteador é a origem da desconexão. Isto é específico para voz, e muito utilizado por engenheiros do TAC.

%VOICE_IEC-3-GW: C SCRIPTS: Internal Error (Incompatible protocols): IEC=1.1.47.11.23.0 on callID 31102

Este output pode ser decodificado com:
Router# show voice iec description 1.1.47.11.23.0

  IEC Version: 1
    Entity: 1 (Gateway)
    Category: 47 (no resource (47))
    Subsystem: 11 (C SCRIPTS)
    Error: 23 (Incompatible protocols)
    Diagnostic Code: 0

Como eu executo os debugs ?
Uma vez que você tenha preparado o roteador, habilite os debugs necessários que foram solicitados pelo engenheiro do TAC, integrador Cisco ou via Multiservice Voice Debug Lookup tool.

Quais debugs deverão estar sendo executados ?
Enquanto estamos falando sobre como coletar os debugs, você deve estar se perguntando quais debugs você deve coletar para verificar os problemas com suas ligações. A Cisco oferece uma ótima ferramenta para ajudar você, chamada Multiservice Voice Debug Lookup tool.

Pessoalmente, aqui está o que gosto de coletar para iniciar uma análise de problemas de ligações através dos IOS gateways:

H.323
debug voip ccapi inout
debug h225 asn1
debug h245 asn1
debug cch323 all
debug ip tcp transaction

SIP
debug voip ccapi inout
debug ccsip messages
debug voip rtp session named-event

MGCP
debug voip ccapi inout
debug mgcp packet
debug ip tcp transaction
<Certifique-se de habilitar os debugs POTS apropriados também>

ISDN
debug voip ccapi inout
debug isdn q931

Analog or Non-ISDN POTS
debug voip ccapi inout
debug vpm signal

Como devo coletar os debugs ?
Uma vez que você tem o Buffer configurado e os Debugs habilitados, tudo será escrito no buffer. O Buffer é rotativo, portanto quando limite de buffer definido é alcançado, as informações mais antigas são removidas para dar espaço para as informações mais recentes e assim consecutivamente.

Após o problema acontecer, digite #terminal lenght 0 para evitar de ter de digitar enter ou espaço para cada página.
Agora digite #show logging e todo o conteúdo do buffer será exibido na tela.

Telnet é melhor que a console pois é tem a capacidade de transmissão mais rápida. Use um programa terminal como o Putty ou o SecureCRT para coletar o output e salvar em um txt para análise posteriormente.

Como eu desabilito os Debugs ?

Após coletar os Debugs sobre seu problema, você pode desabilita-los da seguinte forma:
Router# undebug all

Isto não é necessário, mas se desejar restaurar o logging na console e nas sessões VTY, habilite os novamente:
Router(config)# logging console
Router(config)# logging monitor

O que posso fazer se o roteador está muito ocupado, e eu não conseguir coletar os debugs sobre o problema antes de serem sobrescritos ?
Existe algumas técnicas avançadas que o TAC possui utilizando TCL e EEM para resolver esta situação. Se necessário consulte o TAC se este passo for necessário.

————————————————————–
Documento Original escrito por Steven Holl
Tradução e adaptação: loliveira

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

 
%d blogueiros gostam disto: