Introducción
Este documento describe cómo resolver problemas de audio relacionados con la red en un entorno de voz sobre IP (VoIP).
Requirements
Cisco recomienda que tenga conocimiento sobre estos temas:
- QoS
- Redes VoIP
- SPAN (analizador de puertos de switch)
- Wireshark
Componentes Utilizados
La información que contiene este documento se basa en las siguientes versiones de software y hardware.
- Catalyst 9200
- Catalyst 9300
- Catalyst 9400
- Catalyst 9500
- Catalyst 9600
La información que contiene este documento se creó a partir de los dispositivos en un ambiente de laboratorio específico. Todos los dispositivos que se utilizan en este documento se pusieron en funcionamiento con una configuración verificada (predeterminada). Si tiene una red en vivo, asegúrese de entender el posible impacto de cualquier comando.
Antecedentes
En una infraestructura VoIP, la calidad del audio puede verse afectada por problemas relacionados con la red, entre cuyos síntomas se incluyen:
- Intermitentes en la voz o audio entrecortado.
- Audio unidireccional.
- No está aislado a un solo usuario, sino a un grupo de usuarios que tienen características comunes, como compartir la misma VLAN o el mismo switch de acceso.
Para resolver problemas relacionados con la red, es importante tener una topología clara de origen a destino de los paquetes de voz. El diagnóstico del problema puede comenzar en cualquier punto de la red donde se conmuten o enruten los paquetes de voz; sin embargo, se recomienda iniciar la resolución de problemas en la capa de acceso y ascender a la capa de routing.
Diagrama de la red
Elija un punto de captura en el trazado. Puede ser A (más cercano a un teléfono IP), B (antes del enrutamiento), C (más cercano al destino).
La captura de SPAN se toma normalmente en ambas direcciones (TX y RX) para identificar ambos lados de la conversación y extraer el audio respectivo, junto con otras variables como la fluctuación o la pérdida de paquetes, de la captura para un análisis adicional.
Después de determinar el punto de captura, configure la configuración de SPAN en el switch.
Switch(config)#monitor session 1 source interface Gig1/0/1 both
Switch(config)#monitor session 1 destination interface Gig1/0/6 encapsulation replicate
Switch#show monitor session all
Session 1
---------
Type : Local Session
Source Ports :
Both : Gi1/0/1
Destination Ports : Gi1/0/6
Encapsulation : Replicate
Ingress : Disabled
Inicie una llamada de prueba para capturar el flujo de audio desde el punto de captura elegido en un PC/portátil con Wireshark.
Análisis de captura
1. Abra la captura de paquetes tomada con Wireshark y navegue hasta Estadísticas > Conversaciones. Busque la conversación de audio en función de la dirección IP de los dispositivos implicados (origen y destino del teléfono IP).
2. Normalmente, los flujos de audio son transportados por el protocolo UDP, y la mayoría de las veces no son decodificados en el formato adecuado para Wireshark para extraer el audio incrustado en él. Luego, el siguiente paso es decodificar la secuencia UDP en formato de audio, de forma predeterminada se utiliza RTP. Haga clic con el botón derecho del ratón en cualquier paquete de la secuencia y, a continuación, haga clic en Decodificar como.
3. Busque la columna Actual y seleccione RTP. Click OK.
Wireshark decodifica todo el flujo UDP en RTP y ahora podemos analizar el contenido.
Precaución: RTP Player puede reproducir cualquier códec compatible con un complemento instalado. Los códecs compatibles con RTP Player dependen de la versión de Wireshark que esté utilizando. Las compilaciones oficiales contienen todos los complementos mantenidos por los desarrolladores de Wireshark, pero las compilaciones personalizadas/de distribución no incluyen algunos de esos códecs. Para comprobar los complementos de códec instalados de Wireshark, haga lo siguiente: Abrir Ayuda > Acerca de Wireshark. Seleccione la pestaña Plugins. En el menú Filtrar por tipo, seleccione Códec.
4. Verifique las estadísticas de RTP para ver si hay alguna fluctuación o pérdida en el flujo de audio. Para ver los análisis, navegue hasta Telephony > RTP > RTP Stream Analysis.
Fluctuación: es el retardo de tiempo en el envío de los paquetes de voz a través de la red. A menudo, esto se debe a congestión de red o cambios de ruta. Esta medición debe ser < 30 ms.
Perdidos: Paquetes que no se recibieron como parte de la secuencia de audio. La pérdida de paquetes no debe ser superior al 1%.
5. Convierta la onda de audio de esta secuencia en Telefonía > RTP > Secuencias RTP
6. Seleccione la secuencia para convertirla en audio y haga clic en Play Streams.
Debe aparecer una onda de audio y el botón de reproducción está disponible para escuchar los datos de audio. Escuchar el audio ayuda a identificar si hay problemas de voz entrecortada o de audio unidireccional con los flujos.
7. Exporte la secuencia a un archivo de audio con la extensión .wav haciendo clic en Exportar > Audio sincronizado de archivo.
Troubleshoot
Después de utilizar la función SPAN para recopilar y analizar la captura con Wireshark, tendríamos una idea de si el problema puede estar relacionado con la fluctuación, la pérdida de paquetes o el audio unidireccional. Si se encuentra algún problema en las capturas de paquetes, el siguiente paso es verificar el dispositivo donde se realizó la captura para detectar cualquier problema común que pueda afectar un flujo de audio RTP.
Audio entrecortado
Un ancho de banda insuficiente, fluctuación y/o pérdida de paquetes pueden ser causas comunes de escuchar voz interrumpida o distorsión en la captura de audio.
1. Compruebe si la fluctuación en la captura es > 30 ms. Si es así, esto indica que hay un retraso en la recepción de los paquetes que puede ser causado por políticas de QoS o problemas de ruteo.
2. Verifique si el paquete perdido en la captura es > 1%. En caso de que este valor sea alto, debe buscar caídas de paquetes a lo largo del trayecto del flujo de flujo de audio.
3. Compruebe si hay caídas en las interfaces de entrada y salida involucradas en la ruta.
Switch#show interface Gi1/0/1 | inc drops
Input queue: 0/2000/0/0 (size/max/drops/flushes); Total output drops: 0
0 unknown protocol drops
Switch#show interfaces Gi1/0/1 counters errors Port Align-Err FCS-Err Xmit-Err Rcv-Err UnderSize OutDiscards Gi1/0/1 0 0 0 0 0 0 Port Single-Col Multi-Col Late-Col Excess-Col Carri-Sen Runts Gi1/0/1 0 0 0 0 0 0
Verifique que no haya caídas de entrada/salida incrementales u otros errores incrementales en las interfaces.
4. Verifique la política de salida de QoS en las interfaces involucradas en la trayectoria. Asegúrese de que su tráfico esté mapeado/clasificado en la cola de prioridad y de que no haya caídas en esta cola.
Switch#show platform hardware fed switch 1 qos queue stats interface Gi1/0/1
----------------------------------------------------------------------------------------------
AQM Global counters
GlobalHardLimit: 3976 | GlobalHardBufCount: 0
GlobalSoftLimit: 15872 | GlobalSoftBufCount: 0
----------------------------------------------------------------------------------------------
High Watermark Soft Buffers: Port Monitor Disabled
----------------------------------------------------------------------------------------------
Asic:0 Core:1 DATA Port:0 Hardware Enqueue Counters
----------------------------------------------------------------------------------------------
Q Buffers Enqueue-TH0 Enqueue-TH1 Enqueue-TH2 Qpolicer
(Count) (Bytes) (Bytes) (Bytes) (Bytes)
-- ------- -------------------- -------------------- -------------------- --------------------
0 0 0 707354 2529238 0 <<< Priority Q
1 0 0 0 1858516 0
2 0 0 0 0 0
3 0 0 0 0 0
4 0 0 0 0 0
5 0 0 0 0 0
6 0 0 0 0 0
7 0 0 0 0 0
Asic:0 Core:1 DATA Port:0 Hardware Drop Counters
--------------------------------------------------------------------------------------------------------------------------------
Q Drop-TH0 Drop-TH1 Drop-TH2 SBufDrop QebDrop QpolicerDrop
(Bytes) (Bytes) (Bytes) (Bytes) (Bytes) (Bytes)
-- -------------------- -------------------- -------------------- -------------------- -------------------- --------------------
0 0 0 0 0 0 0 <<< Priority Q Drops
1 0 0 0 0 0 0
2 0 0 0 0 0 0
3 0 0 0 0 0 0
4 0 0 0 0 0 0
5 0 0 0 0 0 0
6 0 0 0 0 0 0
7 0 0 0 0 0 0
Nota: Si hay caídas, asegúrese de perfilar el tráfico de voz correctamente con las marcas de reenvío rápido (EF) DSCP, y confirme que no haya otros flujos sospechosos marcados erróneamente con el bit EF, congestionando así la cola de prioridad.
Audio unidireccional
Cuando se establece una llamada telefónica, sólo una de las partes recibe el audio. Las causas comunes de este problema están relacionadas con problemas de alcance, problemas de ruteo o problemas de NAT/Firewall.
1. Haga un ping a la subred o gateway de destino para confirmar que hay disponibilidad bidireccional.
Switch#ping 192.168.1.150
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.150, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/4 ms
2. Realice un traceroute desde la subred de origen a la de destino y viceversa. Esto puede ayudar a verificar cuántos saltos hay en el trayecto y si es simétrico.
Switch#traceroute 192.168.1.150
Type escape sequence to abort.
Tracing the route to 192.168.1.150
VRF info: (vrf in name/id, vrf out name/id)
1 192.168.2.12 2 msec * 1 msec
2 192.168.1.12 2 msec * 1 msec
3 192.168.1.150 2 msec 2 msec 1 msec
3. Compruebe que el dispositivo de puerta de enlace de cada subred tiene un enrutamiento óptimo y que no hay rutas asimétricas que puedan afectar a la comunicación.
Consejo: Los problemas comunes de audio unidireccional están relacionados con ACL mal configurados en reglas de firewall o problemas de NAT. Se sugiere verificar si estas cosas podrían afectar el flujo de flujo de flujo de audio.
4. Tome una captura de paquetes en el último dispositivo donde se vio el tráfico de audio en la dirección de falla. Esto puede ayudar a aislar en qué dispositivo de la trayectoria se ha perdido el flujo de audio. Esto es importante porque el tráfico de ping se puede permitir a través de NAT o del dispositivo de firewall, pero el tráfico de audio específico se puede bloquear o no traducir correctamente.
Información Relacionada