Aplicações do Dialplan do Asterisk 20
Comando:
WaitForSilence()
Sinopse:
Aguarda por um determinado período de silêncio.
Descrição:
Aguarda até silencerequired milissegundos de silêncio, repetindo iterations vezes. Um timeout opcional especifica o número de segundos após os quais a função retorna, mesmo que não tenha recebido a quantidade especificada de silêncio. Utilize o timeout com cautela, pois pode anular o propósito desta aplicação, que é aguardar indefinidamente até que silêncio seja detectado na linha. Isso é particularmente útil para aplicações de difusão de chamadas do tipo reverse-911, onde é necessário aguardar que uma secretária eletrônica termine sua mensagem antes de reproduzir a mensagem desejada. Normalmente, você desejará incluir duas ou mais chamadas ao WaitForSilence ao lidar com uma secretária eletrônica; primeiro aguardando o término da fala, depois aguardando o sinal sonoro (beep), etc. Exemplo: Aguardar meio segundo de silêncio, duas vezes: same => n,WaitForSilence(500,2). Exemplo: Aguardar um segundo de silêncio, uma vez: same => n,WaitForSilence(1000). Exemplo: Aguardar 300 ms de silêncio, 3 vezes, e retornar após 10 segundos, mesmo que nenhum silêncio seja detectado: same => n,WaitForSilence(300,3,10). Variável WAITSTATUS: SILENCE - se sair com silêncio detectado. TIMEOUT - se sair sem silêncio detectado após o timeout. Sintaxe: WaitForSilence([silencerequired,[iterations,[timeout]]]), onde silencerequired - se não especificado, o padrão é '1000' milissegundos. iterations - se não especificado, o padrão é '1'. timeout - é especificado apenas para evitar um loop infinito em casos onde o silêncio nunca é alcançado.
Sintaxe:
same => n,WaitForSilence(500,2)
same => n,WaitForSilence(1000)
same => n,WaitForSilence(300,3,10)
WaitForSilence([silencerequired,[iterations,[timeout]]])
Veja Também:
Fonte: Asterisk Wiki