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 Agent Skill and MCP server surfaces of the same providers.

Work with this as data

Every channel here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for event channels

4 MCP tools reach this
  • find_channelsBrowse and filter every channel in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This channel
curl "https://apis.io/api/v1/channels/rtc"
All event channels
curl "https://apis.io/api/v1/channels?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.