This document is for an older version of Kazoo (version 4.3) that is no longer supported. You should upgrade and read the current documentation.
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}