Funções do Dialplan do Asterisk 20
Comando:
JITTERBUFFER()
Sinopse:
Adiciona um Jitterbuffer ao lado de leitura do canal. Isso remove a variação no fluxo de áudio antes que ele chegue ao núcleo do Asterisk. Esta é uma função somente de escrita.
Descrição:
Jitterbuffers são construídos de duas maneiras diferentes. A primeira sempre recebe quatro argumentos: max_size, resync_threshold, target_extra e sync_video. Alternativamente, um único argumento de 'default' pode ser fornecido, o que construirá o jitterbuffer padrão para o tipo de jitterbuffer especificado.
Os argumentos são:
max_size: Comprimento em milissegundos do buffer. O padrão é 200ms.
resync_threshold: O comprimento em milissegundos no qual uma diferença de timestamp resultará na resincronização do jitterbuffer. O padrão é 1000ms.
target_extra: Esta opção afeta apenas o jitterbuffer adaptativo. Representa a quantidade de tempo em milissegundos pela qual o novo jitter buffer irá preencher seu tamanho. O padrão é 40ms.
sync_video: Esta opção habilita a sincronização de vídeo com o fluxo de áudio. Pode ser ligado e desligado. O padrão é desligado.
Exemplos:
exten => 1,1,Set(JITTERBUFFER(fixed)=default) - Jitterbuffer fixo com configurações padrão.
exten => 1,1,Set(JITTERBUFFER(fixed)=200) - Jitterbuffer fixo com tamanho máximo de 200ms.
exten => 1,1,Set(JITTERBUFFER(fixed)=200,,,yes) - Jitterbuffer fixo com tamanho máximo de 200ms e suporte à sincronização de vídeo.
exten => 1,1,Set(JITTERBUFFER(fixed)=200,1500) - Jitterbuffer fixo com tamanho máximo de 200ms e limite de resincronização de 1500ms.
exten => 1,1,Set(JITTERBUFFER(adaptive)=default) - Jitterbuffer adaptativo com configurações padrão.
exten => 1,1,Set(JITTERBUFFER(adaptive)=200,,60) - Jitterbuffer adaptativo com tamanho máximo de 200ms e 60ms de target_extra.
exten => 1,1,Set(JITTERBUFFER(adaptive)=200,,,yes) - Jitterbuffer adaptativo com tamanho máximo de 200ms e suporte à sincronização de vídeo.
exten => 1,1,Set(JITTERBUFFER(fixed)=default)
exten => 1,n,Set(JITTERBUFFER(disabled)=) - Define um jitterbuffer fixo com as configurações padrão; então, remove-o.
Observação: Se um canal especificar um jitterbuffer devido à configuração do driver do canal e a função JITTERBUFFER tiver definido um jitterbuffer para esse canal, o jitterbuffer definido pela função JITTERBUFFER terá prioridade e o jitterbuffer definido pela configuração do canal não será aplicado.
JITTERBUFFER(tipo de jitterbuffer)
tipo de jitterbuffer fixed - Define um jitterbuffer fixo no canal. adaptive - Define um jitterbuffer adaptativo no canal. disabled - Remove um jitterbuffer previamente definido do canal.
Sintaxe:
exten => 1,1,Set(JITTERBUFFER(fixed)=default)
exten => 1,1,Set(JITTERBUFFER(fixed)=200)
exten => 1,1,Set(JITTERBUFFER(fixed)=200,,,yes)
exten => 1,1,Set(JITTERBUFFER(fixed)=200,1500)
exten => 1,1,Set(JITTERBUFFER(adaptive)=default)
exten => 1,1,Set(JITTERBUFFER(adaptive)=200,,60)
exten => 1,1,Set(JITTERBUFFER(adaptive)=200,,,yes)
exten => 1,1,Set(JITTERBUFFER(fixed)=default)
exten => 1,n,Set(JITTERBUFFER(disabled)=)
JITTERBUFFER(jitterbuffer type)
Fonte: Asterisk Wiki