Funções do Dialplan do Asterisk 18
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 em intervalos regulares durante uma chamada, útil, por exemplo, para reproduzir sons periódicos, como um 'beep', no áudio da ligação. O hook é configurado com um contexto, uma extensão e um intervalo em segundos. Um ID de hook é gerado e pode ser usado para ativar ou desativar o hook posteriormente. Exemplos incluem ativar o hook com PERIODIC_HOOK(hooks,beep,180), desativar com PERIODIC_HOOK(${BEEPID})=off e reativar com PERIODIC_HOOK(${BEEPID})=on. Durante a execução do hook, duas variáveis ficam disponíveis: HOOK_CHANNEL (canal em que o hook está habilitado) e HOOK_ID (ID do hook para controle). O formato completo é PERIODIC_HOOK(context,extension,interval,hook_id), onde context, extension e interval são usados apenas em leitura, e hook_id apenas em 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