Oracle Radio WebSocket Message Families
Use the Radio WebSocket message families to find the operation and scenario guidance for each stateful API workflow.
Client-to-Server Message Families
Send JSON operations as WebSocket text messages. Send binary WebSocket messages only for audio packets in an active transmission.
Server-to-Client Message Families
Match a direct response to the operation that produced it, and process asynchronous events whenever they arrive. The operation topics define the properties for their primary responses.
| Family | Representative server messages | Documentation |
|---|---|---|
| Authentication and session | AUTH_SUCCESS, AUDIO_READINESS_ACK, AUTH_ERROR, PONG, WHO_AM_I, ERROR | See session operations and WebSocket errors. |
| Channel catalog and state | ALL_CHANNELS_LIST, CHANNEL_INFO, CHANNEL_CREATED, CHANNEL_DELETED, CHANNEL_USERS, CHANNEL_STATUS, MESSAGE_HISTORY | See Oracle Radio WebSocket Channel Operations, Oracle Radio WebSocket Channel User Operations, Oracle Radio WebSocket Channel Status Operations, and Oracle Radio WebSocket Message History Operations. |
| Channel subscription | CHANNELS_LIST, SUBSCRIBED, UNSUBSCRIBED, SUBSCRIBE_DENIED, MEMBERSHIP_CHANGED | See subscription operations and geofence events. |
| Talk-floor state | GRANTED, DENIED, QUEUED, TALK_DENIED, RELEASED, CHANNEL_BUSY, CHANNEL_OPEN, INTERRUPTED, TOKEN_EXPIRED, TOKEN_INVALID | See Oracle Radio WebSocket Talk-Floor Operations and Workflow: Transmitting Audio by Using the Oracle Radio WebSocket API. |
| Audio and transcript | TRANSMISSION_START, framed binary audio, TRANSMISSION_END, TRANSMISSION_TIMEOUT, TRANSCRIPT_FINAL | See Oracle Radio WebSocket Audio Transmission Operations and Workflow: Receiving Audio by Using the Oracle Radio WebSocket API. |
| Text delivery | TEXT_MESSAGE_SENT, TEXT_MESSAGE_RECEIVED, ERROR | Match a direct success or error to the supplied clientMessageId. See the message reference and text scenario. |
| User subscription changes | USER_SUBSCRIBED, USER_UNSUBSCRIBED, SUBSCRIBED_BY, UNSUBSCRIBED_BY | See Oracle Radio WebSocket User Subscription Operations. |
| Presence | PRESENCE, PRESENCE_LIST, PRESENCE_SUBSCRIBED, PRESENCE_UPDATE | See Oracle Radio WebSocket Presence Operations. |
Geofence Membership Changes
When a geofence action successfully changes your saved channel subscription, an authenticated WebSocket client can receive MEMBERSHIP_CHANGED. This asynchronous server notification isn't a client command or a response to SUBSCRIBE.
| Property | Type | Description |
|---|---|---|
type | String | Required. Always MEMBERSHIP_CHANGED. |
channelId | String | Required. Identifies the affected channel. |
joined | Boolean | Required. true for a saved subscription that was applied, or false for a saved subscription that was removed. |
source | String | Required. GEOFENCE identifies a geofence-triggered change. |
For example, a successful automatic subscription can produce:
{
"type": "MEMBERSHIP_CHANGED",
"channelId": "operations",
"joined": true,
"source": "GEOFENCE"
}
A denied or failed action doesn't produce a success notification. Conversely, not receiving a notification doesn't prove that your saved subscription is unchanged. Check saved subscriptions when you need their current state.
This event doesn't confirm that the current WebSocket connection has joined the channel for live operations. Check live memberships and follow the join procedure as needed. A subscription also doesn't grant the talk floor.
For the operator workflow, see geofence behavior. For unexpected results, see geofence troubleshooting.
Diagnostic Messages
Service diagnostic message types are not part of the customer API. Do not send undocumented message types. Use the documented operations and customer-visible responses for integrations and troubleshooting.