Skip to content

KAZOO Support Channels

This documentation is curated by 2600Hz as part of the KAZOO open source project. Join our community forums here for peer support. Only features in the space are included as part of our 2600Hz Support Services plan.


See what hooks are active#

This will display all hooks, or only hooks for the account provided, that are currently being processed.

sup webhooks_maintenance hooks_configured [{ACCOUNT_ID}]
| URI                                           | VERB  | EVENT                | RETRIES    | ACCOUNT ID                       |
| http://dev.null/calls/new.php                 | post  | CHANNEL_CREATE       | 3          | {ACCOUNT_ID}                     |
| http://dev.null/calls/done.php                | post  | CHANNEL_DESTROY      | 3          | {ACCOUNT_ID}                     |

Protect against abuse#

Set the Failure Expiry Timeout#

Webhooks will track how many times a given hook has failed to fire to the configured URI. This expiry determines how long webhooks holds onto the failure before considering it irrelevant. The number of failures over a given time period will determine if a hook is auto-disabled.

  • System-wide: sup webhooks_maintenance set_failure_expiry {MILLISECONDS}
  • Account-specific: sup webhooks_maintenance set_failure_expiry {ACCOUNT_ID} {MILLISECONDS}

Set the Auto-Disable Threshold#

Set how many failures are considered too many and auto-disable a hook.

  • System-wide: sup webhooks_maintenance set_disable_threshold {COUNT}
  • Account-specific: sup webhooks_maintenance set_disable_threshold {ACCOUNT_ID} {COUNT}

How it works#

Once you've set the expiry and threshold, webhooks will check every expiry milliseconds for hook failure counts. If any hooks have a count over threshold, they will be auto-disabled.

For instance, using the defaults of expiry = 60000 (one minute) and threshold = 6, if a hook fails to fire to the configured URI 6 times or more in the last minute, it will be auto-disabled until an API request to set "enabled" to true is performed.

Monitor the situation#

You can see the current failure counts for each hook:

sup webhooks_maintenance failure_status [{ACCOUNT_ID}]
| -------------------------------- | -------------------------------- | ----- |
| Account                          | Hook                             | Count |
| {ACCOUNT_ID}                     | {HOOK_ID}                        |     4 |
| -------------------------------- | -------------------------------- | ----- |

Re-enable hooks#

If hooks are disabled in an account due to failures, an admin can bulk-update the hooks to be enabled again.

sup webhooks_maintenance enable_account_hooks {ACCOUNT_ID}

Similarly, enable all hooks for an account and its descendants:

sup webhooks_maintenance enable_descendant_hooks {ACCOUNT_ID}

Note: this will only enable those hooks which have been auto-disabled by the system, not manually disabled via API.

Flush failure counts#

Webhooks tracks the number of times a hook fails to be sent, auto-disabling the hook after a threshold is hit. You can reset those failure counts:

sup webhooks_maintenance flush_account_failures {ACCOUNT_ID}
sup webhooks_maintenance flush_hook_failures {ACCOUNT_ID} {HOOK_ID}