Skip to content



Execute a periodic dialplan hook into the audio of a call.


For example, you could use this function to enable playing a periodic 'beep' sound in a call.

Example: To turn on
same => n,Set(BEEPID=${PERIODIC_HOOK(hooks,beep,180)})
Example: To turn off
same => n,Set(PERIODIC_HOOK(${BEEPID})=off)
Example: To turn back on again later
same => n,Set(PERIODIC_HOOK(${BEEPID})=on)
It is important to note that the hook does not actually run on the channel itself. It runs asynchronously on a new channel. Any audio generated by the hook gets injected into the call for the channel PERIODIC_HOOK() was set on.

The hook dialplan will have two variables available. HOOK_CHANNEL is the channel the hook is enabled on. HOOK_ID is the hook ID for enabling or disabling the hook.


  • context - (On Read Only) Context for the hook extension.

  • extension - (On Read Only) The hook extension.

  • interval - (On Read Only) Number of seconds in between hook runs. Whole seconds only.

  • hook_id - (On Write Only) The hook ID.

Generated Version

This documentation was generated from Asterisk branch 21 using version GIT