diff --git a/livekit-protocol/livekit/protocol/agent.py b/livekit-protocol/livekit/protocol/agent.py index 42eee89e..3e5076a2 100644 --- a/livekit-protocol/livekit/protocol/agent.py +++ b/livekit-protocol/livekit/protocol/agent.py @@ -15,7 +15,7 @@ from . import models as _models_ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x13livekit_agent.proto\x12\x07livekit\x1a\x14livekit_models.proto\"\xa0\x02\n\x03Job\x12\n\n\x02id\x18\x01 \x01(\t\x12\x13\n\x0b\x64ispatch_id\x18\t \x01(\t\x12\x1e\n\x04type\x18\x02 \x01(\x0e\x32\x10.livekit.JobType\x12\x1b\n\x04room\x18\x03 \x01(\x0b\x32\r.livekit.Room\x12\x32\n\x0bparticipant\x18\x04 \x01(\x0b\x32\x18.livekit.ParticipantInfoH\x00\x88\x01\x01\x12\x15\n\tnamespace\x18\x05 \x01(\tB\x02\x18\x01\x12\x10\n\x08metadata\x18\x06 \x01(\t\x12\x12\n\nagent_name\x18\x07 \x01(\t\x12 \n\x05state\x18\x08 \x01(\x0b\x32\x11.livekit.JobState\x12\x18\n\x10\x65nable_recording\x18\n \x01(\x08\x42\x0e\n\x0c_participant\"\xba\x01\n\x08JobState\x12\"\n\x06status\x18\x01 \x01(\x0e\x32\x12.livekit.JobStatus\x12\r\n\x05\x65rror\x18\x02 \x01(\t\x12\x12\n\nstarted_at\x18\x03 \x01(\x03\x12\x10\n\x08\x65nded_at\x18\x04 \x01(\x03\x12\x12\n\nupdated_at\x18\x05 \x01(\x03\x12\x1c\n\x14participant_identity\x18\x06 \x01(\t\x12\x11\n\tworker_id\x18\x07 \x01(\t\x12\x10\n\x08\x61gent_id\x18\x08 \x01(\t\"\xf8\x02\n\rWorkerMessage\x12\x32\n\x08register\x18\x01 \x01(\x0b\x32\x1e.livekit.RegisterWorkerRequestH\x00\x12\x35\n\x0c\x61vailability\x18\x02 \x01(\x0b\x32\x1d.livekit.AvailabilityResponseH\x00\x12\x34\n\rupdate_worker\x18\x03 \x01(\x0b\x32\x1b.livekit.UpdateWorkerStatusH\x00\x12.\n\nupdate_job\x18\x04 \x01(\x0b\x32\x18.livekit.UpdateJobStatusH\x00\x12#\n\x04ping\x18\x05 \x01(\x0b\x32\x13.livekit.WorkerPingH\x00\x12\x33\n\x0csimulate_job\x18\x06 \x01(\x0b\x32\x1b.livekit.SimulateJobRequestH\x00\x12\x31\n\x0bmigrate_job\x18\x07 \x01(\x0b\x32\x1a.livekit.MigrateJobRequestH\x00\x42\t\n\x07message\"\x88\x02\n\rServerMessage\x12\x33\n\x08register\x18\x01 \x01(\x0b\x32\x1f.livekit.RegisterWorkerResponseH\x00\x12\x34\n\x0c\x61vailability\x18\x02 \x01(\x0b\x32\x1c.livekit.AvailabilityRequestH\x00\x12,\n\nassignment\x18\x03 \x01(\x0b\x32\x16.livekit.JobAssignmentH\x00\x12.\n\x0btermination\x18\x05 \x01(\x0b\x32\x17.livekit.JobTerminationH\x00\x12#\n\x04pong\x18\x04 \x01(\x0b\x32\x13.livekit.WorkerPongH\x00\x42\t\n\x07message\"\x80\x01\n\x12SimulateJobRequest\x12\x1e\n\x04type\x18\x01 \x01(\x0e\x32\x10.livekit.JobType\x12\x1b\n\x04room\x18\x02 \x01(\x0b\x32\r.livekit.Room\x12-\n\x0bparticipant\x18\x03 \x01(\x0b\x32\x18.livekit.ParticipantInfo\"\x1f\n\nWorkerPing\x12\x11\n\ttimestamp\x18\x01 \x01(\x03\"7\n\nWorkerPong\x12\x16\n\x0elast_timestamp\x18\x01 \x01(\x03\x12\x11\n\ttimestamp\x18\x02 \x01(\x03\"\xd6\x01\n\x15RegisterWorkerRequest\x12\x1e\n\x04type\x18\x01 \x01(\x0e\x32\x10.livekit.JobType\x12\x12\n\nagent_name\x18\x08 \x01(\t\x12\x0f\n\x07version\x18\x03 \x01(\t\x12\x15\n\rping_interval\x18\x05 \x01(\r\x12\x16\n\tnamespace\x18\x06 \x01(\tH\x00\x88\x01\x01\x12;\n\x13\x61llowed_permissions\x18\x07 \x01(\x0b\x32\x1e.livekit.ParticipantPermissionB\x0c\n\n_namespace\"U\n\x16RegisterWorkerResponse\x12\x11\n\tworker_id\x18\x01 \x01(\t\x12(\n\x0bserver_info\x18\x03 \x01(\x0b\x32\x13.livekit.ServerInfo\"$\n\x11MigrateJobRequest\x12\x0f\n\x07job_ids\x18\x02 \x03(\t\"B\n\x13\x41vailabilityRequest\x12\x19\n\x03job\x18\x01 \x01(\x0b\x32\x0c.livekit.Job\x12\x10\n\x08resuming\x18\x02 \x01(\x08\"\xd3\x02\n\x14\x41vailabilityResponse\x12\x0e\n\x06job_id\x18\x01 \x01(\t\x12\x11\n\tavailable\x18\x02 \x01(\x08\x12\x17\n\x0fsupports_resume\x18\x03 \x01(\x08\x12\x11\n\tterminate\x18\x08 \x01(\x08\x12\x18\n\x10participant_name\x18\x04 \x01(\t\x12\x1c\n\x14participant_identity\x18\x05 \x01(\t\x12\x1c\n\x14participant_metadata\x18\x06 \x01(\t\x12X\n\x16participant_attributes\x18\x07 \x03(\x0b\x32\x38.livekit.AvailabilityResponse.ParticipantAttributesEntry\x1a<\n\x1aParticipantAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"T\n\x0fUpdateJobStatus\x12\x0e\n\x06job_id\x18\x01 \x01(\t\x12\"\n\x06status\x18\x02 \x01(\x0e\x32\x12.livekit.JobStatus\x12\r\n\x05\x65rror\x18\x03 \x01(\t\"l\n\x12UpdateWorkerStatus\x12*\n\x06status\x18\x01 \x01(\x0e\x32\x15.livekit.WorkerStatusH\x00\x88\x01\x01\x12\x0c\n\x04load\x18\x03 \x01(\x02\x12\x11\n\tjob_count\x18\x04 \x01(\rB\t\n\x07_status\"S\n\rJobAssignment\x12\x19\n\x03job\x18\x01 \x01(\x0b\x32\x0c.livekit.Job\x12\x10\n\x03url\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\r\n\x05token\x18\x03 \x01(\tB\x06\n\x04_url\" \n\x0eJobTermination\x12\x0e\n\x06job_id\x18\x01 \x01(\t*<\n\x07JobType\x12\x0b\n\x07JT_ROOM\x10\x00\x12\x10\n\x0cJT_PUBLISHER\x10\x01\x12\x12\n\x0eJT_PARTICIPANT\x10\x02*-\n\x0cWorkerStatus\x12\x10\n\x0cWS_AVAILABLE\x10\x00\x12\x0b\n\x07WS_FULL\x10\x01*J\n\tJobStatus\x12\x0e\n\nJS_PENDING\x10\x00\x12\x0e\n\nJS_RUNNING\x10\x01\x12\x0e\n\nJS_SUCCESS\x10\x02\x12\r\n\tJS_FAILED\x10\x03\x42\x46Z#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x13livekit_agent.proto\x12\x07livekit\x1a\x14livekit_models.proto\"\xa0\x02\n\x03Job\x12\n\n\x02id\x18\x01 \x01(\t\x12\x13\n\x0b\x64ispatch_id\x18\t \x01(\t\x12\x1e\n\x04type\x18\x02 \x01(\x0e\x32\x10.livekit.JobType\x12\x1b\n\x04room\x18\x03 \x01(\x0b\x32\r.livekit.Room\x12\x32\n\x0bparticipant\x18\x04 \x01(\x0b\x32\x18.livekit.ParticipantInfoH\x00\x88\x01\x01\x12\x15\n\tnamespace\x18\x05 \x01(\tB\x02\x18\x01\x12\x10\n\x08metadata\x18\x06 \x01(\t\x12\x12\n\nagent_name\x18\x07 \x01(\t\x12 \n\x05state\x18\x08 \x01(\x0b\x32\x11.livekit.JobState\x12\x18\n\x10\x65nable_recording\x18\n \x01(\x08\x42\x0e\n\x0c_participant\"\xba\x01\n\x08JobState\x12\"\n\x06status\x18\x01 \x01(\x0e\x32\x12.livekit.JobStatus\x12\r\n\x05\x65rror\x18\x02 \x01(\t\x12\x12\n\nstarted_at\x18\x03 \x01(\x03\x12\x10\n\x08\x65nded_at\x18\x04 \x01(\x03\x12\x12\n\nupdated_at\x18\x05 \x01(\x03\x12\x1c\n\x14participant_identity\x18\x06 \x01(\t\x12\x11\n\tworker_id\x18\x07 \x01(\t\x12\x10\n\x08\x61gent_id\x18\x08 \x01(\t\"\xde\x03\n\rWorkerMessage\x12\x32\n\x08register\x18\x01 \x01(\x0b\x32\x1e.livekit.RegisterWorkerRequestH\x00\x12\x35\n\x0c\x61vailability\x18\x02 \x01(\x0b\x32\x1d.livekit.AvailabilityResponseH\x00\x12\x34\n\rupdate_worker\x18\x03 \x01(\x0b\x32\x1b.livekit.UpdateWorkerStatusH\x00\x12.\n\nupdate_job\x18\x04 \x01(\x0b\x32\x18.livekit.UpdateJobStatusH\x00\x12#\n\x04ping\x18\x05 \x01(\x0b\x32\x13.livekit.WorkerPingH\x00\x12\x33\n\x0csimulate_job\x18\x06 \x01(\x0b\x32\x1b.livekit.SimulateJobRequestH\x00\x12\x31\n\x0bmigrate_job\x18\x07 \x01(\x0b\x32\x1a.livekit.MigrateJobRequestH\x00\x12\x35\n\rtext_response\x18\x08 \x01(\x0b\x32\x1c.livekit.TextMessageResponseH\x00\x12-\n\tpush_text\x18\t \x01(\x0b\x32\x18.livekit.PushTextRequestH\x00\x42\t\n\x07message\"\xbd\x02\n\rServerMessage\x12\x33\n\x08register\x18\x01 \x01(\x0b\x32\x1f.livekit.RegisterWorkerResponseH\x00\x12\x34\n\x0c\x61vailability\x18\x02 \x01(\x0b\x32\x1c.livekit.AvailabilityRequestH\x00\x12,\n\nassignment\x18\x03 \x01(\x0b\x32\x16.livekit.JobAssignmentH\x00\x12.\n\x0btermination\x18\x05 \x01(\x0b\x32\x17.livekit.JobTerminationH\x00\x12#\n\x04pong\x18\x04 \x01(\x0b\x32\x13.livekit.WorkerPongH\x00\x12\x33\n\x0ctext_request\x18\x06 \x01(\x0b\x32\x1b.livekit.TextMessageRequestH\x00\x42\t\n\x07message\"\x80\x01\n\x12SimulateJobRequest\x12\x1e\n\x04type\x18\x01 \x01(\x0e\x32\x10.livekit.JobType\x12\x1b\n\x04room\x18\x02 \x01(\x0b\x32\r.livekit.Room\x12-\n\x0bparticipant\x18\x03 \x01(\x0b\x32\x18.livekit.ParticipantInfo\"\x1f\n\nWorkerPing\x12\x11\n\ttimestamp\x18\x01 \x01(\x03\"7\n\nWorkerPong\x12\x16\n\x0elast_timestamp\x18\x01 \x01(\x03\x12\x11\n\ttimestamp\x18\x02 \x01(\x03\"\xd6\x01\n\x15RegisterWorkerRequest\x12\x1e\n\x04type\x18\x01 \x01(\x0e\x32\x10.livekit.JobType\x12\x12\n\nagent_name\x18\x08 \x01(\t\x12\x0f\n\x07version\x18\x03 \x01(\t\x12\x15\n\rping_interval\x18\x05 \x01(\r\x12\x16\n\tnamespace\x18\x06 \x01(\tH\x00\x88\x01\x01\x12;\n\x13\x61llowed_permissions\x18\x07 \x01(\x0b\x32\x1e.livekit.ParticipantPermissionB\x0c\n\n_namespace\"U\n\x16RegisterWorkerResponse\x12\x11\n\tworker_id\x18\x01 \x01(\t\x12(\n\x0bserver_info\x18\x03 \x01(\x0b\x32\x13.livekit.ServerInfo\"$\n\x11MigrateJobRequest\x12\x0f\n\x07job_ids\x18\x02 \x03(\t\"B\n\x13\x41vailabilityRequest\x12\x19\n\x03job\x18\x01 \x01(\x0b\x32\x0c.livekit.Job\x12\x10\n\x08resuming\x18\x02 \x01(\x08\"\xd3\x02\n\x14\x41vailabilityResponse\x12\x0e\n\x06job_id\x18\x01 \x01(\t\x12\x11\n\tavailable\x18\x02 \x01(\x08\x12\x17\n\x0fsupports_resume\x18\x03 \x01(\x08\x12\x11\n\tterminate\x18\x08 \x01(\x08\x12\x18\n\x10participant_name\x18\x04 \x01(\t\x12\x1c\n\x14participant_identity\x18\x05 \x01(\t\x12\x1c\n\x14participant_metadata\x18\x06 \x01(\t\x12X\n\x16participant_attributes\x18\x07 \x03(\x0b\x32\x38.livekit.AvailabilityResponse.ParticipantAttributesEntry\x1a<\n\x1aParticipantAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"T\n\x0fUpdateJobStatus\x12\x0e\n\x06job_id\x18\x01 \x01(\t\x12\"\n\x06status\x18\x02 \x01(\x0e\x32\x12.livekit.JobStatus\x12\r\n\x05\x65rror\x18\x03 \x01(\t\"l\n\x12UpdateWorkerStatus\x12*\n\x06status\x18\x01 \x01(\x0e\x32\x15.livekit.WorkerStatusH\x00\x88\x01\x01\x12\x0c\n\x04load\x18\x03 \x01(\x02\x12\x11\n\tjob_count\x18\x04 \x01(\rB\t\n\x07_status\"S\n\rJobAssignment\x12\x19\n\x03job\x18\x01 \x01(\x0b\x32\x0c.livekit.Job\x12\x10\n\x03url\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\r\n\x05token\x18\x03 \x01(\tB\x06\n\x04_url\" \n\x0eJobTermination\x12\x0e\n\x06job_id\x18\x01 \x01(\t\"\x86\x01\n\x12TextMessageRequest\x12\x12\n\nmessage_id\x18\x01 \x01(\t\x12\x12\n\nsession_id\x18\x02 \x01(\t\x12\x12\n\nagent_name\x18\x03 \x01(\t\x12\x10\n\x08metadata\x18\x04 \x01(\t\x12\x14\n\x0csession_data\x18\x05 \x01(\x0c\x12\x0c\n\x04text\x18\x06 \x01(\t\"6\n\x0fPushTextRequest\x12\x12\n\nmessage_id\x18\x01 \x01(\t\x12\x0f\n\x07\x63ontent\x18\x02 \x01(\t\"N\n\x13TextMessageResponse\x12\x12\n\nmessage_id\x18\x01 \x01(\t\x12\x14\n\x0csession_data\x18\x02 \x01(\x0c\x12\r\n\x05\x65rror\x18\x03 \x01(\t*<\n\x07JobType\x12\x0b\n\x07JT_ROOM\x10\x00\x12\x10\n\x0cJT_PUBLISHER\x10\x01\x12\x12\n\x0eJT_PARTICIPANT\x10\x02*-\n\x0cWorkerStatus\x12\x10\n\x0cWS_AVAILABLE\x10\x00\x12\x0b\n\x07WS_FULL\x10\x01*J\n\tJobStatus\x12\x0e\n\nJS_PENDING\x10\x00\x12\x0e\n\nJS_RUNNING\x10\x01\x12\x0e\n\nJS_SUCCESS\x10\x02\x12\r\n\tJS_FAILED\x10\x03\x42\x46Z#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -27,44 +27,50 @@ _globals['_JOB'].fields_by_name['namespace']._serialized_options = b'\030\001' _globals['_AVAILABILITYRESPONSE_PARTICIPANTATTRIBUTESENTRY']._options = None _globals['_AVAILABILITYRESPONSE_PARTICIPANTATTRIBUTESENTRY']._serialized_options = b'8\001' - _globals['_JOBTYPE']._serialized_start=2468 - _globals['_JOBTYPE']._serialized_end=2528 - _globals['_WORKERSTATUS']._serialized_start=2530 - _globals['_WORKERSTATUS']._serialized_end=2575 - _globals['_JOBSTATUS']._serialized_start=2577 - _globals['_JOBSTATUS']._serialized_end=2651 + _globals['_JOBTYPE']._serialized_start=2896 + _globals['_JOBTYPE']._serialized_end=2956 + _globals['_WORKERSTATUS']._serialized_start=2958 + _globals['_WORKERSTATUS']._serialized_end=3003 + _globals['_JOBSTATUS']._serialized_start=3005 + _globals['_JOBSTATUS']._serialized_end=3079 _globals['_JOB']._serialized_start=55 _globals['_JOB']._serialized_end=343 _globals['_JOBSTATE']._serialized_start=346 _globals['_JOBSTATE']._serialized_end=532 _globals['_WORKERMESSAGE']._serialized_start=535 - _globals['_WORKERMESSAGE']._serialized_end=911 - _globals['_SERVERMESSAGE']._serialized_start=914 - _globals['_SERVERMESSAGE']._serialized_end=1178 - _globals['_SIMULATEJOBREQUEST']._serialized_start=1181 - _globals['_SIMULATEJOBREQUEST']._serialized_end=1309 - _globals['_WORKERPING']._serialized_start=1311 - _globals['_WORKERPING']._serialized_end=1342 - _globals['_WORKERPONG']._serialized_start=1344 - _globals['_WORKERPONG']._serialized_end=1399 - _globals['_REGISTERWORKERREQUEST']._serialized_start=1402 - _globals['_REGISTERWORKERREQUEST']._serialized_end=1616 - _globals['_REGISTERWORKERRESPONSE']._serialized_start=1618 - _globals['_REGISTERWORKERRESPONSE']._serialized_end=1703 - _globals['_MIGRATEJOBREQUEST']._serialized_start=1705 - _globals['_MIGRATEJOBREQUEST']._serialized_end=1741 - _globals['_AVAILABILITYREQUEST']._serialized_start=1743 - _globals['_AVAILABILITYREQUEST']._serialized_end=1809 - _globals['_AVAILABILITYRESPONSE']._serialized_start=1812 - _globals['_AVAILABILITYRESPONSE']._serialized_end=2151 - _globals['_AVAILABILITYRESPONSE_PARTICIPANTATTRIBUTESENTRY']._serialized_start=2091 - _globals['_AVAILABILITYRESPONSE_PARTICIPANTATTRIBUTESENTRY']._serialized_end=2151 - _globals['_UPDATEJOBSTATUS']._serialized_start=2153 - _globals['_UPDATEJOBSTATUS']._serialized_end=2237 - _globals['_UPDATEWORKERSTATUS']._serialized_start=2239 - _globals['_UPDATEWORKERSTATUS']._serialized_end=2347 - _globals['_JOBASSIGNMENT']._serialized_start=2349 - _globals['_JOBASSIGNMENT']._serialized_end=2432 - _globals['_JOBTERMINATION']._serialized_start=2434 - _globals['_JOBTERMINATION']._serialized_end=2466 + _globals['_WORKERMESSAGE']._serialized_end=1013 + _globals['_SERVERMESSAGE']._serialized_start=1016 + _globals['_SERVERMESSAGE']._serialized_end=1333 + _globals['_SIMULATEJOBREQUEST']._serialized_start=1336 + _globals['_SIMULATEJOBREQUEST']._serialized_end=1464 + _globals['_WORKERPING']._serialized_start=1466 + _globals['_WORKERPING']._serialized_end=1497 + _globals['_WORKERPONG']._serialized_start=1499 + _globals['_WORKERPONG']._serialized_end=1554 + _globals['_REGISTERWORKERREQUEST']._serialized_start=1557 + _globals['_REGISTERWORKERREQUEST']._serialized_end=1771 + _globals['_REGISTERWORKERRESPONSE']._serialized_start=1773 + _globals['_REGISTERWORKERRESPONSE']._serialized_end=1858 + _globals['_MIGRATEJOBREQUEST']._serialized_start=1860 + _globals['_MIGRATEJOBREQUEST']._serialized_end=1896 + _globals['_AVAILABILITYREQUEST']._serialized_start=1898 + _globals['_AVAILABILITYREQUEST']._serialized_end=1964 + _globals['_AVAILABILITYRESPONSE']._serialized_start=1967 + _globals['_AVAILABILITYRESPONSE']._serialized_end=2306 + _globals['_AVAILABILITYRESPONSE_PARTICIPANTATTRIBUTESENTRY']._serialized_start=2246 + _globals['_AVAILABILITYRESPONSE_PARTICIPANTATTRIBUTESENTRY']._serialized_end=2306 + _globals['_UPDATEJOBSTATUS']._serialized_start=2308 + _globals['_UPDATEJOBSTATUS']._serialized_end=2392 + _globals['_UPDATEWORKERSTATUS']._serialized_start=2394 + _globals['_UPDATEWORKERSTATUS']._serialized_end=2502 + _globals['_JOBASSIGNMENT']._serialized_start=2504 + _globals['_JOBASSIGNMENT']._serialized_end=2587 + _globals['_JOBTERMINATION']._serialized_start=2589 + _globals['_JOBTERMINATION']._serialized_end=2621 + _globals['_TEXTMESSAGEREQUEST']._serialized_start=2624 + _globals['_TEXTMESSAGEREQUEST']._serialized_end=2758 + _globals['_PUSHTEXTREQUEST']._serialized_start=2760 + _globals['_PUSHTEXTREQUEST']._serialized_end=2814 + _globals['_TEXTMESSAGERESPONSE']._serialized_start=2816 + _globals['_TEXTMESSAGERESPONSE']._serialized_end=2894 # @@protoc_insertion_point(module_scope) diff --git a/livekit-protocol/livekit/protocol/agent.pyi b/livekit-protocol/livekit/protocol/agent.pyi index bbb4b59f..9420b1d7 100644 --- a/livekit-protocol/livekit/protocol/agent.pyi +++ b/livekit-protocol/livekit/protocol/agent.pyi @@ -79,7 +79,7 @@ class JobState(_message.Message): def __init__(self, status: _Optional[_Union[JobStatus, str]] = ..., error: _Optional[str] = ..., started_at: _Optional[int] = ..., ended_at: _Optional[int] = ..., updated_at: _Optional[int] = ..., participant_identity: _Optional[str] = ..., worker_id: _Optional[str] = ..., agent_id: _Optional[str] = ...) -> None: ... class WorkerMessage(_message.Message): - __slots__ = ("register", "availability", "update_worker", "update_job", "ping", "simulate_job", "migrate_job") + __slots__ = ("register", "availability", "update_worker", "update_job", "ping", "simulate_job", "migrate_job", "text_response", "push_text") REGISTER_FIELD_NUMBER: _ClassVar[int] AVAILABILITY_FIELD_NUMBER: _ClassVar[int] UPDATE_WORKER_FIELD_NUMBER: _ClassVar[int] @@ -87,6 +87,8 @@ class WorkerMessage(_message.Message): PING_FIELD_NUMBER: _ClassVar[int] SIMULATE_JOB_FIELD_NUMBER: _ClassVar[int] MIGRATE_JOB_FIELD_NUMBER: _ClassVar[int] + TEXT_RESPONSE_FIELD_NUMBER: _ClassVar[int] + PUSH_TEXT_FIELD_NUMBER: _ClassVar[int] register: RegisterWorkerRequest availability: AvailabilityResponse update_worker: UpdateWorkerStatus @@ -94,21 +96,25 @@ class WorkerMessage(_message.Message): ping: WorkerPing simulate_job: SimulateJobRequest migrate_job: MigrateJobRequest - def __init__(self, register: _Optional[_Union[RegisterWorkerRequest, _Mapping]] = ..., availability: _Optional[_Union[AvailabilityResponse, _Mapping]] = ..., update_worker: _Optional[_Union[UpdateWorkerStatus, _Mapping]] = ..., update_job: _Optional[_Union[UpdateJobStatus, _Mapping]] = ..., ping: _Optional[_Union[WorkerPing, _Mapping]] = ..., simulate_job: _Optional[_Union[SimulateJobRequest, _Mapping]] = ..., migrate_job: _Optional[_Union[MigrateJobRequest, _Mapping]] = ...) -> None: ... + text_response: TextMessageResponse + push_text: PushTextRequest + def __init__(self, register: _Optional[_Union[RegisterWorkerRequest, _Mapping]] = ..., availability: _Optional[_Union[AvailabilityResponse, _Mapping]] = ..., update_worker: _Optional[_Union[UpdateWorkerStatus, _Mapping]] = ..., update_job: _Optional[_Union[UpdateJobStatus, _Mapping]] = ..., ping: _Optional[_Union[WorkerPing, _Mapping]] = ..., simulate_job: _Optional[_Union[SimulateJobRequest, _Mapping]] = ..., migrate_job: _Optional[_Union[MigrateJobRequest, _Mapping]] = ..., text_response: _Optional[_Union[TextMessageResponse, _Mapping]] = ..., push_text: _Optional[_Union[PushTextRequest, _Mapping]] = ...) -> None: ... class ServerMessage(_message.Message): - __slots__ = ("register", "availability", "assignment", "termination", "pong") + __slots__ = ("register", "availability", "assignment", "termination", "pong", "text_request") REGISTER_FIELD_NUMBER: _ClassVar[int] AVAILABILITY_FIELD_NUMBER: _ClassVar[int] ASSIGNMENT_FIELD_NUMBER: _ClassVar[int] TERMINATION_FIELD_NUMBER: _ClassVar[int] PONG_FIELD_NUMBER: _ClassVar[int] + TEXT_REQUEST_FIELD_NUMBER: _ClassVar[int] register: RegisterWorkerResponse availability: AvailabilityRequest assignment: JobAssignment termination: JobTermination pong: WorkerPong - def __init__(self, register: _Optional[_Union[RegisterWorkerResponse, _Mapping]] = ..., availability: _Optional[_Union[AvailabilityRequest, _Mapping]] = ..., assignment: _Optional[_Union[JobAssignment, _Mapping]] = ..., termination: _Optional[_Union[JobTermination, _Mapping]] = ..., pong: _Optional[_Union[WorkerPong, _Mapping]] = ...) -> None: ... + text_request: TextMessageRequest + def __init__(self, register: _Optional[_Union[RegisterWorkerResponse, _Mapping]] = ..., availability: _Optional[_Union[AvailabilityRequest, _Mapping]] = ..., assignment: _Optional[_Union[JobAssignment, _Mapping]] = ..., termination: _Optional[_Union[JobTermination, _Mapping]] = ..., pong: _Optional[_Union[WorkerPong, _Mapping]] = ..., text_request: _Optional[_Union[TextMessageRequest, _Mapping]] = ...) -> None: ... class SimulateJobRequest(_message.Message): __slots__ = ("type", "room", "participant") @@ -234,3 +240,37 @@ class JobTermination(_message.Message): JOB_ID_FIELD_NUMBER: _ClassVar[int] job_id: str def __init__(self, job_id: _Optional[str] = ...) -> None: ... + +class TextMessageRequest(_message.Message): + __slots__ = ("message_id", "session_id", "agent_name", "metadata", "session_data", "text") + MESSAGE_ID_FIELD_NUMBER: _ClassVar[int] + SESSION_ID_FIELD_NUMBER: _ClassVar[int] + AGENT_NAME_FIELD_NUMBER: _ClassVar[int] + METADATA_FIELD_NUMBER: _ClassVar[int] + SESSION_DATA_FIELD_NUMBER: _ClassVar[int] + TEXT_FIELD_NUMBER: _ClassVar[int] + message_id: str + session_id: str + agent_name: str + metadata: str + session_data: bytes + text: str + def __init__(self, message_id: _Optional[str] = ..., session_id: _Optional[str] = ..., agent_name: _Optional[str] = ..., metadata: _Optional[str] = ..., session_data: _Optional[bytes] = ..., text: _Optional[str] = ...) -> None: ... + +class PushTextRequest(_message.Message): + __slots__ = ("message_id", "content") + MESSAGE_ID_FIELD_NUMBER: _ClassVar[int] + CONTENT_FIELD_NUMBER: _ClassVar[int] + message_id: str + content: str + def __init__(self, message_id: _Optional[str] = ..., content: _Optional[str] = ...) -> None: ... + +class TextMessageResponse(_message.Message): + __slots__ = ("message_id", "session_data", "error") + MESSAGE_ID_FIELD_NUMBER: _ClassVar[int] + SESSION_DATA_FIELD_NUMBER: _ClassVar[int] + ERROR_FIELD_NUMBER: _ClassVar[int] + message_id: str + session_data: bytes + error: str + def __init__(self, message_id: _Optional[str] = ..., session_data: _Optional[bytes] = ..., error: _Optional[str] = ...) -> None: ... diff --git a/livekit-protocol/livekit/protocol/agent_dispatch.py b/livekit-protocol/livekit/protocol/agent_dispatch.py index be2384c3..cccfd4f8 100644 --- a/livekit-protocol/livekit/protocol/agent_dispatch.py +++ b/livekit-protocol/livekit/protocol/agent_dispatch.py @@ -13,9 +13,10 @@ from . import agent as _agent_ +from .logger_pb import options as logger_dot_options__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1clivekit_agent_dispatch.proto\x12\x07livekit\x1a\x13livekit_agent.proto\"P\n\x1a\x43reateAgentDispatchRequest\x12\x12\n\nagent_name\x18\x01 \x01(\t\x12\x0c\n\x04room\x18\x02 \x01(\t\x12\x10\n\x08metadata\x18\x03 \x01(\t\"9\n\x11RoomAgentDispatch\x12\x12\n\nagent_name\x18\x01 \x01(\t\x12\x10\n\x08metadata\x18\x02 \x01(\t\"?\n\x1a\x44\x65leteAgentDispatchRequest\x12\x13\n\x0b\x64ispatch_id\x18\x01 \x01(\t\x12\x0c\n\x04room\x18\x02 \x01(\t\"=\n\x18ListAgentDispatchRequest\x12\x13\n\x0b\x64ispatch_id\x18\x01 \x01(\t\x12\x0c\n\x04room\x18\x02 \x01(\t\"M\n\x19ListAgentDispatchResponse\x12\x30\n\x10\x61gent_dispatches\x18\x01 \x03(\x0b\x32\x16.livekit.AgentDispatch\"{\n\rAgentDispatch\x12\n\n\x02id\x18\x01 \x01(\t\x12\x12\n\nagent_name\x18\x02 \x01(\t\x12\x0c\n\x04room\x18\x03 \x01(\t\x12\x10\n\x08metadata\x18\x04 \x01(\t\x12*\n\x05state\x18\x05 \x01(\x0b\x32\x1b.livekit.AgentDispatchState\"X\n\x12\x41gentDispatchState\x12\x1a\n\x04jobs\x18\x01 \x03(\x0b\x32\x0c.livekit.Job\x12\x12\n\ncreated_at\x18\x02 \x01(\x03\x12\x12\n\ndeleted_at\x18\x03 \x01(\x03\x32\x8b\x02\n\x14\x41gentDispatchService\x12M\n\x0e\x43reateDispatch\x12#.livekit.CreateAgentDispatchRequest\x1a\x16.livekit.AgentDispatch\x12M\n\x0e\x44\x65leteDispatch\x12#.livekit.DeleteAgentDispatchRequest\x1a\x16.livekit.AgentDispatch\x12U\n\x0cListDispatch\x12!.livekit.ListAgentDispatchRequest\x1a\".livekit.ListAgentDispatchResponseBFZ#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1clivekit_agent_dispatch.proto\x12\x07livekit\x1a\x13livekit_agent.proto\x1a\x14logger/options.proto\"V\n\x1a\x43reateAgentDispatchRequest\x12\x12\n\nagent_name\x18\x01 \x01(\t\x12\x0c\n\x04room\x18\x02 \x01(\t\x12\x16\n\x08metadata\x18\x03 \x01(\tB\x04\x88\xec,\x01\"?\n\x11RoomAgentDispatch\x12\x12\n\nagent_name\x18\x01 \x01(\t\x12\x16\n\x08metadata\x18\x02 \x01(\tB\x04\x88\xec,\x01\"?\n\x1a\x44\x65leteAgentDispatchRequest\x12\x13\n\x0b\x64ispatch_id\x18\x01 \x01(\t\x12\x0c\n\x04room\x18\x02 \x01(\t\"=\n\x18ListAgentDispatchRequest\x12\x13\n\x0b\x64ispatch_id\x18\x01 \x01(\t\x12\x0c\n\x04room\x18\x02 \x01(\t\"M\n\x19ListAgentDispatchResponse\x12\x30\n\x10\x61gent_dispatches\x18\x01 \x03(\x0b\x32\x16.livekit.AgentDispatch\"\x81\x01\n\rAgentDispatch\x12\n\n\x02id\x18\x01 \x01(\t\x12\x12\n\nagent_name\x18\x02 \x01(\t\x12\x0c\n\x04room\x18\x03 \x01(\t\x12\x16\n\x08metadata\x18\x04 \x01(\tB\x04\x88\xec,\x01\x12*\n\x05state\x18\x05 \x01(\x0b\x32\x1b.livekit.AgentDispatchState\"X\n\x12\x41gentDispatchState\x12\x1a\n\x04jobs\x18\x01 \x03(\x0b\x32\x0c.livekit.Job\x12\x12\n\ncreated_at\x18\x02 \x01(\x03\x12\x12\n\ndeleted_at\x18\x03 \x01(\x03\x32\x8b\x02\n\x14\x41gentDispatchService\x12M\n\x0e\x43reateDispatch\x12#.livekit.CreateAgentDispatchRequest\x1a\x16.livekit.AgentDispatch\x12M\n\x0e\x44\x65leteDispatch\x12#.livekit.DeleteAgentDispatchRequest\x1a\x16.livekit.AgentDispatch\x12U\n\x0cListDispatch\x12!.livekit.ListAgentDispatchRequest\x1a\".livekit.ListAgentDispatchResponseBFZ#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -23,20 +24,26 @@ if _descriptor._USE_C_DESCRIPTORS == False: _globals['DESCRIPTOR']._options = None _globals['DESCRIPTOR']._serialized_options = b'Z#github.com/livekit/protocol/livekit\252\002\rLiveKit.Proto\352\002\016LiveKit::Proto' - _globals['_CREATEAGENTDISPATCHREQUEST']._serialized_start=62 - _globals['_CREATEAGENTDISPATCHREQUEST']._serialized_end=142 - _globals['_ROOMAGENTDISPATCH']._serialized_start=144 - _globals['_ROOMAGENTDISPATCH']._serialized_end=201 - _globals['_DELETEAGENTDISPATCHREQUEST']._serialized_start=203 - _globals['_DELETEAGENTDISPATCHREQUEST']._serialized_end=266 - _globals['_LISTAGENTDISPATCHREQUEST']._serialized_start=268 - _globals['_LISTAGENTDISPATCHREQUEST']._serialized_end=329 - _globals['_LISTAGENTDISPATCHRESPONSE']._serialized_start=331 - _globals['_LISTAGENTDISPATCHRESPONSE']._serialized_end=408 - _globals['_AGENTDISPATCH']._serialized_start=410 - _globals['_AGENTDISPATCH']._serialized_end=533 - _globals['_AGENTDISPATCHSTATE']._serialized_start=535 - _globals['_AGENTDISPATCHSTATE']._serialized_end=623 - _globals['_AGENTDISPATCHSERVICE']._serialized_start=626 - _globals['_AGENTDISPATCHSERVICE']._serialized_end=893 + _globals['_CREATEAGENTDISPATCHREQUEST'].fields_by_name['metadata']._options = None + _globals['_CREATEAGENTDISPATCHREQUEST'].fields_by_name['metadata']._serialized_options = b'\210\354,\001' + _globals['_ROOMAGENTDISPATCH'].fields_by_name['metadata']._options = None + _globals['_ROOMAGENTDISPATCH'].fields_by_name['metadata']._serialized_options = b'\210\354,\001' + _globals['_AGENTDISPATCH'].fields_by_name['metadata']._options = None + _globals['_AGENTDISPATCH'].fields_by_name['metadata']._serialized_options = b'\210\354,\001' + _globals['_CREATEAGENTDISPATCHREQUEST']._serialized_start=84 + _globals['_CREATEAGENTDISPATCHREQUEST']._serialized_end=170 + _globals['_ROOMAGENTDISPATCH']._serialized_start=172 + _globals['_ROOMAGENTDISPATCH']._serialized_end=235 + _globals['_DELETEAGENTDISPATCHREQUEST']._serialized_start=237 + _globals['_DELETEAGENTDISPATCHREQUEST']._serialized_end=300 + _globals['_LISTAGENTDISPATCHREQUEST']._serialized_start=302 + _globals['_LISTAGENTDISPATCHREQUEST']._serialized_end=363 + _globals['_LISTAGENTDISPATCHRESPONSE']._serialized_start=365 + _globals['_LISTAGENTDISPATCHRESPONSE']._serialized_end=442 + _globals['_AGENTDISPATCH']._serialized_start=445 + _globals['_AGENTDISPATCH']._serialized_end=574 + _globals['_AGENTDISPATCHSTATE']._serialized_start=576 + _globals['_AGENTDISPATCHSTATE']._serialized_end=664 + _globals['_AGENTDISPATCHSERVICE']._serialized_start=667 + _globals['_AGENTDISPATCHSERVICE']._serialized_end=934 # @@protoc_insertion_point(module_scope) diff --git a/livekit-protocol/livekit/protocol/agent_dispatch.pyi b/livekit-protocol/livekit/protocol/agent_dispatch.pyi index d0a24aa8..408c18bc 100644 --- a/livekit-protocol/livekit/protocol/agent_dispatch.pyi +++ b/livekit-protocol/livekit/protocol/agent_dispatch.pyi @@ -1,4 +1,5 @@ from . import agent as _agent +from .logger_pb import options as _options_pb2 from google.protobuf.internal import containers as _containers from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message diff --git a/livekit-protocol/livekit/protocol/analytics.py b/livekit-protocol/livekit/protocol/analytics.py index 496f462d..bb7b8d32 100644 --- a/livekit-protocol/livekit/protocol/analytics.py +++ b/livekit-protocol/livekit/protocol/analytics.py @@ -20,7 +20,7 @@ from . import room as _room_ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x17livekit_analytics.proto\x12\x07livekit\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x14livekit_models.proto\x1a\x14livekit_egress.proto\x1a\x15livekit_ingress.proto\x1a\x11livekit_sip.proto\x1a\x12livekit_room.proto\"T\n\x13\x41nalyticsVideoLayer\x12\r\n\x05layer\x18\x01 \x01(\x05\x12\x0f\n\x07packets\x18\x02 \x01(\r\x12\r\n\x05\x62ytes\x18\x03 \x01(\x04\x12\x0e\n\x06\x66rames\x18\x04 \x01(\r\"\xd3\x03\n\x0f\x41nalyticsStream\x12\x0c\n\x04ssrc\x18\x01 \x01(\r\x12\x17\n\x0fprimary_packets\x18\x02 \x01(\r\x12\x15\n\rprimary_bytes\x18\x03 \x01(\x04\x12\x1a\n\x12retransmit_packets\x18\x04 \x01(\r\x12\x18\n\x10retransmit_bytes\x18\x05 \x01(\x04\x12\x17\n\x0fpadding_packets\x18\x06 \x01(\r\x12\x15\n\rpadding_bytes\x18\x07 \x01(\x04\x12\x14\n\x0cpackets_lost\x18\x08 \x01(\r\x12\x0e\n\x06\x66rames\x18\t \x01(\r\x12\x0b\n\x03rtt\x18\n \x01(\r\x12\x0e\n\x06jitter\x18\x0b \x01(\r\x12\r\n\x05nacks\x18\x0c \x01(\r\x12\x0c\n\x04plis\x18\r \x01(\r\x12\x0c\n\x04\x66irs\x18\x0e \x01(\r\x12\x32\n\x0cvideo_layers\x18\x0f \x03(\x0b\x32\x1c.livekit.AnalyticsVideoLayer\x12.\n\nstart_time\x18\x11 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x08\x65nd_time\x18\x12 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1c\n\x14packets_out_of_order\x18\x13 \x01(\r\"\xd2\x02\n\rAnalyticsStat\x12\n\n\x02id\x18\x0e \x01(\t\x12\x15\n\ranalytics_key\x18\x01 \x01(\t\x12!\n\x04kind\x18\x02 \x01(\x0e\x32\x13.livekit.StreamType\x12.\n\ntime_stamp\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0c\n\x04node\x18\x04 \x01(\t\x12\x0f\n\x07room_id\x18\x05 \x01(\t\x12\x11\n\troom_name\x18\x06 \x01(\t\x12\x16\n\x0eparticipant_id\x18\x07 \x01(\t\x12\x10\n\x08track_id\x18\x08 \x01(\t\x12\r\n\x05score\x18\t \x01(\x02\x12)\n\x07streams\x18\n \x03(\x0b\x32\x18.livekit.AnalyticsStream\x12\x0c\n\x04mime\x18\x0b \x01(\t\x12\x11\n\tmin_score\x18\x0c \x01(\x02\x12\x14\n\x0cmedian_score\x18\r \x01(\x02\"7\n\x0e\x41nalyticsStats\x12%\n\x05stats\x18\x01 \x03(\x0b\x32\x16.livekit.AnalyticsStat\"\x9a\x02\n\x13\x41nalyticsClientMeta\x12\x0e\n\x06region\x18\x01 \x01(\t\x12\x0c\n\x04node\x18\x02 \x01(\t\x12\x13\n\x0b\x63lient_addr\x18\x03 \x01(\t\x12\x1b\n\x13\x63lient_connect_time\x18\x04 \x01(\r\x12\x17\n\x0f\x63onnection_type\x18\x05 \x01(\t\x12\x32\n\x10reconnect_reason\x18\x06 \x01(\x0e\x32\x18.livekit.ReconnectReason\x12\x15\n\x08geo_hash\x18\x07 \x01(\tH\x00\x88\x01\x01\x12\x14\n\x07\x63ountry\x18\x08 \x01(\tH\x01\x88\x01\x01\x12\x14\n\x07isp_asn\x18\t \x01(\rH\x02\x88\x01\x01\x42\x0b\n\t_geo_hashB\n\n\x08_countryB\n\n\x08_isp_asn\"\x9c\t\n\x0e\x41nalyticsEvent\x12\n\n\x02id\x18\x19 \x01(\t\x12)\n\x04type\x18\x01 \x01(\x0e\x32\x1b.livekit.AnalyticsEventType\x12-\n\ttimestamp\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0f\n\x07room_id\x18\x03 \x01(\t\x12\x1b\n\x04room\x18\x04 \x01(\x0b\x32\r.livekit.Room\x12\x16\n\x0eparticipant_id\x18\x05 \x01(\t\x12-\n\x0bparticipant\x18\x06 \x01(\x0b\x32\x18.livekit.ParticipantInfo\x12\x10\n\x08track_id\x18\x07 \x01(\t\x12!\n\x05track\x18\x08 \x01(\x0b\x32\x12.livekit.TrackInfo\x12\x15\n\ranalytics_key\x18\n \x01(\t\x12(\n\x0b\x63lient_info\x18\x0b \x01(\x0b\x32\x13.livekit.ClientInfo\x12\x31\n\x0b\x63lient_meta\x18\x0c \x01(\x0b\x32\x1c.livekit.AnalyticsClientMeta\x12\x11\n\tegress_id\x18\r \x01(\t\x12\x12\n\ningress_id\x18\x13 \x01(\t\x12;\n\x1cmax_subscribed_video_quality\x18\x0e \x01(\x0e\x32\x15.livekit.VideoQuality\x12+\n\tpublisher\x18\x0f \x01(\x0b\x32\x18.livekit.ParticipantInfo\x12\x0c\n\x04mime\x18\x10 \x01(\t\x12#\n\x06\x65gress\x18\x11 \x01(\x0b\x32\x13.livekit.EgressInfo\x12%\n\x07ingress\x18\x12 \x01(\x0b\x32\x14.livekit.IngressInfo\x12\r\n\x05\x65rror\x18\x14 \x01(\t\x12$\n\trtp_stats\x18\x15 \x01(\x0b\x32\x11.livekit.RTPStats\x12\x13\n\x0bvideo_layer\x18\x16 \x01(\x05\x12\x0f\n\x07node_id\x18\x18 \x01(\t\x12\x13\n\x0bsip_call_id\x18\x1a \x01(\t\x12&\n\x08sip_call\x18\x1b \x01(\x0b\x32\x14.livekit.SIPCallInfo\x12\x14\n\x0csip_trunk_id\x18\x1c \x01(\t\x12\x37\n\x11sip_inbound_trunk\x18\x1d \x01(\x0b\x32\x1c.livekit.SIPInboundTrunkInfo\x12\x39\n\x12sip_outbound_trunk\x18\x1e \x01(\x0b\x32\x1d.livekit.SIPOutboundTrunkInfo\x12\x1c\n\x14sip_dispatch_rule_id\x18\x1f \x01(\t\x12\x37\n\x11sip_dispatch_rule\x18 \x01(\x0b\x32\x1c.livekit.SIPDispatchRuleInfo\x12.\n\x0csip_transfer\x18$ \x01(\x0b\x32\x18.livekit.SIPTransferInfo\x12#\n\x06report\x18! \x01(\x0b\x32\x13.livekit.ReportInfo\x12&\n\x08\x61pi_call\x18\" \x01(\x0b\x32\x14.livekit.APICallInfo\x12%\n\x07webhook\x18# \x01(\x0b\x32\x14.livekit.WebhookInfo\":\n\x0f\x41nalyticsEvents\x12\'\n\x06\x65vents\x18\x01 \x03(\x0b\x32\x17.livekit.AnalyticsEvent\"\xa4\x01\n\x18\x41nalyticsRoomParticipant\x12\n\n\x02id\x18\x01 \x01(\t\x12\x10\n\x08identity\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12-\n\x05state\x18\x04 \x01(\x0e\x32\x1e.livekit.ParticipantInfo.State\x12-\n\tjoined_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xa6\x01\n\rAnalyticsRoom\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x12\n\nproject_id\x18\x05 \x01(\t\x12.\n\ncreated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x37\n\x0cparticipants\x18\x04 \x03(\x0b\x32!.livekit.AnalyticsRoomParticipant\"\x94\x01\n\x12\x41nalyticsNodeRooms\x12\x0f\n\x07node_id\x18\x01 \x01(\t\x12\x17\n\x0fsequence_number\x18\x02 \x01(\x04\x12-\n\ttimestamp\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12%\n\x05rooms\x18\x04 \x03(\x0b\x32\x16.livekit.AnalyticsRoom\"K\n\nReportInfo\x12\x32\n\rfeature_usage\x18\x01 \x01(\x0b\x32\x19.livekit.FeatureUsageInfoH\x00\x42\t\n\x07message\"i\n\tTimeRange\x12.\n\nstarted_at\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x08\x65nded_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xc1\x02\n\x10\x46\x65\x61tureUsageInfo\x12\x32\n\x07\x66\x65\x61ture\x18\x01 \x01(\x0e\x32!.livekit.FeatureUsageInfo.Feature\x12\x12\n\nproject_id\x18\x02 \x01(\t\x12\x11\n\troom_name\x18\x03 \x01(\t\x12\x0f\n\x07room_id\x18\x04 \x01(\t\x12\x1c\n\x14participant_identity\x18\x05 \x01(\t\x12\x16\n\x0eparticipant_id\x18\x06 \x01(\t\x12\x10\n\x08track_id\x18\x07 \x01(\t\x12\'\n\x0btime_ranges\x18\x08 \x03(\x0b\x32\x12.livekit.TimeRange\"P\n\x07\x46\x65\x61ture\x12\x1c\n\x18KRISP_NOISE_CANCELLATION\x10\x00\x12\'\n#KRISP_BACKGROUND_VOICE_CANCELLATION\x10\x01\"\xb3\x05\n\x0e\x41PICallRequest\x12\x39\n\x13\x63reate_room_request\x18\x01 \x01(\x0b\x32\x1a.livekit.CreateRoomRequestH\x00\x12\x37\n\x12list_rooms_request\x18\x02 \x01(\x0b\x32\x19.livekit.ListRoomsRequestH\x00\x12\x39\n\x13\x64\x65lete_room_request\x18\x03 \x01(\x0b\x32\x1a.livekit.DeleteRoomRequestH\x00\x12\x45\n\x19list_participants_request\x18\x04 \x01(\x0b\x32 .livekit.ListParticipantsRequestH\x00\x12\x45\n\x19room_participant_identity\x18\x05 \x01(\x0b\x32 .livekit.RoomParticipantIdentityH\x00\x12@\n\x17mute_room_track_request\x18\x06 \x01(\x0b\x32\x1d.livekit.MuteRoomTrackRequestH\x00\x12G\n\x1aupdate_participant_request\x18\x07 \x01(\x0b\x32!.livekit.UpdateParticipantRequestH\x00\x12K\n\x1cupdate_subscriptions_request\x18\x08 \x01(\x0b\x32#.livekit.UpdateSubscriptionsRequestH\x00\x12\x35\n\x11send_data_request\x18\t \x01(\x0b\x32\x18.livekit.SendDataRequestH\x00\x12J\n\x1cupdate_room_metadata_request\x18\n \x01(\x0b\x32\".livekit.UpdateRoomMetadataRequestH\x00\x42\t\n\x07message\"\xf5\x02\n\x0b\x41PICallInfo\x12\x12\n\nproject_id\x18\x01 \x01(\t\x12(\n\x07request\x18\x02 \x01(\x0b\x32\x17.livekit.APICallRequest\x12\x0f\n\x07service\x18\x03 \x01(\t\x12\x0e\n\x06method\x18\x04 \x01(\t\x12\x0f\n\x07node_id\x18\x05 \x01(\t\x12\x0e\n\x06status\x18\x06 \x01(\x05\x12\x18\n\x10twirp_error_code\x18\x07 \x01(\t\x12\x1b\n\x13twirp_error_message\x18\x08 \x01(\t\x12\x11\n\troom_name\x18\t \x01(\t\x12\x0f\n\x07room_id\x18\n \x01(\t\x12\x1c\n\x14participant_identity\x18\x0b \x01(\t\x12\x16\n\x0eparticipant_id\x18\x0c \x01(\t\x12\x10\n\x08track_id\x18\r \x01(\t\x12.\n\nstarted_at\x18\x0e \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x13\n\x0b\x64uration_ns\x18\x0f \x01(\x03\"\xab\x04\n\x0bWebhookInfo\x12\x10\n\x08\x65vent_id\x18\x01 \x01(\t\x12\r\n\x05\x65vent\x18\x02 \x01(\t\x12\x12\n\nproject_id\x18\x03 \x01(\t\x12\x11\n\troom_name\x18\x04 \x01(\t\x12\x0f\n\x07room_id\x18\x05 \x01(\t\x12\x1c\n\x14participant_identity\x18\x06 \x01(\t\x12\x16\n\x0eparticipant_id\x18\x07 \x01(\t\x12\x10\n\x08track_id\x18\x08 \x01(\t\x12\x11\n\tegress_id\x18\t \x01(\t\x12\x12\n\ningress_id\x18\n \x01(\t\x12.\n\ncreated_at\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12-\n\tqueued_at\x18\x0c \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x19\n\x11queue_duration_ns\x18\r \x01(\x03\x12+\n\x07sent_at\x18\x0e \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x18\n\x10send_duration_ns\x18\x0f \x01(\x03\x12\x0b\n\x03url\x18\x10 \x01(\t\x12\x13\n\x0bnum_dropped\x18\x11 \x01(\x05\x12\x12\n\nis_dropped\x18\x12 \x01(\x08\x12\x16\n\x0eservice_status\x18\x13 \x01(\t\x12\x1a\n\x12service_error_code\x18\x14 \x01(\x05\x12\x15\n\rservice_error\x18\x15 \x01(\t\x12\x12\n\nsend_error\x18\x16 \x01(\t**\n\nStreamType\x12\x0c\n\x08UPSTREAM\x10\x00\x12\x0e\n\nDOWNSTREAM\x10\x01*\xc6\x08\n\x12\x41nalyticsEventType\x12\x10\n\x0cROOM_CREATED\x10\x00\x12\x0e\n\nROOM_ENDED\x10\x01\x12\x16\n\x12PARTICIPANT_JOINED\x10\x02\x12\x14\n\x10PARTICIPANT_LEFT\x10\x03\x12\"\n\x1ePARTICIPANT_CONNECTION_ABORTED\x10-\x12\x13\n\x0fTRACK_PUBLISHED\x10\x04\x12\x1b\n\x17TRACK_PUBLISH_REQUESTED\x10\x14\x12\x15\n\x11TRACK_UNPUBLISHED\x10\x05\x12\x14\n\x10TRACK_SUBSCRIBED\x10\x06\x12\x1d\n\x19TRACK_SUBSCRIBE_REQUESTED\x10\x15\x12\x1a\n\x16TRACK_SUBSCRIBE_FAILED\x10\x19\x12\x16\n\x12TRACK_UNSUBSCRIBED\x10\x07\x12\x1a\n\x16TRACK_PUBLISHED_UPDATE\x10\n\x12\x0f\n\x0bTRACK_MUTED\x10\x17\x12\x11\n\rTRACK_UNMUTED\x10\x18\x12\x17\n\x13TRACK_PUBLISH_STATS\x10\x1a\x12\x19\n\x15TRACK_SUBSCRIBE_STATS\x10\x1b\x12\x16\n\x12PARTICIPANT_ACTIVE\x10\x0b\x12\x17\n\x13PARTICIPANT_RESUMED\x10\x16\x12\x12\n\x0e\x45GRESS_STARTED\x10\x0c\x12\x10\n\x0c\x45GRESS_ENDED\x10\r\x12\x12\n\x0e\x45GRESS_UPDATED\x10\x1c\x12&\n\"TRACK_MAX_SUBSCRIBED_VIDEO_QUALITY\x10\x0e\x12\x0f\n\x0bRECONNECTED\x10\x0f\x12\x13\n\x0fINGRESS_CREATED\x10\x12\x12\x13\n\x0fINGRESS_DELETED\x10\x13\x12\x13\n\x0fINGRESS_STARTED\x10\x10\x12\x11\n\rINGRESS_ENDED\x10\x11\x12\x13\n\x0fINGRESS_UPDATED\x10\x1d\x12\x1d\n\x19SIP_INBOUND_TRUNK_CREATED\x10\x1e\x12\x1d\n\x19SIP_INBOUND_TRUNK_DELETED\x10\x1f\x12\x1e\n\x1aSIP_OUTBOUND_TRUNK_CREATED\x10 \x12\x1e\n\x1aSIP_OUTBOUND_TRUNK_DELETED\x10!\x12\x1d\n\x19SIP_DISPATCH_RULE_CREATED\x10\"\x12\x1d\n\x19SIP_DISPATCH_RULE_DELETED\x10#\x12\x1b\n\x17SIP_PARTICIPANT_CREATED\x10$\x12\x15\n\x11SIP_CALL_INCOMING\x10%\x12\x14\n\x10SIP_CALL_STARTED\x10&\x12\x12\n\x0eSIP_CALL_ENDED\x10\'\x12\x1a\n\x16SIP_TRANSFER_REQUESTED\x10+\x12\x19\n\x15SIP_TRANSFER_COMPLETE\x10,\x12\x13\n\x0fSIP_CALL_UPDATE\x10.\x12\n\n\x06REPORT\x10(\x12\x0c\n\x08\x41PI_CALL\x10)\x12\x0b\n\x07WEBHOOK\x10*BFZ#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x17livekit_analytics.proto\x12\x07livekit\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x14livekit_models.proto\x1a\x14livekit_egress.proto\x1a\x15livekit_ingress.proto\x1a\x11livekit_sip.proto\x1a\x12livekit_room.proto\"T\n\x13\x41nalyticsVideoLayer\x12\r\n\x05layer\x18\x01 \x01(\x05\x12\x0f\n\x07packets\x18\x02 \x01(\r\x12\r\n\x05\x62ytes\x18\x03 \x01(\x04\x12\x0e\n\x06\x66rames\x18\x04 \x01(\r\"\xd3\x03\n\x0f\x41nalyticsStream\x12\x0c\n\x04ssrc\x18\x01 \x01(\r\x12\x17\n\x0fprimary_packets\x18\x02 \x01(\r\x12\x15\n\rprimary_bytes\x18\x03 \x01(\x04\x12\x1a\n\x12retransmit_packets\x18\x04 \x01(\r\x12\x18\n\x10retransmit_bytes\x18\x05 \x01(\x04\x12\x17\n\x0fpadding_packets\x18\x06 \x01(\r\x12\x15\n\rpadding_bytes\x18\x07 \x01(\x04\x12\x14\n\x0cpackets_lost\x18\x08 \x01(\r\x12\x0e\n\x06\x66rames\x18\t \x01(\r\x12\x0b\n\x03rtt\x18\n \x01(\r\x12\x0e\n\x06jitter\x18\x0b \x01(\r\x12\r\n\x05nacks\x18\x0c \x01(\r\x12\x0c\n\x04plis\x18\r \x01(\r\x12\x0c\n\x04\x66irs\x18\x0e \x01(\r\x12\x32\n\x0cvideo_layers\x18\x0f \x03(\x0b\x32\x1c.livekit.AnalyticsVideoLayer\x12.\n\nstart_time\x18\x11 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x08\x65nd_time\x18\x12 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1c\n\x14packets_out_of_order\x18\x13 \x01(\r\"\xd2\x02\n\rAnalyticsStat\x12\n\n\x02id\x18\x0e \x01(\t\x12\x15\n\ranalytics_key\x18\x01 \x01(\t\x12!\n\x04kind\x18\x02 \x01(\x0e\x32\x13.livekit.StreamType\x12.\n\ntime_stamp\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0c\n\x04node\x18\x04 \x01(\t\x12\x0f\n\x07room_id\x18\x05 \x01(\t\x12\x11\n\troom_name\x18\x06 \x01(\t\x12\x16\n\x0eparticipant_id\x18\x07 \x01(\t\x12\x10\n\x08track_id\x18\x08 \x01(\t\x12\r\n\x05score\x18\t \x01(\x02\x12)\n\x07streams\x18\n \x03(\x0b\x32\x18.livekit.AnalyticsStream\x12\x0c\n\x04mime\x18\x0b \x01(\t\x12\x11\n\tmin_score\x18\x0c \x01(\x02\x12\x14\n\x0cmedian_score\x18\r \x01(\x02\"7\n\x0e\x41nalyticsStats\x12%\n\x05stats\x18\x01 \x03(\x0b\x32\x16.livekit.AnalyticsStat\"\x9a\x02\n\x13\x41nalyticsClientMeta\x12\x0e\n\x06region\x18\x01 \x01(\t\x12\x0c\n\x04node\x18\x02 \x01(\t\x12\x13\n\x0b\x63lient_addr\x18\x03 \x01(\t\x12\x1b\n\x13\x63lient_connect_time\x18\x04 \x01(\r\x12\x17\n\x0f\x63onnection_type\x18\x05 \x01(\t\x12\x32\n\x10reconnect_reason\x18\x06 \x01(\x0e\x32\x18.livekit.ReconnectReason\x12\x15\n\x08geo_hash\x18\x07 \x01(\tH\x00\x88\x01\x01\x12\x14\n\x07\x63ountry\x18\x08 \x01(\tH\x01\x88\x01\x01\x12\x14\n\x07isp_asn\x18\t \x01(\rH\x02\x88\x01\x01\x42\x0b\n\t_geo_hashB\n\n\x08_countryB\n\n\x08_isp_asn\"\x9c\t\n\x0e\x41nalyticsEvent\x12\n\n\x02id\x18\x19 \x01(\t\x12)\n\x04type\x18\x01 \x01(\x0e\x32\x1b.livekit.AnalyticsEventType\x12-\n\ttimestamp\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0f\n\x07room_id\x18\x03 \x01(\t\x12\x1b\n\x04room\x18\x04 \x01(\x0b\x32\r.livekit.Room\x12\x16\n\x0eparticipant_id\x18\x05 \x01(\t\x12-\n\x0bparticipant\x18\x06 \x01(\x0b\x32\x18.livekit.ParticipantInfo\x12\x10\n\x08track_id\x18\x07 \x01(\t\x12!\n\x05track\x18\x08 \x01(\x0b\x32\x12.livekit.TrackInfo\x12\x15\n\ranalytics_key\x18\n \x01(\t\x12(\n\x0b\x63lient_info\x18\x0b \x01(\x0b\x32\x13.livekit.ClientInfo\x12\x31\n\x0b\x63lient_meta\x18\x0c \x01(\x0b\x32\x1c.livekit.AnalyticsClientMeta\x12\x11\n\tegress_id\x18\r \x01(\t\x12\x12\n\ningress_id\x18\x13 \x01(\t\x12;\n\x1cmax_subscribed_video_quality\x18\x0e \x01(\x0e\x32\x15.livekit.VideoQuality\x12+\n\tpublisher\x18\x0f \x01(\x0b\x32\x18.livekit.ParticipantInfo\x12\x0c\n\x04mime\x18\x10 \x01(\t\x12#\n\x06\x65gress\x18\x11 \x01(\x0b\x32\x13.livekit.EgressInfo\x12%\n\x07ingress\x18\x12 \x01(\x0b\x32\x14.livekit.IngressInfo\x12\r\n\x05\x65rror\x18\x14 \x01(\t\x12$\n\trtp_stats\x18\x15 \x01(\x0b\x32\x11.livekit.RTPStats\x12\x13\n\x0bvideo_layer\x18\x16 \x01(\x05\x12\x0f\n\x07node_id\x18\x18 \x01(\t\x12\x13\n\x0bsip_call_id\x18\x1a \x01(\t\x12&\n\x08sip_call\x18\x1b \x01(\x0b\x32\x14.livekit.SIPCallInfo\x12\x14\n\x0csip_trunk_id\x18\x1c \x01(\t\x12\x37\n\x11sip_inbound_trunk\x18\x1d \x01(\x0b\x32\x1c.livekit.SIPInboundTrunkInfo\x12\x39\n\x12sip_outbound_trunk\x18\x1e \x01(\x0b\x32\x1d.livekit.SIPOutboundTrunkInfo\x12\x1c\n\x14sip_dispatch_rule_id\x18\x1f \x01(\t\x12\x37\n\x11sip_dispatch_rule\x18 \x01(\x0b\x32\x1c.livekit.SIPDispatchRuleInfo\x12.\n\x0csip_transfer\x18$ \x01(\x0b\x32\x18.livekit.SIPTransferInfo\x12#\n\x06report\x18! \x01(\x0b\x32\x13.livekit.ReportInfo\x12&\n\x08\x61pi_call\x18\" \x01(\x0b\x32\x14.livekit.APICallInfo\x12%\n\x07webhook\x18# \x01(\x0b\x32\x14.livekit.WebhookInfo\":\n\x0f\x41nalyticsEvents\x12\'\n\x06\x65vents\x18\x01 \x03(\x0b\x32\x17.livekit.AnalyticsEvent\"\xa4\x01\n\x18\x41nalyticsRoomParticipant\x12\n\n\x02id\x18\x01 \x01(\t\x12\x10\n\x08identity\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12-\n\x05state\x18\x04 \x01(\x0e\x32\x1e.livekit.ParticipantInfo.State\x12-\n\tjoined_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xa6\x01\n\rAnalyticsRoom\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x12\n\nproject_id\x18\x05 \x01(\t\x12.\n\ncreated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x37\n\x0cparticipants\x18\x04 \x03(\x0b\x32!.livekit.AnalyticsRoomParticipant\"\x94\x01\n\x12\x41nalyticsNodeRooms\x12\x0f\n\x07node_id\x18\x01 \x01(\t\x12\x17\n\x0fsequence_number\x18\x02 \x01(\x04\x12-\n\ttimestamp\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12%\n\x05rooms\x18\x04 \x03(\x0b\x32\x16.livekit.AnalyticsRoom\"K\n\nReportInfo\x12\x32\n\rfeature_usage\x18\x01 \x01(\x0b\x32\x19.livekit.FeatureUsageInfoH\x00\x42\t\n\x07message\"i\n\tTimeRange\x12.\n\nstarted_at\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x08\x65nded_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xd2\x03\n\x10\x46\x65\x61tureUsageInfo\x12\x32\n\x07\x66\x65\x61ture\x18\x01 \x01(\x0e\x32!.livekit.FeatureUsageInfo.Feature\x12\x12\n\nproject_id\x18\x02 \x01(\t\x12\x11\n\troom_name\x18\x03 \x01(\t\x12\x0f\n\x07room_id\x18\x04 \x01(\t\x12\x1c\n\x14participant_identity\x18\x05 \x01(\t\x12\x16\n\x0eparticipant_id\x18\x06 \x01(\t\x12\x10\n\x08track_id\x18\x07 \x01(\t\x12\'\n\x0btime_ranges\x18\x08 \x03(\x0b\x32\x12.livekit.TimeRange\x12@\n\x0c\x66\x65\x61ture_info\x18\t \x03(\x0b\x32*.livekit.FeatureUsageInfo.FeatureInfoEntry\x1a\x32\n\x10\x46\x65\x61tureInfoEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"k\n\x07\x46\x65\x61ture\x12\x1c\n\x18KRISP_NOISE_CANCELLATION\x10\x00\x12\'\n#KRISP_BACKGROUND_VOICE_CANCELLATION\x10\x01\x12\x19\n\x15\x41IC_AUDIO_ENHANCEMENT\x10\x02\"\xb3\x05\n\x0e\x41PICallRequest\x12\x39\n\x13\x63reate_room_request\x18\x01 \x01(\x0b\x32\x1a.livekit.CreateRoomRequestH\x00\x12\x37\n\x12list_rooms_request\x18\x02 \x01(\x0b\x32\x19.livekit.ListRoomsRequestH\x00\x12\x39\n\x13\x64\x65lete_room_request\x18\x03 \x01(\x0b\x32\x1a.livekit.DeleteRoomRequestH\x00\x12\x45\n\x19list_participants_request\x18\x04 \x01(\x0b\x32 .livekit.ListParticipantsRequestH\x00\x12\x45\n\x19room_participant_identity\x18\x05 \x01(\x0b\x32 .livekit.RoomParticipantIdentityH\x00\x12@\n\x17mute_room_track_request\x18\x06 \x01(\x0b\x32\x1d.livekit.MuteRoomTrackRequestH\x00\x12G\n\x1aupdate_participant_request\x18\x07 \x01(\x0b\x32!.livekit.UpdateParticipantRequestH\x00\x12K\n\x1cupdate_subscriptions_request\x18\x08 \x01(\x0b\x32#.livekit.UpdateSubscriptionsRequestH\x00\x12\x35\n\x11send_data_request\x18\t \x01(\x0b\x32\x18.livekit.SendDataRequestH\x00\x12J\n\x1cupdate_room_metadata_request\x18\n \x01(\x0b\x32\".livekit.UpdateRoomMetadataRequestH\x00\x42\t\n\x07message\"\xf5\x02\n\x0b\x41PICallInfo\x12\x12\n\nproject_id\x18\x01 \x01(\t\x12(\n\x07request\x18\x02 \x01(\x0b\x32\x17.livekit.APICallRequest\x12\x0f\n\x07service\x18\x03 \x01(\t\x12\x0e\n\x06method\x18\x04 \x01(\t\x12\x0f\n\x07node_id\x18\x05 \x01(\t\x12\x0e\n\x06status\x18\x06 \x01(\x05\x12\x18\n\x10twirp_error_code\x18\x07 \x01(\t\x12\x1b\n\x13twirp_error_message\x18\x08 \x01(\t\x12\x11\n\troom_name\x18\t \x01(\t\x12\x0f\n\x07room_id\x18\n \x01(\t\x12\x1c\n\x14participant_identity\x18\x0b \x01(\t\x12\x16\n\x0eparticipant_id\x18\x0c \x01(\t\x12\x10\n\x08track_id\x18\r \x01(\t\x12.\n\nstarted_at\x18\x0e \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x13\n\x0b\x64uration_ns\x18\x0f \x01(\x03\"\xab\x04\n\x0bWebhookInfo\x12\x10\n\x08\x65vent_id\x18\x01 \x01(\t\x12\r\n\x05\x65vent\x18\x02 \x01(\t\x12\x12\n\nproject_id\x18\x03 \x01(\t\x12\x11\n\troom_name\x18\x04 \x01(\t\x12\x0f\n\x07room_id\x18\x05 \x01(\t\x12\x1c\n\x14participant_identity\x18\x06 \x01(\t\x12\x16\n\x0eparticipant_id\x18\x07 \x01(\t\x12\x10\n\x08track_id\x18\x08 \x01(\t\x12\x11\n\tegress_id\x18\t \x01(\t\x12\x12\n\ningress_id\x18\n \x01(\t\x12.\n\ncreated_at\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12-\n\tqueued_at\x18\x0c \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x19\n\x11queue_duration_ns\x18\r \x01(\x03\x12+\n\x07sent_at\x18\x0e \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x18\n\x10send_duration_ns\x18\x0f \x01(\x03\x12\x0b\n\x03url\x18\x10 \x01(\t\x12\x13\n\x0bnum_dropped\x18\x11 \x01(\x05\x12\x12\n\nis_dropped\x18\x12 \x01(\x08\x12\x16\n\x0eservice_status\x18\x13 \x01(\t\x12\x1a\n\x12service_error_code\x18\x14 \x01(\x05\x12\x15\n\rservice_error\x18\x15 \x01(\t\x12\x12\n\nsend_error\x18\x16 \x01(\t**\n\nStreamType\x12\x0c\n\x08UPSTREAM\x10\x00\x12\x0e\n\nDOWNSTREAM\x10\x01*\xc6\x08\n\x12\x41nalyticsEventType\x12\x10\n\x0cROOM_CREATED\x10\x00\x12\x0e\n\nROOM_ENDED\x10\x01\x12\x16\n\x12PARTICIPANT_JOINED\x10\x02\x12\x14\n\x10PARTICIPANT_LEFT\x10\x03\x12\"\n\x1ePARTICIPANT_CONNECTION_ABORTED\x10-\x12\x13\n\x0fTRACK_PUBLISHED\x10\x04\x12\x1b\n\x17TRACK_PUBLISH_REQUESTED\x10\x14\x12\x15\n\x11TRACK_UNPUBLISHED\x10\x05\x12\x14\n\x10TRACK_SUBSCRIBED\x10\x06\x12\x1d\n\x19TRACK_SUBSCRIBE_REQUESTED\x10\x15\x12\x1a\n\x16TRACK_SUBSCRIBE_FAILED\x10\x19\x12\x16\n\x12TRACK_UNSUBSCRIBED\x10\x07\x12\x1a\n\x16TRACK_PUBLISHED_UPDATE\x10\n\x12\x0f\n\x0bTRACK_MUTED\x10\x17\x12\x11\n\rTRACK_UNMUTED\x10\x18\x12\x17\n\x13TRACK_PUBLISH_STATS\x10\x1a\x12\x19\n\x15TRACK_SUBSCRIBE_STATS\x10\x1b\x12\x16\n\x12PARTICIPANT_ACTIVE\x10\x0b\x12\x17\n\x13PARTICIPANT_RESUMED\x10\x16\x12\x12\n\x0e\x45GRESS_STARTED\x10\x0c\x12\x10\n\x0c\x45GRESS_ENDED\x10\r\x12\x12\n\x0e\x45GRESS_UPDATED\x10\x1c\x12&\n\"TRACK_MAX_SUBSCRIBED_VIDEO_QUALITY\x10\x0e\x12\x0f\n\x0bRECONNECTED\x10\x0f\x12\x13\n\x0fINGRESS_CREATED\x10\x12\x12\x13\n\x0fINGRESS_DELETED\x10\x13\x12\x13\n\x0fINGRESS_STARTED\x10\x10\x12\x11\n\rINGRESS_ENDED\x10\x11\x12\x13\n\x0fINGRESS_UPDATED\x10\x1d\x12\x1d\n\x19SIP_INBOUND_TRUNK_CREATED\x10\x1e\x12\x1d\n\x19SIP_INBOUND_TRUNK_DELETED\x10\x1f\x12\x1e\n\x1aSIP_OUTBOUND_TRUNK_CREATED\x10 \x12\x1e\n\x1aSIP_OUTBOUND_TRUNK_DELETED\x10!\x12\x1d\n\x19SIP_DISPATCH_RULE_CREATED\x10\"\x12\x1d\n\x19SIP_DISPATCH_RULE_DELETED\x10#\x12\x1b\n\x17SIP_PARTICIPANT_CREATED\x10$\x12\x15\n\x11SIP_CALL_INCOMING\x10%\x12\x14\n\x10SIP_CALL_STARTED\x10&\x12\x12\n\x0eSIP_CALL_ENDED\x10\'\x12\x1a\n\x16SIP_TRANSFER_REQUESTED\x10+\x12\x19\n\x15SIP_TRANSFER_COMPLETE\x10,\x12\x13\n\x0fSIP_CALL_UPDATE\x10.\x12\n\n\x06REPORT\x10(\x12\x0c\n\x08\x41PI_CALL\x10)\x12\x0b\n\x07WEBHOOK\x10*BFZ#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -28,10 +28,12 @@ if _descriptor._USE_C_DESCRIPTORS == False: _globals['DESCRIPTOR']._options = None _globals['DESCRIPTOR']._serialized_options = b'Z#github.com/livekit/protocol/livekit\252\002\rLiveKit.Proto\352\002\016LiveKit::Proto' - _globals['_STREAMTYPE']._serialized_start=5280 - _globals['_STREAMTYPE']._serialized_end=5322 - _globals['_ANALYTICSEVENTTYPE']._serialized_start=5325 - _globals['_ANALYTICSEVENTTYPE']._serialized_end=6419 + _globals['_FEATUREUSAGEINFO_FEATUREINFOENTRY']._options = None + _globals['_FEATUREUSAGEINFO_FEATUREINFOENTRY']._serialized_options = b'8\001' + _globals['_STREAMTYPE']._serialized_start=5425 + _globals['_STREAMTYPE']._serialized_end=5467 + _globals['_ANALYTICSEVENTTYPE']._serialized_start=5470 + _globals['_ANALYTICSEVENTTYPE']._serialized_end=6564 _globals['_ANALYTICSVIDEOLAYER']._serialized_start=175 _globals['_ANALYTICSVIDEOLAYER']._serialized_end=259 _globals['_ANALYTICSSTREAM']._serialized_start=262 @@ -57,13 +59,15 @@ _globals['_TIMERANGE']._serialized_start=3221 _globals['_TIMERANGE']._serialized_end=3326 _globals['_FEATUREUSAGEINFO']._serialized_start=3329 - _globals['_FEATUREUSAGEINFO']._serialized_end=3650 - _globals['_FEATUREUSAGEINFO_FEATURE']._serialized_start=3570 - _globals['_FEATUREUSAGEINFO_FEATURE']._serialized_end=3650 - _globals['_APICALLREQUEST']._serialized_start=3653 - _globals['_APICALLREQUEST']._serialized_end=4344 - _globals['_APICALLINFO']._serialized_start=4347 - _globals['_APICALLINFO']._serialized_end=4720 - _globals['_WEBHOOKINFO']._serialized_start=4723 - _globals['_WEBHOOKINFO']._serialized_end=5278 + _globals['_FEATUREUSAGEINFO']._serialized_end=3795 + _globals['_FEATUREUSAGEINFO_FEATUREINFOENTRY']._serialized_start=3636 + _globals['_FEATUREUSAGEINFO_FEATUREINFOENTRY']._serialized_end=3686 + _globals['_FEATUREUSAGEINFO_FEATURE']._serialized_start=3688 + _globals['_FEATUREUSAGEINFO_FEATURE']._serialized_end=3795 + _globals['_APICALLREQUEST']._serialized_start=3798 + _globals['_APICALLREQUEST']._serialized_end=4489 + _globals['_APICALLINFO']._serialized_start=4492 + _globals['_APICALLINFO']._serialized_end=4865 + _globals['_WEBHOOKINFO']._serialized_start=4868 + _globals['_WEBHOOKINFO']._serialized_end=5423 # @@protoc_insertion_point(module_scope) diff --git a/livekit-protocol/livekit/protocol/analytics.pyi b/livekit-protocol/livekit/protocol/analytics.pyi index 3ed8fdf9..26486239 100644 --- a/livekit-protocol/livekit/protocol/analytics.pyi +++ b/livekit-protocol/livekit/protocol/analytics.pyi @@ -357,13 +357,22 @@ class TimeRange(_message.Message): def __init__(self, started_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., ended_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... class FeatureUsageInfo(_message.Message): - __slots__ = ("feature", "project_id", "room_name", "room_id", "participant_identity", "participant_id", "track_id", "time_ranges") + __slots__ = ("feature", "project_id", "room_name", "room_id", "participant_identity", "participant_id", "track_id", "time_ranges", "feature_info") class Feature(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () KRISP_NOISE_CANCELLATION: _ClassVar[FeatureUsageInfo.Feature] KRISP_BACKGROUND_VOICE_CANCELLATION: _ClassVar[FeatureUsageInfo.Feature] + AIC_AUDIO_ENHANCEMENT: _ClassVar[FeatureUsageInfo.Feature] KRISP_NOISE_CANCELLATION: FeatureUsageInfo.Feature KRISP_BACKGROUND_VOICE_CANCELLATION: FeatureUsageInfo.Feature + AIC_AUDIO_ENHANCEMENT: FeatureUsageInfo.Feature + class FeatureInfoEntry(_message.Message): + __slots__ = ("key", "value") + KEY_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + key: str + value: str + def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ... FEATURE_FIELD_NUMBER: _ClassVar[int] PROJECT_ID_FIELD_NUMBER: _ClassVar[int] ROOM_NAME_FIELD_NUMBER: _ClassVar[int] @@ -372,6 +381,7 @@ class FeatureUsageInfo(_message.Message): PARTICIPANT_ID_FIELD_NUMBER: _ClassVar[int] TRACK_ID_FIELD_NUMBER: _ClassVar[int] TIME_RANGES_FIELD_NUMBER: _ClassVar[int] + FEATURE_INFO_FIELD_NUMBER: _ClassVar[int] feature: FeatureUsageInfo.Feature project_id: str room_name: str @@ -380,7 +390,8 @@ class FeatureUsageInfo(_message.Message): participant_id: str track_id: str time_ranges: _containers.RepeatedCompositeFieldContainer[TimeRange] - def __init__(self, feature: _Optional[_Union[FeatureUsageInfo.Feature, str]] = ..., project_id: _Optional[str] = ..., room_name: _Optional[str] = ..., room_id: _Optional[str] = ..., participant_identity: _Optional[str] = ..., participant_id: _Optional[str] = ..., track_id: _Optional[str] = ..., time_ranges: _Optional[_Iterable[_Union[TimeRange, _Mapping]]] = ...) -> None: ... + feature_info: _containers.ScalarMap[str, str] + def __init__(self, feature: _Optional[_Union[FeatureUsageInfo.Feature, str]] = ..., project_id: _Optional[str] = ..., room_name: _Optional[str] = ..., room_id: _Optional[str] = ..., participant_identity: _Optional[str] = ..., participant_id: _Optional[str] = ..., track_id: _Optional[str] = ..., time_ranges: _Optional[_Iterable[_Union[TimeRange, _Mapping]]] = ..., feature_info: _Optional[_Mapping[str, str]] = ...) -> None: ... class APICallRequest(_message.Message): __slots__ = ("create_room_request", "list_rooms_request", "delete_room_request", "list_participants_request", "room_participant_identity", "mute_room_track_request", "update_participant_request", "update_subscriptions_request", "send_data_request", "update_room_metadata_request") diff --git a/livekit-protocol/livekit/protocol/connector_twilio.py b/livekit-protocol/livekit/protocol/connector_twilio.py index 69d16262..e194fbff 100644 --- a/livekit-protocol/livekit/protocol/connector_twilio.py +++ b/livekit-protocol/livekit/protocol/connector_twilio.py @@ -16,7 +16,7 @@ from .logger_pb import options as logger_dot_options__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1elivekit_connector_twilio.proto\x12\x07livekit\x1a\x1clivekit_agent_dispatch.proto\x1a\x14logger/options.proto\"\x95\x05\n\x18\x43onnectTwilioCallRequest\x12T\n\x15twilio_call_direction\x18\x01 \x01(\x0e\x32\x35.livekit.ConnectTwilioCallRequest.TwilioCallDirection\x12\x11\n\troom_name\x18\x02 \x01(\t\x12*\n\x06\x61gents\x18\x03 \x03(\x0b\x32\x1a.livekit.RoomAgentDispatch\x12\x1c\n\x14participant_identity\x18\x04 \x01(\t\x12@\n\x10participant_name\x18\x05 \x01(\tB&\x88\xb5\x18\x01\x92\xb5\x18\x1e\x12\x44\n\x14participant_metadata\x18\x06 \x01(\tB&\x88\xb5\x18\x01\x92\xb5\x18\x1e\x12\x84\x01\n\x16participant_attributes\x18\x07 \x03(\x0b\x32<.livekit.ConnectTwilioCallRequest.ParticipantAttributesEntryB&\x88\xb5\x18\x01\x92\xb5\x18\x1e\x12\x1b\n\x13\x64\x65stination_country\x18\x08 \x01(\t\x1a<\n\x1aParticipantAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\\\n\x13TwilioCallDirection\x12!\n\x1dTWILIO_CALL_DIRECTION_INBOUND\x10\x00\x12\"\n\x1eTWILIO_CALL_DIRECTION_OUTBOUND\x10\x01\"0\n\x19\x43onnectTwilioCallResponse\x12\x13\n\x0b\x63onnect_url\x18\x01 \x01(\tBFZ#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1elivekit_connector_twilio.proto\x12\x07livekit\x1a\x1clivekit_agent_dispatch.proto\x1a\x14logger/options.proto\"\x95\x05\n\x18\x43onnectTwilioCallRequest\x12T\n\x15twilio_call_direction\x18\x01 \x01(\x0e\x32\x35.livekit.ConnectTwilioCallRequest.TwilioCallDirection\x12\x11\n\troom_name\x18\x02 \x01(\t\x12*\n\x06\x61gents\x18\x03 \x03(\x0b\x32\x1a.livekit.RoomAgentDispatch\x12\x1c\n\x14participant_identity\x18\x04 \x01(\t\x12@\n\x10participant_name\x18\x05 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e\x12\x44\n\x14participant_metadata\x18\x06 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e\x12\x84\x01\n\x16participant_attributes\x18\x07 \x03(\x0b\x32<.livekit.ConnectTwilioCallRequest.ParticipantAttributesEntryB&\x88\xec,\x01\x92\xec,\x1e\x12\x1b\n\x13\x64\x65stination_country\x18\x08 \x01(\t\x1a<\n\x1aParticipantAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\\\n\x13TwilioCallDirection\x12!\n\x1dTWILIO_CALL_DIRECTION_INBOUND\x10\x00\x12\"\n\x1eTWILIO_CALL_DIRECTION_OUTBOUND\x10\x01\"0\n\x19\x43onnectTwilioCallResponse\x12\x13\n\x0b\x63onnect_url\x18\x01 \x01(\tBFZ#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -27,11 +27,11 @@ _globals['_CONNECTTWILIOCALLREQUEST_PARTICIPANTATTRIBUTESENTRY']._options = None _globals['_CONNECTTWILIOCALLREQUEST_PARTICIPANTATTRIBUTESENTRY']._serialized_options = b'8\001' _globals['_CONNECTTWILIOCALLREQUEST'].fields_by_name['participant_name']._options = None - _globals['_CONNECTTWILIOCALLREQUEST'].fields_by_name['participant_name']._serialized_options = b'\210\265\030\001\222\265\030\036' + _globals['_CONNECTTWILIOCALLREQUEST'].fields_by_name['participant_name']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_CONNECTTWILIOCALLREQUEST'].fields_by_name['participant_metadata']._options = None - _globals['_CONNECTTWILIOCALLREQUEST'].fields_by_name['participant_metadata']._serialized_options = b'\210\265\030\001\222\265\030\036' + _globals['_CONNECTTWILIOCALLREQUEST'].fields_by_name['participant_metadata']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_CONNECTTWILIOCALLREQUEST'].fields_by_name['participant_attributes']._options = None - _globals['_CONNECTTWILIOCALLREQUEST'].fields_by_name['participant_attributes']._serialized_options = b'\210\265\030\001\222\265\030\036' + _globals['_CONNECTTWILIOCALLREQUEST'].fields_by_name['participant_attributes']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_CONNECTTWILIOCALLREQUEST']._serialized_start=96 _globals['_CONNECTTWILIOCALLREQUEST']._serialized_end=757 _globals['_CONNECTTWILIOCALLREQUEST_PARTICIPANTATTRIBUTESENTRY']._serialized_start=603 diff --git a/livekit-protocol/livekit/protocol/connector_whatsapp.py b/livekit-protocol/livekit/protocol/connector_whatsapp.py index 6489b2de..feffefef 100644 --- a/livekit-protocol/livekit/protocol/connector_whatsapp.py +++ b/livekit-protocol/livekit/protocol/connector_whatsapp.py @@ -17,7 +17,7 @@ from .logger_pb import options as logger_dot_options__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n livekit_connector_whatsapp.proto\x12\x07livekit\x1a\x1clivekit_agent_dispatch.proto\x1a\x11livekit_rtc.proto\x1a\x14logger/options.proto\"\x92\x05\n\x17\x44ialWhatsAppCallRequest\x12 \n\x18whatsapp_phone_number_id\x18\x01 \x01(\t\x12 \n\x18whatsapp_to_phone_number\x18\x02 \x01(\t\x12\x1e\n\x10whatsapp_api_key\x18\x03 \x01(\tB\x04\x88\xb5\x18\x01\x12\"\n\x1awhatsapp_cloud_api_version\x18\x0c \x01(\t\x12)\n!whatsapp_biz_opaque_callback_data\x18\x04 \x01(\t\x12\x11\n\troom_name\x18\x05 \x01(\t\x12*\n\x06\x61gents\x18\x06 \x03(\x0b\x32\x1a.livekit.RoomAgentDispatch\x12\x1c\n\x14participant_identity\x18\x07 \x01(\t\x12@\n\x10participant_name\x18\x08 \x01(\tB&\x88\xb5\x18\x01\x92\xb5\x18\x1e\x12\x44\n\x14participant_metadata\x18\t \x01(\tB&\x88\xb5\x18\x01\x92\xb5\x18\x1e\x12\x83\x01\n\x16participant_attributes\x18\n \x03(\x0b\x32;.livekit.DialWhatsAppCallRequest.ParticipantAttributesEntryB&\x88\xb5\x18\x01\x92\xb5\x18\x1e\x12\x1b\n\x13\x64\x65stination_country\x18\x0b \x01(\t\x1a<\n\x1aParticipantAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"G\n\x18\x44ialWhatsAppCallResponse\x12\x18\n\x10whatsapp_call_id\x18\x01 \x01(\t\x12\x11\n\troom_name\x18\x02 \x01(\t\"Y\n\x1d\x44isconnectWhatsAppCallRequest\x12\x18\n\x10whatsapp_call_id\x18\x01 \x01(\t\x12\x1e\n\x10whatsapp_api_key\x18\x02 \x01(\tB\x04\x88\xb5\x18\x01\" \n\x1e\x44isconnectWhatsAppCallResponse\"`\n\x1a\x43onnectWhatsAppCallRequest\x12\x18\n\x10whatsapp_call_id\x18\x01 \x01(\t\x12(\n\x03sdp\x18\x02 \x01(\x0b\x32\x1b.livekit.SessionDescription\"\x1d\n\x1b\x43onnectWhatsAppCallResponse\"\xb8\x05\n\x19\x41\x63\x63\x65ptWhatsAppCallRequest\x12 \n\x18whatsapp_phone_number_id\x18\x01 \x01(\t\x12\x1e\n\x10whatsapp_api_key\x18\x02 \x01(\tB\x04\x88\xb5\x18\x01\x12\"\n\x1awhatsapp_cloud_api_version\x18\r \x01(\t\x12\x18\n\x10whatsapp_call_id\x18\x03 \x01(\t\x12)\n!whatsapp_biz_opaque_callback_data\x18\x04 \x01(\t\x12(\n\x03sdp\x18\x05 \x01(\x0b\x32\x1b.livekit.SessionDescription\x12\x11\n\troom_name\x18\x06 \x01(\t\x12*\n\x06\x61gents\x18\x07 \x03(\x0b\x32\x1a.livekit.RoomAgentDispatch\x12\x1c\n\x14participant_identity\x18\x08 \x01(\t\x12@\n\x10participant_name\x18\t \x01(\tB&\x88\xb5\x18\x01\x92\xb5\x18\x1e\x12\x44\n\x14participant_metadata\x18\n \x01(\tB&\x88\xb5\x18\x01\x92\xb5\x18\x1e\x12\x85\x01\n\x16participant_attributes\x18\x0b \x03(\x0b\x32=.livekit.AcceptWhatsAppCallRequest.ParticipantAttributesEntryB&\x88\xb5\x18\x01\x92\xb5\x18\x1e\x12\x1b\n\x13\x64\x65stination_country\x18\x0c \x01(\t\x1a<\n\x1aParticipantAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"/\n\x1a\x41\x63\x63\x65ptWhatsAppCallResponse\x12\x11\n\troom_name\x18\x01 \x01(\t\"[\n\x0cWhatsAppCall\x12\x18\n\x10whatsapp_call_id\x18\x01 \x01(\t\x12\x31\n\tdirection\x18\x02 \x01(\x0e\x32\x1e.livekit.WhatsAppCallDirection*b\n\x15WhatsAppCallDirection\x12#\n\x1fWHATSAPP_CALL_DIRECTION_INBOUND\x10\x00\x12$\n WHATSAPP_CALL_DIRECTION_OUTBOUND\x10\x02\x42\x46Z#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n livekit_connector_whatsapp.proto\x12\x07livekit\x1a\x1clivekit_agent_dispatch.proto\x1a\x11livekit_rtc.proto\x1a\x14logger/options.proto\"\x98\x05\n\x17\x44ialWhatsAppCallRequest\x12 \n\x18whatsapp_phone_number_id\x18\x01 \x01(\t\x12&\n\x18whatsapp_to_phone_number\x18\x02 \x01(\tB\x04\x88\xec,\x01\x12\x1e\n\x10whatsapp_api_key\x18\x03 \x01(\tB\x04\x88\xec,\x01\x12\"\n\x1awhatsapp_cloud_api_version\x18\x0c \x01(\t\x12)\n!whatsapp_biz_opaque_callback_data\x18\x04 \x01(\t\x12\x11\n\troom_name\x18\x05 \x01(\t\x12*\n\x06\x61gents\x18\x06 \x03(\x0b\x32\x1a.livekit.RoomAgentDispatch\x12\x1c\n\x14participant_identity\x18\x07 \x01(\t\x12@\n\x10participant_name\x18\x08 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e\x12\x44\n\x14participant_metadata\x18\t \x01(\tB&\x88\xec,\x01\x92\xec,\x1e\x12\x83\x01\n\x16participant_attributes\x18\n \x03(\x0b\x32;.livekit.DialWhatsAppCallRequest.ParticipantAttributesEntryB&\x88\xec,\x01\x92\xec,\x1e\x12\x1b\n\x13\x64\x65stination_country\x18\x0b \x01(\t\x1a<\n\x1aParticipantAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"G\n\x18\x44ialWhatsAppCallResponse\x12\x18\n\x10whatsapp_call_id\x18\x01 \x01(\t\x12\x11\n\troom_name\x18\x02 \x01(\t\"\xed\x01\n\x1d\x44isconnectWhatsAppCallRequest\x12\x18\n\x10whatsapp_call_id\x18\x01 \x01(\t\x12\x1e\n\x10whatsapp_api_key\x18\x02 \x01(\tB\x04\x88\xec,\x01\x12R\n\x11\x64isconnect_reason\x18\x03 \x01(\x0e\x32\x37.livekit.DisconnectWhatsAppCallRequest.DisconnectReason\">\n\x10\x44isconnectReason\x12\x16\n\x12\x42USINESS_INITIATED\x10\x00\x12\x12\n\x0eUSER_INITIATED\x10\x01\" \n\x1e\x44isconnectWhatsAppCallResponse\"`\n\x1a\x43onnectWhatsAppCallRequest\x12\x18\n\x10whatsapp_call_id\x18\x01 \x01(\t\x12(\n\x03sdp\x18\x02 \x01(\x0b\x32\x1b.livekit.SessionDescription\"\x1d\n\x1b\x43onnectWhatsAppCallResponse\"\xb8\x05\n\x19\x41\x63\x63\x65ptWhatsAppCallRequest\x12 \n\x18whatsapp_phone_number_id\x18\x01 \x01(\t\x12\x1e\n\x10whatsapp_api_key\x18\x02 \x01(\tB\x04\x88\xec,\x01\x12\"\n\x1awhatsapp_cloud_api_version\x18\r \x01(\t\x12\x18\n\x10whatsapp_call_id\x18\x03 \x01(\t\x12)\n!whatsapp_biz_opaque_callback_data\x18\x04 \x01(\t\x12(\n\x03sdp\x18\x05 \x01(\x0b\x32\x1b.livekit.SessionDescription\x12\x11\n\troom_name\x18\x06 \x01(\t\x12*\n\x06\x61gents\x18\x07 \x03(\x0b\x32\x1a.livekit.RoomAgentDispatch\x12\x1c\n\x14participant_identity\x18\x08 \x01(\t\x12@\n\x10participant_name\x18\t \x01(\tB&\x88\xec,\x01\x92\xec,\x1e\x12\x44\n\x14participant_metadata\x18\n \x01(\tB&\x88\xec,\x01\x92\xec,\x1e\x12\x85\x01\n\x16participant_attributes\x18\x0b \x03(\x0b\x32=.livekit.AcceptWhatsAppCallRequest.ParticipantAttributesEntryB&\x88\xec,\x01\x92\xec,\x1e\x12\x1b\n\x13\x64\x65stination_country\x18\x0c \x01(\t\x1a<\n\x1aParticipantAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"/\n\x1a\x41\x63\x63\x65ptWhatsAppCallResponse\x12\x11\n\troom_name\x18\x01 \x01(\t\"[\n\x0cWhatsAppCall\x12\x18\n\x10whatsapp_call_id\x18\x01 \x01(\t\x12\x31\n\tdirection\x18\x02 \x01(\x0e\x32\x1e.livekit.WhatsAppCallDirection*b\n\x15WhatsAppCallDirection\x12#\n\x1fWHATSAPP_CALL_DIRECTION_INBOUND\x10\x00\x12$\n WHATSAPP_CALL_DIRECTION_OUTBOUND\x10\x02\x42\x46Z#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -27,48 +27,52 @@ _globals['DESCRIPTOR']._serialized_options = b'Z#github.com/livekit/protocol/livekit\252\002\rLiveKit.Proto\352\002\016LiveKit::Proto' _globals['_DIALWHATSAPPCALLREQUEST_PARTICIPANTATTRIBUTESENTRY']._options = None _globals['_DIALWHATSAPPCALLREQUEST_PARTICIPANTATTRIBUTESENTRY']._serialized_options = b'8\001' + _globals['_DIALWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_to_phone_number']._options = None + _globals['_DIALWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_to_phone_number']._serialized_options = b'\210\354,\001' _globals['_DIALWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_api_key']._options = None - _globals['_DIALWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_api_key']._serialized_options = b'\210\265\030\001' + _globals['_DIALWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_api_key']._serialized_options = b'\210\354,\001' _globals['_DIALWHATSAPPCALLREQUEST'].fields_by_name['participant_name']._options = None - _globals['_DIALWHATSAPPCALLREQUEST'].fields_by_name['participant_name']._serialized_options = b'\210\265\030\001\222\265\030\036' + _globals['_DIALWHATSAPPCALLREQUEST'].fields_by_name['participant_name']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_DIALWHATSAPPCALLREQUEST'].fields_by_name['participant_metadata']._options = None - _globals['_DIALWHATSAPPCALLREQUEST'].fields_by_name['participant_metadata']._serialized_options = b'\210\265\030\001\222\265\030\036' + _globals['_DIALWHATSAPPCALLREQUEST'].fields_by_name['participant_metadata']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_DIALWHATSAPPCALLREQUEST'].fields_by_name['participant_attributes']._options = None - _globals['_DIALWHATSAPPCALLREQUEST'].fields_by_name['participant_attributes']._serialized_options = b'\210\265\030\001\222\265\030\036' + _globals['_DIALWHATSAPPCALLREQUEST'].fields_by_name['participant_attributes']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_DISCONNECTWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_api_key']._options = None - _globals['_DISCONNECTWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_api_key']._serialized_options = b'\210\265\030\001' + _globals['_DISCONNECTWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_api_key']._serialized_options = b'\210\354,\001' _globals['_ACCEPTWHATSAPPCALLREQUEST_PARTICIPANTATTRIBUTESENTRY']._options = None _globals['_ACCEPTWHATSAPPCALLREQUEST_PARTICIPANTATTRIBUTESENTRY']._serialized_options = b'8\001' _globals['_ACCEPTWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_api_key']._options = None - _globals['_ACCEPTWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_api_key']._serialized_options = b'\210\265\030\001' + _globals['_ACCEPTWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_api_key']._serialized_options = b'\210\354,\001' _globals['_ACCEPTWHATSAPPCALLREQUEST'].fields_by_name['participant_name']._options = None - _globals['_ACCEPTWHATSAPPCALLREQUEST'].fields_by_name['participant_name']._serialized_options = b'\210\265\030\001\222\265\030\036' + _globals['_ACCEPTWHATSAPPCALLREQUEST'].fields_by_name['participant_name']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_ACCEPTWHATSAPPCALLREQUEST'].fields_by_name['participant_metadata']._options = None - _globals['_ACCEPTWHATSAPPCALLREQUEST'].fields_by_name['participant_metadata']._serialized_options = b'\210\265\030\001\222\265\030\036' + _globals['_ACCEPTWHATSAPPCALLREQUEST'].fields_by_name['participant_metadata']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_ACCEPTWHATSAPPCALLREQUEST'].fields_by_name['participant_attributes']._options = None - _globals['_ACCEPTWHATSAPPCALLREQUEST'].fields_by_name['participant_attributes']._serialized_options = b'\210\265\030\001\222\265\030\036' - _globals['_WHATSAPPCALLDIRECTION']._serialized_start=1945 - _globals['_WHATSAPPCALLDIRECTION']._serialized_end=2043 + _globals['_ACCEPTWHATSAPPCALLREQUEST'].fields_by_name['participant_attributes']._serialized_options = b'\210\354,\001\222\354,\036' + _globals['_WHATSAPPCALLDIRECTION']._serialized_start=2100 + _globals['_WHATSAPPCALLDIRECTION']._serialized_end=2198 _globals['_DIALWHATSAPPCALLREQUEST']._serialized_start=117 - _globals['_DIALWHATSAPPCALLREQUEST']._serialized_end=775 - _globals['_DIALWHATSAPPCALLREQUEST_PARTICIPANTATTRIBUTESENTRY']._serialized_start=715 - _globals['_DIALWHATSAPPCALLREQUEST_PARTICIPANTATTRIBUTESENTRY']._serialized_end=775 - _globals['_DIALWHATSAPPCALLRESPONSE']._serialized_start=777 - _globals['_DIALWHATSAPPCALLRESPONSE']._serialized_end=848 - _globals['_DISCONNECTWHATSAPPCALLREQUEST']._serialized_start=850 - _globals['_DISCONNECTWHATSAPPCALLREQUEST']._serialized_end=939 - _globals['_DISCONNECTWHATSAPPCALLRESPONSE']._serialized_start=941 - _globals['_DISCONNECTWHATSAPPCALLRESPONSE']._serialized_end=973 - _globals['_CONNECTWHATSAPPCALLREQUEST']._serialized_start=975 - _globals['_CONNECTWHATSAPPCALLREQUEST']._serialized_end=1071 - _globals['_CONNECTWHATSAPPCALLRESPONSE']._serialized_start=1073 - _globals['_CONNECTWHATSAPPCALLRESPONSE']._serialized_end=1102 - _globals['_ACCEPTWHATSAPPCALLREQUEST']._serialized_start=1105 - _globals['_ACCEPTWHATSAPPCALLREQUEST']._serialized_end=1801 - _globals['_ACCEPTWHATSAPPCALLREQUEST_PARTICIPANTATTRIBUTESENTRY']._serialized_start=715 - _globals['_ACCEPTWHATSAPPCALLREQUEST_PARTICIPANTATTRIBUTESENTRY']._serialized_end=775 - _globals['_ACCEPTWHATSAPPCALLRESPONSE']._serialized_start=1803 - _globals['_ACCEPTWHATSAPPCALLRESPONSE']._serialized_end=1850 - _globals['_WHATSAPPCALL']._serialized_start=1852 - _globals['_WHATSAPPCALL']._serialized_end=1943 + _globals['_DIALWHATSAPPCALLREQUEST']._serialized_end=781 + _globals['_DIALWHATSAPPCALLREQUEST_PARTICIPANTATTRIBUTESENTRY']._serialized_start=721 + _globals['_DIALWHATSAPPCALLREQUEST_PARTICIPANTATTRIBUTESENTRY']._serialized_end=781 + _globals['_DIALWHATSAPPCALLRESPONSE']._serialized_start=783 + _globals['_DIALWHATSAPPCALLRESPONSE']._serialized_end=854 + _globals['_DISCONNECTWHATSAPPCALLREQUEST']._serialized_start=857 + _globals['_DISCONNECTWHATSAPPCALLREQUEST']._serialized_end=1094 + _globals['_DISCONNECTWHATSAPPCALLREQUEST_DISCONNECTREASON']._serialized_start=1032 + _globals['_DISCONNECTWHATSAPPCALLREQUEST_DISCONNECTREASON']._serialized_end=1094 + _globals['_DISCONNECTWHATSAPPCALLRESPONSE']._serialized_start=1096 + _globals['_DISCONNECTWHATSAPPCALLRESPONSE']._serialized_end=1128 + _globals['_CONNECTWHATSAPPCALLREQUEST']._serialized_start=1130 + _globals['_CONNECTWHATSAPPCALLREQUEST']._serialized_end=1226 + _globals['_CONNECTWHATSAPPCALLRESPONSE']._serialized_start=1228 + _globals['_CONNECTWHATSAPPCALLRESPONSE']._serialized_end=1257 + _globals['_ACCEPTWHATSAPPCALLREQUEST']._serialized_start=1260 + _globals['_ACCEPTWHATSAPPCALLREQUEST']._serialized_end=1956 + _globals['_ACCEPTWHATSAPPCALLREQUEST_PARTICIPANTATTRIBUTESENTRY']._serialized_start=721 + _globals['_ACCEPTWHATSAPPCALLREQUEST_PARTICIPANTATTRIBUTESENTRY']._serialized_end=781 + _globals['_ACCEPTWHATSAPPCALLRESPONSE']._serialized_start=1958 + _globals['_ACCEPTWHATSAPPCALLRESPONSE']._serialized_end=2005 + _globals['_WHATSAPPCALL']._serialized_start=2007 + _globals['_WHATSAPPCALL']._serialized_end=2098 # @@protoc_insertion_point(module_scope) diff --git a/livekit-protocol/livekit/protocol/connector_whatsapp.pyi b/livekit-protocol/livekit/protocol/connector_whatsapp.pyi index fc69385c..21068e32 100644 --- a/livekit-protocol/livekit/protocol/connector_whatsapp.pyi +++ b/livekit-protocol/livekit/protocol/connector_whatsapp.pyi @@ -60,12 +60,20 @@ class DialWhatsAppCallResponse(_message.Message): def __init__(self, whatsapp_call_id: _Optional[str] = ..., room_name: _Optional[str] = ...) -> None: ... class DisconnectWhatsAppCallRequest(_message.Message): - __slots__ = ("whatsapp_call_id", "whatsapp_api_key") + __slots__ = ("whatsapp_call_id", "whatsapp_api_key", "disconnect_reason") + class DisconnectReason(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + BUSINESS_INITIATED: _ClassVar[DisconnectWhatsAppCallRequest.DisconnectReason] + USER_INITIATED: _ClassVar[DisconnectWhatsAppCallRequest.DisconnectReason] + BUSINESS_INITIATED: DisconnectWhatsAppCallRequest.DisconnectReason + USER_INITIATED: DisconnectWhatsAppCallRequest.DisconnectReason WHATSAPP_CALL_ID_FIELD_NUMBER: _ClassVar[int] WHATSAPP_API_KEY_FIELD_NUMBER: _ClassVar[int] + DISCONNECT_REASON_FIELD_NUMBER: _ClassVar[int] whatsapp_call_id: str whatsapp_api_key: str - def __init__(self, whatsapp_call_id: _Optional[str] = ..., whatsapp_api_key: _Optional[str] = ...) -> None: ... + disconnect_reason: DisconnectWhatsAppCallRequest.DisconnectReason + def __init__(self, whatsapp_call_id: _Optional[str] = ..., whatsapp_api_key: _Optional[str] = ..., disconnect_reason: _Optional[_Union[DisconnectWhatsAppCallRequest.DisconnectReason, str]] = ...) -> None: ... class DisconnectWhatsAppCallResponse(_message.Message): __slots__ = () diff --git a/livekit-protocol/livekit/protocol/egress.py b/livekit-protocol/livekit/protocol/egress.py index c4940f43..4bb98ced 100644 --- a/livekit-protocol/livekit/protocol/egress.py +++ b/livekit-protocol/livekit/protocol/egress.py @@ -16,7 +16,7 @@ from .logger_pb import options as logger_dot_options__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14livekit_egress.proto\x12\x07livekit\x1a\x14livekit_models.proto\x1a\x14logger/options.proto\"\xa3\x05\n\x1aRoomCompositeEgressRequest\x12\x11\n\troom_name\x18\x01 \x01(\t\x12\x0e\n\x06layout\x18\x02 \x01(\t\x12\x12\n\naudio_only\x18\x03 \x01(\x08\x12*\n\x0c\x61udio_mixing\x18\x0f \x01(\x0e\x32\x14.livekit.AudioMixing\x12\x12\n\nvideo_only\x18\x04 \x01(\x08\x12\x17\n\x0f\x63ustom_base_url\x18\x05 \x01(\t\x12.\n\x04\x66ile\x18\x06 \x01(\x0b\x32\x1a.livekit.EncodedFileOutputB\x02\x18\x01H\x00\x12+\n\x06stream\x18\x07 \x01(\x0b\x32\x15.livekit.StreamOutputB\x02\x18\x01H\x00\x12\x34\n\x08segments\x18\n \x01(\x0b\x32\x1c.livekit.SegmentedFileOutputB\x02\x18\x01H\x00\x12\x30\n\x06preset\x18\x08 \x01(\x0e\x32\x1e.livekit.EncodingOptionsPresetH\x01\x12,\n\x08\x61\x64vanced\x18\t \x01(\x0b\x32\x18.livekit.EncodingOptionsH\x01\x12\x30\n\x0c\x66ile_outputs\x18\x0b \x03(\x0b\x32\x1a.livekit.EncodedFileOutput\x12-\n\x0estream_outputs\x18\x0c \x03(\x0b\x32\x15.livekit.StreamOutput\x12\x35\n\x0fsegment_outputs\x18\r \x03(\x0b\x32\x1c.livekit.SegmentedFileOutput\x12+\n\rimage_outputs\x18\x0e \x03(\x0b\x32\x14.livekit.ImageOutput\x12(\n\x08webhooks\x18\x10 \x03(\x0b\x32\x16.livekit.WebhookConfigB\x08\n\x06outputB\t\n\x07options\"\xda\x04\n\x10WebEgressRequest\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x12\n\naudio_only\x18\x02 \x01(\x08\x12\x12\n\nvideo_only\x18\x03 \x01(\x08\x12\x1a\n\x12\x61wait_start_signal\x18\x0c \x01(\x08\x12.\n\x04\x66ile\x18\x04 \x01(\x0b\x32\x1a.livekit.EncodedFileOutputB\x02\x18\x01H\x00\x12+\n\x06stream\x18\x05 \x01(\x0b\x32\x15.livekit.StreamOutputB\x02\x18\x01H\x00\x12\x34\n\x08segments\x18\x06 \x01(\x0b\x32\x1c.livekit.SegmentedFileOutputB\x02\x18\x01H\x00\x12\x30\n\x06preset\x18\x07 \x01(\x0e\x32\x1e.livekit.EncodingOptionsPresetH\x01\x12,\n\x08\x61\x64vanced\x18\x08 \x01(\x0b\x32\x18.livekit.EncodingOptionsH\x01\x12\x30\n\x0c\x66ile_outputs\x18\t \x03(\x0b\x32\x1a.livekit.EncodedFileOutput\x12-\n\x0estream_outputs\x18\n \x03(\x0b\x32\x15.livekit.StreamOutput\x12\x35\n\x0fsegment_outputs\x18\x0b \x03(\x0b\x32\x1c.livekit.SegmentedFileOutput\x12+\n\rimage_outputs\x18\r \x03(\x0b\x32\x14.livekit.ImageOutput\x12(\n\x08webhooks\x18\x0e \x03(\x0b\x32\x16.livekit.WebhookConfigB\x08\n\x06outputB\t\n\x07options\"\xaf\x03\n\x18ParticipantEgressRequest\x12\x11\n\troom_name\x18\x01 \x01(\t\x12\x10\n\x08identity\x18\x02 \x01(\t\x12\x14\n\x0cscreen_share\x18\x03 \x01(\x08\x12\x30\n\x06preset\x18\x04 \x01(\x0e\x32\x1e.livekit.EncodingOptionsPresetH\x00\x12,\n\x08\x61\x64vanced\x18\x05 \x01(\x0b\x32\x18.livekit.EncodingOptionsH\x00\x12\x30\n\x0c\x66ile_outputs\x18\x06 \x03(\x0b\x32\x1a.livekit.EncodedFileOutput\x12-\n\x0estream_outputs\x18\x07 \x03(\x0b\x32\x15.livekit.StreamOutput\x12\x35\n\x0fsegment_outputs\x18\x08 \x03(\x0b\x32\x1c.livekit.SegmentedFileOutput\x12+\n\rimage_outputs\x18\t \x03(\x0b\x32\x14.livekit.ImageOutput\x12(\n\x08webhooks\x18\n \x03(\x0b\x32\x16.livekit.WebhookConfigB\t\n\x07options\"\xd7\x04\n\x1bTrackCompositeEgressRequest\x12\x11\n\troom_name\x18\x01 \x01(\t\x12\x16\n\x0e\x61udio_track_id\x18\x02 \x01(\t\x12\x16\n\x0evideo_track_id\x18\x03 \x01(\t\x12.\n\x04\x66ile\x18\x04 \x01(\x0b\x32\x1a.livekit.EncodedFileOutputB\x02\x18\x01H\x00\x12+\n\x06stream\x18\x05 \x01(\x0b\x32\x15.livekit.StreamOutputB\x02\x18\x01H\x00\x12\x34\n\x08segments\x18\x08 \x01(\x0b\x32\x1c.livekit.SegmentedFileOutputB\x02\x18\x01H\x00\x12\x30\n\x06preset\x18\x06 \x01(\x0e\x32\x1e.livekit.EncodingOptionsPresetH\x01\x12,\n\x08\x61\x64vanced\x18\x07 \x01(\x0b\x32\x18.livekit.EncodingOptionsH\x01\x12\x30\n\x0c\x66ile_outputs\x18\x0b \x03(\x0b\x32\x1a.livekit.EncodedFileOutput\x12-\n\x0estream_outputs\x18\x0c \x03(\x0b\x32\x15.livekit.StreamOutput\x12\x35\n\x0fsegment_outputs\x18\r \x03(\x0b\x32\x1c.livekit.SegmentedFileOutput\x12+\n\rimage_outputs\x18\x0e \x03(\x0b\x32\x14.livekit.ImageOutput\x12(\n\x08webhooks\x18\x0f \x03(\x0b\x32\x16.livekit.WebhookConfigB\x08\n\x06outputB\t\n\x07options\"\xb1\x01\n\x12TrackEgressRequest\x12\x11\n\troom_name\x18\x01 \x01(\t\x12\x10\n\x08track_id\x18\x02 \x01(\t\x12)\n\x04\x66ile\x18\x03 \x01(\x0b\x32\x19.livekit.DirectFileOutputH\x00\x12\x17\n\rwebsocket_url\x18\x04 \x01(\tH\x00\x12(\n\x08webhooks\x18\x05 \x03(\x0b\x32\x16.livekit.WebhookConfigB\x08\n\x06output\"\x8e\x02\n\x11\x45ncodedFileOutput\x12+\n\tfile_type\x18\x01 \x01(\x0e\x32\x18.livekit.EncodedFileType\x12\x10\n\x08\x66ilepath\x18\x02 \x01(\t\x12\x18\n\x10\x64isable_manifest\x18\x06 \x01(\x08\x12\x1f\n\x02s3\x18\x03 \x01(\x0b\x32\x11.livekit.S3UploadH\x00\x12!\n\x03gcp\x18\x04 \x01(\x0b\x32\x12.livekit.GCPUploadH\x00\x12)\n\x05\x61zure\x18\x05 \x01(\x0b\x32\x18.livekit.AzureBlobUploadH\x00\x12\'\n\x06\x61liOSS\x18\x07 \x01(\x0b\x32\x15.livekit.AliOSSUploadH\x00\x42\x08\n\x06output\"\xa0\x03\n\x13SegmentedFileOutput\x12\x30\n\x08protocol\x18\x01 \x01(\x0e\x32\x1e.livekit.SegmentedFileProtocol\x12\x17\n\x0f\x66ilename_prefix\x18\x02 \x01(\t\x12\x15\n\rplaylist_name\x18\x03 \x01(\t\x12\x1a\n\x12live_playlist_name\x18\x0b \x01(\t\x12\x18\n\x10segment_duration\x18\x04 \x01(\r\x12\x35\n\x0f\x66ilename_suffix\x18\n \x01(\x0e\x32\x1c.livekit.SegmentedFileSuffix\x12\x18\n\x10\x64isable_manifest\x18\x08 \x01(\x08\x12\x1f\n\x02s3\x18\x05 \x01(\x0b\x32\x11.livekit.S3UploadH\x00\x12!\n\x03gcp\x18\x06 \x01(\x0b\x32\x12.livekit.GCPUploadH\x00\x12)\n\x05\x61zure\x18\x07 \x01(\x0b\x32\x18.livekit.AzureBlobUploadH\x00\x12\'\n\x06\x61liOSS\x18\t \x01(\x0b\x32\x15.livekit.AliOSSUploadH\x00\x42\x08\n\x06output\"\xe0\x01\n\x10\x44irectFileOutput\x12\x10\n\x08\x66ilepath\x18\x01 \x01(\t\x12\x18\n\x10\x64isable_manifest\x18\x05 \x01(\x08\x12\x1f\n\x02s3\x18\x02 \x01(\x0b\x32\x11.livekit.S3UploadH\x00\x12!\n\x03gcp\x18\x03 \x01(\x0b\x32\x12.livekit.GCPUploadH\x00\x12)\n\x05\x61zure\x18\x04 \x01(\x0b\x32\x18.livekit.AzureBlobUploadH\x00\x12\'\n\x06\x61liOSS\x18\x06 \x01(\x0b\x32\x15.livekit.AliOSSUploadH\x00\x42\x08\n\x06output\"\xf8\x02\n\x0bImageOutput\x12\x18\n\x10\x63\x61pture_interval\x18\x01 \x01(\r\x12\r\n\x05width\x18\x02 \x01(\x05\x12\x0e\n\x06height\x18\x03 \x01(\x05\x12\x17\n\x0f\x66ilename_prefix\x18\x04 \x01(\t\x12\x31\n\x0f\x66ilename_suffix\x18\x05 \x01(\x0e\x32\x18.livekit.ImageFileSuffix\x12(\n\x0bimage_codec\x18\x06 \x01(\x0e\x32\x13.livekit.ImageCodec\x12\x18\n\x10\x64isable_manifest\x18\x07 \x01(\x08\x12\x1f\n\x02s3\x18\x08 \x01(\x0b\x32\x11.livekit.S3UploadH\x00\x12!\n\x03gcp\x18\t \x01(\x0b\x32\x12.livekit.GCPUploadH\x00\x12)\n\x05\x61zure\x18\n \x01(\x0b\x32\x18.livekit.AzureBlobUploadH\x00\x12\'\n\x06\x61liOSS\x18\x0b \x01(\x0b\x32\x15.livekit.AliOSSUploadH\x00\x42\x08\n\x06output\"\x9a\x03\n\x08S3Upload\x12\x18\n\naccess_key\x18\x01 \x01(\tB\x04\x88\xb5\x18\x01\x12\x14\n\x06secret\x18\x02 \x01(\tB\x04\x88\xb5\x18\x01\x12\x1b\n\rsession_token\x18\x0b \x01(\tB\x04\x88\xb5\x18\x01\x12\x1d\n\x0f\x61ssume_role_arn\x18\x0c \x01(\tB\x04\x88\xb5\x18\x01\x12\x1f\n\x17\x61ssume_role_external_id\x18\r \x01(\t\x12\x0e\n\x06region\x18\x03 \x01(\t\x12\x10\n\x08\x65ndpoint\x18\x04 \x01(\t\x12\x0e\n\x06\x62ucket\x18\x05 \x01(\t\x12\x18\n\x10\x66orce_path_style\x18\x06 \x01(\x08\x12\x31\n\x08metadata\x18\x07 \x03(\x0b\x32\x1f.livekit.S3Upload.MetadataEntry\x12\x0f\n\x07tagging\x18\x08 \x01(\t\x12\x1b\n\x13\x63ontent_disposition\x18\t \x01(\t\x12#\n\x05proxy\x18\n \x01(\x0b\x32\x14.livekit.ProxyConfig\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"[\n\tGCPUpload\x12\x19\n\x0b\x63redentials\x18\x01 \x01(\tB\x04\x88\xb5\x18\x01\x12\x0e\n\x06\x62ucket\x18\x02 \x01(\t\x12#\n\x05proxy\x18\x03 \x01(\x0b\x32\x14.livekit.ProxyConfig\"`\n\x0f\x41zureBlobUpload\x12\x1a\n\x0c\x61\x63\x63ount_name\x18\x01 \x01(\tB\x04\x88\xb5\x18\x01\x12\x19\n\x0b\x61\x63\x63ount_key\x18\x02 \x01(\tB\x04\x88\xb5\x18\x01\x12\x16\n\x0e\x63ontainer_name\x18\x03 \x01(\t\"p\n\x0c\x41liOSSUpload\x12\x18\n\naccess_key\x18\x01 \x01(\tB\x04\x88\xb5\x18\x01\x12\x14\n\x06secret\x18\x02 \x01(\tB\x04\x88\xb5\x18\x01\x12\x0e\n\x06region\x18\x03 \x01(\t\x12\x10\n\x08\x65ndpoint\x18\x04 \x01(\t\x12\x0e\n\x06\x62ucket\x18\x05 \x01(\t\">\n\x0bProxyConfig\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x10\n\x08username\x18\x02 \x01(\t\x12\x10\n\x08password\x18\x03 \x01(\t\"G\n\x0cStreamOutput\x12)\n\x08protocol\x18\x01 \x01(\x0e\x32\x17.livekit.StreamProtocol\x12\x0c\n\x04urls\x18\x02 \x03(\t\"\xb7\x02\n\x0f\x45ncodingOptions\x12\r\n\x05width\x18\x01 \x01(\x05\x12\x0e\n\x06height\x18\x02 \x01(\x05\x12\r\n\x05\x64\x65pth\x18\x03 \x01(\x05\x12\x11\n\tframerate\x18\x04 \x01(\x05\x12(\n\x0b\x61udio_codec\x18\x05 \x01(\x0e\x32\x13.livekit.AudioCodec\x12\x15\n\raudio_bitrate\x18\x06 \x01(\x05\x12\x15\n\raudio_quality\x18\x0b \x01(\x05\x12\x17\n\x0f\x61udio_frequency\x18\x07 \x01(\x05\x12(\n\x0bvideo_codec\x18\x08 \x01(\x0e\x32\x13.livekit.VideoCodec\x12\x15\n\rvideo_bitrate\x18\t \x01(\x05\x12\x15\n\rvideo_quality\x18\x0c \x01(\x05\x12\x1a\n\x12key_frame_interval\x18\n \x01(\x01\"8\n\x13UpdateLayoutRequest\x12\x11\n\tegress_id\x18\x01 \x01(\t\x12\x0e\n\x06layout\x18\x02 \x01(\t\"]\n\x13UpdateStreamRequest\x12\x11\n\tegress_id\x18\x01 \x01(\t\x12\x17\n\x0f\x61\x64\x64_output_urls\x18\x02 \x03(\t\x12\x1a\n\x12remove_output_urls\x18\x03 \x03(\t\"I\n\x11ListEgressRequest\x12\x11\n\troom_name\x18\x01 \x01(\t\x12\x11\n\tegress_id\x18\x02 \x01(\t\x12\x0e\n\x06\x61\x63tive\x18\x03 \x01(\x08\"8\n\x12ListEgressResponse\x12\"\n\x05items\x18\x01 \x03(\x0b\x32\x13.livekit.EgressInfo\"&\n\x11StopEgressRequest\x12\x11\n\tegress_id\x18\x01 \x01(\t\"\x9e\x07\n\nEgressInfo\x12\x11\n\tegress_id\x18\x01 \x01(\t\x12\x0f\n\x07room_id\x18\x02 \x01(\t\x12\x11\n\troom_name\x18\r \x01(\t\x12.\n\x0bsource_type\x18\x1a \x01(\x0e\x32\x19.livekit.EgressSourceType\x12%\n\x06status\x18\x03 \x01(\x0e\x32\x15.livekit.EgressStatus\x12\x12\n\nstarted_at\x18\n \x01(\x03\x12\x10\n\x08\x65nded_at\x18\x0b \x01(\x03\x12\x12\n\nupdated_at\x18\x12 \x01(\x03\x12\x0f\n\x07\x64\x65tails\x18\x15 \x01(\t\x12\r\n\x05\x65rror\x18\t \x01(\t\x12\x12\n\nerror_code\x18\x16 \x01(\x05\x12=\n\x0eroom_composite\x18\x04 \x01(\x0b\x32#.livekit.RoomCompositeEgressRequestH\x00\x12(\n\x03web\x18\x0e \x01(\x0b\x32\x19.livekit.WebEgressRequestH\x00\x12\x38\n\x0bparticipant\x18\x13 \x01(\x0b\x32!.livekit.ParticipantEgressRequestH\x00\x12?\n\x0ftrack_composite\x18\x05 \x01(\x0b\x32$.livekit.TrackCompositeEgressRequestH\x00\x12,\n\x05track\x18\x06 \x01(\x0b\x32\x1b.livekit.TrackEgressRequestH\x00\x12-\n\x06stream\x18\x07 \x01(\x0b\x32\x17.livekit.StreamInfoListB\x02\x18\x01H\x01\x12%\n\x04\x66ile\x18\x08 \x01(\x0b\x32\x11.livekit.FileInfoB\x02\x18\x01H\x01\x12-\n\x08segments\x18\x0c \x01(\x0b\x32\x15.livekit.SegmentsInfoB\x02\x18\x01H\x01\x12+\n\x0estream_results\x18\x0f \x03(\x0b\x32\x13.livekit.StreamInfo\x12\'\n\x0c\x66ile_results\x18\x10 \x03(\x0b\x32\x11.livekit.FileInfo\x12.\n\x0fsegment_results\x18\x11 \x03(\x0b\x32\x15.livekit.SegmentsInfo\x12*\n\rimage_results\x18\x14 \x03(\x0b\x32\x13.livekit.ImagesInfo\x12\x19\n\x11manifest_location\x18\x17 \x01(\t\x12\x1b\n\x13\x62\x61\x63kup_storage_used\x18\x19 \x01(\x08\x42\t\n\x07requestB\x08\n\x06result\"7\n\x0eStreamInfoList\x12!\n\x04info\x18\x01 \x03(\x0b\x32\x13.livekit.StreamInfo:\x02\x18\x01\"\xe4\x01\n\nStreamInfo\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x12\n\nstarted_at\x18\x02 \x01(\x03\x12\x10\n\x08\x65nded_at\x18\x03 \x01(\x03\x12\x10\n\x08\x64uration\x18\x04 \x01(\x03\x12*\n\x06status\x18\x05 \x01(\x0e\x32\x1a.livekit.StreamInfo.Status\x12\r\n\x05\x65rror\x18\x06 \x01(\t\x12\x15\n\rlast_retry_at\x18\x07 \x01(\x03\x12\x0f\n\x07retries\x18\x08 \x01(\r\".\n\x06Status\x12\n\n\x06\x41\x43TIVE\x10\x00\x12\x0c\n\x08\x46INISHED\x10\x01\x12\n\n\x06\x46\x41ILED\x10\x02\"t\n\x08\x46ileInfo\x12\x10\n\x08\x66ilename\x18\x01 \x01(\t\x12\x12\n\nstarted_at\x18\x02 \x01(\x03\x12\x10\n\x08\x65nded_at\x18\x03 \x01(\x03\x12\x10\n\x08\x64uration\x18\x06 \x01(\x03\x12\x0c\n\x04size\x18\x04 \x01(\x03\x12\x10\n\x08location\x18\x05 \x01(\t\"\xd9\x01\n\x0cSegmentsInfo\x12\x15\n\rplaylist_name\x18\x01 \x01(\t\x12\x1a\n\x12live_playlist_name\x18\x08 \x01(\t\x12\x10\n\x08\x64uration\x18\x02 \x01(\x03\x12\x0c\n\x04size\x18\x03 \x01(\x03\x12\x19\n\x11playlist_location\x18\x04 \x01(\t\x12\x1e\n\x16live_playlist_location\x18\t \x01(\t\x12\x15\n\rsegment_count\x18\x05 \x01(\x03\x12\x12\n\nstarted_at\x18\x06 \x01(\x03\x12\x10\n\x08\x65nded_at\x18\x07 \x01(\x03\"`\n\nImagesInfo\x12\x17\n\x0f\x66ilename_prefix\x18\x04 \x01(\t\x12\x13\n\x0bimage_count\x18\x01 \x01(\x03\x12\x12\n\nstarted_at\x18\x02 \x01(\x03\x12\x10\n\x08\x65nded_at\x18\x03 \x01(\x03\"\xeb\x01\n\x15\x41utoParticipantEgress\x12\x30\n\x06preset\x18\x01 \x01(\x0e\x32\x1e.livekit.EncodingOptionsPresetH\x00\x12,\n\x08\x61\x64vanced\x18\x02 \x01(\x0b\x32\x18.livekit.EncodingOptionsH\x00\x12\x30\n\x0c\x66ile_outputs\x18\x03 \x03(\x0b\x32\x1a.livekit.EncodedFileOutput\x12\x35\n\x0fsegment_outputs\x18\x04 \x03(\x0b\x32\x1c.livekit.SegmentedFileOutputB\t\n\x07options\"\xdf\x01\n\x0f\x41utoTrackEgress\x12\x10\n\x08\x66ilepath\x18\x01 \x01(\t\x12\x18\n\x10\x64isable_manifest\x18\x05 \x01(\x08\x12\x1f\n\x02s3\x18\x02 \x01(\x0b\x32\x11.livekit.S3UploadH\x00\x12!\n\x03gcp\x18\x03 \x01(\x0b\x32\x12.livekit.GCPUploadH\x00\x12)\n\x05\x61zure\x18\x04 \x01(\x0b\x32\x18.livekit.AzureBlobUploadH\x00\x12\'\n\x06\x61liOSS\x18\x06 \x01(\x0b\x32\x15.livekit.AliOSSUploadH\x00\x42\x08\n\x06output*B\n\x0f\x45ncodedFileType\x12\x14\n\x10\x44\x45\x46\x41ULT_FILETYPE\x10\x00\x12\x07\n\x03MP4\x10\x01\x12\x07\n\x03OGG\x10\x02\x12\x07\n\x03MP3\x10\x03*N\n\x15SegmentedFileProtocol\x12#\n\x1f\x44\x45\x46\x41ULT_SEGMENTED_FILE_PROTOCOL\x10\x00\x12\x10\n\x0cHLS_PROTOCOL\x10\x01*/\n\x13SegmentedFileSuffix\x12\t\n\x05INDEX\x10\x00\x12\r\n\tTIMESTAMP\x10\x01*f\n\x0fImageFileSuffix\x12\x16\n\x12IMAGE_SUFFIX_INDEX\x10\x00\x12\x1a\n\x16IMAGE_SUFFIX_TIMESTAMP\x10\x01\x12\x1f\n\x1bIMAGE_SUFFIX_NONE_OVERWRITE\x10\x02*9\n\x0eStreamProtocol\x12\x14\n\x10\x44\x45\x46\x41ULT_PROTOCOL\x10\x00\x12\x08\n\x04RTMP\x10\x01\x12\x07\n\x03SRT\x10\x02*U\n\x0b\x41udioMixing\x12\x12\n\x0e\x44\x45\x46\x41ULT_MIXING\x10\x00\x12\x16\n\x12\x44UAL_CHANNEL_AGENT\x10\x01\x12\x1a\n\x16\x44UAL_CHANNEL_ALTERNATE\x10\x02*\xcf\x01\n\x15\x45ncodingOptionsPreset\x12\x10\n\x0cH264_720P_30\x10\x00\x12\x10\n\x0cH264_720P_60\x10\x01\x12\x11\n\rH264_1080P_30\x10\x02\x12\x11\n\rH264_1080P_60\x10\x03\x12\x19\n\x15PORTRAIT_H264_720P_30\x10\x04\x12\x19\n\x15PORTRAIT_H264_720P_60\x10\x05\x12\x1a\n\x16PORTRAIT_H264_1080P_30\x10\x06\x12\x1a\n\x16PORTRAIT_H264_1080P_60\x10\x07*\x9f\x01\n\x0c\x45gressStatus\x12\x13\n\x0f\x45GRESS_STARTING\x10\x00\x12\x11\n\rEGRESS_ACTIVE\x10\x01\x12\x11\n\rEGRESS_ENDING\x10\x02\x12\x13\n\x0f\x45GRESS_COMPLETE\x10\x03\x12\x11\n\rEGRESS_FAILED\x10\x04\x12\x12\n\x0e\x45GRESS_ABORTED\x10\x05\x12\x18\n\x14\x45GRESS_LIMIT_REACHED\x10\x06*J\n\x10\x45gressSourceType\x12\x1a\n\x16\x45GRESS_SOURCE_TYPE_WEB\x10\x00\x12\x1a\n\x16\x45GRESS_SOURCE_TYPE_SDK\x10\x01\x32\x9c\x05\n\x06\x45gress\x12T\n\x18StartRoomCompositeEgress\x12#.livekit.RoomCompositeEgressRequest\x1a\x13.livekit.EgressInfo\x12@\n\x0eStartWebEgress\x12\x19.livekit.WebEgressRequest\x1a\x13.livekit.EgressInfo\x12P\n\x16StartParticipantEgress\x12!.livekit.ParticipantEgressRequest\x1a\x13.livekit.EgressInfo\x12V\n\x19StartTrackCompositeEgress\x12$.livekit.TrackCompositeEgressRequest\x1a\x13.livekit.EgressInfo\x12\x44\n\x10StartTrackEgress\x12\x1b.livekit.TrackEgressRequest\x1a\x13.livekit.EgressInfo\x12\x41\n\x0cUpdateLayout\x12\x1c.livekit.UpdateLayoutRequest\x1a\x13.livekit.EgressInfo\x12\x41\n\x0cUpdateStream\x12\x1c.livekit.UpdateStreamRequest\x1a\x13.livekit.EgressInfo\x12\x45\n\nListEgress\x12\x1a.livekit.ListEgressRequest\x1a\x1b.livekit.ListEgressResponse\x12=\n\nStopEgress\x12\x1a.livekit.StopEgressRequest\x1a\x13.livekit.EgressInfoBFZ#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14livekit_egress.proto\x12\x07livekit\x1a\x14livekit_models.proto\x1a\x14logger/options.proto\"\xa3\x05\n\x1aRoomCompositeEgressRequest\x12\x11\n\troom_name\x18\x01 \x01(\t\x12\x0e\n\x06layout\x18\x02 \x01(\t\x12\x12\n\naudio_only\x18\x03 \x01(\x08\x12*\n\x0c\x61udio_mixing\x18\x0f \x01(\x0e\x32\x14.livekit.AudioMixing\x12\x12\n\nvideo_only\x18\x04 \x01(\x08\x12\x17\n\x0f\x63ustom_base_url\x18\x05 \x01(\t\x12.\n\x04\x66ile\x18\x06 \x01(\x0b\x32\x1a.livekit.EncodedFileOutputB\x02\x18\x01H\x00\x12+\n\x06stream\x18\x07 \x01(\x0b\x32\x15.livekit.StreamOutputB\x02\x18\x01H\x00\x12\x34\n\x08segments\x18\n \x01(\x0b\x32\x1c.livekit.SegmentedFileOutputB\x02\x18\x01H\x00\x12\x30\n\x06preset\x18\x08 \x01(\x0e\x32\x1e.livekit.EncodingOptionsPresetH\x01\x12,\n\x08\x61\x64vanced\x18\t \x01(\x0b\x32\x18.livekit.EncodingOptionsH\x01\x12\x30\n\x0c\x66ile_outputs\x18\x0b \x03(\x0b\x32\x1a.livekit.EncodedFileOutput\x12-\n\x0estream_outputs\x18\x0c \x03(\x0b\x32\x15.livekit.StreamOutput\x12\x35\n\x0fsegment_outputs\x18\r \x03(\x0b\x32\x1c.livekit.SegmentedFileOutput\x12+\n\rimage_outputs\x18\x0e \x03(\x0b\x32\x14.livekit.ImageOutput\x12(\n\x08webhooks\x18\x10 \x03(\x0b\x32\x16.livekit.WebhookConfigB\x08\n\x06outputB\t\n\x07options\"\xda\x04\n\x10WebEgressRequest\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x12\n\naudio_only\x18\x02 \x01(\x08\x12\x12\n\nvideo_only\x18\x03 \x01(\x08\x12\x1a\n\x12\x61wait_start_signal\x18\x0c \x01(\x08\x12.\n\x04\x66ile\x18\x04 \x01(\x0b\x32\x1a.livekit.EncodedFileOutputB\x02\x18\x01H\x00\x12+\n\x06stream\x18\x05 \x01(\x0b\x32\x15.livekit.StreamOutputB\x02\x18\x01H\x00\x12\x34\n\x08segments\x18\x06 \x01(\x0b\x32\x1c.livekit.SegmentedFileOutputB\x02\x18\x01H\x00\x12\x30\n\x06preset\x18\x07 \x01(\x0e\x32\x1e.livekit.EncodingOptionsPresetH\x01\x12,\n\x08\x61\x64vanced\x18\x08 \x01(\x0b\x32\x18.livekit.EncodingOptionsH\x01\x12\x30\n\x0c\x66ile_outputs\x18\t \x03(\x0b\x32\x1a.livekit.EncodedFileOutput\x12-\n\x0estream_outputs\x18\n \x03(\x0b\x32\x15.livekit.StreamOutput\x12\x35\n\x0fsegment_outputs\x18\x0b \x03(\x0b\x32\x1c.livekit.SegmentedFileOutput\x12+\n\rimage_outputs\x18\r \x03(\x0b\x32\x14.livekit.ImageOutput\x12(\n\x08webhooks\x18\x0e \x03(\x0b\x32\x16.livekit.WebhookConfigB\x08\n\x06outputB\t\n\x07options\"\xaf\x03\n\x18ParticipantEgressRequest\x12\x11\n\troom_name\x18\x01 \x01(\t\x12\x10\n\x08identity\x18\x02 \x01(\t\x12\x14\n\x0cscreen_share\x18\x03 \x01(\x08\x12\x30\n\x06preset\x18\x04 \x01(\x0e\x32\x1e.livekit.EncodingOptionsPresetH\x00\x12,\n\x08\x61\x64vanced\x18\x05 \x01(\x0b\x32\x18.livekit.EncodingOptionsH\x00\x12\x30\n\x0c\x66ile_outputs\x18\x06 \x03(\x0b\x32\x1a.livekit.EncodedFileOutput\x12-\n\x0estream_outputs\x18\x07 \x03(\x0b\x32\x15.livekit.StreamOutput\x12\x35\n\x0fsegment_outputs\x18\x08 \x03(\x0b\x32\x1c.livekit.SegmentedFileOutput\x12+\n\rimage_outputs\x18\t \x03(\x0b\x32\x14.livekit.ImageOutput\x12(\n\x08webhooks\x18\n \x03(\x0b\x32\x16.livekit.WebhookConfigB\t\n\x07options\"\xd7\x04\n\x1bTrackCompositeEgressRequest\x12\x11\n\troom_name\x18\x01 \x01(\t\x12\x16\n\x0e\x61udio_track_id\x18\x02 \x01(\t\x12\x16\n\x0evideo_track_id\x18\x03 \x01(\t\x12.\n\x04\x66ile\x18\x04 \x01(\x0b\x32\x1a.livekit.EncodedFileOutputB\x02\x18\x01H\x00\x12+\n\x06stream\x18\x05 \x01(\x0b\x32\x15.livekit.StreamOutputB\x02\x18\x01H\x00\x12\x34\n\x08segments\x18\x08 \x01(\x0b\x32\x1c.livekit.SegmentedFileOutputB\x02\x18\x01H\x00\x12\x30\n\x06preset\x18\x06 \x01(\x0e\x32\x1e.livekit.EncodingOptionsPresetH\x01\x12,\n\x08\x61\x64vanced\x18\x07 \x01(\x0b\x32\x18.livekit.EncodingOptionsH\x01\x12\x30\n\x0c\x66ile_outputs\x18\x0b \x03(\x0b\x32\x1a.livekit.EncodedFileOutput\x12-\n\x0estream_outputs\x18\x0c \x03(\x0b\x32\x15.livekit.StreamOutput\x12\x35\n\x0fsegment_outputs\x18\r \x03(\x0b\x32\x1c.livekit.SegmentedFileOutput\x12+\n\rimage_outputs\x18\x0e \x03(\x0b\x32\x14.livekit.ImageOutput\x12(\n\x08webhooks\x18\x0f \x03(\x0b\x32\x16.livekit.WebhookConfigB\x08\n\x06outputB\t\n\x07options\"\xb1\x01\n\x12TrackEgressRequest\x12\x11\n\troom_name\x18\x01 \x01(\t\x12\x10\n\x08track_id\x18\x02 \x01(\t\x12)\n\x04\x66ile\x18\x03 \x01(\x0b\x32\x19.livekit.DirectFileOutputH\x00\x12\x17\n\rwebsocket_url\x18\x04 \x01(\tH\x00\x12(\n\x08webhooks\x18\x05 \x03(\x0b\x32\x16.livekit.WebhookConfigB\x08\n\x06output\"\x8e\x02\n\x11\x45ncodedFileOutput\x12+\n\tfile_type\x18\x01 \x01(\x0e\x32\x18.livekit.EncodedFileType\x12\x10\n\x08\x66ilepath\x18\x02 \x01(\t\x12\x18\n\x10\x64isable_manifest\x18\x06 \x01(\x08\x12\x1f\n\x02s3\x18\x03 \x01(\x0b\x32\x11.livekit.S3UploadH\x00\x12!\n\x03gcp\x18\x04 \x01(\x0b\x32\x12.livekit.GCPUploadH\x00\x12)\n\x05\x61zure\x18\x05 \x01(\x0b\x32\x18.livekit.AzureBlobUploadH\x00\x12\'\n\x06\x61liOSS\x18\x07 \x01(\x0b\x32\x15.livekit.AliOSSUploadH\x00\x42\x08\n\x06output\"\xa0\x03\n\x13SegmentedFileOutput\x12\x30\n\x08protocol\x18\x01 \x01(\x0e\x32\x1e.livekit.SegmentedFileProtocol\x12\x17\n\x0f\x66ilename_prefix\x18\x02 \x01(\t\x12\x15\n\rplaylist_name\x18\x03 \x01(\t\x12\x1a\n\x12live_playlist_name\x18\x0b \x01(\t\x12\x18\n\x10segment_duration\x18\x04 \x01(\r\x12\x35\n\x0f\x66ilename_suffix\x18\n \x01(\x0e\x32\x1c.livekit.SegmentedFileSuffix\x12\x18\n\x10\x64isable_manifest\x18\x08 \x01(\x08\x12\x1f\n\x02s3\x18\x05 \x01(\x0b\x32\x11.livekit.S3UploadH\x00\x12!\n\x03gcp\x18\x06 \x01(\x0b\x32\x12.livekit.GCPUploadH\x00\x12)\n\x05\x61zure\x18\x07 \x01(\x0b\x32\x18.livekit.AzureBlobUploadH\x00\x12\'\n\x06\x61liOSS\x18\t \x01(\x0b\x32\x15.livekit.AliOSSUploadH\x00\x42\x08\n\x06output\"\xe0\x01\n\x10\x44irectFileOutput\x12\x10\n\x08\x66ilepath\x18\x01 \x01(\t\x12\x18\n\x10\x64isable_manifest\x18\x05 \x01(\x08\x12\x1f\n\x02s3\x18\x02 \x01(\x0b\x32\x11.livekit.S3UploadH\x00\x12!\n\x03gcp\x18\x03 \x01(\x0b\x32\x12.livekit.GCPUploadH\x00\x12)\n\x05\x61zure\x18\x04 \x01(\x0b\x32\x18.livekit.AzureBlobUploadH\x00\x12\'\n\x06\x61liOSS\x18\x06 \x01(\x0b\x32\x15.livekit.AliOSSUploadH\x00\x42\x08\n\x06output\"\xf8\x02\n\x0bImageOutput\x12\x18\n\x10\x63\x61pture_interval\x18\x01 \x01(\r\x12\r\n\x05width\x18\x02 \x01(\x05\x12\x0e\n\x06height\x18\x03 \x01(\x05\x12\x17\n\x0f\x66ilename_prefix\x18\x04 \x01(\t\x12\x31\n\x0f\x66ilename_suffix\x18\x05 \x01(\x0e\x32\x18.livekit.ImageFileSuffix\x12(\n\x0bimage_codec\x18\x06 \x01(\x0e\x32\x13.livekit.ImageCodec\x12\x18\n\x10\x64isable_manifest\x18\x07 \x01(\x08\x12\x1f\n\x02s3\x18\x08 \x01(\x0b\x32\x11.livekit.S3UploadH\x00\x12!\n\x03gcp\x18\t \x01(\x0b\x32\x12.livekit.GCPUploadH\x00\x12)\n\x05\x61zure\x18\n \x01(\x0b\x32\x18.livekit.AzureBlobUploadH\x00\x12\'\n\x06\x61liOSS\x18\x0b \x01(\x0b\x32\x15.livekit.AliOSSUploadH\x00\x42\x08\n\x06output\"\xa0\x03\n\x08S3Upload\x12\x18\n\naccess_key\x18\x01 \x01(\tB\x04\x88\xec,\x01\x12\x14\n\x06secret\x18\x02 \x01(\tB\x04\x88\xec,\x01\x12\x1b\n\rsession_token\x18\x0b \x01(\tB\x04\x88\xec,\x01\x12\x1d\n\x0f\x61ssume_role_arn\x18\x0c \x01(\tB\x04\x88\xec,\x01\x12%\n\x17\x61ssume_role_external_id\x18\r \x01(\tB\x04\x88\xec,\x01\x12\x0e\n\x06region\x18\x03 \x01(\t\x12\x10\n\x08\x65ndpoint\x18\x04 \x01(\t\x12\x0e\n\x06\x62ucket\x18\x05 \x01(\t\x12\x18\n\x10\x66orce_path_style\x18\x06 \x01(\x08\x12\x31\n\x08metadata\x18\x07 \x03(\x0b\x32\x1f.livekit.S3Upload.MetadataEntry\x12\x0f\n\x07tagging\x18\x08 \x01(\t\x12\x1b\n\x13\x63ontent_disposition\x18\t \x01(\t\x12#\n\x05proxy\x18\n \x01(\x0b\x32\x14.livekit.ProxyConfig\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"[\n\tGCPUpload\x12\x19\n\x0b\x63redentials\x18\x01 \x01(\tB\x04\x88\xec,\x01\x12\x0e\n\x06\x62ucket\x18\x02 \x01(\t\x12#\n\x05proxy\x18\x03 \x01(\x0b\x32\x14.livekit.ProxyConfig\"`\n\x0f\x41zureBlobUpload\x12\x1a\n\x0c\x61\x63\x63ount_name\x18\x01 \x01(\tB\x04\x88\xec,\x01\x12\x19\n\x0b\x61\x63\x63ount_key\x18\x02 \x01(\tB\x04\x88\xec,\x01\x12\x16\n\x0e\x63ontainer_name\x18\x03 \x01(\t\"p\n\x0c\x41liOSSUpload\x12\x18\n\naccess_key\x18\x01 \x01(\tB\x04\x88\xec,\x01\x12\x14\n\x06secret\x18\x02 \x01(\tB\x04\x88\xec,\x01\x12\x0e\n\x06region\x18\x03 \x01(\t\x12\x10\n\x08\x65ndpoint\x18\x04 \x01(\t\x12\x0e\n\x06\x62ucket\x18\x05 \x01(\t\">\n\x0bProxyConfig\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x10\n\x08username\x18\x02 \x01(\t\x12\x10\n\x08password\x18\x03 \x01(\t\"G\n\x0cStreamOutput\x12)\n\x08protocol\x18\x01 \x01(\x0e\x32\x17.livekit.StreamProtocol\x12\x0c\n\x04urls\x18\x02 \x03(\t\"\xb7\x02\n\x0f\x45ncodingOptions\x12\r\n\x05width\x18\x01 \x01(\x05\x12\x0e\n\x06height\x18\x02 \x01(\x05\x12\r\n\x05\x64\x65pth\x18\x03 \x01(\x05\x12\x11\n\tframerate\x18\x04 \x01(\x05\x12(\n\x0b\x61udio_codec\x18\x05 \x01(\x0e\x32\x13.livekit.AudioCodec\x12\x15\n\raudio_bitrate\x18\x06 \x01(\x05\x12\x15\n\raudio_quality\x18\x0b \x01(\x05\x12\x17\n\x0f\x61udio_frequency\x18\x07 \x01(\x05\x12(\n\x0bvideo_codec\x18\x08 \x01(\x0e\x32\x13.livekit.VideoCodec\x12\x15\n\rvideo_bitrate\x18\t \x01(\x05\x12\x15\n\rvideo_quality\x18\x0c \x01(\x05\x12\x1a\n\x12key_frame_interval\x18\n \x01(\x01\"8\n\x13UpdateLayoutRequest\x12\x11\n\tegress_id\x18\x01 \x01(\t\x12\x0e\n\x06layout\x18\x02 \x01(\t\"]\n\x13UpdateStreamRequest\x12\x11\n\tegress_id\x18\x01 \x01(\t\x12\x17\n\x0f\x61\x64\x64_output_urls\x18\x02 \x03(\t\x12\x1a\n\x12remove_output_urls\x18\x03 \x03(\t\"I\n\x11ListEgressRequest\x12\x11\n\troom_name\x18\x01 \x01(\t\x12\x11\n\tegress_id\x18\x02 \x01(\t\x12\x0e\n\x06\x61\x63tive\x18\x03 \x01(\x08\"8\n\x12ListEgressResponse\x12\"\n\x05items\x18\x01 \x03(\x0b\x32\x13.livekit.EgressInfo\"&\n\x11StopEgressRequest\x12\x11\n\tegress_id\x18\x01 \x01(\t\"\x9e\x07\n\nEgressInfo\x12\x11\n\tegress_id\x18\x01 \x01(\t\x12\x0f\n\x07room_id\x18\x02 \x01(\t\x12\x11\n\troom_name\x18\r \x01(\t\x12.\n\x0bsource_type\x18\x1a \x01(\x0e\x32\x19.livekit.EgressSourceType\x12%\n\x06status\x18\x03 \x01(\x0e\x32\x15.livekit.EgressStatus\x12\x12\n\nstarted_at\x18\n \x01(\x03\x12\x10\n\x08\x65nded_at\x18\x0b \x01(\x03\x12\x12\n\nupdated_at\x18\x12 \x01(\x03\x12\x0f\n\x07\x64\x65tails\x18\x15 \x01(\t\x12\r\n\x05\x65rror\x18\t \x01(\t\x12\x12\n\nerror_code\x18\x16 \x01(\x05\x12=\n\x0eroom_composite\x18\x04 \x01(\x0b\x32#.livekit.RoomCompositeEgressRequestH\x00\x12(\n\x03web\x18\x0e \x01(\x0b\x32\x19.livekit.WebEgressRequestH\x00\x12\x38\n\x0bparticipant\x18\x13 \x01(\x0b\x32!.livekit.ParticipantEgressRequestH\x00\x12?\n\x0ftrack_composite\x18\x05 \x01(\x0b\x32$.livekit.TrackCompositeEgressRequestH\x00\x12,\n\x05track\x18\x06 \x01(\x0b\x32\x1b.livekit.TrackEgressRequestH\x00\x12-\n\x06stream\x18\x07 \x01(\x0b\x32\x17.livekit.StreamInfoListB\x02\x18\x01H\x01\x12%\n\x04\x66ile\x18\x08 \x01(\x0b\x32\x11.livekit.FileInfoB\x02\x18\x01H\x01\x12-\n\x08segments\x18\x0c \x01(\x0b\x32\x15.livekit.SegmentsInfoB\x02\x18\x01H\x01\x12+\n\x0estream_results\x18\x0f \x03(\x0b\x32\x13.livekit.StreamInfo\x12\'\n\x0c\x66ile_results\x18\x10 \x03(\x0b\x32\x11.livekit.FileInfo\x12.\n\x0fsegment_results\x18\x11 \x03(\x0b\x32\x15.livekit.SegmentsInfo\x12*\n\rimage_results\x18\x14 \x03(\x0b\x32\x13.livekit.ImagesInfo\x12\x19\n\x11manifest_location\x18\x17 \x01(\t\x12\x1b\n\x13\x62\x61\x63kup_storage_used\x18\x19 \x01(\x08\x42\t\n\x07requestB\x08\n\x06result\"7\n\x0eStreamInfoList\x12!\n\x04info\x18\x01 \x03(\x0b\x32\x13.livekit.StreamInfo:\x02\x18\x01\"\xe4\x01\n\nStreamInfo\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x12\n\nstarted_at\x18\x02 \x01(\x03\x12\x10\n\x08\x65nded_at\x18\x03 \x01(\x03\x12\x10\n\x08\x64uration\x18\x04 \x01(\x03\x12*\n\x06status\x18\x05 \x01(\x0e\x32\x1a.livekit.StreamInfo.Status\x12\r\n\x05\x65rror\x18\x06 \x01(\t\x12\x15\n\rlast_retry_at\x18\x07 \x01(\x03\x12\x0f\n\x07retries\x18\x08 \x01(\r\".\n\x06Status\x12\n\n\x06\x41\x43TIVE\x10\x00\x12\x0c\n\x08\x46INISHED\x10\x01\x12\n\n\x06\x46\x41ILED\x10\x02\"t\n\x08\x46ileInfo\x12\x10\n\x08\x66ilename\x18\x01 \x01(\t\x12\x12\n\nstarted_at\x18\x02 \x01(\x03\x12\x10\n\x08\x65nded_at\x18\x03 \x01(\x03\x12\x10\n\x08\x64uration\x18\x06 \x01(\x03\x12\x0c\n\x04size\x18\x04 \x01(\x03\x12\x10\n\x08location\x18\x05 \x01(\t\"\xd9\x01\n\x0cSegmentsInfo\x12\x15\n\rplaylist_name\x18\x01 \x01(\t\x12\x1a\n\x12live_playlist_name\x18\x08 \x01(\t\x12\x10\n\x08\x64uration\x18\x02 \x01(\x03\x12\x0c\n\x04size\x18\x03 \x01(\x03\x12\x19\n\x11playlist_location\x18\x04 \x01(\t\x12\x1e\n\x16live_playlist_location\x18\t \x01(\t\x12\x15\n\rsegment_count\x18\x05 \x01(\x03\x12\x12\n\nstarted_at\x18\x06 \x01(\x03\x12\x10\n\x08\x65nded_at\x18\x07 \x01(\x03\"`\n\nImagesInfo\x12\x17\n\x0f\x66ilename_prefix\x18\x04 \x01(\t\x12\x13\n\x0bimage_count\x18\x01 \x01(\x03\x12\x12\n\nstarted_at\x18\x02 \x01(\x03\x12\x10\n\x08\x65nded_at\x18\x03 \x01(\x03\"\xeb\x01\n\x15\x41utoParticipantEgress\x12\x30\n\x06preset\x18\x01 \x01(\x0e\x32\x1e.livekit.EncodingOptionsPresetH\x00\x12,\n\x08\x61\x64vanced\x18\x02 \x01(\x0b\x32\x18.livekit.EncodingOptionsH\x00\x12\x30\n\x0c\x66ile_outputs\x18\x03 \x03(\x0b\x32\x1a.livekit.EncodedFileOutput\x12\x35\n\x0fsegment_outputs\x18\x04 \x03(\x0b\x32\x1c.livekit.SegmentedFileOutputB\t\n\x07options\"\xdf\x01\n\x0f\x41utoTrackEgress\x12\x10\n\x08\x66ilepath\x18\x01 \x01(\t\x12\x18\n\x10\x64isable_manifest\x18\x05 \x01(\x08\x12\x1f\n\x02s3\x18\x02 \x01(\x0b\x32\x11.livekit.S3UploadH\x00\x12!\n\x03gcp\x18\x03 \x01(\x0b\x32\x12.livekit.GCPUploadH\x00\x12)\n\x05\x61zure\x18\x04 \x01(\x0b\x32\x18.livekit.AzureBlobUploadH\x00\x12\'\n\x06\x61liOSS\x18\x06 \x01(\x0b\x32\x15.livekit.AliOSSUploadH\x00\x42\x08\n\x06output*B\n\x0f\x45ncodedFileType\x12\x14\n\x10\x44\x45\x46\x41ULT_FILETYPE\x10\x00\x12\x07\n\x03MP4\x10\x01\x12\x07\n\x03OGG\x10\x02\x12\x07\n\x03MP3\x10\x03*N\n\x15SegmentedFileProtocol\x12#\n\x1f\x44\x45\x46\x41ULT_SEGMENTED_FILE_PROTOCOL\x10\x00\x12\x10\n\x0cHLS_PROTOCOL\x10\x01*/\n\x13SegmentedFileSuffix\x12\t\n\x05INDEX\x10\x00\x12\r\n\tTIMESTAMP\x10\x01*f\n\x0fImageFileSuffix\x12\x16\n\x12IMAGE_SUFFIX_INDEX\x10\x00\x12\x1a\n\x16IMAGE_SUFFIX_TIMESTAMP\x10\x01\x12\x1f\n\x1bIMAGE_SUFFIX_NONE_OVERWRITE\x10\x02*9\n\x0eStreamProtocol\x12\x14\n\x10\x44\x45\x46\x41ULT_PROTOCOL\x10\x00\x12\x08\n\x04RTMP\x10\x01\x12\x07\n\x03SRT\x10\x02*U\n\x0b\x41udioMixing\x12\x12\n\x0e\x44\x45\x46\x41ULT_MIXING\x10\x00\x12\x16\n\x12\x44UAL_CHANNEL_AGENT\x10\x01\x12\x1a\n\x16\x44UAL_CHANNEL_ALTERNATE\x10\x02*\xcf\x01\n\x15\x45ncodingOptionsPreset\x12\x10\n\x0cH264_720P_30\x10\x00\x12\x10\n\x0cH264_720P_60\x10\x01\x12\x11\n\rH264_1080P_30\x10\x02\x12\x11\n\rH264_1080P_60\x10\x03\x12\x19\n\x15PORTRAIT_H264_720P_30\x10\x04\x12\x19\n\x15PORTRAIT_H264_720P_60\x10\x05\x12\x1a\n\x16PORTRAIT_H264_1080P_30\x10\x06\x12\x1a\n\x16PORTRAIT_H264_1080P_60\x10\x07*\x9f\x01\n\x0c\x45gressStatus\x12\x13\n\x0f\x45GRESS_STARTING\x10\x00\x12\x11\n\rEGRESS_ACTIVE\x10\x01\x12\x11\n\rEGRESS_ENDING\x10\x02\x12\x13\n\x0f\x45GRESS_COMPLETE\x10\x03\x12\x11\n\rEGRESS_FAILED\x10\x04\x12\x12\n\x0e\x45GRESS_ABORTED\x10\x05\x12\x18\n\x14\x45GRESS_LIMIT_REACHED\x10\x06*J\n\x10\x45gressSourceType\x12\x1a\n\x16\x45GRESS_SOURCE_TYPE_WEB\x10\x00\x12\x1a\n\x16\x45GRESS_SOURCE_TYPE_SDK\x10\x01\x32\x9c\x05\n\x06\x45gress\x12T\n\x18StartRoomCompositeEgress\x12#.livekit.RoomCompositeEgressRequest\x1a\x13.livekit.EgressInfo\x12@\n\x0eStartWebEgress\x12\x19.livekit.WebEgressRequest\x1a\x13.livekit.EgressInfo\x12P\n\x16StartParticipantEgress\x12!.livekit.ParticipantEgressRequest\x1a\x13.livekit.EgressInfo\x12V\n\x19StartTrackCompositeEgress\x12$.livekit.TrackCompositeEgressRequest\x1a\x13.livekit.EgressInfo\x12\x44\n\x10StartTrackEgress\x12\x1b.livekit.TrackEgressRequest\x1a\x13.livekit.EgressInfo\x12\x41\n\x0cUpdateLayout\x12\x1c.livekit.UpdateLayoutRequest\x1a\x13.livekit.EgressInfo\x12\x41\n\x0cUpdateStream\x12\x1c.livekit.UpdateStreamRequest\x1a\x13.livekit.EgressInfo\x12\x45\n\nListEgress\x12\x1a.livekit.ListEgressRequest\x1a\x1b.livekit.ListEgressResponse\x12=\n\nStopEgress\x12\x1a.livekit.StopEgressRequest\x1a\x13.livekit.EgressInfoBFZ#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -45,23 +45,25 @@ _globals['_S3UPLOAD_METADATAENTRY']._options = None _globals['_S3UPLOAD_METADATAENTRY']._serialized_options = b'8\001' _globals['_S3UPLOAD'].fields_by_name['access_key']._options = None - _globals['_S3UPLOAD'].fields_by_name['access_key']._serialized_options = b'\210\265\030\001' + _globals['_S3UPLOAD'].fields_by_name['access_key']._serialized_options = b'\210\354,\001' _globals['_S3UPLOAD'].fields_by_name['secret']._options = None - _globals['_S3UPLOAD'].fields_by_name['secret']._serialized_options = b'\210\265\030\001' + _globals['_S3UPLOAD'].fields_by_name['secret']._serialized_options = b'\210\354,\001' _globals['_S3UPLOAD'].fields_by_name['session_token']._options = None - _globals['_S3UPLOAD'].fields_by_name['session_token']._serialized_options = b'\210\265\030\001' + _globals['_S3UPLOAD'].fields_by_name['session_token']._serialized_options = b'\210\354,\001' _globals['_S3UPLOAD'].fields_by_name['assume_role_arn']._options = None - _globals['_S3UPLOAD'].fields_by_name['assume_role_arn']._serialized_options = b'\210\265\030\001' + _globals['_S3UPLOAD'].fields_by_name['assume_role_arn']._serialized_options = b'\210\354,\001' + _globals['_S3UPLOAD'].fields_by_name['assume_role_external_id']._options = None + _globals['_S3UPLOAD'].fields_by_name['assume_role_external_id']._serialized_options = b'\210\354,\001' _globals['_GCPUPLOAD'].fields_by_name['credentials']._options = None - _globals['_GCPUPLOAD'].fields_by_name['credentials']._serialized_options = b'\210\265\030\001' + _globals['_GCPUPLOAD'].fields_by_name['credentials']._serialized_options = b'\210\354,\001' _globals['_AZUREBLOBUPLOAD'].fields_by_name['account_name']._options = None - _globals['_AZUREBLOBUPLOAD'].fields_by_name['account_name']._serialized_options = b'\210\265\030\001' + _globals['_AZUREBLOBUPLOAD'].fields_by_name['account_name']._serialized_options = b'\210\354,\001' _globals['_AZUREBLOBUPLOAD'].fields_by_name['account_key']._options = None - _globals['_AZUREBLOBUPLOAD'].fields_by_name['account_key']._serialized_options = b'\210\265\030\001' + _globals['_AZUREBLOBUPLOAD'].fields_by_name['account_key']._serialized_options = b'\210\354,\001' _globals['_ALIOSSUPLOAD'].fields_by_name['access_key']._options = None - _globals['_ALIOSSUPLOAD'].fields_by_name['access_key']._serialized_options = b'\210\265\030\001' + _globals['_ALIOSSUPLOAD'].fields_by_name['access_key']._serialized_options = b'\210\354,\001' _globals['_ALIOSSUPLOAD'].fields_by_name['secret']._options = None - _globals['_ALIOSSUPLOAD'].fields_by_name['secret']._serialized_options = b'\210\265\030\001' + _globals['_ALIOSSUPLOAD'].fields_by_name['secret']._serialized_options = b'\210\354,\001' _globals['_EGRESSINFO'].fields_by_name['stream']._options = None _globals['_EGRESSINFO'].fields_by_name['stream']._serialized_options = b'\030\001' _globals['_EGRESSINFO'].fields_by_name['file']._options = None @@ -70,24 +72,24 @@ _globals['_EGRESSINFO'].fields_by_name['segments']._serialized_options = b'\030\001' _globals['_STREAMINFOLIST']._options = None _globals['_STREAMINFOLIST']._serialized_options = b'\030\001' - _globals['_ENCODEDFILETYPE']._serialized_start=7486 - _globals['_ENCODEDFILETYPE']._serialized_end=7552 - _globals['_SEGMENTEDFILEPROTOCOL']._serialized_start=7554 - _globals['_SEGMENTEDFILEPROTOCOL']._serialized_end=7632 - _globals['_SEGMENTEDFILESUFFIX']._serialized_start=7634 - _globals['_SEGMENTEDFILESUFFIX']._serialized_end=7681 - _globals['_IMAGEFILESUFFIX']._serialized_start=7683 - _globals['_IMAGEFILESUFFIX']._serialized_end=7785 - _globals['_STREAMPROTOCOL']._serialized_start=7787 - _globals['_STREAMPROTOCOL']._serialized_end=7844 - _globals['_AUDIOMIXING']._serialized_start=7846 - _globals['_AUDIOMIXING']._serialized_end=7931 - _globals['_ENCODINGOPTIONSPRESET']._serialized_start=7934 - _globals['_ENCODINGOPTIONSPRESET']._serialized_end=8141 - _globals['_EGRESSSTATUS']._serialized_start=8144 - _globals['_EGRESSSTATUS']._serialized_end=8303 - _globals['_EGRESSSOURCETYPE']._serialized_start=8305 - _globals['_EGRESSSOURCETYPE']._serialized_end=8379 + _globals['_ENCODEDFILETYPE']._serialized_start=7492 + _globals['_ENCODEDFILETYPE']._serialized_end=7558 + _globals['_SEGMENTEDFILEPROTOCOL']._serialized_start=7560 + _globals['_SEGMENTEDFILEPROTOCOL']._serialized_end=7638 + _globals['_SEGMENTEDFILESUFFIX']._serialized_start=7640 + _globals['_SEGMENTEDFILESUFFIX']._serialized_end=7687 + _globals['_IMAGEFILESUFFIX']._serialized_start=7689 + _globals['_IMAGEFILESUFFIX']._serialized_end=7791 + _globals['_STREAMPROTOCOL']._serialized_start=7793 + _globals['_STREAMPROTOCOL']._serialized_end=7850 + _globals['_AUDIOMIXING']._serialized_start=7852 + _globals['_AUDIOMIXING']._serialized_end=7937 + _globals['_ENCODINGOPTIONSPRESET']._serialized_start=7940 + _globals['_ENCODINGOPTIONSPRESET']._serialized_end=8147 + _globals['_EGRESSSTATUS']._serialized_start=8150 + _globals['_EGRESSSTATUS']._serialized_end=8309 + _globals['_EGRESSSOURCETYPE']._serialized_start=8311 + _globals['_EGRESSSOURCETYPE']._serialized_end=8385 _globals['_ROOMCOMPOSITEEGRESSREQUEST']._serialized_start=78 _globals['_ROOMCOMPOSITEEGRESSREQUEST']._serialized_end=753 _globals['_WEBEGRESSREQUEST']._serialized_start=756 @@ -107,49 +109,49 @@ _globals['_IMAGEOUTPUT']._serialized_start=3496 _globals['_IMAGEOUTPUT']._serialized_end=3872 _globals['_S3UPLOAD']._serialized_start=3875 - _globals['_S3UPLOAD']._serialized_end=4285 - _globals['_S3UPLOAD_METADATAENTRY']._serialized_start=4238 - _globals['_S3UPLOAD_METADATAENTRY']._serialized_end=4285 - _globals['_GCPUPLOAD']._serialized_start=4287 - _globals['_GCPUPLOAD']._serialized_end=4378 - _globals['_AZUREBLOBUPLOAD']._serialized_start=4380 - _globals['_AZUREBLOBUPLOAD']._serialized_end=4476 - _globals['_ALIOSSUPLOAD']._serialized_start=4478 - _globals['_ALIOSSUPLOAD']._serialized_end=4590 - _globals['_PROXYCONFIG']._serialized_start=4592 - _globals['_PROXYCONFIG']._serialized_end=4654 - _globals['_STREAMOUTPUT']._serialized_start=4656 - _globals['_STREAMOUTPUT']._serialized_end=4727 - _globals['_ENCODINGOPTIONS']._serialized_start=4730 - _globals['_ENCODINGOPTIONS']._serialized_end=5041 - _globals['_UPDATELAYOUTREQUEST']._serialized_start=5043 - _globals['_UPDATELAYOUTREQUEST']._serialized_end=5099 - _globals['_UPDATESTREAMREQUEST']._serialized_start=5101 - _globals['_UPDATESTREAMREQUEST']._serialized_end=5194 - _globals['_LISTEGRESSREQUEST']._serialized_start=5196 - _globals['_LISTEGRESSREQUEST']._serialized_end=5269 - _globals['_LISTEGRESSRESPONSE']._serialized_start=5271 - _globals['_LISTEGRESSRESPONSE']._serialized_end=5327 - _globals['_STOPEGRESSREQUEST']._serialized_start=5329 - _globals['_STOPEGRESSREQUEST']._serialized_end=5367 - _globals['_EGRESSINFO']._serialized_start=5370 - _globals['_EGRESSINFO']._serialized_end=6296 - _globals['_STREAMINFOLIST']._serialized_start=6298 - _globals['_STREAMINFOLIST']._serialized_end=6353 - _globals['_STREAMINFO']._serialized_start=6356 - _globals['_STREAMINFO']._serialized_end=6584 - _globals['_STREAMINFO_STATUS']._serialized_start=6538 - _globals['_STREAMINFO_STATUS']._serialized_end=6584 - _globals['_FILEINFO']._serialized_start=6586 - _globals['_FILEINFO']._serialized_end=6702 - _globals['_SEGMENTSINFO']._serialized_start=6705 - _globals['_SEGMENTSINFO']._serialized_end=6922 - _globals['_IMAGESINFO']._serialized_start=6924 - _globals['_IMAGESINFO']._serialized_end=7020 - _globals['_AUTOPARTICIPANTEGRESS']._serialized_start=7023 - _globals['_AUTOPARTICIPANTEGRESS']._serialized_end=7258 - _globals['_AUTOTRACKEGRESS']._serialized_start=7261 - _globals['_AUTOTRACKEGRESS']._serialized_end=7484 - _globals['_EGRESS']._serialized_start=8382 - _globals['_EGRESS']._serialized_end=9050 + _globals['_S3UPLOAD']._serialized_end=4291 + _globals['_S3UPLOAD_METADATAENTRY']._serialized_start=4244 + _globals['_S3UPLOAD_METADATAENTRY']._serialized_end=4291 + _globals['_GCPUPLOAD']._serialized_start=4293 + _globals['_GCPUPLOAD']._serialized_end=4384 + _globals['_AZUREBLOBUPLOAD']._serialized_start=4386 + _globals['_AZUREBLOBUPLOAD']._serialized_end=4482 + _globals['_ALIOSSUPLOAD']._serialized_start=4484 + _globals['_ALIOSSUPLOAD']._serialized_end=4596 + _globals['_PROXYCONFIG']._serialized_start=4598 + _globals['_PROXYCONFIG']._serialized_end=4660 + _globals['_STREAMOUTPUT']._serialized_start=4662 + _globals['_STREAMOUTPUT']._serialized_end=4733 + _globals['_ENCODINGOPTIONS']._serialized_start=4736 + _globals['_ENCODINGOPTIONS']._serialized_end=5047 + _globals['_UPDATELAYOUTREQUEST']._serialized_start=5049 + _globals['_UPDATELAYOUTREQUEST']._serialized_end=5105 + _globals['_UPDATESTREAMREQUEST']._serialized_start=5107 + _globals['_UPDATESTREAMREQUEST']._serialized_end=5200 + _globals['_LISTEGRESSREQUEST']._serialized_start=5202 + _globals['_LISTEGRESSREQUEST']._serialized_end=5275 + _globals['_LISTEGRESSRESPONSE']._serialized_start=5277 + _globals['_LISTEGRESSRESPONSE']._serialized_end=5333 + _globals['_STOPEGRESSREQUEST']._serialized_start=5335 + _globals['_STOPEGRESSREQUEST']._serialized_end=5373 + _globals['_EGRESSINFO']._serialized_start=5376 + _globals['_EGRESSINFO']._serialized_end=6302 + _globals['_STREAMINFOLIST']._serialized_start=6304 + _globals['_STREAMINFOLIST']._serialized_end=6359 + _globals['_STREAMINFO']._serialized_start=6362 + _globals['_STREAMINFO']._serialized_end=6590 + _globals['_STREAMINFO_STATUS']._serialized_start=6544 + _globals['_STREAMINFO_STATUS']._serialized_end=6590 + _globals['_FILEINFO']._serialized_start=6592 + _globals['_FILEINFO']._serialized_end=6708 + _globals['_SEGMENTSINFO']._serialized_start=6711 + _globals['_SEGMENTSINFO']._serialized_end=6928 + _globals['_IMAGESINFO']._serialized_start=6930 + _globals['_IMAGESINFO']._serialized_end=7026 + _globals['_AUTOPARTICIPANTEGRESS']._serialized_start=7029 + _globals['_AUTOPARTICIPANTEGRESS']._serialized_end=7264 + _globals['_AUTOTRACKEGRESS']._serialized_start=7267 + _globals['_AUTOTRACKEGRESS']._serialized_end=7490 + _globals['_EGRESS']._serialized_start=8388 + _globals['_EGRESS']._serialized_end=9056 # @@protoc_insertion_point(module_scope) diff --git a/livekit-protocol/livekit/protocol/ingress.py b/livekit-protocol/livekit/protocol/ingress.py index 1b15de0e..e0ad240b 100644 --- a/livekit-protocol/livekit/protocol/ingress.py +++ b/livekit-protocol/livekit/protocol/ingress.py @@ -13,9 +13,10 @@ from . import models as _models_ +from .logger_pb import options as logger_dot_options__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15livekit_ingress.proto\x12\x07livekit\x1a\x14livekit_models.proto\"\x99\x03\n\x14\x43reateIngressRequest\x12)\n\ninput_type\x18\x01 \x01(\x0e\x32\x15.livekit.IngressInput\x12\x0b\n\x03url\x18\t \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x11\n\troom_name\x18\x03 \x01(\t\x12\x1c\n\x14participant_identity\x18\x04 \x01(\t\x12\x18\n\x10participant_name\x18\x05 \x01(\t\x12\x1c\n\x14participant_metadata\x18\n \x01(\t\x12\x1e\n\x12\x62ypass_transcoding\x18\x08 \x01(\x08\x42\x02\x18\x01\x12\x1f\n\x12\x65nable_transcoding\x18\x0b \x01(\x08H\x00\x88\x01\x01\x12+\n\x05\x61udio\x18\x06 \x01(\x0b\x32\x1c.livekit.IngressAudioOptions\x12+\n\x05video\x18\x07 \x01(\x0b\x32\x1c.livekit.IngressVideoOptions\x12\x14\n\x07\x65nabled\x18\x0c \x01(\x08H\x01\x88\x01\x01\x42\x15\n\x13_enable_transcodingB\n\n\x08_enabled\"\xcd\x01\n\x13IngressAudioOptions\x12\x0c\n\x04name\x18\x01 \x01(\t\x12$\n\x06source\x18\x02 \x01(\x0e\x32\x14.livekit.TrackSource\x12\x35\n\x06preset\x18\x03 \x01(\x0e\x32#.livekit.IngressAudioEncodingPresetH\x00\x12\x37\n\x07options\x18\x04 \x01(\x0b\x32$.livekit.IngressAudioEncodingOptionsH\x00\x42\x12\n\x10\x65ncoding_options\"\xcd\x01\n\x13IngressVideoOptions\x12\x0c\n\x04name\x18\x01 \x01(\t\x12$\n\x06source\x18\x02 \x01(\x0e\x32\x14.livekit.TrackSource\x12\x35\n\x06preset\x18\x03 \x01(\x0e\x32#.livekit.IngressVideoEncodingPresetH\x00\x12\x37\n\x07options\x18\x04 \x01(\x0b\x32$.livekit.IngressVideoEncodingOptionsH\x00\x42\x12\n\x10\x65ncoding_options\"\x7f\n\x1bIngressAudioEncodingOptions\x12(\n\x0b\x61udio_codec\x18\x01 \x01(\x0e\x32\x13.livekit.AudioCodec\x12\x0f\n\x07\x62itrate\x18\x02 \x01(\r\x12\x13\n\x0b\x64isable_dtx\x18\x03 \x01(\x08\x12\x10\n\x08\x63hannels\x18\x04 \x01(\r\"\x80\x01\n\x1bIngressVideoEncodingOptions\x12(\n\x0bvideo_codec\x18\x01 \x01(\x0e\x32\x13.livekit.VideoCodec\x12\x12\n\nframe_rate\x18\x02 \x01(\x01\x12#\n\x06layers\x18\x03 \x03(\x0b\x32\x13.livekit.VideoLayer\"\xf0\x03\n\x0bIngressInfo\x12\x12\n\ningress_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x12\n\nstream_key\x18\x03 \x01(\t\x12\x0b\n\x03url\x18\x04 \x01(\t\x12)\n\ninput_type\x18\x05 \x01(\x0e\x32\x15.livekit.IngressInput\x12\x1e\n\x12\x62ypass_transcoding\x18\r \x01(\x08\x42\x02\x18\x01\x12\x1f\n\x12\x65nable_transcoding\x18\x0f \x01(\x08H\x00\x88\x01\x01\x12+\n\x05\x61udio\x18\x06 \x01(\x0b\x32\x1c.livekit.IngressAudioOptions\x12+\n\x05video\x18\x07 \x01(\x0b\x32\x1c.livekit.IngressVideoOptions\x12\x11\n\troom_name\x18\x08 \x01(\t\x12\x1c\n\x14participant_identity\x18\t \x01(\t\x12\x18\n\x10participant_name\x18\n \x01(\t\x12\x1c\n\x14participant_metadata\x18\x0e \x01(\t\x12\x10\n\x08reusable\x18\x0b \x01(\x08\x12$\n\x05state\x18\x0c \x01(\x0b\x32\x15.livekit.IngressState\x12\x14\n\x07\x65nabled\x18\x10 \x01(\x08H\x01\x88\x01\x01\x42\x15\n\x13_enable_transcodingB\n\n\x08_enabled\"\x9e\x03\n\x0cIngressState\x12,\n\x06status\x18\x01 \x01(\x0e\x32\x1c.livekit.IngressState.Status\x12\r\n\x05\x65rror\x18\x02 \x01(\t\x12\'\n\x05video\x18\x03 \x01(\x0b\x32\x18.livekit.InputVideoState\x12\'\n\x05\x61udio\x18\x04 \x01(\x0b\x32\x18.livekit.InputAudioState\x12\x0f\n\x07room_id\x18\x05 \x01(\t\x12\x12\n\nstarted_at\x18\x07 \x01(\x03\x12\x10\n\x08\x65nded_at\x18\x08 \x01(\x03\x12\x12\n\nupdated_at\x18\n \x01(\x03\x12\x13\n\x0bresource_id\x18\t \x01(\t\x12\"\n\x06tracks\x18\x06 \x03(\x0b\x32\x12.livekit.TrackInfo\"{\n\x06Status\x12\x15\n\x11\x45NDPOINT_INACTIVE\x10\x00\x12\x16\n\x12\x45NDPOINT_BUFFERING\x10\x01\x12\x17\n\x13\x45NDPOINT_PUBLISHING\x10\x02\x12\x12\n\x0e\x45NDPOINT_ERROR\x10\x03\x12\x15\n\x11\x45NDPOINT_COMPLETE\x10\x04\"o\n\x0fInputVideoState\x12\x11\n\tmime_type\x18\x01 \x01(\t\x12\x17\n\x0f\x61verage_bitrate\x18\x02 \x01(\r\x12\r\n\x05width\x18\x03 \x01(\r\x12\x0e\n\x06height\x18\x04 \x01(\r\x12\x11\n\tframerate\x18\x05 \x01(\x01\"d\n\x0fInputAudioState\x12\x11\n\tmime_type\x18\x01 \x01(\t\x12\x17\n\x0f\x61verage_bitrate\x18\x02 \x01(\r\x12\x10\n\x08\x63hannels\x18\x03 \x01(\r\x12\x13\n\x0bsample_rate\x18\x04 \x01(\r\"\x91\x03\n\x14UpdateIngressRequest\x12\x12\n\ningress_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x11\n\troom_name\x18\x03 \x01(\t\x12\x1c\n\x14participant_identity\x18\x04 \x01(\t\x12\x18\n\x10participant_name\x18\x05 \x01(\t\x12\x1c\n\x14participant_metadata\x18\t \x01(\t\x12#\n\x12\x62ypass_transcoding\x18\x08 \x01(\x08\x42\x02\x18\x01H\x00\x88\x01\x01\x12\x1f\n\x12\x65nable_transcoding\x18\n \x01(\x08H\x01\x88\x01\x01\x12+\n\x05\x61udio\x18\x06 \x01(\x0b\x32\x1c.livekit.IngressAudioOptions\x12+\n\x05video\x18\x07 \x01(\x0b\x32\x1c.livekit.IngressVideoOptions\x12\x14\n\x07\x65nabled\x18\x0b \x01(\x08H\x02\x88\x01\x01\x42\x15\n\x13_bypass_transcodingB\x15\n\x13_enable_transcodingB\n\n\x08_enabled\";\n\x12ListIngressRequest\x12\x11\n\troom_name\x18\x01 \x01(\t\x12\x12\n\ningress_id\x18\x02 \x01(\t\":\n\x13ListIngressResponse\x12#\n\x05items\x18\x01 \x03(\x0b\x32\x14.livekit.IngressInfo\"*\n\x14\x44\x65leteIngressRequest\x12\x12\n\ningress_id\x18\x01 \x01(\t*=\n\x0cIngressInput\x12\x0e\n\nRTMP_INPUT\x10\x00\x12\x0e\n\nWHIP_INPUT\x10\x01\x12\r\n\tURL_INPUT\x10\x02*I\n\x1aIngressAudioEncodingPreset\x12\x16\n\x12OPUS_STEREO_96KBPS\x10\x00\x12\x13\n\x0fOPUS_MONO_64KBS\x10\x01*\x84\x03\n\x1aIngressVideoEncodingPreset\x12\x1c\n\x18H264_720P_30FPS_3_LAYERS\x10\x00\x12\x1d\n\x19H264_1080P_30FPS_3_LAYERS\x10\x01\x12\x1c\n\x18H264_540P_25FPS_2_LAYERS\x10\x02\x12\x1b\n\x17H264_720P_30FPS_1_LAYER\x10\x03\x12\x1c\n\x18H264_1080P_30FPS_1_LAYER\x10\x04\x12(\n$H264_720P_30FPS_3_LAYERS_HIGH_MOTION\x10\x05\x12)\n%H264_1080P_30FPS_3_LAYERS_HIGH_MOTION\x10\x06\x12(\n$H264_540P_25FPS_2_LAYERS_HIGH_MOTION\x10\x07\x12\'\n#H264_720P_30FPS_1_LAYER_HIGH_MOTION\x10\x08\x12(\n$H264_1080P_30FPS_1_LAYER_HIGH_MOTION\x10\t2\xa5\x02\n\x07Ingress\x12\x44\n\rCreateIngress\x12\x1d.livekit.CreateIngressRequest\x1a\x14.livekit.IngressInfo\x12\x44\n\rUpdateIngress\x12\x1d.livekit.UpdateIngressRequest\x1a\x14.livekit.IngressInfo\x12H\n\x0bListIngress\x12\x1b.livekit.ListIngressRequest\x1a\x1c.livekit.ListIngressResponse\x12\x44\n\rDeleteIngress\x12\x1d.livekit.DeleteIngressRequest\x1a\x14.livekit.IngressInfoBFZ#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15livekit_ingress.proto\x12\x07livekit\x1a\x14livekit_models.proto\x1a\x14logger/options.proto\"\xc7\x03\n\x14\x43reateIngressRequest\x12)\n\ninput_type\x18\x01 \x01(\x0e\x32\x15.livekit.IngressInput\x12\x0b\n\x03url\x18\t \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x11\n\troom_name\x18\x03 \x01(\t\x12\x1c\n\x14participant_identity\x18\x04 \x01(\t\x12\x1e\n\x10participant_name\x18\x05 \x01(\tB\x04\x88\xec,\x01\x12\x44\n\x14participant_metadata\x18\n \x01(\tB&\x88\xec,\x01\x92\xec,\x1e\x12\x1e\n\x12\x62ypass_transcoding\x18\x08 \x01(\x08\x42\x02\x18\x01\x12\x1f\n\x12\x65nable_transcoding\x18\x0b \x01(\x08H\x00\x88\x01\x01\x12+\n\x05\x61udio\x18\x06 \x01(\x0b\x32\x1c.livekit.IngressAudioOptions\x12+\n\x05video\x18\x07 \x01(\x0b\x32\x1c.livekit.IngressVideoOptions\x12\x14\n\x07\x65nabled\x18\x0c \x01(\x08H\x01\x88\x01\x01\x42\x15\n\x13_enable_transcodingB\n\n\x08_enabled\"\xcd\x01\n\x13IngressAudioOptions\x12\x0c\n\x04name\x18\x01 \x01(\t\x12$\n\x06source\x18\x02 \x01(\x0e\x32\x14.livekit.TrackSource\x12\x35\n\x06preset\x18\x03 \x01(\x0e\x32#.livekit.IngressAudioEncodingPresetH\x00\x12\x37\n\x07options\x18\x04 \x01(\x0b\x32$.livekit.IngressAudioEncodingOptionsH\x00\x42\x12\n\x10\x65ncoding_options\"\xcd\x01\n\x13IngressVideoOptions\x12\x0c\n\x04name\x18\x01 \x01(\t\x12$\n\x06source\x18\x02 \x01(\x0e\x32\x14.livekit.TrackSource\x12\x35\n\x06preset\x18\x03 \x01(\x0e\x32#.livekit.IngressVideoEncodingPresetH\x00\x12\x37\n\x07options\x18\x04 \x01(\x0b\x32$.livekit.IngressVideoEncodingOptionsH\x00\x42\x12\n\x10\x65ncoding_options\"\x7f\n\x1bIngressAudioEncodingOptions\x12(\n\x0b\x61udio_codec\x18\x01 \x01(\x0e\x32\x13.livekit.AudioCodec\x12\x0f\n\x07\x62itrate\x18\x02 \x01(\r\x12\x13\n\x0b\x64isable_dtx\x18\x03 \x01(\x08\x12\x10\n\x08\x63hannels\x18\x04 \x01(\r\"\x80\x01\n\x1bIngressVideoEncodingOptions\x12(\n\x0bvideo_codec\x18\x01 \x01(\x0e\x32\x13.livekit.VideoCodec\x12\x12\n\nframe_rate\x18\x02 \x01(\x01\x12#\n\x06layers\x18\x03 \x03(\x0b\x32\x13.livekit.VideoLayer\"\x9e\x04\n\x0bIngressInfo\x12\x12\n\ningress_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x12\n\nstream_key\x18\x03 \x01(\t\x12\x0b\n\x03url\x18\x04 \x01(\t\x12)\n\ninput_type\x18\x05 \x01(\x0e\x32\x15.livekit.IngressInput\x12\x1e\n\x12\x62ypass_transcoding\x18\r \x01(\x08\x42\x02\x18\x01\x12\x1f\n\x12\x65nable_transcoding\x18\x0f \x01(\x08H\x00\x88\x01\x01\x12+\n\x05\x61udio\x18\x06 \x01(\x0b\x32\x1c.livekit.IngressAudioOptions\x12+\n\x05video\x18\x07 \x01(\x0b\x32\x1c.livekit.IngressVideoOptions\x12\x11\n\troom_name\x18\x08 \x01(\t\x12\x1c\n\x14participant_identity\x18\t \x01(\t\x12\x1e\n\x10participant_name\x18\n \x01(\tB\x04\x88\xec,\x01\x12\x44\n\x14participant_metadata\x18\x0e \x01(\tB&\x88\xec,\x01\x92\xec,\x1e\x12\x10\n\x08reusable\x18\x0b \x01(\x08\x12$\n\x05state\x18\x0c \x01(\x0b\x32\x15.livekit.IngressState\x12\x14\n\x07\x65nabled\x18\x10 \x01(\x08H\x01\x88\x01\x01\x42\x15\n\x13_enable_transcodingB\n\n\x08_enabled\"\x9e\x03\n\x0cIngressState\x12,\n\x06status\x18\x01 \x01(\x0e\x32\x1c.livekit.IngressState.Status\x12\r\n\x05\x65rror\x18\x02 \x01(\t\x12\'\n\x05video\x18\x03 \x01(\x0b\x32\x18.livekit.InputVideoState\x12\'\n\x05\x61udio\x18\x04 \x01(\x0b\x32\x18.livekit.InputAudioState\x12\x0f\n\x07room_id\x18\x05 \x01(\t\x12\x12\n\nstarted_at\x18\x07 \x01(\x03\x12\x10\n\x08\x65nded_at\x18\x08 \x01(\x03\x12\x12\n\nupdated_at\x18\n \x01(\x03\x12\x13\n\x0bresource_id\x18\t \x01(\t\x12\"\n\x06tracks\x18\x06 \x03(\x0b\x32\x12.livekit.TrackInfo\"{\n\x06Status\x12\x15\n\x11\x45NDPOINT_INACTIVE\x10\x00\x12\x16\n\x12\x45NDPOINT_BUFFERING\x10\x01\x12\x17\n\x13\x45NDPOINT_PUBLISHING\x10\x02\x12\x12\n\x0e\x45NDPOINT_ERROR\x10\x03\x12\x15\n\x11\x45NDPOINT_COMPLETE\x10\x04\"o\n\x0fInputVideoState\x12\x11\n\tmime_type\x18\x01 \x01(\t\x12\x17\n\x0f\x61verage_bitrate\x18\x02 \x01(\r\x12\r\n\x05width\x18\x03 \x01(\r\x12\x0e\n\x06height\x18\x04 \x01(\r\x12\x11\n\tframerate\x18\x05 \x01(\x01\"d\n\x0fInputAudioState\x12\x11\n\tmime_type\x18\x01 \x01(\t\x12\x17\n\x0f\x61verage_bitrate\x18\x02 \x01(\r\x12\x10\n\x08\x63hannels\x18\x03 \x01(\r\x12\x13\n\x0bsample_rate\x18\x04 \x01(\r\"\xbf\x03\n\x14UpdateIngressRequest\x12\x12\n\ningress_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x11\n\troom_name\x18\x03 \x01(\t\x12\x1c\n\x14participant_identity\x18\x04 \x01(\t\x12\x1e\n\x10participant_name\x18\x05 \x01(\tB\x04\x88\xec,\x01\x12\x44\n\x14participant_metadata\x18\t \x01(\tB&\x88\xec,\x01\x92\xec,\x1e\x12#\n\x12\x62ypass_transcoding\x18\x08 \x01(\x08\x42\x02\x18\x01H\x00\x88\x01\x01\x12\x1f\n\x12\x65nable_transcoding\x18\n \x01(\x08H\x01\x88\x01\x01\x12+\n\x05\x61udio\x18\x06 \x01(\x0b\x32\x1c.livekit.IngressAudioOptions\x12+\n\x05video\x18\x07 \x01(\x0b\x32\x1c.livekit.IngressVideoOptions\x12\x14\n\x07\x65nabled\x18\x0b \x01(\x08H\x02\x88\x01\x01\x42\x15\n\x13_bypass_transcodingB\x15\n\x13_enable_transcodingB\n\n\x08_enabled\";\n\x12ListIngressRequest\x12\x11\n\troom_name\x18\x01 \x01(\t\x12\x12\n\ningress_id\x18\x02 \x01(\t\":\n\x13ListIngressResponse\x12#\n\x05items\x18\x01 \x03(\x0b\x32\x14.livekit.IngressInfo\"*\n\x14\x44\x65leteIngressRequest\x12\x12\n\ningress_id\x18\x01 \x01(\t*=\n\x0cIngressInput\x12\x0e\n\nRTMP_INPUT\x10\x00\x12\x0e\n\nWHIP_INPUT\x10\x01\x12\r\n\tURL_INPUT\x10\x02*I\n\x1aIngressAudioEncodingPreset\x12\x16\n\x12OPUS_STEREO_96KBPS\x10\x00\x12\x13\n\x0fOPUS_MONO_64KBS\x10\x01*\x84\x03\n\x1aIngressVideoEncodingPreset\x12\x1c\n\x18H264_720P_30FPS_3_LAYERS\x10\x00\x12\x1d\n\x19H264_1080P_30FPS_3_LAYERS\x10\x01\x12\x1c\n\x18H264_540P_25FPS_2_LAYERS\x10\x02\x12\x1b\n\x17H264_720P_30FPS_1_LAYER\x10\x03\x12\x1c\n\x18H264_1080P_30FPS_1_LAYER\x10\x04\x12(\n$H264_720P_30FPS_3_LAYERS_HIGH_MOTION\x10\x05\x12)\n%H264_1080P_30FPS_3_LAYERS_HIGH_MOTION\x10\x06\x12(\n$H264_540P_25FPS_2_LAYERS_HIGH_MOTION\x10\x07\x12\'\n#H264_720P_30FPS_1_LAYER_HIGH_MOTION\x10\x08\x12(\n$H264_1080P_30FPS_1_LAYER_HIGH_MOTION\x10\t2\xa5\x02\n\x07Ingress\x12\x44\n\rCreateIngress\x12\x1d.livekit.CreateIngressRequest\x1a\x14.livekit.IngressInfo\x12\x44\n\rUpdateIngress\x12\x1d.livekit.UpdateIngressRequest\x1a\x14.livekit.IngressInfo\x12H\n\x0bListIngress\x12\x1b.livekit.ListIngressRequest\x1a\x1c.livekit.ListIngressResponse\x12\x44\n\rDeleteIngress\x12\x1d.livekit.DeleteIngressRequest\x1a\x14.livekit.IngressInfoBFZ#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -23,46 +24,58 @@ if _descriptor._USE_C_DESCRIPTORS == False: _globals['DESCRIPTOR']._options = None _globals['DESCRIPTOR']._serialized_options = b'Z#github.com/livekit/protocol/livekit\252\002\rLiveKit.Proto\352\002\016LiveKit::Proto' + _globals['_CREATEINGRESSREQUEST'].fields_by_name['participant_name']._options = None + _globals['_CREATEINGRESSREQUEST'].fields_by_name['participant_name']._serialized_options = b'\210\354,\001' + _globals['_CREATEINGRESSREQUEST'].fields_by_name['participant_metadata']._options = None + _globals['_CREATEINGRESSREQUEST'].fields_by_name['participant_metadata']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_CREATEINGRESSREQUEST'].fields_by_name['bypass_transcoding']._options = None _globals['_CREATEINGRESSREQUEST'].fields_by_name['bypass_transcoding']._serialized_options = b'\030\001' _globals['_INGRESSINFO'].fields_by_name['bypass_transcoding']._options = None _globals['_INGRESSINFO'].fields_by_name['bypass_transcoding']._serialized_options = b'\030\001' + _globals['_INGRESSINFO'].fields_by_name['participant_name']._options = None + _globals['_INGRESSINFO'].fields_by_name['participant_name']._serialized_options = b'\210\354,\001' + _globals['_INGRESSINFO'].fields_by_name['participant_metadata']._options = None + _globals['_INGRESSINFO'].fields_by_name['participant_metadata']._serialized_options = b'\210\354,\001\222\354,\036' + _globals['_UPDATEINGRESSREQUEST'].fields_by_name['participant_name']._options = None + _globals['_UPDATEINGRESSREQUEST'].fields_by_name['participant_name']._serialized_options = b'\210\354,\001' + _globals['_UPDATEINGRESSREQUEST'].fields_by_name['participant_metadata']._options = None + _globals['_UPDATEINGRESSREQUEST'].fields_by_name['participant_metadata']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_UPDATEINGRESSREQUEST'].fields_by_name['bypass_transcoding']._options = None _globals['_UPDATEINGRESSREQUEST'].fields_by_name['bypass_transcoding']._serialized_options = b'\030\001' - _globals['_INGRESSINPUT']._serialized_start=2844 - _globals['_INGRESSINPUT']._serialized_end=2905 - _globals['_INGRESSAUDIOENCODINGPRESET']._serialized_start=2907 - _globals['_INGRESSAUDIOENCODINGPRESET']._serialized_end=2980 - _globals['_INGRESSVIDEOENCODINGPRESET']._serialized_start=2983 - _globals['_INGRESSVIDEOENCODINGPRESET']._serialized_end=3371 - _globals['_CREATEINGRESSREQUEST']._serialized_start=57 - _globals['_CREATEINGRESSREQUEST']._serialized_end=466 - _globals['_INGRESSAUDIOOPTIONS']._serialized_start=469 - _globals['_INGRESSAUDIOOPTIONS']._serialized_end=674 - _globals['_INGRESSVIDEOOPTIONS']._serialized_start=677 - _globals['_INGRESSVIDEOOPTIONS']._serialized_end=882 - _globals['_INGRESSAUDIOENCODINGOPTIONS']._serialized_start=884 - _globals['_INGRESSAUDIOENCODINGOPTIONS']._serialized_end=1011 - _globals['_INGRESSVIDEOENCODINGOPTIONS']._serialized_start=1014 - _globals['_INGRESSVIDEOENCODINGOPTIONS']._serialized_end=1142 - _globals['_INGRESSINFO']._serialized_start=1145 - _globals['_INGRESSINFO']._serialized_end=1641 - _globals['_INGRESSSTATE']._serialized_start=1644 - _globals['_INGRESSSTATE']._serialized_end=2058 - _globals['_INGRESSSTATE_STATUS']._serialized_start=1935 - _globals['_INGRESSSTATE_STATUS']._serialized_end=2058 - _globals['_INPUTVIDEOSTATE']._serialized_start=2060 - _globals['_INPUTVIDEOSTATE']._serialized_end=2171 - _globals['_INPUTAUDIOSTATE']._serialized_start=2173 - _globals['_INPUTAUDIOSTATE']._serialized_end=2273 - _globals['_UPDATEINGRESSREQUEST']._serialized_start=2276 - _globals['_UPDATEINGRESSREQUEST']._serialized_end=2677 - _globals['_LISTINGRESSREQUEST']._serialized_start=2679 - _globals['_LISTINGRESSREQUEST']._serialized_end=2738 - _globals['_LISTINGRESSRESPONSE']._serialized_start=2740 - _globals['_LISTINGRESSRESPONSE']._serialized_end=2798 - _globals['_DELETEINGRESSREQUEST']._serialized_start=2800 - _globals['_DELETEINGRESSREQUEST']._serialized_end=2842 - _globals['_INGRESS']._serialized_start=3374 - _globals['_INGRESS']._serialized_end=3667 + _globals['_INGRESSINPUT']._serialized_start=3004 + _globals['_INGRESSINPUT']._serialized_end=3065 + _globals['_INGRESSAUDIOENCODINGPRESET']._serialized_start=3067 + _globals['_INGRESSAUDIOENCODINGPRESET']._serialized_end=3140 + _globals['_INGRESSVIDEOENCODINGPRESET']._serialized_start=3143 + _globals['_INGRESSVIDEOENCODINGPRESET']._serialized_end=3531 + _globals['_CREATEINGRESSREQUEST']._serialized_start=79 + _globals['_CREATEINGRESSREQUEST']._serialized_end=534 + _globals['_INGRESSAUDIOOPTIONS']._serialized_start=537 + _globals['_INGRESSAUDIOOPTIONS']._serialized_end=742 + _globals['_INGRESSVIDEOOPTIONS']._serialized_start=745 + _globals['_INGRESSVIDEOOPTIONS']._serialized_end=950 + _globals['_INGRESSAUDIOENCODINGOPTIONS']._serialized_start=952 + _globals['_INGRESSAUDIOENCODINGOPTIONS']._serialized_end=1079 + _globals['_INGRESSVIDEOENCODINGOPTIONS']._serialized_start=1082 + _globals['_INGRESSVIDEOENCODINGOPTIONS']._serialized_end=1210 + _globals['_INGRESSINFO']._serialized_start=1213 + _globals['_INGRESSINFO']._serialized_end=1755 + _globals['_INGRESSSTATE']._serialized_start=1758 + _globals['_INGRESSSTATE']._serialized_end=2172 + _globals['_INGRESSSTATE_STATUS']._serialized_start=2049 + _globals['_INGRESSSTATE_STATUS']._serialized_end=2172 + _globals['_INPUTVIDEOSTATE']._serialized_start=2174 + _globals['_INPUTVIDEOSTATE']._serialized_end=2285 + _globals['_INPUTAUDIOSTATE']._serialized_start=2287 + _globals['_INPUTAUDIOSTATE']._serialized_end=2387 + _globals['_UPDATEINGRESSREQUEST']._serialized_start=2390 + _globals['_UPDATEINGRESSREQUEST']._serialized_end=2837 + _globals['_LISTINGRESSREQUEST']._serialized_start=2839 + _globals['_LISTINGRESSREQUEST']._serialized_end=2898 + _globals['_LISTINGRESSRESPONSE']._serialized_start=2900 + _globals['_LISTINGRESSRESPONSE']._serialized_end=2958 + _globals['_DELETEINGRESSREQUEST']._serialized_start=2960 + _globals['_DELETEINGRESSREQUEST']._serialized_end=3002 + _globals['_INGRESS']._serialized_start=3534 + _globals['_INGRESS']._serialized_end=3827 # @@protoc_insertion_point(module_scope) diff --git a/livekit-protocol/livekit/protocol/ingress.pyi b/livekit-protocol/livekit/protocol/ingress.pyi index 2e90aa12..04a48799 100644 --- a/livekit-protocol/livekit/protocol/ingress.pyi +++ b/livekit-protocol/livekit/protocol/ingress.pyi @@ -1,4 +1,5 @@ from . import models as _models +from .logger_pb import options as _options_pb2 from google.protobuf.internal import containers as _containers from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper from google.protobuf import descriptor as _descriptor diff --git a/livekit-protocol/livekit/protocol/logger_pb/options.py b/livekit-protocol/livekit/protocol/logger_pb/options.py index 8e5d4625..2e5e469b 100644 --- a/livekit-protocol/livekit/protocol/logger_pb/options.py +++ b/livekit-protocol/livekit/protocol/logger_pb/options.py @@ -15,7 +15,7 @@ from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14logger/options.proto\x12\x06logger\x1a google/protobuf/descriptor.proto:/\n\x06redact\x12\x1d.google.protobuf.FieldOptions\x18\xd1\x86\x03 \x01(\x08:6\n\rredact_format\x12\x1d.google.protobuf.FieldOptions\x18\xd2\x86\x03 \x01(\tB,Z*github.com/livekit/protocol/livekit/loggerb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14logger/options.proto\x12\x06logger\x1a google/protobuf/descriptor.proto:/\n\x06redact\x12\x1d.google.protobuf.FieldOptions\x18\xc1\xcd\x05 \x01(\x08:6\n\rredact_format\x12\x1d.google.protobuf.FieldOptions\x18\xc2\xcd\x05 \x01(\tB,Z*github.com/livekit/protocol/livekit/loggerb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) diff --git a/livekit-protocol/livekit/protocol/metrics.py b/livekit-protocol/livekit/protocol/metrics.py index 544fb56d..a536e2e4 100644 --- a/livekit-protocol/livekit/protocol/metrics.py +++ b/livekit-protocol/livekit/protocol/metrics.py @@ -15,7 +15,7 @@ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15livekit_metrics.proto\x12\x07livekit\x1a\x1fgoogle/protobuf/timestamp.proto\"\xc6\x01\n\x0cMetricsBatch\x12\x14\n\x0ctimestamp_ms\x18\x01 \x01(\x03\x12\x38\n\x14normalized_timestamp\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x10\n\x08str_data\x18\x03 \x03(\t\x12.\n\x0btime_series\x18\x04 \x03(\x0b\x32\x19.livekit.TimeSeriesMetric\x12$\n\x06\x65vents\x18\x05 \x03(\x0b\x32\x14.livekit.EventMetric\"\x87\x01\n\x10TimeSeriesMetric\x12\r\n\x05label\x18\x01 \x01(\r\x12\x1c\n\x14participant_identity\x18\x02 \x01(\r\x12\x11\n\ttrack_sid\x18\x03 \x01(\r\x12&\n\x07samples\x18\x04 \x03(\x0b\x32\x15.livekit.MetricSample\x12\x0b\n\x03rid\x18\x05 \x01(\r\"m\n\x0cMetricSample\x12\x14\n\x0ctimestamp_ms\x18\x01 \x01(\x03\x12\x38\n\x14normalized_timestamp\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\r\n\x05value\x18\x03 \x01(\x02\"\xdc\x02\n\x0b\x45ventMetric\x12\r\n\x05label\x18\x01 \x01(\r\x12\x1c\n\x14participant_identity\x18\x02 \x01(\r\x12\x11\n\ttrack_sid\x18\x03 \x01(\r\x12\x1a\n\x12start_timestamp_ms\x18\x04 \x01(\x03\x12\x1d\n\x10\x65nd_timestamp_ms\x18\x05 \x01(\x03H\x00\x88\x01\x01\x12>\n\x1anormalized_start_timestamp\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x41\n\x18normalized_end_timestamp\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x01\x88\x01\x01\x12\x10\n\x08metadata\x18\x08 \x01(\t\x12\x0b\n\x03rid\x18\t \x01(\rB\x13\n\x11_end_timestamp_msB\x1b\n\x19_normalized_end_timestamp\"k\n\x16MetricsRecordingHeader\x12\x0f\n\x07room_id\x18\x01 \x01(\t\x12\x10\n\x08\x64uration\x18\x03 \x01(\x04\x12.\n\nstart_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp*\x81\x07\n\x0bMetricLabel\x12\x13\n\x0f\x41GENTS_LLM_TTFT\x10\x00\x12\x13\n\x0f\x41GENTS_STT_TTFT\x10\x01\x12\x13\n\x0f\x41GENTS_TTS_TTFB\x10\x02\x12(\n$CLIENT_VIDEO_SUBSCRIBER_FREEZE_COUNT\x10\x03\x12\x31\n-CLIENT_VIDEO_SUBSCRIBER_TOTAL_FREEZE_DURATION\x10\x04\x12\'\n#CLIENT_VIDEO_SUBSCRIBER_PAUSE_COUNT\x10\x05\x12\x31\n-CLIENT_VIDEO_SUBSCRIBER_TOTAL_PAUSES_DURATION\x10\x06\x12-\n)CLIENT_AUDIO_SUBSCRIBER_CONCEALED_SAMPLES\x10\x07\x12\x34\n0CLIENT_AUDIO_SUBSCRIBER_SILENT_CONCEALED_SAMPLES\x10\x08\x12.\n*CLIENT_AUDIO_SUBSCRIBER_CONCEALMENT_EVENTS\x10\t\x12.\n*CLIENT_AUDIO_SUBSCRIBER_INTERRUPTION_COUNT\x10\n\x12\x37\n3CLIENT_AUDIO_SUBSCRIBER_TOTAL_INTERRUPTION_DURATION\x10\x0b\x12)\n%CLIENT_SUBSCRIBER_JITTER_BUFFER_DELAY\x10\x0c\x12\x31\n-CLIENT_SUBSCRIBER_JITTER_BUFFER_EMITTED_COUNT\x10\r\x12@\n\n\x1anormalized_start_timestamp\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x41\n\x18normalized_end_timestamp\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x01\x88\x01\x01\x12\x10\n\x08metadata\x18\x08 \x01(\t\x12\x0b\n\x03rid\x18\t \x01(\rB\x13\n\x11_end_timestamp_msB\x1b\n\x19_normalized_end_timestamp\"\xde\x01\n\x16MetricsRecordingHeader\x12\x0f\n\x07room_id\x18\x01 \x01(\t\x12\x10\n\x08\x64uration\x18\x03 \x01(\x04\x12.\n\nstart_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12@\n\troom_tags\x18\x05 \x03(\x0b\x32-.livekit.MetricsRecordingHeader.RoomTagsEntry\x1a/\n\rRoomTagsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01*\x81\x07\n\x0bMetricLabel\x12\x13\n\x0f\x41GENTS_LLM_TTFT\x10\x00\x12\x13\n\x0f\x41GENTS_STT_TTFT\x10\x01\x12\x13\n\x0f\x41GENTS_TTS_TTFB\x10\x02\x12(\n$CLIENT_VIDEO_SUBSCRIBER_FREEZE_COUNT\x10\x03\x12\x31\n-CLIENT_VIDEO_SUBSCRIBER_TOTAL_FREEZE_DURATION\x10\x04\x12\'\n#CLIENT_VIDEO_SUBSCRIBER_PAUSE_COUNT\x10\x05\x12\x31\n-CLIENT_VIDEO_SUBSCRIBER_TOTAL_PAUSES_DURATION\x10\x06\x12-\n)CLIENT_AUDIO_SUBSCRIBER_CONCEALED_SAMPLES\x10\x07\x12\x34\n0CLIENT_AUDIO_SUBSCRIBER_SILENT_CONCEALED_SAMPLES\x10\x08\x12.\n*CLIENT_AUDIO_SUBSCRIBER_CONCEALMENT_EVENTS\x10\t\x12.\n*CLIENT_AUDIO_SUBSCRIBER_INTERRUPTION_COUNT\x10\n\x12\x37\n3CLIENT_AUDIO_SUBSCRIBER_TOTAL_INTERRUPTION_DURATION\x10\x0b\x12)\n%CLIENT_SUBSCRIBER_JITTER_BUFFER_DELAY\x10\x0c\x12\x31\n-CLIENT_SUBSCRIBER_JITTER_BUFFER_EMITTED_COUNT\x10\r\x12@\n None: ... class MetricsRecordingHeader(_message.Message): - __slots__ = ("room_id", "duration", "start_time") + __slots__ = ("room_id", "duration", "start_time", "room_tags") + class RoomTagsEntry(_message.Message): + __slots__ = ("key", "value") + KEY_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + key: str + value: str + def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ... ROOM_ID_FIELD_NUMBER: _ClassVar[int] DURATION_FIELD_NUMBER: _ClassVar[int] START_TIME_FIELD_NUMBER: _ClassVar[int] + ROOM_TAGS_FIELD_NUMBER: _ClassVar[int] room_id: str duration: int start_time: _timestamp_pb2.Timestamp - def __init__(self, room_id: _Optional[str] = ..., duration: _Optional[int] = ..., start_time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... + room_tags: _containers.ScalarMap[str, str] + def __init__(self, room_id: _Optional[str] = ..., duration: _Optional[int] = ..., start_time: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., room_tags: _Optional[_Mapping[str, str]] = ...) -> None: ... diff --git a/livekit-protocol/livekit/protocol/models.py b/livekit-protocol/livekit/protocol/models.py index f80da1c9..66e50893 100644 --- a/livekit-protocol/livekit/protocol/models.py +++ b/livekit-protocol/livekit/protocol/models.py @@ -17,7 +17,7 @@ from .logger_pb import options as logger_dot_options__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14livekit_models.proto\x12\x07livekit\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x15livekit_metrics.proto\x1a\x14logger/options.proto\"-\n\nPagination\x12\x10\n\x08\x61\x66ter_id\x18\x01 \x01(\t\x12\r\n\x05limit\x18\x02 \x01(\x05\" \n\x0fTokenPagination\x12\r\n\x05token\x18\x01 \x01(\t\"E\n\nListUpdate\x12\x0b\n\x03set\x18\x01 \x03(\t\x12\x0b\n\x03\x61\x64\x64\x18\x02 \x03(\t\x12\x0e\n\x06remove\x18\x03 \x03(\t\x12\r\n\x05\x63lear\x18\x04 \x01(\x08\"\x8b\x03\n\x04Room\x12\x0b\n\x03sid\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x15\n\rempty_timeout\x18\x03 \x01(\r\x12\x19\n\x11\x64\x65parture_timeout\x18\x0e \x01(\r\x12\x18\n\x10max_participants\x18\x04 \x01(\r\x12\x15\n\rcreation_time\x18\x05 \x01(\x03\x12\x18\n\x10\x63reation_time_ms\x18\x0f \x01(\x03\x12\x15\n\rturn_password\x18\x06 \x01(\t\x12&\n\x0e\x65nabled_codecs\x18\x07 \x03(\x0b\x32\x0e.livekit.Codec\x12\x38\n\x08metadata\x18\x08 \x01(\tB&\x88\xb5\x18\x01\x92\xb5\x18\x1e\x12\x18\n\x10num_participants\x18\t \x01(\r\x12\x16\n\x0enum_publishers\x18\x0b \x01(\r\x12\x18\n\x10\x61\x63tive_recording\x18\n \x01(\x08\x12&\n\x07version\x18\r \x01(\x0b\x32\x15.livekit.TimedVersion\"(\n\x05\x43odec\x12\x0c\n\x04mime\x18\x01 \x01(\t\x12\x11\n\tfmtp_line\x18\x02 \x01(\t\"9\n\x0cPlayoutDelay\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x0b\n\x03min\x18\x02 \x01(\r\x12\x0b\n\x03max\x18\x03 \x01(\r\"\x85\x02\n\x15ParticipantPermission\x12\x15\n\rcan_subscribe\x18\x01 \x01(\x08\x12\x13\n\x0b\x63\x61n_publish\x18\x02 \x01(\x08\x12\x18\n\x10\x63\x61n_publish_data\x18\x03 \x01(\x08\x12\x31\n\x13\x63\x61n_publish_sources\x18\t \x03(\x0e\x32\x14.livekit.TrackSource\x12\x0e\n\x06hidden\x18\x07 \x01(\x08\x12\x14\n\x08recorder\x18\x08 \x01(\x08\x42\x02\x18\x01\x12\x1b\n\x13\x63\x61n_update_metadata\x18\n \x01(\x08\x12\x11\n\x05\x61gent\x18\x0b \x01(\x08\x42\x02\x18\x01\x12\x1d\n\x15\x63\x61n_subscribe_metrics\x18\x0c \x01(\x08\"\xdc\x06\n\x0fParticipantInfo\x12\x0b\n\x03sid\x18\x01 \x01(\t\x12\x10\n\x08identity\x18\x02 \x01(\t\x12-\n\x05state\x18\x03 \x01(\x0e\x32\x1e.livekit.ParticipantInfo.State\x12\"\n\x06tracks\x18\x04 \x03(\x0b\x32\x12.livekit.TrackInfo\x12\x38\n\x08metadata\x18\x05 \x01(\tB&\x88\xb5\x18\x01\x92\xb5\x18\x1e\x12\x11\n\tjoined_at\x18\x06 \x01(\x03\x12\x14\n\x0cjoined_at_ms\x18\x11 \x01(\x03\x12\x0c\n\x04name\x18\t \x01(\t\x12\x0f\n\x07version\x18\n \x01(\r\x12\x32\n\npermission\x18\x0b \x01(\x0b\x32\x1e.livekit.ParticipantPermission\x12\x0e\n\x06region\x18\x0c \x01(\t\x12\x14\n\x0cis_publisher\x18\r \x01(\x08\x12+\n\x04kind\x18\x0e \x01(\x0e\x32\x1d.livekit.ParticipantInfo.Kind\x12<\n\nattributes\x18\x0f \x03(\x0b\x32(.livekit.ParticipantInfo.AttributesEntry\x12\x34\n\x11\x64isconnect_reason\x18\x10 \x01(\x0e\x32\x19.livekit.DisconnectReason\x12\x39\n\x0ckind_details\x18\x12 \x03(\x0e\x32#.livekit.ParticipantInfo.KindDetail\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\">\n\x05State\x12\x0b\n\x07JOINING\x10\x00\x12\n\n\x06JOINED\x10\x01\x12\n\n\x06\x41\x43TIVE\x10\x02\x12\x10\n\x0c\x44ISCONNECTED\x10\x03\"P\n\x04Kind\x12\x0c\n\x08STANDARD\x10\x00\x12\x0b\n\x07INGRESS\x10\x01\x12\n\n\x06\x45GRESS\x10\x02\x12\x07\n\x03SIP\x10\x03\x12\t\n\x05\x41GENT\x10\x04\x12\r\n\tCONNECTOR\x10\x07\"Z\n\nKindDetail\x12\x0f\n\x0b\x43LOUD_AGENT\x10\x00\x12\r\n\tFORWARDED\x10\x01\x12\x16\n\x12\x43ONNECTOR_WHATSAPP\x10\x02\x12\x14\n\x10\x43ONNECTOR_TWILIO\x10\x03\"3\n\nEncryption\"%\n\x04Type\x12\x08\n\x04NONE\x10\x00\x12\x07\n\x03GCM\x10\x01\x12\n\n\x06\x43USTOM\x10\x02\"\xab\x01\n\x12SimulcastCodecInfo\x12\x11\n\tmime_type\x18\x01 \x01(\t\x12\x0b\n\x03mid\x18\x02 \x01(\t\x12\x0b\n\x03\x63id\x18\x03 \x01(\t\x12#\n\x06layers\x18\x04 \x03(\x0b\x32\x13.livekit.VideoLayer\x12\x32\n\x10video_layer_mode\x18\x05 \x01(\x0e\x32\x18.livekit.VideoLayer.Mode\x12\x0f\n\x07sdp_cid\x18\x06 \x01(\t\"\xbe\x04\n\tTrackInfo\x12\x0b\n\x03sid\x18\x01 \x01(\t\x12 \n\x04type\x18\x02 \x01(\x0e\x32\x12.livekit.TrackType\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\r\n\x05muted\x18\x04 \x01(\x08\x12\r\n\x05width\x18\x05 \x01(\r\x12\x0e\n\x06height\x18\x06 \x01(\r\x12\x15\n\tsimulcast\x18\x07 \x01(\x08\x42\x02\x18\x01\x12\x17\n\x0b\x64isable_dtx\x18\x08 \x01(\x08\x42\x02\x18\x01\x12$\n\x06source\x18\t \x01(\x0e\x32\x14.livekit.TrackSource\x12\'\n\x06layers\x18\n \x03(\x0b\x32\x13.livekit.VideoLayerB\x02\x18\x01\x12\x11\n\tmime_type\x18\x0b \x01(\t\x12\x0b\n\x03mid\x18\x0c \x01(\t\x12+\n\x06\x63odecs\x18\r \x03(\x0b\x32\x1b.livekit.SimulcastCodecInfo\x12\x12\n\x06stereo\x18\x0e \x01(\x08\x42\x02\x18\x01\x12\x13\n\x0b\x64isable_red\x18\x0f \x01(\x08\x12,\n\nencryption\x18\x10 \x01(\x0e\x32\x18.livekit.Encryption.Type\x12\x0e\n\x06stream\x18\x11 \x01(\t\x12&\n\x07version\x18\x12 \x01(\x0b\x32\x15.livekit.TimedVersion\x12\x32\n\x0e\x61udio_features\x18\x13 \x03(\x0e\x32\x1a.livekit.AudioTrackFeature\x12\x37\n\x13\x62\x61\x63kup_codec_policy\x18\x14 \x01(\x0e\x32\x1a.livekit.BackupCodecPolicy\"\xaf\x02\n\nVideoLayer\x12&\n\x07quality\x18\x01 \x01(\x0e\x32\x15.livekit.VideoQuality\x12\r\n\x05width\x18\x02 \x01(\r\x12\x0e\n\x06height\x18\x03 \x01(\r\x12\x0f\n\x07\x62itrate\x18\x04 \x01(\r\x12\x0c\n\x04ssrc\x18\x05 \x01(\r\x12\x15\n\rspatial_layer\x18\x06 \x01(\x05\x12\x0b\n\x03rid\x18\x07 \x01(\t\"\x96\x01\n\x04Mode\x12\x0f\n\x0bMODE_UNUSED\x10\x00\x12 \n\x1cONE_SPATIAL_LAYER_PER_STREAM\x10\x01\x12&\n\"MULTIPLE_SPATIAL_LAYERS_PER_STREAM\x10\x02\x12\x33\n/ONE_SPATIAL_LAYER_PER_STREAM_INCOMPLETE_RTCP_SR\x10\x03\"\xa7\x06\n\nDataPacket\x12*\n\x04kind\x18\x01 \x01(\x0e\x32\x18.livekit.DataPacket.KindB\x02\x18\x01\x12\x1c\n\x14participant_identity\x18\x04 \x01(\t\x12\x1e\n\x16\x64\x65stination_identities\x18\x05 \x03(\t\x12#\n\x04user\x18\x02 \x01(\x0b\x32\x13.livekit.UserPacketH\x00\x12\x33\n\x07speaker\x18\x03 \x01(\x0b\x32\x1c.livekit.ActiveSpeakerUpdateB\x02\x18\x01H\x00\x12$\n\x08sip_dtmf\x18\x06 \x01(\x0b\x32\x10.livekit.SipDTMFH\x00\x12/\n\rtranscription\x18\x07 \x01(\x0b\x32\x16.livekit.TranscriptionH\x00\x12(\n\x07metrics\x18\x08 \x01(\x0b\x32\x15.livekit.MetricsBatchH\x00\x12,\n\x0c\x63hat_message\x18\t \x01(\x0b\x32\x14.livekit.ChatMessageH\x00\x12*\n\x0brpc_request\x18\n \x01(\x0b\x32\x13.livekit.RpcRequestH\x00\x12\"\n\x07rpc_ack\x18\x0b \x01(\x0b\x32\x0f.livekit.RpcAckH\x00\x12,\n\x0crpc_response\x18\x0c \x01(\x0b\x32\x14.livekit.RpcResponseH\x00\x12\x33\n\rstream_header\x18\r \x01(\x0b\x32\x1a.livekit.DataStream.HeaderH\x00\x12\x31\n\x0cstream_chunk\x18\x0e \x01(\x0b\x32\x19.livekit.DataStream.ChunkH\x00\x12\x35\n\x0estream_trailer\x18\x0f \x01(\x0b\x32\x1b.livekit.DataStream.TrailerH\x00\x12\x34\n\x10\x65ncrypted_packet\x18\x12 \x01(\x0b\x32\x18.livekit.EncryptedPacketH\x00\x12\x10\n\x08sequence\x18\x10 \x01(\r\x12\x17\n\x0fparticipant_sid\x18\x11 \x01(\t\"\x1f\n\x04Kind\x12\x0c\n\x08RELIABLE\x10\x00\x12\t\n\x05LOSSY\x10\x01\x42\x07\n\x05value\"|\n\x0f\x45ncryptedPacket\x12\x31\n\x0f\x65ncryption_type\x18\x01 \x01(\x0e\x32\x18.livekit.Encryption.Type\x12\n\n\x02iv\x18\x02 \x01(\x0c\x12\x11\n\tkey_index\x18\x03 \x01(\r\x12\x17\n\x0f\x65ncrypted_value\x18\x04 \x01(\x0c\"\x91\x03\n\x16\x45ncryptedPacketPayload\x12#\n\x04user\x18\x01 \x01(\x0b\x32\x13.livekit.UserPacketH\x00\x12,\n\x0c\x63hat_message\x18\x03 \x01(\x0b\x32\x14.livekit.ChatMessageH\x00\x12*\n\x0brpc_request\x18\x04 \x01(\x0b\x32\x13.livekit.RpcRequestH\x00\x12\"\n\x07rpc_ack\x18\x05 \x01(\x0b\x32\x0f.livekit.RpcAckH\x00\x12,\n\x0crpc_response\x18\x06 \x01(\x0b\x32\x14.livekit.RpcResponseH\x00\x12\x33\n\rstream_header\x18\x07 \x01(\x0b\x32\x1a.livekit.DataStream.HeaderH\x00\x12\x31\n\x0cstream_chunk\x18\x08 \x01(\x0b\x32\x19.livekit.DataStream.ChunkH\x00\x12\x35\n\x0estream_trailer\x18\t \x01(\x0b\x32\x1b.livekit.DataStream.TrailerH\x00\x42\x07\n\x05value\"A\n\x13\x41\x63tiveSpeakerUpdate\x12&\n\x08speakers\x18\x01 \x03(\x0b\x32\x14.livekit.SpeakerInfo:\x02\x18\x01\"9\n\x0bSpeakerInfo\x12\x0b\n\x03sid\x18\x01 \x01(\t\x12\r\n\x05level\x18\x02 \x01(\x02\x12\x0e\n\x06\x61\x63tive\x18\x03 \x01(\x08\"\xaf\x02\n\nUserPacket\x12\x1b\n\x0fparticipant_sid\x18\x01 \x01(\tB\x02\x18\x01\x12 \n\x14participant_identity\x18\x05 \x01(\tB\x02\x18\x01\x12\x0f\n\x07payload\x18\x02 \x01(\x0c\x12\x1c\n\x10\x64\x65stination_sids\x18\x03 \x03(\tB\x02\x18\x01\x12\"\n\x16\x64\x65stination_identities\x18\x06 \x03(\tB\x02\x18\x01\x12\x12\n\x05topic\x18\x04 \x01(\tH\x00\x88\x01\x01\x12\x0f\n\x02id\x18\x08 \x01(\tH\x01\x88\x01\x01\x12\x17\n\nstart_time\x18\t \x01(\x04H\x02\x88\x01\x01\x12\x15\n\x08\x65nd_time\x18\n \x01(\x04H\x03\x88\x01\x01\x12\r\n\x05nonce\x18\x0b \x01(\x0c\x42\x08\n\x06_topicB\x05\n\x03_idB\r\n\x0b_start_timeB\x0b\n\t_end_time\"&\n\x07SipDTMF\x12\x0c\n\x04\x63ode\x18\x03 \x01(\r\x12\r\n\x05\x64igit\x18\x04 \x01(\t\"|\n\rTranscription\x12(\n transcribed_participant_identity\x18\x02 \x01(\t\x12\x10\n\x08track_id\x18\x03 \x01(\t\x12/\n\x08segments\x18\x04 \x03(\x0b\x32\x1d.livekit.TranscriptionSegment\"w\n\x14TranscriptionSegment\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04text\x18\x02 \x01(\t\x12\x12\n\nstart_time\x18\x03 \x01(\x04\x12\x10\n\x08\x65nd_time\x18\x04 \x01(\x04\x12\r\n\x05\x66inal\x18\x05 \x01(\x08\x12\x10\n\x08language\x18\x06 \x01(\t\"\x91\x01\n\x0b\x43hatMessage\x12\n\n\x02id\x18\x01 \x01(\t\x12\x11\n\ttimestamp\x18\x02 \x01(\x03\x12\x1b\n\x0e\x65\x64it_timestamp\x18\x03 \x01(\x03H\x00\x88\x01\x01\x12\x0f\n\x07message\x18\x04 \x01(\t\x12\x0f\n\x07\x64\x65leted\x18\x05 \x01(\x08\x12\x11\n\tgenerated\x18\x06 \x01(\x08\x42\x11\n\x0f_edit_timestamp\"g\n\nRpcRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0e\n\x06method\x18\x02 \x01(\t\x12\x0f\n\x07payload\x18\x03 \x01(\t\x12\x1b\n\x13response_timeout_ms\x18\x04 \x01(\r\x12\x0f\n\x07version\x18\x05 \x01(\r\"\x1c\n\x06RpcAck\x12\x12\n\nrequest_id\x18\x01 \x01(\t\"a\n\x0bRpcResponse\x12\x12\n\nrequest_id\x18\x01 \x01(\t\x12\x11\n\x07payload\x18\x02 \x01(\tH\x00\x12\"\n\x05\x65rror\x18\x03 \x01(\x0b\x32\x11.livekit.RpcErrorH\x00\x42\x07\n\x05value\"7\n\x08RpcError\x12\x0c\n\x04\x63ode\x18\x01 \x01(\r\x12\x0f\n\x07message\x18\x02 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\t\"@\n\x11ParticipantTracks\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12\x12\n\ntrack_sids\x18\x02 \x03(\t\"\xce\x01\n\nServerInfo\x12,\n\x07\x65\x64ition\x18\x01 \x01(\x0e\x32\x1b.livekit.ServerInfo.Edition\x12\x0f\n\x07version\x18\x02 \x01(\t\x12\x10\n\x08protocol\x18\x03 \x01(\x05\x12\x0e\n\x06region\x18\x04 \x01(\t\x12\x0f\n\x07node_id\x18\x05 \x01(\t\x12\x12\n\ndebug_info\x18\x06 \x01(\t\x12\x16\n\x0e\x61gent_protocol\x18\x07 \x01(\x05\"\"\n\x07\x45\x64ition\x12\x0c\n\x08Standard\x10\x00\x12\t\n\x05\x43loud\x10\x01\"\xa1\x03\n\nClientInfo\x12$\n\x03sdk\x18\x01 \x01(\x0e\x32\x17.livekit.ClientInfo.SDK\x12\x0f\n\x07version\x18\x02 \x01(\t\x12\x10\n\x08protocol\x18\x03 \x01(\x05\x12\n\n\x02os\x18\x04 \x01(\t\x12\x12\n\nos_version\x18\x05 \x01(\t\x12\x14\n\x0c\x64\x65vice_model\x18\x06 \x01(\t\x12\x0f\n\x07\x62rowser\x18\x07 \x01(\t\x12\x17\n\x0f\x62rowser_version\x18\x08 \x01(\t\x12\x0f\n\x07\x61\x64\x64ress\x18\t \x01(\t\x12\x0f\n\x07network\x18\n \x01(\t\x12\x12\n\nother_sdks\x18\x0b \x01(\t\"\xb3\x01\n\x03SDK\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x06\n\x02JS\x10\x01\x12\t\n\x05SWIFT\x10\x02\x12\x0b\n\x07\x41NDROID\x10\x03\x12\x0b\n\x07\x46LUTTER\x10\x04\x12\x06\n\x02GO\x10\x05\x12\t\n\x05UNITY\x10\x06\x12\x10\n\x0cREACT_NATIVE\x10\x07\x12\x08\n\x04RUST\x10\x08\x12\n\n\x06PYTHON\x10\t\x12\x07\n\x03\x43PP\x10\n\x12\r\n\tUNITY_WEB\x10\x0b\x12\x08\n\x04NODE\x10\x0c\x12\n\n\x06UNREAL\x10\r\x12\t\n\x05\x45SP32\x10\x0e\"\x8c\x02\n\x13\x43lientConfiguration\x12*\n\x05video\x18\x01 \x01(\x0b\x32\x1b.livekit.VideoConfiguration\x12+\n\x06screen\x18\x02 \x01(\x0b\x32\x1b.livekit.VideoConfiguration\x12\x37\n\x11resume_connection\x18\x03 \x01(\x0e\x32\x1c.livekit.ClientConfigSetting\x12\x30\n\x0f\x64isabled_codecs\x18\x04 \x01(\x0b\x32\x17.livekit.DisabledCodecs\x12\x31\n\x0b\x66orce_relay\x18\x05 \x01(\x0e\x32\x1c.livekit.ClientConfigSetting\"L\n\x12VideoConfiguration\x12\x36\n\x10hardware_encoder\x18\x01 \x01(\x0e\x32\x1c.livekit.ClientConfigSetting\"Q\n\x0e\x44isabledCodecs\x12\x1e\n\x06\x63odecs\x18\x01 \x03(\x0b\x32\x0e.livekit.Codec\x12\x1f\n\x07publish\x18\x02 \x03(\x0b\x32\x0e.livekit.Codec\"\x80\x02\n\x08RTPDrift\x12.\n\nstart_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x08\x65nd_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x10\n\x08\x64uration\x18\x03 \x01(\x01\x12\x17\n\x0fstart_timestamp\x18\x04 \x01(\x04\x12\x15\n\rend_timestamp\x18\x05 \x01(\x04\x12\x17\n\x0frtp_clock_ticks\x18\x06 \x01(\x04\x12\x15\n\rdrift_samples\x18\x07 \x01(\x03\x12\x10\n\x08\x64rift_ms\x18\x08 \x01(\x01\x12\x12\n\nclock_rate\x18\t \x01(\x01\"\xd6\n\n\x08RTPStats\x12.\n\nstart_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x08\x65nd_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x10\n\x08\x64uration\x18\x03 \x01(\x01\x12\x0f\n\x07packets\x18\x04 \x01(\r\x12\x13\n\x0bpacket_rate\x18\x05 \x01(\x01\x12\r\n\x05\x62ytes\x18\x06 \x01(\x04\x12\x14\n\x0cheader_bytes\x18\' \x01(\x04\x12\x0f\n\x07\x62itrate\x18\x07 \x01(\x01\x12\x14\n\x0cpackets_lost\x18\x08 \x01(\r\x12\x18\n\x10packet_loss_rate\x18\t \x01(\x01\x12\x1e\n\x16packet_loss_percentage\x18\n \x01(\x02\x12\x19\n\x11packets_duplicate\x18\x0b \x01(\r\x12\x1d\n\x15packet_duplicate_rate\x18\x0c \x01(\x01\x12\x17\n\x0f\x62ytes_duplicate\x18\r \x01(\x04\x12\x1e\n\x16header_bytes_duplicate\x18( \x01(\x04\x12\x19\n\x11\x62itrate_duplicate\x18\x0e \x01(\x01\x12\x17\n\x0fpackets_padding\x18\x0f \x01(\r\x12\x1b\n\x13packet_padding_rate\x18\x10 \x01(\x01\x12\x15\n\rbytes_padding\x18\x11 \x01(\x04\x12\x1c\n\x14header_bytes_padding\x18) \x01(\x04\x12\x17\n\x0f\x62itrate_padding\x18\x12 \x01(\x01\x12\x1c\n\x14packets_out_of_order\x18\x13 \x01(\r\x12\x0e\n\x06\x66rames\x18\x14 \x01(\r\x12\x12\n\nframe_rate\x18\x15 \x01(\x01\x12\x16\n\x0ejitter_current\x18\x16 \x01(\x01\x12\x12\n\njitter_max\x18\x17 \x01(\x01\x12:\n\rgap_histogram\x18\x18 \x03(\x0b\x32#.livekit.RTPStats.GapHistogramEntry\x12\r\n\x05nacks\x18\x19 \x01(\r\x12\x11\n\tnack_acks\x18% \x01(\r\x12\x13\n\x0bnack_misses\x18\x1a \x01(\r\x12\x15\n\rnack_repeated\x18& \x01(\r\x12\x0c\n\x04plis\x18\x1b \x01(\r\x12,\n\x08last_pli\x18\x1c \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0c\n\x04\x66irs\x18\x1d \x01(\r\x12,\n\x08last_fir\x18\x1e \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x13\n\x0brtt_current\x18\x1f \x01(\r\x12\x0f\n\x07rtt_max\x18 \x01(\r\x12\x12\n\nkey_frames\x18! \x01(\r\x12\x32\n\x0elast_key_frame\x18\" \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x17\n\x0flayer_lock_plis\x18# \x01(\r\x12\x37\n\x13last_layer_lock_pli\x18$ \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\'\n\x0cpacket_drift\x18, \x01(\x0b\x32\x11.livekit.RTPDrift\x12+\n\x10ntp_report_drift\x18- \x01(\x0b\x32\x11.livekit.RTPDrift\x12/\n\x14rebased_report_drift\x18. \x01(\x0b\x32\x11.livekit.RTPDrift\x12\x30\n\x15received_report_drift\x18/ \x01(\x0b\x32\x11.livekit.RTPDrift\x1a\x33\n\x11GapHistogramEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\r:\x02\x38\x01\"\xa2\x01\n\x15RTCPSenderReportState\x12\x15\n\rrtp_timestamp\x18\x01 \x01(\r\x12\x19\n\x11rtp_timestamp_ext\x18\x02 \x01(\x04\x12\x15\n\rntp_timestamp\x18\x03 \x01(\x04\x12\n\n\x02\x61t\x18\x04 \x01(\x03\x12\x13\n\x0b\x61t_adjusted\x18\x05 \x01(\x03\x12\x0f\n\x07packets\x18\x06 \x01(\r\x12\x0e\n\x06octets\x18\x07 \x01(\x04\"\xc9\x02\n\x11RTPForwarderState\x12\x0f\n\x07started\x18\x01 \x01(\x08\x12\x1f\n\x17reference_layer_spatial\x18\x02 \x01(\x05\x12\x16\n\x0epre_start_time\x18\x03 \x01(\x03\x12\x1b\n\x13\x65xt_first_timestamp\x18\x04 \x01(\x04\x12$\n\x1c\x64ummy_start_timestamp_offset\x18\x05 \x01(\x04\x12+\n\nrtp_munger\x18\x06 \x01(\x0b\x32\x17.livekit.RTPMungerState\x12-\n\nvp8_munger\x18\x07 \x01(\x0b\x32\x17.livekit.VP8MungerStateH\x00\x12;\n\x13sender_report_state\x18\x08 \x03(\x0b\x32\x1e.livekit.RTCPSenderReportStateB\x0e\n\x0c\x63odec_munger\"\xcb\x01\n\x0eRTPMungerState\x12 \n\x18\x65xt_last_sequence_number\x18\x01 \x01(\x04\x12\'\n\x1f\x65xt_second_last_sequence_number\x18\x02 \x01(\x04\x12\x1a\n\x12\x65xt_last_timestamp\x18\x03 \x01(\x04\x12!\n\x19\x65xt_second_last_timestamp\x18\x04 \x01(\x04\x12\x13\n\x0blast_marker\x18\x05 \x01(\x08\x12\x1a\n\x12second_last_marker\x18\x06 \x01(\x08\"\xb8\x01\n\x0eVP8MungerState\x12\x1b\n\x13\x65xt_last_picture_id\x18\x01 \x01(\x05\x12\x17\n\x0fpicture_id_used\x18\x02 \x01(\x08\x12\x18\n\x10last_tl0_pic_idx\x18\x03 \x01(\r\x12\x18\n\x10tl0_pic_idx_used\x18\x04 \x01(\x08\x12\x10\n\x08tid_used\x18\x05 \x01(\x08\x12\x14\n\x0clast_key_idx\x18\x06 \x01(\r\x12\x14\n\x0ckey_idx_used\x18\x07 \x01(\x08\"1\n\x0cTimedVersion\x12\x12\n\nunix_micro\x18\x01 \x01(\x03\x12\r\n\x05ticks\x18\x02 \x01(\x05\"\xcd\x07\n\nDataStream\x1a\xa4\x01\n\nTextHeader\x12\x39\n\x0eoperation_type\x18\x01 \x01(\x0e\x32!.livekit.DataStream.OperationType\x12\x0f\n\x07version\x18\x02 \x01(\x05\x12\x1a\n\x12reply_to_stream_id\x18\x03 \x01(\t\x12\x1b\n\x13\x61ttached_stream_ids\x18\x04 \x03(\t\x12\x11\n\tgenerated\x18\x05 \x01(\x08\x1a\x1a\n\nByteHeader\x12\x0c\n\x04name\x18\x01 \x01(\t\x1a\xa6\x03\n\x06Header\x12\x11\n\tstream_id\x18\x01 \x01(\t\x12\x11\n\ttimestamp\x18\x02 \x01(\x03\x12\r\n\x05topic\x18\x03 \x01(\t\x12\x11\n\tmime_type\x18\x04 \x01(\t\x12\x19\n\x0ctotal_length\x18\x05 \x01(\x04H\x01\x88\x01\x01\x12\x35\n\x0f\x65ncryption_type\x18\x07 \x01(\x0e\x32\x18.livekit.Encryption.TypeB\x02\x18\x01\x12>\n\nattributes\x18\x08 \x03(\x0b\x32*.livekit.DataStream.Header.AttributesEntry\x12\x35\n\x0btext_header\x18\t \x01(\x0b\x32\x1e.livekit.DataStream.TextHeaderH\x00\x12\x35\n\x0b\x62yte_header\x18\n \x01(\x0b\x32\x1e.livekit.DataStream.ByteHeaderH\x00\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x10\n\x0e\x63ontent_headerB\x0f\n\r_total_length\x1am\n\x05\x43hunk\x12\x11\n\tstream_id\x18\x01 \x01(\t\x12\x13\n\x0b\x63hunk_index\x18\x02 \x01(\x04\x12\x0f\n\x07\x63ontent\x18\x03 \x01(\x0c\x12\x0f\n\x07version\x18\x04 \x01(\x05\x12\x13\n\x02iv\x18\x05 \x01(\x0c\x42\x02\x18\x01H\x00\x88\x01\x01\x42\x05\n\x03_iv\x1a\xa0\x01\n\x07Trailer\x12\x11\n\tstream_id\x18\x01 \x01(\t\x12\x0e\n\x06reason\x18\x02 \x01(\t\x12?\n\nattributes\x18\x03 \x03(\x0b\x32+.livekit.DataStream.Trailer.AttributesEntry\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"A\n\rOperationType\x12\n\n\x06\x43REATE\x10\x00\x12\n\n\x06UPDATE\x10\x01\x12\n\n\x06\x44\x45LETE\x10\x02\x12\x0c\n\x08REACTION\x10\x03\">\n\x0c\x46ilterParams\x12\x16\n\x0einclude_events\x18\x01 \x03(\t\x12\x16\n\x0e\x65xclude_events\x18\x02 \x03(\t\"_\n\rWebhookConfig\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x13\n\x0bsigning_key\x18\x02 \x01(\t\x12,\n\rfilter_params\x18\x03 \x01(\x0b\x32\x15.livekit.FilterParams\"6\n\x14SubscribedAudioCodec\x12\r\n\x05\x63odec\x18\x01 \x01(\t\x12\x0f\n\x07\x65nabled\x18\x02 \x01(\x08*;\n\nAudioCodec\x12\x0e\n\nDEFAULT_AC\x10\x00\x12\x08\n\x04OPUS\x10\x01\x12\x07\n\x03\x41\x41\x43\x10\x02\x12\n\n\x06\x41\x43_MP3\x10\x03*V\n\nVideoCodec\x12\x0e\n\nDEFAULT_VC\x10\x00\x12\x11\n\rH264_BASELINE\x10\x01\x12\r\n\tH264_MAIN\x10\x02\x12\r\n\tH264_HIGH\x10\x03\x12\x07\n\x03VP8\x10\x04*)\n\nImageCodec\x12\x0e\n\nIC_DEFAULT\x10\x00\x12\x0b\n\x07IC_JPEG\x10\x01*I\n\x11\x42\x61\x63kupCodecPolicy\x12\x15\n\x11PREFER_REGRESSION\x10\x00\x12\r\n\tSIMULCAST\x10\x01\x12\x0e\n\nREGRESSION\x10\x02*+\n\tTrackType\x12\t\n\x05\x41UDIO\x10\x00\x12\t\n\x05VIDEO\x10\x01\x12\x08\n\x04\x44\x41TA\x10\x02*`\n\x0bTrackSource\x12\x0b\n\x07UNKNOWN\x10\x00\x12\n\n\x06\x43\x41MERA\x10\x01\x12\x0e\n\nMICROPHONE\x10\x02\x12\x10\n\x0cSCREEN_SHARE\x10\x03\x12\x16\n\x12SCREEN_SHARE_AUDIO\x10\x04*6\n\x0cVideoQuality\x12\x07\n\x03LOW\x10\x00\x12\n\n\x06MEDIUM\x10\x01\x12\x08\n\x04HIGH\x10\x02\x12\x07\n\x03OFF\x10\x03*@\n\x11\x43onnectionQuality\x12\x08\n\x04POOR\x10\x00\x12\x08\n\x04GOOD\x10\x01\x12\r\n\tEXCELLENT\x10\x02\x12\x08\n\x04LOST\x10\x03*;\n\x13\x43lientConfigSetting\x12\t\n\x05UNSET\x10\x00\x12\x0c\n\x08\x44ISABLED\x10\x01\x12\x0b\n\x07\x45NABLED\x10\x02*\xd7\x02\n\x10\x44isconnectReason\x12\x12\n\x0eUNKNOWN_REASON\x10\x00\x12\x14\n\x10\x43LIENT_INITIATED\x10\x01\x12\x16\n\x12\x44UPLICATE_IDENTITY\x10\x02\x12\x13\n\x0fSERVER_SHUTDOWN\x10\x03\x12\x17\n\x13PARTICIPANT_REMOVED\x10\x04\x12\x10\n\x0cROOM_DELETED\x10\x05\x12\x12\n\x0eSTATE_MISMATCH\x10\x06\x12\x10\n\x0cJOIN_FAILURE\x10\x07\x12\r\n\tMIGRATION\x10\x08\x12\x10\n\x0cSIGNAL_CLOSE\x10\t\x12\x0f\n\x0bROOM_CLOSED\x10\n\x12\x14\n\x10USER_UNAVAILABLE\x10\x0b\x12\x11\n\rUSER_REJECTED\x10\x0c\x12\x15\n\x11SIP_TRUNK_FAILURE\x10\r\x12\x16\n\x12\x43ONNECTION_TIMEOUT\x10\x0e\x12\x11\n\rMEDIA_FAILURE\x10\x0f*\x89\x01\n\x0fReconnectReason\x12\x0e\n\nRR_UNKNOWN\x10\x00\x12\x1a\n\x16RR_SIGNAL_DISCONNECTED\x10\x01\x12\x17\n\x13RR_PUBLISHER_FAILED\x10\x02\x12\x18\n\x14RR_SUBSCRIBER_FAILED\x10\x03\x12\x17\n\x13RR_SWITCH_CANDIDATE\x10\x04*T\n\x11SubscriptionError\x12\x0e\n\nSE_UNKNOWN\x10\x00\x12\x18\n\x14SE_CODEC_UNSUPPORTED\x10\x01\x12\x15\n\x11SE_TRACK_NOTFOUND\x10\x02*\xbd\x01\n\x11\x41udioTrackFeature\x12\r\n\tTF_STEREO\x10\x00\x12\r\n\tTF_NO_DTX\x10\x01\x12\x18\n\x14TF_AUTO_GAIN_CONTROL\x10\x02\x12\x18\n\x14TF_ECHO_CANCELLATION\x10\x03\x12\x18\n\x14TF_NOISE_SUPPRESSION\x10\x04\x12\"\n\x1eTF_ENHANCED_NOISE_CANCELLATION\x10\x05\x12\x18\n\x14TF_PRECONNECT_BUFFER\x10\x06\x42\x46Z#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14livekit_models.proto\x12\x07livekit\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x15livekit_metrics.proto\x1a\x14logger/options.proto\"-\n\nPagination\x12\x10\n\x08\x61\x66ter_id\x18\x01 \x01(\t\x12\r\n\x05limit\x18\x02 \x01(\x05\" \n\x0fTokenPagination\x12\r\n\x05token\x18\x01 \x01(\t\"E\n\nListUpdate\x12\x0b\n\x03set\x18\x01 \x03(\t\x12\x0b\n\x03\x61\x64\x64\x18\x02 \x03(\t\x12\x0e\n\x06remove\x18\x03 \x03(\t\x12\r\n\x05\x63lear\x18\x04 \x01(\x08\"\x8b\x03\n\x04Room\x12\x0b\n\x03sid\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x15\n\rempty_timeout\x18\x03 \x01(\r\x12\x19\n\x11\x64\x65parture_timeout\x18\x0e \x01(\r\x12\x18\n\x10max_participants\x18\x04 \x01(\r\x12\x15\n\rcreation_time\x18\x05 \x01(\x03\x12\x18\n\x10\x63reation_time_ms\x18\x0f \x01(\x03\x12\x15\n\rturn_password\x18\x06 \x01(\t\x12&\n\x0e\x65nabled_codecs\x18\x07 \x03(\x0b\x32\x0e.livekit.Codec\x12\x38\n\x08metadata\x18\x08 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e\x12\x18\n\x10num_participants\x18\t \x01(\r\x12\x16\n\x0enum_publishers\x18\x0b \x01(\r\x12\x18\n\x10\x61\x63tive_recording\x18\n \x01(\x08\x12&\n\x07version\x18\r \x01(\x0b\x32\x15.livekit.TimedVersion\"(\n\x05\x43odec\x12\x0c\n\x04mime\x18\x01 \x01(\t\x12\x11\n\tfmtp_line\x18\x02 \x01(\t\"9\n\x0cPlayoutDelay\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x0b\n\x03min\x18\x02 \x01(\r\x12\x0b\n\x03max\x18\x03 \x01(\r\"\x85\x02\n\x15ParticipantPermission\x12\x15\n\rcan_subscribe\x18\x01 \x01(\x08\x12\x13\n\x0b\x63\x61n_publish\x18\x02 \x01(\x08\x12\x18\n\x10\x63\x61n_publish_data\x18\x03 \x01(\x08\x12\x31\n\x13\x63\x61n_publish_sources\x18\t \x03(\x0e\x32\x14.livekit.TrackSource\x12\x0e\n\x06hidden\x18\x07 \x01(\x08\x12\x14\n\x08recorder\x18\x08 \x01(\x08\x42\x02\x18\x01\x12\x1b\n\x13\x63\x61n_update_metadata\x18\n \x01(\x08\x12\x11\n\x05\x61gent\x18\x0b \x01(\x08\x42\x02\x18\x01\x12\x1d\n\x15\x63\x61n_subscribe_metrics\x18\x0c \x01(\x08\"\xd4\x07\n\x0fParticipantInfo\x12\x0b\n\x03sid\x18\x01 \x01(\t\x12\x10\n\x08identity\x18\x02 \x01(\t\x12-\n\x05state\x18\x03 \x01(\x0e\x32\x1e.livekit.ParticipantInfo.State\x12\"\n\x06tracks\x18\x04 \x03(\x0b\x32\x12.livekit.TrackInfo\x12\x38\n\x08metadata\x18\x05 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e\x12\x11\n\tjoined_at\x18\x06 \x01(\x03\x12\x14\n\x0cjoined_at_ms\x18\x11 \x01(\x03\x12\x12\n\x04name\x18\t \x01(\tB\x04\x88\xec,\x01\x12\x0f\n\x07version\x18\n \x01(\r\x12\x32\n\npermission\x18\x0b \x01(\x0b\x32\x1e.livekit.ParticipantPermission\x12\x0e\n\x06region\x18\x0c \x01(\t\x12\x14\n\x0cis_publisher\x18\r \x01(\x08\x12+\n\x04kind\x18\x0e \x01(\x0e\x32\x1d.livekit.ParticipantInfo.Kind\x12\x64\n\nattributes\x18\x0f \x03(\x0b\x32(.livekit.ParticipantInfo.AttributesEntryB&\x88\xec,\x01\x92\xec,\x1e\x12\x34\n\x11\x64isconnect_reason\x18\x10 \x01(\x0e\x32\x19.livekit.DisconnectReason\x12\x39\n\x0ckind_details\x18\x12 \x03(\x0e\x32#.livekit.ParticipantInfo.KindDetail\x12+\n\x0b\x64\x61ta_tracks\x18\x13 \x03(\x0b\x32\x16.livekit.DataTrackInfo\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\">\n\x05State\x12\x0b\n\x07JOINING\x10\x00\x12\n\n\x06JOINED\x10\x01\x12\n\n\x06\x41\x43TIVE\x10\x02\x12\x10\n\x0c\x44ISCONNECTED\x10\x03\"\\\n\x04Kind\x12\x0c\n\x08STANDARD\x10\x00\x12\x0b\n\x07INGRESS\x10\x01\x12\n\n\x06\x45GRESS\x10\x02\x12\x07\n\x03SIP\x10\x03\x12\t\n\x05\x41GENT\x10\x04\x12\r\n\tCONNECTOR\x10\x07\x12\n\n\x06\x42RIDGE\x10\x08\"k\n\nKindDetail\x12\x0f\n\x0b\x43LOUD_AGENT\x10\x00\x12\r\n\tFORWARDED\x10\x01\x12\x16\n\x12\x43ONNECTOR_WHATSAPP\x10\x02\x12\x14\n\x10\x43ONNECTOR_TWILIO\x10\x03\x12\x0f\n\x0b\x42RIDGE_RTSP\x10\x04\"3\n\nEncryption\"%\n\x04Type\x12\x08\n\x04NONE\x10\x00\x12\x07\n\x03GCM\x10\x01\x12\n\n\x06\x43USTOM\x10\x02\"\xab\x01\n\x12SimulcastCodecInfo\x12\x11\n\tmime_type\x18\x01 \x01(\t\x12\x0b\n\x03mid\x18\x02 \x01(\t\x12\x0b\n\x03\x63id\x18\x03 \x01(\t\x12#\n\x06layers\x18\x04 \x03(\x0b\x32\x13.livekit.VideoLayer\x12\x32\n\x10video_layer_mode\x18\x05 \x01(\x0e\x32\x18.livekit.VideoLayer.Mode\x12\x0f\n\x07sdp_cid\x18\x06 \x01(\t\"\xc4\x04\n\tTrackInfo\x12\x0b\n\x03sid\x18\x01 \x01(\t\x12 \n\x04type\x18\x02 \x01(\x0e\x32\x12.livekit.TrackType\x12\x12\n\x04name\x18\x03 \x01(\tB\x04\x88\xec,\x01\x12\r\n\x05muted\x18\x04 \x01(\x08\x12\r\n\x05width\x18\x05 \x01(\r\x12\x0e\n\x06height\x18\x06 \x01(\r\x12\x15\n\tsimulcast\x18\x07 \x01(\x08\x42\x02\x18\x01\x12\x17\n\x0b\x64isable_dtx\x18\x08 \x01(\x08\x42\x02\x18\x01\x12$\n\x06source\x18\t \x01(\x0e\x32\x14.livekit.TrackSource\x12\'\n\x06layers\x18\n \x03(\x0b\x32\x13.livekit.VideoLayerB\x02\x18\x01\x12\x11\n\tmime_type\x18\x0b \x01(\t\x12\x0b\n\x03mid\x18\x0c \x01(\t\x12+\n\x06\x63odecs\x18\r \x03(\x0b\x32\x1b.livekit.SimulcastCodecInfo\x12\x12\n\x06stereo\x18\x0e \x01(\x08\x42\x02\x18\x01\x12\x13\n\x0b\x64isable_red\x18\x0f \x01(\x08\x12,\n\nencryption\x18\x10 \x01(\x0e\x32\x18.livekit.Encryption.Type\x12\x0e\n\x06stream\x18\x11 \x01(\t\x12&\n\x07version\x18\x12 \x01(\x0b\x32\x15.livekit.TimedVersion\x12\x32\n\x0e\x61udio_features\x18\x13 \x03(\x0e\x32\x1a.livekit.AudioTrackFeature\x12\x37\n\x13\x62\x61\x63kup_codec_policy\x18\x14 \x01(\x0e\x32\x1a.livekit.BackupCodecPolicy\"l\n\rDataTrackInfo\x12\x12\n\npub_handle\x18\x01 \x01(\r\x12\x0b\n\x03sid\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12,\n\nencryption\x18\x04 \x01(\x0e\x32\x18.livekit.Encryption.Type\"f\n DataTrackExtensionParticipantSid\x12)\n\x02id\x18\x01 \x01(\x0e\x32\x1d.livekit.DataTrackExtensionID\x12\x17\n\x0fparticipant_sid\x18\x02 \x01(\t\"F\n\x1c\x44\x61taTrackSubscriptionOptions\x12\x17\n\ntarget_fps\x18\x01 \x01(\rH\x00\x88\x01\x01\x42\r\n\x0b_target_fps\"\xc4\x02\n\nVideoLayer\x12&\n\x07quality\x18\x01 \x01(\x0e\x32\x15.livekit.VideoQuality\x12\r\n\x05width\x18\x02 \x01(\r\x12\x0e\n\x06height\x18\x03 \x01(\r\x12\x0f\n\x07\x62itrate\x18\x04 \x01(\r\x12\x0c\n\x04ssrc\x18\x05 \x01(\r\x12\x15\n\rspatial_layer\x18\x06 \x01(\x05\x12\x0b\n\x03rid\x18\x07 \x01(\t\x12\x13\n\x0brepair_ssrc\x18\x08 \x01(\r\"\x96\x01\n\x04Mode\x12\x0f\n\x0bMODE_UNUSED\x10\x00\x12 \n\x1cONE_SPATIAL_LAYER_PER_STREAM\x10\x01\x12&\n\"MULTIPLE_SPATIAL_LAYERS_PER_STREAM\x10\x02\x12\x33\n/ONE_SPATIAL_LAYER_PER_STREAM_INCOMPLETE_RTCP_SR\x10\x03\"\xa7\x06\n\nDataPacket\x12*\n\x04kind\x18\x01 \x01(\x0e\x32\x18.livekit.DataPacket.KindB\x02\x18\x01\x12\x1c\n\x14participant_identity\x18\x04 \x01(\t\x12\x1e\n\x16\x64\x65stination_identities\x18\x05 \x03(\t\x12#\n\x04user\x18\x02 \x01(\x0b\x32\x13.livekit.UserPacketH\x00\x12\x33\n\x07speaker\x18\x03 \x01(\x0b\x32\x1c.livekit.ActiveSpeakerUpdateB\x02\x18\x01H\x00\x12$\n\x08sip_dtmf\x18\x06 \x01(\x0b\x32\x10.livekit.SipDTMFH\x00\x12/\n\rtranscription\x18\x07 \x01(\x0b\x32\x16.livekit.TranscriptionH\x00\x12(\n\x07metrics\x18\x08 \x01(\x0b\x32\x15.livekit.MetricsBatchH\x00\x12,\n\x0c\x63hat_message\x18\t \x01(\x0b\x32\x14.livekit.ChatMessageH\x00\x12*\n\x0brpc_request\x18\n \x01(\x0b\x32\x13.livekit.RpcRequestH\x00\x12\"\n\x07rpc_ack\x18\x0b \x01(\x0b\x32\x0f.livekit.RpcAckH\x00\x12,\n\x0crpc_response\x18\x0c \x01(\x0b\x32\x14.livekit.RpcResponseH\x00\x12\x33\n\rstream_header\x18\r \x01(\x0b\x32\x1a.livekit.DataStream.HeaderH\x00\x12\x31\n\x0cstream_chunk\x18\x0e \x01(\x0b\x32\x19.livekit.DataStream.ChunkH\x00\x12\x35\n\x0estream_trailer\x18\x0f \x01(\x0b\x32\x1b.livekit.DataStream.TrailerH\x00\x12\x34\n\x10\x65ncrypted_packet\x18\x12 \x01(\x0b\x32\x18.livekit.EncryptedPacketH\x00\x12\x10\n\x08sequence\x18\x10 \x01(\r\x12\x17\n\x0fparticipant_sid\x18\x11 \x01(\t\"\x1f\n\x04Kind\x12\x0c\n\x08RELIABLE\x10\x00\x12\t\n\x05LOSSY\x10\x01\x42\x07\n\x05value\"|\n\x0f\x45ncryptedPacket\x12\x31\n\x0f\x65ncryption_type\x18\x01 \x01(\x0e\x32\x18.livekit.Encryption.Type\x12\n\n\x02iv\x18\x02 \x01(\x0c\x12\x11\n\tkey_index\x18\x03 \x01(\r\x12\x17\n\x0f\x65ncrypted_value\x18\x04 \x01(\x0c\"\x91\x03\n\x16\x45ncryptedPacketPayload\x12#\n\x04user\x18\x01 \x01(\x0b\x32\x13.livekit.UserPacketH\x00\x12,\n\x0c\x63hat_message\x18\x03 \x01(\x0b\x32\x14.livekit.ChatMessageH\x00\x12*\n\x0brpc_request\x18\x04 \x01(\x0b\x32\x13.livekit.RpcRequestH\x00\x12\"\n\x07rpc_ack\x18\x05 \x01(\x0b\x32\x0f.livekit.RpcAckH\x00\x12,\n\x0crpc_response\x18\x06 \x01(\x0b\x32\x14.livekit.RpcResponseH\x00\x12\x33\n\rstream_header\x18\x07 \x01(\x0b\x32\x1a.livekit.DataStream.HeaderH\x00\x12\x31\n\x0cstream_chunk\x18\x08 \x01(\x0b\x32\x19.livekit.DataStream.ChunkH\x00\x12\x35\n\x0estream_trailer\x18\t \x01(\x0b\x32\x1b.livekit.DataStream.TrailerH\x00\x42\x07\n\x05value\"A\n\x13\x41\x63tiveSpeakerUpdate\x12&\n\x08speakers\x18\x01 \x03(\x0b\x32\x14.livekit.SpeakerInfo:\x02\x18\x01\"9\n\x0bSpeakerInfo\x12\x0b\n\x03sid\x18\x01 \x01(\t\x12\r\n\x05level\x18\x02 \x01(\x02\x12\x0e\n\x06\x61\x63tive\x18\x03 \x01(\x08\"\xaf\x02\n\nUserPacket\x12\x1b\n\x0fparticipant_sid\x18\x01 \x01(\tB\x02\x18\x01\x12 \n\x14participant_identity\x18\x05 \x01(\tB\x02\x18\x01\x12\x0f\n\x07payload\x18\x02 \x01(\x0c\x12\x1c\n\x10\x64\x65stination_sids\x18\x03 \x03(\tB\x02\x18\x01\x12\"\n\x16\x64\x65stination_identities\x18\x06 \x03(\tB\x02\x18\x01\x12\x12\n\x05topic\x18\x04 \x01(\tH\x00\x88\x01\x01\x12\x0f\n\x02id\x18\x08 \x01(\tH\x01\x88\x01\x01\x12\x17\n\nstart_time\x18\t \x01(\x04H\x02\x88\x01\x01\x12\x15\n\x08\x65nd_time\x18\n \x01(\x04H\x03\x88\x01\x01\x12\r\n\x05nonce\x18\x0b \x01(\x0c\x42\x08\n\x06_topicB\x05\n\x03_idB\r\n\x0b_start_timeB\x0b\n\t_end_time\"&\n\x07SipDTMF\x12\x0c\n\x04\x63ode\x18\x03 \x01(\r\x12\r\n\x05\x64igit\x18\x04 \x01(\t\"|\n\rTranscription\x12(\n transcribed_participant_identity\x18\x02 \x01(\t\x12\x10\n\x08track_id\x18\x03 \x01(\t\x12/\n\x08segments\x18\x04 \x03(\x0b\x32\x1d.livekit.TranscriptionSegment\"w\n\x14TranscriptionSegment\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04text\x18\x02 \x01(\t\x12\x12\n\nstart_time\x18\x03 \x01(\x04\x12\x10\n\x08\x65nd_time\x18\x04 \x01(\x04\x12\r\n\x05\x66inal\x18\x05 \x01(\x08\x12\x10\n\x08language\x18\x06 \x01(\t\"\x91\x01\n\x0b\x43hatMessage\x12\n\n\x02id\x18\x01 \x01(\t\x12\x11\n\ttimestamp\x18\x02 \x01(\x03\x12\x1b\n\x0e\x65\x64it_timestamp\x18\x03 \x01(\x03H\x00\x88\x01\x01\x12\x0f\n\x07message\x18\x04 \x01(\t\x12\x0f\n\x07\x64\x65leted\x18\x05 \x01(\x08\x12\x11\n\tgenerated\x18\x06 \x01(\x08\x42\x11\n\x0f_edit_timestamp\"g\n\nRpcRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0e\n\x06method\x18\x02 \x01(\t\x12\x0f\n\x07payload\x18\x03 \x01(\t\x12\x1b\n\x13response_timeout_ms\x18\x04 \x01(\r\x12\x0f\n\x07version\x18\x05 \x01(\r\"\x1c\n\x06RpcAck\x12\x12\n\nrequest_id\x18\x01 \x01(\t\"a\n\x0bRpcResponse\x12\x12\n\nrequest_id\x18\x01 \x01(\t\x12\x11\n\x07payload\x18\x02 \x01(\tH\x00\x12\"\n\x05\x65rror\x18\x03 \x01(\x0b\x32\x11.livekit.RpcErrorH\x00\x42\x07\n\x05value\"7\n\x08RpcError\x12\x0c\n\x04\x63ode\x18\x01 \x01(\r\x12\x0f\n\x07message\x18\x02 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\t\"@\n\x11ParticipantTracks\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12\x12\n\ntrack_sids\x18\x02 \x03(\t\"\xce\x01\n\nServerInfo\x12,\n\x07\x65\x64ition\x18\x01 \x01(\x0e\x32\x1b.livekit.ServerInfo.Edition\x12\x0f\n\x07version\x18\x02 \x01(\t\x12\x10\n\x08protocol\x18\x03 \x01(\x05\x12\x0e\n\x06region\x18\x04 \x01(\t\x12\x0f\n\x07node_id\x18\x05 \x01(\t\x12\x12\n\ndebug_info\x18\x06 \x01(\t\x12\x16\n\x0e\x61gent_protocol\x18\x07 \x01(\x05\"\"\n\x07\x45\x64ition\x12\x0c\n\x08Standard\x10\x00\x12\t\n\x05\x43loud\x10\x01\"\xa1\x03\n\nClientInfo\x12$\n\x03sdk\x18\x01 \x01(\x0e\x32\x17.livekit.ClientInfo.SDK\x12\x0f\n\x07version\x18\x02 \x01(\t\x12\x10\n\x08protocol\x18\x03 \x01(\x05\x12\n\n\x02os\x18\x04 \x01(\t\x12\x12\n\nos_version\x18\x05 \x01(\t\x12\x14\n\x0c\x64\x65vice_model\x18\x06 \x01(\t\x12\x0f\n\x07\x62rowser\x18\x07 \x01(\t\x12\x17\n\x0f\x62rowser_version\x18\x08 \x01(\t\x12\x0f\n\x07\x61\x64\x64ress\x18\t \x01(\t\x12\x0f\n\x07network\x18\n \x01(\t\x12\x12\n\nother_sdks\x18\x0b \x01(\t\"\xb3\x01\n\x03SDK\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x06\n\x02JS\x10\x01\x12\t\n\x05SWIFT\x10\x02\x12\x0b\n\x07\x41NDROID\x10\x03\x12\x0b\n\x07\x46LUTTER\x10\x04\x12\x06\n\x02GO\x10\x05\x12\t\n\x05UNITY\x10\x06\x12\x10\n\x0cREACT_NATIVE\x10\x07\x12\x08\n\x04RUST\x10\x08\x12\n\n\x06PYTHON\x10\t\x12\x07\n\x03\x43PP\x10\n\x12\r\n\tUNITY_WEB\x10\x0b\x12\x08\n\x04NODE\x10\x0c\x12\n\n\x06UNREAL\x10\r\x12\t\n\x05\x45SP32\x10\x0e\"\x8c\x02\n\x13\x43lientConfiguration\x12*\n\x05video\x18\x01 \x01(\x0b\x32\x1b.livekit.VideoConfiguration\x12+\n\x06screen\x18\x02 \x01(\x0b\x32\x1b.livekit.VideoConfiguration\x12\x37\n\x11resume_connection\x18\x03 \x01(\x0e\x32\x1c.livekit.ClientConfigSetting\x12\x30\n\x0f\x64isabled_codecs\x18\x04 \x01(\x0b\x32\x17.livekit.DisabledCodecs\x12\x31\n\x0b\x66orce_relay\x18\x05 \x01(\x0e\x32\x1c.livekit.ClientConfigSetting\"L\n\x12VideoConfiguration\x12\x36\n\x10hardware_encoder\x18\x01 \x01(\x0e\x32\x1c.livekit.ClientConfigSetting\"Q\n\x0e\x44isabledCodecs\x12\x1e\n\x06\x63odecs\x18\x01 \x03(\x0b\x32\x0e.livekit.Codec\x12\x1f\n\x07publish\x18\x02 \x03(\x0b\x32\x0e.livekit.Codec\"\x80\x02\n\x08RTPDrift\x12.\n\nstart_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x08\x65nd_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x10\n\x08\x64uration\x18\x03 \x01(\x01\x12\x17\n\x0fstart_timestamp\x18\x04 \x01(\x04\x12\x15\n\rend_timestamp\x18\x05 \x01(\x04\x12\x17\n\x0frtp_clock_ticks\x18\x06 \x01(\x04\x12\x15\n\rdrift_samples\x18\x07 \x01(\x03\x12\x10\n\x08\x64rift_ms\x18\x08 \x01(\x01\x12\x12\n\nclock_rate\x18\t \x01(\x01\"\xd6\n\n\x08RTPStats\x12.\n\nstart_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x08\x65nd_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x10\n\x08\x64uration\x18\x03 \x01(\x01\x12\x0f\n\x07packets\x18\x04 \x01(\r\x12\x13\n\x0bpacket_rate\x18\x05 \x01(\x01\x12\r\n\x05\x62ytes\x18\x06 \x01(\x04\x12\x14\n\x0cheader_bytes\x18\' \x01(\x04\x12\x0f\n\x07\x62itrate\x18\x07 \x01(\x01\x12\x14\n\x0cpackets_lost\x18\x08 \x01(\r\x12\x18\n\x10packet_loss_rate\x18\t \x01(\x01\x12\x1e\n\x16packet_loss_percentage\x18\n \x01(\x02\x12\x19\n\x11packets_duplicate\x18\x0b \x01(\r\x12\x1d\n\x15packet_duplicate_rate\x18\x0c \x01(\x01\x12\x17\n\x0f\x62ytes_duplicate\x18\r \x01(\x04\x12\x1e\n\x16header_bytes_duplicate\x18( \x01(\x04\x12\x19\n\x11\x62itrate_duplicate\x18\x0e \x01(\x01\x12\x17\n\x0fpackets_padding\x18\x0f \x01(\r\x12\x1b\n\x13packet_padding_rate\x18\x10 \x01(\x01\x12\x15\n\rbytes_padding\x18\x11 \x01(\x04\x12\x1c\n\x14header_bytes_padding\x18) \x01(\x04\x12\x17\n\x0f\x62itrate_padding\x18\x12 \x01(\x01\x12\x1c\n\x14packets_out_of_order\x18\x13 \x01(\r\x12\x0e\n\x06\x66rames\x18\x14 \x01(\r\x12\x12\n\nframe_rate\x18\x15 \x01(\x01\x12\x16\n\x0ejitter_current\x18\x16 \x01(\x01\x12\x12\n\njitter_max\x18\x17 \x01(\x01\x12:\n\rgap_histogram\x18\x18 \x03(\x0b\x32#.livekit.RTPStats.GapHistogramEntry\x12\r\n\x05nacks\x18\x19 \x01(\r\x12\x11\n\tnack_acks\x18% \x01(\r\x12\x13\n\x0bnack_misses\x18\x1a \x01(\r\x12\x15\n\rnack_repeated\x18& \x01(\r\x12\x0c\n\x04plis\x18\x1b \x01(\r\x12,\n\x08last_pli\x18\x1c \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0c\n\x04\x66irs\x18\x1d \x01(\r\x12,\n\x08last_fir\x18\x1e \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x13\n\x0brtt_current\x18\x1f \x01(\r\x12\x0f\n\x07rtt_max\x18 \x01(\r\x12\x12\n\nkey_frames\x18! \x01(\r\x12\x32\n\x0elast_key_frame\x18\" \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x17\n\x0flayer_lock_plis\x18# \x01(\r\x12\x37\n\x13last_layer_lock_pli\x18$ \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\'\n\x0cpacket_drift\x18, \x01(\x0b\x32\x11.livekit.RTPDrift\x12+\n\x10ntp_report_drift\x18- \x01(\x0b\x32\x11.livekit.RTPDrift\x12/\n\x14rebased_report_drift\x18. \x01(\x0b\x32\x11.livekit.RTPDrift\x12\x30\n\x15received_report_drift\x18/ \x01(\x0b\x32\x11.livekit.RTPDrift\x1a\x33\n\x11GapHistogramEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\r:\x02\x38\x01\"\xa2\x01\n\x15RTCPSenderReportState\x12\x15\n\rrtp_timestamp\x18\x01 \x01(\r\x12\x19\n\x11rtp_timestamp_ext\x18\x02 \x01(\x04\x12\x15\n\rntp_timestamp\x18\x03 \x01(\x04\x12\n\n\x02\x61t\x18\x04 \x01(\x03\x12\x13\n\x0b\x61t_adjusted\x18\x05 \x01(\x03\x12\x0f\n\x07packets\x18\x06 \x01(\r\x12\x0e\n\x06octets\x18\x07 \x01(\x04\"\xc9\x02\n\x11RTPForwarderState\x12\x0f\n\x07started\x18\x01 \x01(\x08\x12\x1f\n\x17reference_layer_spatial\x18\x02 \x01(\x05\x12\x16\n\x0epre_start_time\x18\x03 \x01(\x03\x12\x1b\n\x13\x65xt_first_timestamp\x18\x04 \x01(\x04\x12$\n\x1c\x64ummy_start_timestamp_offset\x18\x05 \x01(\x04\x12+\n\nrtp_munger\x18\x06 \x01(\x0b\x32\x17.livekit.RTPMungerState\x12-\n\nvp8_munger\x18\x07 \x01(\x0b\x32\x17.livekit.VP8MungerStateH\x00\x12;\n\x13sender_report_state\x18\x08 \x03(\x0b\x32\x1e.livekit.RTCPSenderReportStateB\x0e\n\x0c\x63odec_munger\"\xcb\x01\n\x0eRTPMungerState\x12 \n\x18\x65xt_last_sequence_number\x18\x01 \x01(\x04\x12\'\n\x1f\x65xt_second_last_sequence_number\x18\x02 \x01(\x04\x12\x1a\n\x12\x65xt_last_timestamp\x18\x03 \x01(\x04\x12!\n\x19\x65xt_second_last_timestamp\x18\x04 \x01(\x04\x12\x13\n\x0blast_marker\x18\x05 \x01(\x08\x12\x1a\n\x12second_last_marker\x18\x06 \x01(\x08\"\xb8\x01\n\x0eVP8MungerState\x12\x1b\n\x13\x65xt_last_picture_id\x18\x01 \x01(\x05\x12\x17\n\x0fpicture_id_used\x18\x02 \x01(\x08\x12\x18\n\x10last_tl0_pic_idx\x18\x03 \x01(\r\x12\x18\n\x10tl0_pic_idx_used\x18\x04 \x01(\x08\x12\x10\n\x08tid_used\x18\x05 \x01(\x08\x12\x14\n\x0clast_key_idx\x18\x06 \x01(\r\x12\x14\n\x0ckey_idx_used\x18\x07 \x01(\x08\"1\n\x0cTimedVersion\x12\x12\n\nunix_micro\x18\x01 \x01(\x03\x12\r\n\x05ticks\x18\x02 \x01(\x05\"\xcd\x07\n\nDataStream\x1a\xa4\x01\n\nTextHeader\x12\x39\n\x0eoperation_type\x18\x01 \x01(\x0e\x32!.livekit.DataStream.OperationType\x12\x0f\n\x07version\x18\x02 \x01(\x05\x12\x1a\n\x12reply_to_stream_id\x18\x03 \x01(\t\x12\x1b\n\x13\x61ttached_stream_ids\x18\x04 \x03(\t\x12\x11\n\tgenerated\x18\x05 \x01(\x08\x1a\x1a\n\nByteHeader\x12\x0c\n\x04name\x18\x01 \x01(\t\x1a\xa6\x03\n\x06Header\x12\x11\n\tstream_id\x18\x01 \x01(\t\x12\x11\n\ttimestamp\x18\x02 \x01(\x03\x12\r\n\x05topic\x18\x03 \x01(\t\x12\x11\n\tmime_type\x18\x04 \x01(\t\x12\x19\n\x0ctotal_length\x18\x05 \x01(\x04H\x01\x88\x01\x01\x12\x35\n\x0f\x65ncryption_type\x18\x07 \x01(\x0e\x32\x18.livekit.Encryption.TypeB\x02\x18\x01\x12>\n\nattributes\x18\x08 \x03(\x0b\x32*.livekit.DataStream.Header.AttributesEntry\x12\x35\n\x0btext_header\x18\t \x01(\x0b\x32\x1e.livekit.DataStream.TextHeaderH\x00\x12\x35\n\x0b\x62yte_header\x18\n \x01(\x0b\x32\x1e.livekit.DataStream.ByteHeaderH\x00\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x10\n\x0e\x63ontent_headerB\x0f\n\r_total_length\x1am\n\x05\x43hunk\x12\x11\n\tstream_id\x18\x01 \x01(\t\x12\x13\n\x0b\x63hunk_index\x18\x02 \x01(\x04\x12\x0f\n\x07\x63ontent\x18\x03 \x01(\x0c\x12\x0f\n\x07version\x18\x04 \x01(\x05\x12\x13\n\x02iv\x18\x05 \x01(\x0c\x42\x02\x18\x01H\x00\x88\x01\x01\x42\x05\n\x03_iv\x1a\xa0\x01\n\x07Trailer\x12\x11\n\tstream_id\x18\x01 \x01(\t\x12\x0e\n\x06reason\x18\x02 \x01(\t\x12?\n\nattributes\x18\x03 \x03(\x0b\x32+.livekit.DataStream.Trailer.AttributesEntry\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"A\n\rOperationType\x12\n\n\x06\x43REATE\x10\x00\x12\n\n\x06UPDATE\x10\x01\x12\n\n\x06\x44\x45LETE\x10\x02\x12\x0c\n\x08REACTION\x10\x03\">\n\x0c\x46ilterParams\x12\x16\n\x0einclude_events\x18\x01 \x03(\t\x12\x16\n\x0e\x65xclude_events\x18\x02 \x03(\t\"_\n\rWebhookConfig\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x13\n\x0bsigning_key\x18\x02 \x01(\t\x12,\n\rfilter_params\x18\x03 \x01(\x0b\x32\x15.livekit.FilterParams\"6\n\x14SubscribedAudioCodec\x12\r\n\x05\x63odec\x18\x01 \x01(\t\x12\x0f\n\x07\x65nabled\x18\x02 \x01(\x08*;\n\nAudioCodec\x12\x0e\n\nDEFAULT_AC\x10\x00\x12\x08\n\x04OPUS\x10\x01\x12\x07\n\x03\x41\x41\x43\x10\x02\x12\n\n\x06\x41\x43_MP3\x10\x03*V\n\nVideoCodec\x12\x0e\n\nDEFAULT_VC\x10\x00\x12\x11\n\rH264_BASELINE\x10\x01\x12\r\n\tH264_MAIN\x10\x02\x12\r\n\tH264_HIGH\x10\x03\x12\x07\n\x03VP8\x10\x04*)\n\nImageCodec\x12\x0e\n\nIC_DEFAULT\x10\x00\x12\x0b\n\x07IC_JPEG\x10\x01*I\n\x11\x42\x61\x63kupCodecPolicy\x12\x15\n\x11PREFER_REGRESSION\x10\x00\x12\r\n\tSIMULCAST\x10\x01\x12\x0e\n\nREGRESSION\x10\x02*+\n\tTrackType\x12\t\n\x05\x41UDIO\x10\x00\x12\t\n\x05VIDEO\x10\x01\x12\x08\n\x04\x44\x41TA\x10\x02*`\n\x0bTrackSource\x12\x0b\n\x07UNKNOWN\x10\x00\x12\n\n\x06\x43\x41MERA\x10\x01\x12\x0e\n\nMICROPHONE\x10\x02\x12\x10\n\x0cSCREEN_SHARE\x10\x03\x12\x16\n\x12SCREEN_SHARE_AUDIO\x10\x04*B\n\x14\x44\x61taTrackExtensionID\x12\x10\n\x0c\x44TEI_INVALID\x10\x00\x12\x18\n\x14\x44TEI_PARTICIPANT_SID\x10\x01*6\n\x0cVideoQuality\x12\x07\n\x03LOW\x10\x00\x12\n\n\x06MEDIUM\x10\x01\x12\x08\n\x04HIGH\x10\x02\x12\x07\n\x03OFF\x10\x03*@\n\x11\x43onnectionQuality\x12\x08\n\x04POOR\x10\x00\x12\x08\n\x04GOOD\x10\x01\x12\r\n\tEXCELLENT\x10\x02\x12\x08\n\x04LOST\x10\x03*;\n\x13\x43lientConfigSetting\x12\t\n\x05UNSET\x10\x00\x12\x0c\n\x08\x44ISABLED\x10\x01\x12\x0b\n\x07\x45NABLED\x10\x02*\xd7\x02\n\x10\x44isconnectReason\x12\x12\n\x0eUNKNOWN_REASON\x10\x00\x12\x14\n\x10\x43LIENT_INITIATED\x10\x01\x12\x16\n\x12\x44UPLICATE_IDENTITY\x10\x02\x12\x13\n\x0fSERVER_SHUTDOWN\x10\x03\x12\x17\n\x13PARTICIPANT_REMOVED\x10\x04\x12\x10\n\x0cROOM_DELETED\x10\x05\x12\x12\n\x0eSTATE_MISMATCH\x10\x06\x12\x10\n\x0cJOIN_FAILURE\x10\x07\x12\r\n\tMIGRATION\x10\x08\x12\x10\n\x0cSIGNAL_CLOSE\x10\t\x12\x0f\n\x0bROOM_CLOSED\x10\n\x12\x14\n\x10USER_UNAVAILABLE\x10\x0b\x12\x11\n\rUSER_REJECTED\x10\x0c\x12\x15\n\x11SIP_TRUNK_FAILURE\x10\r\x12\x16\n\x12\x43ONNECTION_TIMEOUT\x10\x0e\x12\x11\n\rMEDIA_FAILURE\x10\x0f*\x89\x01\n\x0fReconnectReason\x12\x0e\n\nRR_UNKNOWN\x10\x00\x12\x1a\n\x16RR_SIGNAL_DISCONNECTED\x10\x01\x12\x17\n\x13RR_PUBLISHER_FAILED\x10\x02\x12\x18\n\x14RR_SUBSCRIBER_FAILED\x10\x03\x12\x17\n\x13RR_SWITCH_CANDIDATE\x10\x04*T\n\x11SubscriptionError\x12\x0e\n\nSE_UNKNOWN\x10\x00\x12\x18\n\x14SE_CODEC_UNSUPPORTED\x10\x01\x12\x15\n\x11SE_TRACK_NOTFOUND\x10\x02*\xbd\x01\n\x11\x41udioTrackFeature\x12\r\n\tTF_STEREO\x10\x00\x12\r\n\tTF_NO_DTX\x10\x01\x12\x18\n\x14TF_AUTO_GAIN_CONTROL\x10\x02\x12\x18\n\x14TF_ECHO_CANCELLATION\x10\x03\x12\x18\n\x14TF_NOISE_SUPPRESSION\x10\x04\x12\"\n\x1eTF_ENHANCED_NOISE_CANCELLATION\x10\x05\x12\x18\n\x14TF_PRECONNECT_BUFFER\x10\x06\x42\x46Z#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -26,7 +26,7 @@ _globals['DESCRIPTOR']._options = None _globals['DESCRIPTOR']._serialized_options = b'Z#github.com/livekit/protocol/livekit\252\002\rLiveKit.Proto\352\002\016LiveKit::Proto' _globals['_ROOM'].fields_by_name['metadata']._options = None - _globals['_ROOM'].fields_by_name['metadata']._serialized_options = b'\210\265\030\001\222\265\030\036' + _globals['_ROOM'].fields_by_name['metadata']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_PARTICIPANTPERMISSION'].fields_by_name['recorder']._options = None _globals['_PARTICIPANTPERMISSION'].fields_by_name['recorder']._serialized_options = b'\030\001' _globals['_PARTICIPANTPERMISSION'].fields_by_name['agent']._options = None @@ -34,7 +34,13 @@ _globals['_PARTICIPANTINFO_ATTRIBUTESENTRY']._options = None _globals['_PARTICIPANTINFO_ATTRIBUTESENTRY']._serialized_options = b'8\001' _globals['_PARTICIPANTINFO'].fields_by_name['metadata']._options = None - _globals['_PARTICIPANTINFO'].fields_by_name['metadata']._serialized_options = b'\210\265\030\001\222\265\030\036' + _globals['_PARTICIPANTINFO'].fields_by_name['metadata']._serialized_options = b'\210\354,\001\222\354,\036' + _globals['_PARTICIPANTINFO'].fields_by_name['name']._options = None + _globals['_PARTICIPANTINFO'].fields_by_name['name']._serialized_options = b'\210\354,\001' + _globals['_PARTICIPANTINFO'].fields_by_name['attributes']._options = None + _globals['_PARTICIPANTINFO'].fields_by_name['attributes']._serialized_options = b'\210\354,\001\222\354,\036' + _globals['_TRACKINFO'].fields_by_name['name']._options = None + _globals['_TRACKINFO'].fields_by_name['name']._serialized_options = b'\210\354,\001' _globals['_TRACKINFO'].fields_by_name['simulcast']._options = None _globals['_TRACKINFO'].fields_by_name['simulcast']._serialized_options = b'\030\001' _globals['_TRACKINFO'].fields_by_name['disable_dtx']._options = None @@ -67,32 +73,34 @@ _globals['_DATASTREAM_CHUNK'].fields_by_name['iv']._serialized_options = b'\030\001' _globals['_DATASTREAM_TRAILER_ATTRIBUTESENTRY']._options = None _globals['_DATASTREAM_TRAILER_ATTRIBUTESENTRY']._serialized_options = b'8\001' - _globals['_AUDIOCODEC']._serialized_start=10386 - _globals['_AUDIOCODEC']._serialized_end=10445 - _globals['_VIDEOCODEC']._serialized_start=10447 - _globals['_VIDEOCODEC']._serialized_end=10533 - _globals['_IMAGECODEC']._serialized_start=10535 - _globals['_IMAGECODEC']._serialized_end=10576 - _globals['_BACKUPCODECPOLICY']._serialized_start=10578 - _globals['_BACKUPCODECPOLICY']._serialized_end=10651 - _globals['_TRACKTYPE']._serialized_start=10653 - _globals['_TRACKTYPE']._serialized_end=10696 - _globals['_TRACKSOURCE']._serialized_start=10698 - _globals['_TRACKSOURCE']._serialized_end=10794 - _globals['_VIDEOQUALITY']._serialized_start=10796 - _globals['_VIDEOQUALITY']._serialized_end=10850 - _globals['_CONNECTIONQUALITY']._serialized_start=10852 - _globals['_CONNECTIONQUALITY']._serialized_end=10916 - _globals['_CLIENTCONFIGSETTING']._serialized_start=10918 - _globals['_CLIENTCONFIGSETTING']._serialized_end=10977 - _globals['_DISCONNECTREASON']._serialized_start=10980 - _globals['_DISCONNECTREASON']._serialized_end=11323 - _globals['_RECONNECTREASON']._serialized_start=11326 - _globals['_RECONNECTREASON']._serialized_end=11463 - _globals['_SUBSCRIPTIONERROR']._serialized_start=11465 - _globals['_SUBSCRIPTIONERROR']._serialized_end=11549 - _globals['_AUDIOTRACKFEATURE']._serialized_start=11552 - _globals['_AUDIOTRACKFEATURE']._serialized_end=11741 + _globals['_AUDIOCODEC']._serialized_start=10819 + _globals['_AUDIOCODEC']._serialized_end=10878 + _globals['_VIDEOCODEC']._serialized_start=10880 + _globals['_VIDEOCODEC']._serialized_end=10966 + _globals['_IMAGECODEC']._serialized_start=10968 + _globals['_IMAGECODEC']._serialized_end=11009 + _globals['_BACKUPCODECPOLICY']._serialized_start=11011 + _globals['_BACKUPCODECPOLICY']._serialized_end=11084 + _globals['_TRACKTYPE']._serialized_start=11086 + _globals['_TRACKTYPE']._serialized_end=11129 + _globals['_TRACKSOURCE']._serialized_start=11131 + _globals['_TRACKSOURCE']._serialized_end=11227 + _globals['_DATATRACKEXTENSIONID']._serialized_start=11229 + _globals['_DATATRACKEXTENSIONID']._serialized_end=11295 + _globals['_VIDEOQUALITY']._serialized_start=11297 + _globals['_VIDEOQUALITY']._serialized_end=11351 + _globals['_CONNECTIONQUALITY']._serialized_start=11353 + _globals['_CONNECTIONQUALITY']._serialized_end=11417 + _globals['_CLIENTCONFIGSETTING']._serialized_start=11419 + _globals['_CLIENTCONFIGSETTING']._serialized_end=11478 + _globals['_DISCONNECTREASON']._serialized_start=11481 + _globals['_DISCONNECTREASON']._serialized_end=11824 + _globals['_RECONNECTREASON']._serialized_start=11827 + _globals['_RECONNECTREASON']._serialized_end=11964 + _globals['_SUBSCRIPTIONERROR']._serialized_start=11966 + _globals['_SUBSCRIPTIONERROR']._serialized_end=12050 + _globals['_AUDIOTRACKFEATURE']._serialized_start=12053 + _globals['_AUDIOTRACKFEATURE']._serialized_end=12242 _globals['_PAGINATION']._serialized_start=111 _globals['_PAGINATION']._serialized_end=156 _globals['_TOKENPAGINATION']._serialized_start=158 @@ -108,111 +116,117 @@ _globals['_PARTICIPANTPERMISSION']._serialized_start=763 _globals['_PARTICIPANTPERMISSION']._serialized_end=1024 _globals['_PARTICIPANTINFO']._serialized_start=1027 - _globals['_PARTICIPANTINFO']._serialized_end=1887 - _globals['_PARTICIPANTINFO_ATTRIBUTESENTRY']._serialized_start=1600 - _globals['_PARTICIPANTINFO_ATTRIBUTESENTRY']._serialized_end=1649 - _globals['_PARTICIPANTINFO_STATE']._serialized_start=1651 - _globals['_PARTICIPANTINFO_STATE']._serialized_end=1713 - _globals['_PARTICIPANTINFO_KIND']._serialized_start=1715 - _globals['_PARTICIPANTINFO_KIND']._serialized_end=1795 - _globals['_PARTICIPANTINFO_KINDDETAIL']._serialized_start=1797 - _globals['_PARTICIPANTINFO_KINDDETAIL']._serialized_end=1887 - _globals['_ENCRYPTION']._serialized_start=1889 - _globals['_ENCRYPTION']._serialized_end=1940 - _globals['_ENCRYPTION_TYPE']._serialized_start=1903 - _globals['_ENCRYPTION_TYPE']._serialized_end=1940 - _globals['_SIMULCASTCODECINFO']._serialized_start=1943 - _globals['_SIMULCASTCODECINFO']._serialized_end=2114 - _globals['_TRACKINFO']._serialized_start=2117 - _globals['_TRACKINFO']._serialized_end=2691 - _globals['_VIDEOLAYER']._serialized_start=2694 - _globals['_VIDEOLAYER']._serialized_end=2997 - _globals['_VIDEOLAYER_MODE']._serialized_start=2847 - _globals['_VIDEOLAYER_MODE']._serialized_end=2997 - _globals['_DATAPACKET']._serialized_start=3000 - _globals['_DATAPACKET']._serialized_end=3807 - _globals['_DATAPACKET_KIND']._serialized_start=3767 - _globals['_DATAPACKET_KIND']._serialized_end=3798 - _globals['_ENCRYPTEDPACKET']._serialized_start=3809 - _globals['_ENCRYPTEDPACKET']._serialized_end=3933 - _globals['_ENCRYPTEDPACKETPAYLOAD']._serialized_start=3936 - _globals['_ENCRYPTEDPACKETPAYLOAD']._serialized_end=4337 - _globals['_ACTIVESPEAKERUPDATE']._serialized_start=4339 - _globals['_ACTIVESPEAKERUPDATE']._serialized_end=4404 - _globals['_SPEAKERINFO']._serialized_start=4406 - _globals['_SPEAKERINFO']._serialized_end=4463 - _globals['_USERPACKET']._serialized_start=4466 - _globals['_USERPACKET']._serialized_end=4769 - _globals['_SIPDTMF']._serialized_start=4771 - _globals['_SIPDTMF']._serialized_end=4809 - _globals['_TRANSCRIPTION']._serialized_start=4811 - _globals['_TRANSCRIPTION']._serialized_end=4935 - _globals['_TRANSCRIPTIONSEGMENT']._serialized_start=4937 - _globals['_TRANSCRIPTIONSEGMENT']._serialized_end=5056 - _globals['_CHATMESSAGE']._serialized_start=5059 - _globals['_CHATMESSAGE']._serialized_end=5204 - _globals['_RPCREQUEST']._serialized_start=5206 - _globals['_RPCREQUEST']._serialized_end=5309 - _globals['_RPCACK']._serialized_start=5311 - _globals['_RPCACK']._serialized_end=5339 - _globals['_RPCRESPONSE']._serialized_start=5341 - _globals['_RPCRESPONSE']._serialized_end=5438 - _globals['_RPCERROR']._serialized_start=5440 - _globals['_RPCERROR']._serialized_end=5495 - _globals['_PARTICIPANTTRACKS']._serialized_start=5497 - _globals['_PARTICIPANTTRACKS']._serialized_end=5561 - _globals['_SERVERINFO']._serialized_start=5564 - _globals['_SERVERINFO']._serialized_end=5770 - _globals['_SERVERINFO_EDITION']._serialized_start=5736 - _globals['_SERVERINFO_EDITION']._serialized_end=5770 - _globals['_CLIENTINFO']._serialized_start=5773 - _globals['_CLIENTINFO']._serialized_end=6190 - _globals['_CLIENTINFO_SDK']._serialized_start=6011 - _globals['_CLIENTINFO_SDK']._serialized_end=6190 - _globals['_CLIENTCONFIGURATION']._serialized_start=6193 - _globals['_CLIENTCONFIGURATION']._serialized_end=6461 - _globals['_VIDEOCONFIGURATION']._serialized_start=6463 - _globals['_VIDEOCONFIGURATION']._serialized_end=6539 - _globals['_DISABLEDCODECS']._serialized_start=6541 - _globals['_DISABLEDCODECS']._serialized_end=6622 - _globals['_RTPDRIFT']._serialized_start=6625 - _globals['_RTPDRIFT']._serialized_end=6881 - _globals['_RTPSTATS']._serialized_start=6884 - _globals['_RTPSTATS']._serialized_end=8250 - _globals['_RTPSTATS_GAPHISTOGRAMENTRY']._serialized_start=8199 - _globals['_RTPSTATS_GAPHISTOGRAMENTRY']._serialized_end=8250 - _globals['_RTCPSENDERREPORTSTATE']._serialized_start=8253 - _globals['_RTCPSENDERREPORTSTATE']._serialized_end=8415 - _globals['_RTPFORWARDERSTATE']._serialized_start=8418 - _globals['_RTPFORWARDERSTATE']._serialized_end=8747 - _globals['_RTPMUNGERSTATE']._serialized_start=8750 - _globals['_RTPMUNGERSTATE']._serialized_end=8953 - _globals['_VP8MUNGERSTATE']._serialized_start=8956 - _globals['_VP8MUNGERSTATE']._serialized_end=9140 - _globals['_TIMEDVERSION']._serialized_start=9142 - _globals['_TIMEDVERSION']._serialized_end=9191 - _globals['_DATASTREAM']._serialized_start=9194 - _globals['_DATASTREAM']._serialized_end=10167 - _globals['_DATASTREAM_TEXTHEADER']._serialized_start=9209 - _globals['_DATASTREAM_TEXTHEADER']._serialized_end=9373 - _globals['_DATASTREAM_BYTEHEADER']._serialized_start=9375 - _globals['_DATASTREAM_BYTEHEADER']._serialized_end=9401 - _globals['_DATASTREAM_HEADER']._serialized_start=9404 - _globals['_DATASTREAM_HEADER']._serialized_end=9826 - _globals['_DATASTREAM_HEADER_ATTRIBUTESENTRY']._serialized_start=1600 - _globals['_DATASTREAM_HEADER_ATTRIBUTESENTRY']._serialized_end=1649 - _globals['_DATASTREAM_CHUNK']._serialized_start=9828 - _globals['_DATASTREAM_CHUNK']._serialized_end=9937 - _globals['_DATASTREAM_TRAILER']._serialized_start=9940 - _globals['_DATASTREAM_TRAILER']._serialized_end=10100 - _globals['_DATASTREAM_TRAILER_ATTRIBUTESENTRY']._serialized_start=1600 - _globals['_DATASTREAM_TRAILER_ATTRIBUTESENTRY']._serialized_end=1649 - _globals['_DATASTREAM_OPERATIONTYPE']._serialized_start=10102 - _globals['_DATASTREAM_OPERATIONTYPE']._serialized_end=10167 - _globals['_FILTERPARAMS']._serialized_start=10169 - _globals['_FILTERPARAMS']._serialized_end=10231 - _globals['_WEBHOOKCONFIG']._serialized_start=10233 - _globals['_WEBHOOKCONFIG']._serialized_end=10328 - _globals['_SUBSCRIBEDAUDIOCODEC']._serialized_start=10330 - _globals['_SUBSCRIBEDAUDIOCODEC']._serialized_end=10384 + _globals['_PARTICIPANTINFO']._serialized_end=2007 + _globals['_PARTICIPANTINFO_ATTRIBUTESENTRY']._serialized_start=1691 + _globals['_PARTICIPANTINFO_ATTRIBUTESENTRY']._serialized_end=1740 + _globals['_PARTICIPANTINFO_STATE']._serialized_start=1742 + _globals['_PARTICIPANTINFO_STATE']._serialized_end=1804 + _globals['_PARTICIPANTINFO_KIND']._serialized_start=1806 + _globals['_PARTICIPANTINFO_KIND']._serialized_end=1898 + _globals['_PARTICIPANTINFO_KINDDETAIL']._serialized_start=1900 + _globals['_PARTICIPANTINFO_KINDDETAIL']._serialized_end=2007 + _globals['_ENCRYPTION']._serialized_start=2009 + _globals['_ENCRYPTION']._serialized_end=2060 + _globals['_ENCRYPTION_TYPE']._serialized_start=2023 + _globals['_ENCRYPTION_TYPE']._serialized_end=2060 + _globals['_SIMULCASTCODECINFO']._serialized_start=2063 + _globals['_SIMULCASTCODECINFO']._serialized_end=2234 + _globals['_TRACKINFO']._serialized_start=2237 + _globals['_TRACKINFO']._serialized_end=2817 + _globals['_DATATRACKINFO']._serialized_start=2819 + _globals['_DATATRACKINFO']._serialized_end=2927 + _globals['_DATATRACKEXTENSIONPARTICIPANTSID']._serialized_start=2929 + _globals['_DATATRACKEXTENSIONPARTICIPANTSID']._serialized_end=3031 + _globals['_DATATRACKSUBSCRIPTIONOPTIONS']._serialized_start=3033 + _globals['_DATATRACKSUBSCRIPTIONOPTIONS']._serialized_end=3103 + _globals['_VIDEOLAYER']._serialized_start=3106 + _globals['_VIDEOLAYER']._serialized_end=3430 + _globals['_VIDEOLAYER_MODE']._serialized_start=3280 + _globals['_VIDEOLAYER_MODE']._serialized_end=3430 + _globals['_DATAPACKET']._serialized_start=3433 + _globals['_DATAPACKET']._serialized_end=4240 + _globals['_DATAPACKET_KIND']._serialized_start=4200 + _globals['_DATAPACKET_KIND']._serialized_end=4231 + _globals['_ENCRYPTEDPACKET']._serialized_start=4242 + _globals['_ENCRYPTEDPACKET']._serialized_end=4366 + _globals['_ENCRYPTEDPACKETPAYLOAD']._serialized_start=4369 + _globals['_ENCRYPTEDPACKETPAYLOAD']._serialized_end=4770 + _globals['_ACTIVESPEAKERUPDATE']._serialized_start=4772 + _globals['_ACTIVESPEAKERUPDATE']._serialized_end=4837 + _globals['_SPEAKERINFO']._serialized_start=4839 + _globals['_SPEAKERINFO']._serialized_end=4896 + _globals['_USERPACKET']._serialized_start=4899 + _globals['_USERPACKET']._serialized_end=5202 + _globals['_SIPDTMF']._serialized_start=5204 + _globals['_SIPDTMF']._serialized_end=5242 + _globals['_TRANSCRIPTION']._serialized_start=5244 + _globals['_TRANSCRIPTION']._serialized_end=5368 + _globals['_TRANSCRIPTIONSEGMENT']._serialized_start=5370 + _globals['_TRANSCRIPTIONSEGMENT']._serialized_end=5489 + _globals['_CHATMESSAGE']._serialized_start=5492 + _globals['_CHATMESSAGE']._serialized_end=5637 + _globals['_RPCREQUEST']._serialized_start=5639 + _globals['_RPCREQUEST']._serialized_end=5742 + _globals['_RPCACK']._serialized_start=5744 + _globals['_RPCACK']._serialized_end=5772 + _globals['_RPCRESPONSE']._serialized_start=5774 + _globals['_RPCRESPONSE']._serialized_end=5871 + _globals['_RPCERROR']._serialized_start=5873 + _globals['_RPCERROR']._serialized_end=5928 + _globals['_PARTICIPANTTRACKS']._serialized_start=5930 + _globals['_PARTICIPANTTRACKS']._serialized_end=5994 + _globals['_SERVERINFO']._serialized_start=5997 + _globals['_SERVERINFO']._serialized_end=6203 + _globals['_SERVERINFO_EDITION']._serialized_start=6169 + _globals['_SERVERINFO_EDITION']._serialized_end=6203 + _globals['_CLIENTINFO']._serialized_start=6206 + _globals['_CLIENTINFO']._serialized_end=6623 + _globals['_CLIENTINFO_SDK']._serialized_start=6444 + _globals['_CLIENTINFO_SDK']._serialized_end=6623 + _globals['_CLIENTCONFIGURATION']._serialized_start=6626 + _globals['_CLIENTCONFIGURATION']._serialized_end=6894 + _globals['_VIDEOCONFIGURATION']._serialized_start=6896 + _globals['_VIDEOCONFIGURATION']._serialized_end=6972 + _globals['_DISABLEDCODECS']._serialized_start=6974 + _globals['_DISABLEDCODECS']._serialized_end=7055 + _globals['_RTPDRIFT']._serialized_start=7058 + _globals['_RTPDRIFT']._serialized_end=7314 + _globals['_RTPSTATS']._serialized_start=7317 + _globals['_RTPSTATS']._serialized_end=8683 + _globals['_RTPSTATS_GAPHISTOGRAMENTRY']._serialized_start=8632 + _globals['_RTPSTATS_GAPHISTOGRAMENTRY']._serialized_end=8683 + _globals['_RTCPSENDERREPORTSTATE']._serialized_start=8686 + _globals['_RTCPSENDERREPORTSTATE']._serialized_end=8848 + _globals['_RTPFORWARDERSTATE']._serialized_start=8851 + _globals['_RTPFORWARDERSTATE']._serialized_end=9180 + _globals['_RTPMUNGERSTATE']._serialized_start=9183 + _globals['_RTPMUNGERSTATE']._serialized_end=9386 + _globals['_VP8MUNGERSTATE']._serialized_start=9389 + _globals['_VP8MUNGERSTATE']._serialized_end=9573 + _globals['_TIMEDVERSION']._serialized_start=9575 + _globals['_TIMEDVERSION']._serialized_end=9624 + _globals['_DATASTREAM']._serialized_start=9627 + _globals['_DATASTREAM']._serialized_end=10600 + _globals['_DATASTREAM_TEXTHEADER']._serialized_start=9642 + _globals['_DATASTREAM_TEXTHEADER']._serialized_end=9806 + _globals['_DATASTREAM_BYTEHEADER']._serialized_start=9808 + _globals['_DATASTREAM_BYTEHEADER']._serialized_end=9834 + _globals['_DATASTREAM_HEADER']._serialized_start=9837 + _globals['_DATASTREAM_HEADER']._serialized_end=10259 + _globals['_DATASTREAM_HEADER_ATTRIBUTESENTRY']._serialized_start=1691 + _globals['_DATASTREAM_HEADER_ATTRIBUTESENTRY']._serialized_end=1740 + _globals['_DATASTREAM_CHUNK']._serialized_start=10261 + _globals['_DATASTREAM_CHUNK']._serialized_end=10370 + _globals['_DATASTREAM_TRAILER']._serialized_start=10373 + _globals['_DATASTREAM_TRAILER']._serialized_end=10533 + _globals['_DATASTREAM_TRAILER_ATTRIBUTESENTRY']._serialized_start=1691 + _globals['_DATASTREAM_TRAILER_ATTRIBUTESENTRY']._serialized_end=1740 + _globals['_DATASTREAM_OPERATIONTYPE']._serialized_start=10535 + _globals['_DATASTREAM_OPERATIONTYPE']._serialized_end=10600 + _globals['_FILTERPARAMS']._serialized_start=10602 + _globals['_FILTERPARAMS']._serialized_end=10664 + _globals['_WEBHOOKCONFIG']._serialized_start=10666 + _globals['_WEBHOOKCONFIG']._serialized_end=10761 + _globals['_SUBSCRIBEDAUDIOCODEC']._serialized_start=10763 + _globals['_SUBSCRIBEDAUDIOCODEC']._serialized_end=10817 # @@protoc_insertion_point(module_scope) diff --git a/livekit-protocol/livekit/protocol/models.pyi b/livekit-protocol/livekit/protocol/models.pyi index c03398f2..32f8d255 100644 --- a/livekit-protocol/livekit/protocol/models.pyi +++ b/livekit-protocol/livekit/protocol/models.pyi @@ -49,6 +49,11 @@ class TrackSource(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): SCREEN_SHARE: _ClassVar[TrackSource] SCREEN_SHARE_AUDIO: _ClassVar[TrackSource] +class DataTrackExtensionID(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + DTEI_INVALID: _ClassVar[DataTrackExtensionID] + DTEI_PARTICIPANT_SID: _ClassVar[DataTrackExtensionID] + class VideoQuality(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () LOW: _ClassVar[VideoQuality] @@ -133,6 +138,8 @@ CAMERA: TrackSource MICROPHONE: TrackSource SCREEN_SHARE: TrackSource SCREEN_SHARE_AUDIO: TrackSource +DTEI_INVALID: DataTrackExtensionID +DTEI_PARTICIPANT_SID: DataTrackExtensionID LOW: VideoQuality MEDIUM: VideoQuality HIGH: VideoQuality @@ -275,7 +282,7 @@ class ParticipantPermission(_message.Message): def __init__(self, can_subscribe: bool = ..., can_publish: bool = ..., can_publish_data: bool = ..., can_publish_sources: _Optional[_Iterable[_Union[TrackSource, str]]] = ..., hidden: bool = ..., recorder: bool = ..., can_update_metadata: bool = ..., agent: bool = ..., can_subscribe_metrics: bool = ...) -> None: ... class ParticipantInfo(_message.Message): - __slots__ = ("sid", "identity", "state", "tracks", "metadata", "joined_at", "joined_at_ms", "name", "version", "permission", "region", "is_publisher", "kind", "attributes", "disconnect_reason", "kind_details") + __slots__ = ("sid", "identity", "state", "tracks", "metadata", "joined_at", "joined_at_ms", "name", "version", "permission", "region", "is_publisher", "kind", "attributes", "disconnect_reason", "kind_details", "data_tracks") class State(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () JOINING: _ClassVar[ParticipantInfo.State] @@ -294,22 +301,26 @@ class ParticipantInfo(_message.Message): SIP: _ClassVar[ParticipantInfo.Kind] AGENT: _ClassVar[ParticipantInfo.Kind] CONNECTOR: _ClassVar[ParticipantInfo.Kind] + BRIDGE: _ClassVar[ParticipantInfo.Kind] STANDARD: ParticipantInfo.Kind INGRESS: ParticipantInfo.Kind EGRESS: ParticipantInfo.Kind SIP: ParticipantInfo.Kind AGENT: ParticipantInfo.Kind CONNECTOR: ParticipantInfo.Kind + BRIDGE: ParticipantInfo.Kind class KindDetail(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () CLOUD_AGENT: _ClassVar[ParticipantInfo.KindDetail] FORWARDED: _ClassVar[ParticipantInfo.KindDetail] CONNECTOR_WHATSAPP: _ClassVar[ParticipantInfo.KindDetail] CONNECTOR_TWILIO: _ClassVar[ParticipantInfo.KindDetail] + BRIDGE_RTSP: _ClassVar[ParticipantInfo.KindDetail] CLOUD_AGENT: ParticipantInfo.KindDetail FORWARDED: ParticipantInfo.KindDetail CONNECTOR_WHATSAPP: ParticipantInfo.KindDetail CONNECTOR_TWILIO: ParticipantInfo.KindDetail + BRIDGE_RTSP: ParticipantInfo.KindDetail class AttributesEntry(_message.Message): __slots__ = ("key", "value") KEY_FIELD_NUMBER: _ClassVar[int] @@ -333,6 +344,7 @@ class ParticipantInfo(_message.Message): ATTRIBUTES_FIELD_NUMBER: _ClassVar[int] DISCONNECT_REASON_FIELD_NUMBER: _ClassVar[int] KIND_DETAILS_FIELD_NUMBER: _ClassVar[int] + DATA_TRACKS_FIELD_NUMBER: _ClassVar[int] sid: str identity: str state: ParticipantInfo.State @@ -349,7 +361,8 @@ class ParticipantInfo(_message.Message): attributes: _containers.ScalarMap[str, str] disconnect_reason: DisconnectReason kind_details: _containers.RepeatedScalarFieldContainer[ParticipantInfo.KindDetail] - def __init__(self, sid: _Optional[str] = ..., identity: _Optional[str] = ..., state: _Optional[_Union[ParticipantInfo.State, str]] = ..., tracks: _Optional[_Iterable[_Union[TrackInfo, _Mapping]]] = ..., metadata: _Optional[str] = ..., joined_at: _Optional[int] = ..., joined_at_ms: _Optional[int] = ..., name: _Optional[str] = ..., version: _Optional[int] = ..., permission: _Optional[_Union[ParticipantPermission, _Mapping]] = ..., region: _Optional[str] = ..., is_publisher: bool = ..., kind: _Optional[_Union[ParticipantInfo.Kind, str]] = ..., attributes: _Optional[_Mapping[str, str]] = ..., disconnect_reason: _Optional[_Union[DisconnectReason, str]] = ..., kind_details: _Optional[_Iterable[_Union[ParticipantInfo.KindDetail, str]]] = ...) -> None: ... + data_tracks: _containers.RepeatedCompositeFieldContainer[DataTrackInfo] + def __init__(self, sid: _Optional[str] = ..., identity: _Optional[str] = ..., state: _Optional[_Union[ParticipantInfo.State, str]] = ..., tracks: _Optional[_Iterable[_Union[TrackInfo, _Mapping]]] = ..., metadata: _Optional[str] = ..., joined_at: _Optional[int] = ..., joined_at_ms: _Optional[int] = ..., name: _Optional[str] = ..., version: _Optional[int] = ..., permission: _Optional[_Union[ParticipantPermission, _Mapping]] = ..., region: _Optional[str] = ..., is_publisher: bool = ..., kind: _Optional[_Union[ParticipantInfo.Kind, str]] = ..., attributes: _Optional[_Mapping[str, str]] = ..., disconnect_reason: _Optional[_Union[DisconnectReason, str]] = ..., kind_details: _Optional[_Iterable[_Union[ParticipantInfo.KindDetail, str]]] = ..., data_tracks: _Optional[_Iterable[_Union[DataTrackInfo, _Mapping]]] = ...) -> None: ... class Encryption(_message.Message): __slots__ = () @@ -423,8 +436,34 @@ class TrackInfo(_message.Message): backup_codec_policy: BackupCodecPolicy def __init__(self, sid: _Optional[str] = ..., type: _Optional[_Union[TrackType, str]] = ..., name: _Optional[str] = ..., muted: bool = ..., width: _Optional[int] = ..., height: _Optional[int] = ..., simulcast: bool = ..., disable_dtx: bool = ..., source: _Optional[_Union[TrackSource, str]] = ..., layers: _Optional[_Iterable[_Union[VideoLayer, _Mapping]]] = ..., mime_type: _Optional[str] = ..., mid: _Optional[str] = ..., codecs: _Optional[_Iterable[_Union[SimulcastCodecInfo, _Mapping]]] = ..., stereo: bool = ..., disable_red: bool = ..., encryption: _Optional[_Union[Encryption.Type, str]] = ..., stream: _Optional[str] = ..., version: _Optional[_Union[TimedVersion, _Mapping]] = ..., audio_features: _Optional[_Iterable[_Union[AudioTrackFeature, str]]] = ..., backup_codec_policy: _Optional[_Union[BackupCodecPolicy, str]] = ...) -> None: ... +class DataTrackInfo(_message.Message): + __slots__ = ("pub_handle", "sid", "name", "encryption") + PUB_HANDLE_FIELD_NUMBER: _ClassVar[int] + SID_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + ENCRYPTION_FIELD_NUMBER: _ClassVar[int] + pub_handle: int + sid: str + name: str + encryption: Encryption.Type + def __init__(self, pub_handle: _Optional[int] = ..., sid: _Optional[str] = ..., name: _Optional[str] = ..., encryption: _Optional[_Union[Encryption.Type, str]] = ...) -> None: ... + +class DataTrackExtensionParticipantSid(_message.Message): + __slots__ = ("id", "participant_sid") + ID_FIELD_NUMBER: _ClassVar[int] + PARTICIPANT_SID_FIELD_NUMBER: _ClassVar[int] + id: DataTrackExtensionID + participant_sid: str + def __init__(self, id: _Optional[_Union[DataTrackExtensionID, str]] = ..., participant_sid: _Optional[str] = ...) -> None: ... + +class DataTrackSubscriptionOptions(_message.Message): + __slots__ = ("target_fps",) + TARGET_FPS_FIELD_NUMBER: _ClassVar[int] + target_fps: int + def __init__(self, target_fps: _Optional[int] = ...) -> None: ... + class VideoLayer(_message.Message): - __slots__ = ("quality", "width", "height", "bitrate", "ssrc", "spatial_layer", "rid") + __slots__ = ("quality", "width", "height", "bitrate", "ssrc", "spatial_layer", "rid", "repair_ssrc") class Mode(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () MODE_UNUSED: _ClassVar[VideoLayer.Mode] @@ -442,6 +481,7 @@ class VideoLayer(_message.Message): SSRC_FIELD_NUMBER: _ClassVar[int] SPATIAL_LAYER_FIELD_NUMBER: _ClassVar[int] RID_FIELD_NUMBER: _ClassVar[int] + REPAIR_SSRC_FIELD_NUMBER: _ClassVar[int] quality: VideoQuality width: int height: int @@ -449,7 +489,8 @@ class VideoLayer(_message.Message): ssrc: int spatial_layer: int rid: str - def __init__(self, quality: _Optional[_Union[VideoQuality, str]] = ..., width: _Optional[int] = ..., height: _Optional[int] = ..., bitrate: _Optional[int] = ..., ssrc: _Optional[int] = ..., spatial_layer: _Optional[int] = ..., rid: _Optional[str] = ...) -> None: ... + repair_ssrc: int + def __init__(self, quality: _Optional[_Union[VideoQuality, str]] = ..., width: _Optional[int] = ..., height: _Optional[int] = ..., bitrate: _Optional[int] = ..., ssrc: _Optional[int] = ..., spatial_layer: _Optional[int] = ..., rid: _Optional[str] = ..., repair_ssrc: _Optional[int] = ...) -> None: ... class DataPacket(_message.Message): __slots__ = ("kind", "participant_identity", "destination_identities", "user", "speaker", "sip_dtmf", "transcription", "metrics", "chat_message", "rpc_request", "rpc_ack", "rpc_response", "stream_header", "stream_chunk", "stream_trailer", "encrypted_packet", "sequence", "participant_sid") diff --git a/livekit-protocol/livekit/protocol/room.py b/livekit-protocol/livekit/protocol/room.py index ceffc76d..882aad28 100644 --- a/livekit-protocol/livekit/protocol/room.py +++ b/livekit-protocol/livekit/protocol/room.py @@ -18,7 +18,7 @@ from .logger_pb import options as logger_dot_options__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x12livekit_room.proto\x12\x07livekit\x1a\x14livekit_models.proto\x1a\x14livekit_egress.proto\x1a\x1clivekit_agent_dispatch.proto\x1a\x14logger/options.proto\"\x82\x03\n\x11\x43reateRoomRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0broom_preset\x18\x0c \x01(\t\x12\x15\n\rempty_timeout\x18\x02 \x01(\r\x12\x19\n\x11\x64\x65parture_timeout\x18\n \x01(\r\x12\x18\n\x10max_participants\x18\x03 \x01(\r\x12\x0f\n\x07node_id\x18\x04 \x01(\t\x12\x38\n\x08metadata\x18\x05 \x01(\tB&\x88\xb5\x18\x01\x92\xb5\x18\x1e\x12#\n\x06\x65gress\x18\x06 \x01(\x0b\x32\x13.livekit.RoomEgress\x12\x19\n\x11min_playout_delay\x18\x07 \x01(\r\x12\x19\n\x11max_playout_delay\x18\x08 \x01(\r\x12\x14\n\x0csync_streams\x18\t \x01(\x08\x12\x16\n\x0ereplay_enabled\x18\r \x01(\x08\x12*\n\x06\x61gents\x18\x0e \x03(\x0b\x32\x1a.livekit.RoomAgentDispatch\"\x9e\x01\n\nRoomEgress\x12\x31\n\x04room\x18\x01 \x01(\x0b\x32#.livekit.RoomCompositeEgressRequest\x12\x33\n\x0bparticipant\x18\x03 \x01(\x0b\x32\x1e.livekit.AutoParticipantEgress\x12(\n\x06tracks\x18\x02 \x01(\x0b\x32\x18.livekit.AutoTrackEgress\";\n\tRoomAgent\x12.\n\ndispatches\x18\x01 \x03(\x0b\x32\x1a.livekit.RoomAgentDispatch\"!\n\x10ListRoomsRequest\x12\r\n\x05names\x18\x01 \x03(\t\"1\n\x11ListRoomsResponse\x12\x1c\n\x05rooms\x18\x01 \x03(\x0b\x32\r.livekit.Room\"!\n\x11\x44\x65leteRoomRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\"\x14\n\x12\x44\x65leteRoomResponse\"\'\n\x17ListParticipantsRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\"J\n\x18ListParticipantsResponse\x12.\n\x0cparticipants\x18\x01 \x03(\x0b\x32\x18.livekit.ParticipantInfo\"9\n\x17RoomParticipantIdentity\x12\x0c\n\x04room\x18\x01 \x01(\t\x12\x10\n\x08identity\x18\x02 \x01(\t\"\x1b\n\x19RemoveParticipantResponse\"X\n\x14MuteRoomTrackRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\x12\x10\n\x08identity\x18\x02 \x01(\t\x12\x11\n\ttrack_sid\x18\x03 \x01(\t\x12\r\n\x05muted\x18\x04 \x01(\x08\":\n\x15MuteRoomTrackResponse\x12!\n\x05track\x18\x01 \x01(\x0b\x32\x12.livekit.TrackInfo\"\x80\x03\n\x18UpdateParticipantRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\x12\x10\n\x08identity\x18\x02 \x01(\t\x12\x38\n\x08metadata\x18\x03 \x01(\tB&\x88\xb5\x18\x01\x92\xb5\x18\x1e\x12\x32\n\npermission\x18\x04 \x01(\x0b\x32\x1e.livekit.ParticipantPermission\x12\x34\n\x04name\x18\x05 \x01(\tB&\x88\xb5\x18\x01\x92\xb5\x18\x1e\x12m\n\nattributes\x18\x06 \x03(\x0b\x32\x31.livekit.UpdateParticipantRequest.AttributesEntryB&\x88\xb5\x18\x01\x92\xb5\x18\x1e\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x9b\x01\n\x1aUpdateSubscriptionsRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\x12\x10\n\x08identity\x18\x02 \x01(\t\x12\x12\n\ntrack_sids\x18\x03 \x03(\t\x12\x11\n\tsubscribe\x18\x04 \x01(\x08\x12\x36\n\x12participant_tracks\x18\x05 \x03(\x0b\x32\x1a.livekit.ParticipantTracks\"\x1d\n\x1bUpdateSubscriptionsResponse\"\xc0\x01\n\x0fSendDataRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\x12&\n\x04kind\x18\x03 \x01(\x0e\x32\x18.livekit.DataPacket.Kind\x12\x1c\n\x10\x64\x65stination_sids\x18\x04 \x03(\tB\x02\x18\x01\x12\x1e\n\x16\x64\x65stination_identities\x18\x06 \x03(\t\x12\x12\n\x05topic\x18\x05 \x01(\tH\x00\x88\x01\x01\x12\r\n\x05nonce\x18\x07 \x01(\x0c\x42\x08\n\x06_topic\"\x12\n\x10SendDataResponse\"c\n\x19UpdateRoomMetadataRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\x12\x38\n\x08metadata\x18\x02 \x01(\tB&\x88\xb5\x18\x01\x92\xb5\x18\x1e\"\xc4\x02\n\x11RoomConfiguration\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rempty_timeout\x18\x02 \x01(\r\x12\x19\n\x11\x64\x65parture_timeout\x18\x03 \x01(\r\x12\x18\n\x10max_participants\x18\x04 \x01(\r\x12\x38\n\x08metadata\x18\x0b \x01(\tB&\x88\xb5\x18\x01\x92\xb5\x18\x1e\x12#\n\x06\x65gress\x18\x05 \x01(\x0b\x32\x13.livekit.RoomEgress\x12\x19\n\x11min_playout_delay\x18\x07 \x01(\r\x12\x19\n\x11max_playout_delay\x18\x08 \x01(\r\x12\x14\n\x0csync_streams\x18\t \x01(\x08\x12*\n\x06\x61gents\x18\n \x03(\x0b\x32\x1a.livekit.RoomAgentDispatch\"U\n\x19\x46orwardParticipantRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\x12\x10\n\x08identity\x18\x02 \x01(\t\x12\x18\n\x10\x64\x65stination_room\x18\x03 \x01(\t\"\x1c\n\x1a\x46orwardParticipantResponse\"R\n\x16MoveParticipantRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\x12\x10\n\x08identity\x18\x02 \x01(\t\x12\x18\n\x10\x64\x65stination_room\x18\x03 \x01(\t\"\x19\n\x17MoveParticipantResponse\"}\n\x11PerformRpcRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\x12\x1c\n\x14\x64\x65stination_identity\x18\x02 \x01(\t\x12\x0e\n\x06method\x18\x03 \x01(\t\x12\x0f\n\x07payload\x18\x04 \x01(\t\x12\x1b\n\x13response_timeout_ms\x18\x05 \x01(\r\"%\n\x12PerformRpcResponse\x12\x0f\n\x07payload\x18\x01 \x01(\t2\xe2\x08\n\x0bRoomService\x12\x37\n\nCreateRoom\x12\x1a.livekit.CreateRoomRequest\x1a\r.livekit.Room\x12\x42\n\tListRooms\x12\x19.livekit.ListRoomsRequest\x1a\x1a.livekit.ListRoomsResponse\x12\x45\n\nDeleteRoom\x12\x1a.livekit.DeleteRoomRequest\x1a\x1b.livekit.DeleteRoomResponse\x12W\n\x10ListParticipants\x12 .livekit.ListParticipantsRequest\x1a!.livekit.ListParticipantsResponse\x12L\n\x0eGetParticipant\x12 .livekit.RoomParticipantIdentity\x1a\x18.livekit.ParticipantInfo\x12Y\n\x11RemoveParticipant\x12 .livekit.RoomParticipantIdentity\x1a\".livekit.RemoveParticipantResponse\x12S\n\x12MutePublishedTrack\x12\x1d.livekit.MuteRoomTrackRequest\x1a\x1e.livekit.MuteRoomTrackResponse\x12P\n\x11UpdateParticipant\x12!.livekit.UpdateParticipantRequest\x1a\x18.livekit.ParticipantInfo\x12`\n\x13UpdateSubscriptions\x12#.livekit.UpdateSubscriptionsRequest\x1a$.livekit.UpdateSubscriptionsResponse\x12?\n\x08SendData\x12\x18.livekit.SendDataRequest\x1a\x19.livekit.SendDataResponse\x12G\n\x12UpdateRoomMetadata\x12\".livekit.UpdateRoomMetadataRequest\x1a\r.livekit.Room\x12]\n\x12\x46orwardParticipant\x12\".livekit.ForwardParticipantRequest\x1a#.livekit.ForwardParticipantResponse\x12T\n\x0fMoveParticipant\x12\x1f.livekit.MoveParticipantRequest\x1a .livekit.MoveParticipantResponse\x12\x45\n\nPerformRpc\x12\x1a.livekit.PerformRpcRequest\x1a\x1b.livekit.PerformRpcResponseBFZ#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x12livekit_room.proto\x12\x07livekit\x1a\x14livekit_models.proto\x1a\x14livekit_egress.proto\x1a\x1clivekit_agent_dispatch.proto\x1a\x14logger/options.proto\"\x82\x03\n\x11\x43reateRoomRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0broom_preset\x18\x0c \x01(\t\x12\x15\n\rempty_timeout\x18\x02 \x01(\r\x12\x19\n\x11\x64\x65parture_timeout\x18\n \x01(\r\x12\x18\n\x10max_participants\x18\x03 \x01(\r\x12\x0f\n\x07node_id\x18\x04 \x01(\t\x12\x38\n\x08metadata\x18\x05 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e\x12#\n\x06\x65gress\x18\x06 \x01(\x0b\x32\x13.livekit.RoomEgress\x12\x19\n\x11min_playout_delay\x18\x07 \x01(\r\x12\x19\n\x11max_playout_delay\x18\x08 \x01(\r\x12\x14\n\x0csync_streams\x18\t \x01(\x08\x12\x16\n\x0ereplay_enabled\x18\r \x01(\x08\x12*\n\x06\x61gents\x18\x0e \x03(\x0b\x32\x1a.livekit.RoomAgentDispatch\"\x9e\x01\n\nRoomEgress\x12\x31\n\x04room\x18\x01 \x01(\x0b\x32#.livekit.RoomCompositeEgressRequest\x12\x33\n\x0bparticipant\x18\x03 \x01(\x0b\x32\x1e.livekit.AutoParticipantEgress\x12(\n\x06tracks\x18\x02 \x01(\x0b\x32\x18.livekit.AutoTrackEgress\";\n\tRoomAgent\x12.\n\ndispatches\x18\x01 \x03(\x0b\x32\x1a.livekit.RoomAgentDispatch\"!\n\x10ListRoomsRequest\x12\r\n\x05names\x18\x01 \x03(\t\"1\n\x11ListRoomsResponse\x12\x1c\n\x05rooms\x18\x01 \x03(\x0b\x32\r.livekit.Room\"!\n\x11\x44\x65leteRoomRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\"\x14\n\x12\x44\x65leteRoomResponse\"\'\n\x17ListParticipantsRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\"J\n\x18ListParticipantsResponse\x12.\n\x0cparticipants\x18\x01 \x03(\x0b\x32\x18.livekit.ParticipantInfo\"9\n\x17RoomParticipantIdentity\x12\x0c\n\x04room\x18\x01 \x01(\t\x12\x10\n\x08identity\x18\x02 \x01(\t\"\x1b\n\x19RemoveParticipantResponse\"X\n\x14MuteRoomTrackRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\x12\x10\n\x08identity\x18\x02 \x01(\t\x12\x11\n\ttrack_sid\x18\x03 \x01(\t\x12\r\n\x05muted\x18\x04 \x01(\x08\":\n\x15MuteRoomTrackResponse\x12!\n\x05track\x18\x01 \x01(\x0b\x32\x12.livekit.TrackInfo\"\x80\x03\n\x18UpdateParticipantRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\x12\x10\n\x08identity\x18\x02 \x01(\t\x12\x38\n\x08metadata\x18\x03 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e\x12\x32\n\npermission\x18\x04 \x01(\x0b\x32\x1e.livekit.ParticipantPermission\x12\x34\n\x04name\x18\x05 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e\x12m\n\nattributes\x18\x06 \x03(\x0b\x32\x31.livekit.UpdateParticipantRequest.AttributesEntryB&\x88\xec,\x01\x92\xec,\x1e\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x9b\x01\n\x1aUpdateSubscriptionsRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\x12\x10\n\x08identity\x18\x02 \x01(\t\x12\x12\n\ntrack_sids\x18\x03 \x03(\t\x12\x11\n\tsubscribe\x18\x04 \x01(\x08\x12\x36\n\x12participant_tracks\x18\x05 \x03(\x0b\x32\x1a.livekit.ParticipantTracks\"\x1d\n\x1bUpdateSubscriptionsResponse\"\xc0\x01\n\x0fSendDataRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\x12&\n\x04kind\x18\x03 \x01(\x0e\x32\x18.livekit.DataPacket.Kind\x12\x1c\n\x10\x64\x65stination_sids\x18\x04 \x03(\tB\x02\x18\x01\x12\x1e\n\x16\x64\x65stination_identities\x18\x06 \x03(\t\x12\x12\n\x05topic\x18\x05 \x01(\tH\x00\x88\x01\x01\x12\r\n\x05nonce\x18\x07 \x01(\x0c\x42\x08\n\x06_topic\"\x12\n\x10SendDataResponse\"c\n\x19UpdateRoomMetadataRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\x12\x38\n\x08metadata\x18\x02 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e\"\xc4\x02\n\x11RoomConfiguration\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rempty_timeout\x18\x02 \x01(\r\x12\x19\n\x11\x64\x65parture_timeout\x18\x03 \x01(\r\x12\x18\n\x10max_participants\x18\x04 \x01(\r\x12\x38\n\x08metadata\x18\x0b \x01(\tB&\x88\xec,\x01\x92\xec,\x1e\x12#\n\x06\x65gress\x18\x05 \x01(\x0b\x32\x13.livekit.RoomEgress\x12\x19\n\x11min_playout_delay\x18\x07 \x01(\r\x12\x19\n\x11max_playout_delay\x18\x08 \x01(\r\x12\x14\n\x0csync_streams\x18\t \x01(\x08\x12*\n\x06\x61gents\x18\n \x03(\x0b\x32\x1a.livekit.RoomAgentDispatch\"U\n\x19\x46orwardParticipantRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\x12\x10\n\x08identity\x18\x02 \x01(\t\x12\x18\n\x10\x64\x65stination_room\x18\x03 \x01(\t\"\x1c\n\x1a\x46orwardParticipantResponse\"R\n\x16MoveParticipantRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\x12\x10\n\x08identity\x18\x02 \x01(\t\x12\x18\n\x10\x64\x65stination_room\x18\x03 \x01(\t\"\x19\n\x17MoveParticipantResponse\"}\n\x11PerformRpcRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\x12\x1c\n\x14\x64\x65stination_identity\x18\x02 \x01(\t\x12\x0e\n\x06method\x18\x03 \x01(\t\x12\x0f\n\x07payload\x18\x04 \x01(\t\x12\x1b\n\x13response_timeout_ms\x18\x05 \x01(\r\"%\n\x12PerformRpcResponse\x12\x0f\n\x07payload\x18\x01 \x01(\t2\xe2\x08\n\x0bRoomService\x12\x37\n\nCreateRoom\x12\x1a.livekit.CreateRoomRequest\x1a\r.livekit.Room\x12\x42\n\tListRooms\x12\x19.livekit.ListRoomsRequest\x1a\x1a.livekit.ListRoomsResponse\x12\x45\n\nDeleteRoom\x12\x1a.livekit.DeleteRoomRequest\x1a\x1b.livekit.DeleteRoomResponse\x12W\n\x10ListParticipants\x12 .livekit.ListParticipantsRequest\x1a!.livekit.ListParticipantsResponse\x12L\n\x0eGetParticipant\x12 .livekit.RoomParticipantIdentity\x1a\x18.livekit.ParticipantInfo\x12Y\n\x11RemoveParticipant\x12 .livekit.RoomParticipantIdentity\x1a\".livekit.RemoveParticipantResponse\x12S\n\x12MutePublishedTrack\x12\x1d.livekit.MuteRoomTrackRequest\x1a\x1e.livekit.MuteRoomTrackResponse\x12P\n\x11UpdateParticipant\x12!.livekit.UpdateParticipantRequest\x1a\x18.livekit.ParticipantInfo\x12`\n\x13UpdateSubscriptions\x12#.livekit.UpdateSubscriptionsRequest\x1a$.livekit.UpdateSubscriptionsResponse\x12?\n\x08SendData\x12\x18.livekit.SendDataRequest\x1a\x19.livekit.SendDataResponse\x12G\n\x12UpdateRoomMetadata\x12\".livekit.UpdateRoomMetadataRequest\x1a\r.livekit.Room\x12]\n\x12\x46orwardParticipant\x12\".livekit.ForwardParticipantRequest\x1a#.livekit.ForwardParticipantResponse\x12T\n\x0fMoveParticipant\x12\x1f.livekit.MoveParticipantRequest\x1a .livekit.MoveParticipantResponse\x12\x45\n\nPerformRpc\x12\x1a.livekit.PerformRpcRequest\x1a\x1b.livekit.PerformRpcResponseBFZ#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -27,21 +27,21 @@ _globals['DESCRIPTOR']._options = None _globals['DESCRIPTOR']._serialized_options = b'Z#github.com/livekit/protocol/livekit\252\002\rLiveKit.Proto\352\002\016LiveKit::Proto' _globals['_CREATEROOMREQUEST'].fields_by_name['metadata']._options = None - _globals['_CREATEROOMREQUEST'].fields_by_name['metadata']._serialized_options = b'\210\265\030\001\222\265\030\036' + _globals['_CREATEROOMREQUEST'].fields_by_name['metadata']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_UPDATEPARTICIPANTREQUEST_ATTRIBUTESENTRY']._options = None _globals['_UPDATEPARTICIPANTREQUEST_ATTRIBUTESENTRY']._serialized_options = b'8\001' _globals['_UPDATEPARTICIPANTREQUEST'].fields_by_name['metadata']._options = None - _globals['_UPDATEPARTICIPANTREQUEST'].fields_by_name['metadata']._serialized_options = b'\210\265\030\001\222\265\030\036' + _globals['_UPDATEPARTICIPANTREQUEST'].fields_by_name['metadata']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_UPDATEPARTICIPANTREQUEST'].fields_by_name['name']._options = None - _globals['_UPDATEPARTICIPANTREQUEST'].fields_by_name['name']._serialized_options = b'\210\265\030\001\222\265\030\036' + _globals['_UPDATEPARTICIPANTREQUEST'].fields_by_name['name']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_UPDATEPARTICIPANTREQUEST'].fields_by_name['attributes']._options = None - _globals['_UPDATEPARTICIPANTREQUEST'].fields_by_name['attributes']._serialized_options = b'\210\265\030\001\222\265\030\036' + _globals['_UPDATEPARTICIPANTREQUEST'].fields_by_name['attributes']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_SENDDATAREQUEST'].fields_by_name['destination_sids']._options = None _globals['_SENDDATAREQUEST'].fields_by_name['destination_sids']._serialized_options = b'\030\001' _globals['_UPDATEROOMMETADATAREQUEST'].fields_by_name['metadata']._options = None - _globals['_UPDATEROOMMETADATAREQUEST'].fields_by_name['metadata']._serialized_options = b'\210\265\030\001\222\265\030\036' + _globals['_UPDATEROOMMETADATAREQUEST'].fields_by_name['metadata']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_ROOMCONFIGURATION'].fields_by_name['metadata']._options = None - _globals['_ROOMCONFIGURATION'].fields_by_name['metadata']._serialized_options = b'\210\265\030\001\222\265\030\036' + _globals['_ROOMCONFIGURATION'].fields_by_name['metadata']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_CREATEROOMREQUEST']._serialized_start=128 _globals['_CREATEROOMREQUEST']._serialized_end=514 _globals['_ROOMEGRESS']._serialized_start=517 diff --git a/livekit-protocol/livekit/protocol/rtc.py b/livekit-protocol/livekit/protocol/rtc.py index 2fe7e59a..031fae7a 100644 --- a/livekit-protocol/livekit/protocol/rtc.py +++ b/livekit-protocol/livekit/protocol/rtc.py @@ -16,7 +16,7 @@ from .logger_pb import options as logger_dot_options__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x11livekit_rtc.proto\x12\x07livekit\x1a\x14livekit_models.proto\x1a\x14logger/options.proto\"\xd5\x06\n\rSignalRequest\x12,\n\x05offer\x18\x01 \x01(\x0b\x32\x1b.livekit.SessionDescriptionH\x00\x12-\n\x06\x61nswer\x18\x02 \x01(\x0b\x32\x1b.livekit.SessionDescriptionH\x00\x12*\n\x07trickle\x18\x03 \x01(\x0b\x32\x17.livekit.TrickleRequestH\x00\x12-\n\tadd_track\x18\x04 \x01(\x0b\x32\x18.livekit.AddTrackRequestH\x00\x12)\n\x04mute\x18\x05 \x01(\x0b\x32\x19.livekit.MuteTrackRequestH\x00\x12\x33\n\x0csubscription\x18\x06 \x01(\x0b\x32\x1b.livekit.UpdateSubscriptionH\x00\x12\x35\n\rtrack_setting\x18\x07 \x01(\x0b\x32\x1c.livekit.UpdateTrackSettingsH\x00\x12&\n\x05leave\x18\x08 \x01(\x0b\x32\x15.livekit.LeaveRequestH\x00\x12\x37\n\rupdate_layers\x18\n \x01(\x0b\x32\x1a.livekit.UpdateVideoLayersB\x02\x18\x01H\x00\x12\x42\n\x17subscription_permission\x18\x0b \x01(\x0b\x32\x1f.livekit.SubscriptionPermissionH\x00\x12(\n\nsync_state\x18\x0c \x01(\x0b\x32\x12.livekit.SyncStateH\x00\x12-\n\x08simulate\x18\r \x01(\x0b\x32\x19.livekit.SimulateScenarioH\x00\x12\x0e\n\x04ping\x18\x0e \x01(\x03H\x00\x12=\n\x0fupdate_metadata\x18\x0f \x01(\x0b\x32\".livekit.UpdateParticipantMetadataH\x00\x12!\n\x08ping_req\x18\x10 \x01(\x0b\x32\r.livekit.PingH\x00\x12<\n\x12update_audio_track\x18\x11 \x01(\x0b\x32\x1e.livekit.UpdateLocalAudioTrackH\x00\x12<\n\x12update_video_track\x18\x12 \x01(\x0b\x32\x1e.livekit.UpdateLocalVideoTrackH\x00\x42\t\n\x07message\"\xb0\n\n\x0eSignalResponse\x12%\n\x04join\x18\x01 \x01(\x0b\x32\x15.livekit.JoinResponseH\x00\x12-\n\x06\x61nswer\x18\x02 \x01(\x0b\x32\x1b.livekit.SessionDescriptionH\x00\x12,\n\x05offer\x18\x03 \x01(\x0b\x32\x1b.livekit.SessionDescriptionH\x00\x12*\n\x07trickle\x18\x04 \x01(\x0b\x32\x17.livekit.TrickleRequestH\x00\x12,\n\x06update\x18\x05 \x01(\x0b\x32\x1a.livekit.ParticipantUpdateH\x00\x12:\n\x0ftrack_published\x18\x06 \x01(\x0b\x32\x1f.livekit.TrackPublishedResponseH\x00\x12&\n\x05leave\x18\x08 \x01(\x0b\x32\x15.livekit.LeaveRequestH\x00\x12)\n\x04mute\x18\t \x01(\x0b\x32\x19.livekit.MuteTrackRequestH\x00\x12\x34\n\x10speakers_changed\x18\n \x01(\x0b\x32\x18.livekit.SpeakersChangedH\x00\x12*\n\x0broom_update\x18\x0b \x01(\x0b\x32\x13.livekit.RoomUpdateH\x00\x12>\n\x12\x63onnection_quality\x18\x0c \x01(\x0b\x32 .livekit.ConnectionQualityUpdateH\x00\x12\x39\n\x13stream_state_update\x18\r \x01(\x0b\x32\x1a.livekit.StreamStateUpdateH\x00\x12\x45\n\x19subscribed_quality_update\x18\x0e \x01(\x0b\x32 .livekit.SubscribedQualityUpdateH\x00\x12O\n\x1esubscription_permission_update\x18\x0f \x01(\x0b\x32%.livekit.SubscriptionPermissionUpdateH\x00\x12\x17\n\rrefresh_token\x18\x10 \x01(\tH\x00\x12>\n\x11track_unpublished\x18\x11 \x01(\x0b\x32!.livekit.TrackUnpublishedResponseH\x00\x12\x0e\n\x04pong\x18\x12 \x01(\x03H\x00\x12/\n\treconnect\x18\x13 \x01(\x0b\x32\x1a.livekit.ReconnectResponseH\x00\x12\"\n\tpong_resp\x18\x14 \x01(\x0b\x32\r.livekit.PongH\x00\x12>\n\x15subscription_response\x18\x15 \x01(\x0b\x32\x1d.livekit.SubscriptionResponseH\x00\x12\x34\n\x10request_response\x18\x16 \x01(\x0b\x32\x18.livekit.RequestResponseH\x00\x12\x34\n\x10track_subscribed\x18\x17 \x01(\x0b\x32\x18.livekit.TrackSubscribedH\x00\x12\x30\n\nroom_moved\x18\x18 \x01(\x0b\x32\x1a.livekit.RoomMovedResponseH\x00\x12G\n\x1amedia_sections_requirement\x18\x19 \x01(\x0b\x32!.livekit.MediaSectionsRequirementH\x00\x12L\n\x1dsubscribed_audio_codec_update\x18\x1a \x01(\x0b\x32#.livekit.SubscribedAudioCodecUpdateH\x00\x42\t\n\x07message\"\x85\x01\n\x0eSimulcastCodec\x12\r\n\x05\x63odec\x18\x01 \x01(\t\x12\x0b\n\x03\x63id\x18\x02 \x01(\t\x12#\n\x06layers\x18\x04 \x03(\x0b\x32\x13.livekit.VideoLayer\x12\x32\n\x10video_layer_mode\x18\x05 \x01(\x0e\x32\x18.livekit.VideoLayer.Mode\"\xf4\x03\n\x0f\x41\x64\x64TrackRequest\x12\x0b\n\x03\x63id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12 \n\x04type\x18\x03 \x01(\x0e\x32\x12.livekit.TrackType\x12\r\n\x05width\x18\x04 \x01(\r\x12\x0e\n\x06height\x18\x05 \x01(\r\x12\r\n\x05muted\x18\x06 \x01(\x08\x12\x17\n\x0b\x64isable_dtx\x18\x07 \x01(\x08\x42\x02\x18\x01\x12$\n\x06source\x18\x08 \x01(\x0e\x32\x14.livekit.TrackSource\x12#\n\x06layers\x18\t \x03(\x0b\x32\x13.livekit.VideoLayer\x12\x31\n\x10simulcast_codecs\x18\n \x03(\x0b\x32\x17.livekit.SimulcastCodec\x12\x0b\n\x03sid\x18\x0b \x01(\t\x12\x12\n\x06stereo\x18\x0c \x01(\x08\x42\x02\x18\x01\x12\x13\n\x0b\x64isable_red\x18\r \x01(\x08\x12,\n\nencryption\x18\x0e \x01(\x0e\x32\x18.livekit.Encryption.Type\x12\x0e\n\x06stream\x18\x0f \x01(\t\x12\x37\n\x13\x62\x61\x63kup_codec_policy\x18\x10 \x01(\x0e\x32\x1a.livekit.BackupCodecPolicy\x12\x32\n\x0e\x61udio_features\x18\x11 \x03(\x0e\x32\x1a.livekit.AudioTrackFeature\"]\n\x0eTrickleRequest\x12\x15\n\rcandidateInit\x18\x01 \x01(\t\x12%\n\x06target\x18\x02 \x01(\x0e\x32\x15.livekit.SignalTarget\x12\r\n\x05\x66inal\x18\x03 \x01(\x08\".\n\x10MuteTrackRequest\x12\x0b\n\x03sid\x18\x01 \x01(\t\x12\r\n\x05muted\x18\x02 \x01(\x08\"\x8b\x04\n\x0cJoinResponse\x12\x1b\n\x04room\x18\x01 \x01(\x0b\x32\r.livekit.Room\x12-\n\x0bparticipant\x18\x02 \x01(\x0b\x32\x18.livekit.ParticipantInfo\x12\x34\n\x12other_participants\x18\x03 \x03(\x0b\x32\x18.livekit.ParticipantInfo\x12\x16\n\x0eserver_version\x18\x04 \x01(\t\x12\'\n\x0bice_servers\x18\x05 \x03(\x0b\x32\x12.livekit.ICEServer\x12\x1a\n\x12subscriber_primary\x18\x06 \x01(\x08\x12\x17\n\x0f\x61lternative_url\x18\x07 \x01(\t\x12:\n\x14\x63lient_configuration\x18\x08 \x01(\x0b\x32\x1c.livekit.ClientConfiguration\x12\x15\n\rserver_region\x18\t \x01(\t\x12\x14\n\x0cping_timeout\x18\n \x01(\x05\x12\x15\n\rping_interval\x18\x0b \x01(\x05\x12(\n\x0bserver_info\x18\x0c \x01(\x0b\x32\x13.livekit.ServerInfo\x12\x13\n\x0bsif_trailer\x18\r \x01(\x0c\x12.\n\x16\x65nabled_publish_codecs\x18\x0e \x03(\x0b\x32\x0e.livekit.Codec\x12\x14\n\x0c\x66\x61st_publish\x18\x0f \x01(\x08\"\xbc\x01\n\x11ReconnectResponse\x12\'\n\x0bice_servers\x18\x01 \x03(\x0b\x32\x12.livekit.ICEServer\x12:\n\x14\x63lient_configuration\x18\x02 \x01(\x0b\x32\x1c.livekit.ClientConfiguration\x12(\n\x0bserver_info\x18\x03 \x01(\x0b\x32\x13.livekit.ServerInfo\x12\x18\n\x10last_message_seq\x18\x04 \x01(\r\"H\n\x16TrackPublishedResponse\x12\x0b\n\x03\x63id\x18\x01 \x01(\t\x12!\n\x05track\x18\x02 \x01(\x0b\x32\x12.livekit.TrackInfo\"-\n\x18TrackUnpublishedResponse\x12\x11\n\ttrack_sid\x18\x01 \x01(\t\"\xb8\x01\n\x12SessionDescription\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x0b\n\x03sdp\x18\x02 \x01(\t\x12\n\n\x02id\x18\x03 \x01(\r\x12\x46\n\x0fmid_to_track_id\x18\x04 \x03(\x0b\x32-.livekit.SessionDescription.MidToTrackIdEntry\x1a\x33\n\x11MidToTrackIdEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"C\n\x11ParticipantUpdate\x12.\n\x0cparticipants\x18\x01 \x03(\x0b\x32\x18.livekit.ParticipantInfo\"s\n\x12UpdateSubscription\x12\x12\n\ntrack_sids\x18\x01 \x03(\t\x12\x11\n\tsubscribe\x18\x02 \x01(\x08\x12\x36\n\x12participant_tracks\x18\x03 \x03(\x0b\x32\x1a.livekit.ParticipantTracks\"\xa1\x01\n\x13UpdateTrackSettings\x12\x12\n\ntrack_sids\x18\x01 \x03(\t\x12\x10\n\x08\x64isabled\x18\x03 \x01(\x08\x12&\n\x07quality\x18\x04 \x01(\x0e\x32\x15.livekit.VideoQuality\x12\r\n\x05width\x18\x05 \x01(\r\x12\x0e\n\x06height\x18\x06 \x01(\r\x12\x0b\n\x03\x66ps\x18\x07 \x01(\r\x12\x10\n\x08priority\x18\x08 \x01(\r\"X\n\x15UpdateLocalAudioTrack\x12\x11\n\ttrack_sid\x18\x01 \x01(\t\x12,\n\x08\x66\x65\x61tures\x18\x02 \x03(\x0e\x32\x1a.livekit.AudioTrackFeature\"I\n\x15UpdateLocalVideoTrack\x12\x11\n\ttrack_sid\x18\x01 \x01(\t\x12\r\n\x05width\x18\x02 \x01(\r\x12\x0e\n\x06height\x18\x03 \x01(\r\"\xdd\x01\n\x0cLeaveRequest\x12\x15\n\rcan_reconnect\x18\x01 \x01(\x08\x12)\n\x06reason\x18\x02 \x01(\x0e\x32\x19.livekit.DisconnectReason\x12,\n\x06\x61\x63tion\x18\x03 \x01(\x0e\x32\x1c.livekit.LeaveRequest.Action\x12(\n\x07regions\x18\x04 \x01(\x0b\x32\x17.livekit.RegionSettings\"3\n\x06\x41\x63tion\x12\x0e\n\nDISCONNECT\x10\x00\x12\n\n\x06RESUME\x10\x01\x12\r\n\tRECONNECT\x10\x02\"O\n\x11UpdateVideoLayers\x12\x11\n\ttrack_sid\x18\x01 \x01(\t\x12#\n\x06layers\x18\x02 \x03(\x0b\x32\x13.livekit.VideoLayer:\x02\x18\x01\"\xc2\x02\n\x19UpdateParticipantMetadata\x12\x38\n\x08metadata\x18\x01 \x01(\tB&\x88\xb5\x18\x01\x92\xb5\x18\x1e\x12\x34\n\x04name\x18\x02 \x01(\tB&\x88\xb5\x18\x01\x92\xb5\x18\x1e\x12n\n\nattributes\x18\x03 \x03(\x0b\x32\x32.livekit.UpdateParticipantMetadata.AttributesEntryB&\x88\xb5\x18\x01\x92\xb5\x18\x1e\x12\x12\n\nrequest_id\x18\x04 \x01(\r\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"?\n\tICEServer\x12\x0c\n\x04urls\x18\x01 \x03(\t\x12\x10\n\x08username\x18\x02 \x01(\t\x12\x12\n\ncredential\x18\x03 \x01(\t\"9\n\x0fSpeakersChanged\x12&\n\x08speakers\x18\x01 \x03(\x0b\x32\x14.livekit.SpeakerInfo\")\n\nRoomUpdate\x12\x1b\n\x04room\x18\x01 \x01(\x0b\x32\r.livekit.Room\"l\n\x15\x43onnectionQualityInfo\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12+\n\x07quality\x18\x02 \x01(\x0e\x32\x1a.livekit.ConnectionQuality\x12\r\n\x05score\x18\x03 \x01(\x02\"J\n\x17\x43onnectionQualityUpdate\x12/\n\x07updates\x18\x01 \x03(\x0b\x32\x1e.livekit.ConnectionQualityInfo\"b\n\x0fStreamStateInfo\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12\x11\n\ttrack_sid\x18\x02 \x01(\t\x12#\n\x05state\x18\x03 \x01(\x0e\x32\x14.livekit.StreamState\"D\n\x11StreamStateUpdate\x12/\n\rstream_states\x18\x01 \x03(\x0b\x32\x18.livekit.StreamStateInfo\"L\n\x11SubscribedQuality\x12&\n\x07quality\x18\x01 \x01(\x0e\x32\x15.livekit.VideoQuality\x12\x0f\n\x07\x65nabled\x18\x02 \x01(\x08\"O\n\x0fSubscribedCodec\x12\r\n\x05\x63odec\x18\x01 \x01(\t\x12-\n\tqualities\x18\x02 \x03(\x0b\x32\x1a.livekit.SubscribedQuality\"\x9f\x01\n\x17SubscribedQualityUpdate\x12\x11\n\ttrack_sid\x18\x01 \x01(\t\x12<\n\x14subscribed_qualities\x18\x02 \x03(\x0b\x32\x1a.livekit.SubscribedQualityB\x02\x18\x01\x12\x33\n\x11subscribed_codecs\x18\x03 \x03(\x0b\x32\x18.livekit.SubscribedCodec\"o\n\x1aSubscribedAudioCodecUpdate\x12\x11\n\ttrack_sid\x18\x01 \x01(\t\x12>\n\x17subscribed_audio_codecs\x18\x02 \x03(\x0b\x32\x1d.livekit.SubscribedAudioCodec\"p\n\x0fTrackPermission\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12\x12\n\nall_tracks\x18\x02 \x01(\x08\x12\x12\n\ntrack_sids\x18\x03 \x03(\t\x12\x1c\n\x14participant_identity\x18\x04 \x01(\t\"g\n\x16SubscriptionPermission\x12\x18\n\x10\x61ll_participants\x18\x01 \x01(\x08\x12\x33\n\x11track_permissions\x18\x02 \x03(\x0b\x32\x18.livekit.TrackPermission\"[\n\x1cSubscriptionPermissionUpdate\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12\x11\n\ttrack_sid\x18\x02 \x01(\t\x12\x0f\n\x07\x61llowed\x18\x03 \x01(\x08\"\xa4\x01\n\x11RoomMovedResponse\x12\x1b\n\x04room\x18\x01 \x01(\x0b\x32\r.livekit.Room\x12\r\n\x05token\x18\x02 \x01(\t\x12-\n\x0bparticipant\x18\x03 \x01(\x0b\x32\x18.livekit.ParticipantInfo\x12\x34\n\x12other_participants\x18\x04 \x03(\x0b\x32\x18.livekit.ParticipantInfo\"\xe4\x02\n\tSyncState\x12+\n\x06\x61nswer\x18\x01 \x01(\x0b\x32\x1b.livekit.SessionDescription\x12\x31\n\x0csubscription\x18\x02 \x01(\x0b\x32\x1b.livekit.UpdateSubscription\x12\x37\n\x0epublish_tracks\x18\x03 \x03(\x0b\x32\x1f.livekit.TrackPublishedResponse\x12/\n\rdata_channels\x18\x04 \x03(\x0b\x32\x18.livekit.DataChannelInfo\x12*\n\x05offer\x18\x05 \x01(\x0b\x32\x1b.livekit.SessionDescription\x12\x1b\n\x13track_sids_disabled\x18\x06 \x03(\t\x12\x44\n\x1a\x64\x61tachannel_receive_states\x18\x07 \x03(\x0b\x32 .livekit.DataChannelReceiveState\"B\n\x17\x44\x61taChannelReceiveState\x12\x15\n\rpublisher_sid\x18\x01 \x01(\t\x12\x10\n\x08last_seq\x18\x02 \x01(\r\"S\n\x0f\x44\x61taChannelInfo\x12\r\n\x05label\x18\x01 \x01(\t\x12\n\n\x02id\x18\x02 \x01(\r\x12%\n\x06target\x18\x03 \x01(\x0e\x32\x15.livekit.SignalTarget\"\xe0\x02\n\x10SimulateScenario\x12\x18\n\x0espeaker_update\x18\x01 \x01(\x05H\x00\x12\x16\n\x0cnode_failure\x18\x02 \x01(\x08H\x00\x12\x13\n\tmigration\x18\x03 \x01(\x08H\x00\x12\x16\n\x0cserver_leave\x18\x04 \x01(\x08H\x00\x12?\n\x19switch_candidate_protocol\x18\x05 \x01(\x0e\x32\x1a.livekit.CandidateProtocolH\x00\x12\x1e\n\x14subscriber_bandwidth\x18\x06 \x01(\x03H\x00\x12%\n\x1b\x64isconnect_signal_on_resume\x18\x07 \x01(\x08H\x00\x12\x31\n\'disconnect_signal_on_resume_no_messages\x18\x08 \x01(\x08H\x00\x12&\n\x1cleave_request_full_reconnect\x18\t \x01(\x08H\x00\x42\n\n\x08scenario\"&\n\x04Ping\x12\x11\n\ttimestamp\x18\x01 \x01(\x03\x12\x0b\n\x03rtt\x18\x02 \x01(\x03\"6\n\x04Pong\x12\x1b\n\x13last_ping_timestamp\x18\x01 \x01(\x03\x12\x11\n\ttimestamp\x18\x02 \x01(\x03\"6\n\x0eRegionSettings\x12$\n\x07regions\x18\x01 \x03(\x0b\x32\x13.livekit.RegionInfo\";\n\nRegionInfo\x12\x0e\n\x06region\x18\x01 \x01(\t\x12\x0b\n\x03url\x18\x02 \x01(\t\x12\x10\n\x08\x64istance\x18\x03 \x01(\x03\"R\n\x14SubscriptionResponse\x12\x11\n\ttrack_sid\x18\x01 \x01(\t\x12\'\n\x03\x65rr\x18\x02 \x01(\x0e\x32\x1a.livekit.SubscriptionError\"\xb3\x04\n\x0fRequestResponse\x12\x12\n\nrequest_id\x18\x01 \x01(\r\x12/\n\x06reason\x18\x02 \x01(\x0e\x32\x1f.livekit.RequestResponse.Reason\x12\x0f\n\x07message\x18\x03 \x01(\t\x12*\n\x07trickle\x18\x04 \x01(\x0b\x32\x17.livekit.TrickleRequestH\x00\x12-\n\tadd_track\x18\x05 \x01(\x0b\x32\x18.livekit.AddTrackRequestH\x00\x12)\n\x04mute\x18\x06 \x01(\x0b\x32\x19.livekit.MuteTrackRequestH\x00\x12=\n\x0fupdate_metadata\x18\x07 \x01(\x0b\x32\".livekit.UpdateParticipantMetadataH\x00\x12<\n\x12update_audio_track\x18\x08 \x01(\x0b\x32\x1e.livekit.UpdateLocalAudioTrackH\x00\x12<\n\x12update_video_track\x18\t \x01(\x0b\x32\x1e.livekit.UpdateLocalVideoTrackH\x00\"~\n\x06Reason\x12\x06\n\x02OK\x10\x00\x12\r\n\tNOT_FOUND\x10\x01\x12\x0f\n\x0bNOT_ALLOWED\x10\x02\x12\x12\n\x0eLIMIT_EXCEEDED\x10\x03\x12\n\n\x06QUEUED\x10\x04\x12\x14\n\x10UNSUPPORTED_TYPE\x10\x05\x12\x16\n\x12UNCLASSIFIED_ERROR\x10\x06\x42\t\n\x07request\"$\n\x0fTrackSubscribed\x12\x11\n\ttrack_sid\x18\x01 \x01(\t\"\x9f\x01\n\x12\x43onnectionSettings\x12\x16\n\x0e\x61uto_subscribe\x18\x01 \x01(\x08\x12\x17\n\x0f\x61\x64\x61ptive_stream\x18\x02 \x01(\x08\x12#\n\x16subscriber_allow_pause\x18\x03 \x01(\x08H\x00\x88\x01\x01\x12\x18\n\x10\x64isable_ice_lite\x18\x04 \x01(\x08\x42\x19\n\x17_subscriber_allow_pause\"\xd6\x04\n\x0bJoinRequest\x12(\n\x0b\x63lient_info\x18\x01 \x01(\x0b\x32\x13.livekit.ClientInfo\x12\x38\n\x13\x63onnection_settings\x18\x02 \x01(\x0b\x32\x1b.livekit.ConnectionSettings\x12\x38\n\x08metadata\x18\x03 \x01(\tB&\x88\xb5\x18\x01\x92\xb5\x18\x1e\x12w\n\x16participant_attributes\x18\x04 \x03(\x0b\x32/.livekit.JoinRequest.ParticipantAttributesEntryB&\x88\xb5\x18\x01\x92\xb5\x18\x1e\x12\x34\n\x12\x61\x64\x64_track_requests\x18\x05 \x03(\x0b\x32\x18.livekit.AddTrackRequest\x12\x34\n\x0fpublisher_offer\x18\x06 \x01(\x0b\x32\x1b.livekit.SessionDescription\x12\x11\n\treconnect\x18\x07 \x01(\x08\x12\x32\n\x10reconnect_reason\x18\x08 \x01(\x0e\x32\x18.livekit.ReconnectReason\x12\x17\n\x0fparticipant_sid\x18\t \x01(\t\x12&\n\nsync_state\x18\n \x01(\x0b\x32\x12.livekit.SyncState\x1a<\n\x1aParticipantAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x8b\x01\n\x12WrappedJoinRequest\x12<\n\x0b\x63ompression\x18\x01 \x01(\x0e\x32\'.livekit.WrappedJoinRequest.Compression\x12\x14\n\x0cjoin_request\x18\x02 \x01(\x0c\"!\n\x0b\x43ompression\x12\x08\n\x04NONE\x10\x00\x12\x08\n\x04GZIP\x10\x01\"B\n\x18MediaSectionsRequirement\x12\x12\n\nnum_audios\x18\x01 \x01(\r\x12\x12\n\nnum_videos\x18\x02 \x01(\r*-\n\x0cSignalTarget\x12\r\n\tPUBLISHER\x10\x00\x12\x0e\n\nSUBSCRIBER\x10\x01*%\n\x0bStreamState\x12\n\n\x06\x41\x43TIVE\x10\x00\x12\n\n\x06PAUSED\x10\x01*.\n\x11\x43\x61ndidateProtocol\x12\x07\n\x03UDP\x10\x00\x12\x07\n\x03TCP\x10\x01\x12\x07\n\x03TLS\x10\x02\x42\x46Z#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x11livekit_rtc.proto\x12\x07livekit\x1a\x14livekit_models.proto\x1a\x14logger/options.proto\"\xae\x08\n\rSignalRequest\x12,\n\x05offer\x18\x01 \x01(\x0b\x32\x1b.livekit.SessionDescriptionH\x00\x12-\n\x06\x61nswer\x18\x02 \x01(\x0b\x32\x1b.livekit.SessionDescriptionH\x00\x12*\n\x07trickle\x18\x03 \x01(\x0b\x32\x17.livekit.TrickleRequestH\x00\x12-\n\tadd_track\x18\x04 \x01(\x0b\x32\x18.livekit.AddTrackRequestH\x00\x12)\n\x04mute\x18\x05 \x01(\x0b\x32\x19.livekit.MuteTrackRequestH\x00\x12\x33\n\x0csubscription\x18\x06 \x01(\x0b\x32\x1b.livekit.UpdateSubscriptionH\x00\x12\x35\n\rtrack_setting\x18\x07 \x01(\x0b\x32\x1c.livekit.UpdateTrackSettingsH\x00\x12&\n\x05leave\x18\x08 \x01(\x0b\x32\x15.livekit.LeaveRequestH\x00\x12\x37\n\rupdate_layers\x18\n \x01(\x0b\x32\x1a.livekit.UpdateVideoLayersB\x02\x18\x01H\x00\x12\x42\n\x17subscription_permission\x18\x0b \x01(\x0b\x32\x1f.livekit.SubscriptionPermissionH\x00\x12(\n\nsync_state\x18\x0c \x01(\x0b\x32\x12.livekit.SyncStateH\x00\x12-\n\x08simulate\x18\r \x01(\x0b\x32\x19.livekit.SimulateScenarioH\x00\x12\x0e\n\x04ping\x18\x0e \x01(\x03H\x00\x12=\n\x0fupdate_metadata\x18\x0f \x01(\x0b\x32\".livekit.UpdateParticipantMetadataH\x00\x12!\n\x08ping_req\x18\x10 \x01(\x0b\x32\r.livekit.PingH\x00\x12<\n\x12update_audio_track\x18\x11 \x01(\x0b\x32\x1e.livekit.UpdateLocalAudioTrackH\x00\x12<\n\x12update_video_track\x18\x12 \x01(\x0b\x32\x1e.livekit.UpdateLocalVideoTrackH\x00\x12\x46\n\x1apublish_data_track_request\x18\x13 \x01(\x0b\x32 .livekit.PublishDataTrackRequestH\x00\x12J\n\x1cunpublish_data_track_request\x18\x14 \x01(\x0b\x32\".livekit.UnpublishDataTrackRequestH\x00\x12\x43\n\x18update_data_subscription\x18\x15 \x01(\x0b\x32\x1f.livekit.UpdateDataSubscriptionH\x00\x42\t\n\x07message\"\x96\x0c\n\x0eSignalResponse\x12%\n\x04join\x18\x01 \x01(\x0b\x32\x15.livekit.JoinResponseH\x00\x12-\n\x06\x61nswer\x18\x02 \x01(\x0b\x32\x1b.livekit.SessionDescriptionH\x00\x12,\n\x05offer\x18\x03 \x01(\x0b\x32\x1b.livekit.SessionDescriptionH\x00\x12*\n\x07trickle\x18\x04 \x01(\x0b\x32\x17.livekit.TrickleRequestH\x00\x12,\n\x06update\x18\x05 \x01(\x0b\x32\x1a.livekit.ParticipantUpdateH\x00\x12:\n\x0ftrack_published\x18\x06 \x01(\x0b\x32\x1f.livekit.TrackPublishedResponseH\x00\x12&\n\x05leave\x18\x08 \x01(\x0b\x32\x15.livekit.LeaveRequestH\x00\x12)\n\x04mute\x18\t \x01(\x0b\x32\x19.livekit.MuteTrackRequestH\x00\x12\x34\n\x10speakers_changed\x18\n \x01(\x0b\x32\x18.livekit.SpeakersChangedH\x00\x12*\n\x0broom_update\x18\x0b \x01(\x0b\x32\x13.livekit.RoomUpdateH\x00\x12>\n\x12\x63onnection_quality\x18\x0c \x01(\x0b\x32 .livekit.ConnectionQualityUpdateH\x00\x12\x39\n\x13stream_state_update\x18\r \x01(\x0b\x32\x1a.livekit.StreamStateUpdateH\x00\x12\x45\n\x19subscribed_quality_update\x18\x0e \x01(\x0b\x32 .livekit.SubscribedQualityUpdateH\x00\x12O\n\x1esubscription_permission_update\x18\x0f \x01(\x0b\x32%.livekit.SubscriptionPermissionUpdateH\x00\x12\x17\n\rrefresh_token\x18\x10 \x01(\tH\x00\x12>\n\x11track_unpublished\x18\x11 \x01(\x0b\x32!.livekit.TrackUnpublishedResponseH\x00\x12\x0e\n\x04pong\x18\x12 \x01(\x03H\x00\x12/\n\treconnect\x18\x13 \x01(\x0b\x32\x1a.livekit.ReconnectResponseH\x00\x12\"\n\tpong_resp\x18\x14 \x01(\x0b\x32\r.livekit.PongH\x00\x12>\n\x15subscription_response\x18\x15 \x01(\x0b\x32\x1d.livekit.SubscriptionResponseH\x00\x12\x34\n\x10request_response\x18\x16 \x01(\x0b\x32\x18.livekit.RequestResponseH\x00\x12\x34\n\x10track_subscribed\x18\x17 \x01(\x0b\x32\x18.livekit.TrackSubscribedH\x00\x12\x30\n\nroom_moved\x18\x18 \x01(\x0b\x32\x1a.livekit.RoomMovedResponseH\x00\x12G\n\x1amedia_sections_requirement\x18\x19 \x01(\x0b\x32!.livekit.MediaSectionsRequirementH\x00\x12L\n\x1dsubscribed_audio_codec_update\x18\x1a \x01(\x0b\x32#.livekit.SubscribedAudioCodecUpdateH\x00\x12H\n\x1bpublish_data_track_response\x18\x1b \x01(\x0b\x32!.livekit.PublishDataTrackResponseH\x00\x12L\n\x1dunpublish_data_track_response\x18\x1c \x01(\x0b\x32#.livekit.UnpublishDataTrackResponseH\x00\x12L\n\x1d\x64\x61ta_track_subscriber_handles\x18\x1d \x01(\x0b\x32#.livekit.DataTrackSubscriberHandlesH\x00\x42\t\n\x07message\"\x85\x01\n\x0eSimulcastCodec\x12\r\n\x05\x63odec\x18\x01 \x01(\t\x12\x0b\n\x03\x63id\x18\x02 \x01(\t\x12#\n\x06layers\x18\x04 \x03(\x0b\x32\x13.livekit.VideoLayer\x12\x32\n\x10video_layer_mode\x18\x05 \x01(\x0e\x32\x18.livekit.VideoLayer.Mode\"\xf4\x03\n\x0f\x41\x64\x64TrackRequest\x12\x0b\n\x03\x63id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12 \n\x04type\x18\x03 \x01(\x0e\x32\x12.livekit.TrackType\x12\r\n\x05width\x18\x04 \x01(\r\x12\x0e\n\x06height\x18\x05 \x01(\r\x12\r\n\x05muted\x18\x06 \x01(\x08\x12\x17\n\x0b\x64isable_dtx\x18\x07 \x01(\x08\x42\x02\x18\x01\x12$\n\x06source\x18\x08 \x01(\x0e\x32\x14.livekit.TrackSource\x12#\n\x06layers\x18\t \x03(\x0b\x32\x13.livekit.VideoLayer\x12\x31\n\x10simulcast_codecs\x18\n \x03(\x0b\x32\x17.livekit.SimulcastCodec\x12\x0b\n\x03sid\x18\x0b \x01(\t\x12\x12\n\x06stereo\x18\x0c \x01(\x08\x42\x02\x18\x01\x12\x13\n\x0b\x64isable_red\x18\r \x01(\x08\x12,\n\nencryption\x18\x0e \x01(\x0e\x32\x18.livekit.Encryption.Type\x12\x0e\n\x06stream\x18\x0f \x01(\t\x12\x37\n\x13\x62\x61\x63kup_codec_policy\x18\x10 \x01(\x0e\x32\x1a.livekit.BackupCodecPolicy\x12\x32\n\x0e\x61udio_features\x18\x11 \x03(\x0e\x32\x1a.livekit.AudioTrackFeature\"i\n\x17PublishDataTrackRequest\x12\x12\n\npub_handle\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12,\n\nencryption\x18\x03 \x01(\x0e\x32\x18.livekit.Encryption.Type\"@\n\x18PublishDataTrackResponse\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.livekit.DataTrackInfo\"/\n\x19UnpublishDataTrackRequest\x12\x12\n\npub_handle\x18\x01 \x01(\r\"B\n\x1aUnpublishDataTrackResponse\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.livekit.DataTrackInfo\"\xad\x02\n\x1a\x44\x61taTrackSubscriberHandles\x12H\n\x0bsub_handles\x18\x01 \x03(\x0b\x32\x33.livekit.DataTrackSubscriberHandles.SubHandlesEntry\x1aZ\n\x12PublishedDataTrack\x12\x1a\n\x12publisher_identity\x18\x01 \x01(\t\x12\x15\n\rpublisher_sid\x18\x02 \x01(\t\x12\x11\n\ttrack_sid\x18\x03 \x01(\t\x1ai\n\x0fSubHandlesEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12\x45\n\x05value\x18\x02 \x01(\x0b\x32\x36.livekit.DataTrackSubscriberHandles.PublishedDataTrack:\x02\x38\x01\"]\n\x0eTrickleRequest\x12\x15\n\rcandidateInit\x18\x01 \x01(\t\x12%\n\x06target\x18\x02 \x01(\x0e\x32\x15.livekit.SignalTarget\x12\r\n\x05\x66inal\x18\x03 \x01(\x08\".\n\x10MuteTrackRequest\x12\x0b\n\x03sid\x18\x01 \x01(\t\x12\r\n\x05muted\x18\x02 \x01(\x08\"\x8b\x04\n\x0cJoinResponse\x12\x1b\n\x04room\x18\x01 \x01(\x0b\x32\r.livekit.Room\x12-\n\x0bparticipant\x18\x02 \x01(\x0b\x32\x18.livekit.ParticipantInfo\x12\x34\n\x12other_participants\x18\x03 \x03(\x0b\x32\x18.livekit.ParticipantInfo\x12\x16\n\x0eserver_version\x18\x04 \x01(\t\x12\'\n\x0bice_servers\x18\x05 \x03(\x0b\x32\x12.livekit.ICEServer\x12\x1a\n\x12subscriber_primary\x18\x06 \x01(\x08\x12\x17\n\x0f\x61lternative_url\x18\x07 \x01(\t\x12:\n\x14\x63lient_configuration\x18\x08 \x01(\x0b\x32\x1c.livekit.ClientConfiguration\x12\x15\n\rserver_region\x18\t \x01(\t\x12\x14\n\x0cping_timeout\x18\n \x01(\x05\x12\x15\n\rping_interval\x18\x0b \x01(\x05\x12(\n\x0bserver_info\x18\x0c \x01(\x0b\x32\x13.livekit.ServerInfo\x12\x13\n\x0bsif_trailer\x18\r \x01(\x0c\x12.\n\x16\x65nabled_publish_codecs\x18\x0e \x03(\x0b\x32\x0e.livekit.Codec\x12\x14\n\x0c\x66\x61st_publish\x18\x0f \x01(\x08\"\xbc\x01\n\x11ReconnectResponse\x12\'\n\x0bice_servers\x18\x01 \x03(\x0b\x32\x12.livekit.ICEServer\x12:\n\x14\x63lient_configuration\x18\x02 \x01(\x0b\x32\x1c.livekit.ClientConfiguration\x12(\n\x0bserver_info\x18\x03 \x01(\x0b\x32\x13.livekit.ServerInfo\x12\x18\n\x10last_message_seq\x18\x04 \x01(\r\"H\n\x16TrackPublishedResponse\x12\x0b\n\x03\x63id\x18\x01 \x01(\t\x12!\n\x05track\x18\x02 \x01(\x0b\x32\x12.livekit.TrackInfo\"-\n\x18TrackUnpublishedResponse\x12\x11\n\ttrack_sid\x18\x01 \x01(\t\"\xb8\x01\n\x12SessionDescription\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x0b\n\x03sdp\x18\x02 \x01(\t\x12\n\n\x02id\x18\x03 \x01(\r\x12\x46\n\x0fmid_to_track_id\x18\x04 \x03(\x0b\x32-.livekit.SessionDescription.MidToTrackIdEntry\x1a\x33\n\x11MidToTrackIdEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"C\n\x11ParticipantUpdate\x12.\n\x0cparticipants\x18\x01 \x03(\x0b\x32\x18.livekit.ParticipantInfo\"s\n\x12UpdateSubscription\x12\x12\n\ntrack_sids\x18\x01 \x03(\t\x12\x11\n\tsubscribe\x18\x02 \x01(\x08\x12\x36\n\x12participant_tracks\x18\x03 \x03(\x0b\x32\x1a.livekit.ParticipantTracks\"\xb9\x01\n\x16UpdateDataSubscription\x12\x37\n\x07updates\x18\x01 \x03(\x0b\x32&.livekit.UpdateDataSubscription.Update\x1a\x66\n\x06Update\x12\x11\n\ttrack_sid\x18\x01 \x01(\t\x12\x11\n\tsubscribe\x18\x02 \x01(\x08\x12\x36\n\x07options\x18\x03 \x01(\x0b\x32%.livekit.DataTrackSubscriptionOptions\"\xa1\x01\n\x13UpdateTrackSettings\x12\x12\n\ntrack_sids\x18\x01 \x03(\t\x12\x10\n\x08\x64isabled\x18\x03 \x01(\x08\x12&\n\x07quality\x18\x04 \x01(\x0e\x32\x15.livekit.VideoQuality\x12\r\n\x05width\x18\x05 \x01(\r\x12\x0e\n\x06height\x18\x06 \x01(\r\x12\x0b\n\x03\x66ps\x18\x07 \x01(\r\x12\x10\n\x08priority\x18\x08 \x01(\r\"X\n\x15UpdateLocalAudioTrack\x12\x11\n\ttrack_sid\x18\x01 \x01(\t\x12,\n\x08\x66\x65\x61tures\x18\x02 \x03(\x0e\x32\x1a.livekit.AudioTrackFeature\"I\n\x15UpdateLocalVideoTrack\x12\x11\n\ttrack_sid\x18\x01 \x01(\t\x12\r\n\x05width\x18\x02 \x01(\r\x12\x0e\n\x06height\x18\x03 \x01(\r\"\xdd\x01\n\x0cLeaveRequest\x12\x15\n\rcan_reconnect\x18\x01 \x01(\x08\x12)\n\x06reason\x18\x02 \x01(\x0e\x32\x19.livekit.DisconnectReason\x12,\n\x06\x61\x63tion\x18\x03 \x01(\x0e\x32\x1c.livekit.LeaveRequest.Action\x12(\n\x07regions\x18\x04 \x01(\x0b\x32\x17.livekit.RegionSettings\"3\n\x06\x41\x63tion\x12\x0e\n\nDISCONNECT\x10\x00\x12\n\n\x06RESUME\x10\x01\x12\r\n\tRECONNECT\x10\x02\"O\n\x11UpdateVideoLayers\x12\x11\n\ttrack_sid\x18\x01 \x01(\t\x12#\n\x06layers\x18\x02 \x03(\x0b\x32\x13.livekit.VideoLayer:\x02\x18\x01\"\xc2\x02\n\x19UpdateParticipantMetadata\x12\x38\n\x08metadata\x18\x01 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e\x12\x34\n\x04name\x18\x02 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e\x12n\n\nattributes\x18\x03 \x03(\x0b\x32\x32.livekit.UpdateParticipantMetadata.AttributesEntryB&\x88\xec,\x01\x92\xec,\x1e\x12\x12\n\nrequest_id\x18\x04 \x01(\r\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"?\n\tICEServer\x12\x0c\n\x04urls\x18\x01 \x03(\t\x12\x10\n\x08username\x18\x02 \x01(\t\x12\x12\n\ncredential\x18\x03 \x01(\t\"9\n\x0fSpeakersChanged\x12&\n\x08speakers\x18\x01 \x03(\x0b\x32\x14.livekit.SpeakerInfo\")\n\nRoomUpdate\x12\x1b\n\x04room\x18\x01 \x01(\x0b\x32\r.livekit.Room\"l\n\x15\x43onnectionQualityInfo\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12+\n\x07quality\x18\x02 \x01(\x0e\x32\x1a.livekit.ConnectionQuality\x12\r\n\x05score\x18\x03 \x01(\x02\"J\n\x17\x43onnectionQualityUpdate\x12/\n\x07updates\x18\x01 \x03(\x0b\x32\x1e.livekit.ConnectionQualityInfo\"b\n\x0fStreamStateInfo\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12\x11\n\ttrack_sid\x18\x02 \x01(\t\x12#\n\x05state\x18\x03 \x01(\x0e\x32\x14.livekit.StreamState\"D\n\x11StreamStateUpdate\x12/\n\rstream_states\x18\x01 \x03(\x0b\x32\x18.livekit.StreamStateInfo\"L\n\x11SubscribedQuality\x12&\n\x07quality\x18\x01 \x01(\x0e\x32\x15.livekit.VideoQuality\x12\x0f\n\x07\x65nabled\x18\x02 \x01(\x08\"O\n\x0fSubscribedCodec\x12\r\n\x05\x63odec\x18\x01 \x01(\t\x12-\n\tqualities\x18\x02 \x03(\x0b\x32\x1a.livekit.SubscribedQuality\"\x9f\x01\n\x17SubscribedQualityUpdate\x12\x11\n\ttrack_sid\x18\x01 \x01(\t\x12<\n\x14subscribed_qualities\x18\x02 \x03(\x0b\x32\x1a.livekit.SubscribedQualityB\x02\x18\x01\x12\x33\n\x11subscribed_codecs\x18\x03 \x03(\x0b\x32\x18.livekit.SubscribedCodec\"o\n\x1aSubscribedAudioCodecUpdate\x12\x11\n\ttrack_sid\x18\x01 \x01(\t\x12>\n\x17subscribed_audio_codecs\x18\x02 \x03(\x0b\x32\x1d.livekit.SubscribedAudioCodec\"p\n\x0fTrackPermission\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12\x12\n\nall_tracks\x18\x02 \x01(\x08\x12\x12\n\ntrack_sids\x18\x03 \x03(\t\x12\x1c\n\x14participant_identity\x18\x04 \x01(\t\"g\n\x16SubscriptionPermission\x12\x18\n\x10\x61ll_participants\x18\x01 \x01(\x08\x12\x33\n\x11track_permissions\x18\x02 \x03(\x0b\x32\x18.livekit.TrackPermission\"[\n\x1cSubscriptionPermissionUpdate\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12\x11\n\ttrack_sid\x18\x02 \x01(\t\x12\x0f\n\x07\x61llowed\x18\x03 \x01(\x08\"\xa4\x01\n\x11RoomMovedResponse\x12\x1b\n\x04room\x18\x01 \x01(\x0b\x32\r.livekit.Room\x12\r\n\x05token\x18\x02 \x01(\t\x12-\n\x0bparticipant\x18\x03 \x01(\x0b\x32\x18.livekit.ParticipantInfo\x12\x34\n\x12other_participants\x18\x04 \x03(\x0b\x32\x18.livekit.ParticipantInfo\"\xa4\x03\n\tSyncState\x12+\n\x06\x61nswer\x18\x01 \x01(\x0b\x32\x1b.livekit.SessionDescription\x12\x31\n\x0csubscription\x18\x02 \x01(\x0b\x32\x1b.livekit.UpdateSubscription\x12\x37\n\x0epublish_tracks\x18\x03 \x03(\x0b\x32\x1f.livekit.TrackPublishedResponse\x12/\n\rdata_channels\x18\x04 \x03(\x0b\x32\x18.livekit.DataChannelInfo\x12*\n\x05offer\x18\x05 \x01(\x0b\x32\x1b.livekit.SessionDescription\x12\x1b\n\x13track_sids_disabled\x18\x06 \x03(\t\x12\x44\n\x1a\x64\x61tachannel_receive_states\x18\x07 \x03(\x0b\x32 .livekit.DataChannelReceiveState\x12>\n\x13publish_data_tracks\x18\x08 \x03(\x0b\x32!.livekit.PublishDataTrackResponse\"B\n\x17\x44\x61taChannelReceiveState\x12\x15\n\rpublisher_sid\x18\x01 \x01(\t\x12\x10\n\x08last_seq\x18\x02 \x01(\r\"S\n\x0f\x44\x61taChannelInfo\x12\r\n\x05label\x18\x01 \x01(\t\x12\n\n\x02id\x18\x02 \x01(\r\x12%\n\x06target\x18\x03 \x01(\x0e\x32\x15.livekit.SignalTarget\"\xe0\x02\n\x10SimulateScenario\x12\x18\n\x0espeaker_update\x18\x01 \x01(\x05H\x00\x12\x16\n\x0cnode_failure\x18\x02 \x01(\x08H\x00\x12\x13\n\tmigration\x18\x03 \x01(\x08H\x00\x12\x16\n\x0cserver_leave\x18\x04 \x01(\x08H\x00\x12?\n\x19switch_candidate_protocol\x18\x05 \x01(\x0e\x32\x1a.livekit.CandidateProtocolH\x00\x12\x1e\n\x14subscriber_bandwidth\x18\x06 \x01(\x03H\x00\x12%\n\x1b\x64isconnect_signal_on_resume\x18\x07 \x01(\x08H\x00\x12\x31\n\'disconnect_signal_on_resume_no_messages\x18\x08 \x01(\x08H\x00\x12&\n\x1cleave_request_full_reconnect\x18\t \x01(\x08H\x00\x42\n\n\x08scenario\"&\n\x04Ping\x12\x11\n\ttimestamp\x18\x01 \x01(\x03\x12\x0b\n\x03rtt\x18\x02 \x01(\x03\"6\n\x04Pong\x12\x1b\n\x13last_ping_timestamp\x18\x01 \x01(\x03\x12\x11\n\ttimestamp\x18\x02 \x01(\x03\"6\n\x0eRegionSettings\x12$\n\x07regions\x18\x01 \x03(\x0b\x32\x13.livekit.RegionInfo\";\n\nRegionInfo\x12\x0e\n\x06region\x18\x01 \x01(\t\x12\x0b\n\x03url\x18\x02 \x01(\t\x12\x10\n\x08\x64istance\x18\x03 \x01(\x03\"R\n\x14SubscriptionResponse\x12\x11\n\ttrack_sid\x18\x01 \x01(\t\x12\'\n\x03\x65rr\x18\x02 \x01(\x0e\x32\x1a.livekit.SubscriptionError\"\x88\x06\n\x0fRequestResponse\x12\x12\n\nrequest_id\x18\x01 \x01(\r\x12/\n\x06reason\x18\x02 \x01(\x0e\x32\x1f.livekit.RequestResponse.Reason\x12\x0f\n\x07message\x18\x03 \x01(\t\x12*\n\x07trickle\x18\x04 \x01(\x0b\x32\x17.livekit.TrickleRequestH\x00\x12-\n\tadd_track\x18\x05 \x01(\x0b\x32\x18.livekit.AddTrackRequestH\x00\x12)\n\x04mute\x18\x06 \x01(\x0b\x32\x19.livekit.MuteTrackRequestH\x00\x12=\n\x0fupdate_metadata\x18\x07 \x01(\x0b\x32\".livekit.UpdateParticipantMetadataH\x00\x12<\n\x12update_audio_track\x18\x08 \x01(\x0b\x32\x1e.livekit.UpdateLocalAudioTrackH\x00\x12<\n\x12update_video_track\x18\t \x01(\x0b\x32\x1e.livekit.UpdateLocalVideoTrackH\x00\x12>\n\x12publish_data_track\x18\n \x01(\x0b\x32 .livekit.PublishDataTrackRequestH\x00\x12\x42\n\x14unpublish_data_track\x18\x0b \x01(\x0b\x32\".livekit.UnpublishDataTrackRequestH\x00\"\xce\x01\n\x06Reason\x12\x06\n\x02OK\x10\x00\x12\r\n\tNOT_FOUND\x10\x01\x12\x0f\n\x0bNOT_ALLOWED\x10\x02\x12\x12\n\x0eLIMIT_EXCEEDED\x10\x03\x12\n\n\x06QUEUED\x10\x04\x12\x14\n\x10UNSUPPORTED_TYPE\x10\x05\x12\x16\n\x12UNCLASSIFIED_ERROR\x10\x06\x12\x12\n\x0eINVALID_HANDLE\x10\x07\x12\x10\n\x0cINVALID_NAME\x10\x08\x12\x14\n\x10\x44UPLICATE_HANDLE\x10\t\x12\x12\n\x0e\x44UPLICATE_NAME\x10\nB\t\n\x07request\"$\n\x0fTrackSubscribed\x12\x11\n\ttrack_sid\x18\x01 \x01(\t\"\xe5\x01\n\x12\x43onnectionSettings\x12\x16\n\x0e\x61uto_subscribe\x18\x01 \x01(\x08\x12\x17\n\x0f\x61\x64\x61ptive_stream\x18\x02 \x01(\x08\x12#\n\x16subscriber_allow_pause\x18\x03 \x01(\x08H\x00\x88\x01\x01\x12\x18\n\x10\x64isable_ice_lite\x18\x04 \x01(\x08\x12&\n\x19\x61uto_subscribe_data_track\x18\x05 \x01(\x08H\x01\x88\x01\x01\x42\x19\n\x17_subscriber_allow_pauseB\x1c\n\x1a_auto_subscribe_data_track\"\xd6\x04\n\x0bJoinRequest\x12(\n\x0b\x63lient_info\x18\x01 \x01(\x0b\x32\x13.livekit.ClientInfo\x12\x38\n\x13\x63onnection_settings\x18\x02 \x01(\x0b\x32\x1b.livekit.ConnectionSettings\x12\x38\n\x08metadata\x18\x03 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e\x12w\n\x16participant_attributes\x18\x04 \x03(\x0b\x32/.livekit.JoinRequest.ParticipantAttributesEntryB&\x88\xec,\x01\x92\xec,\x1e\x12\x34\n\x12\x61\x64\x64_track_requests\x18\x05 \x03(\x0b\x32\x18.livekit.AddTrackRequest\x12\x34\n\x0fpublisher_offer\x18\x06 \x01(\x0b\x32\x1b.livekit.SessionDescription\x12\x11\n\treconnect\x18\x07 \x01(\x08\x12\x32\n\x10reconnect_reason\x18\x08 \x01(\x0e\x32\x18.livekit.ReconnectReason\x12\x17\n\x0fparticipant_sid\x18\t \x01(\t\x12&\n\nsync_state\x18\n \x01(\x0b\x32\x12.livekit.SyncState\x1a<\n\x1aParticipantAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x8b\x01\n\x12WrappedJoinRequest\x12<\n\x0b\x63ompression\x18\x01 \x01(\x0e\x32\'.livekit.WrappedJoinRequest.Compression\x12\x14\n\x0cjoin_request\x18\x02 \x01(\x0c\"!\n\x0b\x43ompression\x12\x08\n\x04NONE\x10\x00\x12\x08\n\x04GZIP\x10\x01\"B\n\x18MediaSectionsRequirement\x12\x12\n\nnum_audios\x18\x01 \x01(\r\x12\x12\n\nnum_videos\x18\x02 \x01(\r*-\n\x0cSignalTarget\x12\r\n\tPUBLISHER\x10\x00\x12\x0e\n\nSUBSCRIBER\x10\x01*%\n\x0bStreamState\x12\n\n\x06\x41\x43TIVE\x10\x00\x12\n\n\x06PAUSED\x10\x01*.\n\x11\x43\x61ndidateProtocol\x12\x07\n\x03UDP\x10\x00\x12\x07\n\x03TCP\x10\x01\x12\x07\n\x03TLS\x10\x02\x42\x46Z#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -30,6 +30,8 @@ _globals['_ADDTRACKREQUEST'].fields_by_name['disable_dtx']._serialized_options = b'\030\001' _globals['_ADDTRACKREQUEST'].fields_by_name['stereo']._options = None _globals['_ADDTRACKREQUEST'].fields_by_name['stereo']._serialized_options = b'\030\001' + _globals['_DATATRACKSUBSCRIBERHANDLES_SUBHANDLESENTRY']._options = None + _globals['_DATATRACKSUBSCRIBERHANDLES_SUBHANDLESENTRY']._serialized_options = b'8\001' _globals['_SESSIONDESCRIPTION_MIDTOTRACKIDENTRY']._options = None _globals['_SESSIONDESCRIPTION_MIDTOTRACKIDENTRY']._serialized_options = b'8\001' _globals['_UPDATEVIDEOLAYERS']._options = None @@ -37,133 +39,151 @@ _globals['_UPDATEPARTICIPANTMETADATA_ATTRIBUTESENTRY']._options = None _globals['_UPDATEPARTICIPANTMETADATA_ATTRIBUTESENTRY']._serialized_options = b'8\001' _globals['_UPDATEPARTICIPANTMETADATA'].fields_by_name['metadata']._options = None - _globals['_UPDATEPARTICIPANTMETADATA'].fields_by_name['metadata']._serialized_options = b'\210\265\030\001\222\265\030\036' + _globals['_UPDATEPARTICIPANTMETADATA'].fields_by_name['metadata']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_UPDATEPARTICIPANTMETADATA'].fields_by_name['name']._options = None - _globals['_UPDATEPARTICIPANTMETADATA'].fields_by_name['name']._serialized_options = b'\210\265\030\001\222\265\030\036' + _globals['_UPDATEPARTICIPANTMETADATA'].fields_by_name['name']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_UPDATEPARTICIPANTMETADATA'].fields_by_name['attributes']._options = None - _globals['_UPDATEPARTICIPANTMETADATA'].fields_by_name['attributes']._serialized_options = b'\210\265\030\001\222\265\030\036' + _globals['_UPDATEPARTICIPANTMETADATA'].fields_by_name['attributes']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_SUBSCRIBEDQUALITYUPDATE'].fields_by_name['subscribed_qualities']._options = None _globals['_SUBSCRIBEDQUALITYUPDATE'].fields_by_name['subscribed_qualities']._serialized_options = b'\030\001' _globals['_JOINREQUEST_PARTICIPANTATTRIBUTESENTRY']._options = None _globals['_JOINREQUEST_PARTICIPANTATTRIBUTESENTRY']._serialized_options = b'8\001' _globals['_JOINREQUEST'].fields_by_name['metadata']._options = None - _globals['_JOINREQUEST'].fields_by_name['metadata']._serialized_options = b'\210\265\030\001\222\265\030\036' + _globals['_JOINREQUEST'].fields_by_name['metadata']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_JOINREQUEST'].fields_by_name['participant_attributes']._options = None - _globals['_JOINREQUEST'].fields_by_name['participant_attributes']._serialized_options = b'\210\265\030\001\222\265\030\036' - _globals['_SIGNALTARGET']._serialized_start=9390 - _globals['_SIGNALTARGET']._serialized_end=9435 - _globals['_STREAMSTATE']._serialized_start=9437 - _globals['_STREAMSTATE']._serialized_end=9474 - _globals['_CANDIDATEPROTOCOL']._serialized_start=9476 - _globals['_CANDIDATEPROTOCOL']._serialized_end=9522 + _globals['_JOINREQUEST'].fields_by_name['participant_attributes']._serialized_options = b'\210\354,\001\222\354,\036' + _globals['_SIGNALTARGET']._serialized_start=10966 + _globals['_SIGNALTARGET']._serialized_end=11011 + _globals['_STREAMSTATE']._serialized_start=11013 + _globals['_STREAMSTATE']._serialized_end=11050 + _globals['_CANDIDATEPROTOCOL']._serialized_start=11052 + _globals['_CANDIDATEPROTOCOL']._serialized_end=11098 _globals['_SIGNALREQUEST']._serialized_start=75 - _globals['_SIGNALREQUEST']._serialized_end=928 - _globals['_SIGNALRESPONSE']._serialized_start=931 - _globals['_SIGNALRESPONSE']._serialized_end=2259 - _globals['_SIMULCASTCODEC']._serialized_start=2262 - _globals['_SIMULCASTCODEC']._serialized_end=2395 - _globals['_ADDTRACKREQUEST']._serialized_start=2398 - _globals['_ADDTRACKREQUEST']._serialized_end=2898 - _globals['_TRICKLEREQUEST']._serialized_start=2900 - _globals['_TRICKLEREQUEST']._serialized_end=2993 - _globals['_MUTETRACKREQUEST']._serialized_start=2995 - _globals['_MUTETRACKREQUEST']._serialized_end=3041 - _globals['_JOINRESPONSE']._serialized_start=3044 - _globals['_JOINRESPONSE']._serialized_end=3567 - _globals['_RECONNECTRESPONSE']._serialized_start=3570 - _globals['_RECONNECTRESPONSE']._serialized_end=3758 - _globals['_TRACKPUBLISHEDRESPONSE']._serialized_start=3760 - _globals['_TRACKPUBLISHEDRESPONSE']._serialized_end=3832 - _globals['_TRACKUNPUBLISHEDRESPONSE']._serialized_start=3834 - _globals['_TRACKUNPUBLISHEDRESPONSE']._serialized_end=3879 - _globals['_SESSIONDESCRIPTION']._serialized_start=3882 - _globals['_SESSIONDESCRIPTION']._serialized_end=4066 - _globals['_SESSIONDESCRIPTION_MIDTOTRACKIDENTRY']._serialized_start=4015 - _globals['_SESSIONDESCRIPTION_MIDTOTRACKIDENTRY']._serialized_end=4066 - _globals['_PARTICIPANTUPDATE']._serialized_start=4068 - _globals['_PARTICIPANTUPDATE']._serialized_end=4135 - _globals['_UPDATESUBSCRIPTION']._serialized_start=4137 - _globals['_UPDATESUBSCRIPTION']._serialized_end=4252 - _globals['_UPDATETRACKSETTINGS']._serialized_start=4255 - _globals['_UPDATETRACKSETTINGS']._serialized_end=4416 - _globals['_UPDATELOCALAUDIOTRACK']._serialized_start=4418 - _globals['_UPDATELOCALAUDIOTRACK']._serialized_end=4506 - _globals['_UPDATELOCALVIDEOTRACK']._serialized_start=4508 - _globals['_UPDATELOCALVIDEOTRACK']._serialized_end=4581 - _globals['_LEAVEREQUEST']._serialized_start=4584 - _globals['_LEAVEREQUEST']._serialized_end=4805 - _globals['_LEAVEREQUEST_ACTION']._serialized_start=4754 - _globals['_LEAVEREQUEST_ACTION']._serialized_end=4805 - _globals['_UPDATEVIDEOLAYERS']._serialized_start=4807 - _globals['_UPDATEVIDEOLAYERS']._serialized_end=4886 - _globals['_UPDATEPARTICIPANTMETADATA']._serialized_start=4889 - _globals['_UPDATEPARTICIPANTMETADATA']._serialized_end=5211 - _globals['_UPDATEPARTICIPANTMETADATA_ATTRIBUTESENTRY']._serialized_start=5162 - _globals['_UPDATEPARTICIPANTMETADATA_ATTRIBUTESENTRY']._serialized_end=5211 - _globals['_ICESERVER']._serialized_start=5213 - _globals['_ICESERVER']._serialized_end=5276 - _globals['_SPEAKERSCHANGED']._serialized_start=5278 - _globals['_SPEAKERSCHANGED']._serialized_end=5335 - _globals['_ROOMUPDATE']._serialized_start=5337 - _globals['_ROOMUPDATE']._serialized_end=5378 - _globals['_CONNECTIONQUALITYINFO']._serialized_start=5380 - _globals['_CONNECTIONQUALITYINFO']._serialized_end=5488 - _globals['_CONNECTIONQUALITYUPDATE']._serialized_start=5490 - _globals['_CONNECTIONQUALITYUPDATE']._serialized_end=5564 - _globals['_STREAMSTATEINFO']._serialized_start=5566 - _globals['_STREAMSTATEINFO']._serialized_end=5664 - _globals['_STREAMSTATEUPDATE']._serialized_start=5666 - _globals['_STREAMSTATEUPDATE']._serialized_end=5734 - _globals['_SUBSCRIBEDQUALITY']._serialized_start=5736 - _globals['_SUBSCRIBEDQUALITY']._serialized_end=5812 - _globals['_SUBSCRIBEDCODEC']._serialized_start=5814 - _globals['_SUBSCRIBEDCODEC']._serialized_end=5893 - _globals['_SUBSCRIBEDQUALITYUPDATE']._serialized_start=5896 - _globals['_SUBSCRIBEDQUALITYUPDATE']._serialized_end=6055 - _globals['_SUBSCRIBEDAUDIOCODECUPDATE']._serialized_start=6057 - _globals['_SUBSCRIBEDAUDIOCODECUPDATE']._serialized_end=6168 - _globals['_TRACKPERMISSION']._serialized_start=6170 - _globals['_TRACKPERMISSION']._serialized_end=6282 - _globals['_SUBSCRIPTIONPERMISSION']._serialized_start=6284 - _globals['_SUBSCRIPTIONPERMISSION']._serialized_end=6387 - _globals['_SUBSCRIPTIONPERMISSIONUPDATE']._serialized_start=6389 - _globals['_SUBSCRIPTIONPERMISSIONUPDATE']._serialized_end=6480 - _globals['_ROOMMOVEDRESPONSE']._serialized_start=6483 - _globals['_ROOMMOVEDRESPONSE']._serialized_end=6647 - _globals['_SYNCSTATE']._serialized_start=6650 - _globals['_SYNCSTATE']._serialized_end=7006 - _globals['_DATACHANNELRECEIVESTATE']._serialized_start=7008 - _globals['_DATACHANNELRECEIVESTATE']._serialized_end=7074 - _globals['_DATACHANNELINFO']._serialized_start=7076 - _globals['_DATACHANNELINFO']._serialized_end=7159 - _globals['_SIMULATESCENARIO']._serialized_start=7162 - _globals['_SIMULATESCENARIO']._serialized_end=7514 - _globals['_PING']._serialized_start=7516 - _globals['_PING']._serialized_end=7554 - _globals['_PONG']._serialized_start=7556 - _globals['_PONG']._serialized_end=7610 - _globals['_REGIONSETTINGS']._serialized_start=7612 - _globals['_REGIONSETTINGS']._serialized_end=7666 - _globals['_REGIONINFO']._serialized_start=7668 - _globals['_REGIONINFO']._serialized_end=7727 - _globals['_SUBSCRIPTIONRESPONSE']._serialized_start=7729 - _globals['_SUBSCRIPTIONRESPONSE']._serialized_end=7811 - _globals['_REQUESTRESPONSE']._serialized_start=7814 - _globals['_REQUESTRESPONSE']._serialized_end=8377 - _globals['_REQUESTRESPONSE_REASON']._serialized_start=8240 - _globals['_REQUESTRESPONSE_REASON']._serialized_end=8366 - _globals['_TRACKSUBSCRIBED']._serialized_start=8379 - _globals['_TRACKSUBSCRIBED']._serialized_end=8415 - _globals['_CONNECTIONSETTINGS']._serialized_start=8418 - _globals['_CONNECTIONSETTINGS']._serialized_end=8577 - _globals['_JOINREQUEST']._serialized_start=8580 - _globals['_JOINREQUEST']._serialized_end=9178 - _globals['_JOINREQUEST_PARTICIPANTATTRIBUTESENTRY']._serialized_start=9118 - _globals['_JOINREQUEST_PARTICIPANTATTRIBUTESENTRY']._serialized_end=9178 - _globals['_WRAPPEDJOINREQUEST']._serialized_start=9181 - _globals['_WRAPPEDJOINREQUEST']._serialized_end=9320 - _globals['_WRAPPEDJOINREQUEST_COMPRESSION']._serialized_start=9287 - _globals['_WRAPPEDJOINREQUEST_COMPRESSION']._serialized_end=9320 - _globals['_MEDIASECTIONSREQUIREMENT']._serialized_start=9322 - _globals['_MEDIASECTIONSREQUIREMENT']._serialized_end=9388 + _globals['_SIGNALREQUEST']._serialized_end=1145 + _globals['_SIGNALRESPONSE']._serialized_start=1148 + _globals['_SIGNALRESPONSE']._serialized_end=2706 + _globals['_SIMULCASTCODEC']._serialized_start=2709 + _globals['_SIMULCASTCODEC']._serialized_end=2842 + _globals['_ADDTRACKREQUEST']._serialized_start=2845 + _globals['_ADDTRACKREQUEST']._serialized_end=3345 + _globals['_PUBLISHDATATRACKREQUEST']._serialized_start=3347 + _globals['_PUBLISHDATATRACKREQUEST']._serialized_end=3452 + _globals['_PUBLISHDATATRACKRESPONSE']._serialized_start=3454 + _globals['_PUBLISHDATATRACKRESPONSE']._serialized_end=3518 + _globals['_UNPUBLISHDATATRACKREQUEST']._serialized_start=3520 + _globals['_UNPUBLISHDATATRACKREQUEST']._serialized_end=3567 + _globals['_UNPUBLISHDATATRACKRESPONSE']._serialized_start=3569 + _globals['_UNPUBLISHDATATRACKRESPONSE']._serialized_end=3635 + _globals['_DATATRACKSUBSCRIBERHANDLES']._serialized_start=3638 + _globals['_DATATRACKSUBSCRIBERHANDLES']._serialized_end=3939 + _globals['_DATATRACKSUBSCRIBERHANDLES_PUBLISHEDDATATRACK']._serialized_start=3742 + _globals['_DATATRACKSUBSCRIBERHANDLES_PUBLISHEDDATATRACK']._serialized_end=3832 + _globals['_DATATRACKSUBSCRIBERHANDLES_SUBHANDLESENTRY']._serialized_start=3834 + _globals['_DATATRACKSUBSCRIBERHANDLES_SUBHANDLESENTRY']._serialized_end=3939 + _globals['_TRICKLEREQUEST']._serialized_start=3941 + _globals['_TRICKLEREQUEST']._serialized_end=4034 + _globals['_MUTETRACKREQUEST']._serialized_start=4036 + _globals['_MUTETRACKREQUEST']._serialized_end=4082 + _globals['_JOINRESPONSE']._serialized_start=4085 + _globals['_JOINRESPONSE']._serialized_end=4608 + _globals['_RECONNECTRESPONSE']._serialized_start=4611 + _globals['_RECONNECTRESPONSE']._serialized_end=4799 + _globals['_TRACKPUBLISHEDRESPONSE']._serialized_start=4801 + _globals['_TRACKPUBLISHEDRESPONSE']._serialized_end=4873 + _globals['_TRACKUNPUBLISHEDRESPONSE']._serialized_start=4875 + _globals['_TRACKUNPUBLISHEDRESPONSE']._serialized_end=4920 + _globals['_SESSIONDESCRIPTION']._serialized_start=4923 + _globals['_SESSIONDESCRIPTION']._serialized_end=5107 + _globals['_SESSIONDESCRIPTION_MIDTOTRACKIDENTRY']._serialized_start=5056 + _globals['_SESSIONDESCRIPTION_MIDTOTRACKIDENTRY']._serialized_end=5107 + _globals['_PARTICIPANTUPDATE']._serialized_start=5109 + _globals['_PARTICIPANTUPDATE']._serialized_end=5176 + _globals['_UPDATESUBSCRIPTION']._serialized_start=5178 + _globals['_UPDATESUBSCRIPTION']._serialized_end=5293 + _globals['_UPDATEDATASUBSCRIPTION']._serialized_start=5296 + _globals['_UPDATEDATASUBSCRIPTION']._serialized_end=5481 + _globals['_UPDATEDATASUBSCRIPTION_UPDATE']._serialized_start=5379 + _globals['_UPDATEDATASUBSCRIPTION_UPDATE']._serialized_end=5481 + _globals['_UPDATETRACKSETTINGS']._serialized_start=5484 + _globals['_UPDATETRACKSETTINGS']._serialized_end=5645 + _globals['_UPDATELOCALAUDIOTRACK']._serialized_start=5647 + _globals['_UPDATELOCALAUDIOTRACK']._serialized_end=5735 + _globals['_UPDATELOCALVIDEOTRACK']._serialized_start=5737 + _globals['_UPDATELOCALVIDEOTRACK']._serialized_end=5810 + _globals['_LEAVEREQUEST']._serialized_start=5813 + _globals['_LEAVEREQUEST']._serialized_end=6034 + _globals['_LEAVEREQUEST_ACTION']._serialized_start=5983 + _globals['_LEAVEREQUEST_ACTION']._serialized_end=6034 + _globals['_UPDATEVIDEOLAYERS']._serialized_start=6036 + _globals['_UPDATEVIDEOLAYERS']._serialized_end=6115 + _globals['_UPDATEPARTICIPANTMETADATA']._serialized_start=6118 + _globals['_UPDATEPARTICIPANTMETADATA']._serialized_end=6440 + _globals['_UPDATEPARTICIPANTMETADATA_ATTRIBUTESENTRY']._serialized_start=6391 + _globals['_UPDATEPARTICIPANTMETADATA_ATTRIBUTESENTRY']._serialized_end=6440 + _globals['_ICESERVER']._serialized_start=6442 + _globals['_ICESERVER']._serialized_end=6505 + _globals['_SPEAKERSCHANGED']._serialized_start=6507 + _globals['_SPEAKERSCHANGED']._serialized_end=6564 + _globals['_ROOMUPDATE']._serialized_start=6566 + _globals['_ROOMUPDATE']._serialized_end=6607 + _globals['_CONNECTIONQUALITYINFO']._serialized_start=6609 + _globals['_CONNECTIONQUALITYINFO']._serialized_end=6717 + _globals['_CONNECTIONQUALITYUPDATE']._serialized_start=6719 + _globals['_CONNECTIONQUALITYUPDATE']._serialized_end=6793 + _globals['_STREAMSTATEINFO']._serialized_start=6795 + _globals['_STREAMSTATEINFO']._serialized_end=6893 + _globals['_STREAMSTATEUPDATE']._serialized_start=6895 + _globals['_STREAMSTATEUPDATE']._serialized_end=6963 + _globals['_SUBSCRIBEDQUALITY']._serialized_start=6965 + _globals['_SUBSCRIBEDQUALITY']._serialized_end=7041 + _globals['_SUBSCRIBEDCODEC']._serialized_start=7043 + _globals['_SUBSCRIBEDCODEC']._serialized_end=7122 + _globals['_SUBSCRIBEDQUALITYUPDATE']._serialized_start=7125 + _globals['_SUBSCRIBEDQUALITYUPDATE']._serialized_end=7284 + _globals['_SUBSCRIBEDAUDIOCODECUPDATE']._serialized_start=7286 + _globals['_SUBSCRIBEDAUDIOCODECUPDATE']._serialized_end=7397 + _globals['_TRACKPERMISSION']._serialized_start=7399 + _globals['_TRACKPERMISSION']._serialized_end=7511 + _globals['_SUBSCRIPTIONPERMISSION']._serialized_start=7513 + _globals['_SUBSCRIPTIONPERMISSION']._serialized_end=7616 + _globals['_SUBSCRIPTIONPERMISSIONUPDATE']._serialized_start=7618 + _globals['_SUBSCRIPTIONPERMISSIONUPDATE']._serialized_end=7709 + _globals['_ROOMMOVEDRESPONSE']._serialized_start=7712 + _globals['_ROOMMOVEDRESPONSE']._serialized_end=7876 + _globals['_SYNCSTATE']._serialized_start=7879 + _globals['_SYNCSTATE']._serialized_end=8299 + _globals['_DATACHANNELRECEIVESTATE']._serialized_start=8301 + _globals['_DATACHANNELRECEIVESTATE']._serialized_end=8367 + _globals['_DATACHANNELINFO']._serialized_start=8369 + _globals['_DATACHANNELINFO']._serialized_end=8452 + _globals['_SIMULATESCENARIO']._serialized_start=8455 + _globals['_SIMULATESCENARIO']._serialized_end=8807 + _globals['_PING']._serialized_start=8809 + _globals['_PING']._serialized_end=8847 + _globals['_PONG']._serialized_start=8849 + _globals['_PONG']._serialized_end=8903 + _globals['_REGIONSETTINGS']._serialized_start=8905 + _globals['_REGIONSETTINGS']._serialized_end=8959 + _globals['_REGIONINFO']._serialized_start=8961 + _globals['_REGIONINFO']._serialized_end=9020 + _globals['_SUBSCRIPTIONRESPONSE']._serialized_start=9022 + _globals['_SUBSCRIPTIONRESPONSE']._serialized_end=9104 + _globals['_REQUESTRESPONSE']._serialized_start=9107 + _globals['_REQUESTRESPONSE']._serialized_end=9883 + _globals['_REQUESTRESPONSE_REASON']._serialized_start=9666 + _globals['_REQUESTRESPONSE_REASON']._serialized_end=9872 + _globals['_TRACKSUBSCRIBED']._serialized_start=9885 + _globals['_TRACKSUBSCRIBED']._serialized_end=9921 + _globals['_CONNECTIONSETTINGS']._serialized_start=9924 + _globals['_CONNECTIONSETTINGS']._serialized_end=10153 + _globals['_JOINREQUEST']._serialized_start=10156 + _globals['_JOINREQUEST']._serialized_end=10754 + _globals['_JOINREQUEST_PARTICIPANTATTRIBUTESENTRY']._serialized_start=10694 + _globals['_JOINREQUEST_PARTICIPANTATTRIBUTESENTRY']._serialized_end=10754 + _globals['_WRAPPEDJOINREQUEST']._serialized_start=10757 + _globals['_WRAPPEDJOINREQUEST']._serialized_end=10896 + _globals['_WRAPPEDJOINREQUEST_COMPRESSION']._serialized_start=10863 + _globals['_WRAPPEDJOINREQUEST_COMPRESSION']._serialized_end=10896 + _globals['_MEDIASECTIONSREQUIREMENT']._serialized_start=10898 + _globals['_MEDIASECTIONSREQUIREMENT']._serialized_end=10964 # @@protoc_insertion_point(module_scope) diff --git a/livekit-protocol/livekit/protocol/rtc.pyi b/livekit-protocol/livekit/protocol/rtc.pyi index fa39cdb6..5ca0c8ea 100644 --- a/livekit-protocol/livekit/protocol/rtc.pyi +++ b/livekit-protocol/livekit/protocol/rtc.pyi @@ -32,7 +32,7 @@ TCP: CandidateProtocol TLS: CandidateProtocol class SignalRequest(_message.Message): - __slots__ = ("offer", "answer", "trickle", "add_track", "mute", "subscription", "track_setting", "leave", "update_layers", "subscription_permission", "sync_state", "simulate", "ping", "update_metadata", "ping_req", "update_audio_track", "update_video_track") + __slots__ = ("offer", "answer", "trickle", "add_track", "mute", "subscription", "track_setting", "leave", "update_layers", "subscription_permission", "sync_state", "simulate", "ping", "update_metadata", "ping_req", "update_audio_track", "update_video_track", "publish_data_track_request", "unpublish_data_track_request", "update_data_subscription") OFFER_FIELD_NUMBER: _ClassVar[int] ANSWER_FIELD_NUMBER: _ClassVar[int] TRICKLE_FIELD_NUMBER: _ClassVar[int] @@ -50,6 +50,9 @@ class SignalRequest(_message.Message): PING_REQ_FIELD_NUMBER: _ClassVar[int] UPDATE_AUDIO_TRACK_FIELD_NUMBER: _ClassVar[int] UPDATE_VIDEO_TRACK_FIELD_NUMBER: _ClassVar[int] + PUBLISH_DATA_TRACK_REQUEST_FIELD_NUMBER: _ClassVar[int] + UNPUBLISH_DATA_TRACK_REQUEST_FIELD_NUMBER: _ClassVar[int] + UPDATE_DATA_SUBSCRIPTION_FIELD_NUMBER: _ClassVar[int] offer: SessionDescription answer: SessionDescription trickle: TrickleRequest @@ -67,10 +70,13 @@ class SignalRequest(_message.Message): ping_req: Ping update_audio_track: UpdateLocalAudioTrack update_video_track: UpdateLocalVideoTrack - def __init__(self, offer: _Optional[_Union[SessionDescription, _Mapping]] = ..., answer: _Optional[_Union[SessionDescription, _Mapping]] = ..., trickle: _Optional[_Union[TrickleRequest, _Mapping]] = ..., add_track: _Optional[_Union[AddTrackRequest, _Mapping]] = ..., mute: _Optional[_Union[MuteTrackRequest, _Mapping]] = ..., subscription: _Optional[_Union[UpdateSubscription, _Mapping]] = ..., track_setting: _Optional[_Union[UpdateTrackSettings, _Mapping]] = ..., leave: _Optional[_Union[LeaveRequest, _Mapping]] = ..., update_layers: _Optional[_Union[UpdateVideoLayers, _Mapping]] = ..., subscription_permission: _Optional[_Union[SubscriptionPermission, _Mapping]] = ..., sync_state: _Optional[_Union[SyncState, _Mapping]] = ..., simulate: _Optional[_Union[SimulateScenario, _Mapping]] = ..., ping: _Optional[int] = ..., update_metadata: _Optional[_Union[UpdateParticipantMetadata, _Mapping]] = ..., ping_req: _Optional[_Union[Ping, _Mapping]] = ..., update_audio_track: _Optional[_Union[UpdateLocalAudioTrack, _Mapping]] = ..., update_video_track: _Optional[_Union[UpdateLocalVideoTrack, _Mapping]] = ...) -> None: ... + publish_data_track_request: PublishDataTrackRequest + unpublish_data_track_request: UnpublishDataTrackRequest + update_data_subscription: UpdateDataSubscription + def __init__(self, offer: _Optional[_Union[SessionDescription, _Mapping]] = ..., answer: _Optional[_Union[SessionDescription, _Mapping]] = ..., trickle: _Optional[_Union[TrickleRequest, _Mapping]] = ..., add_track: _Optional[_Union[AddTrackRequest, _Mapping]] = ..., mute: _Optional[_Union[MuteTrackRequest, _Mapping]] = ..., subscription: _Optional[_Union[UpdateSubscription, _Mapping]] = ..., track_setting: _Optional[_Union[UpdateTrackSettings, _Mapping]] = ..., leave: _Optional[_Union[LeaveRequest, _Mapping]] = ..., update_layers: _Optional[_Union[UpdateVideoLayers, _Mapping]] = ..., subscription_permission: _Optional[_Union[SubscriptionPermission, _Mapping]] = ..., sync_state: _Optional[_Union[SyncState, _Mapping]] = ..., simulate: _Optional[_Union[SimulateScenario, _Mapping]] = ..., ping: _Optional[int] = ..., update_metadata: _Optional[_Union[UpdateParticipantMetadata, _Mapping]] = ..., ping_req: _Optional[_Union[Ping, _Mapping]] = ..., update_audio_track: _Optional[_Union[UpdateLocalAudioTrack, _Mapping]] = ..., update_video_track: _Optional[_Union[UpdateLocalVideoTrack, _Mapping]] = ..., publish_data_track_request: _Optional[_Union[PublishDataTrackRequest, _Mapping]] = ..., unpublish_data_track_request: _Optional[_Union[UnpublishDataTrackRequest, _Mapping]] = ..., update_data_subscription: _Optional[_Union[UpdateDataSubscription, _Mapping]] = ...) -> None: ... class SignalResponse(_message.Message): - __slots__ = ("join", "answer", "offer", "trickle", "update", "track_published", "leave", "mute", "speakers_changed", "room_update", "connection_quality", "stream_state_update", "subscribed_quality_update", "subscription_permission_update", "refresh_token", "track_unpublished", "pong", "reconnect", "pong_resp", "subscription_response", "request_response", "track_subscribed", "room_moved", "media_sections_requirement", "subscribed_audio_codec_update") + __slots__ = ("join", "answer", "offer", "trickle", "update", "track_published", "leave", "mute", "speakers_changed", "room_update", "connection_quality", "stream_state_update", "subscribed_quality_update", "subscription_permission_update", "refresh_token", "track_unpublished", "pong", "reconnect", "pong_resp", "subscription_response", "request_response", "track_subscribed", "room_moved", "media_sections_requirement", "subscribed_audio_codec_update", "publish_data_track_response", "unpublish_data_track_response", "data_track_subscriber_handles") JOIN_FIELD_NUMBER: _ClassVar[int] ANSWER_FIELD_NUMBER: _ClassVar[int] OFFER_FIELD_NUMBER: _ClassVar[int] @@ -96,6 +102,9 @@ class SignalResponse(_message.Message): ROOM_MOVED_FIELD_NUMBER: _ClassVar[int] MEDIA_SECTIONS_REQUIREMENT_FIELD_NUMBER: _ClassVar[int] SUBSCRIBED_AUDIO_CODEC_UPDATE_FIELD_NUMBER: _ClassVar[int] + PUBLISH_DATA_TRACK_RESPONSE_FIELD_NUMBER: _ClassVar[int] + UNPUBLISH_DATA_TRACK_RESPONSE_FIELD_NUMBER: _ClassVar[int] + DATA_TRACK_SUBSCRIBER_HANDLES_FIELD_NUMBER: _ClassVar[int] join: JoinResponse answer: SessionDescription offer: SessionDescription @@ -121,7 +130,10 @@ class SignalResponse(_message.Message): room_moved: RoomMovedResponse media_sections_requirement: MediaSectionsRequirement subscribed_audio_codec_update: SubscribedAudioCodecUpdate - def __init__(self, join: _Optional[_Union[JoinResponse, _Mapping]] = ..., answer: _Optional[_Union[SessionDescription, _Mapping]] = ..., offer: _Optional[_Union[SessionDescription, _Mapping]] = ..., trickle: _Optional[_Union[TrickleRequest, _Mapping]] = ..., update: _Optional[_Union[ParticipantUpdate, _Mapping]] = ..., track_published: _Optional[_Union[TrackPublishedResponse, _Mapping]] = ..., leave: _Optional[_Union[LeaveRequest, _Mapping]] = ..., mute: _Optional[_Union[MuteTrackRequest, _Mapping]] = ..., speakers_changed: _Optional[_Union[SpeakersChanged, _Mapping]] = ..., room_update: _Optional[_Union[RoomUpdate, _Mapping]] = ..., connection_quality: _Optional[_Union[ConnectionQualityUpdate, _Mapping]] = ..., stream_state_update: _Optional[_Union[StreamStateUpdate, _Mapping]] = ..., subscribed_quality_update: _Optional[_Union[SubscribedQualityUpdate, _Mapping]] = ..., subscription_permission_update: _Optional[_Union[SubscriptionPermissionUpdate, _Mapping]] = ..., refresh_token: _Optional[str] = ..., track_unpublished: _Optional[_Union[TrackUnpublishedResponse, _Mapping]] = ..., pong: _Optional[int] = ..., reconnect: _Optional[_Union[ReconnectResponse, _Mapping]] = ..., pong_resp: _Optional[_Union[Pong, _Mapping]] = ..., subscription_response: _Optional[_Union[SubscriptionResponse, _Mapping]] = ..., request_response: _Optional[_Union[RequestResponse, _Mapping]] = ..., track_subscribed: _Optional[_Union[TrackSubscribed, _Mapping]] = ..., room_moved: _Optional[_Union[RoomMovedResponse, _Mapping]] = ..., media_sections_requirement: _Optional[_Union[MediaSectionsRequirement, _Mapping]] = ..., subscribed_audio_codec_update: _Optional[_Union[SubscribedAudioCodecUpdate, _Mapping]] = ...) -> None: ... + publish_data_track_response: PublishDataTrackResponse + unpublish_data_track_response: UnpublishDataTrackResponse + data_track_subscriber_handles: DataTrackSubscriberHandles + def __init__(self, join: _Optional[_Union[JoinResponse, _Mapping]] = ..., answer: _Optional[_Union[SessionDescription, _Mapping]] = ..., offer: _Optional[_Union[SessionDescription, _Mapping]] = ..., trickle: _Optional[_Union[TrickleRequest, _Mapping]] = ..., update: _Optional[_Union[ParticipantUpdate, _Mapping]] = ..., track_published: _Optional[_Union[TrackPublishedResponse, _Mapping]] = ..., leave: _Optional[_Union[LeaveRequest, _Mapping]] = ..., mute: _Optional[_Union[MuteTrackRequest, _Mapping]] = ..., speakers_changed: _Optional[_Union[SpeakersChanged, _Mapping]] = ..., room_update: _Optional[_Union[RoomUpdate, _Mapping]] = ..., connection_quality: _Optional[_Union[ConnectionQualityUpdate, _Mapping]] = ..., stream_state_update: _Optional[_Union[StreamStateUpdate, _Mapping]] = ..., subscribed_quality_update: _Optional[_Union[SubscribedQualityUpdate, _Mapping]] = ..., subscription_permission_update: _Optional[_Union[SubscriptionPermissionUpdate, _Mapping]] = ..., refresh_token: _Optional[str] = ..., track_unpublished: _Optional[_Union[TrackUnpublishedResponse, _Mapping]] = ..., pong: _Optional[int] = ..., reconnect: _Optional[_Union[ReconnectResponse, _Mapping]] = ..., pong_resp: _Optional[_Union[Pong, _Mapping]] = ..., subscription_response: _Optional[_Union[SubscriptionResponse, _Mapping]] = ..., request_response: _Optional[_Union[RequestResponse, _Mapping]] = ..., track_subscribed: _Optional[_Union[TrackSubscribed, _Mapping]] = ..., room_moved: _Optional[_Union[RoomMovedResponse, _Mapping]] = ..., media_sections_requirement: _Optional[_Union[MediaSectionsRequirement, _Mapping]] = ..., subscribed_audio_codec_update: _Optional[_Union[SubscribedAudioCodecUpdate, _Mapping]] = ..., publish_data_track_response: _Optional[_Union[PublishDataTrackResponse, _Mapping]] = ..., unpublish_data_track_response: _Optional[_Union[UnpublishDataTrackResponse, _Mapping]] = ..., data_track_subscriber_handles: _Optional[_Union[DataTrackSubscriberHandles, _Mapping]] = ...) -> None: ... class SimulcastCodec(_message.Message): __slots__ = ("codec", "cid", "layers", "video_layer_mode") @@ -173,6 +185,56 @@ class AddTrackRequest(_message.Message): audio_features: _containers.RepeatedScalarFieldContainer[_models.AudioTrackFeature] def __init__(self, cid: _Optional[str] = ..., name: _Optional[str] = ..., type: _Optional[_Union[_models.TrackType, str]] = ..., width: _Optional[int] = ..., height: _Optional[int] = ..., muted: bool = ..., disable_dtx: bool = ..., source: _Optional[_Union[_models.TrackSource, str]] = ..., layers: _Optional[_Iterable[_Union[_models.VideoLayer, _Mapping]]] = ..., simulcast_codecs: _Optional[_Iterable[_Union[SimulcastCodec, _Mapping]]] = ..., sid: _Optional[str] = ..., stereo: bool = ..., disable_red: bool = ..., encryption: _Optional[_Union[_models.Encryption.Type, str]] = ..., stream: _Optional[str] = ..., backup_codec_policy: _Optional[_Union[_models.BackupCodecPolicy, str]] = ..., audio_features: _Optional[_Iterable[_Union[_models.AudioTrackFeature, str]]] = ...) -> None: ... +class PublishDataTrackRequest(_message.Message): + __slots__ = ("pub_handle", "name", "encryption") + PUB_HANDLE_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + ENCRYPTION_FIELD_NUMBER: _ClassVar[int] + pub_handle: int + name: str + encryption: _models.Encryption.Type + def __init__(self, pub_handle: _Optional[int] = ..., name: _Optional[str] = ..., encryption: _Optional[_Union[_models.Encryption.Type, str]] = ...) -> None: ... + +class PublishDataTrackResponse(_message.Message): + __slots__ = ("info",) + INFO_FIELD_NUMBER: _ClassVar[int] + info: _models.DataTrackInfo + def __init__(self, info: _Optional[_Union[_models.DataTrackInfo, _Mapping]] = ...) -> None: ... + +class UnpublishDataTrackRequest(_message.Message): + __slots__ = ("pub_handle",) + PUB_HANDLE_FIELD_NUMBER: _ClassVar[int] + pub_handle: int + def __init__(self, pub_handle: _Optional[int] = ...) -> None: ... + +class UnpublishDataTrackResponse(_message.Message): + __slots__ = ("info",) + INFO_FIELD_NUMBER: _ClassVar[int] + info: _models.DataTrackInfo + def __init__(self, info: _Optional[_Union[_models.DataTrackInfo, _Mapping]] = ...) -> None: ... + +class DataTrackSubscriberHandles(_message.Message): + __slots__ = ("sub_handles",) + class PublishedDataTrack(_message.Message): + __slots__ = ("publisher_identity", "publisher_sid", "track_sid") + PUBLISHER_IDENTITY_FIELD_NUMBER: _ClassVar[int] + PUBLISHER_SID_FIELD_NUMBER: _ClassVar[int] + TRACK_SID_FIELD_NUMBER: _ClassVar[int] + publisher_identity: str + publisher_sid: str + track_sid: str + def __init__(self, publisher_identity: _Optional[str] = ..., publisher_sid: _Optional[str] = ..., track_sid: _Optional[str] = ...) -> None: ... + class SubHandlesEntry(_message.Message): + __slots__ = ("key", "value") + KEY_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + key: int + value: DataTrackSubscriberHandles.PublishedDataTrack + def __init__(self, key: _Optional[int] = ..., value: _Optional[_Union[DataTrackSubscriberHandles.PublishedDataTrack, _Mapping]] = ...) -> None: ... + SUB_HANDLES_FIELD_NUMBER: _ClassVar[int] + sub_handles: _containers.MessageMap[int, DataTrackSubscriberHandles.PublishedDataTrack] + def __init__(self, sub_handles: _Optional[_Mapping[int, DataTrackSubscriberHandles.PublishedDataTrack]] = ...) -> None: ... + class TrickleRequest(_message.Message): __slots__ = ("candidateInit", "target", "final") CANDIDATEINIT_FIELD_NUMBER: _ClassVar[int] @@ -286,6 +348,21 @@ class UpdateSubscription(_message.Message): participant_tracks: _containers.RepeatedCompositeFieldContainer[_models.ParticipantTracks] def __init__(self, track_sids: _Optional[_Iterable[str]] = ..., subscribe: bool = ..., participant_tracks: _Optional[_Iterable[_Union[_models.ParticipantTracks, _Mapping]]] = ...) -> None: ... +class UpdateDataSubscription(_message.Message): + __slots__ = ("updates",) + class Update(_message.Message): + __slots__ = ("track_sid", "subscribe", "options") + TRACK_SID_FIELD_NUMBER: _ClassVar[int] + SUBSCRIBE_FIELD_NUMBER: _ClassVar[int] + OPTIONS_FIELD_NUMBER: _ClassVar[int] + track_sid: str + subscribe: bool + options: _models.DataTrackSubscriptionOptions + def __init__(self, track_sid: _Optional[str] = ..., subscribe: bool = ..., options: _Optional[_Union[_models.DataTrackSubscriptionOptions, _Mapping]] = ...) -> None: ... + UPDATES_FIELD_NUMBER: _ClassVar[int] + updates: _containers.RepeatedCompositeFieldContainer[UpdateDataSubscription.Update] + def __init__(self, updates: _Optional[_Iterable[_Union[UpdateDataSubscription.Update, _Mapping]]] = ...) -> None: ... + class UpdateTrackSettings(_message.Message): __slots__ = ("track_sids", "disabled", "quality", "width", "height", "fps", "priority") TRACK_SIDS_FIELD_NUMBER: _ClassVar[int] @@ -500,7 +577,7 @@ class RoomMovedResponse(_message.Message): def __init__(self, room: _Optional[_Union[_models.Room, _Mapping]] = ..., token: _Optional[str] = ..., participant: _Optional[_Union[_models.ParticipantInfo, _Mapping]] = ..., other_participants: _Optional[_Iterable[_Union[_models.ParticipantInfo, _Mapping]]] = ...) -> None: ... class SyncState(_message.Message): - __slots__ = ("answer", "subscription", "publish_tracks", "data_channels", "offer", "track_sids_disabled", "datachannel_receive_states") + __slots__ = ("answer", "subscription", "publish_tracks", "data_channels", "offer", "track_sids_disabled", "datachannel_receive_states", "publish_data_tracks") ANSWER_FIELD_NUMBER: _ClassVar[int] SUBSCRIPTION_FIELD_NUMBER: _ClassVar[int] PUBLISH_TRACKS_FIELD_NUMBER: _ClassVar[int] @@ -508,6 +585,7 @@ class SyncState(_message.Message): OFFER_FIELD_NUMBER: _ClassVar[int] TRACK_SIDS_DISABLED_FIELD_NUMBER: _ClassVar[int] DATACHANNEL_RECEIVE_STATES_FIELD_NUMBER: _ClassVar[int] + PUBLISH_DATA_TRACKS_FIELD_NUMBER: _ClassVar[int] answer: SessionDescription subscription: UpdateSubscription publish_tracks: _containers.RepeatedCompositeFieldContainer[TrackPublishedResponse] @@ -515,7 +593,8 @@ class SyncState(_message.Message): offer: SessionDescription track_sids_disabled: _containers.RepeatedScalarFieldContainer[str] datachannel_receive_states: _containers.RepeatedCompositeFieldContainer[DataChannelReceiveState] - def __init__(self, answer: _Optional[_Union[SessionDescription, _Mapping]] = ..., subscription: _Optional[_Union[UpdateSubscription, _Mapping]] = ..., publish_tracks: _Optional[_Iterable[_Union[TrackPublishedResponse, _Mapping]]] = ..., data_channels: _Optional[_Iterable[_Union[DataChannelInfo, _Mapping]]] = ..., offer: _Optional[_Union[SessionDescription, _Mapping]] = ..., track_sids_disabled: _Optional[_Iterable[str]] = ..., datachannel_receive_states: _Optional[_Iterable[_Union[DataChannelReceiveState, _Mapping]]] = ...) -> None: ... + publish_data_tracks: _containers.RepeatedCompositeFieldContainer[PublishDataTrackResponse] + def __init__(self, answer: _Optional[_Union[SessionDescription, _Mapping]] = ..., subscription: _Optional[_Union[UpdateSubscription, _Mapping]] = ..., publish_tracks: _Optional[_Iterable[_Union[TrackPublishedResponse, _Mapping]]] = ..., data_channels: _Optional[_Iterable[_Union[DataChannelInfo, _Mapping]]] = ..., offer: _Optional[_Union[SessionDescription, _Mapping]] = ..., track_sids_disabled: _Optional[_Iterable[str]] = ..., datachannel_receive_states: _Optional[_Iterable[_Union[DataChannelReceiveState, _Mapping]]] = ..., publish_data_tracks: _Optional[_Iterable[_Union[PublishDataTrackResponse, _Mapping]]] = ...) -> None: ... class DataChannelReceiveState(_message.Message): __slots__ = ("publisher_sid", "last_seq") @@ -598,7 +677,7 @@ class SubscriptionResponse(_message.Message): def __init__(self, track_sid: _Optional[str] = ..., err: _Optional[_Union[_models.SubscriptionError, str]] = ...) -> None: ... class RequestResponse(_message.Message): - __slots__ = ("request_id", "reason", "message", "trickle", "add_track", "mute", "update_metadata", "update_audio_track", "update_video_track") + __slots__ = ("request_id", "reason", "message", "trickle", "add_track", "mute", "update_metadata", "update_audio_track", "update_video_track", "publish_data_track", "unpublish_data_track") class Reason(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () OK: _ClassVar[RequestResponse.Reason] @@ -608,6 +687,10 @@ class RequestResponse(_message.Message): QUEUED: _ClassVar[RequestResponse.Reason] UNSUPPORTED_TYPE: _ClassVar[RequestResponse.Reason] UNCLASSIFIED_ERROR: _ClassVar[RequestResponse.Reason] + INVALID_HANDLE: _ClassVar[RequestResponse.Reason] + INVALID_NAME: _ClassVar[RequestResponse.Reason] + DUPLICATE_HANDLE: _ClassVar[RequestResponse.Reason] + DUPLICATE_NAME: _ClassVar[RequestResponse.Reason] OK: RequestResponse.Reason NOT_FOUND: RequestResponse.Reason NOT_ALLOWED: RequestResponse.Reason @@ -615,6 +698,10 @@ class RequestResponse(_message.Message): QUEUED: RequestResponse.Reason UNSUPPORTED_TYPE: RequestResponse.Reason UNCLASSIFIED_ERROR: RequestResponse.Reason + INVALID_HANDLE: RequestResponse.Reason + INVALID_NAME: RequestResponse.Reason + DUPLICATE_HANDLE: RequestResponse.Reason + DUPLICATE_NAME: RequestResponse.Reason REQUEST_ID_FIELD_NUMBER: _ClassVar[int] REASON_FIELD_NUMBER: _ClassVar[int] MESSAGE_FIELD_NUMBER: _ClassVar[int] @@ -624,6 +711,8 @@ class RequestResponse(_message.Message): UPDATE_METADATA_FIELD_NUMBER: _ClassVar[int] UPDATE_AUDIO_TRACK_FIELD_NUMBER: _ClassVar[int] UPDATE_VIDEO_TRACK_FIELD_NUMBER: _ClassVar[int] + PUBLISH_DATA_TRACK_FIELD_NUMBER: _ClassVar[int] + UNPUBLISH_DATA_TRACK_FIELD_NUMBER: _ClassVar[int] request_id: int reason: RequestResponse.Reason message: str @@ -633,7 +722,9 @@ class RequestResponse(_message.Message): update_metadata: UpdateParticipantMetadata update_audio_track: UpdateLocalAudioTrack update_video_track: UpdateLocalVideoTrack - def __init__(self, request_id: _Optional[int] = ..., reason: _Optional[_Union[RequestResponse.Reason, str]] = ..., message: _Optional[str] = ..., trickle: _Optional[_Union[TrickleRequest, _Mapping]] = ..., add_track: _Optional[_Union[AddTrackRequest, _Mapping]] = ..., mute: _Optional[_Union[MuteTrackRequest, _Mapping]] = ..., update_metadata: _Optional[_Union[UpdateParticipantMetadata, _Mapping]] = ..., update_audio_track: _Optional[_Union[UpdateLocalAudioTrack, _Mapping]] = ..., update_video_track: _Optional[_Union[UpdateLocalVideoTrack, _Mapping]] = ...) -> None: ... + publish_data_track: PublishDataTrackRequest + unpublish_data_track: UnpublishDataTrackRequest + def __init__(self, request_id: _Optional[int] = ..., reason: _Optional[_Union[RequestResponse.Reason, str]] = ..., message: _Optional[str] = ..., trickle: _Optional[_Union[TrickleRequest, _Mapping]] = ..., add_track: _Optional[_Union[AddTrackRequest, _Mapping]] = ..., mute: _Optional[_Union[MuteTrackRequest, _Mapping]] = ..., update_metadata: _Optional[_Union[UpdateParticipantMetadata, _Mapping]] = ..., update_audio_track: _Optional[_Union[UpdateLocalAudioTrack, _Mapping]] = ..., update_video_track: _Optional[_Union[UpdateLocalVideoTrack, _Mapping]] = ..., publish_data_track: _Optional[_Union[PublishDataTrackRequest, _Mapping]] = ..., unpublish_data_track: _Optional[_Union[UnpublishDataTrackRequest, _Mapping]] = ...) -> None: ... class TrackSubscribed(_message.Message): __slots__ = ("track_sid",) @@ -642,16 +733,18 @@ class TrackSubscribed(_message.Message): def __init__(self, track_sid: _Optional[str] = ...) -> None: ... class ConnectionSettings(_message.Message): - __slots__ = ("auto_subscribe", "adaptive_stream", "subscriber_allow_pause", "disable_ice_lite") + __slots__ = ("auto_subscribe", "adaptive_stream", "subscriber_allow_pause", "disable_ice_lite", "auto_subscribe_data_track") AUTO_SUBSCRIBE_FIELD_NUMBER: _ClassVar[int] ADAPTIVE_STREAM_FIELD_NUMBER: _ClassVar[int] SUBSCRIBER_ALLOW_PAUSE_FIELD_NUMBER: _ClassVar[int] DISABLE_ICE_LITE_FIELD_NUMBER: _ClassVar[int] + AUTO_SUBSCRIBE_DATA_TRACK_FIELD_NUMBER: _ClassVar[int] auto_subscribe: bool adaptive_stream: bool subscriber_allow_pause: bool disable_ice_lite: bool - def __init__(self, auto_subscribe: bool = ..., adaptive_stream: bool = ..., subscriber_allow_pause: bool = ..., disable_ice_lite: bool = ...) -> None: ... + auto_subscribe_data_track: bool + def __init__(self, auto_subscribe: bool = ..., adaptive_stream: bool = ..., subscriber_allow_pause: bool = ..., disable_ice_lite: bool = ..., auto_subscribe_data_track: bool = ...) -> None: ... class JoinRequest(_message.Message): __slots__ = ("client_info", "connection_settings", "metadata", "participant_attributes", "add_track_requests", "publisher_offer", "reconnect", "reconnect_reason", "participant_sid", "sync_state") diff --git a/livekit-protocol/livekit/protocol/sip.py b/livekit-protocol/livekit/protocol/sip.py index c7d1b721..0c55895c 100644 --- a/livekit-protocol/livekit/protocol/sip.py +++ b/livekit-protocol/livekit/protocol/sip.py @@ -20,7 +20,7 @@ from .logger_pb import options as logger_dot_options__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x11livekit_sip.proto\x12\x07livekit\x1a\x19google/protobuf/any.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x14livekit_models.proto\x1a\x12livekit_room.proto\x1a\x14logger/options.proto\"A\n\tSIPStatus\x12$\n\x04\x63ode\x18\x01 \x01(\x0e\x32\x16.livekit.SIPStatusCode\x12\x0e\n\x06status\x18\x02 \x01(\t\"\xf7\x03\n\x15\x43reateSIPTrunkRequest\x12\x19\n\x11inbound_addresses\x18\x01 \x03(\t\x12\x18\n\x10outbound_address\x18\x02 \x01(\t\x12\x17\n\x0foutbound_number\x18\x03 \x01(\t\x12!\n\x15inbound_numbers_regex\x18\x04 \x03(\tB\x02\x18\x01\x12\x17\n\x0finbound_numbers\x18\t \x03(\t\x12@\n\x10inbound_username\x18\x05 \x01(\tB&\x88\xb5\x18\x01\x92\xb5\x18\x1e\x12@\n\x10inbound_password\x18\x06 \x01(\tB&\x88\xb5\x18\x01\x92\xb5\x18\x1e\x12\x41\n\x11outbound_username\x18\x07 \x01(\tB&\x88\xb5\x18\x01\x92\xb5\x18\x1e\x12\x41\n\x11outbound_password\x18\x08 \x01(\tB&\x88\xb5\x18\x01\x92\xb5\x18\x1e\x12\x0c\n\x04name\x18\n \x01(\t\x12\x38\n\x08metadata\x18\x0b \x01(\tB&\x88\xb5\x18\x01\x92\xb5\x18\x1e:\x02\x18\x01\"g\n\x0cProviderInfo\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12#\n\x04type\x18\x03 \x01(\x0e\x32\x15.livekit.ProviderType\x12\x18\n\x10prevent_transfer\x18\x04 \x01(\x08\"\xa3\x05\n\x0cSIPTrunkInfo\x12\x14\n\x0csip_trunk_id\x18\x01 \x01(\t\x12-\n\x04kind\x18\x0e \x01(\x0e\x32\x1f.livekit.SIPTrunkInfo.TrunkKind\x12\x19\n\x11inbound_addresses\x18\x02 \x03(\t\x12\x18\n\x10outbound_address\x18\x03 \x01(\t\x12\x17\n\x0foutbound_number\x18\x04 \x01(\t\x12(\n\ttransport\x18\r \x01(\x0e\x32\x15.livekit.SIPTransport\x12!\n\x15inbound_numbers_regex\x18\x05 \x03(\tB\x02\x18\x01\x12\x17\n\x0finbound_numbers\x18\n \x03(\t\x12@\n\x10inbound_username\x18\x06 \x01(\tB&\x88\xb5\x18\x01\x92\xb5\x18\x1e\x12@\n\x10inbound_password\x18\x07 \x01(\tB&\x88\xb5\x18\x01\x92\xb5\x18\x1e\x12\x41\n\x11outbound_username\x18\x08 \x01(\tB&\x88\xb5\x18\x01\x92\xb5\x18\x1e\x12\x41\n\x11outbound_password\x18\t \x01(\tB&\x88\xb5\x18\x01\x92\xb5\x18\x1e\x12\x0c\n\x04name\x18\x0b \x01(\t\x12\x38\n\x08metadata\x18\x0c \x01(\tB&\x88\xb5\x18\x01\x92\xb5\x18\x1e\"D\n\tTrunkKind\x12\x10\n\x0cTRUNK_LEGACY\x10\x00\x12\x11\n\rTRUNK_INBOUND\x10\x01\x12\x12\n\x0eTRUNK_OUTBOUND\x10\x02:\x02\x18\x01\"K\n\x1c\x43reateSIPInboundTrunkRequest\x12+\n\x05trunk\x18\x01 \x01(\x0b\x32\x1c.livekit.SIPInboundTrunkInfo\"\xa1\x01\n\x1cUpdateSIPInboundTrunkRequest\x12\x14\n\x0csip_trunk_id\x18\x01 \x01(\t\x12/\n\x07replace\x18\x02 \x01(\x0b\x32\x1c.livekit.SIPInboundTrunkInfoH\x00\x12\x30\n\x06update\x18\x03 \x01(\x0b\x32\x1e.livekit.SIPInboundTrunkUpdateH\x00\x42\x08\n\x06\x61\x63tion\"\xda\x07\n\x13SIPInboundTrunkInfo\x12\x14\n\x0csip_trunk_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x38\n\x08metadata\x18\x03 \x01(\tB&\x88\xb5\x18\x01\x92\xb5\x18\x1e\x12\x0f\n\x07numbers\x18\x04 \x03(\t\x12\x19\n\x11\x61llowed_addresses\x18\x05 \x03(\t\x12\x17\n\x0f\x61llowed_numbers\x18\x06 \x03(\t\x12=\n\rauth_username\x18\x07 \x01(\tB&\x88\xb5\x18\x01\x92\xb5\x18\x1e\x12=\n\rauth_password\x18\x08 \x01(\tB&\x88\xb5\x18\x01\x92\xb5\x18\x1e\x12\x62\n\x07headers\x18\t \x03(\x0b\x32).livekit.SIPInboundTrunkInfo.HeadersEntryB&\x88\xb5\x18\x01\x92\xb5\x18\x1e\x12T\n\x15headers_to_attributes\x18\n \x03(\x0b\x32\x35.livekit.SIPInboundTrunkInfo.HeadersToAttributesEntry\x12T\n\x15\x61ttributes_to_headers\x18\x0e \x03(\x0b\x32\x35.livekit.SIPInboundTrunkInfo.AttributesToHeadersEntry\x12\x32\n\x0finclude_headers\x18\x0f \x01(\x0e\x32\x19.livekit.SIPHeaderOptions\x12\x32\n\x0fringing_timeout\x18\x0b \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x34\n\x11max_call_duration\x18\x0c \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x15\n\rkrisp_enabled\x18\r \x01(\x08\x12\x35\n\x10media_encryption\x18\x10 \x01(\x0e\x32\x1b.livekit.SIPMediaEncryption\x1a.\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a:\n\x18HeadersToAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a:\n\x18\x41ttributesToHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x80\x04\n\x15SIPInboundTrunkUpdate\x12$\n\x07numbers\x18\x01 \x01(\x0b\x32\x13.livekit.ListUpdate\x12.\n\x11\x61llowed_addresses\x18\x02 \x01(\x0b\x32\x13.livekit.ListUpdate\x12,\n\x0f\x61llowed_numbers\x18\x03 \x01(\x0b\x32\x13.livekit.ListUpdate\x12\x42\n\rauth_username\x18\x04 \x01(\tB&\x88\xb5\x18\x01\x92\xb5\x18\x1eH\x00\x88\x01\x01\x12\x42\n\rauth_password\x18\x05 \x01(\tB&\x88\xb5\x18\x01\x92\xb5\x18\x1eH\x01\x88\x01\x01\x12\x11\n\x04name\x18\x06 \x01(\tH\x02\x88\x01\x01\x12=\n\x08metadata\x18\x07 \x01(\tB&\x88\xb5\x18\x01\x92\xb5\x18\x1eH\x03\x88\x01\x01\x12:\n\x10media_encryption\x18\x08 \x01(\x0e\x32\x1b.livekit.SIPMediaEncryptionH\x04\x88\x01\x01\x42\x10\n\x0e_auth_usernameB\x10\n\x0e_auth_passwordB\x07\n\x05_nameB\x0b\n\t_metadataB\x13\n\x11_media_encryption\"M\n\x1d\x43reateSIPOutboundTrunkRequest\x12,\n\x05trunk\x18\x01 \x01(\x0b\x32\x1d.livekit.SIPOutboundTrunkInfo\"\xa4\x01\n\x1dUpdateSIPOutboundTrunkRequest\x12\x14\n\x0csip_trunk_id\x18\x01 \x01(\t\x12\x30\n\x07replace\x18\x02 \x01(\x0b\x32\x1d.livekit.SIPOutboundTrunkInfoH\x00\x12\x31\n\x06update\x18\x03 \x01(\x0b\x32\x1f.livekit.SIPOutboundTrunkUpdateH\x00\x42\x08\n\x06\x61\x63tion\"\x81\x07\n\x14SIPOutboundTrunkInfo\x12\x14\n\x0csip_trunk_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x38\n\x08metadata\x18\x03 \x01(\tB&\x88\xb5\x18\x01\x92\xb5\x18\x1e\x12\x0f\n\x07\x61\x64\x64ress\x18\x04 \x01(\t\x12\x1b\n\x13\x64\x65stination_country\x18\x0e \x01(\t\x12(\n\ttransport\x18\x05 \x01(\x0e\x32\x15.livekit.SIPTransport\x12\x0f\n\x07numbers\x18\x06 \x03(\t\x12=\n\rauth_username\x18\x07 \x01(\tB&\x88\xb5\x18\x01\x92\xb5\x18\x1e\x12=\n\rauth_password\x18\x08 \x01(\tB&\x88\xb5\x18\x01\x92\xb5\x18\x1e\x12\x63\n\x07headers\x18\t \x03(\x0b\x32*.livekit.SIPOutboundTrunkInfo.HeadersEntryB&\x88\xb5\x18\x01\x92\xb5\x18\x1e\x12U\n\x15headers_to_attributes\x18\n \x03(\x0b\x32\x36.livekit.SIPOutboundTrunkInfo.HeadersToAttributesEntry\x12U\n\x15\x61ttributes_to_headers\x18\x0b \x03(\x0b\x32\x36.livekit.SIPOutboundTrunkInfo.AttributesToHeadersEntry\x12\x32\n\x0finclude_headers\x18\x0c \x01(\x0e\x32\x19.livekit.SIPHeaderOptions\x12\x35\n\x10media_encryption\x18\r \x01(\x0e\x32\x1b.livekit.SIPMediaEncryption\x1a.\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a:\n\x18HeadersToAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a:\n\x18\x41ttributesToHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xbc\x04\n\x16SIPOutboundTrunkUpdate\x12\x14\n\x07\x61\x64\x64ress\x18\x01 \x01(\tH\x00\x88\x01\x01\x12-\n\ttransport\x18\x02 \x01(\x0e\x32\x15.livekit.SIPTransportH\x01\x88\x01\x01\x12 \n\x13\x64\x65stination_country\x18\t \x01(\tH\x02\x88\x01\x01\x12$\n\x07numbers\x18\x03 \x01(\x0b\x32\x13.livekit.ListUpdate\x12\x42\n\rauth_username\x18\x04 \x01(\tB&\x88\xb5\x18\x01\x92\xb5\x18\x1eH\x03\x88\x01\x01\x12\x42\n\rauth_password\x18\x05 \x01(\tB&\x88\xb5\x18\x01\x92\xb5\x18\x1eH\x04\x88\x01\x01\x12\x11\n\x04name\x18\x06 \x01(\tH\x05\x88\x01\x01\x12=\n\x08metadata\x18\x07 \x01(\tB&\x88\xb5\x18\x01\x92\xb5\x18\x1eH\x06\x88\x01\x01\x12:\n\x10media_encryption\x18\x08 \x01(\x0e\x32\x1b.livekit.SIPMediaEncryptionH\x07\x88\x01\x01\x42\n\n\x08_addressB\x0c\n\n_transportB\x16\n\x14_destination_countryB\x10\n\x0e_auth_usernameB\x10\n\x0e_auth_passwordB\x07\n\x05_nameB\x0b\n\t_metadataB\x13\n\x11_media_encryption\"1\n\x19GetSIPInboundTrunkRequest\x12\x14\n\x0csip_trunk_id\x18\x01 \x01(\t\"I\n\x1aGetSIPInboundTrunkResponse\x12+\n\x05trunk\x18\x01 \x01(\x0b\x32\x1c.livekit.SIPInboundTrunkInfo\"2\n\x1aGetSIPOutboundTrunkRequest\x12\x14\n\x0csip_trunk_id\x18\x01 \x01(\t\"K\n\x1bGetSIPOutboundTrunkResponse\x12,\n\x05trunk\x18\x01 \x01(\x0b\x32\x1d.livekit.SIPOutboundTrunkInfo\"<\n\x13ListSIPTrunkRequest\x12!\n\x04page\x18\x01 \x01(\x0b\x32\x13.livekit.Pagination:\x02\x18\x01\"@\n\x14ListSIPTrunkResponse\x12$\n\x05items\x18\x01 \x03(\x0b\x32\x15.livekit.SIPTrunkInfo:\x02\x18\x01\"c\n\x1aListSIPInboundTrunkRequest\x12!\n\x04page\x18\x03 \x01(\x0b\x32\x13.livekit.Pagination\x12\x11\n\ttrunk_ids\x18\x01 \x03(\t\x12\x0f\n\x07numbers\x18\x02 \x03(\t\"J\n\x1bListSIPInboundTrunkResponse\x12+\n\x05items\x18\x01 \x03(\x0b\x32\x1c.livekit.SIPInboundTrunkInfo\"d\n\x1bListSIPOutboundTrunkRequest\x12!\n\x04page\x18\x03 \x01(\x0b\x32\x13.livekit.Pagination\x12\x11\n\ttrunk_ids\x18\x01 \x03(\t\x12\x0f\n\x07numbers\x18\x02 \x03(\t\"L\n\x1cListSIPOutboundTrunkResponse\x12,\n\x05items\x18\x01 \x03(\x0b\x32\x1d.livekit.SIPOutboundTrunkInfo\"-\n\x15\x44\x65leteSIPTrunkRequest\x12\x14\n\x0csip_trunk_id\x18\x01 \x01(\t\"7\n\x15SIPDispatchRuleDirect\x12\x11\n\troom_name\x18\x01 \x01(\t\x12\x0b\n\x03pin\x18\x02 \x01(\t\"=\n\x19SIPDispatchRuleIndividual\x12\x13\n\x0broom_prefix\x18\x01 \x01(\t\x12\x0b\n\x03pin\x18\x02 \x01(\t\"L\n\x15SIPDispatchRuleCallee\x12\x13\n\x0broom_prefix\x18\x01 \x01(\t\x12\x0b\n\x03pin\x18\x02 \x01(\t\x12\x11\n\trandomize\x18\x03 \x01(\x08\"\xe1\x01\n\x0fSIPDispatchRule\x12>\n\x14\x64ispatch_rule_direct\x18\x01 \x01(\x0b\x32\x1e.livekit.SIPDispatchRuleDirectH\x00\x12\x46\n\x18\x64ispatch_rule_individual\x18\x02 \x01(\x0b\x32\".livekit.SIPDispatchRuleIndividualH\x00\x12>\n\x14\x64ispatch_rule_callee\x18\x03 \x01(\x0b\x32\x1e.livekit.SIPDispatchRuleCalleeH\x00\x42\x06\n\x04rule\"\x96\x04\n\x1c\x43reateSIPDispatchRuleRequest\x12\x33\n\rdispatch_rule\x18\n \x01(\x0b\x32\x1c.livekit.SIPDispatchRuleInfo\x12*\n\x04rule\x18\x01 \x01(\x0b\x32\x18.livekit.SIPDispatchRuleB\x02\x18\x01\x12\x15\n\ttrunk_ids\x18\x02 \x03(\tB\x02\x18\x01\x12\x1d\n\x11hide_phone_number\x18\x03 \x01(\x08\x42\x02\x18\x01\x12\x1b\n\x0finbound_numbers\x18\x06 \x03(\tB\x02\x18\x01\x12\x10\n\x04name\x18\x04 \x01(\tB\x02\x18\x01\x12:\n\x08metadata\x18\x05 \x01(\tB(\x18\x01\x88\xb5\x18\x01\x92\xb5\x18\x1e\x12s\n\nattributes\x18\x07 \x03(\x0b\x32\x35.livekit.CreateSIPDispatchRuleRequest.AttributesEntryB(\x18\x01\x88\xb5\x18\x01\x92\xb5\x18\x1e\x12\x17\n\x0broom_preset\x18\x08 \x01(\tB\x02\x18\x01\x12\x33\n\x0broom_config\x18\t \x01(\x0b\x32\x1a.livekit.RoomConfigurationB\x02\x18\x01\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xa9\x01\n\x1cUpdateSIPDispatchRuleRequest\x12\x1c\n\x14sip_dispatch_rule_id\x18\x01 \x01(\t\x12/\n\x07replace\x18\x02 \x01(\x0b\x32\x1c.livekit.SIPDispatchRuleInfoH\x00\x12\x30\n\x06update\x18\x03 \x01(\x0b\x32\x1e.livekit.SIPDispatchRuleUpdateH\x00\x42\x08\n\x06\x61\x63tion\"\x9b\x04\n\x13SIPDispatchRuleInfo\x12\x1c\n\x14sip_dispatch_rule_id\x18\x01 \x01(\t\x12&\n\x04rule\x18\x02 \x01(\x0b\x32\x18.livekit.SIPDispatchRule\x12\x11\n\ttrunk_ids\x18\x03 \x03(\t\x12\x19\n\x11hide_phone_number\x18\x04 \x01(\x08\x12\x17\n\x0finbound_numbers\x18\x07 \x03(\t\x12\x0c\n\x04name\x18\x05 \x01(\t\x12\x38\n\x08metadata\x18\x06 \x01(\tB&\x88\xb5\x18\x01\x92\xb5\x18\x1e\x12h\n\nattributes\x18\x08 \x03(\x0b\x32,.livekit.SIPDispatchRuleInfo.AttributesEntryB&\x88\xb5\x18\x01\x92\xb5\x18\x1e\x12\x13\n\x0broom_preset\x18\t \x01(\t\x12/\n\x0broom_config\x18\n \x01(\x0b\x32\x1a.livekit.RoomConfiguration\x12\x15\n\rkrisp_enabled\x18\x0b \x01(\x08\x12\x35\n\x10media_encryption\x18\x0c \x01(\x0e\x32\x1b.livekit.SIPMediaEncryption\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xbf\x03\n\x15SIPDispatchRuleUpdate\x12&\n\ttrunk_ids\x18\x01 \x01(\x0b\x32\x13.livekit.ListUpdate\x12&\n\x04rule\x18\x02 \x01(\x0b\x32\x18.livekit.SIPDispatchRule\x12\x11\n\x04name\x18\x03 \x01(\tH\x00\x88\x01\x01\x12=\n\x08metadata\x18\x04 \x01(\tB&\x88\xb5\x18\x01\x92\xb5\x18\x1eH\x01\x88\x01\x01\x12j\n\nattributes\x18\x05 \x03(\x0b\x32..livekit.SIPDispatchRuleUpdate.AttributesEntryB&\x88\xb5\x18\x01\x92\xb5\x18\x1e\x12:\n\x10media_encryption\x18\x06 \x01(\x0e\x32\x1b.livekit.SIPMediaEncryptionH\x02\x88\x01\x01\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x07\n\x05_nameB\x0b\n\t_metadataB\x13\n\x11_media_encryption\"m\n\x1aListSIPDispatchRuleRequest\x12!\n\x04page\x18\x03 \x01(\x0b\x32\x13.livekit.Pagination\x12\x19\n\x11\x64ispatch_rule_ids\x18\x01 \x03(\t\x12\x11\n\ttrunk_ids\x18\x02 \x03(\t\"J\n\x1bListSIPDispatchRuleResponse\x12+\n\x05items\x18\x01 \x03(\x0b\x32\x1c.livekit.SIPDispatchRuleInfo\"<\n\x1c\x44\x65leteSIPDispatchRuleRequest\x12\x1c\n\x14sip_dispatch_rule_id\x18\x01 \x01(\t\"\x8a\x04\n\x11SIPOutboundConfig\x12\x10\n\x08hostname\x18\x01 \x01(\t\x12\x1b\n\x13\x64\x65stination_country\x18\x07 \x01(\t\x12(\n\ttransport\x18\x02 \x01(\x0e\x32\x15.livekit.SIPTransport\x12=\n\rauth_username\x18\x03 \x01(\tB&\x88\xb5\x18\x01\x92\xb5\x18\x1e\x12=\n\rauth_password\x18\x04 \x01(\tB&\x88\xb5\x18\x01\x92\xb5\x18\x1e\x12R\n\x15headers_to_attributes\x18\x05 \x03(\x0b\x32\x33.livekit.SIPOutboundConfig.HeadersToAttributesEntry\x12R\n\x15\x61ttributes_to_headers\x18\x06 \x03(\x0b\x32\x33.livekit.SIPOutboundConfig.AttributesToHeadersEntry\x1a:\n\x18HeadersToAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a:\n\x18\x41ttributesToHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x9c\t\n\x1b\x43reateSIPParticipantRequest\x12\x14\n\x0csip_trunk_id\x18\x01 \x01(\t\x12)\n\x05trunk\x18\x14 \x01(\x0b\x32\x1a.livekit.SIPOutboundConfig\x12\x13\n\x0bsip_call_to\x18\x02 \x01(\t\x12\x12\n\nsip_number\x18\x0f \x01(\t\x12\x11\n\troom_name\x18\x03 \x01(\t\x12\x1c\n\x14participant_identity\x18\x04 \x01(\t\x12@\n\x10participant_name\x18\x07 \x01(\tB&\x88\xb5\x18\x01\x92\xb5\x18\x1e\x12\x44\n\x14participant_metadata\x18\x08 \x01(\tB&\x88\xb5\x18\x01\x92\xb5\x18\x1e\x12\x87\x01\n\x16participant_attributes\x18\t \x03(\x0b\x32?.livekit.CreateSIPParticipantRequest.ParticipantAttributesEntryB&\x88\xb5\x18\x01\x92\xb5\x18\x1e\x12\x0c\n\x04\x64tmf\x18\x05 \x01(\t\x12\x19\n\rplay_ringtone\x18\x06 \x01(\x08\x42\x02\x18\x01\x12\x15\n\rplay_dialtone\x18\r \x01(\x08\x12\x19\n\x11hide_phone_number\x18\n \x01(\x08\x12j\n\x07headers\x18\x10 \x03(\x0b\x32\x31.livekit.CreateSIPParticipantRequest.HeadersEntryB&\x88\xb5\x18\x01\x92\xb5\x18\x1e\x12\x32\n\x0finclude_headers\x18\x11 \x01(\x0e\x32\x19.livekit.SIPHeaderOptions\x12\x32\n\x0fringing_timeout\x18\x0b \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x34\n\x11max_call_duration\x18\x0c \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x15\n\rkrisp_enabled\x18\x0e \x01(\x08\x12\x35\n\x10media_encryption\x18\x12 \x01(\x0e\x32\x1b.livekit.SIPMediaEncryption\x12\x1b\n\x13wait_until_answered\x18\x13 \x01(\x08\x12\x41\n\x0c\x64isplay_name\x18\x15 \x01(\tB&\x88\xb5\x18\x01\x92\xb5\x18\x1eH\x00\x88\x01\x01\x12.\n\x0b\x64\x65stination\x18\x16 \x01(\x0b\x32\x14.livekit.DestinationH\x01\x88\x01\x01\x1a<\n\x1aParticipantAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a.\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x0f\n\r_display_nameB\x0e\n\x0c_destination\"r\n\x12SIPParticipantInfo\x12\x16\n\x0eparticipant_id\x18\x01 \x01(\t\x12\x1c\n\x14participant_identity\x18\x02 \x01(\t\x12\x11\n\troom_name\x18\x03 \x01(\t\x12\x13\n\x0bsip_call_id\x18\x04 \x01(\t\"\xce\x02\n\x1dTransferSIPParticipantRequest\x12\x1c\n\x14participant_identity\x18\x01 \x01(\t\x12\x11\n\troom_name\x18\x02 \x01(\t\x12\x13\n\x0btransfer_to\x18\x03 \x01(\t\x12\x15\n\rplay_dialtone\x18\x04 \x01(\x08\x12l\n\x07headers\x18\x05 \x03(\x0b\x32\x33.livekit.TransferSIPParticipantRequest.HeadersEntryB&\x88\xb5\x18\x01\x92\xb5\x18\x1e\x12\x32\n\x0fringing_timeout\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x1a.\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xc3\x07\n\x0bSIPCallInfo\x12\x0f\n\x07\x63\x61ll_id\x18\x01 \x01(\t\x12\x10\n\x08trunk_id\x18\x02 \x01(\t\x12\x18\n\x10\x64ispatch_rule_id\x18\x10 \x01(\t\x12\x0e\n\x06region\x18\x11 \x01(\t\x12\x11\n\troom_name\x18\x03 \x01(\t\x12\x0f\n\x07room_id\x18\x04 \x01(\t\x12\x1c\n\x14participant_identity\x18\x05 \x01(\t\x12w\n\x16participant_attributes\x18\x12 \x03(\x0b\x32/.livekit.SIPCallInfo.ParticipantAttributesEntryB&\x88\xb5\x18\x01\x92\xb5\x18\x1e\x12!\n\x08\x66rom_uri\x18\x06 \x01(\x0b\x32\x0f.livekit.SIPUri\x12\x1f\n\x06to_uri\x18\x07 \x01(\x0b\x32\x0f.livekit.SIPUri\x12\x16\n\ncreated_at\x18\t \x01(\x03\x42\x02\x18\x01\x12\x16\n\nstarted_at\x18\n \x01(\x03\x42\x02\x18\x01\x12\x14\n\x08\x65nded_at\x18\x0b \x01(\x03\x42\x02\x18\x01\x12-\n\x10\x65nabled_features\x18\x0e \x03(\x0e\x32\x13.livekit.SIPFeature\x12\x31\n\x0e\x63\x61ll_direction\x18\x0f \x01(\x0e\x32\x19.livekit.SIPCallDirection\x12+\n\x0b\x63\x61ll_status\x18\x08 \x01(\x0e\x32\x16.livekit.SIPCallStatus\x12\x15\n\rcreated_at_ns\x18\x16 \x01(\x03\x12\x15\n\rstarted_at_ns\x18\x17 \x01(\x03\x12\x13\n\x0b\x65nded_at_ns\x18\x18 \x01(\x03\x12\x34\n\x11\x64isconnect_reason\x18\x0c \x01(\x0e\x32\x19.livekit.DisconnectReason\x12\r\n\x05\x65rror\x18\r \x01(\t\x12,\n\x10\x63\x61ll_status_code\x18\x13 \x01(\x0b\x32\x12.livekit.SIPStatus\x12\x13\n\x0b\x61udio_codec\x18\x14 \x01(\t\x12\x18\n\x10media_encryption\x18\x15 \x01(\t\x12\x16\n\x0epcap_file_link\x18\x19 \x01(\t\x12*\n\x0c\x63\x61ll_context\x18\x1a \x03(\x0b\x32\x14.google.protobuf.Any\x12,\n\rprovider_info\x18\x1b \x01(\x0b\x32\x15.livekit.ProviderInfo\x1a<\n\x1aParticipantAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x86\x02\n\x0fSIPTransferInfo\x12\x13\n\x0btransfer_id\x18\x01 \x01(\t\x12\x0f\n\x07\x63\x61ll_id\x18\x02 \x01(\t\x12\x13\n\x0btransfer_to\x18\x03 \x01(\t\x12 \n\x18transfer_initiated_at_ns\x18\x04 \x01(\x03\x12 \n\x18transfer_completed_at_ns\x18\x05 \x01(\x03\x12\x33\n\x0ftransfer_status\x18\x06 \x01(\x0e\x32\x1a.livekit.SIPTransferStatus\x12\r\n\x05\x65rror\x18\x07 \x01(\t\x12\x30\n\x14transfer_status_code\x18\x08 \x01(\x0b\x32\x12.livekit.SIPStatus\"h\n\x06SIPUri\x12\x0c\n\x04user\x18\x01 \x01(\t\x12\x0c\n\x04host\x18\x02 \x01(\t\x12\n\n\x02ip\x18\x03 \x01(\t\x12\x0c\n\x04port\x18\x04 \x01(\r\x12(\n\ttransport\x18\x05 \x01(\x0e\x32\x15.livekit.SIPTransport\"<\n\x0b\x44\x65stination\x12\x0c\n\x04\x63ity\x18\x01 \x01(\t\x12\x0f\n\x07\x63ountry\x18\x02 \x01(\t\x12\x0e\n\x06region\x18\x03 \x01(\t*\xde\x14\n\rSIPStatusCode\x12\x16\n\x12SIP_STATUS_UNKNOWN\x10\x00\x12\x15\n\x11SIP_STATUS_TRYING\x10\x64\x12\x17\n\x12SIP_STATUS_RINGING\x10\xb4\x01\x12!\n\x1cSIP_STATUS_CALL_IS_FORWARDED\x10\xb5\x01\x12\x16\n\x11SIP_STATUS_QUEUED\x10\xb6\x01\x12 \n\x1bSIP_STATUS_SESSION_PROGRESS\x10\xb7\x01\x12\'\n\"SIP_STATUS_EARLY_DIALOG_TERMINATED\x10\xc7\x01\x12\x12\n\rSIP_STATUS_OK\x10\xc8\x01\x12\x18\n\x13SIP_STATUS_ACCEPTED\x10\xca\x01\x12\x1f\n\x1aSIP_STATUS_NO_NOTIFICATION\x10\xcc\x01\x12 \n\x1bSIP_STATUS_MULTIPLE_CHOICES\x10\xac\x02\x12!\n\x1cSIP_STATUS_MOVED_PERMANENTLY\x10\xad\x02\x12!\n\x1cSIP_STATUS_MOVED_TEMPORARILY\x10\xae\x02\x12\x19\n\x14SIP_STATUS_USE_PROXY\x10\xb1\x02\x12#\n\x1eSIP_STATUS_ALTERNATIVE_SERVICE\x10\xfc\x02\x12\x1b\n\x16SIP_STATUS_BAD_REQUEST\x10\x90\x03\x12\x1c\n\x17SIP_STATUS_UNAUTHORIZED\x10\x91\x03\x12 \n\x1bSIP_STATUS_PAYMENT_REQUIRED\x10\x92\x03\x12\x19\n\x14SIP_STATUS_FORBIDDEN\x10\x93\x03\x12\x18\n\x13SIP_STATUS_NOTFOUND\x10\x94\x03\x12\"\n\x1dSIP_STATUS_METHOD_NOT_ALLOWED\x10\x95\x03\x12\x1e\n\x19SIP_STATUS_NOT_ACCEPTABLE\x10\x96\x03\x12#\n\x1eSIP_STATUS_PROXY_AUTH_REQUIRED\x10\x97\x03\x12\x1f\n\x1aSIP_STATUS_REQUEST_TIMEOUT\x10\x98\x03\x12\x18\n\x13SIP_STATUS_CONFLICT\x10\x99\x03\x12\x14\n\x0fSIP_STATUS_GONE\x10\x9a\x03\x12\x1f\n\x1aSIP_STATUS_LENGTH_REQUIRED\x10\x9b\x03\x12*\n%SIP_STATUS_CONDITIONAL_REQUEST_FAILED\x10\x9c\x03\x12(\n#SIP_STATUS_REQUEST_ENTITY_TOO_LARGE\x10\x9d\x03\x12$\n\x1fSIP_STATUS_REQUEST_URI_TOO_LONG\x10\x9e\x03\x12&\n!SIP_STATUS_UNSUPPORTED_MEDIA_TYPE\x10\x9f\x03\x12/\n*SIP_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE\x10\xa0\x03\x12)\n$SIP_STATUS_UNKNOWN_RESOURCE_PRIORITY\x10\xa1\x03\x12\x1d\n\x18SIP_STATUS_BAD_EXTENSION\x10\xa4\x03\x12\"\n\x1dSIP_STATUS_EXTENSION_REQUIRED\x10\xa5\x03\x12*\n%SIP_STATUS_SESSION_INTERVAL_TOO_SMALL\x10\xa6\x03\x12\"\n\x1dSIP_STATUS_INTERVAL_TOO_BRIEF\x10\xa7\x03\x12(\n#SIP_STATUS_BAD_LOCATION_INFORMATION\x10\xa8\x03\x12!\n\x1cSIP_STATUS_BAD_ALERT_MESSAGE\x10\xa9\x03\x12#\n\x1eSIP_STATUS_USE_IDENTITY_HEADER\x10\xac\x03\x12)\n$SIP_STATUS_PROVIDE_REFERRER_IDENTITY\x10\xad\x03\x12\x1b\n\x16SIP_STATUS_FLOW_FAILED\x10\xae\x03\x12$\n\x1fSIP_STATUS_ANONYMITY_DISALLOWED\x10\xb1\x03\x12!\n\x1cSIP_STATUS_BAD_IDENTITY_INFO\x10\xb4\x03\x12\'\n\"SIP_STATUS_UNSUPPORTED_CERTIFICATE\x10\xb5\x03\x12\'\n\"SIP_STATUS_INVALID_IDENTITY_HEADER\x10\xb6\x03\x12\x30\n+SIP_STATUS_FIRST_HOP_LACKS_OUTBOUND_SUPPORT\x10\xb7\x03\x12$\n\x1fSIP_STATUS_MAX_BREADTH_EXCEEDED\x10\xb8\x03\x12 \n\x1bSIP_STATUS_BAD_INFO_PACKAGE\x10\xd5\x03\x12\x1e\n\x19SIP_STATUS_CONSENT_NEEDED\x10\xd6\x03\x12\'\n\"SIP_STATUS_TEMPORARILY_UNAVAILABLE\x10\xe0\x03\x12\x30\n+SIP_STATUS_CALL_TRANSACTION_DOES_NOT_EXISTS\x10\xe1\x03\x12\x1d\n\x18SIP_STATUS_LOOP_DETECTED\x10\xe2\x03\x12\x1d\n\x18SIP_STATUS_TOO_MANY_HOPS\x10\xe3\x03\x12\"\n\x1dSIP_STATUS_ADDRESS_INCOMPLETE\x10\xe4\x03\x12\x19\n\x14SIP_STATUS_AMBIGUOUS\x10\xe5\x03\x12\x19\n\x14SIP_STATUS_BUSY_HERE\x10\xe6\x03\x12\"\n\x1dSIP_STATUS_REQUEST_TERMINATED\x10\xe7\x03\x12#\n\x1eSIP_STATUS_NOT_ACCEPTABLE_HERE\x10\xe8\x03\x12\x19\n\x14SIP_STATUS_BAD_EVENT\x10\xe9\x03\x12\x1f\n\x1aSIP_STATUS_REQUEST_PENDING\x10\xeb\x03\x12\x1e\n\x19SIP_STATUS_UNDECIPHERABLE\x10\xed\x03\x12+\n&SIP_STATUS_SECURITY_AGREEMENT_REQUIRED\x10\xee\x03\x12%\n SIP_STATUS_INTERNAL_SERVER_ERROR\x10\xf4\x03\x12\x1f\n\x1aSIP_STATUS_NOT_IMPLEMENTED\x10\xf5\x03\x12\x1b\n\x16SIP_STATUS_BAD_GATEWAY\x10\xf6\x03\x12#\n\x1eSIP_STATUS_SERVICE_UNAVAILABLE\x10\xf7\x03\x12\x1f\n\x1aSIP_STATUS_GATEWAY_TIMEOUT\x10\xf8\x03\x12%\n SIP_STATUS_VERSION_NOT_SUPPORTED\x10\xf9\x03\x12!\n\x1cSIP_STATUS_MESSAGE_TOO_LARGE\x10\x81\x04\x12&\n!SIP_STATUS_GLOBAL_BUSY_EVERYWHERE\x10\xd8\x04\x12\x1e\n\x19SIP_STATUS_GLOBAL_DECLINE\x10\xdb\x04\x12.\n)SIP_STATUS_GLOBAL_DOES_NOT_EXIST_ANYWHERE\x10\xdc\x04\x12%\n SIP_STATUS_GLOBAL_NOT_ACCEPTABLE\x10\xde\x04\x12\x1f\n\x1aSIP_STATUS_GLOBAL_UNWANTED\x10\xdf\x04\x12\x1f\n\x1aSIP_STATUS_GLOBAL_REJECTED\x10\xe0\x04*k\n\x0cSIPTransport\x12\x16\n\x12SIP_TRANSPORT_AUTO\x10\x00\x12\x15\n\x11SIP_TRANSPORT_UDP\x10\x01\x12\x15\n\x11SIP_TRANSPORT_TCP\x10\x02\x12\x15\n\x11SIP_TRANSPORT_TLS\x10\x03*N\n\x10SIPHeaderOptions\x12\x12\n\x0eSIP_NO_HEADERS\x10\x00\x12\x11\n\rSIP_X_HEADERS\x10\x01\x12\x13\n\x0fSIP_ALL_HEADERS\x10\x02*o\n\x12SIPMediaEncryption\x12\x1d\n\x19SIP_MEDIA_ENCRYPT_DISABLE\x10\x00\x12\x1b\n\x17SIP_MEDIA_ENCRYPT_ALLOW\x10\x01\x12\x1d\n\x19SIP_MEDIA_ENCRYPT_REQUIRE\x10\x02*a\n\x0cProviderType\x12\x19\n\x15PROVIDER_TYPE_UNKNOWN\x10\x00\x12\x1a\n\x16PROVIDER_TYPE_INTERNAL\x10\x01\x12\x1a\n\x16PROVIDER_TYPE_EXTERNAL\x10\x02*w\n\rSIPCallStatus\x12\x15\n\x11SCS_CALL_INCOMING\x10\x00\x12\x1a\n\x16SCS_PARTICIPANT_JOINED\x10\x01\x12\x0e\n\nSCS_ACTIVE\x10\x02\x12\x14\n\x10SCS_DISCONNECTED\x10\x03\x12\r\n\tSCS_ERROR\x10\x04*c\n\x11SIPTransferStatus\x12\x18\n\x14STS_TRANSFER_ONGOING\x10\x00\x12\x17\n\x13STS_TRANSFER_FAILED\x10\x01\x12\x1b\n\x17STS_TRANSFER_SUCCESSFUL\x10\x02*)\n\nSIPFeature\x12\x08\n\x04NONE\x10\x00\x12\x11\n\rKRISP_ENABLED\x10\x01*F\n\x10SIPCallDirection\x12\x0f\n\x0bSCD_UNKNOWN\x10\x00\x12\x0f\n\x0bSCD_INBOUND\x10\x01\x12\x10\n\x0cSCD_OUTBOUND\x10\x02\x32\xd7\x0b\n\x03SIP\x12P\n\x0cListSIPTrunk\x12\x1c.livekit.ListSIPTrunkRequest\x1a\x1d.livekit.ListSIPTrunkResponse\"\x03\x88\x02\x01\x12\\\n\x15\x43reateSIPInboundTrunk\x12%.livekit.CreateSIPInboundTrunkRequest\x1a\x1c.livekit.SIPInboundTrunkInfo\x12_\n\x16\x43reateSIPOutboundTrunk\x12&.livekit.CreateSIPOutboundTrunkRequest\x1a\x1d.livekit.SIPOutboundTrunkInfo\x12\\\n\x15UpdateSIPInboundTrunk\x12%.livekit.UpdateSIPInboundTrunkRequest\x1a\x1c.livekit.SIPInboundTrunkInfo\x12_\n\x16UpdateSIPOutboundTrunk\x12&.livekit.UpdateSIPOutboundTrunkRequest\x1a\x1d.livekit.SIPOutboundTrunkInfo\x12]\n\x12GetSIPInboundTrunk\x12\".livekit.GetSIPInboundTrunkRequest\x1a#.livekit.GetSIPInboundTrunkResponse\x12`\n\x13GetSIPOutboundTrunk\x12#.livekit.GetSIPOutboundTrunkRequest\x1a$.livekit.GetSIPOutboundTrunkResponse\x12`\n\x13ListSIPInboundTrunk\x12#.livekit.ListSIPInboundTrunkRequest\x1a$.livekit.ListSIPInboundTrunkResponse\x12\x63\n\x14ListSIPOutboundTrunk\x12$.livekit.ListSIPOutboundTrunkRequest\x1a%.livekit.ListSIPOutboundTrunkResponse\x12G\n\x0e\x44\x65leteSIPTrunk\x12\x1e.livekit.DeleteSIPTrunkRequest\x1a\x15.livekit.SIPTrunkInfo\x12\\\n\x15\x43reateSIPDispatchRule\x12%.livekit.CreateSIPDispatchRuleRequest\x1a\x1c.livekit.SIPDispatchRuleInfo\x12\\\n\x15UpdateSIPDispatchRule\x12%.livekit.UpdateSIPDispatchRuleRequest\x1a\x1c.livekit.SIPDispatchRuleInfo\x12`\n\x13ListSIPDispatchRule\x12#.livekit.ListSIPDispatchRuleRequest\x1a$.livekit.ListSIPDispatchRuleResponse\x12\\\n\x15\x44\x65leteSIPDispatchRule\x12%.livekit.DeleteSIPDispatchRuleRequest\x1a\x1c.livekit.SIPDispatchRuleInfo\x12Y\n\x14\x43reateSIPParticipant\x12$.livekit.CreateSIPParticipantRequest\x1a\x1b.livekit.SIPParticipantInfo\x12X\n\x16TransferSIPParticipant\x12&.livekit.TransferSIPParticipantRequest\x1a\x16.google.protobuf.EmptyBFZ#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x11livekit_sip.proto\x12\x07livekit\x1a\x19google/protobuf/any.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x14livekit_models.proto\x1a\x12livekit_room.proto\x1a\x14logger/options.proto\"A\n\tSIPStatus\x12$\n\x04\x63ode\x18\x01 \x01(\x0e\x32\x16.livekit.SIPStatusCode\x12\x0e\n\x06status\x18\x02 \x01(\t\"\xf7\x03\n\x15\x43reateSIPTrunkRequest\x12\x19\n\x11inbound_addresses\x18\x01 \x03(\t\x12\x18\n\x10outbound_address\x18\x02 \x01(\t\x12\x17\n\x0foutbound_number\x18\x03 \x01(\t\x12!\n\x15inbound_numbers_regex\x18\x04 \x03(\tB\x02\x18\x01\x12\x17\n\x0finbound_numbers\x18\t \x03(\t\x12@\n\x10inbound_username\x18\x05 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e\x12@\n\x10inbound_password\x18\x06 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e\x12\x41\n\x11outbound_username\x18\x07 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e\x12\x41\n\x11outbound_password\x18\x08 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e\x12\x0c\n\x04name\x18\n \x01(\t\x12\x38\n\x08metadata\x18\x0b \x01(\tB&\x88\xec,\x01\x92\xec,\x1e:\x02\x18\x01\"g\n\x0cProviderInfo\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12#\n\x04type\x18\x03 \x01(\x0e\x32\x15.livekit.ProviderType\x12\x18\n\x10prevent_transfer\x18\x04 \x01(\x08\"\xa3\x05\n\x0cSIPTrunkInfo\x12\x14\n\x0csip_trunk_id\x18\x01 \x01(\t\x12-\n\x04kind\x18\x0e \x01(\x0e\x32\x1f.livekit.SIPTrunkInfo.TrunkKind\x12\x19\n\x11inbound_addresses\x18\x02 \x03(\t\x12\x18\n\x10outbound_address\x18\x03 \x01(\t\x12\x17\n\x0foutbound_number\x18\x04 \x01(\t\x12(\n\ttransport\x18\r \x01(\x0e\x32\x15.livekit.SIPTransport\x12!\n\x15inbound_numbers_regex\x18\x05 \x03(\tB\x02\x18\x01\x12\x17\n\x0finbound_numbers\x18\n \x03(\t\x12@\n\x10inbound_username\x18\x06 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e\x12@\n\x10inbound_password\x18\x07 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e\x12\x41\n\x11outbound_username\x18\x08 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e\x12\x41\n\x11outbound_password\x18\t \x01(\tB&\x88\xec,\x01\x92\xec,\x1e\x12\x0c\n\x04name\x18\x0b \x01(\t\x12\x38\n\x08metadata\x18\x0c \x01(\tB&\x88\xec,\x01\x92\xec,\x1e\"D\n\tTrunkKind\x12\x10\n\x0cTRUNK_LEGACY\x10\x00\x12\x11\n\rTRUNK_INBOUND\x10\x01\x12\x12\n\x0eTRUNK_OUTBOUND\x10\x02:\x02\x18\x01\"K\n\x1c\x43reateSIPInboundTrunkRequest\x12+\n\x05trunk\x18\x01 \x01(\x0b\x32\x1c.livekit.SIPInboundTrunkInfo\"\xa1\x01\n\x1cUpdateSIPInboundTrunkRequest\x12\x14\n\x0csip_trunk_id\x18\x01 \x01(\t\x12/\n\x07replace\x18\x02 \x01(\x0b\x32\x1c.livekit.SIPInboundTrunkInfoH\x00\x12\x30\n\x06update\x18\x03 \x01(\x0b\x32\x1e.livekit.SIPInboundTrunkUpdateH\x00\x42\x08\n\x06\x61\x63tion\"\xda\x07\n\x13SIPInboundTrunkInfo\x12\x14\n\x0csip_trunk_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x38\n\x08metadata\x18\x03 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e\x12\x0f\n\x07numbers\x18\x04 \x03(\t\x12\x19\n\x11\x61llowed_addresses\x18\x05 \x03(\t\x12\x17\n\x0f\x61llowed_numbers\x18\x06 \x03(\t\x12=\n\rauth_username\x18\x07 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e\x12=\n\rauth_password\x18\x08 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e\x12\x62\n\x07headers\x18\t \x03(\x0b\x32).livekit.SIPInboundTrunkInfo.HeadersEntryB&\x88\xec,\x01\x92\xec,\x1e\x12T\n\x15headers_to_attributes\x18\n \x03(\x0b\x32\x35.livekit.SIPInboundTrunkInfo.HeadersToAttributesEntry\x12T\n\x15\x61ttributes_to_headers\x18\x0e \x03(\x0b\x32\x35.livekit.SIPInboundTrunkInfo.AttributesToHeadersEntry\x12\x32\n\x0finclude_headers\x18\x0f \x01(\x0e\x32\x19.livekit.SIPHeaderOptions\x12\x32\n\x0fringing_timeout\x18\x0b \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x34\n\x11max_call_duration\x18\x0c \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x15\n\rkrisp_enabled\x18\r \x01(\x08\x12\x35\n\x10media_encryption\x18\x10 \x01(\x0e\x32\x1b.livekit.SIPMediaEncryption\x1a.\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a:\n\x18HeadersToAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a:\n\x18\x41ttributesToHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x80\x04\n\x15SIPInboundTrunkUpdate\x12$\n\x07numbers\x18\x01 \x01(\x0b\x32\x13.livekit.ListUpdate\x12.\n\x11\x61llowed_addresses\x18\x02 \x01(\x0b\x32\x13.livekit.ListUpdate\x12,\n\x0f\x61llowed_numbers\x18\x03 \x01(\x0b\x32\x13.livekit.ListUpdate\x12\x42\n\rauth_username\x18\x04 \x01(\tB&\x88\xec,\x01\x92\xec,\x1eH\x00\x88\x01\x01\x12\x42\n\rauth_password\x18\x05 \x01(\tB&\x88\xec,\x01\x92\xec,\x1eH\x01\x88\x01\x01\x12\x11\n\x04name\x18\x06 \x01(\tH\x02\x88\x01\x01\x12=\n\x08metadata\x18\x07 \x01(\tB&\x88\xec,\x01\x92\xec,\x1eH\x03\x88\x01\x01\x12:\n\x10media_encryption\x18\x08 \x01(\x0e\x32\x1b.livekit.SIPMediaEncryptionH\x04\x88\x01\x01\x42\x10\n\x0e_auth_usernameB\x10\n\x0e_auth_passwordB\x07\n\x05_nameB\x0b\n\t_metadataB\x13\n\x11_media_encryption\"M\n\x1d\x43reateSIPOutboundTrunkRequest\x12,\n\x05trunk\x18\x01 \x01(\x0b\x32\x1d.livekit.SIPOutboundTrunkInfo\"\xa4\x01\n\x1dUpdateSIPOutboundTrunkRequest\x12\x14\n\x0csip_trunk_id\x18\x01 \x01(\t\x12\x30\n\x07replace\x18\x02 \x01(\x0b\x32\x1d.livekit.SIPOutboundTrunkInfoH\x00\x12\x31\n\x06update\x18\x03 \x01(\x0b\x32\x1f.livekit.SIPOutboundTrunkUpdateH\x00\x42\x08\n\x06\x61\x63tion\"\x81\x07\n\x14SIPOutboundTrunkInfo\x12\x14\n\x0csip_trunk_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x38\n\x08metadata\x18\x03 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e\x12\x0f\n\x07\x61\x64\x64ress\x18\x04 \x01(\t\x12\x1b\n\x13\x64\x65stination_country\x18\x0e \x01(\t\x12(\n\ttransport\x18\x05 \x01(\x0e\x32\x15.livekit.SIPTransport\x12\x0f\n\x07numbers\x18\x06 \x03(\t\x12=\n\rauth_username\x18\x07 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e\x12=\n\rauth_password\x18\x08 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e\x12\x63\n\x07headers\x18\t \x03(\x0b\x32*.livekit.SIPOutboundTrunkInfo.HeadersEntryB&\x88\xec,\x01\x92\xec,\x1e\x12U\n\x15headers_to_attributes\x18\n \x03(\x0b\x32\x36.livekit.SIPOutboundTrunkInfo.HeadersToAttributesEntry\x12U\n\x15\x61ttributes_to_headers\x18\x0b \x03(\x0b\x32\x36.livekit.SIPOutboundTrunkInfo.AttributesToHeadersEntry\x12\x32\n\x0finclude_headers\x18\x0c \x01(\x0e\x32\x19.livekit.SIPHeaderOptions\x12\x35\n\x10media_encryption\x18\r \x01(\x0e\x32\x1b.livekit.SIPMediaEncryption\x1a.\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a:\n\x18HeadersToAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a:\n\x18\x41ttributesToHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xbc\x04\n\x16SIPOutboundTrunkUpdate\x12\x14\n\x07\x61\x64\x64ress\x18\x01 \x01(\tH\x00\x88\x01\x01\x12-\n\ttransport\x18\x02 \x01(\x0e\x32\x15.livekit.SIPTransportH\x01\x88\x01\x01\x12 \n\x13\x64\x65stination_country\x18\t \x01(\tH\x02\x88\x01\x01\x12$\n\x07numbers\x18\x03 \x01(\x0b\x32\x13.livekit.ListUpdate\x12\x42\n\rauth_username\x18\x04 \x01(\tB&\x88\xec,\x01\x92\xec,\x1eH\x03\x88\x01\x01\x12\x42\n\rauth_password\x18\x05 \x01(\tB&\x88\xec,\x01\x92\xec,\x1eH\x04\x88\x01\x01\x12\x11\n\x04name\x18\x06 \x01(\tH\x05\x88\x01\x01\x12=\n\x08metadata\x18\x07 \x01(\tB&\x88\xec,\x01\x92\xec,\x1eH\x06\x88\x01\x01\x12:\n\x10media_encryption\x18\x08 \x01(\x0e\x32\x1b.livekit.SIPMediaEncryptionH\x07\x88\x01\x01\x42\n\n\x08_addressB\x0c\n\n_transportB\x16\n\x14_destination_countryB\x10\n\x0e_auth_usernameB\x10\n\x0e_auth_passwordB\x07\n\x05_nameB\x0b\n\t_metadataB\x13\n\x11_media_encryption\"1\n\x19GetSIPInboundTrunkRequest\x12\x14\n\x0csip_trunk_id\x18\x01 \x01(\t\"I\n\x1aGetSIPInboundTrunkResponse\x12+\n\x05trunk\x18\x01 \x01(\x0b\x32\x1c.livekit.SIPInboundTrunkInfo\"2\n\x1aGetSIPOutboundTrunkRequest\x12\x14\n\x0csip_trunk_id\x18\x01 \x01(\t\"K\n\x1bGetSIPOutboundTrunkResponse\x12,\n\x05trunk\x18\x01 \x01(\x0b\x32\x1d.livekit.SIPOutboundTrunkInfo\"<\n\x13ListSIPTrunkRequest\x12!\n\x04page\x18\x01 \x01(\x0b\x32\x13.livekit.Pagination:\x02\x18\x01\"@\n\x14ListSIPTrunkResponse\x12$\n\x05items\x18\x01 \x03(\x0b\x32\x15.livekit.SIPTrunkInfo:\x02\x18\x01\"c\n\x1aListSIPInboundTrunkRequest\x12!\n\x04page\x18\x03 \x01(\x0b\x32\x13.livekit.Pagination\x12\x11\n\ttrunk_ids\x18\x01 \x03(\t\x12\x0f\n\x07numbers\x18\x02 \x03(\t\"J\n\x1bListSIPInboundTrunkResponse\x12+\n\x05items\x18\x01 \x03(\x0b\x32\x1c.livekit.SIPInboundTrunkInfo\"d\n\x1bListSIPOutboundTrunkRequest\x12!\n\x04page\x18\x03 \x01(\x0b\x32\x13.livekit.Pagination\x12\x11\n\ttrunk_ids\x18\x01 \x03(\t\x12\x0f\n\x07numbers\x18\x02 \x03(\t\"L\n\x1cListSIPOutboundTrunkResponse\x12,\n\x05items\x18\x01 \x03(\x0b\x32\x1d.livekit.SIPOutboundTrunkInfo\"-\n\x15\x44\x65leteSIPTrunkRequest\x12\x14\n\x0csip_trunk_id\x18\x01 \x01(\t\"7\n\x15SIPDispatchRuleDirect\x12\x11\n\troom_name\x18\x01 \x01(\t\x12\x0b\n\x03pin\x18\x02 \x01(\t\"=\n\x19SIPDispatchRuleIndividual\x12\x13\n\x0broom_prefix\x18\x01 \x01(\t\x12\x0b\n\x03pin\x18\x02 \x01(\t\"L\n\x15SIPDispatchRuleCallee\x12\x13\n\x0broom_prefix\x18\x01 \x01(\t\x12\x0b\n\x03pin\x18\x02 \x01(\t\x12\x11\n\trandomize\x18\x03 \x01(\x08\"\xe1\x01\n\x0fSIPDispatchRule\x12>\n\x14\x64ispatch_rule_direct\x18\x01 \x01(\x0b\x32\x1e.livekit.SIPDispatchRuleDirectH\x00\x12\x46\n\x18\x64ispatch_rule_individual\x18\x02 \x01(\x0b\x32\".livekit.SIPDispatchRuleIndividualH\x00\x12>\n\x14\x64ispatch_rule_callee\x18\x03 \x01(\x0b\x32\x1e.livekit.SIPDispatchRuleCalleeH\x00\x42\x06\n\x04rule\"\x96\x04\n\x1c\x43reateSIPDispatchRuleRequest\x12\x33\n\rdispatch_rule\x18\n \x01(\x0b\x32\x1c.livekit.SIPDispatchRuleInfo\x12*\n\x04rule\x18\x01 \x01(\x0b\x32\x18.livekit.SIPDispatchRuleB\x02\x18\x01\x12\x15\n\ttrunk_ids\x18\x02 \x03(\tB\x02\x18\x01\x12\x1d\n\x11hide_phone_number\x18\x03 \x01(\x08\x42\x02\x18\x01\x12\x1b\n\x0finbound_numbers\x18\x06 \x03(\tB\x02\x18\x01\x12\x10\n\x04name\x18\x04 \x01(\tB\x02\x18\x01\x12:\n\x08metadata\x18\x05 \x01(\tB(\x18\x01\x88\xec,\x01\x92\xec,\x1e\x12s\n\nattributes\x18\x07 \x03(\x0b\x32\x35.livekit.CreateSIPDispatchRuleRequest.AttributesEntryB(\x18\x01\x88\xec,\x01\x92\xec,\x1e\x12\x17\n\x0broom_preset\x18\x08 \x01(\tB\x02\x18\x01\x12\x33\n\x0broom_config\x18\t \x01(\x0b\x32\x1a.livekit.RoomConfigurationB\x02\x18\x01\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xa9\x01\n\x1cUpdateSIPDispatchRuleRequest\x12\x1c\n\x14sip_dispatch_rule_id\x18\x01 \x01(\t\x12/\n\x07replace\x18\x02 \x01(\x0b\x32\x1c.livekit.SIPDispatchRuleInfoH\x00\x12\x30\n\x06update\x18\x03 \x01(\x0b\x32\x1e.livekit.SIPDispatchRuleUpdateH\x00\x42\x08\n\x06\x61\x63tion\"\xac\x04\n\x13SIPDispatchRuleInfo\x12\x1c\n\x14sip_dispatch_rule_id\x18\x01 \x01(\t\x12&\n\x04rule\x18\x02 \x01(\x0b\x32\x18.livekit.SIPDispatchRule\x12\x11\n\ttrunk_ids\x18\x03 \x03(\t\x12\x19\n\x11hide_phone_number\x18\x04 \x01(\x08\x12\x17\n\x0finbound_numbers\x18\x07 \x03(\t\x12\x0f\n\x07numbers\x18\r \x03(\t\x12\x0c\n\x04name\x18\x05 \x01(\t\x12\x38\n\x08metadata\x18\x06 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e\x12h\n\nattributes\x18\x08 \x03(\x0b\x32,.livekit.SIPDispatchRuleInfo.AttributesEntryB&\x88\xec,\x01\x92\xec,\x1e\x12\x13\n\x0broom_preset\x18\t \x01(\t\x12/\n\x0broom_config\x18\n \x01(\x0b\x32\x1a.livekit.RoomConfiguration\x12\x15\n\rkrisp_enabled\x18\x0b \x01(\x08\x12\x35\n\x10media_encryption\x18\x0c \x01(\x0e\x32\x1b.livekit.SIPMediaEncryption\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xbf\x03\n\x15SIPDispatchRuleUpdate\x12&\n\ttrunk_ids\x18\x01 \x01(\x0b\x32\x13.livekit.ListUpdate\x12&\n\x04rule\x18\x02 \x01(\x0b\x32\x18.livekit.SIPDispatchRule\x12\x11\n\x04name\x18\x03 \x01(\tH\x00\x88\x01\x01\x12=\n\x08metadata\x18\x04 \x01(\tB&\x88\xec,\x01\x92\xec,\x1eH\x01\x88\x01\x01\x12j\n\nattributes\x18\x05 \x03(\x0b\x32..livekit.SIPDispatchRuleUpdate.AttributesEntryB&\x88\xec,\x01\x92\xec,\x1e\x12:\n\x10media_encryption\x18\x06 \x01(\x0e\x32\x1b.livekit.SIPMediaEncryptionH\x02\x88\x01\x01\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x07\n\x05_nameB\x0b\n\t_metadataB\x13\n\x11_media_encryption\"m\n\x1aListSIPDispatchRuleRequest\x12!\n\x04page\x18\x03 \x01(\x0b\x32\x13.livekit.Pagination\x12\x19\n\x11\x64ispatch_rule_ids\x18\x01 \x03(\t\x12\x11\n\ttrunk_ids\x18\x02 \x03(\t\"J\n\x1bListSIPDispatchRuleResponse\x12+\n\x05items\x18\x01 \x03(\x0b\x32\x1c.livekit.SIPDispatchRuleInfo\"<\n\x1c\x44\x65leteSIPDispatchRuleRequest\x12\x1c\n\x14sip_dispatch_rule_id\x18\x01 \x01(\t\"\x8a\x04\n\x11SIPOutboundConfig\x12\x10\n\x08hostname\x18\x01 \x01(\t\x12\x1b\n\x13\x64\x65stination_country\x18\x07 \x01(\t\x12(\n\ttransport\x18\x02 \x01(\x0e\x32\x15.livekit.SIPTransport\x12=\n\rauth_username\x18\x03 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e\x12=\n\rauth_password\x18\x04 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e\x12R\n\x15headers_to_attributes\x18\x05 \x03(\x0b\x32\x33.livekit.SIPOutboundConfig.HeadersToAttributesEntry\x12R\n\x15\x61ttributes_to_headers\x18\x06 \x03(\x0b\x32\x33.livekit.SIPOutboundConfig.AttributesToHeadersEntry\x1a:\n\x18HeadersToAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a:\n\x18\x41ttributesToHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x9c\t\n\x1b\x43reateSIPParticipantRequest\x12\x14\n\x0csip_trunk_id\x18\x01 \x01(\t\x12)\n\x05trunk\x18\x14 \x01(\x0b\x32\x1a.livekit.SIPOutboundConfig\x12\x13\n\x0bsip_call_to\x18\x02 \x01(\t\x12\x12\n\nsip_number\x18\x0f \x01(\t\x12\x11\n\troom_name\x18\x03 \x01(\t\x12\x1c\n\x14participant_identity\x18\x04 \x01(\t\x12@\n\x10participant_name\x18\x07 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e\x12\x44\n\x14participant_metadata\x18\x08 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e\x12\x87\x01\n\x16participant_attributes\x18\t \x03(\x0b\x32?.livekit.CreateSIPParticipantRequest.ParticipantAttributesEntryB&\x88\xec,\x01\x92\xec,\x1e\x12\x0c\n\x04\x64tmf\x18\x05 \x01(\t\x12\x19\n\rplay_ringtone\x18\x06 \x01(\x08\x42\x02\x18\x01\x12\x15\n\rplay_dialtone\x18\r \x01(\x08\x12\x19\n\x11hide_phone_number\x18\n \x01(\x08\x12j\n\x07headers\x18\x10 \x03(\x0b\x32\x31.livekit.CreateSIPParticipantRequest.HeadersEntryB&\x88\xec,\x01\x92\xec,\x1e\x12\x32\n\x0finclude_headers\x18\x11 \x01(\x0e\x32\x19.livekit.SIPHeaderOptions\x12\x32\n\x0fringing_timeout\x18\x0b \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x34\n\x11max_call_duration\x18\x0c \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x15\n\rkrisp_enabled\x18\x0e \x01(\x08\x12\x35\n\x10media_encryption\x18\x12 \x01(\x0e\x32\x1b.livekit.SIPMediaEncryption\x12\x1b\n\x13wait_until_answered\x18\x13 \x01(\x08\x12\x41\n\x0c\x64isplay_name\x18\x15 \x01(\tB&\x88\xec,\x01\x92\xec,\x1eH\x00\x88\x01\x01\x12.\n\x0b\x64\x65stination\x18\x16 \x01(\x0b\x32\x14.livekit.DestinationH\x01\x88\x01\x01\x1a<\n\x1aParticipantAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a.\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x0f\n\r_display_nameB\x0e\n\x0c_destination\"r\n\x12SIPParticipantInfo\x12\x16\n\x0eparticipant_id\x18\x01 \x01(\t\x12\x1c\n\x14participant_identity\x18\x02 \x01(\t\x12\x11\n\troom_name\x18\x03 \x01(\t\x12\x13\n\x0bsip_call_id\x18\x04 \x01(\t\"\xce\x02\n\x1dTransferSIPParticipantRequest\x12\x1c\n\x14participant_identity\x18\x01 \x01(\t\x12\x11\n\troom_name\x18\x02 \x01(\t\x12\x13\n\x0btransfer_to\x18\x03 \x01(\t\x12\x15\n\rplay_dialtone\x18\x04 \x01(\x08\x12l\n\x07headers\x18\x05 \x03(\x0b\x32\x33.livekit.TransferSIPParticipantRequest.HeadersEntryB&\x88\xec,\x01\x92\xec,\x1e\x12\x32\n\x0fringing_timeout\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x1a.\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xd8\x07\n\x0bSIPCallInfo\x12\x0f\n\x07\x63\x61ll_id\x18\x01 \x01(\t\x12\x10\n\x08trunk_id\x18\x02 \x01(\t\x12\x18\n\x10\x64ispatch_rule_id\x18\x10 \x01(\t\x12\x0e\n\x06region\x18\x11 \x01(\t\x12\x11\n\troom_name\x18\x03 \x01(\t\x12\x0f\n\x07room_id\x18\x04 \x01(\t\x12\x1c\n\x14participant_identity\x18\x05 \x01(\t\x12w\n\x16participant_attributes\x18\x12 \x03(\x0b\x32/.livekit.SIPCallInfo.ParticipantAttributesEntryB&\x88\xec,\x01\x92\xec,\x1e\x12!\n\x08\x66rom_uri\x18\x06 \x01(\x0b\x32\x0f.livekit.SIPUri\x12\x1f\n\x06to_uri\x18\x07 \x01(\x0b\x32\x0f.livekit.SIPUri\x12\x16\n\ncreated_at\x18\t \x01(\x03\x42\x02\x18\x01\x12\x16\n\nstarted_at\x18\n \x01(\x03\x42\x02\x18\x01\x12\x14\n\x08\x65nded_at\x18\x0b \x01(\x03\x42\x02\x18\x01\x12-\n\x10\x65nabled_features\x18\x0e \x03(\x0e\x32\x13.livekit.SIPFeature\x12\x31\n\x0e\x63\x61ll_direction\x18\x0f \x01(\x0e\x32\x19.livekit.SIPCallDirection\x12+\n\x0b\x63\x61ll_status\x18\x08 \x01(\x0e\x32\x16.livekit.SIPCallStatus\x12\x15\n\rcreated_at_ns\x18\x16 \x01(\x03\x12\x15\n\rstarted_at_ns\x18\x17 \x01(\x03\x12\x13\n\x0b\x65nded_at_ns\x18\x18 \x01(\x03\x12\x34\n\x11\x64isconnect_reason\x18\x0c \x01(\x0e\x32\x19.livekit.DisconnectReason\x12\r\n\x05\x65rror\x18\r \x01(\t\x12,\n\x10\x63\x61ll_status_code\x18\x13 \x01(\x0b\x32\x12.livekit.SIPStatus\x12\x13\n\x0b\x61udio_codec\x18\x14 \x01(\t\x12\x18\n\x10media_encryption\x18\x15 \x01(\t\x12\x16\n\x0epcap_file_link\x18\x19 \x01(\t\x12*\n\x0c\x63\x61ll_context\x18\x1a \x03(\x0b\x32\x14.google.protobuf.Any\x12,\n\rprovider_info\x18\x1b \x01(\x0b\x32\x15.livekit.ProviderInfo\x12\x13\n\x0bsip_call_id\x18\x1c \x01(\t\x1a<\n\x1aParticipantAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x86\x02\n\x0fSIPTransferInfo\x12\x13\n\x0btransfer_id\x18\x01 \x01(\t\x12\x0f\n\x07\x63\x61ll_id\x18\x02 \x01(\t\x12\x13\n\x0btransfer_to\x18\x03 \x01(\t\x12 \n\x18transfer_initiated_at_ns\x18\x04 \x01(\x03\x12 \n\x18transfer_completed_at_ns\x18\x05 \x01(\x03\x12\x33\n\x0ftransfer_status\x18\x06 \x01(\x0e\x32\x1a.livekit.SIPTransferStatus\x12\r\n\x05\x65rror\x18\x07 \x01(\t\x12\x30\n\x14transfer_status_code\x18\x08 \x01(\x0b\x32\x12.livekit.SIPStatus\"h\n\x06SIPUri\x12\x0c\n\x04user\x18\x01 \x01(\t\x12\x0c\n\x04host\x18\x02 \x01(\t\x12\n\n\x02ip\x18\x03 \x01(\t\x12\x0c\n\x04port\x18\x04 \x01(\r\x12(\n\ttransport\x18\x05 \x01(\x0e\x32\x15.livekit.SIPTransport\"<\n\x0b\x44\x65stination\x12\x0c\n\x04\x63ity\x18\x01 \x01(\t\x12\x0f\n\x07\x63ountry\x18\x02 \x01(\t\x12\x0e\n\x06region\x18\x03 \x01(\t*\xde\x14\n\rSIPStatusCode\x12\x16\n\x12SIP_STATUS_UNKNOWN\x10\x00\x12\x15\n\x11SIP_STATUS_TRYING\x10\x64\x12\x17\n\x12SIP_STATUS_RINGING\x10\xb4\x01\x12!\n\x1cSIP_STATUS_CALL_IS_FORWARDED\x10\xb5\x01\x12\x16\n\x11SIP_STATUS_QUEUED\x10\xb6\x01\x12 \n\x1bSIP_STATUS_SESSION_PROGRESS\x10\xb7\x01\x12\'\n\"SIP_STATUS_EARLY_DIALOG_TERMINATED\x10\xc7\x01\x12\x12\n\rSIP_STATUS_OK\x10\xc8\x01\x12\x18\n\x13SIP_STATUS_ACCEPTED\x10\xca\x01\x12\x1f\n\x1aSIP_STATUS_NO_NOTIFICATION\x10\xcc\x01\x12 \n\x1bSIP_STATUS_MULTIPLE_CHOICES\x10\xac\x02\x12!\n\x1cSIP_STATUS_MOVED_PERMANENTLY\x10\xad\x02\x12!\n\x1cSIP_STATUS_MOVED_TEMPORARILY\x10\xae\x02\x12\x19\n\x14SIP_STATUS_USE_PROXY\x10\xb1\x02\x12#\n\x1eSIP_STATUS_ALTERNATIVE_SERVICE\x10\xfc\x02\x12\x1b\n\x16SIP_STATUS_BAD_REQUEST\x10\x90\x03\x12\x1c\n\x17SIP_STATUS_UNAUTHORIZED\x10\x91\x03\x12 \n\x1bSIP_STATUS_PAYMENT_REQUIRED\x10\x92\x03\x12\x19\n\x14SIP_STATUS_FORBIDDEN\x10\x93\x03\x12\x18\n\x13SIP_STATUS_NOTFOUND\x10\x94\x03\x12\"\n\x1dSIP_STATUS_METHOD_NOT_ALLOWED\x10\x95\x03\x12\x1e\n\x19SIP_STATUS_NOT_ACCEPTABLE\x10\x96\x03\x12#\n\x1eSIP_STATUS_PROXY_AUTH_REQUIRED\x10\x97\x03\x12\x1f\n\x1aSIP_STATUS_REQUEST_TIMEOUT\x10\x98\x03\x12\x18\n\x13SIP_STATUS_CONFLICT\x10\x99\x03\x12\x14\n\x0fSIP_STATUS_GONE\x10\x9a\x03\x12\x1f\n\x1aSIP_STATUS_LENGTH_REQUIRED\x10\x9b\x03\x12*\n%SIP_STATUS_CONDITIONAL_REQUEST_FAILED\x10\x9c\x03\x12(\n#SIP_STATUS_REQUEST_ENTITY_TOO_LARGE\x10\x9d\x03\x12$\n\x1fSIP_STATUS_REQUEST_URI_TOO_LONG\x10\x9e\x03\x12&\n!SIP_STATUS_UNSUPPORTED_MEDIA_TYPE\x10\x9f\x03\x12/\n*SIP_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE\x10\xa0\x03\x12)\n$SIP_STATUS_UNKNOWN_RESOURCE_PRIORITY\x10\xa1\x03\x12\x1d\n\x18SIP_STATUS_BAD_EXTENSION\x10\xa4\x03\x12\"\n\x1dSIP_STATUS_EXTENSION_REQUIRED\x10\xa5\x03\x12*\n%SIP_STATUS_SESSION_INTERVAL_TOO_SMALL\x10\xa6\x03\x12\"\n\x1dSIP_STATUS_INTERVAL_TOO_BRIEF\x10\xa7\x03\x12(\n#SIP_STATUS_BAD_LOCATION_INFORMATION\x10\xa8\x03\x12!\n\x1cSIP_STATUS_BAD_ALERT_MESSAGE\x10\xa9\x03\x12#\n\x1eSIP_STATUS_USE_IDENTITY_HEADER\x10\xac\x03\x12)\n$SIP_STATUS_PROVIDE_REFERRER_IDENTITY\x10\xad\x03\x12\x1b\n\x16SIP_STATUS_FLOW_FAILED\x10\xae\x03\x12$\n\x1fSIP_STATUS_ANONYMITY_DISALLOWED\x10\xb1\x03\x12!\n\x1cSIP_STATUS_BAD_IDENTITY_INFO\x10\xb4\x03\x12\'\n\"SIP_STATUS_UNSUPPORTED_CERTIFICATE\x10\xb5\x03\x12\'\n\"SIP_STATUS_INVALID_IDENTITY_HEADER\x10\xb6\x03\x12\x30\n+SIP_STATUS_FIRST_HOP_LACKS_OUTBOUND_SUPPORT\x10\xb7\x03\x12$\n\x1fSIP_STATUS_MAX_BREADTH_EXCEEDED\x10\xb8\x03\x12 \n\x1bSIP_STATUS_BAD_INFO_PACKAGE\x10\xd5\x03\x12\x1e\n\x19SIP_STATUS_CONSENT_NEEDED\x10\xd6\x03\x12\'\n\"SIP_STATUS_TEMPORARILY_UNAVAILABLE\x10\xe0\x03\x12\x30\n+SIP_STATUS_CALL_TRANSACTION_DOES_NOT_EXISTS\x10\xe1\x03\x12\x1d\n\x18SIP_STATUS_LOOP_DETECTED\x10\xe2\x03\x12\x1d\n\x18SIP_STATUS_TOO_MANY_HOPS\x10\xe3\x03\x12\"\n\x1dSIP_STATUS_ADDRESS_INCOMPLETE\x10\xe4\x03\x12\x19\n\x14SIP_STATUS_AMBIGUOUS\x10\xe5\x03\x12\x19\n\x14SIP_STATUS_BUSY_HERE\x10\xe6\x03\x12\"\n\x1dSIP_STATUS_REQUEST_TERMINATED\x10\xe7\x03\x12#\n\x1eSIP_STATUS_NOT_ACCEPTABLE_HERE\x10\xe8\x03\x12\x19\n\x14SIP_STATUS_BAD_EVENT\x10\xe9\x03\x12\x1f\n\x1aSIP_STATUS_REQUEST_PENDING\x10\xeb\x03\x12\x1e\n\x19SIP_STATUS_UNDECIPHERABLE\x10\xed\x03\x12+\n&SIP_STATUS_SECURITY_AGREEMENT_REQUIRED\x10\xee\x03\x12%\n SIP_STATUS_INTERNAL_SERVER_ERROR\x10\xf4\x03\x12\x1f\n\x1aSIP_STATUS_NOT_IMPLEMENTED\x10\xf5\x03\x12\x1b\n\x16SIP_STATUS_BAD_GATEWAY\x10\xf6\x03\x12#\n\x1eSIP_STATUS_SERVICE_UNAVAILABLE\x10\xf7\x03\x12\x1f\n\x1aSIP_STATUS_GATEWAY_TIMEOUT\x10\xf8\x03\x12%\n SIP_STATUS_VERSION_NOT_SUPPORTED\x10\xf9\x03\x12!\n\x1cSIP_STATUS_MESSAGE_TOO_LARGE\x10\x81\x04\x12&\n!SIP_STATUS_GLOBAL_BUSY_EVERYWHERE\x10\xd8\x04\x12\x1e\n\x19SIP_STATUS_GLOBAL_DECLINE\x10\xdb\x04\x12.\n)SIP_STATUS_GLOBAL_DOES_NOT_EXIST_ANYWHERE\x10\xdc\x04\x12%\n SIP_STATUS_GLOBAL_NOT_ACCEPTABLE\x10\xde\x04\x12\x1f\n\x1aSIP_STATUS_GLOBAL_UNWANTED\x10\xdf\x04\x12\x1f\n\x1aSIP_STATUS_GLOBAL_REJECTED\x10\xe0\x04*k\n\x0cSIPTransport\x12\x16\n\x12SIP_TRANSPORT_AUTO\x10\x00\x12\x15\n\x11SIP_TRANSPORT_UDP\x10\x01\x12\x15\n\x11SIP_TRANSPORT_TCP\x10\x02\x12\x15\n\x11SIP_TRANSPORT_TLS\x10\x03*N\n\x10SIPHeaderOptions\x12\x12\n\x0eSIP_NO_HEADERS\x10\x00\x12\x11\n\rSIP_X_HEADERS\x10\x01\x12\x13\n\x0fSIP_ALL_HEADERS\x10\x02*o\n\x12SIPMediaEncryption\x12\x1d\n\x19SIP_MEDIA_ENCRYPT_DISABLE\x10\x00\x12\x1b\n\x17SIP_MEDIA_ENCRYPT_ALLOW\x10\x01\x12\x1d\n\x19SIP_MEDIA_ENCRYPT_REQUIRE\x10\x02*a\n\x0cProviderType\x12\x19\n\x15PROVIDER_TYPE_UNKNOWN\x10\x00\x12\x1a\n\x16PROVIDER_TYPE_INTERNAL\x10\x01\x12\x1a\n\x16PROVIDER_TYPE_EXTERNAL\x10\x02*w\n\rSIPCallStatus\x12\x15\n\x11SCS_CALL_INCOMING\x10\x00\x12\x1a\n\x16SCS_PARTICIPANT_JOINED\x10\x01\x12\x0e\n\nSCS_ACTIVE\x10\x02\x12\x14\n\x10SCS_DISCONNECTED\x10\x03\x12\r\n\tSCS_ERROR\x10\x04*c\n\x11SIPTransferStatus\x12\x18\n\x14STS_TRANSFER_ONGOING\x10\x00\x12\x17\n\x13STS_TRANSFER_FAILED\x10\x01\x12\x1b\n\x17STS_TRANSFER_SUCCESSFUL\x10\x02*)\n\nSIPFeature\x12\x08\n\x04NONE\x10\x00\x12\x11\n\rKRISP_ENABLED\x10\x01*F\n\x10SIPCallDirection\x12\x0f\n\x0bSCD_UNKNOWN\x10\x00\x12\x0f\n\x0bSCD_INBOUND\x10\x01\x12\x10\n\x0cSCD_OUTBOUND\x10\x02\x32\xd7\x0b\n\x03SIP\x12P\n\x0cListSIPTrunk\x12\x1c.livekit.ListSIPTrunkRequest\x1a\x1d.livekit.ListSIPTrunkResponse\"\x03\x88\x02\x01\x12\\\n\x15\x43reateSIPInboundTrunk\x12%.livekit.CreateSIPInboundTrunkRequest\x1a\x1c.livekit.SIPInboundTrunkInfo\x12_\n\x16\x43reateSIPOutboundTrunk\x12&.livekit.CreateSIPOutboundTrunkRequest\x1a\x1d.livekit.SIPOutboundTrunkInfo\x12\\\n\x15UpdateSIPInboundTrunk\x12%.livekit.UpdateSIPInboundTrunkRequest\x1a\x1c.livekit.SIPInboundTrunkInfo\x12_\n\x16UpdateSIPOutboundTrunk\x12&.livekit.UpdateSIPOutboundTrunkRequest\x1a\x1d.livekit.SIPOutboundTrunkInfo\x12]\n\x12GetSIPInboundTrunk\x12\".livekit.GetSIPInboundTrunkRequest\x1a#.livekit.GetSIPInboundTrunkResponse\x12`\n\x13GetSIPOutboundTrunk\x12#.livekit.GetSIPOutboundTrunkRequest\x1a$.livekit.GetSIPOutboundTrunkResponse\x12`\n\x13ListSIPInboundTrunk\x12#.livekit.ListSIPInboundTrunkRequest\x1a$.livekit.ListSIPInboundTrunkResponse\x12\x63\n\x14ListSIPOutboundTrunk\x12$.livekit.ListSIPOutboundTrunkRequest\x1a%.livekit.ListSIPOutboundTrunkResponse\x12G\n\x0e\x44\x65leteSIPTrunk\x12\x1e.livekit.DeleteSIPTrunkRequest\x1a\x15.livekit.SIPTrunkInfo\x12\\\n\x15\x43reateSIPDispatchRule\x12%.livekit.CreateSIPDispatchRuleRequest\x1a\x1c.livekit.SIPDispatchRuleInfo\x12\\\n\x15UpdateSIPDispatchRule\x12%.livekit.UpdateSIPDispatchRuleRequest\x1a\x1c.livekit.SIPDispatchRuleInfo\x12`\n\x13ListSIPDispatchRule\x12#.livekit.ListSIPDispatchRuleRequest\x1a$.livekit.ListSIPDispatchRuleResponse\x12\\\n\x15\x44\x65leteSIPDispatchRule\x12%.livekit.DeleteSIPDispatchRuleRequest\x1a\x1c.livekit.SIPDispatchRuleInfo\x12Y\n\x14\x43reateSIPParticipant\x12$.livekit.CreateSIPParticipantRequest\x1a\x1b.livekit.SIPParticipantInfo\x12X\n\x16TransferSIPParticipant\x12&.livekit.TransferSIPParticipantRequest\x1a\x16.google.protobuf.EmptyBFZ#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -31,29 +31,29 @@ _globals['_CREATESIPTRUNKREQUEST'].fields_by_name['inbound_numbers_regex']._options = None _globals['_CREATESIPTRUNKREQUEST'].fields_by_name['inbound_numbers_regex']._serialized_options = b'\030\001' _globals['_CREATESIPTRUNKREQUEST'].fields_by_name['inbound_username']._options = None - _globals['_CREATESIPTRUNKREQUEST'].fields_by_name['inbound_username']._serialized_options = b'\210\265\030\001\222\265\030\036' + _globals['_CREATESIPTRUNKREQUEST'].fields_by_name['inbound_username']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_CREATESIPTRUNKREQUEST'].fields_by_name['inbound_password']._options = None - _globals['_CREATESIPTRUNKREQUEST'].fields_by_name['inbound_password']._serialized_options = b'\210\265\030\001\222\265\030\036' + _globals['_CREATESIPTRUNKREQUEST'].fields_by_name['inbound_password']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_CREATESIPTRUNKREQUEST'].fields_by_name['outbound_username']._options = None - _globals['_CREATESIPTRUNKREQUEST'].fields_by_name['outbound_username']._serialized_options = b'\210\265\030\001\222\265\030\036' + _globals['_CREATESIPTRUNKREQUEST'].fields_by_name['outbound_username']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_CREATESIPTRUNKREQUEST'].fields_by_name['outbound_password']._options = None - _globals['_CREATESIPTRUNKREQUEST'].fields_by_name['outbound_password']._serialized_options = b'\210\265\030\001\222\265\030\036' + _globals['_CREATESIPTRUNKREQUEST'].fields_by_name['outbound_password']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_CREATESIPTRUNKREQUEST'].fields_by_name['metadata']._options = None - _globals['_CREATESIPTRUNKREQUEST'].fields_by_name['metadata']._serialized_options = b'\210\265\030\001\222\265\030\036' + _globals['_CREATESIPTRUNKREQUEST'].fields_by_name['metadata']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_CREATESIPTRUNKREQUEST']._options = None _globals['_CREATESIPTRUNKREQUEST']._serialized_options = b'\030\001' _globals['_SIPTRUNKINFO'].fields_by_name['inbound_numbers_regex']._options = None _globals['_SIPTRUNKINFO'].fields_by_name['inbound_numbers_regex']._serialized_options = b'\030\001' _globals['_SIPTRUNKINFO'].fields_by_name['inbound_username']._options = None - _globals['_SIPTRUNKINFO'].fields_by_name['inbound_username']._serialized_options = b'\210\265\030\001\222\265\030\036' + _globals['_SIPTRUNKINFO'].fields_by_name['inbound_username']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_SIPTRUNKINFO'].fields_by_name['inbound_password']._options = None - _globals['_SIPTRUNKINFO'].fields_by_name['inbound_password']._serialized_options = b'\210\265\030\001\222\265\030\036' + _globals['_SIPTRUNKINFO'].fields_by_name['inbound_password']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_SIPTRUNKINFO'].fields_by_name['outbound_username']._options = None - _globals['_SIPTRUNKINFO'].fields_by_name['outbound_username']._serialized_options = b'\210\265\030\001\222\265\030\036' + _globals['_SIPTRUNKINFO'].fields_by_name['outbound_username']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_SIPTRUNKINFO'].fields_by_name['outbound_password']._options = None - _globals['_SIPTRUNKINFO'].fields_by_name['outbound_password']._serialized_options = b'\210\265\030\001\222\265\030\036' + _globals['_SIPTRUNKINFO'].fields_by_name['outbound_password']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_SIPTRUNKINFO'].fields_by_name['metadata']._options = None - _globals['_SIPTRUNKINFO'].fields_by_name['metadata']._serialized_options = b'\210\265\030\001\222\265\030\036' + _globals['_SIPTRUNKINFO'].fields_by_name['metadata']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_SIPTRUNKINFO']._options = None _globals['_SIPTRUNKINFO']._serialized_options = b'\030\001' _globals['_SIPINBOUNDTRUNKINFO_HEADERSENTRY']._options = None @@ -63,19 +63,19 @@ _globals['_SIPINBOUNDTRUNKINFO_ATTRIBUTESTOHEADERSENTRY']._options = None _globals['_SIPINBOUNDTRUNKINFO_ATTRIBUTESTOHEADERSENTRY']._serialized_options = b'8\001' _globals['_SIPINBOUNDTRUNKINFO'].fields_by_name['metadata']._options = None - _globals['_SIPINBOUNDTRUNKINFO'].fields_by_name['metadata']._serialized_options = b'\210\265\030\001\222\265\030\036' + _globals['_SIPINBOUNDTRUNKINFO'].fields_by_name['metadata']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_SIPINBOUNDTRUNKINFO'].fields_by_name['auth_username']._options = None - _globals['_SIPINBOUNDTRUNKINFO'].fields_by_name['auth_username']._serialized_options = b'\210\265\030\001\222\265\030\036' + _globals['_SIPINBOUNDTRUNKINFO'].fields_by_name['auth_username']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_SIPINBOUNDTRUNKINFO'].fields_by_name['auth_password']._options = None - _globals['_SIPINBOUNDTRUNKINFO'].fields_by_name['auth_password']._serialized_options = b'\210\265\030\001\222\265\030\036' + _globals['_SIPINBOUNDTRUNKINFO'].fields_by_name['auth_password']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_SIPINBOUNDTRUNKINFO'].fields_by_name['headers']._options = None - _globals['_SIPINBOUNDTRUNKINFO'].fields_by_name['headers']._serialized_options = b'\210\265\030\001\222\265\030\036' + _globals['_SIPINBOUNDTRUNKINFO'].fields_by_name['headers']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_SIPINBOUNDTRUNKUPDATE'].fields_by_name['auth_username']._options = None - _globals['_SIPINBOUNDTRUNKUPDATE'].fields_by_name['auth_username']._serialized_options = b'\210\265\030\001\222\265\030\036' + _globals['_SIPINBOUNDTRUNKUPDATE'].fields_by_name['auth_username']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_SIPINBOUNDTRUNKUPDATE'].fields_by_name['auth_password']._options = None - _globals['_SIPINBOUNDTRUNKUPDATE'].fields_by_name['auth_password']._serialized_options = b'\210\265\030\001\222\265\030\036' + _globals['_SIPINBOUNDTRUNKUPDATE'].fields_by_name['auth_password']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_SIPINBOUNDTRUNKUPDATE'].fields_by_name['metadata']._options = None - _globals['_SIPINBOUNDTRUNKUPDATE'].fields_by_name['metadata']._serialized_options = b'\210\265\030\001\222\265\030\036' + _globals['_SIPINBOUNDTRUNKUPDATE'].fields_by_name['metadata']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_SIPOUTBOUNDTRUNKINFO_HEADERSENTRY']._options = None _globals['_SIPOUTBOUNDTRUNKINFO_HEADERSENTRY']._serialized_options = b'8\001' _globals['_SIPOUTBOUNDTRUNKINFO_HEADERSTOATTRIBUTESENTRY']._options = None @@ -83,19 +83,19 @@ _globals['_SIPOUTBOUNDTRUNKINFO_ATTRIBUTESTOHEADERSENTRY']._options = None _globals['_SIPOUTBOUNDTRUNKINFO_ATTRIBUTESTOHEADERSENTRY']._serialized_options = b'8\001' _globals['_SIPOUTBOUNDTRUNKINFO'].fields_by_name['metadata']._options = None - _globals['_SIPOUTBOUNDTRUNKINFO'].fields_by_name['metadata']._serialized_options = b'\210\265\030\001\222\265\030\036' + _globals['_SIPOUTBOUNDTRUNKINFO'].fields_by_name['metadata']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_SIPOUTBOUNDTRUNKINFO'].fields_by_name['auth_username']._options = None - _globals['_SIPOUTBOUNDTRUNKINFO'].fields_by_name['auth_username']._serialized_options = b'\210\265\030\001\222\265\030\036' + _globals['_SIPOUTBOUNDTRUNKINFO'].fields_by_name['auth_username']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_SIPOUTBOUNDTRUNKINFO'].fields_by_name['auth_password']._options = None - _globals['_SIPOUTBOUNDTRUNKINFO'].fields_by_name['auth_password']._serialized_options = b'\210\265\030\001\222\265\030\036' + _globals['_SIPOUTBOUNDTRUNKINFO'].fields_by_name['auth_password']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_SIPOUTBOUNDTRUNKINFO'].fields_by_name['headers']._options = None - _globals['_SIPOUTBOUNDTRUNKINFO'].fields_by_name['headers']._serialized_options = b'\210\265\030\001\222\265\030\036' + _globals['_SIPOUTBOUNDTRUNKINFO'].fields_by_name['headers']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_SIPOUTBOUNDTRUNKUPDATE'].fields_by_name['auth_username']._options = None - _globals['_SIPOUTBOUNDTRUNKUPDATE'].fields_by_name['auth_username']._serialized_options = b'\210\265\030\001\222\265\030\036' + _globals['_SIPOUTBOUNDTRUNKUPDATE'].fields_by_name['auth_username']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_SIPOUTBOUNDTRUNKUPDATE'].fields_by_name['auth_password']._options = None - _globals['_SIPOUTBOUNDTRUNKUPDATE'].fields_by_name['auth_password']._serialized_options = b'\210\265\030\001\222\265\030\036' + _globals['_SIPOUTBOUNDTRUNKUPDATE'].fields_by_name['auth_password']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_SIPOUTBOUNDTRUNKUPDATE'].fields_by_name['metadata']._options = None - _globals['_SIPOUTBOUNDTRUNKUPDATE'].fields_by_name['metadata']._serialized_options = b'\210\265\030\001\222\265\030\036' + _globals['_SIPOUTBOUNDTRUNKUPDATE'].fields_by_name['metadata']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_LISTSIPTRUNKREQUEST']._options = None _globals['_LISTSIPTRUNKREQUEST']._serialized_options = b'\030\001' _globals['_LISTSIPTRUNKRESPONSE']._options = None @@ -113,9 +113,9 @@ _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['name']._options = None _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['name']._serialized_options = b'\030\001' _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['metadata']._options = None - _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['metadata']._serialized_options = b'\030\001\210\265\030\001\222\265\030\036' + _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['metadata']._serialized_options = b'\030\001\210\354,\001\222\354,\036' _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['attributes']._options = None - _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['attributes']._serialized_options = b'\030\001\210\265\030\001\222\265\030\036' + _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['attributes']._serialized_options = b'\030\001\210\354,\001\222\354,\036' _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['room_preset']._options = None _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['room_preset']._serialized_options = b'\030\001' _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['room_config']._options = None @@ -123,47 +123,47 @@ _globals['_SIPDISPATCHRULEINFO_ATTRIBUTESENTRY']._options = None _globals['_SIPDISPATCHRULEINFO_ATTRIBUTESENTRY']._serialized_options = b'8\001' _globals['_SIPDISPATCHRULEINFO'].fields_by_name['metadata']._options = None - _globals['_SIPDISPATCHRULEINFO'].fields_by_name['metadata']._serialized_options = b'\210\265\030\001\222\265\030\036' + _globals['_SIPDISPATCHRULEINFO'].fields_by_name['metadata']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_SIPDISPATCHRULEINFO'].fields_by_name['attributes']._options = None - _globals['_SIPDISPATCHRULEINFO'].fields_by_name['attributes']._serialized_options = b'\210\265\030\001\222\265\030\036' + _globals['_SIPDISPATCHRULEINFO'].fields_by_name['attributes']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_SIPDISPATCHRULEUPDATE_ATTRIBUTESENTRY']._options = None _globals['_SIPDISPATCHRULEUPDATE_ATTRIBUTESENTRY']._serialized_options = b'8\001' _globals['_SIPDISPATCHRULEUPDATE'].fields_by_name['metadata']._options = None - _globals['_SIPDISPATCHRULEUPDATE'].fields_by_name['metadata']._serialized_options = b'\210\265\030\001\222\265\030\036' + _globals['_SIPDISPATCHRULEUPDATE'].fields_by_name['metadata']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_SIPDISPATCHRULEUPDATE'].fields_by_name['attributes']._options = None - _globals['_SIPDISPATCHRULEUPDATE'].fields_by_name['attributes']._serialized_options = b'\210\265\030\001\222\265\030\036' + _globals['_SIPDISPATCHRULEUPDATE'].fields_by_name['attributes']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_SIPOUTBOUNDCONFIG_HEADERSTOATTRIBUTESENTRY']._options = None _globals['_SIPOUTBOUNDCONFIG_HEADERSTOATTRIBUTESENTRY']._serialized_options = b'8\001' _globals['_SIPOUTBOUNDCONFIG_ATTRIBUTESTOHEADERSENTRY']._options = None _globals['_SIPOUTBOUNDCONFIG_ATTRIBUTESTOHEADERSENTRY']._serialized_options = b'8\001' _globals['_SIPOUTBOUNDCONFIG'].fields_by_name['auth_username']._options = None - _globals['_SIPOUTBOUNDCONFIG'].fields_by_name['auth_username']._serialized_options = b'\210\265\030\001\222\265\030\036' + _globals['_SIPOUTBOUNDCONFIG'].fields_by_name['auth_username']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_SIPOUTBOUNDCONFIG'].fields_by_name['auth_password']._options = None - _globals['_SIPOUTBOUNDCONFIG'].fields_by_name['auth_password']._serialized_options = b'\210\265\030\001\222\265\030\036' + _globals['_SIPOUTBOUNDCONFIG'].fields_by_name['auth_password']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_CREATESIPPARTICIPANTREQUEST_PARTICIPANTATTRIBUTESENTRY']._options = None _globals['_CREATESIPPARTICIPANTREQUEST_PARTICIPANTATTRIBUTESENTRY']._serialized_options = b'8\001' _globals['_CREATESIPPARTICIPANTREQUEST_HEADERSENTRY']._options = None _globals['_CREATESIPPARTICIPANTREQUEST_HEADERSENTRY']._serialized_options = b'8\001' _globals['_CREATESIPPARTICIPANTREQUEST'].fields_by_name['participant_name']._options = None - _globals['_CREATESIPPARTICIPANTREQUEST'].fields_by_name['participant_name']._serialized_options = b'\210\265\030\001\222\265\030\036' + _globals['_CREATESIPPARTICIPANTREQUEST'].fields_by_name['participant_name']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_CREATESIPPARTICIPANTREQUEST'].fields_by_name['participant_metadata']._options = None - _globals['_CREATESIPPARTICIPANTREQUEST'].fields_by_name['participant_metadata']._serialized_options = b'\210\265\030\001\222\265\030\036' + _globals['_CREATESIPPARTICIPANTREQUEST'].fields_by_name['participant_metadata']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_CREATESIPPARTICIPANTREQUEST'].fields_by_name['participant_attributes']._options = None - _globals['_CREATESIPPARTICIPANTREQUEST'].fields_by_name['participant_attributes']._serialized_options = b'\210\265\030\001\222\265\030\036' + _globals['_CREATESIPPARTICIPANTREQUEST'].fields_by_name['participant_attributes']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_CREATESIPPARTICIPANTREQUEST'].fields_by_name['play_ringtone']._options = None _globals['_CREATESIPPARTICIPANTREQUEST'].fields_by_name['play_ringtone']._serialized_options = b'\030\001' _globals['_CREATESIPPARTICIPANTREQUEST'].fields_by_name['headers']._options = None - _globals['_CREATESIPPARTICIPANTREQUEST'].fields_by_name['headers']._serialized_options = b'\210\265\030\001\222\265\030\036' + _globals['_CREATESIPPARTICIPANTREQUEST'].fields_by_name['headers']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_CREATESIPPARTICIPANTREQUEST'].fields_by_name['display_name']._options = None - _globals['_CREATESIPPARTICIPANTREQUEST'].fields_by_name['display_name']._serialized_options = b'\210\265\030\001\222\265\030\036' + _globals['_CREATESIPPARTICIPANTREQUEST'].fields_by_name['display_name']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_TRANSFERSIPPARTICIPANTREQUEST_HEADERSENTRY']._options = None _globals['_TRANSFERSIPPARTICIPANTREQUEST_HEADERSENTRY']._serialized_options = b'8\001' _globals['_TRANSFERSIPPARTICIPANTREQUEST'].fields_by_name['headers']._options = None - _globals['_TRANSFERSIPPARTICIPANTREQUEST'].fields_by_name['headers']._serialized_options = b'\210\265\030\001\222\265\030\036' + _globals['_TRANSFERSIPPARTICIPANTREQUEST'].fields_by_name['headers']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_SIPCALLINFO_PARTICIPANTATTRIBUTESENTRY']._options = None _globals['_SIPCALLINFO_PARTICIPANTATTRIBUTESENTRY']._serialized_options = b'8\001' _globals['_SIPCALLINFO'].fields_by_name['participant_attributes']._options = None - _globals['_SIPCALLINFO'].fields_by_name['participant_attributes']._serialized_options = b'\210\265\030\001\222\265\030\036' + _globals['_SIPCALLINFO'].fields_by_name['participant_attributes']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_SIPCALLINFO'].fields_by_name['created_at']._options = None _globals['_SIPCALLINFO'].fields_by_name['created_at']._serialized_options = b'\030\001' _globals['_SIPCALLINFO'].fields_by_name['started_at']._options = None @@ -172,24 +172,24 @@ _globals['_SIPCALLINFO'].fields_by_name['ended_at']._serialized_options = b'\030\001' _globals['_SIP'].methods_by_name['ListSIPTrunk']._options = None _globals['_SIP'].methods_by_name['ListSIPTrunk']._serialized_options = b'\210\002\001' - _globals['_SIPSTATUSCODE']._serialized_start=11728 - _globals['_SIPSTATUSCODE']._serialized_end=14382 - _globals['_SIPTRANSPORT']._serialized_start=14384 - _globals['_SIPTRANSPORT']._serialized_end=14491 - _globals['_SIPHEADEROPTIONS']._serialized_start=14493 - _globals['_SIPHEADEROPTIONS']._serialized_end=14571 - _globals['_SIPMEDIAENCRYPTION']._serialized_start=14573 - _globals['_SIPMEDIAENCRYPTION']._serialized_end=14684 - _globals['_PROVIDERTYPE']._serialized_start=14686 - _globals['_PROVIDERTYPE']._serialized_end=14783 - _globals['_SIPCALLSTATUS']._serialized_start=14785 - _globals['_SIPCALLSTATUS']._serialized_end=14904 - _globals['_SIPTRANSFERSTATUS']._serialized_start=14906 - _globals['_SIPTRANSFERSTATUS']._serialized_end=15005 - _globals['_SIPFEATURE']._serialized_start=15007 - _globals['_SIPFEATURE']._serialized_end=15048 - _globals['_SIPCALLDIRECTION']._serialized_start=15050 - _globals['_SIPCALLDIRECTION']._serialized_end=15120 + _globals['_SIPSTATUSCODE']._serialized_start=11766 + _globals['_SIPSTATUSCODE']._serialized_end=14420 + _globals['_SIPTRANSPORT']._serialized_start=14422 + _globals['_SIPTRANSPORT']._serialized_end=14529 + _globals['_SIPHEADEROPTIONS']._serialized_start=14531 + _globals['_SIPHEADEROPTIONS']._serialized_end=14609 + _globals['_SIPMEDIAENCRYPTION']._serialized_start=14611 + _globals['_SIPMEDIAENCRYPTION']._serialized_end=14722 + _globals['_PROVIDERTYPE']._serialized_start=14724 + _globals['_PROVIDERTYPE']._serialized_end=14821 + _globals['_SIPCALLSTATUS']._serialized_start=14823 + _globals['_SIPCALLSTATUS']._serialized_end=14942 + _globals['_SIPTRANSFERSTATUS']._serialized_start=14944 + _globals['_SIPTRANSFERSTATUS']._serialized_end=15043 + _globals['_SIPFEATURE']._serialized_start=15045 + _globals['_SIPFEATURE']._serialized_end=15086 + _globals['_SIPCALLDIRECTION']._serialized_start=15088 + _globals['_SIPCALLDIRECTION']._serialized_end=15158 _globals['_SIPSTATUS']._serialized_start=182 _globals['_SIPSTATUS']._serialized_end=247 _globals['_CREATESIPTRUNKREQUEST']._serialized_start=250 @@ -265,47 +265,47 @@ _globals['_UPDATESIPDISPATCHRULEREQUEST']._serialized_start=6755 _globals['_UPDATESIPDISPATCHRULEREQUEST']._serialized_end=6924 _globals['_SIPDISPATCHRULEINFO']._serialized_start=6927 - _globals['_SIPDISPATCHRULEINFO']._serialized_end=7466 + _globals['_SIPDISPATCHRULEINFO']._serialized_end=7483 _globals['_SIPDISPATCHRULEINFO_ATTRIBUTESENTRY']._serialized_start=6703 _globals['_SIPDISPATCHRULEINFO_ATTRIBUTESENTRY']._serialized_end=6752 - _globals['_SIPDISPATCHRULEUPDATE']._serialized_start=7469 - _globals['_SIPDISPATCHRULEUPDATE']._serialized_end=7916 + _globals['_SIPDISPATCHRULEUPDATE']._serialized_start=7486 + _globals['_SIPDISPATCHRULEUPDATE']._serialized_end=7933 _globals['_SIPDISPATCHRULEUPDATE_ATTRIBUTESENTRY']._serialized_start=6703 _globals['_SIPDISPATCHRULEUPDATE_ATTRIBUTESENTRY']._serialized_end=6752 - _globals['_LISTSIPDISPATCHRULEREQUEST']._serialized_start=7918 - _globals['_LISTSIPDISPATCHRULEREQUEST']._serialized_end=8027 - _globals['_LISTSIPDISPATCHRULERESPONSE']._serialized_start=8029 - _globals['_LISTSIPDISPATCHRULERESPONSE']._serialized_end=8103 - _globals['_DELETESIPDISPATCHRULEREQUEST']._serialized_start=8105 - _globals['_DELETESIPDISPATCHRULEREQUEST']._serialized_end=8165 - _globals['_SIPOUTBOUNDCONFIG']._serialized_start=8168 - _globals['_SIPOUTBOUNDCONFIG']._serialized_end=8690 + _globals['_LISTSIPDISPATCHRULEREQUEST']._serialized_start=7935 + _globals['_LISTSIPDISPATCHRULEREQUEST']._serialized_end=8044 + _globals['_LISTSIPDISPATCHRULERESPONSE']._serialized_start=8046 + _globals['_LISTSIPDISPATCHRULERESPONSE']._serialized_end=8120 + _globals['_DELETESIPDISPATCHRULEREQUEST']._serialized_start=8122 + _globals['_DELETESIPDISPATCHRULEREQUEST']._serialized_end=8182 + _globals['_SIPOUTBOUNDCONFIG']._serialized_start=8185 + _globals['_SIPOUTBOUNDCONFIG']._serialized_end=8707 _globals['_SIPOUTBOUNDCONFIG_HEADERSTOATTRIBUTESENTRY']._serialized_start=2648 _globals['_SIPOUTBOUNDCONFIG_HEADERSTOATTRIBUTESENTRY']._serialized_end=2706 _globals['_SIPOUTBOUNDCONFIG_ATTRIBUTESTOHEADERSENTRY']._serialized_start=2708 _globals['_SIPOUTBOUNDCONFIG_ATTRIBUTESTOHEADERSENTRY']._serialized_end=2766 - _globals['_CREATESIPPARTICIPANTREQUEST']._serialized_start=8693 - _globals['_CREATESIPPARTICIPANTREQUEST']._serialized_end=9873 - _globals['_CREATESIPPARTICIPANTREQUEST_PARTICIPANTATTRIBUTESENTRY']._serialized_start=9732 - _globals['_CREATESIPPARTICIPANTREQUEST_PARTICIPANTATTRIBUTESENTRY']._serialized_end=9792 + _globals['_CREATESIPPARTICIPANTREQUEST']._serialized_start=8710 + _globals['_CREATESIPPARTICIPANTREQUEST']._serialized_end=9890 + _globals['_CREATESIPPARTICIPANTREQUEST_PARTICIPANTATTRIBUTESENTRY']._serialized_start=9749 + _globals['_CREATESIPPARTICIPANTREQUEST_PARTICIPANTATTRIBUTESENTRY']._serialized_end=9809 _globals['_CREATESIPPARTICIPANTREQUEST_HEADERSENTRY']._serialized_start=2600 _globals['_CREATESIPPARTICIPANTREQUEST_HEADERSENTRY']._serialized_end=2646 - _globals['_SIPPARTICIPANTINFO']._serialized_start=9875 - _globals['_SIPPARTICIPANTINFO']._serialized_end=9989 - _globals['_TRANSFERSIPPARTICIPANTREQUEST']._serialized_start=9992 - _globals['_TRANSFERSIPPARTICIPANTREQUEST']._serialized_end=10326 + _globals['_SIPPARTICIPANTINFO']._serialized_start=9892 + _globals['_SIPPARTICIPANTINFO']._serialized_end=10006 + _globals['_TRANSFERSIPPARTICIPANTREQUEST']._serialized_start=10009 + _globals['_TRANSFERSIPPARTICIPANTREQUEST']._serialized_end=10343 _globals['_TRANSFERSIPPARTICIPANTREQUEST_HEADERSENTRY']._serialized_start=2600 _globals['_TRANSFERSIPPARTICIPANTREQUEST_HEADERSENTRY']._serialized_end=2646 - _globals['_SIPCALLINFO']._serialized_start=10329 - _globals['_SIPCALLINFO']._serialized_end=11292 - _globals['_SIPCALLINFO_PARTICIPANTATTRIBUTESENTRY']._serialized_start=9732 - _globals['_SIPCALLINFO_PARTICIPANTATTRIBUTESENTRY']._serialized_end=9792 - _globals['_SIPTRANSFERINFO']._serialized_start=11295 - _globals['_SIPTRANSFERINFO']._serialized_end=11557 - _globals['_SIPURI']._serialized_start=11559 - _globals['_SIPURI']._serialized_end=11663 - _globals['_DESTINATION']._serialized_start=11665 - _globals['_DESTINATION']._serialized_end=11725 - _globals['_SIP']._serialized_start=15123 - _globals['_SIP']._serialized_end=16618 + _globals['_SIPCALLINFO']._serialized_start=10346 + _globals['_SIPCALLINFO']._serialized_end=11330 + _globals['_SIPCALLINFO_PARTICIPANTATTRIBUTESENTRY']._serialized_start=9749 + _globals['_SIPCALLINFO_PARTICIPANTATTRIBUTESENTRY']._serialized_end=9809 + _globals['_SIPTRANSFERINFO']._serialized_start=11333 + _globals['_SIPTRANSFERINFO']._serialized_end=11595 + _globals['_SIPURI']._serialized_start=11597 + _globals['_SIPURI']._serialized_end=11701 + _globals['_DESTINATION']._serialized_start=11703 + _globals['_DESTINATION']._serialized_end=11763 + _globals['_SIP']._serialized_start=15161 + _globals['_SIP']._serialized_end=16656 # @@protoc_insertion_point(module_scope) diff --git a/livekit-protocol/livekit/protocol/sip.pyi b/livekit-protocol/livekit/protocol/sip.pyi index 6cc4f325..7138294c 100644 --- a/livekit-protocol/livekit/protocol/sip.pyi +++ b/livekit-protocol/livekit/protocol/sip.pyi @@ -665,7 +665,7 @@ class UpdateSIPDispatchRuleRequest(_message.Message): def __init__(self, sip_dispatch_rule_id: _Optional[str] = ..., replace: _Optional[_Union[SIPDispatchRuleInfo, _Mapping]] = ..., update: _Optional[_Union[SIPDispatchRuleUpdate, _Mapping]] = ...) -> None: ... class SIPDispatchRuleInfo(_message.Message): - __slots__ = ("sip_dispatch_rule_id", "rule", "trunk_ids", "hide_phone_number", "inbound_numbers", "name", "metadata", "attributes", "room_preset", "room_config", "krisp_enabled", "media_encryption") + __slots__ = ("sip_dispatch_rule_id", "rule", "trunk_ids", "hide_phone_number", "inbound_numbers", "numbers", "name", "metadata", "attributes", "room_preset", "room_config", "krisp_enabled", "media_encryption") class AttributesEntry(_message.Message): __slots__ = ("key", "value") KEY_FIELD_NUMBER: _ClassVar[int] @@ -678,6 +678,7 @@ class SIPDispatchRuleInfo(_message.Message): TRUNK_IDS_FIELD_NUMBER: _ClassVar[int] HIDE_PHONE_NUMBER_FIELD_NUMBER: _ClassVar[int] INBOUND_NUMBERS_FIELD_NUMBER: _ClassVar[int] + NUMBERS_FIELD_NUMBER: _ClassVar[int] NAME_FIELD_NUMBER: _ClassVar[int] METADATA_FIELD_NUMBER: _ClassVar[int] ATTRIBUTES_FIELD_NUMBER: _ClassVar[int] @@ -690,6 +691,7 @@ class SIPDispatchRuleInfo(_message.Message): trunk_ids: _containers.RepeatedScalarFieldContainer[str] hide_phone_number: bool inbound_numbers: _containers.RepeatedScalarFieldContainer[str] + numbers: _containers.RepeatedScalarFieldContainer[str] name: str metadata: str attributes: _containers.ScalarMap[str, str] @@ -697,7 +699,7 @@ class SIPDispatchRuleInfo(_message.Message): room_config: _room.RoomConfiguration krisp_enabled: bool media_encryption: SIPMediaEncryption - def __init__(self, sip_dispatch_rule_id: _Optional[str] = ..., rule: _Optional[_Union[SIPDispatchRule, _Mapping]] = ..., trunk_ids: _Optional[_Iterable[str]] = ..., hide_phone_number: bool = ..., inbound_numbers: _Optional[_Iterable[str]] = ..., name: _Optional[str] = ..., metadata: _Optional[str] = ..., attributes: _Optional[_Mapping[str, str]] = ..., room_preset: _Optional[str] = ..., room_config: _Optional[_Union[_room.RoomConfiguration, _Mapping]] = ..., krisp_enabled: bool = ..., media_encryption: _Optional[_Union[SIPMediaEncryption, str]] = ...) -> None: ... + def __init__(self, sip_dispatch_rule_id: _Optional[str] = ..., rule: _Optional[_Union[SIPDispatchRule, _Mapping]] = ..., trunk_ids: _Optional[_Iterable[str]] = ..., hide_phone_number: bool = ..., inbound_numbers: _Optional[_Iterable[str]] = ..., numbers: _Optional[_Iterable[str]] = ..., name: _Optional[str] = ..., metadata: _Optional[str] = ..., attributes: _Optional[_Mapping[str, str]] = ..., room_preset: _Optional[str] = ..., room_config: _Optional[_Union[_room.RoomConfiguration, _Mapping]] = ..., krisp_enabled: bool = ..., media_encryption: _Optional[_Union[SIPMediaEncryption, str]] = ...) -> None: ... class SIPDispatchRuleUpdate(_message.Message): __slots__ = ("trunk_ids", "rule", "name", "metadata", "attributes", "media_encryption") @@ -874,7 +876,7 @@ class TransferSIPParticipantRequest(_message.Message): def __init__(self, participant_identity: _Optional[str] = ..., room_name: _Optional[str] = ..., transfer_to: _Optional[str] = ..., play_dialtone: bool = ..., headers: _Optional[_Mapping[str, str]] = ..., ringing_timeout: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ...) -> None: ... class SIPCallInfo(_message.Message): - __slots__ = ("call_id", "trunk_id", "dispatch_rule_id", "region", "room_name", "room_id", "participant_identity", "participant_attributes", "from_uri", "to_uri", "created_at", "started_at", "ended_at", "enabled_features", "call_direction", "call_status", "created_at_ns", "started_at_ns", "ended_at_ns", "disconnect_reason", "error", "call_status_code", "audio_codec", "media_encryption", "pcap_file_link", "call_context", "provider_info") + __slots__ = ("call_id", "trunk_id", "dispatch_rule_id", "region", "room_name", "room_id", "participant_identity", "participant_attributes", "from_uri", "to_uri", "created_at", "started_at", "ended_at", "enabled_features", "call_direction", "call_status", "created_at_ns", "started_at_ns", "ended_at_ns", "disconnect_reason", "error", "call_status_code", "audio_codec", "media_encryption", "pcap_file_link", "call_context", "provider_info", "sip_call_id") class ParticipantAttributesEntry(_message.Message): __slots__ = ("key", "value") KEY_FIELD_NUMBER: _ClassVar[int] @@ -909,6 +911,7 @@ class SIPCallInfo(_message.Message): PCAP_FILE_LINK_FIELD_NUMBER: _ClassVar[int] CALL_CONTEXT_FIELD_NUMBER: _ClassVar[int] PROVIDER_INFO_FIELD_NUMBER: _ClassVar[int] + SIP_CALL_ID_FIELD_NUMBER: _ClassVar[int] call_id: str trunk_id: str dispatch_rule_id: str @@ -936,7 +939,8 @@ class SIPCallInfo(_message.Message): pcap_file_link: str call_context: _containers.RepeatedCompositeFieldContainer[_any_pb2.Any] provider_info: ProviderInfo - def __init__(self, call_id: _Optional[str] = ..., trunk_id: _Optional[str] = ..., dispatch_rule_id: _Optional[str] = ..., region: _Optional[str] = ..., room_name: _Optional[str] = ..., room_id: _Optional[str] = ..., participant_identity: _Optional[str] = ..., participant_attributes: _Optional[_Mapping[str, str]] = ..., from_uri: _Optional[_Union[SIPUri, _Mapping]] = ..., to_uri: _Optional[_Union[SIPUri, _Mapping]] = ..., created_at: _Optional[int] = ..., started_at: _Optional[int] = ..., ended_at: _Optional[int] = ..., enabled_features: _Optional[_Iterable[_Union[SIPFeature, str]]] = ..., call_direction: _Optional[_Union[SIPCallDirection, str]] = ..., call_status: _Optional[_Union[SIPCallStatus, str]] = ..., created_at_ns: _Optional[int] = ..., started_at_ns: _Optional[int] = ..., ended_at_ns: _Optional[int] = ..., disconnect_reason: _Optional[_Union[_models.DisconnectReason, str]] = ..., error: _Optional[str] = ..., call_status_code: _Optional[_Union[SIPStatus, _Mapping]] = ..., audio_codec: _Optional[str] = ..., media_encryption: _Optional[str] = ..., pcap_file_link: _Optional[str] = ..., call_context: _Optional[_Iterable[_Union[_any_pb2.Any, _Mapping]]] = ..., provider_info: _Optional[_Union[ProviderInfo, _Mapping]] = ...) -> None: ... + sip_call_id: str + def __init__(self, call_id: _Optional[str] = ..., trunk_id: _Optional[str] = ..., dispatch_rule_id: _Optional[str] = ..., region: _Optional[str] = ..., room_name: _Optional[str] = ..., room_id: _Optional[str] = ..., participant_identity: _Optional[str] = ..., participant_attributes: _Optional[_Mapping[str, str]] = ..., from_uri: _Optional[_Union[SIPUri, _Mapping]] = ..., to_uri: _Optional[_Union[SIPUri, _Mapping]] = ..., created_at: _Optional[int] = ..., started_at: _Optional[int] = ..., ended_at: _Optional[int] = ..., enabled_features: _Optional[_Iterable[_Union[SIPFeature, str]]] = ..., call_direction: _Optional[_Union[SIPCallDirection, str]] = ..., call_status: _Optional[_Union[SIPCallStatus, str]] = ..., created_at_ns: _Optional[int] = ..., started_at_ns: _Optional[int] = ..., ended_at_ns: _Optional[int] = ..., disconnect_reason: _Optional[_Union[_models.DisconnectReason, str]] = ..., error: _Optional[str] = ..., call_status_code: _Optional[_Union[SIPStatus, _Mapping]] = ..., audio_codec: _Optional[str] = ..., media_encryption: _Optional[str] = ..., pcap_file_link: _Optional[str] = ..., call_context: _Optional[_Iterable[_Union[_any_pb2.Any, _Mapping]]] = ..., provider_info: _Optional[_Union[ProviderInfo, _Mapping]] = ..., sip_call_id: _Optional[str] = ...) -> None: ... class SIPTransferInfo(_message.Message): __slots__ = ("transfer_id", "call_id", "transfer_to", "transfer_initiated_at_ns", "transfer_completed_at_ns", "transfer_status", "error", "transfer_status_code") diff --git a/livekit-protocol/livekit/protocol/version.py b/livekit-protocol/livekit/protocol/version.py index a82b376d..72f26f59 100644 --- a/livekit-protocol/livekit/protocol/version.py +++ b/livekit-protocol/livekit/protocol/version.py @@ -1 +1 @@ -__version__ = "1.1.1" +__version__ = "1.1.2" diff --git a/livekit-protocol/protocol b/livekit-protocol/protocol index fcc48786..765a80e4 160000 --- a/livekit-protocol/protocol +++ b/livekit-protocol/protocol @@ -1 +1 @@ -Subproject commit fcc48786b42607b8ba87e840a5c1d39e00b5f4e9 +Subproject commit 765a80e4298e376593859c3f11cf748c725f68f9