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.