Ending an Oracle Radio WebSocket Audio Transmission

Send an END message to finish the active Radio audio transmission before releasing its talk token.

Permissions and Prerequisites

The following permissions and prerequisites apply to this operation.

RequirementValue
AuthenticationComplete the supported authentication path for the client before sending this operation. See authentication.
Radio permissionNo separate operation-specific permission is defined. Use this operation for a transmission started with radio.audio.transmit.
Channel accessEnd the transmission associated with the connection's active channel and talk token.
Session stateThe WebSocket connection must be open. Send END after the final binary audio message.
Note

After END, a still-valid talk token remains valid until you send RELEASE_TALK or the token expires.

Request

Send the END message as a JSON text message. The contract marks the token and transmission metadata as optional. Include the current token to associate the end with its active talk-floor grant.

NameData typeRequiredDefaultConstraintsDescription
typestringYesNoneMust be END.Identifies the end-transmission operation.
tokenstringNoNoneUUID.Talk token associated with the transmission.
transcriptstringNoNoneSpeech-to-text text supplied by the client.Speech-to-text transcript, if available.
durationnumberNoNoneFloating-point value in seconds.Transmission duration.
{
  "type": "END",
  "token": "550e8400-e29b-41d4-a716-446655440000",
  "transcript": "All units respond to sector 7",
  "duration": 3.5
}

Responses

The following table lists the messages the client can receive and explains their purpose.

Message typeKindDescription
TRANSMISSION_ENDAsynchronous eventNotifies other subscribed connections that the valid token's audio transmission ended.
TRANSCRIPT_FINALOptional asynchronous eventProvides other subscribed connections with a finalized transcript and related metadata when processing produces one.
TRANSMISSION_TIMEOUTAsynchronous eventCan end the transmission before the client sends END. The token is automatically released.
TOKEN_EXPIREDAsynchronous eventCan end the active transmission if the token expires.
INTERRUPTEDAsynchronous eventCan end the active transmission when a higher-priority user takes the talk floor.
ERRORErrorIndicates that the request is invalid or couldn't be processed.
Note

The initiating session doesn't receive TRANSMISSION_END or TRANSCRIPT_FINAL. After the WebSocket client reports that it successfully sent END, stop sending audio and send RELEASE_TALK.
Note

If the connection closes before this flow completes, reconnect, subscribe to the channel, and request a new talk token. Don't reuse a token from the closed connection.

TRANSMISSION_END Event for Other Subscribers

The following table describes the event properties, their data types, and whether they are required.

NameData typeRequiredDescription
typestringYesEvent type. The value is TRANSMISSION_END.
channelstringYesChannel on which the transmission ended.
userstringYesUser that sent the transmission.
senderDisplayNamestringNoDisplay name of the sender.
timestampstringNoTransmission end date and time in ISO 8601 format.
durationnumberNoTransmission duration in seconds.
transcriptstringNoSpeech-to-text transcript, if available.
{
  "type": "TRANSMISSION_END",
  "channel": "operations",
  "user": "dispatcher1",
  "senderDisplayName": "Dispatcher One",
  "timestamp": "2024-01-15T10:30:05Z",
  "duration": 5.2,
  "transcript": "All units respond to sector 7"
}