Funções do Dialplan do Asterisk 18
Descrição:Por exemplo, você pode usar esta função para habilitar a reprodução de um som de 'beep' periódico durante uma chamada.
Como funciona: O
PERIODIC_HOOK() permite injetar um trecho do seu dialplan (um 'hook') no fluxo de áudio de uma chamada em intervalos regulares. Isso é útil para adicionar funcionalidades como tons de chamada, avisos ou coleta de informações em tempo real.
Exemplos:same => n,Set(BEEPID=${PERIODIC_HOOK(hooks,beep,180)})
Habilita o hook 'beep' no contexto 'hooks', com intervalo de 180 segundos, e armazena o ID do hook na variável BEEPID.same => n,Set(PERIODIC_HOOK(${BEEPID})=off)
Desabilita o hook com o ID armazenado em BEEPID.same => n,Set(PERIODIC_HOOK(${BEEPID})=on)
Reabilita o hook com o ID armazenado em BEEPID.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).
Sintaxe: PERIODIC_HOOK(context,extension,interval,hook_id)context - (Somente leitura) Contexto para a extensão do hook.
extension - (Somente leitura) A extensão do hook.
interval - (Somente leitura) Número de segundos entre as execuções do hook. Apenas segundos inteiros.
hook_id - (Somente escrita) O ID do hook.