Overview of Monster UI Event Bus
monster.sub and monster.pub methods.website·Indexed Jun 17, 2026
https://docs.2600hz.comTechnical documentation for 2600Hz applications and services, covering core components such as authentication, data access abstraction layers, and notifications. Includes details on the legacy HTTP API, advanced call routing, websockets, and provisioning for various phone hardware including Polycom, Cisco, Yealink, Grandstream, and Obihai.
monster.sub and monster.pub methods.2600hz provides several channel-related webhook events that track the lifecycle of a call. While these events share a common base payload, specific fields like custom_channel_vars and custom_application_vars vary depending on the call type.
Available channel events:
channel_create: Triggered when a new channel is created.channel_answer: Triggered when two-way audio is established (e.g., a voicemail box or a party answering).channel_bridge: Triggered when two channels are bridged together (e.g., connecting two users).channel_destroy: Triggered when a channel is destroyed, typically due to a hangup.The DesktopComm App is a unified communications platform designed for business collaboration. Key features include:
Trunking.io is a wholesale telecommunications provider that integrates with the 2600Hz platform to provide voice and messaging services. While integrated with the 2600Hz Admin portal, Trunking.io is a distinct legal entity and requires a separate account setup due to FCC regulations.
Key features include:
The 2600Hz Early Bill Task is a daily automated process that identifies accounts due for payment and either sends a reminder notification or processes the actual billing. The task triggers a specific number of days before the first day of the next billing cycle (typically the first of the month).
Execution Logic:
bill_early_enabled is true (at either system or account level), the system processes the charge. If not, but reminder_enabled is true, it sends a notification.notifications.low_balance.bill_early_task_timestamp in the account definition. This field stores the timestamp of the next due date. If the current time is not lower than this value, the account is skipped as it has already been processed for this cycle.notifications.low_balance.bill_early_task_timestamp to mark the account as processed.Kazoo Webhooks allow the system to send HTTP GET or POST notifications to a user-defined URL when specific events occur. These webhooks act as subscriptions to allowed events, sending event data to the URI specified in the Webhook document.
Common use cases include:
The kz_cache system is composed of several specialized modules:
kz_cache: The primary API module.kz_cache_lru: Manages LRU expiration logic.kz_cache_ets: Handles direct ETS table manipulations.kz_cache_callbacks: Processes lifecycle callbacks.kz_cache_listener: An AMQP listener that enables self-flushing when document changes are detected.kz_cache_nodes: Listens for new or expiring nodes via kz_nodes.kz_cache_processes: Monitors PIDs if an entry is stored with {'monitor', true} or {'monitor', [pid()]} and removes the entry if the PID dies.kz_cache_callbacks: Callback processor module.The Team Chat module in the MobileComm App acts as an internet-based messenger. Key constraints and features include:
The kapps_notify_publisher is a wrapper around kz_amqp_worker and kapi_notifications used to publish notifications reliably to the teletype application (or the deprecated notify app).
It uses kz_amqp_worker:call_collect/4 to wait for a response from the target application. If a timeout or error occurs during publishing, the notification payload is saved to a pending_notifications database. These failed notifications are subsequently retried by the kz_notify_resender task within the Tasks app.
dedicated_ips. Each document in this database represents an IP address owned by system administrators. These IP addresses can be assigned to accounts, allowing account administrators to route inbound numbers using their own carriers.The Crossbar REST API allows external applications to interact with 2600Hz telecom services via HTTP requests. Most requests and responses use JSON format and follow JSON-Schema for data validation.
Common capabilities include: