POP - ptime (Tempo de Pacote)
5 min
Criado por Wesley Costa em 17/10/2024 15:57
Atualizado por Wesley Costa em 17/10/2024 15:58

SIP SDP – ptime (Tempo de Pacote)

1. O que é ptime

  • ptime é o temporizador de pacotes em redes de telefonia digital (VoIP).
  • É definido na mensagem SDP (Session Description Protocol) e determina a duração de cada pacote RTP (Real-time Transport Protocol) enviado.
  • Define o tempo em milissegundos representado pelos dados de mídia em um pacote, sendo mais relevante para dados de áudio.

2. Importância do ptime

  • Embora o ptime seja mais significativo para áudio, ele pode ser usado para outros tipos de mídia se fizer sentido.
  • Não é necessário conhecer o valor de ptime para decodificar o RTP ou o áudio. O valor de ptime é apenas uma recomendação para codificação e empacotamento.
  • ptime é um atributo de nível de mídia e não depende do charset.

3. Funcionamento do ptime

  • Um valor menor de ptime resulta em mais pacotes por segundo, enquanto um valor maior gera menos pacotes por segundo.
  • Exemplos:
    • ptime de 1000ms: 1 pacote por segundo.
    • ptime de 20ms: 50 pacotes por segundo.
    • ptime de 50ms: 20 pacotes por segundo.

4. Exemplo de uso: ptime em uma rede TDM

  • Em redes de qualidade de telefonia (TDM), são feitas 8.000 amostras por segundo.
  • Essas amostras são refletidas na codificação PCM (Modulação por Código de Pulso), como no codec G.711 a-law.
  • Se cada uma dessas 8.000 amostras fosse enviada em pacotes individuais, o cabeçalho dos pacotes RTP seria maior que a carga útil (payload), o que geraria uma sobrecarga.
  • Para evitar isso, os endpoints acumulam várias amostras e enviam-nas juntas conforme o valor de ptime.

5. Problemas relacionados ao ptime

  • Compatibilidade: Alguns endpoints, como a série Cisco SPA, podem ter problemas ao lidar com valores variados de ptime.
  • Em redes interconectadas, você pode não ter controle sobre o ptime utilizado pelos endpoints, a menos que use um B2Bua (Back-to-Back User Agent) ou o parâmetro maxptime.
  • maxptime limita o valor máximo de ptime que um endpoint pode suportar, mas nem sempre resolve totalmente os problemas.

6. maxptime e RFC4566

  • A RFC4566 introduziu o valor maxptime como um cabeçalho opcional no SDP, permitindo que os endpoints especifiquem o valor máximo de ptime que suportam.
  • Essa configuração é útil para redes que utilizam links de menor qualidade, onde um maior ptime reduz a quantidade de pacotes por segundo e melhora o desempenho.

7. Endpoints antigos e problemas de buffers

  • Endpoints mais antigos costumam ter menos memória e capacidade de processamento, resultando em buffers pequenos para armazenar o áudio.
  • Um valor de ptime incompatível ou fora dos limites de um endpoint pode causar problemas, como:
    • O endpoint pode tocar e até responder a chamada com um "200 OK", mas logo em seguida encerrar a chamada com um "BYE" devido à incompatibilidade de ptime.

8. Diagnóstico de problemas com ptime

  • Para identificar problemas relacionados ao ptime, verifique:
    • O valor de ptime nas mensagens SDP do INVITE e do 200 OK e compare se estão configurados iguais.
    • Abaixo onde localizar o ptime para análise.

9. Melhor prática

  • Se o endpoint suporta apenas valores de ptime de até 20ms, configure o cabeçalho maxptime para 20ms para evitar problemas de compatibilidade.

10. Mais informações

  • Para aprender mais sobre SDP e manipulação de cabeçalhos, consulte o RFC4566 e materiais relacionados.
Este artigo foi útil para você?
Últimos artigos visitados