Funções do Dialplan do Asterisk 13
Comando:
TALK_DETECT()
Sinopse:
Gera notificações quando o Asterisk detecta silêncio ou fala em um canal.
Descrição:
A função TALK_DETECT ativa eventos no canal ao qual é aplicada. Esses eventos podem ser emitidos pela AMI, ARI e potencialmente outros módulos do Asterisk que escutam a notificação interna. A função possui dois parâmetros que podem ser passados opcionalmente quando definidos em um canal: dsp_talking_threshold e dsp_silence_threshold.dsp_talking_threshold é o tempo em milissegundos de som acima do que o dsp estabeleceu como silêncio da linha de base para um usuário antes que ele seja considerado como falando. Por padrão, é usado o valor de silencethreshold do dsp.conf. Se esse valor for definido como muito apertado, os eventos podem ser falsamente acionados por variantes no ruído da sala. Os valores válidos são de 1 a 2 ^ 31.dsp_silence_threshold é o tempo em milissegundos de som dentro do que a dsp estabeleceu como silêncio de linha de base antes que um usuário seja considerado fique em silencio. Se esse valor estiver definido como muito baixo, os eventos indicando que o usuário parou de falar podem ser falsamente enviados quando o usuário faz uma breve pausa durante o meio da frase. A melhor maneira de abordar essa opção é configurá-la um pouco acima da quantidade máxima de ms de silêncio que um usuário pode gerar durante a fala natural. Por padrão, esse valor é 2500ms. Os valores válidos são de 1 a 2 ^ 31.Exemplo: igual => n, Conjunto (TALK_DETECT (conjunto) =); Habilitar detecção de falaame => n, Conjunto (TALK_DETECT (conjunto) = 1200); Atualize o limite de silêncio da detecção de conversação existente para 1200 mssame => n, Set (TALK_DETECT (remover) =); Remova o comando detectionsame => n, Set (TALK_DETECT (set) =, 128); Ative e defina o limite de conversação como 128Esta função definirá as seguintes variáveis:
Nota
Ícone
A função TALK_DETECT usa um audiohook para inspecionar os quadros de mídia de voz em um canal. Outras funções, como JITTERBUFFER, DENOISE e AGC, usam um mecanismo semelhante. Os audiohooks são processados na ordem em que são colocados no canal. Como tal, normalmente faz sentido colocar funções que modifiquem os dados da mídia de voz antes de colocar a função TALK_DETECT, pois isso produzirá melhores resultados.
Exemplo:
same => n, Set (DENOISE (rx) = ativado); Denoise recebeu áudio
igual => n, conjunto (TALK_DETECT (conjunto) =); Realize a detecção de conversação no áudio recebido denoised
Sintaxe:
TALK_DETECT(action)
Argumentos:
remove - COMO. Remova a detecção de conversa do canal.
set( dsp_silence_threshold,dsp_talking_threshold ) - W / O. Ative TALK_DETECT e / ou configure os parâmetros de detecção de conversa. Pode ser chamado várias vezes para alterar os parâmetros em um canal com a detecção de conversa já ativada.
dsp_silence_threshold - O tempo em milissegundos antes do qual um usuário é considerado silencioso.
dsp_talking_threshold - O tempo em milissegundos após o qual um usuário é considerado falando.
Fonte: Asterisk Wiki