AsyncAPI channel · LiveKit · LiveKit Signaling Protocol

/rtc

Bi-directional signaling channel. The client publishes `SignalRequest` envelopes; the server publishes `SignalResponse` envelopes. Each envelope is a `oneof` carrying exactly one of the signal variants defined in `livekit_rtc.proto`.

Provider: LiveKit AsyncAPI: v2.6.0 Spec: LiveKit Signaling Protocol Operations: 2 Messages: 43

Channel address

/rtc

Operations

publish
sendSignalRequest
Client-to-server signal messages (SignalRequest oneof variants).
receiveSignalResponse
Server-to-client signal messages (SignalResponse oneof variants).

Messages

offer
Client sends an SDP offer to the publisher peer connection.
Content-Type: application/x-protobuf
answer
Client SDP answer in response to a server-sent subscriber offer.
Content-Type: application/x-protobuf
trickle
ICE candidate exchanged in either direction.
Content-Type: application/x-protobuf
add_track
Request to publish a new track.
Content-Type: application/x-protobuf
mute
Mute or unmute a published track.
Content-Type: application/x-protobuf
subscription
Subscribe to or unsubscribe from one or more tracks.
Content-Type: application/x-protobuf
track_setting
Adjust quality/dimensions/fps of subscribed tracks.
Content-Type: application/x-protobuf
leave
Client requests session termination.
Content-Type: application/x-protobuf
update_layers
Update published video track dimensions (deprecated).
Content-Type: application/x-protobuf
subscription_permission
Update which participants can subscribe to which of this participant's tracks.
Content-Type: application/x-protobuf
sync_state
Synchronize subscription / publish state when resuming a session.
Content-Type: application/x-protobuf
simulate
Trigger a client validation scenario on the server.
Content-Type: application/x-protobuf
ping
Legacy client keep-alive ping (int64 timestamp, deprecated by ping_req).
Content-Type: application/x-protobuf
update_metadata
Update local participant metadata, name, or attributes.
Content-Type: application/x-protobuf
ping_req
Client keep-alive ping (current, supersedes legacy int64 ping).
Content-Type: application/x-protobuf
update_audio_track
Update audio feature flags (DTX, RED, stereo, etc.) on a published audio track.
Content-Type: application/x-protobuf
update_video_track
Update dimensions for a published video track.
Content-Type: application/x-protobuf
publish_data_track_request
Publish a new data track.
Content-Type: application/x-protobuf
unpublish_data_track_request
Remove a previously published data track.
Content-Type: application/x-protobuf
update_data_subscription
Subscribe or unsubscribe from data tracks.
Content-Type: application/x-protobuf
join
Server confirms the client has joined the room.
Content-Type: application/x-protobuf
update
Notification of remote participants joining, leaving, or changing.
Content-Type: application/x-protobuf
track_published
Confirms a track publication and returns the assigned track info.
Content-Type: application/x-protobuf
speakers_changed
Delta list of active speakers.
Content-Type: application/x-protobuf
room_update
Room metadata change.
Content-Type: application/x-protobuf
connection_quality
Connection quality updates for one or more participants.
Content-Type: application/x-protobuf
stream_state_update
Track-level stream state (active or paused) updates.
Content-Type: application/x-protobuf
subscribed_quality_update
Updates the set of enabled video qualities for a subscribed track.
Content-Type: application/x-protobuf
subscription_permission_update
Notification that a participant's subscription permission to a track has changed.
Content-Type: application/x-protobuf
refresh_token
Server-issued replacement access token before the current token expires.
Content-Type: application/x-protobuf
track_unpublished
A previously published track has been unpublished.
Content-Type: application/x-protobuf
pong
Legacy server pong (int64 timestamp, deprecated by pong_resp).
Content-Type: application/x-protobuf
reconnect
Sent during a successful WebSocket resume with updated ICE servers and config.
Content-Type: application/x-protobuf
pong_resp
Server response to client `Ping` (current).
Content-Type: application/x-protobuf
subscription_response
Result of a subscription operation (success or error).
Content-Type: application/x-protobuf
request_response
Server response to a request identified by `request_id` (mute, add_track, etc.).
Content-Type: application/x-protobuf
track_subscribed
Notification that a subscribed track is now ready for media.
Content-Type: application/x-protobuf
room_moved
The participant has been migrated to a different room/server.
Content-Type: application/x-protobuf
media_sections_requirement
Required number of audio and video media sections for the publisher.
Content-Type: application/x-protobuf
subscribed_audio_codec_update
Updates the audio codec subscription preferences for a track.
Content-Type: application/x-protobuf
publish_data_track_response
Server response after publishing a data track.
Content-Type: application/x-protobuf
unpublish_data_track_response
Server response after unpublishing a data track.
Content-Type: application/x-protobuf
data_track_subscriber_handles
Mapping from incoming packet handles to subscribed data track SIDs.
Content-Type: application/x-protobuf

About AsyncAPI

The AsyncAPI specification describes event-driven APIs the way OpenAPI describes request/response APIs. A channel is the named pipe — a webhook URL, a Kafka topic, a WebSocket route, an MQTT subject — that producers and consumers publish or subscribe to. Each channel carries one or more messages with structured payloads, and an operation declares whether a given party sends or receives on that channel.

Browse every event-driven channel on the APIs.io network or compare with the broader Naftiko capability, Agent Skill, and MCP server surfaces of the same providers.