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.

FamilyClient messagesDocumentation
Authentication and sessionAUTH, PING, WHO_AM_I, AUDIO_READINESSSee session operations, authentication, connection checks, and session information.
ChannelsLIST_ALL_CHANNELS, GET_CHANNEL_INFO, CREATE_CHANNEL, DELETE_CHANNELSee Oracle Radio WebSocket Channel Operations.
Live channel subscriptionsLIST_CHANNELS, SUBSCRIBE, UNSUBSCRIBESee Oracle Radio WebSocket Channel Subscription Operations and Workflow: Joining an Oracle Radio WebSocket Channel.
Channel usersLIST_CHANNEL_USERSSee Oracle Radio WebSocket Channel User Operations and Listing Oracle Radio WebSocket Channel Users.
Channel statusCHANNEL_STATUSSee Oracle Radio WebSocket Channel Status Operations and Getting Oracle Radio WebSocket Channel Status.
Message historyGET_MESSAGE_HISTORYSee Oracle Radio WebSocket Message History Operations and Getting Oracle Radio WebSocket Message History.
Talk floorREQUEST_TALK, RELEASE_TALKSee Oracle Radio WebSocket Talk-Floor Operations, Requesting the Oracle Radio WebSocket Talk Floor, and Releasing the Oracle Radio WebSocket Talk Floor.
Audio transmissionSTART, binary audio input, ENDSee Oracle Radio WebSocket Audio Transmission Operations and Workflow: Transmitting Audio by Using the Oracle Radio WebSocket API.
Text messagesTEXT_MESSAGESee Oracle Radio WebSocket Text Message Operations and Sending an Oracle Radio WebSocket Text Message.
User subscriptionsSUBSCRIBE_USER, UNSUBSCRIBE_USERSee Oracle Radio WebSocket User Subscription Operations and Workflow: Managing Another User's Oracle Radio WebSocket Channel Subscriptions.
PresenceGET_PRESENCE, SUBSCRIBE_PRESENCESee Oracle Radio WebSocket Presence Operations and Workflow: Monitoring Presence by Using the Oracle Radio WebSocket API.

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.

FamilyRepresentative server messagesDocumentation
Authentication and sessionAUTH_SUCCESS, AUDIO_READINESS_ACK, AUTH_ERROR, PONG, WHO_AM_I, ERRORSee session operations and WebSocket errors.
Channel catalog and stateALL_CHANNELS_LIST, CHANNEL_INFO, CHANNEL_CREATED, CHANNEL_DELETED, CHANNEL_USERS, CHANNEL_STATUS, MESSAGE_HISTORYSee 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 subscriptionCHANNELS_LIST, SUBSCRIBED, UNSUBSCRIBED, SUBSCRIBE_DENIED, MEMBERSHIP_CHANGEDSee subscription operations and geofence events.
Talk-floor stateGRANTED, DENIED, QUEUED, TALK_DENIED, RELEASED, CHANNEL_BUSY, CHANNEL_OPEN, INTERRUPTED, TOKEN_EXPIRED, TOKEN_INVALIDSee Oracle Radio WebSocket Talk-Floor Operations and Workflow: Transmitting Audio by Using the Oracle Radio WebSocket API.
Audio and transcriptTRANSMISSION_START, framed binary audio, TRANSMISSION_END, TRANSMISSION_TIMEOUT, TRANSCRIPT_FINALSee Oracle Radio WebSocket Audio Transmission Operations and Workflow: Receiving Audio by Using the Oracle Radio WebSocket API.
Text deliveryTEXT_MESSAGE_SENT, TEXT_MESSAGE_RECEIVED, ERRORMatch a direct success or error to the supplied clientMessageId. See the message reference and text scenario.
User subscription changesUSER_SUBSCRIBED, USER_UNSUBSCRIBED, SUBSCRIBED_BY, UNSUBSCRIBED_BYSee Oracle Radio WebSocket User Subscription Operations.
PresencePRESENCE, PRESENCE_LIST, PRESENCE_SUBSCRIBED, PRESENCE_UPDATESee 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.

PropertyTypeDescription
typeStringRequired. Always MEMBERSHIP_CHANGED.
channelIdStringRequired. Identifies the affected channel.
joinedBooleanRequired. true for a saved subscription that was applied, or false for a saved subscription that was removed.
sourceStringRequired. 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.