Tenho 2 servidores asterisk em 2 datacenters diferentes. A chamada está indo de um para outro. De repente, a qualidade do áudio diminuiu. Fiz rastreamentos SIP em ambos os servidores. Aqui está o que encontrei:
- O servidor A envia RTP para o servidor B. (rastreamento SIP feito no servidor A e no rastreamento tudo parece estar bem. A reprodução de áudio está bem usando o reprodutor Wireshark RTP)
- O servidor B recebe RTP do servidor A. (o rastreamento SIP feito no servidor B mostrou que há muitos (45,3%) pacotes fora de sequência)
Pergunta: Como determinar onde está o problema? :)
Obrigado!
Responder1
Normalmente, o culpado quando você vê uma grande proporção de pacotes fora de ordem em um fluxo é o roteamento com balanceamento de carga mal feito, feito por algum roteador em algum lugar no caminho dos pacotes. O IP não garante a entrega ordenada de pacotes, mas protocolos como TCP e RTP presumem que os pacotes estarão em ordem na maior parte do tempo e degradam-se gravemente quando essa suposição não é válida. Portanto, as práticas recomendadas determinam que os roteadores não devem ser configurados de maneira que cause muitos pacotes fora ou em ordem.
Quando a maioria dos roteadores são configurados para balancear a carga do tráfego em vários links, eles usam um algoritmo de hashing (geralmente baseado em endereços IP de origem e destino e talvez em portas TCP/UDP) que garante que todos os pacotes que pertencem a um único fluxo escolham o mesmo membro de o grupo com balanceamento de carga. Isso ajuda a garantir que os pacotes permanecerão em ordem. Se um roteador fizer o balanceamento de carga sem usar esse hash, e os pacotes pertencentes a um único fluxo terminarem em links diferentes, eles poderão facilmente levar diferentes períodos de tempo para serem transmitidos (devido principalmente ao buffer, o que significa que isso acontecerá mesmo se a carga estiver balanceada os links têm características idênticas) e acabam fora de serviço no destino.
Se é isso que está acontecendo com você, e é ruim o suficiente que o buffer de jitter do receptor RTP não possa compensar, então temo que não há nada que você possa fazer a respeito, exceto pedir a quem gerencia a rede para consertar isso.