Aplicações do Dialplan do Asterisk 21
Descrição:WaitForSilence() aguarda até
silencerequired milissegundos de silêncio, repetindo essa verificação
iterations vezes. Um
timeout opcional especifica o número de segundos para retornar, mesmo que a quantidade de silêncio especificada não seja detectada. Utilize o
timeout com cautela, pois ele pode anular o propósito desta aplicação, que é esperar indefinidamente até que o silêncio seja detectado na linha.
Isso é particularmente útil em aplicações de transmissão de chamadas do tipo 'reverse-911', onde você precisa esperar que uma secretária eletrônica termine sua mensagem antes de reproduzir uma mensagem.
Normalmente, você desejará incluir duas ou mais chamadas para
WaitForSilence() ao lidar com uma secretária eletrônica; primeiro esperando que a mensagem termine, depois esperando pelo bipe, etc.
Exemplos:same => n,WaitForSilence(500,2)
Espera por 500ms de silêncio, duas vezes.same => n,WaitForSilence(1000)
Espera por 1 segundo de silêncio.same => n,WaitForSilence(300,3,10)
Espera por 300ms de silêncio, 3 vezes, e retorna após 10 segundos, mesmo que nenhum silêncio seja detectado.Status de Retorno:SILENCE - Se a aplicação foi finalizada com a detecção de silêncio.
TIMEOUT - Se a aplicação foi finalizada sem detectar silêncio após o
timeout.
Sintaxe:WaitForSilence([silencerequired,[iterations,[timeout]]])
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.