Monitor Events via WebSocket
To monitor the PBX events in real-time, the third-party application needs to establish a WebSocket connection and subscribe to the desired events. This topic introduces the request commands that are used to create a WebSocket connection and subscribe to events, thus implement instant PBX event monitoring.
Prerequisites
Establish a WebSocket connection
First of all, you need to send a request URL to request for establishing a WebSocket connection.- Request URL
-
To open a WebSocket connection, you need to use the special protocol
ws
orwss
in the request URL according to the web access settings on your PBX.- If the web access protocol of PBX is HTTP, use the following
request URL:
ws://{pbx_ip}:{http_port}/{api_path}/subscribe?access_token={access_token}
- If the web access protocol of PBX is HTTPS, use the following
request URL:
wss://{pbx_ip}:{https_port}/{api_path}/subscribe?access_token={access_token}
- If you use the FQDN for remote API access, use the following
request
URL:
wss://{pbx_fqdn_domain}
Note: To remotely access API via Yeastar FQDN, you need to configure API remote access. For more information, see Configure Network for Remote API Access by a Yeastar FQDN.
- If the web access protocol of PBX is HTTP, use the following
request URL:
- Example
- Request
Subscribe to the desired events
Once the connection is established, you need to compose and send messages to subscribe to desired events. In this way, the PBX will automatically report the subscribed events to the third-party application.
- Request message
- Query the desired event ID in API Event Summary, and compose the event subscription message in
the following
format:
{"topic_list":[eventid1,eventid2,...]}
- Example
- Request
Keep WebSocket connection alive
For security purpose, if there is no interaction between the third-party application and PBX for 60 seconds, the WebSocket connection will be automatically disconnected.
heartbeat
request to keep the connection alive.- Request message
-
heartbeat
- Example
- Request