what is the difference between local_participant a...
# ask-ai
a
what is the difference between local_participant and remote_participant?
t
Thanks for reaching out, Ahron. I'm an AI assistant and I'm here to help. Give me a moment while I research this topic.
Thanks — you're asking about the difference between
local_participant
and
remote_participant
. Good question — here's a clear comparison. • local_participant ◦ Represents the current user connected from your device. ◦ You control this participant: publish/unpublish your media, send data messages, mute/unmute, etc. ◦ Methods/actions are focused on producing media (e.g.,
publishTrack()
,
setMuted()
). ◦ There is only one
local_participant
per client connection. • remote_participant ◦ Represents other users in the same room (everyone except the local participant). ◦ You observe and subscribe to their published media (audio/video) and data. ◦ Emits events when their tracks are added/removed; you can control subscriptions (e.g.,
setTrackSubscribed()
). ◦ There can be multiple
remote_participant
instances — one for each other connected peer. Key distinction: ownership and control — the
local_participant
is what you control and publish from; `remote_participant`s are what you receive and subscribe to. If you'd like, I can show short example code for your platform (JavaScript, Android, or Flutter) showing how to publish a track from the local participant and subscribe to a remote participant's track. Which SDK are you using? Sources: Client SDKs | livekit/livekit_composite | DeepWiki
a
a sip caller is a local or remote?
t
Thanks — you're asking whether a SIP caller is a local or remote participant. In LiveKit, a SIP caller is represented as a RemoteParticipant. The SIP gateway bridges the SIP endpoint into the LiveKit room as another peer, so you observe and subscribe to the SIP caller's published media (audio) rather than controlling it from your client. In short: you treat the SIP caller the same way you treat any other remote user — subscribe to their tracks and listen for their events. If you want, tell me which SDK you're using (JavaScript, Android, Flutter) and I can show a short code example for handling a SIP caller's audio track and subscription.