Funções do Dialplan do Asterisk 21
Comando:
PERIODIC_HOOK()
Sinopse:
Executa um hook periódico do dialplan no áudio de uma chamada.
Descrição:
Esta função permite executar um hook do dialplan periodicamente durante uma chamada, útil para reproduzir sons ou executar ações em intervalos regulares. Por exemplo, você pode usar esta função para habilitar a reprodução periódica de um som 'beep' durante uma chamada.
Exemplo: Para ativar => same => n,Set(BEEPID=${PERIODIC_HOOK(hooks,beep,180)})
Exemplo: Para desativar => same => n,Set(PERIODIC_HOOK(${BEEPID})=off)
Exemplo: Para ativar novamente mais tarde => same => n,Set(PERIODIC_HOOK(${BEEPID})=on)
O dialplan do hook terá duas variáveis disponíveis: HOOK_CHANNEL é o canal no qual o hook está habilitado e HOOK_ID é o ID do hook para habilitar ou desabilitar o hook. O formato é PERIODIC_HOOK(context,extension,interval,hook_id), onde context é o contexto para a extensão do hook, extension é a extensão do hook, interval é o número de segundos entre execuções do hook (apenas segundos inteiros) e hook_id é o ID do hook (somente para escrita).
Sintaxe:
same => n,Set(BEEPID=${PERIODIC_HOOK(hooks,beep,180)})
same => n,Set(PERIODIC_HOOK(${BEEPID})=off)
same => n,Set(PERIODIC_HOOK(${BEEPID})=on)
PERIODIC_HOOK(context,extension,interval,hook_id)
Fonte: Asterisk Wiki