alert-secretary-70814
03/23/2026, 9:50 AMtall-airline-16756
03/23/2026, 9:51 AMflat-photographer-63184
03/23/2026, 9:56 AMalert-secretary-70814
03/23/2026, 10:13 AMflat-photographer-63184
03/23/2026, 10:14 AMalert-secretary-70814
03/23/2026, 10:25 AMflat-photographer-63184
03/23/2026, 10:40 AMalert-secretary-70814
03/23/2026, 10:43 AMflat-photographer-63184
03/23/2026, 10:50 AMaudio_input to true in the RoomOptionsalert-secretary-70814
03/23/2026, 2:49 PMaudio_input=True.
await session.start(
room=ctx.room,
agent=Assistant(),
room_options=room_io.RoomOptions(
audio_input=True,
video_input=True,
participant_identity=VOICE_PARTICIPANT_IDENTITY,
)
)
Then when the ingress participant shows up, I set it as this.
session._room_io.video_input.set_participant(ingress)
Though, I couldn’t get it work. The ingress is “`no_transcoding`” and the source is H264. Maybe that is the reason or my logic of setting up sources is wrong.alert-secretary-70814
03/24/2026, 12:15 PMflat-photographer-63184
03/24/2026, 1:07 PMsession call - the participant identity can be set to a static string (as part of the access token). Ideally this should work - what happens when you start the agentalert-secretary-70814
03/25/2026, 8:18 AMflat-photographer-63184
03/25/2026, 8:24 AMalert-secretary-70814
03/25/2026, 9:20 AMflat-photographer-63184
03/25/2026, 9:30 AMalert-secretary-70814
03/25/2026, 10:02 AMawait ctx.connect()
await session.start(
room=ctx.room,
agent=Assistant(),
room_options=room_io.RoomOptions(
audio_input=True,
video_input=True, participant_identity=VOICE_PARTICIPANT_IDENTITY,
)
)
# Wait for both participants to be present in the room.
await ctx.wait_for_participant(identity=VOICE_PARTICIPANT_IDENTITY)
ingress = await ctx.wait_for_participant(
identity=INGRESS_PARTICIPANT_IDENTITY,
kind=rtc.ParticipantKind.PARTICIPANT_KIND_INGRESS,
)
if session._room_io and session._room_io._init_atask:
await session._room_io._init_atask
# Override only the video input to the ingress. Audio remains on the voice participant.
if session._room_io and session._room_io.video_input:
session._room_io.video_input.set_participant(ingress)
<http://logger.info|logger.info>(
"video input linked to ingress, audio input linked to voice participant",
extra={"ingress": ingress.identity, "voice": VOICE_PARTICIPANT_IDENTITY},
)
await session.generate_reply()