Funções do Dialplan do Asterisk 23
Comando:
JITTERBUFFER()
Sinopse:
Adiciona um Jitterbuffer ao lado de leitura do canal. Isso remove a variação de tempo (jitter) do fluxo de áudio antes que ele alcance o núcleo do Asterisk. Esta é uma função somente de escrita.
Descrição:Os
jitterbuffers são construídos de duas maneiras diferentes. O primeiro método sempre utiliza quatro argumentos:
max_size,
resync_threshold,
target_extra e
sync_video. Alternativamente, pode-se fornecer um único argumento
'default', que criará o
jitterbuffer padrão para o tipo especificado.
Os argumentos são:
- max_size: Tamanho em milissegundos do buffer. O padrão é 200 ms.
- resync_threshold: O tamanho em milissegundos acima do qual uma diferença de timestamp resultará na ressincronização do jitterbuffer. O padrão é 1000 ms.
- target_extra: Esta opção afeta apenas o jitterbuffer adaptativo. Representa o tempo adicional em milissegundos que o novo buffer de jitter irá adicionar ao seu tamanho. O padrão é 40 ms.
- sync_video: Esta opção habilita a sincronização de vídeo com o fluxo de áudio. Pode ser ativada ou desativada. O padrão é desativado.
Exemplos:- Fixo com padrões:
exten => 1,1,Set(JITTERBUFFER(fixed)=default) - Fixo com tamanho máximo de 200ms:
exten => 1,1,Set(JITTERBUFFER(fixed)=200) - Fixo com tamanho máximo de 200ms e suporte a sincronização de vídeo:
exten => 1,1,Set(JITTERBUFFER(fixed)=200,,,yes) - Fixo com tamanho máximo de 200ms e limiar de ressincronização de 1500ms:
exten => 1,1,Set(JITTERBUFFER(fixed)=200,1500) - Adaptativo com padrões:
exten => 1,1,Set(JITTERBUFFER(adaptive)=default) - Adaptativo com tamanho máximo de 200ms e
target_extra de 60ms: exten => 1,1,Set(JITTERBUFFER(adaptive)=200,,60) - Adaptativo com tamanho máximo de 200ms e sincronização de vídeo ativada:
exten => 1,1,Set(JITTERBUFFER(adaptive)=200,,,yes) - Definir um jitterbuffer fixo com padrões e, em seguida, removê-lo:
exten => 1,1,Set(JITTERBUFFER(fixed)=default)
exten => 1,n,Set(JITTERBUFFER(disabled)=)
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_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