Funções do Dialplan do Asterisk 22
Comando:
JITTERBUFFER()
Sinopse:
Adiciona um Jitterbuffer ao lado de leitura do canal. Isso elimina a instabilidade do fluxo de áudio antes que ele atinja o núcleo do Asterisk. Esta é uma função somente 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 construirá o jitterbuffer padrão para o tipo de jitterbuffer 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 pelo qual o novo jitterbuffer aumentará 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 ligada ou desligada. O padrão é desligado.
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 60ms de target extra: exten => 1,1,Set(JITTERBUFFER(adaptive)=200,,60)
• Adaptativo com tamanho máximo de 200ms e suporte a sincronização de vídeo: 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(jitterbuffer type)
jitterbuffer type
• 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