Enviado por admin el
1. Consola CLI con Verbosity
La forma más básica y común es aumentar el nivel de verbosidad directamente desde la consola CLI:
asterisk -rvvvvv
O una vez dentro de la CLI:
*CLI> core set verbose 5
*CLI> core set debug 5
Cada "v" adicional incrementa el nivel de detalle. Esto es útil para ver el flujo de llamadas en tiempo real, problemas de registro SIP, y ejecución del dialplan.
2. Debug SIP Específico
Para depurar problemas relacionados con PJSIP (que es lo que usas en Asterisk 20):
*CLI> pjsip set logger on
*CLI> pjsip set logger verbose on
Esto muestra todos los mensajes SIP completos (INVITE, REGISTER, BYE, etc.) con headers y SDP. Es fundamental para diagnosticar problemas de señalización, NAT, y codec negotiation.
Para depurar un endpoint específico:
*CLI> pjsip set logger host 192.168.1.100
3. Logging en Archivos con logger.conf
Configura logging personalizado en /etc/asterisk/logger.conf para capturar diferentes niveles de información en archivos separados:
[logfiles]
console => notice,warning,error,debug
messages => notice,warning,error
full => notice,warning,error,debug,verbose,dtmf
debug => debug
pjsip_history => notice,warning,error,debug,verbose
Luego recargas:
*CLI> logger reload
*CLI> logger rotate
Los logs quedan en /var/log/asterisk/. Esta técnica es excelente para análisis post-mortem y depuración de problemas intermitentes.
4. PJSIP History
Asterisk 20 con PJSIP incluye un historial interno muy potente:
*CLI> pjsip show history
*CLI> pjsip show history entry <id>
Guarda automáticamente las últimas transacciones SIP en memoria, permitiendo revisar llamadas recientes sin necesidad de capturar paquetes. Puedes configurar el tamaño del buffer en pjsip.conf:
[system]
pjsip_history_size=1000
5. Captura de Paquetes con tcpdump/sngrep
Para depuración a nivel de red, especialmente problemas de RTP o signaling complejo:
Con tcpdump:
tcpdump -i any -n -s 0 -w /tmp/asterisk-$(date +%Y%m%d-%H%M%S).pcap port 5060 or portrange 10000-20000
Con sngrep (mucho más amigable):
sngrep port 5060
sngrep es particularmente útil porque te muestra los flujos de llamadas visualmente, permitiendo ver la secuencia completa de mensajes SIP y detectar rápidamente dónde falla una transacción. Puedes filtrar por IP, método SIP, o Call-ID.
Consejo Práctico
Para depuración completa de un problema específico, combina varios métodos. Por ejemplo:
pjsip set logger oncore set verbose 5sngrepcorriendo en paralelo
Esto te da visibilidad completa del signaling, dialplan execution, y transporte de paquetes.
Comandos Útiles Adicionales
# Ver configuración de PJSIP
pjsip show endpoints
pjsip show aors
pjsip show auths
# Ver llamadas activas
core show channels
pjsip show channels
# Ver registro de dispositivos
pjsip show registrations
# Reiniciar logging
logger reload
logger rotate
Niveles de Debug/Verbose
- 0-2: Información mínima, solo errores críticos
- 3-4: Información estándar de operación
- 5-7: Debug detallado, recomendado para troubleshooting
- 8-10: Debug extremo, puede generar MUCHA información
Comentarios recientes