diff --git a/livekit-protocol/generate_proto.sh b/livekit-protocol/generate_proto.sh index 8a1aca23..003850a6 100755 --- a/livekit-protocol/generate_proto.sh +++ b/livekit-protocol/generate_proto.sh @@ -91,11 +91,15 @@ mkdir -p "$API_OUT_PYTHON/logger_pb" mv "$API_OUT_PYTHON/logger/options_pb2.py" "$API_OUT_PYTHON/logger_pb/options.py" mv "$API_OUT_PYTHON/logger/options_pb2.pyi" "$API_OUT_PYTHON/logger_pb/options.pyi" -perl -i -pe 's|^(import (livekit_egress_pb2\|livekit_room_pb2\|livekit_webhook_pb2\|livekit_ingress_pb2\|livekit_models_pb2\|livekit_agent_pb2\|livekit_agent_dispatch_pb2\|livekit_analytics_pb2\|livekit_sip_pb2\|livekit_metrics_pb2\|livekit_rtc_pb2\|livekit_connector_whatsapp_pb2\|livekit_connector_twilio_pb2\|livekit_connector_pb2\|livekit_agent_session_pb2\|options_pb2))|from . $1|g' "$API_OUT_PYTHON"/**.py "$API_OUT_PYTHON"/**.pyi +find "$API_OUT_PYTHON" -name '*.py' -o -name '*.pyi' | xargs perl -i -pe 's|^(import (livekit_egress_pb2\|livekit_room_pb2\|livekit_webhook_pb2\|livekit_ingress_pb2\|livekit_models_pb2\|livekit_agent_pb2\|livekit_agent_dispatch_pb2\|livekit_analytics_pb2\|livekit_sip_pb2\|livekit_metrics_pb2\|livekit_rtc_pb2\|livekit_connector_whatsapp_pb2\|livekit_connector_twilio_pb2\|livekit_connector_pb2\|livekit_agent_session_pb2\|options_pb2))|from . $1|g' -perl -i -pe 's|livekit_(\w+)_pb2|${1}|g' "$API_OUT_PYTHON"/**.py "$API_OUT_PYTHON"/**.pyi +find "$API_OUT_PYTHON" -name '*.py' -o -name '*.pyi' | xargs perl -i -pe 's|livekit_(\w+)_pb2|${1}|g' -perl -i -pe 's|from logger import options_pb2 as ([^ ]+)|from .logger_pb import options as $1|g' "$API_OUT_PYTHON"/**.py "$API_OUT_PYTHON"/**.pyi +# fix logger imports for top-level files +find "$API_OUT_PYTHON" -maxdepth 1 -name '*.py' -o -name '*.pyi' | xargs perl -i -pe 's|from logger import options_pb2 as ([^ ]+)|from .logger_pb import options as $1|g' + +# fix logger imports for files in subdirectories (need parent-relative import) +find "$API_OUT_PYTHON" -mindepth 2 -name '*.py' -o -name '*.pyi' | xargs perl -i -pe 's|from logger import options_pb2 as ([^ ]+)|from ..logger_pb import options as $1|g' # fixes - error: ClassVar can only be used for assignments in class body [misc] perl -i -pe 's|^(\w+_FIELD_NUMBER): _ClassVar\[int\]|$1: int|g' "$API_OUT_PYTHON/logger_pb/options.pyi" \ No newline at end of file diff --git a/livekit-protocol/livekit/protocol/agent.py b/livekit-protocol/livekit/protocol/agent.py index 3e5076a2..9ff9c26a 100644 --- a/livekit-protocol/livekit/protocol/agent.py +++ b/livekit-protocol/livekit/protocol/agent.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\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') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x13livekit_agent.proto\x12\x07livekit\x1a\x14livekit_models.proto\x1a\x14logger/options.proto\"\xb0\x02\n\x03Job\x12\n\n\x02id\x18\x01 \x01(\t\x12#\n\x0b\x64ispatch_id\x18\t \x01(\tB\x0e\x9a\xec,\ndispatchID\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\"\xd5\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\x1f\n\tworker_id\x18\x07 \x01(\tB\x0c\x9a\xec,\x08workerID\x12\x1d\n\x08\x61gent_id\x18\x08 \x01(\tB\x0b\x9a\xec,\x07\x61gentID\"\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\"c\n\x16RegisterWorkerResponse\x12\x1f\n\tworker_id\x18\x01 \x01(\tB\x0c\x9a\xec,\x08workerID\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\"\xde\x02\n\x14\x41vailabilityResponse\x12\x19\n\x06job_id\x18\x01 \x01(\tB\t\x9a\xec,\x05jobID\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\"_\n\x0fUpdateJobStatus\x12\x19\n\x06job_id\x18\x01 \x01(\tB\t\x9a\xec,\x05jobID\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\x19\n\x06job_id\x18\x01 \x01(\tB\t\x9a\xec,\x05jobID*<\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) @@ -23,54 +24,62 @@ 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['_JOB'].fields_by_name['dispatch_id']._options = None + _globals['_JOB'].fields_by_name['dispatch_id']._serialized_options = b'\232\354,\ndispatchID' _globals['_JOB'].fields_by_name['namespace']._options = None _globals['_JOB'].fields_by_name['namespace']._serialized_options = b'\030\001' + _globals['_JOBSTATE'].fields_by_name['worker_id']._options = None + _globals['_JOBSTATE'].fields_by_name['worker_id']._serialized_options = b'\232\354,\010workerID' + _globals['_JOBSTATE'].fields_by_name['agent_id']._options = None + _globals['_JOBSTATE'].fields_by_name['agent_id']._serialized_options = b'\232\354,\007agentID' + _globals['_REGISTERWORKERRESPONSE'].fields_by_name['worker_id']._options = None + _globals['_REGISTERWORKERRESPONSE'].fields_by_name['worker_id']._serialized_options = b'\232\354,\010workerID' _globals['_AVAILABILITYRESPONSE_PARTICIPANTATTRIBUTESENTRY']._options = None _globals['_AVAILABILITYRESPONSE_PARTICIPANTATTRIBUTESENTRY']._serialized_options = b'8\001' - _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=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 + _globals['_AVAILABILITYRESPONSE'].fields_by_name['job_id']._options = None + _globals['_AVAILABILITYRESPONSE'].fields_by_name['job_id']._serialized_options = b'\232\354,\005jobID' + _globals['_UPDATEJOBSTATUS'].fields_by_name['job_id']._options = None + _globals['_UPDATEJOBSTATUS'].fields_by_name['job_id']._serialized_options = b'\232\354,\005jobID' + _globals['_JOBTERMINATION'].fields_by_name['job_id']._options = None + _globals['_JOBTERMINATION'].fields_by_name['job_id']._serialized_options = b'\232\354,\005jobID' + _globals['_JOBTYPE']._serialized_start=2580 + _globals['_JOBTYPE']._serialized_end=2640 + _globals['_WORKERSTATUS']._serialized_start=2642 + _globals['_WORKERSTATUS']._serialized_end=2687 + _globals['_JOBSTATUS']._serialized_start=2689 + _globals['_JOBSTATUS']._serialized_end=2763 + _globals['_JOB']._serialized_start=77 + _globals['_JOB']._serialized_end=381 + _globals['_JOBSTATE']._serialized_start=384 + _globals['_JOBSTATE']._serialized_end=597 + _globals['_WORKERMESSAGE']._serialized_start=600 + _globals['_WORKERMESSAGE']._serialized_end=976 + _globals['_SERVERMESSAGE']._serialized_start=979 + _globals['_SERVERMESSAGE']._serialized_end=1243 + _globals['_SIMULATEJOBREQUEST']._serialized_start=1246 + _globals['_SIMULATEJOBREQUEST']._serialized_end=1374 + _globals['_WORKERPING']._serialized_start=1376 + _globals['_WORKERPING']._serialized_end=1407 + _globals['_WORKERPONG']._serialized_start=1409 + _globals['_WORKERPONG']._serialized_end=1464 + _globals['_REGISTERWORKERREQUEST']._serialized_start=1467 + _globals['_REGISTERWORKERREQUEST']._serialized_end=1681 + _globals['_REGISTERWORKERRESPONSE']._serialized_start=1683 + _globals['_REGISTERWORKERRESPONSE']._serialized_end=1782 + _globals['_MIGRATEJOBREQUEST']._serialized_start=1784 + _globals['_MIGRATEJOBREQUEST']._serialized_end=1820 + _globals['_AVAILABILITYREQUEST']._serialized_start=1822 + _globals['_AVAILABILITYREQUEST']._serialized_end=1888 + _globals['_AVAILABILITYRESPONSE']._serialized_start=1891 + _globals['_AVAILABILITYRESPONSE']._serialized_end=2241 + _globals['_AVAILABILITYRESPONSE_PARTICIPANTATTRIBUTESENTRY']._serialized_start=2181 + _globals['_AVAILABILITYRESPONSE_PARTICIPANTATTRIBUTESENTRY']._serialized_end=2241 + _globals['_UPDATEJOBSTATUS']._serialized_start=2243 + _globals['_UPDATEJOBSTATUS']._serialized_end=2338 + _globals['_UPDATEWORKERSTATUS']._serialized_start=2340 + _globals['_UPDATEWORKERSTATUS']._serialized_end=2448 + _globals['_JOBASSIGNMENT']._serialized_start=2450 + _globals['_JOBASSIGNMENT']._serialized_end=2533 + _globals['_JOBTERMINATION']._serialized_start=2535 + _globals['_JOBTERMINATION']._serialized_end=2578 # @@protoc_insertion_point(module_scope) diff --git a/livekit-protocol/livekit/protocol/agent.pyi b/livekit-protocol/livekit/protocol/agent.pyi index 9420b1d7..a0a7901b 100644 --- a/livekit-protocol/livekit/protocol/agent.pyi +++ b/livekit-protocol/livekit/protocol/agent.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 @@ -79,7 +80,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", "text_response", "push_text") + __slots__ = ("register", "availability", "update_worker", "update_job", "ping", "simulate_job", "migrate_job") REGISTER_FIELD_NUMBER: _ClassVar[int] AVAILABILITY_FIELD_NUMBER: _ClassVar[int] UPDATE_WORKER_FIELD_NUMBER: _ClassVar[int] @@ -87,8 +88,6 @@ 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 @@ -96,25 +95,21 @@ class WorkerMessage(_message.Message): ping: WorkerPing simulate_job: SimulateJobRequest migrate_job: MigrateJobRequest - 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: ... + 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: ... class ServerMessage(_message.Message): - __slots__ = ("register", "availability", "assignment", "termination", "pong", "text_request") + __slots__ = ("register", "availability", "assignment", "termination", "pong") 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 - 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: ... + 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: ... class SimulateJobRequest(_message.Message): __slots__ = ("type", "room", "participant") @@ -240,37 +235,3 @@ 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 cccfd4f8..0dbfac94 100644 --- a/livekit-protocol/livekit/protocol/agent_dispatch.py +++ b/livekit-protocol/livekit/protocol/agent_dispatch.py @@ -16,7 +16,7 @@ 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\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') +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\"O\n\x1a\x44\x65leteAgentDispatchRequest\x12#\n\x0b\x64ispatch_id\x18\x01 \x01(\tB\x0e\x9a\xec,\ndispatchID\x12\x0c\n\x04room\x18\x02 \x01(\t\"M\n\x18ListAgentDispatchRequest\x12#\n\x0b\x64ispatch_id\x18\x01 \x01(\tB\x0e\x9a\xec,\ndispatchID\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) @@ -28,6 +28,10 @@ _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['_DELETEAGENTDISPATCHREQUEST'].fields_by_name['dispatch_id']._options = None + _globals['_DELETEAGENTDISPATCHREQUEST'].fields_by_name['dispatch_id']._serialized_options = b'\232\354,\ndispatchID' + _globals['_LISTAGENTDISPATCHREQUEST'].fields_by_name['dispatch_id']._options = None + _globals['_LISTAGENTDISPATCHREQUEST'].fields_by_name['dispatch_id']._serialized_options = b'\232\354,\ndispatchID' _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 @@ -35,15 +39,15 @@ _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 + _globals['_DELETEAGENTDISPATCHREQUEST']._serialized_end=316 + _globals['_LISTAGENTDISPATCHREQUEST']._serialized_start=318 + _globals['_LISTAGENTDISPATCHREQUEST']._serialized_end=395 + _globals['_LISTAGENTDISPATCHRESPONSE']._serialized_start=397 + _globals['_LISTAGENTDISPATCHRESPONSE']._serialized_end=474 + _globals['_AGENTDISPATCH']._serialized_start=477 + _globals['_AGENTDISPATCH']._serialized_end=606 + _globals['_AGENTDISPATCHSTATE']._serialized_start=608 + _globals['_AGENTDISPATCHSTATE']._serialized_end=696 + _globals['_AGENTDISPATCHSERVICE']._serialized_start=699 + _globals['_AGENTDISPATCHSERVICE']._serialized_end=966 # @@protoc_insertion_point(module_scope) diff --git a/livekit-protocol/livekit/protocol/agent_pb/agent_session.py b/livekit-protocol/livekit/protocol/agent_pb/agent_session.py index 495d4196..1e09a965 100644 --- a/livekit-protocol/livekit/protocol/agent_pb/agent_session.py +++ b/livekit-protocol/livekit/protocol/agent_pb/agent_session.py @@ -12,37 +12,131 @@ _sym_db = _symbol_database.Default() +from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +from ..logger_pb import options as logger_dot_options__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!agent/livekit_agent_session.proto\x12\rlivekit.agent\x1a\x1fgoogle/protobuf/timestamp.proto\"\xc3\x03\n\rMetricsReport\x12\x37\n\x13started_speaking_at\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x37\n\x13stopped_speaking_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12 \n\x13transcription_delay\x18\x03 \x01(\x01H\x00\x88\x01\x01\x12\x1e\n\x11\x65nd_of_turn_delay\x18\x04 \x01(\x01H\x01\x88\x01\x01\x12)\n\x1con_user_turn_completed_delay\x18\x05 \x01(\x01H\x02\x88\x01\x01\x12\x1a\n\rllm_node_ttft\x18\x06 \x01(\x01H\x03\x88\x01\x01\x12\x1a\n\rtts_node_ttfb\x18\x07 \x01(\x01H\x04\x88\x01\x01\x12\x18\n\x0b\x65\x32\x65_latency\x18\x08 \x01(\x01H\x05\x88\x01\x01\x42\x16\n\x14_transcription_delayB\x14\n\x12_end_of_turn_delayB\x1f\n\x1d_on_user_turn_completed_delayB\x10\n\x0e_llm_node_ttftB\x10\n\x0e_tts_node_ttfbB\x0e\n\x0c_e2e_latency\"\xb9\x03\n\x0b\x43hatMessage\x12\n\n\x02id\x18\x01 \x01(\t\x12%\n\x04role\x18\x02 \x01(\x0e\x32\x17.livekit.agent.ChatRole\x12\x37\n\x07\x63ontent\x18\x03 \x03(\x0b\x32&.livekit.agent.ChatMessage.ChatContent\x12\x13\n\x0binterrupted\x18\x04 \x01(\x08\x12\"\n\x15transcript_confidence\x18\x05 \x01(\x01H\x00\x88\x01\x01\x12\x34\n\x05\x65xtra\x18\x06 \x03(\x0b\x32%.livekit.agent.ChatMessage.ExtraEntry\x12-\n\x07metrics\x18\x07 \x01(\x0b\x32\x1c.livekit.agent.MetricsReport\x12.\n\ncreated_at\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x1a(\n\x0b\x43hatContent\x12\x0e\n\x04text\x18\x01 \x01(\tH\x00\x42\t\n\x07payload\x1a,\n\nExtraEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x18\n\x16_transcript_confidence\"|\n\x0c\x46unctionCall\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0f\n\x07\x63\x61ll_id\x18\x02 \x01(\t\x12\x11\n\targuments\x18\x03 \x01(\t\x12\x0c\n\x04name\x18\x04 \x01(\t\x12.\n\ncreated_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\x91\x01\n\x12\x46unctionCallOutput\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0f\n\x07\x63\x61ll_id\x18\x03 \x01(\t\x12\x0e\n\x06output\x18\x04 \x01(\t\x12\x10\n\x08is_error\x18\x05 \x01(\x08\x12.\n\ncreated_at\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\x8c\x01\n\x0c\x41gentHandoff\x12\n\n\x02id\x18\x01 \x01(\t\x12\x19\n\x0cold_agent_id\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x14\n\x0cnew_agent_id\x18\x03 \x01(\t\x12.\n\ncreated_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x0f\n\r_old_agent_id\"\xb4\x02\n\x0b\x43hatContext\x12\x32\n\x05items\x18\x01 \x03(\x0b\x32#.livekit.agent.ChatContext.ChatItem\x1a\xf0\x01\n\x08\x43hatItem\x12-\n\x07message\x18\x01 \x01(\x0b\x32\x1a.livekit.agent.ChatMessageH\x00\x12\x34\n\rfunction_call\x18\x02 \x01(\x0b\x32\x1b.livekit.agent.FunctionCallH\x00\x12\x41\n\x14\x66unction_call_output\x18\x03 \x01(\x0b\x32!.livekit.agent.FunctionCallOutputH\x00\x12\x34\n\ragent_handoff\x18\x04 \x01(\x0b\x32\x1b.livekit.agent.AgentHandoffH\x00\x42\x06\n\x04item*>\n\x08\x43hatRole\x12\r\n\tDEVELOPER\x10\x00\x12\n\n\x06SYSTEM\x10\x01\x12\x08\n\x04USER\x10\x02\x12\r\n\tASSISTANT\x10\x03\x42+Z)github.com/livekit/protocol/livekit/agentb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!agent/livekit_agent_session.proto\x12\rlivekit.agent\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x14logger/options.proto\"\xc3\x03\n\rMetricsReport\x12\x37\n\x13started_speaking_at\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x37\n\x13stopped_speaking_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12 \n\x13transcription_delay\x18\x03 \x01(\x01H\x00\x88\x01\x01\x12\x1e\n\x11\x65nd_of_turn_delay\x18\x04 \x01(\x01H\x01\x88\x01\x01\x12)\n\x1con_user_turn_completed_delay\x18\x05 \x01(\x01H\x02\x88\x01\x01\x12\x1a\n\rllm_node_ttft\x18\x06 \x01(\x01H\x03\x88\x01\x01\x12\x1a\n\rtts_node_ttfb\x18\x07 \x01(\x01H\x04\x88\x01\x01\x12\x18\n\x0b\x65\x32\x65_latency\x18\x08 \x01(\x01H\x05\x88\x01\x01\x42\x16\n\x14_transcription_delayB\x14\n\x12_end_of_turn_delayB\x1f\n\x1d_on_user_turn_completed_delayB\x10\n\x0e_llm_node_ttftB\x10\n\x0e_tts_node_ttfbB\x0e\n\x0c_e2e_latency\"\xb9\x03\n\x0b\x43hatMessage\x12\n\n\x02id\x18\x01 \x01(\t\x12%\n\x04role\x18\x02 \x01(\x0e\x32\x17.livekit.agent.ChatRole\x12\x37\n\x07\x63ontent\x18\x03 \x03(\x0b\x32&.livekit.agent.ChatMessage.ChatContent\x12\x13\n\x0binterrupted\x18\x04 \x01(\x08\x12\"\n\x15transcript_confidence\x18\x05 \x01(\x01H\x00\x88\x01\x01\x12\x34\n\x05\x65xtra\x18\x06 \x03(\x0b\x32%.livekit.agent.ChatMessage.ExtraEntry\x12-\n\x07metrics\x18\x07 \x01(\x0b\x32\x1c.livekit.agent.MetricsReport\x12.\n\ncreated_at\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x1a(\n\x0b\x43hatContent\x12\x0e\n\x04text\x18\x01 \x01(\tH\x00\x42\t\n\x07payload\x1a,\n\nExtraEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x18\n\x16_transcript_confidence\"\x88\x01\n\x0c\x46unctionCall\x12\n\n\x02id\x18\x01 \x01(\t\x12\x1b\n\x07\x63\x61ll_id\x18\x02 \x01(\tB\n\x9a\xec,\x06\x63\x61llID\x12\x11\n\targuments\x18\x03 \x01(\t\x12\x0c\n\x04name\x18\x04 \x01(\t\x12.\n\ncreated_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\x9d\x01\n\x12\x46unctionCallOutput\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x1b\n\x07\x63\x61ll_id\x18\x03 \x01(\tB\n\x9a\xec,\x06\x63\x61llID\x12\x0e\n\x06output\x18\x04 \x01(\t\x12\x10\n\x08is_error\x18\x05 \x01(\x08\x12.\n\ncreated_at\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xac\x01\n\x0c\x41gentHandoff\x12\n\n\x02id\x18\x01 \x01(\t\x12)\n\x0cold_agent_id\x18\x02 \x01(\tB\x0e\x9a\xec,\noldAgentIDH\x00\x88\x01\x01\x12$\n\x0cnew_agent_id\x18\x03 \x01(\tB\x0e\x9a\xec,\nnewAgentID\x12.\n\ncreated_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x0f\n\r_old_agent_id\"\xa7\x01\n\x11\x41gentConfigUpdate\x12\n\n\x02id\x18\x01 \x01(\t\x12\x19\n\x0cinstructions\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x0btools_added\x18\x03 \x03(\t\x12\x15\n\rtools_removed\x18\x04 \x03(\t\x12.\n\ncreated_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x0f\n\r_instructions\"\xf5\x02\n\x0b\x43hatContext\x12\x32\n\x05items\x18\x01 \x03(\x0b\x32#.livekit.agent.ChatContext.ChatItem\x1a\xb1\x02\n\x08\x43hatItem\x12-\n\x07message\x18\x01 \x01(\x0b\x32\x1a.livekit.agent.ChatMessageH\x00\x12\x34\n\rfunction_call\x18\x02 \x01(\x0b\x32\x1b.livekit.agent.FunctionCallH\x00\x12\x41\n\x14\x66unction_call_output\x18\x03 \x01(\x0b\x32!.livekit.agent.FunctionCallOutputH\x00\x12\x34\n\ragent_handoff\x18\x04 \x01(\x0b\x32\x1b.livekit.agent.AgentHandoffH\x00\x12?\n\x13\x61gent_config_update\x18\x05 \x01(\x0b\x32 .livekit.agent.AgentConfigUpdateH\x00\x42\x06\n\x04item\"\x88\x03\n\rLLMModelUsage\x12\x10\n\x08provider\x18\x01 \x01(\t\x12\r\n\x05model\x18\x02 \x01(\t\x12\x14\n\x0cinput_tokens\x18\x03 \x01(\x05\x12\x1b\n\x13input_cached_tokens\x18\x04 \x01(\x05\x12\x1a\n\x12input_audio_tokens\x18\x05 \x01(\x05\x12!\n\x19input_cached_audio_tokens\x18\x06 \x01(\x05\x12\x19\n\x11input_text_tokens\x18\x07 \x01(\x05\x12 \n\x18input_cached_text_tokens\x18\x08 \x01(\x05\x12\x1a\n\x12input_image_tokens\x18\t \x01(\x05\x12!\n\x19input_cached_image_tokens\x18\n \x01(\x05\x12\x15\n\routput_tokens\x18\x0b \x01(\x05\x12\x1b\n\x13output_audio_tokens\x18\x0c \x01(\x05\x12\x1a\n\x12output_text_tokens\x18\r \x01(\x05\x12\x18\n\x10session_duration\x18\x0e \x01(\x01\"\x8f\x01\n\rTTSModelUsage\x12\x10\n\x08provider\x18\x01 \x01(\t\x12\r\n\x05model\x18\x02 \x01(\t\x12\x14\n\x0cinput_tokens\x18\x03 \x01(\x05\x12\x15\n\routput_tokens\x18\x04 \x01(\x05\x12\x18\n\x10\x63haracters_count\x18\x05 \x01(\x05\x12\x16\n\x0e\x61udio_duration\x18\x06 \x01(\x01\"u\n\rSTTModelUsage\x12\x10\n\x08provider\x18\x01 \x01(\t\x12\r\n\x05model\x18\x02 \x01(\t\x12\x14\n\x0cinput_tokens\x18\x03 \x01(\x05\x12\x15\n\routput_tokens\x18\x04 \x01(\x05\x12\x16\n\x0e\x61udio_duration\x18\x05 \x01(\x01\"Q\n\x16InterruptionModelUsage\x12\x10\n\x08provider\x18\x01 \x01(\t\x12\r\n\x05model\x18\x02 \x01(\t\x12\x16\n\x0etotal_requests\x18\x03 \x01(\x05\"\xdb\x01\n\nModelUsage\x12+\n\x03llm\x18\x01 \x01(\x0b\x32\x1c.livekit.agent.LLMModelUsageH\x00\x12+\n\x03tts\x18\x02 \x01(\x0b\x32\x1c.livekit.agent.TTSModelUsageH\x00\x12+\n\x03stt\x18\x03 \x01(\x0b\x32\x1c.livekit.agent.STTModelUsageH\x00\x12=\n\x0cinterruption\x18\x04 \x01(\x0b\x32%.livekit.agent.InterruptionModelUsageH\x00\x42\x07\n\x05usage\"C\n\x11\x41gentSessionUsage\x12.\n\x0bmodel_usage\x18\x01 \x03(\x0b\x32\x19.livekit.agent.ModelUsage\"\xae\x0c\n\x11\x41gentSessionEvent\x12.\n\ncreated_at\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12Q\n\x13\x61gent_state_changed\x18\n \x01(\x0b\x32\x32.livekit.agent.AgentSessionEvent.AgentStateChangedH\x00\x12O\n\x12user_state_changed\x18\x0b \x01(\x0b\x32\x31.livekit.agent.AgentSessionEvent.UserStateChangedH\x00\x12Y\n\x17\x63onversation_item_added\x18\x0c \x01(\x0b\x32\x36.livekit.agent.AgentSessionEvent.ConversationItemAddedH\x00\x12W\n\x16user_input_transcribed\x18\r \x01(\x0b\x32\x35.livekit.agent.AgentSessionEvent.UserInputTranscribedH\x00\x12Y\n\x17\x66unction_tools_executed\x18\x0e \x01(\x0b\x32\x36.livekit.agent.AgentSessionEvent.FunctionToolsExecutedH\x00\x12\x37\n\x05\x65rror\x18\x0f \x01(\x0b\x32&.livekit.agent.AgentSessionEvent.ErrorH\x00\x12P\n\x12overlapping_speech\x18\x10 \x01(\x0b\x32\x32.livekit.agent.AgentSessionEvent.OverlappingSpeechH\x00\x12U\n\x15session_usage_updated\x18\x11 \x01(\x0b\x32\x34.livekit.agent.AgentSessionEvent.SessionUsageUpdatedH\x00\x1ao\n\x11\x41gentStateChanged\x12,\n\told_state\x18\x01 \x01(\x0e\x32\x19.livekit.agent.AgentState\x12,\n\tnew_state\x18\x02 \x01(\x0e\x32\x19.livekit.agent.AgentState\x1al\n\x10UserStateChanged\x12+\n\told_state\x18\x01 \x01(\x0e\x32\x18.livekit.agent.UserState\x12+\n\tnew_state\x18\x02 \x01(\x0e\x32\x18.livekit.agent.UserState\x1aJ\n\x15\x43onversationItemAdded\x12\x31\n\x04item\x18\x01 \x01(\x0b\x32#.livekit.agent.ChatContext.ChatItem\x1a`\n\x14UserInputTranscribed\x12\x12\n\ntranscript\x18\x01 \x01(\t\x12\x10\n\x08is_final\x18\x02 \x01(\x08\x12\x15\n\x08language\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0b\n\t_language\x1a\x8e\x01\n\x15\x46unctionToolsExecuted\x12\x33\n\x0e\x66unction_calls\x18\x01 \x03(\x0b\x32\x1b.livekit.agent.FunctionCall\x12@\n\x15\x66unction_call_outputs\x18\x02 \x03(\x0b\x32!.livekit.agent.FunctionCallOutput\x1a\x18\n\x05\x45rror\x12\x0f\n\x07message\x18\x01 \x01(\t\x1a\xca\x01\n\x11OverlappingSpeech\x12\x17\n\x0fis_interruption\x18\x01 \x01(\x08\x12;\n\x12overlap_started_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00\x88\x01\x01\x12\x17\n\x0f\x64\x65tection_delay\x18\x03 \x01(\x01\x12/\n\x0b\x64\x65tected_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x15\n\x13_overlap_started_at\x1a\x46\n\x13SessionUsageUpdated\x12/\n\x05usage\x18\x01 \x01(\x0b\x32 .livekit.agent.AgentSessionUsageB\x07\n\x05\x65vent\"\x85\x05\n\x0eSessionRequest\x12\x12\n\nrequest_id\x18\x01 \x01(\t\x12\x32\n\x04ping\x18\x02 \x01(\x0b\x32\".livekit.agent.SessionRequest.PingH\x00\x12H\n\x10get_chat_history\x18\x04 \x01(\x0b\x32,.livekit.agent.SessionRequest.GetChatHistoryH\x00\x12;\n\trun_input\x18\x05 \x01(\x0b\x32&.livekit.agent.SessionRequest.RunInputH\x00\x12\x44\n\x0eget_agent_info\x18\x06 \x01(\x0b\x32*.livekit.agent.SessionRequest.GetAgentInfoH\x00\x12J\n\x11get_session_state\x18\x07 \x01(\x0b\x32-.livekit.agent.SessionRequest.GetSessionStateH\x00\x12\x42\n\rget_rtc_stats\x18\x08 \x01(\x0b\x32).livekit.agent.SessionRequest.GetRTCStatsH\x00\x12J\n\x11get_session_usage\x18\t \x01(\x0b\x32-.livekit.agent.SessionRequest.GetSessionUsageH\x00\x1a\x06\n\x04Ping\x1a\x10\n\x0eGetChatHistory\x1a\x18\n\x08RunInput\x12\x0c\n\x04text\x18\x01 \x01(\t\x1a\x0e\n\x0cGetAgentInfo\x1a\x11\n\x0fGetSessionState\x1a\r\n\x0bGetRTCStats\x1a\x11\n\x0fGetSessionUsageB\t\n\x07request\"\xd2\x0b\n\x0fSessionResponse\x12\x12\n\nrequest_id\x18\x01 \x01(\t\x12\x12\n\x05\x65rror\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x33\n\x04pong\x18\x03 \x01(\x0b\x32#.livekit.agent.SessionResponse.PongH\x00\x12Q\n\x10get_chat_history\x18\x05 \x01(\x0b\x32\x35.livekit.agent.SessionResponse.GetChatHistoryResponseH\x00\x12\x44\n\trun_input\x18\x06 \x01(\x0b\x32/.livekit.agent.SessionResponse.RunInputResponseH\x00\x12M\n\x0eget_agent_info\x18\x07 \x01(\x0b\x32\x33.livekit.agent.SessionResponse.GetAgentInfoResponseH\x00\x12S\n\x11get_session_state\x18\x08 \x01(\x0b\x32\x36.livekit.agent.SessionResponse.GetSessionStateResponseH\x00\x12K\n\rget_rtc_stats\x18\t \x01(\x0b\x32\x32.livekit.agent.SessionResponse.GetRTCStatsResponseH\x00\x12S\n\x11get_session_usage\x18\n \x01(\x0b\x32\x36.livekit.agent.SessionResponse.GetSessionUsageResponseH\x00\x1a\x06\n\x04Pong\x1aL\n\x16GetChatHistoryResponse\x12\x32\n\x05items\x18\x01 \x03(\x0b\x32#.livekit.agent.ChatContext.ChatItem\x1a\x94\x01\n\x14GetAgentInfoResponse\x12\n\n\x02id\x18\x01 \x01(\t\x12\x19\n\x0cinstructions\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\r\n\x05tools\x18\x03 \x03(\t\x12\x35\n\x08\x63hat_ctx\x18\x04 \x03(\x0b\x32#.livekit.agent.ChatContext.ChatItemB\x0f\n\r_instructions\x1a\x46\n\x10RunInputResponse\x12\x32\n\x05items\x18\x01 \x03(\x0b\x32#.livekit.agent.ChatContext.ChatItem\x1a\xbf\x02\n\x17GetSessionStateResponse\x12.\n\x0b\x61gent_state\x18\x01 \x01(\x0e\x32\x19.livekit.agent.AgentState\x12,\n\nuser_state\x18\x02 \x01(\x0e\x32\x18.livekit.agent.UserState\x12\x10\n\x08\x61gent_id\x18\x03 \x01(\t\x12T\n\x07options\x18\x04 \x03(\x0b\x32\x43.livekit.agent.SessionResponse.GetSessionStateResponse.OptionsEntry\x12.\n\ncreated_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x1a.\n\x0cOptionsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1az\n\x13GetRTCStatsResponse\x12\x30\n\x0fpublisher_stats\x18\x01 \x03(\x0b\x32\x17.google.protobuf.Struct\x12\x31\n\x10subscriber_stats\x18\x02 \x03(\x0b\x32\x17.google.protobuf.Struct\x1az\n\x17GetSessionUsageResponse\x12/\n\x05usage\x18\x01 \x01(\x0b\x32 .livekit.agent.AgentSessionUsage\x12.\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\n\n\x08responseB\x08\n\x06_error\"\xba\x06\n\x13\x41gentSessionMessage\x12N\n\x0b\x61udio_input\x18\x01 \x01(\x0b\x32\x37.livekit.agent.AgentSessionMessage.ConsoleIO.AudioFrameH\x00\x12O\n\x0c\x61udio_output\x18\x02 \x01(\x0b\x32\x37.livekit.agent.AgentSessionMessage.ConsoleIO.AudioFrameH\x00\x12\x31\n\x05\x65vent\x18\x03 \x01(\x0b\x32 .livekit.agent.AgentSessionEventH\x00\x12\x30\n\x07request\x18\x04 \x01(\x0b\x32\x1d.livekit.agent.SessionRequestH\x00\x12\x32\n\x08response\x18\x05 \x01(\x0b\x32\x1e.livekit.agent.SessionResponseH\x00\x12_\n\x14\x61udio_playback_flush\x18\x06 \x01(\x0b\x32?.livekit.agent.AgentSessionMessage.ConsoleIO.AudioPlaybackFlushH\x00\x12_\n\x14\x61udio_playback_clear\x18\x07 \x01(\x0b\x32?.livekit.agent.AgentSessionMessage.ConsoleIO.AudioPlaybackClearH\x00\x12\x65\n\x17\x61udio_playback_finished\x18\x08 \x01(\x0b\x32\x42.livekit.agent.AgentSessionMessage.ConsoleIO.AudioPlaybackFinishedH\x00\x1a\xb4\x01\n\tConsoleIO\x1a\x62\n\nAudioFrame\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\x12\x13\n\x0bsample_rate\x18\x02 \x01(\r\x12\x14\n\x0cnum_channels\x18\x03 \x01(\r\x12\x1b\n\x13samples_per_channel\x18\x04 \x01(\r\x1a\x14\n\x12\x41udioPlaybackFlush\x1a\x14\n\x12\x41udioPlaybackClear\x1a\x17\n\x15\x41udioPlaybackFinishedB\t\n\x07message*>\n\x08\x43hatRole\x12\r\n\tDEVELOPER\x10\x00\x12\n\n\x06SYSTEM\x10\x01\x12\x08\n\x04USER\x10\x02\x12\r\n\tASSISTANT\x10\x03*b\n\nAgentState\x12\x13\n\x0f\x41S_INITIALIZING\x10\x00\x12\x0b\n\x07\x41S_IDLE\x10\x01\x12\x10\n\x0c\x41S_LISTENING\x10\x02\x12\x0f\n\x0b\x41S_THINKING\x10\x03\x12\x0f\n\x0b\x41S_SPEAKING\x10\x04*;\n\tUserState\x12\x0f\n\x0bUS_SPEAKING\x10\x00\x12\x10\n\x0cUS_LISTENING\x10\x01\x12\x0b\n\x07US_AWAY\x10\x02\x42+Z)github.com/livekit/protocol/livekit/agentb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'agent.livekit_agent_session_pb2', _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'agent.agent_session', _globals) if _descriptor._USE_C_DESCRIPTORS == False: _globals['DESCRIPTOR']._options = None _globals['DESCRIPTOR']._serialized_options = b'Z)github.com/livekit/protocol/livekit/agent' _globals['_CHATMESSAGE_EXTRAENTRY']._options = None _globals['_CHATMESSAGE_EXTRAENTRY']._serialized_options = b'8\001' - _globals['_CHATROLE']._serialized_start=1711 - _globals['_CHATROLE']._serialized_end=1773 - _globals['_METRICSREPORT']._serialized_start=86 - _globals['_METRICSREPORT']._serialized_end=537 - _globals['_CHATMESSAGE']._serialized_start=540 - _globals['_CHATMESSAGE']._serialized_end=981 - _globals['_CHATMESSAGE_CHATCONTENT']._serialized_start=869 - _globals['_CHATMESSAGE_CHATCONTENT']._serialized_end=909 - _globals['_CHATMESSAGE_EXTRAENTRY']._serialized_start=911 - _globals['_CHATMESSAGE_EXTRAENTRY']._serialized_end=955 - _globals['_FUNCTIONCALL']._serialized_start=983 - _globals['_FUNCTIONCALL']._serialized_end=1107 - _globals['_FUNCTIONCALLOUTPUT']._serialized_start=1110 - _globals['_FUNCTIONCALLOUTPUT']._serialized_end=1255 - _globals['_AGENTHANDOFF']._serialized_start=1258 - _globals['_AGENTHANDOFF']._serialized_end=1398 - _globals['_CHATCONTEXT']._serialized_start=1401 - _globals['_CHATCONTEXT']._serialized_end=1709 - _globals['_CHATCONTEXT_CHATITEM']._serialized_start=1469 - _globals['_CHATCONTEXT_CHATITEM']._serialized_end=1709 + _globals['_FUNCTIONCALL'].fields_by_name['call_id']._options = None + _globals['_FUNCTIONCALL'].fields_by_name['call_id']._serialized_options = b'\232\354,\006callID' + _globals['_FUNCTIONCALLOUTPUT'].fields_by_name['call_id']._options = None + _globals['_FUNCTIONCALLOUTPUT'].fields_by_name['call_id']._serialized_options = b'\232\354,\006callID' + _globals['_AGENTHANDOFF'].fields_by_name['old_agent_id']._options = None + _globals['_AGENTHANDOFF'].fields_by_name['old_agent_id']._serialized_options = b'\232\354,\noldAgentID' + _globals['_AGENTHANDOFF'].fields_by_name['new_agent_id']._options = None + _globals['_AGENTHANDOFF'].fields_by_name['new_agent_id']._serialized_options = b'\232\354,\nnewAgentID' + _globals['_SESSIONRESPONSE_GETSESSIONSTATERESPONSE_OPTIONSENTRY']._options = None + _globals['_SESSIONRESPONSE_GETSESSIONSTATERESPONSE_OPTIONSENTRY']._serialized_options = b'8\001' + _globals['_CHATROLE']._serialized_start=7644 + _globals['_CHATROLE']._serialized_end=7706 + _globals['_AGENTSTATE']._serialized_start=7708 + _globals['_AGENTSTATE']._serialized_end=7806 + _globals['_USERSTATE']._serialized_start=7808 + _globals['_USERSTATE']._serialized_end=7867 + _globals['_METRICSREPORT']._serialized_start=138 + _globals['_METRICSREPORT']._serialized_end=589 + _globals['_CHATMESSAGE']._serialized_start=592 + _globals['_CHATMESSAGE']._serialized_end=1033 + _globals['_CHATMESSAGE_CHATCONTENT']._serialized_start=921 + _globals['_CHATMESSAGE_CHATCONTENT']._serialized_end=961 + _globals['_CHATMESSAGE_EXTRAENTRY']._serialized_start=963 + _globals['_CHATMESSAGE_EXTRAENTRY']._serialized_end=1007 + _globals['_FUNCTIONCALL']._serialized_start=1036 + _globals['_FUNCTIONCALL']._serialized_end=1172 + _globals['_FUNCTIONCALLOUTPUT']._serialized_start=1175 + _globals['_FUNCTIONCALLOUTPUT']._serialized_end=1332 + _globals['_AGENTHANDOFF']._serialized_start=1335 + _globals['_AGENTHANDOFF']._serialized_end=1507 + _globals['_AGENTCONFIGUPDATE']._serialized_start=1510 + _globals['_AGENTCONFIGUPDATE']._serialized_end=1677 + _globals['_CHATCONTEXT']._serialized_start=1680 + _globals['_CHATCONTEXT']._serialized_end=2053 + _globals['_CHATCONTEXT_CHATITEM']._serialized_start=1748 + _globals['_CHATCONTEXT_CHATITEM']._serialized_end=2053 + _globals['_LLMMODELUSAGE']._serialized_start=2056 + _globals['_LLMMODELUSAGE']._serialized_end=2448 + _globals['_TTSMODELUSAGE']._serialized_start=2451 + _globals['_TTSMODELUSAGE']._serialized_end=2594 + _globals['_STTMODELUSAGE']._serialized_start=2596 + _globals['_STTMODELUSAGE']._serialized_end=2713 + _globals['_INTERRUPTIONMODELUSAGE']._serialized_start=2715 + _globals['_INTERRUPTIONMODELUSAGE']._serialized_end=2796 + _globals['_MODELUSAGE']._serialized_start=2799 + _globals['_MODELUSAGE']._serialized_end=3018 + _globals['_AGENTSESSIONUSAGE']._serialized_start=3020 + _globals['_AGENTSESSIONUSAGE']._serialized_end=3087 + _globals['_AGENTSESSIONEVENT']._serialized_start=3090 + _globals['_AGENTSESSIONEVENT']._serialized_end=4672 + _globals['_AGENTSESSIONEVENT_AGENTSTATECHANGED']._serialized_start=3820 + _globals['_AGENTSESSIONEVENT_AGENTSTATECHANGED']._serialized_end=3931 + _globals['_AGENTSESSIONEVENT_USERSTATECHANGED']._serialized_start=3933 + _globals['_AGENTSESSIONEVENT_USERSTATECHANGED']._serialized_end=4041 + _globals['_AGENTSESSIONEVENT_CONVERSATIONITEMADDED']._serialized_start=4043 + _globals['_AGENTSESSIONEVENT_CONVERSATIONITEMADDED']._serialized_end=4117 + _globals['_AGENTSESSIONEVENT_USERINPUTTRANSCRIBED']._serialized_start=4119 + _globals['_AGENTSESSIONEVENT_USERINPUTTRANSCRIBED']._serialized_end=4215 + _globals['_AGENTSESSIONEVENT_FUNCTIONTOOLSEXECUTED']._serialized_start=4218 + _globals['_AGENTSESSIONEVENT_FUNCTIONTOOLSEXECUTED']._serialized_end=4360 + _globals['_AGENTSESSIONEVENT_ERROR']._serialized_start=4362 + _globals['_AGENTSESSIONEVENT_ERROR']._serialized_end=4386 + _globals['_AGENTSESSIONEVENT_OVERLAPPINGSPEECH']._serialized_start=4389 + _globals['_AGENTSESSIONEVENT_OVERLAPPINGSPEECH']._serialized_end=4591 + _globals['_AGENTSESSIONEVENT_SESSIONUSAGEUPDATED']._serialized_start=4593 + _globals['_AGENTSESSIONEVENT_SESSIONUSAGEUPDATED']._serialized_end=4663 + _globals['_SESSIONREQUEST']._serialized_start=4675 + _globals['_SESSIONREQUEST']._serialized_end=5320 + _globals['_SESSIONREQUEST_PING']._serialized_start=5190 + _globals['_SESSIONREQUEST_PING']._serialized_end=5196 + _globals['_SESSIONREQUEST_GETCHATHISTORY']._serialized_start=5198 + _globals['_SESSIONREQUEST_GETCHATHISTORY']._serialized_end=5214 + _globals['_SESSIONREQUEST_RUNINPUT']._serialized_start=5216 + _globals['_SESSIONREQUEST_RUNINPUT']._serialized_end=5240 + _globals['_SESSIONREQUEST_GETAGENTINFO']._serialized_start=5242 + _globals['_SESSIONREQUEST_GETAGENTINFO']._serialized_end=5256 + _globals['_SESSIONREQUEST_GETSESSIONSTATE']._serialized_start=5258 + _globals['_SESSIONREQUEST_GETSESSIONSTATE']._serialized_end=5275 + _globals['_SESSIONREQUEST_GETRTCSTATS']._serialized_start=5277 + _globals['_SESSIONREQUEST_GETRTCSTATS']._serialized_end=5290 + _globals['_SESSIONREQUEST_GETSESSIONUSAGE']._serialized_start=5292 + _globals['_SESSIONREQUEST_GETSESSIONUSAGE']._serialized_end=5309 + _globals['_SESSIONRESPONSE']._serialized_start=5323 + _globals['_SESSIONRESPONSE']._serialized_end=6813 + _globals['_SESSIONRESPONSE_PONG']._serialized_start=5914 + _globals['_SESSIONRESPONSE_PONG']._serialized_end=5920 + _globals['_SESSIONRESPONSE_GETCHATHISTORYRESPONSE']._serialized_start=5922 + _globals['_SESSIONRESPONSE_GETCHATHISTORYRESPONSE']._serialized_end=5998 + _globals['_SESSIONRESPONSE_GETAGENTINFORESPONSE']._serialized_start=6001 + _globals['_SESSIONRESPONSE_GETAGENTINFORESPONSE']._serialized_end=6149 + _globals['_SESSIONRESPONSE_RUNINPUTRESPONSE']._serialized_start=6151 + _globals['_SESSIONRESPONSE_RUNINPUTRESPONSE']._serialized_end=6221 + _globals['_SESSIONRESPONSE_GETSESSIONSTATERESPONSE']._serialized_start=6224 + _globals['_SESSIONRESPONSE_GETSESSIONSTATERESPONSE']._serialized_end=6543 + _globals['_SESSIONRESPONSE_GETSESSIONSTATERESPONSE_OPTIONSENTRY']._serialized_start=6497 + _globals['_SESSIONRESPONSE_GETSESSIONSTATERESPONSE_OPTIONSENTRY']._serialized_end=6543 + _globals['_SESSIONRESPONSE_GETRTCSTATSRESPONSE']._serialized_start=6545 + _globals['_SESSIONRESPONSE_GETRTCSTATSRESPONSE']._serialized_end=6667 + _globals['_SESSIONRESPONSE_GETSESSIONUSAGERESPONSE']._serialized_start=6669 + _globals['_SESSIONRESPONSE_GETSESSIONUSAGERESPONSE']._serialized_end=6791 + _globals['_AGENTSESSIONMESSAGE']._serialized_start=6816 + _globals['_AGENTSESSIONMESSAGE']._serialized_end=7642 + _globals['_AGENTSESSIONMESSAGE_CONSOLEIO']._serialized_start=7451 + _globals['_AGENTSESSIONMESSAGE_CONSOLEIO']._serialized_end=7631 + _globals['_AGENTSESSIONMESSAGE_CONSOLEIO_AUDIOFRAME']._serialized_start=7464 + _globals['_AGENTSESSIONMESSAGE_CONSOLEIO_AUDIOFRAME']._serialized_end=7562 + _globals['_AGENTSESSIONMESSAGE_CONSOLEIO_AUDIOPLAYBACKFLUSH']._serialized_start=7564 + _globals['_AGENTSESSIONMESSAGE_CONSOLEIO_AUDIOPLAYBACKFLUSH']._serialized_end=7584 + _globals['_AGENTSESSIONMESSAGE_CONSOLEIO_AUDIOPLAYBACKCLEAR']._serialized_start=7586 + _globals['_AGENTSESSIONMESSAGE_CONSOLEIO_AUDIOPLAYBACKCLEAR']._serialized_end=7606 + _globals['_AGENTSESSIONMESSAGE_CONSOLEIO_AUDIOPLAYBACKFINISHED']._serialized_start=7608 + _globals['_AGENTSESSIONMESSAGE_CONSOLEIO_AUDIOPLAYBACKFINISHED']._serialized_end=7631 # @@protoc_insertion_point(module_scope) diff --git a/livekit-protocol/livekit/protocol/agent_pb/agent_session.pyi b/livekit-protocol/livekit/protocol/agent_pb/agent_session.pyi index 9d1e2578..bc8942d2 100644 --- a/livekit-protocol/livekit/protocol/agent_pb/agent_session.pyi +++ b/livekit-protocol/livekit/protocol/agent_pb/agent_session.pyi @@ -1,4 +1,6 @@ +from google.protobuf import struct_pb2 as _struct_pb2 from google.protobuf import timestamp_pb2 as _timestamp_pb2 +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 @@ -13,10 +15,32 @@ class ChatRole(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): SYSTEM: _ClassVar[ChatRole] USER: _ClassVar[ChatRole] ASSISTANT: _ClassVar[ChatRole] + +class AgentState(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + AS_INITIALIZING: _ClassVar[AgentState] + AS_IDLE: _ClassVar[AgentState] + AS_LISTENING: _ClassVar[AgentState] + AS_THINKING: _ClassVar[AgentState] + AS_SPEAKING: _ClassVar[AgentState] + +class UserState(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + US_SPEAKING: _ClassVar[UserState] + US_LISTENING: _ClassVar[UserState] + US_AWAY: _ClassVar[UserState] DEVELOPER: ChatRole SYSTEM: ChatRole USER: ChatRole ASSISTANT: ChatRole +AS_INITIALIZING: AgentState +AS_IDLE: AgentState +AS_LISTENING: AgentState +AS_THINKING: AgentState +AS_SPEAKING: AgentState +US_SPEAKING: UserState +US_LISTENING: UserState +US_AWAY: UserState class MetricsReport(_message.Message): __slots__ = ("started_speaking_at", "stopped_speaking_at", "transcription_delay", "end_of_turn_delay", "on_user_turn_completed_delay", "llm_node_ttft", "tts_node_ttfb", "e2e_latency") @@ -112,19 +136,369 @@ class AgentHandoff(_message.Message): created_at: _timestamp_pb2.Timestamp def __init__(self, id: _Optional[str] = ..., old_agent_id: _Optional[str] = ..., new_agent_id: _Optional[str] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... +class AgentConfigUpdate(_message.Message): + __slots__ = ("id", "instructions", "tools_added", "tools_removed", "created_at") + ID_FIELD_NUMBER: _ClassVar[int] + INSTRUCTIONS_FIELD_NUMBER: _ClassVar[int] + TOOLS_ADDED_FIELD_NUMBER: _ClassVar[int] + TOOLS_REMOVED_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + id: str + instructions: str + tools_added: _containers.RepeatedScalarFieldContainer[str] + tools_removed: _containers.RepeatedScalarFieldContainer[str] + created_at: _timestamp_pb2.Timestamp + def __init__(self, id: _Optional[str] = ..., instructions: _Optional[str] = ..., tools_added: _Optional[_Iterable[str]] = ..., tools_removed: _Optional[_Iterable[str]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... + class ChatContext(_message.Message): __slots__ = ("items",) class ChatItem(_message.Message): - __slots__ = ("message", "function_call", "function_call_output", "agent_handoff") + __slots__ = ("message", "function_call", "function_call_output", "agent_handoff", "agent_config_update") MESSAGE_FIELD_NUMBER: _ClassVar[int] FUNCTION_CALL_FIELD_NUMBER: _ClassVar[int] FUNCTION_CALL_OUTPUT_FIELD_NUMBER: _ClassVar[int] AGENT_HANDOFF_FIELD_NUMBER: _ClassVar[int] + AGENT_CONFIG_UPDATE_FIELD_NUMBER: _ClassVar[int] message: ChatMessage function_call: FunctionCall function_call_output: FunctionCallOutput agent_handoff: AgentHandoff - def __init__(self, message: _Optional[_Union[ChatMessage, _Mapping]] = ..., function_call: _Optional[_Union[FunctionCall, _Mapping]] = ..., function_call_output: _Optional[_Union[FunctionCallOutput, _Mapping]] = ..., agent_handoff: _Optional[_Union[AgentHandoff, _Mapping]] = ...) -> None: ... + agent_config_update: AgentConfigUpdate + def __init__(self, message: _Optional[_Union[ChatMessage, _Mapping]] = ..., function_call: _Optional[_Union[FunctionCall, _Mapping]] = ..., function_call_output: _Optional[_Union[FunctionCallOutput, _Mapping]] = ..., agent_handoff: _Optional[_Union[AgentHandoff, _Mapping]] = ..., agent_config_update: _Optional[_Union[AgentConfigUpdate, _Mapping]] = ...) -> None: ... ITEMS_FIELD_NUMBER: _ClassVar[int] items: _containers.RepeatedCompositeFieldContainer[ChatContext.ChatItem] def __init__(self, items: _Optional[_Iterable[_Union[ChatContext.ChatItem, _Mapping]]] = ...) -> None: ... + +class LLMModelUsage(_message.Message): + __slots__ = ("provider", "model", "input_tokens", "input_cached_tokens", "input_audio_tokens", "input_cached_audio_tokens", "input_text_tokens", "input_cached_text_tokens", "input_image_tokens", "input_cached_image_tokens", "output_tokens", "output_audio_tokens", "output_text_tokens", "session_duration") + PROVIDER_FIELD_NUMBER: _ClassVar[int] + MODEL_FIELD_NUMBER: _ClassVar[int] + INPUT_TOKENS_FIELD_NUMBER: _ClassVar[int] + INPUT_CACHED_TOKENS_FIELD_NUMBER: _ClassVar[int] + INPUT_AUDIO_TOKENS_FIELD_NUMBER: _ClassVar[int] + INPUT_CACHED_AUDIO_TOKENS_FIELD_NUMBER: _ClassVar[int] + INPUT_TEXT_TOKENS_FIELD_NUMBER: _ClassVar[int] + INPUT_CACHED_TEXT_TOKENS_FIELD_NUMBER: _ClassVar[int] + INPUT_IMAGE_TOKENS_FIELD_NUMBER: _ClassVar[int] + INPUT_CACHED_IMAGE_TOKENS_FIELD_NUMBER: _ClassVar[int] + OUTPUT_TOKENS_FIELD_NUMBER: _ClassVar[int] + OUTPUT_AUDIO_TOKENS_FIELD_NUMBER: _ClassVar[int] + OUTPUT_TEXT_TOKENS_FIELD_NUMBER: _ClassVar[int] + SESSION_DURATION_FIELD_NUMBER: _ClassVar[int] + provider: str + model: str + input_tokens: int + input_cached_tokens: int + input_audio_tokens: int + input_cached_audio_tokens: int + input_text_tokens: int + input_cached_text_tokens: int + input_image_tokens: int + input_cached_image_tokens: int + output_tokens: int + output_audio_tokens: int + output_text_tokens: int + session_duration: float + def __init__(self, provider: _Optional[str] = ..., model: _Optional[str] = ..., input_tokens: _Optional[int] = ..., input_cached_tokens: _Optional[int] = ..., input_audio_tokens: _Optional[int] = ..., input_cached_audio_tokens: _Optional[int] = ..., input_text_tokens: _Optional[int] = ..., input_cached_text_tokens: _Optional[int] = ..., input_image_tokens: _Optional[int] = ..., input_cached_image_tokens: _Optional[int] = ..., output_tokens: _Optional[int] = ..., output_audio_tokens: _Optional[int] = ..., output_text_tokens: _Optional[int] = ..., session_duration: _Optional[float] = ...) -> None: ... + +class TTSModelUsage(_message.Message): + __slots__ = ("provider", "model", "input_tokens", "output_tokens", "characters_count", "audio_duration") + PROVIDER_FIELD_NUMBER: _ClassVar[int] + MODEL_FIELD_NUMBER: _ClassVar[int] + INPUT_TOKENS_FIELD_NUMBER: _ClassVar[int] + OUTPUT_TOKENS_FIELD_NUMBER: _ClassVar[int] + CHARACTERS_COUNT_FIELD_NUMBER: _ClassVar[int] + AUDIO_DURATION_FIELD_NUMBER: _ClassVar[int] + provider: str + model: str + input_tokens: int + output_tokens: int + characters_count: int + audio_duration: float + def __init__(self, provider: _Optional[str] = ..., model: _Optional[str] = ..., input_tokens: _Optional[int] = ..., output_tokens: _Optional[int] = ..., characters_count: _Optional[int] = ..., audio_duration: _Optional[float] = ...) -> None: ... + +class STTModelUsage(_message.Message): + __slots__ = ("provider", "model", "input_tokens", "output_tokens", "audio_duration") + PROVIDER_FIELD_NUMBER: _ClassVar[int] + MODEL_FIELD_NUMBER: _ClassVar[int] + INPUT_TOKENS_FIELD_NUMBER: _ClassVar[int] + OUTPUT_TOKENS_FIELD_NUMBER: _ClassVar[int] + AUDIO_DURATION_FIELD_NUMBER: _ClassVar[int] + provider: str + model: str + input_tokens: int + output_tokens: int + audio_duration: float + def __init__(self, provider: _Optional[str] = ..., model: _Optional[str] = ..., input_tokens: _Optional[int] = ..., output_tokens: _Optional[int] = ..., audio_duration: _Optional[float] = ...) -> None: ... + +class InterruptionModelUsage(_message.Message): + __slots__ = ("provider", "model", "total_requests") + PROVIDER_FIELD_NUMBER: _ClassVar[int] + MODEL_FIELD_NUMBER: _ClassVar[int] + TOTAL_REQUESTS_FIELD_NUMBER: _ClassVar[int] + provider: str + model: str + total_requests: int + def __init__(self, provider: _Optional[str] = ..., model: _Optional[str] = ..., total_requests: _Optional[int] = ...) -> None: ... + +class ModelUsage(_message.Message): + __slots__ = ("llm", "tts", "stt", "interruption") + LLM_FIELD_NUMBER: _ClassVar[int] + TTS_FIELD_NUMBER: _ClassVar[int] + STT_FIELD_NUMBER: _ClassVar[int] + INTERRUPTION_FIELD_NUMBER: _ClassVar[int] + llm: LLMModelUsage + tts: TTSModelUsage + stt: STTModelUsage + interruption: InterruptionModelUsage + def __init__(self, llm: _Optional[_Union[LLMModelUsage, _Mapping]] = ..., tts: _Optional[_Union[TTSModelUsage, _Mapping]] = ..., stt: _Optional[_Union[STTModelUsage, _Mapping]] = ..., interruption: _Optional[_Union[InterruptionModelUsage, _Mapping]] = ...) -> None: ... + +class AgentSessionUsage(_message.Message): + __slots__ = ("model_usage",) + MODEL_USAGE_FIELD_NUMBER: _ClassVar[int] + model_usage: _containers.RepeatedCompositeFieldContainer[ModelUsage] + def __init__(self, model_usage: _Optional[_Iterable[_Union[ModelUsage, _Mapping]]] = ...) -> None: ... + +class AgentSessionEvent(_message.Message): + __slots__ = ("created_at", "agent_state_changed", "user_state_changed", "conversation_item_added", "user_input_transcribed", "function_tools_executed", "error", "overlapping_speech", "session_usage_updated") + class AgentStateChanged(_message.Message): + __slots__ = ("old_state", "new_state") + OLD_STATE_FIELD_NUMBER: _ClassVar[int] + NEW_STATE_FIELD_NUMBER: _ClassVar[int] + old_state: AgentState + new_state: AgentState + def __init__(self, old_state: _Optional[_Union[AgentState, str]] = ..., new_state: _Optional[_Union[AgentState, str]] = ...) -> None: ... + class UserStateChanged(_message.Message): + __slots__ = ("old_state", "new_state") + OLD_STATE_FIELD_NUMBER: _ClassVar[int] + NEW_STATE_FIELD_NUMBER: _ClassVar[int] + old_state: UserState + new_state: UserState + def __init__(self, old_state: _Optional[_Union[UserState, str]] = ..., new_state: _Optional[_Union[UserState, str]] = ...) -> None: ... + class ConversationItemAdded(_message.Message): + __slots__ = ("item",) + ITEM_FIELD_NUMBER: _ClassVar[int] + item: ChatContext.ChatItem + def __init__(self, item: _Optional[_Union[ChatContext.ChatItem, _Mapping]] = ...) -> None: ... + class UserInputTranscribed(_message.Message): + __slots__ = ("transcript", "is_final", "language") + TRANSCRIPT_FIELD_NUMBER: _ClassVar[int] + IS_FINAL_FIELD_NUMBER: _ClassVar[int] + LANGUAGE_FIELD_NUMBER: _ClassVar[int] + transcript: str + is_final: bool + language: str + def __init__(self, transcript: _Optional[str] = ..., is_final: bool = ..., language: _Optional[str] = ...) -> None: ... + class FunctionToolsExecuted(_message.Message): + __slots__ = ("function_calls", "function_call_outputs") + FUNCTION_CALLS_FIELD_NUMBER: _ClassVar[int] + FUNCTION_CALL_OUTPUTS_FIELD_NUMBER: _ClassVar[int] + function_calls: _containers.RepeatedCompositeFieldContainer[FunctionCall] + function_call_outputs: _containers.RepeatedCompositeFieldContainer[FunctionCallOutput] + def __init__(self, function_calls: _Optional[_Iterable[_Union[FunctionCall, _Mapping]]] = ..., function_call_outputs: _Optional[_Iterable[_Union[FunctionCallOutput, _Mapping]]] = ...) -> None: ... + class Error(_message.Message): + __slots__ = ("message",) + MESSAGE_FIELD_NUMBER: _ClassVar[int] + message: str + def __init__(self, message: _Optional[str] = ...) -> None: ... + class OverlappingSpeech(_message.Message): + __slots__ = ("is_interruption", "overlap_started_at", "detection_delay", "detected_at") + IS_INTERRUPTION_FIELD_NUMBER: _ClassVar[int] + OVERLAP_STARTED_AT_FIELD_NUMBER: _ClassVar[int] + DETECTION_DELAY_FIELD_NUMBER: _ClassVar[int] + DETECTED_AT_FIELD_NUMBER: _ClassVar[int] + is_interruption: bool + overlap_started_at: _timestamp_pb2.Timestamp + detection_delay: float + detected_at: _timestamp_pb2.Timestamp + def __init__(self, is_interruption: bool = ..., overlap_started_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., detection_delay: _Optional[float] = ..., detected_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... + class SessionUsageUpdated(_message.Message): + __slots__ = ("usage",) + USAGE_FIELD_NUMBER: _ClassVar[int] + usage: AgentSessionUsage + def __init__(self, usage: _Optional[_Union[AgentSessionUsage, _Mapping]] = ...) -> None: ... + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + AGENT_STATE_CHANGED_FIELD_NUMBER: _ClassVar[int] + USER_STATE_CHANGED_FIELD_NUMBER: _ClassVar[int] + CONVERSATION_ITEM_ADDED_FIELD_NUMBER: _ClassVar[int] + USER_INPUT_TRANSCRIBED_FIELD_NUMBER: _ClassVar[int] + FUNCTION_TOOLS_EXECUTED_FIELD_NUMBER: _ClassVar[int] + ERROR_FIELD_NUMBER: _ClassVar[int] + OVERLAPPING_SPEECH_FIELD_NUMBER: _ClassVar[int] + SESSION_USAGE_UPDATED_FIELD_NUMBER: _ClassVar[int] + created_at: _timestamp_pb2.Timestamp + agent_state_changed: AgentSessionEvent.AgentStateChanged + user_state_changed: AgentSessionEvent.UserStateChanged + conversation_item_added: AgentSessionEvent.ConversationItemAdded + user_input_transcribed: AgentSessionEvent.UserInputTranscribed + function_tools_executed: AgentSessionEvent.FunctionToolsExecuted + error: AgentSessionEvent.Error + overlapping_speech: AgentSessionEvent.OverlappingSpeech + session_usage_updated: AgentSessionEvent.SessionUsageUpdated + def __init__(self, created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., agent_state_changed: _Optional[_Union[AgentSessionEvent.AgentStateChanged, _Mapping]] = ..., user_state_changed: _Optional[_Union[AgentSessionEvent.UserStateChanged, _Mapping]] = ..., conversation_item_added: _Optional[_Union[AgentSessionEvent.ConversationItemAdded, _Mapping]] = ..., user_input_transcribed: _Optional[_Union[AgentSessionEvent.UserInputTranscribed, _Mapping]] = ..., function_tools_executed: _Optional[_Union[AgentSessionEvent.FunctionToolsExecuted, _Mapping]] = ..., error: _Optional[_Union[AgentSessionEvent.Error, _Mapping]] = ..., overlapping_speech: _Optional[_Union[AgentSessionEvent.OverlappingSpeech, _Mapping]] = ..., session_usage_updated: _Optional[_Union[AgentSessionEvent.SessionUsageUpdated, _Mapping]] = ...) -> None: ... + +class SessionRequest(_message.Message): + __slots__ = ("request_id", "ping", "get_chat_history", "run_input", "get_agent_info", "get_session_state", "get_rtc_stats", "get_session_usage") + class Ping(_message.Message): + __slots__ = () + def __init__(self) -> None: ... + class GetChatHistory(_message.Message): + __slots__ = () + def __init__(self) -> None: ... + class RunInput(_message.Message): + __slots__ = ("text",) + TEXT_FIELD_NUMBER: _ClassVar[int] + text: str + def __init__(self, text: _Optional[str] = ...) -> None: ... + class GetAgentInfo(_message.Message): + __slots__ = () + def __init__(self) -> None: ... + class GetSessionState(_message.Message): + __slots__ = () + def __init__(self) -> None: ... + class GetRTCStats(_message.Message): + __slots__ = () + def __init__(self) -> None: ... + class GetSessionUsage(_message.Message): + __slots__ = () + def __init__(self) -> None: ... + REQUEST_ID_FIELD_NUMBER: _ClassVar[int] + PING_FIELD_NUMBER: _ClassVar[int] + GET_CHAT_HISTORY_FIELD_NUMBER: _ClassVar[int] + RUN_INPUT_FIELD_NUMBER: _ClassVar[int] + GET_AGENT_INFO_FIELD_NUMBER: _ClassVar[int] + GET_SESSION_STATE_FIELD_NUMBER: _ClassVar[int] + GET_RTC_STATS_FIELD_NUMBER: _ClassVar[int] + GET_SESSION_USAGE_FIELD_NUMBER: _ClassVar[int] + request_id: str + ping: SessionRequest.Ping + get_chat_history: SessionRequest.GetChatHistory + run_input: SessionRequest.RunInput + get_agent_info: SessionRequest.GetAgentInfo + get_session_state: SessionRequest.GetSessionState + get_rtc_stats: SessionRequest.GetRTCStats + get_session_usage: SessionRequest.GetSessionUsage + def __init__(self, request_id: _Optional[str] = ..., ping: _Optional[_Union[SessionRequest.Ping, _Mapping]] = ..., get_chat_history: _Optional[_Union[SessionRequest.GetChatHistory, _Mapping]] = ..., run_input: _Optional[_Union[SessionRequest.RunInput, _Mapping]] = ..., get_agent_info: _Optional[_Union[SessionRequest.GetAgentInfo, _Mapping]] = ..., get_session_state: _Optional[_Union[SessionRequest.GetSessionState, _Mapping]] = ..., get_rtc_stats: _Optional[_Union[SessionRequest.GetRTCStats, _Mapping]] = ..., get_session_usage: _Optional[_Union[SessionRequest.GetSessionUsage, _Mapping]] = ...) -> None: ... + +class SessionResponse(_message.Message): + __slots__ = ("request_id", "error", "pong", "get_chat_history", "run_input", "get_agent_info", "get_session_state", "get_rtc_stats", "get_session_usage") + class Pong(_message.Message): + __slots__ = () + def __init__(self) -> None: ... + class GetChatHistoryResponse(_message.Message): + __slots__ = ("items",) + ITEMS_FIELD_NUMBER: _ClassVar[int] + items: _containers.RepeatedCompositeFieldContainer[ChatContext.ChatItem] + def __init__(self, items: _Optional[_Iterable[_Union[ChatContext.ChatItem, _Mapping]]] = ...) -> None: ... + class GetAgentInfoResponse(_message.Message): + __slots__ = ("id", "instructions", "tools", "chat_ctx") + ID_FIELD_NUMBER: _ClassVar[int] + INSTRUCTIONS_FIELD_NUMBER: _ClassVar[int] + TOOLS_FIELD_NUMBER: _ClassVar[int] + CHAT_CTX_FIELD_NUMBER: _ClassVar[int] + id: str + instructions: str + tools: _containers.RepeatedScalarFieldContainer[str] + chat_ctx: _containers.RepeatedCompositeFieldContainer[ChatContext.ChatItem] + def __init__(self, id: _Optional[str] = ..., instructions: _Optional[str] = ..., tools: _Optional[_Iterable[str]] = ..., chat_ctx: _Optional[_Iterable[_Union[ChatContext.ChatItem, _Mapping]]] = ...) -> None: ... + class RunInputResponse(_message.Message): + __slots__ = ("items",) + ITEMS_FIELD_NUMBER: _ClassVar[int] + items: _containers.RepeatedCompositeFieldContainer[ChatContext.ChatItem] + def __init__(self, items: _Optional[_Iterable[_Union[ChatContext.ChatItem, _Mapping]]] = ...) -> None: ... + class GetSessionStateResponse(_message.Message): + __slots__ = ("agent_state", "user_state", "agent_id", "options", "created_at") + class OptionsEntry(_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: ... + AGENT_STATE_FIELD_NUMBER: _ClassVar[int] + USER_STATE_FIELD_NUMBER: _ClassVar[int] + AGENT_ID_FIELD_NUMBER: _ClassVar[int] + OPTIONS_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + agent_state: AgentState + user_state: UserState + agent_id: str + options: _containers.ScalarMap[str, str] + created_at: _timestamp_pb2.Timestamp + def __init__(self, agent_state: _Optional[_Union[AgentState, str]] = ..., user_state: _Optional[_Union[UserState, str]] = ..., agent_id: _Optional[str] = ..., options: _Optional[_Mapping[str, str]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... + class GetRTCStatsResponse(_message.Message): + __slots__ = ("publisher_stats", "subscriber_stats") + PUBLISHER_STATS_FIELD_NUMBER: _ClassVar[int] + SUBSCRIBER_STATS_FIELD_NUMBER: _ClassVar[int] + publisher_stats: _containers.RepeatedCompositeFieldContainer[_struct_pb2.Struct] + subscriber_stats: _containers.RepeatedCompositeFieldContainer[_struct_pb2.Struct] + def __init__(self, publisher_stats: _Optional[_Iterable[_Union[_struct_pb2.Struct, _Mapping]]] = ..., subscriber_stats: _Optional[_Iterable[_Union[_struct_pb2.Struct, _Mapping]]] = ...) -> None: ... + class GetSessionUsageResponse(_message.Message): + __slots__ = ("usage", "created_at") + USAGE_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + usage: AgentSessionUsage + created_at: _timestamp_pb2.Timestamp + def __init__(self, usage: _Optional[_Union[AgentSessionUsage, _Mapping]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... + REQUEST_ID_FIELD_NUMBER: _ClassVar[int] + ERROR_FIELD_NUMBER: _ClassVar[int] + PONG_FIELD_NUMBER: _ClassVar[int] + GET_CHAT_HISTORY_FIELD_NUMBER: _ClassVar[int] + RUN_INPUT_FIELD_NUMBER: _ClassVar[int] + GET_AGENT_INFO_FIELD_NUMBER: _ClassVar[int] + GET_SESSION_STATE_FIELD_NUMBER: _ClassVar[int] + GET_RTC_STATS_FIELD_NUMBER: _ClassVar[int] + GET_SESSION_USAGE_FIELD_NUMBER: _ClassVar[int] + request_id: str + error: str + pong: SessionResponse.Pong + get_chat_history: SessionResponse.GetChatHistoryResponse + run_input: SessionResponse.RunInputResponse + get_agent_info: SessionResponse.GetAgentInfoResponse + get_session_state: SessionResponse.GetSessionStateResponse + get_rtc_stats: SessionResponse.GetRTCStatsResponse + get_session_usage: SessionResponse.GetSessionUsageResponse + def __init__(self, request_id: _Optional[str] = ..., error: _Optional[str] = ..., pong: _Optional[_Union[SessionResponse.Pong, _Mapping]] = ..., get_chat_history: _Optional[_Union[SessionResponse.GetChatHistoryResponse, _Mapping]] = ..., run_input: _Optional[_Union[SessionResponse.RunInputResponse, _Mapping]] = ..., get_agent_info: _Optional[_Union[SessionResponse.GetAgentInfoResponse, _Mapping]] = ..., get_session_state: _Optional[_Union[SessionResponse.GetSessionStateResponse, _Mapping]] = ..., get_rtc_stats: _Optional[_Union[SessionResponse.GetRTCStatsResponse, _Mapping]] = ..., get_session_usage: _Optional[_Union[SessionResponse.GetSessionUsageResponse, _Mapping]] = ...) -> None: ... + +class AgentSessionMessage(_message.Message): + __slots__ = ("audio_input", "audio_output", "event", "request", "response", "audio_playback_flush", "audio_playback_clear", "audio_playback_finished") + class ConsoleIO(_message.Message): + __slots__ = () + class AudioFrame(_message.Message): + __slots__ = ("data", "sample_rate", "num_channels", "samples_per_channel") + DATA_FIELD_NUMBER: _ClassVar[int] + SAMPLE_RATE_FIELD_NUMBER: _ClassVar[int] + NUM_CHANNELS_FIELD_NUMBER: _ClassVar[int] + SAMPLES_PER_CHANNEL_FIELD_NUMBER: _ClassVar[int] + data: bytes + sample_rate: int + num_channels: int + samples_per_channel: int + def __init__(self, data: _Optional[bytes] = ..., sample_rate: _Optional[int] = ..., num_channels: _Optional[int] = ..., samples_per_channel: _Optional[int] = ...) -> None: ... + class AudioPlaybackFlush(_message.Message): + __slots__ = () + def __init__(self) -> None: ... + class AudioPlaybackClear(_message.Message): + __slots__ = () + def __init__(self) -> None: ... + class AudioPlaybackFinished(_message.Message): + __slots__ = () + def __init__(self) -> None: ... + def __init__(self) -> None: ... + AUDIO_INPUT_FIELD_NUMBER: _ClassVar[int] + AUDIO_OUTPUT_FIELD_NUMBER: _ClassVar[int] + EVENT_FIELD_NUMBER: _ClassVar[int] + REQUEST_FIELD_NUMBER: _ClassVar[int] + RESPONSE_FIELD_NUMBER: _ClassVar[int] + AUDIO_PLAYBACK_FLUSH_FIELD_NUMBER: _ClassVar[int] + AUDIO_PLAYBACK_CLEAR_FIELD_NUMBER: _ClassVar[int] + AUDIO_PLAYBACK_FINISHED_FIELD_NUMBER: _ClassVar[int] + audio_input: AgentSessionMessage.ConsoleIO.AudioFrame + audio_output: AgentSessionMessage.ConsoleIO.AudioFrame + event: AgentSessionEvent + request: SessionRequest + response: SessionResponse + audio_playback_flush: AgentSessionMessage.ConsoleIO.AudioPlaybackFlush + audio_playback_clear: AgentSessionMessage.ConsoleIO.AudioPlaybackClear + audio_playback_finished: AgentSessionMessage.ConsoleIO.AudioPlaybackFinished + def __init__(self, audio_input: _Optional[_Union[AgentSessionMessage.ConsoleIO.AudioFrame, _Mapping]] = ..., audio_output: _Optional[_Union[AgentSessionMessage.ConsoleIO.AudioFrame, _Mapping]] = ..., event: _Optional[_Union[AgentSessionEvent, _Mapping]] = ..., request: _Optional[_Union[SessionRequest, _Mapping]] = ..., response: _Optional[_Union[SessionResponse, _Mapping]] = ..., audio_playback_flush: _Optional[_Union[AgentSessionMessage.ConsoleIO.AudioPlaybackFlush, _Mapping]] = ..., audio_playback_clear: _Optional[_Union[AgentSessionMessage.ConsoleIO.AudioPlaybackClear, _Mapping]] = ..., audio_playback_finished: _Optional[_Union[AgentSessionMessage.ConsoleIO.AudioPlaybackFinished, _Mapping]] = ...) -> None: ... diff --git a/livekit-protocol/livekit/protocol/analytics.py b/livekit-protocol/livekit/protocol/analytics.py index bb7b8d32..76d7f69e 100644 --- a/livekit-protocol/livekit/protocol/analytics.py +++ b/livekit-protocol/livekit/protocol/analytics.py @@ -18,9 +18,10 @@ from . import ingress as _ingress_ from . import sip as _sip_ from . import room as _room_ +from .logger_pb import options as logger_dot_options__pb2 -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') +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\x1a\x14logger/options.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\"\xfe\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\x1b\n\x07room_id\x18\x05 \x01(\tB\n\x9a\xec,\x06roomID\x12\x11\n\troom_name\x18\x06 \x01(\t\x12)\n\x0eparticipant_id\x18\x07 \x01(\tB\x11\x9a\xec,\rparticipantID\x12\x1d\n\x08track_id\x18\x08 \x01(\tB\x0b\x9a\xec,\x07trackID\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\"\xa7\n\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\x1b\n\x07room_id\x18\x03 \x01(\tB\n\x9a\xec,\x06roomID\x12\x1b\n\x04room\x18\x04 \x01(\x0b\x32\r.livekit.Room\x12)\n\x0eparticipant_id\x18\x05 \x01(\tB\x11\x9a\xec,\rparticipantID\x12-\n\x0bparticipant\x18\x06 \x01(\x0b\x32\x18.livekit.ParticipantInfo\x12\x1d\n\x08track_id\x18\x07 \x01(\tB\x0b\x9a\xec,\x07trackID\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\x1f\n\tegress_id\x18\r \x01(\tB\x0c\x9a\xec,\x08\x65gressID\x12!\n\ningress_id\x18\x13 \x01(\tB\r\x9a\xec,\tingressID\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\x1b\n\x07node_id\x18\x18 \x01(\tB\n\x9a\xec,\x06nodeID\x12\"\n\x0bsip_call_id\x18\x1a \x01(\tB\r\x9a\xec,\tsipCallID\x12&\n\x08sip_call\x18\x1b \x01(\x0b\x32\x14.livekit.SIPCallInfo\x12$\n\x0csip_trunk_id\x18\x1c \x01(\tB\x0e\x9a\xec,\nsipTrunkID\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\x33\n\x14sip_dispatch_rule_id\x18\x1f \x01(\tB\x15\x9a\xec,\x11sipDispatchRuleID\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\"\xb5\x01\n\rAnalyticsRoom\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12!\n\nproject_id\x18\x05 \x01(\tB\r\x9a\xec,\tprojectID\x12.\n\ncreated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x37\n\x0cparticipants\x18\x04 \x03(\x0b\x32!.livekit.AnalyticsRoomParticipant\"\xa0\x01\n\x12\x41nalyticsNodeRooms\x12\x1b\n\x07node_id\x18\x01 \x01(\tB\n\x9a\xec,\x06nodeID\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\"\x8d\x04\n\x10\x46\x65\x61tureUsageInfo\x12\x32\n\x07\x66\x65\x61ture\x18\x01 \x01(\x0e\x32!.livekit.FeatureUsageInfo.Feature\x12!\n\nproject_id\x18\x02 \x01(\tB\r\x9a\xec,\tprojectID\x12\x11\n\troom_name\x18\x03 \x01(\t\x12\x1b\n\x07room_id\x18\x04 \x01(\tB\n\x9a\xec,\x06roomID\x12\x1c\n\x14participant_identity\x18\x05 \x01(\t\x12)\n\x0eparticipant_id\x18\x06 \x01(\tB\x11\x9a\xec,\rparticipantID\x12\x1d\n\x08track_id\x18\x07 \x01(\tB\x0b\x9a\xec,\x07trackID\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\"\xbc\x03\n\x0b\x41PICallInfo\x12!\n\nproject_id\x18\x01 \x01(\tB\r\x9a\xec,\tprojectID\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\x1b\n\x07node_id\x18\x05 \x01(\tB\n\x9a\xec,\x06nodeID\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\x1b\n\x07room_id\x18\n \x01(\tB\n\x9a\xec,\x06roomID\x12\x1c\n\x14participant_identity\x18\x0b \x01(\t\x12)\n\x0eparticipant_id\x18\x0c \x01(\tB\x11\x9a\xec,\rparticipantID\x12\x1d\n\x08track_id\x18\r \x01(\tB\x0b\x9a\xec,\x07trackID\x12.\n\nstarted_at\x18\x0e \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x13\n\x0b\x64uration_ns\x18\x0f \x01(\x03\"\x90\x05\n\x0bWebhookInfo\x12\x1d\n\x08\x65vent_id\x18\x01 \x01(\tB\x0b\x9a\xec,\x07\x65ventID\x12\r\n\x05\x65vent\x18\x02 \x01(\t\x12!\n\nproject_id\x18\x03 \x01(\tB\r\x9a\xec,\tprojectID\x12\x11\n\troom_name\x18\x04 \x01(\t\x12\x1b\n\x07room_id\x18\x05 \x01(\tB\n\x9a\xec,\x06roomID\x12\x1c\n\x14participant_identity\x18\x06 \x01(\t\x12)\n\x0eparticipant_id\x18\x07 \x01(\tB\x11\x9a\xec,\rparticipantID\x12\x1d\n\x08track_id\x18\x08 \x01(\tB\x0b\x9a\xec,\x07trackID\x12\x1f\n\tegress_id\x18\t \x01(\tB\x0c\x9a\xec,\x08\x65gressID\x12!\n\ningress_id\x18\n \x01(\tB\r\x9a\xec,\tingressID\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,46 +29,106 @@ 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['_ANALYTICSSTAT'].fields_by_name['room_id']._options = None + _globals['_ANALYTICSSTAT'].fields_by_name['room_id']._serialized_options = b'\232\354,\006roomID' + _globals['_ANALYTICSSTAT'].fields_by_name['participant_id']._options = None + _globals['_ANALYTICSSTAT'].fields_by_name['participant_id']._serialized_options = b'\232\354,\rparticipantID' + _globals['_ANALYTICSSTAT'].fields_by_name['track_id']._options = None + _globals['_ANALYTICSSTAT'].fields_by_name['track_id']._serialized_options = b'\232\354,\007trackID' + _globals['_ANALYTICSEVENT'].fields_by_name['room_id']._options = None + _globals['_ANALYTICSEVENT'].fields_by_name['room_id']._serialized_options = b'\232\354,\006roomID' + _globals['_ANALYTICSEVENT'].fields_by_name['participant_id']._options = None + _globals['_ANALYTICSEVENT'].fields_by_name['participant_id']._serialized_options = b'\232\354,\rparticipantID' + _globals['_ANALYTICSEVENT'].fields_by_name['track_id']._options = None + _globals['_ANALYTICSEVENT'].fields_by_name['track_id']._serialized_options = b'\232\354,\007trackID' + _globals['_ANALYTICSEVENT'].fields_by_name['egress_id']._options = None + _globals['_ANALYTICSEVENT'].fields_by_name['egress_id']._serialized_options = b'\232\354,\010egressID' + _globals['_ANALYTICSEVENT'].fields_by_name['ingress_id']._options = None + _globals['_ANALYTICSEVENT'].fields_by_name['ingress_id']._serialized_options = b'\232\354,\tingressID' + _globals['_ANALYTICSEVENT'].fields_by_name['node_id']._options = None + _globals['_ANALYTICSEVENT'].fields_by_name['node_id']._serialized_options = b'\232\354,\006nodeID' + _globals['_ANALYTICSEVENT'].fields_by_name['sip_call_id']._options = None + _globals['_ANALYTICSEVENT'].fields_by_name['sip_call_id']._serialized_options = b'\232\354,\tsipCallID' + _globals['_ANALYTICSEVENT'].fields_by_name['sip_trunk_id']._options = None + _globals['_ANALYTICSEVENT'].fields_by_name['sip_trunk_id']._serialized_options = b'\232\354,\nsipTrunkID' + _globals['_ANALYTICSEVENT'].fields_by_name['sip_dispatch_rule_id']._options = None + _globals['_ANALYTICSEVENT'].fields_by_name['sip_dispatch_rule_id']._serialized_options = b'\232\354,\021sipDispatchRuleID' + _globals['_ANALYTICSROOM'].fields_by_name['project_id']._options = None + _globals['_ANALYTICSROOM'].fields_by_name['project_id']._serialized_options = b'\232\354,\tprojectID' + _globals['_ANALYTICSNODEROOMS'].fields_by_name['node_id']._options = None + _globals['_ANALYTICSNODEROOMS'].fields_by_name['node_id']._serialized_options = b'\232\354,\006nodeID' _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 - _globals['_ANALYTICSSTREAM']._serialized_end=729 - _globals['_ANALYTICSSTAT']._serialized_start=732 - _globals['_ANALYTICSSTAT']._serialized_end=1070 - _globals['_ANALYTICSSTATS']._serialized_start=1072 - _globals['_ANALYTICSSTATS']._serialized_end=1127 - _globals['_ANALYTICSCLIENTMETA']._serialized_start=1130 - _globals['_ANALYTICSCLIENTMETA']._serialized_end=1412 - _globals['_ANALYTICSEVENT']._serialized_start=1415 - _globals['_ANALYTICSEVENT']._serialized_end=2595 - _globals['_ANALYTICSEVENTS']._serialized_start=2597 - _globals['_ANALYTICSEVENTS']._serialized_end=2655 - _globals['_ANALYTICSROOMPARTICIPANT']._serialized_start=2658 - _globals['_ANALYTICSROOMPARTICIPANT']._serialized_end=2822 - _globals['_ANALYTICSROOM']._serialized_start=2825 - _globals['_ANALYTICSROOM']._serialized_end=2991 - _globals['_ANALYTICSNODEROOMS']._serialized_start=2994 - _globals['_ANALYTICSNODEROOMS']._serialized_end=3142 - _globals['_REPORTINFO']._serialized_start=3144 - _globals['_REPORTINFO']._serialized_end=3219 - _globals['_TIMERANGE']._serialized_start=3221 - _globals['_TIMERANGE']._serialized_end=3326 - _globals['_FEATUREUSAGEINFO']._serialized_start=3329 - _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 + _globals['_FEATUREUSAGEINFO'].fields_by_name['project_id']._options = None + _globals['_FEATUREUSAGEINFO'].fields_by_name['project_id']._serialized_options = b'\232\354,\tprojectID' + _globals['_FEATUREUSAGEINFO'].fields_by_name['room_id']._options = None + _globals['_FEATUREUSAGEINFO'].fields_by_name['room_id']._serialized_options = b'\232\354,\006roomID' + _globals['_FEATUREUSAGEINFO'].fields_by_name['participant_id']._options = None + _globals['_FEATUREUSAGEINFO'].fields_by_name['participant_id']._serialized_options = b'\232\354,\rparticipantID' + _globals['_FEATUREUSAGEINFO'].fields_by_name['track_id']._options = None + _globals['_FEATUREUSAGEINFO'].fields_by_name['track_id']._serialized_options = b'\232\354,\007trackID' + _globals['_APICALLINFO'].fields_by_name['project_id']._options = None + _globals['_APICALLINFO'].fields_by_name['project_id']._serialized_options = b'\232\354,\tprojectID' + _globals['_APICALLINFO'].fields_by_name['node_id']._options = None + _globals['_APICALLINFO'].fields_by_name['node_id']._serialized_options = b'\232\354,\006nodeID' + _globals['_APICALLINFO'].fields_by_name['room_id']._options = None + _globals['_APICALLINFO'].fields_by_name['room_id']._serialized_options = b'\232\354,\006roomID' + _globals['_APICALLINFO'].fields_by_name['participant_id']._options = None + _globals['_APICALLINFO'].fields_by_name['participant_id']._serialized_options = b'\232\354,\rparticipantID' + _globals['_APICALLINFO'].fields_by_name['track_id']._options = None + _globals['_APICALLINFO'].fields_by_name['track_id']._serialized_options = b'\232\354,\007trackID' + _globals['_WEBHOOKINFO'].fields_by_name['event_id']._options = None + _globals['_WEBHOOKINFO'].fields_by_name['event_id']._serialized_options = b'\232\354,\007eventID' + _globals['_WEBHOOKINFO'].fields_by_name['project_id']._options = None + _globals['_WEBHOOKINFO'].fields_by_name['project_id']._serialized_options = b'\232\354,\tprojectID' + _globals['_WEBHOOKINFO'].fields_by_name['room_id']._options = None + _globals['_WEBHOOKINFO'].fields_by_name['room_id']._serialized_options = b'\232\354,\006roomID' + _globals['_WEBHOOKINFO'].fields_by_name['participant_id']._options = None + _globals['_WEBHOOKINFO'].fields_by_name['participant_id']._serialized_options = b'\232\354,\rparticipantID' + _globals['_WEBHOOKINFO'].fields_by_name['track_id']._options = None + _globals['_WEBHOOKINFO'].fields_by_name['track_id']._serialized_options = b'\232\354,\007trackID' + _globals['_WEBHOOKINFO'].fields_by_name['egress_id']._options = None + _globals['_WEBHOOKINFO'].fields_by_name['egress_id']._serialized_options = b'\232\354,\010egressID' + _globals['_WEBHOOKINFO'].fields_by_name['ingress_id']._options = None + _globals['_WEBHOOKINFO'].fields_by_name['ingress_id']._serialized_options = b'\232\354,\tingressID' + _globals['_STREAMTYPE']._serialized_start=5888 + _globals['_STREAMTYPE']._serialized_end=5930 + _globals['_ANALYTICSEVENTTYPE']._serialized_start=5933 + _globals['_ANALYTICSEVENTTYPE']._serialized_end=7027 + _globals['_ANALYTICSVIDEOLAYER']._serialized_start=197 + _globals['_ANALYTICSVIDEOLAYER']._serialized_end=281 + _globals['_ANALYTICSSTREAM']._serialized_start=284 + _globals['_ANALYTICSSTREAM']._serialized_end=751 + _globals['_ANALYTICSSTAT']._serialized_start=754 + _globals['_ANALYTICSSTAT']._serialized_end=1136 + _globals['_ANALYTICSSTATS']._serialized_start=1138 + _globals['_ANALYTICSSTATS']._serialized_end=1193 + _globals['_ANALYTICSCLIENTMETA']._serialized_start=1196 + _globals['_ANALYTICSCLIENTMETA']._serialized_end=1478 + _globals['_ANALYTICSEVENT']._serialized_start=1481 + _globals['_ANALYTICSEVENT']._serialized_end=2800 + _globals['_ANALYTICSEVENTS']._serialized_start=2802 + _globals['_ANALYTICSEVENTS']._serialized_end=2860 + _globals['_ANALYTICSROOMPARTICIPANT']._serialized_start=2863 + _globals['_ANALYTICSROOMPARTICIPANT']._serialized_end=3027 + _globals['_ANALYTICSROOM']._serialized_start=3030 + _globals['_ANALYTICSROOM']._serialized_end=3211 + _globals['_ANALYTICSNODEROOMS']._serialized_start=3214 + _globals['_ANALYTICSNODEROOMS']._serialized_end=3374 + _globals['_REPORTINFO']._serialized_start=3376 + _globals['_REPORTINFO']._serialized_end=3451 + _globals['_TIMERANGE']._serialized_start=3453 + _globals['_TIMERANGE']._serialized_end=3558 + _globals['_FEATUREUSAGEINFO']._serialized_start=3561 + _globals['_FEATUREUSAGEINFO']._serialized_end=4086 + _globals['_FEATUREUSAGEINFO_FEATUREINFOENTRY']._serialized_start=3927 + _globals['_FEATUREUSAGEINFO_FEATUREINFOENTRY']._serialized_end=3977 + _globals['_FEATUREUSAGEINFO_FEATURE']._serialized_start=3979 + _globals['_FEATUREUSAGEINFO_FEATURE']._serialized_end=4086 + _globals['_APICALLREQUEST']._serialized_start=4089 + _globals['_APICALLREQUEST']._serialized_end=4780 + _globals['_APICALLINFO']._serialized_start=4783 + _globals['_APICALLINFO']._serialized_end=5227 + _globals['_WEBHOOKINFO']._serialized_start=5230 + _globals['_WEBHOOKINFO']._serialized_end=5886 # @@protoc_insertion_point(module_scope) diff --git a/livekit-protocol/livekit/protocol/analytics.pyi b/livekit-protocol/livekit/protocol/analytics.pyi index 26486239..d9805772 100644 --- a/livekit-protocol/livekit/protocol/analytics.pyi +++ b/livekit-protocol/livekit/protocol/analytics.pyi @@ -4,6 +4,7 @@ from . import egress as _egress from . import ingress as _ingress from . import sip as _sip from . import room as _room +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/connector_whatsapp.py b/livekit-protocol/livekit/protocol/connector_whatsapp.py index feffefef..1076f353 100644 --- a/livekit-protocol/livekit/protocol/connector_whatsapp.py +++ b/livekit-protocol/livekit/protocol/connector_whatsapp.py @@ -12,12 +12,13 @@ _sym_db = _symbol_database.Default() +from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2 from . import agent_dispatch as _agent__dispatch_ from . import rtc as _rtc_ 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\"\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') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n livekit_connector_whatsapp.proto\x12\x07livekit\x1a\x1egoogle/protobuf/duration.proto\x1a\x1clivekit_agent_dispatch.proto\x1a\x11livekit_rtc.proto\x1a\x14logger/options.proto\"\xe7\x05\n\x17\x44ialWhatsAppCallRequest\x12;\n\x18whatsapp_phone_number_id\x18\x01 \x01(\tB\x19\x9a\xec,\x15whatsappPhoneNumberID\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\x12\x32\n\x0fringing_timeout\x18\r \x01(\x0b\x32\x19.google.protobuf.Duration\x1a<\n\x1aParticipantAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"[\n\x18\x44ialWhatsAppCallResponse\x12,\n\x10whatsapp_call_id\x18\x01 \x01(\tB\x12\x9a\xec,\x0ewhatsappCallID\x12\x11\n\troom_name\x18\x02 \x01(\t\"\x81\x02\n\x1d\x44isconnectWhatsAppCallRequest\x12,\n\x10whatsapp_call_id\x18\x01 \x01(\tB\x12\x9a\xec,\x0ewhatsappCallID\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\"t\n\x1a\x43onnectWhatsAppCallRequest\x12,\n\x10whatsapp_call_id\x18\x01 \x01(\tB\x12\x9a\xec,\x0ewhatsappCallID\x12(\n\x03sdp\x18\x02 \x01(\x0b\x32\x1b.livekit.SessionDescription\"\x1d\n\x1b\x43onnectWhatsAppCallResponse\"\xb8\x06\n\x19\x41\x63\x63\x65ptWhatsAppCallRequest\x12;\n\x18whatsapp_phone_number_id\x18\x01 \x01(\tB\x19\x9a\xec,\x15whatsappPhoneNumberID\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,\n\x10whatsapp_call_id\x18\x03 \x01(\tB\x12\x9a\xec,\x0ewhatsappCallID\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\x12\x32\n\x0fringing_timeout\x18\x0e \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x1b\n\x13wait_until_answered\x18\x0f \x01(\x08\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\"o\n\x0cWhatsAppCall\x12,\n\x10whatsapp_call_id\x18\x01 \x01(\tB\x12\x9a\xec,\x0ewhatsappCallID\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,6 +28,8 @@ _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_phone_number_id']._options = None + _globals['_DIALWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_phone_number_id']._serialized_options = b'\232\354,\025whatsappPhoneNumberID' _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 @@ -37,42 +40,54 @@ _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\354,\001\222\354,\036' + _globals['_DIALWHATSAPPCALLRESPONSE'].fields_by_name['whatsapp_call_id']._options = None + _globals['_DIALWHATSAPPCALLRESPONSE'].fields_by_name['whatsapp_call_id']._serialized_options = b'\232\354,\016whatsappCallID' + _globals['_DISCONNECTWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_call_id']._options = None + _globals['_DISCONNECTWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_call_id']._serialized_options = b'\232\354,\016whatsappCallID' _globals['_DISCONNECTWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_api_key']._options = None _globals['_DISCONNECTWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_api_key']._serialized_options = b'\210\354,\001' + _globals['_CONNECTWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_call_id']._options = None + _globals['_CONNECTWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_call_id']._serialized_options = b'\232\354,\016whatsappCallID' _globals['_ACCEPTWHATSAPPCALLREQUEST_PARTICIPANTATTRIBUTESENTRY']._options = None _globals['_ACCEPTWHATSAPPCALLREQUEST_PARTICIPANTATTRIBUTESENTRY']._serialized_options = b'8\001' + _globals['_ACCEPTWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_phone_number_id']._options = None + _globals['_ACCEPTWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_phone_number_id']._serialized_options = b'\232\354,\025whatsappPhoneNumberID' _globals['_ACCEPTWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_api_key']._options = None _globals['_ACCEPTWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_api_key']._serialized_options = b'\210\354,\001' + _globals['_ACCEPTWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_call_id']._options = None + _globals['_ACCEPTWHATSAPPCALLREQUEST'].fields_by_name['whatsapp_call_id']._serialized_options = b'\232\354,\016whatsappCallID' _globals['_ACCEPTWHATSAPPCALLREQUEST'].fields_by_name['participant_name']._options = None _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\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\354,\001\222\354,\036' - _globals['_WHATSAPPCALLDIRECTION']._serialized_start=2100 - _globals['_WHATSAPPCALLDIRECTION']._serialized_end=2198 - _globals['_DIALWHATSAPPCALLREQUEST']._serialized_start=117 - _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 + _globals['_WHATSAPPCALL'].fields_by_name['whatsapp_call_id']._options = None + _globals['_WHATSAPPCALL'].fields_by_name['whatsapp_call_id']._serialized_options = b'\232\354,\016whatsappCallID' + _globals['_WHATSAPPCALLDIRECTION']._serialized_start=2419 + _globals['_WHATSAPPCALLDIRECTION']._serialized_end=2517 + _globals['_DIALWHATSAPPCALLREQUEST']._serialized_start=149 + _globals['_DIALWHATSAPPCALLREQUEST']._serialized_end=892 + _globals['_DIALWHATSAPPCALLREQUEST_PARTICIPANTATTRIBUTESENTRY']._serialized_start=832 + _globals['_DIALWHATSAPPCALLREQUEST_PARTICIPANTATTRIBUTESENTRY']._serialized_end=892 + _globals['_DIALWHATSAPPCALLRESPONSE']._serialized_start=894 + _globals['_DIALWHATSAPPCALLRESPONSE']._serialized_end=985 + _globals['_DISCONNECTWHATSAPPCALLREQUEST']._serialized_start=988 + _globals['_DISCONNECTWHATSAPPCALLREQUEST']._serialized_end=1245 + _globals['_DISCONNECTWHATSAPPCALLREQUEST_DISCONNECTREASON']._serialized_start=1183 + _globals['_DISCONNECTWHATSAPPCALLREQUEST_DISCONNECTREASON']._serialized_end=1245 + _globals['_DISCONNECTWHATSAPPCALLRESPONSE']._serialized_start=1247 + _globals['_DISCONNECTWHATSAPPCALLRESPONSE']._serialized_end=1279 + _globals['_CONNECTWHATSAPPCALLREQUEST']._serialized_start=1281 + _globals['_CONNECTWHATSAPPCALLREQUEST']._serialized_end=1397 + _globals['_CONNECTWHATSAPPCALLRESPONSE']._serialized_start=1399 + _globals['_CONNECTWHATSAPPCALLRESPONSE']._serialized_end=1428 + _globals['_ACCEPTWHATSAPPCALLREQUEST']._serialized_start=1431 + _globals['_ACCEPTWHATSAPPCALLREQUEST']._serialized_end=2255 + _globals['_ACCEPTWHATSAPPCALLREQUEST_PARTICIPANTATTRIBUTESENTRY']._serialized_start=832 + _globals['_ACCEPTWHATSAPPCALLREQUEST_PARTICIPANTATTRIBUTESENTRY']._serialized_end=892 + _globals['_ACCEPTWHATSAPPCALLRESPONSE']._serialized_start=2257 + _globals['_ACCEPTWHATSAPPCALLRESPONSE']._serialized_end=2304 + _globals['_WHATSAPPCALL']._serialized_start=2306 + _globals['_WHATSAPPCALL']._serialized_end=2417 # @@protoc_insertion_point(module_scope) diff --git a/livekit-protocol/livekit/protocol/connector_whatsapp.pyi b/livekit-protocol/livekit/protocol/connector_whatsapp.pyi index 21068e32..15379886 100644 --- a/livekit-protocol/livekit/protocol/connector_whatsapp.pyi +++ b/livekit-protocol/livekit/protocol/connector_whatsapp.pyi @@ -1,3 +1,4 @@ +from google.protobuf import duration_pb2 as _duration_pb2 from . import agent_dispatch as _agent_dispatch from . import rtc as _rtc from .logger_pb import options as _options_pb2 @@ -17,7 +18,7 @@ WHATSAPP_CALL_DIRECTION_INBOUND: WhatsAppCallDirection WHATSAPP_CALL_DIRECTION_OUTBOUND: WhatsAppCallDirection class DialWhatsAppCallRequest(_message.Message): - __slots__ = ("whatsapp_phone_number_id", "whatsapp_to_phone_number", "whatsapp_api_key", "whatsapp_cloud_api_version", "whatsapp_biz_opaque_callback_data", "room_name", "agents", "participant_identity", "participant_name", "participant_metadata", "participant_attributes", "destination_country") + __slots__ = ("whatsapp_phone_number_id", "whatsapp_to_phone_number", "whatsapp_api_key", "whatsapp_cloud_api_version", "whatsapp_biz_opaque_callback_data", "room_name", "agents", "participant_identity", "participant_name", "participant_metadata", "participant_attributes", "destination_country", "ringing_timeout") class ParticipantAttributesEntry(_message.Message): __slots__ = ("key", "value") KEY_FIELD_NUMBER: _ClassVar[int] @@ -37,6 +38,7 @@ class DialWhatsAppCallRequest(_message.Message): PARTICIPANT_METADATA_FIELD_NUMBER: _ClassVar[int] PARTICIPANT_ATTRIBUTES_FIELD_NUMBER: _ClassVar[int] DESTINATION_COUNTRY_FIELD_NUMBER: _ClassVar[int] + RINGING_TIMEOUT_FIELD_NUMBER: _ClassVar[int] whatsapp_phone_number_id: str whatsapp_to_phone_number: str whatsapp_api_key: str @@ -49,7 +51,8 @@ class DialWhatsAppCallRequest(_message.Message): participant_metadata: str participant_attributes: _containers.ScalarMap[str, str] destination_country: str - def __init__(self, whatsapp_phone_number_id: _Optional[str] = ..., whatsapp_to_phone_number: _Optional[str] = ..., whatsapp_api_key: _Optional[str] = ..., whatsapp_cloud_api_version: _Optional[str] = ..., whatsapp_biz_opaque_callback_data: _Optional[str] = ..., room_name: _Optional[str] = ..., agents: _Optional[_Iterable[_Union[_agent_dispatch.RoomAgentDispatch, _Mapping]]] = ..., participant_identity: _Optional[str] = ..., participant_name: _Optional[str] = ..., participant_metadata: _Optional[str] = ..., participant_attributes: _Optional[_Mapping[str, str]] = ..., destination_country: _Optional[str] = ...) -> None: ... + ringing_timeout: _duration_pb2.Duration + def __init__(self, whatsapp_phone_number_id: _Optional[str] = ..., whatsapp_to_phone_number: _Optional[str] = ..., whatsapp_api_key: _Optional[str] = ..., whatsapp_cloud_api_version: _Optional[str] = ..., whatsapp_biz_opaque_callback_data: _Optional[str] = ..., room_name: _Optional[str] = ..., agents: _Optional[_Iterable[_Union[_agent_dispatch.RoomAgentDispatch, _Mapping]]] = ..., participant_identity: _Optional[str] = ..., participant_name: _Optional[str] = ..., participant_metadata: _Optional[str] = ..., participant_attributes: _Optional[_Mapping[str, str]] = ..., destination_country: _Optional[str] = ..., ringing_timeout: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ...) -> None: ... class DialWhatsAppCallResponse(_message.Message): __slots__ = ("whatsapp_call_id", "room_name") @@ -92,7 +95,7 @@ class ConnectWhatsAppCallResponse(_message.Message): def __init__(self) -> None: ... class AcceptWhatsAppCallRequest(_message.Message): - __slots__ = ("whatsapp_phone_number_id", "whatsapp_api_key", "whatsapp_cloud_api_version", "whatsapp_call_id", "whatsapp_biz_opaque_callback_data", "sdp", "room_name", "agents", "participant_identity", "participant_name", "participant_metadata", "participant_attributes", "destination_country") + __slots__ = ("whatsapp_phone_number_id", "whatsapp_api_key", "whatsapp_cloud_api_version", "whatsapp_call_id", "whatsapp_biz_opaque_callback_data", "sdp", "room_name", "agents", "participant_identity", "participant_name", "participant_metadata", "participant_attributes", "destination_country", "ringing_timeout", "wait_until_answered") class ParticipantAttributesEntry(_message.Message): __slots__ = ("key", "value") KEY_FIELD_NUMBER: _ClassVar[int] @@ -113,6 +116,8 @@ class AcceptWhatsAppCallRequest(_message.Message): PARTICIPANT_METADATA_FIELD_NUMBER: _ClassVar[int] PARTICIPANT_ATTRIBUTES_FIELD_NUMBER: _ClassVar[int] DESTINATION_COUNTRY_FIELD_NUMBER: _ClassVar[int] + RINGING_TIMEOUT_FIELD_NUMBER: _ClassVar[int] + WAIT_UNTIL_ANSWERED_FIELD_NUMBER: _ClassVar[int] whatsapp_phone_number_id: str whatsapp_api_key: str whatsapp_cloud_api_version: str @@ -126,7 +131,9 @@ class AcceptWhatsAppCallRequest(_message.Message): participant_metadata: str participant_attributes: _containers.ScalarMap[str, str] destination_country: str - def __init__(self, whatsapp_phone_number_id: _Optional[str] = ..., whatsapp_api_key: _Optional[str] = ..., whatsapp_cloud_api_version: _Optional[str] = ..., whatsapp_call_id: _Optional[str] = ..., whatsapp_biz_opaque_callback_data: _Optional[str] = ..., sdp: _Optional[_Union[_rtc.SessionDescription, _Mapping]] = ..., room_name: _Optional[str] = ..., agents: _Optional[_Iterable[_Union[_agent_dispatch.RoomAgentDispatch, _Mapping]]] = ..., participant_identity: _Optional[str] = ..., participant_name: _Optional[str] = ..., participant_metadata: _Optional[str] = ..., participant_attributes: _Optional[_Mapping[str, str]] = ..., destination_country: _Optional[str] = ...) -> None: ... + ringing_timeout: _duration_pb2.Duration + wait_until_answered: bool + def __init__(self, whatsapp_phone_number_id: _Optional[str] = ..., whatsapp_api_key: _Optional[str] = ..., whatsapp_cloud_api_version: _Optional[str] = ..., whatsapp_call_id: _Optional[str] = ..., whatsapp_biz_opaque_callback_data: _Optional[str] = ..., sdp: _Optional[_Union[_rtc.SessionDescription, _Mapping]] = ..., room_name: _Optional[str] = ..., agents: _Optional[_Iterable[_Union[_agent_dispatch.RoomAgentDispatch, _Mapping]]] = ..., participant_identity: _Optional[str] = ..., participant_name: _Optional[str] = ..., participant_metadata: _Optional[str] = ..., participant_attributes: _Optional[_Mapping[str, str]] = ..., destination_country: _Optional[str] = ..., ringing_timeout: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., wait_until_answered: bool = ...) -> None: ... class AcceptWhatsAppCallResponse(_message.Message): __slots__ = ("room_name",) diff --git a/livekit-protocol/livekit/protocol/egress.py b/livekit-protocol/livekit/protocol/egress.py index 4bb98ced..008ba8aa 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\"\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') +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\"\xfb\x04\n\x1bTrackCompositeEgressRequest\x12\x11\n\troom_name\x18\x01 \x01(\t\x12(\n\x0e\x61udio_track_id\x18\x02 \x01(\tB\x10\x9a\xec,\x0c\x61udioTrackID\x12(\n\x0evideo_track_id\x18\x03 \x01(\tB\x10\x9a\xec,\x0cvideoTrackID\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\"\xbe\x01\n\x12TrackEgressRequest\x12\x11\n\troom_name\x18\x01 \x01(\t\x12\x1d\n\x08track_id\x18\x02 \x01(\tB\x0b\x9a\xec,\x07trackID\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\"\xb8\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\x1c\x88\xec,\x01\x9a\xec,\x14\x61ssumeRoleExternalID\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\"F\n\x13UpdateLayoutRequest\x12\x1f\n\tegress_id\x18\x01 \x01(\tB\x0c\x9a\xec,\x08\x65gressID\x12\x0e\n\x06layout\x18\x02 \x01(\t\"k\n\x13UpdateStreamRequest\x12\x1f\n\tegress_id\x18\x01 \x01(\tB\x0c\x9a\xec,\x08\x65gressID\x12\x17\n\x0f\x61\x64\x64_output_urls\x18\x02 \x03(\t\x12\x1a\n\x12remove_output_urls\x18\x03 \x03(\t\"W\n\x11ListEgressRequest\x12\x11\n\troom_name\x18\x01 \x01(\t\x12\x1f\n\tegress_id\x18\x02 \x01(\tB\x0c\x9a\xec,\x08\x65gressID\x12\x0e\n\x06\x61\x63tive\x18\x03 \x01(\x08\"8\n\x12ListEgressResponse\x12\"\n\x05items\x18\x01 \x03(\x0b\x32\x13.livekit.EgressInfo\"4\n\x11StopEgressRequest\x12\x1f\n\tegress_id\x18\x01 \x01(\tB\x0c\x9a\xec,\x08\x65gressID\"\xcd\x07\n\nEgressInfo\x12\x1f\n\tegress_id\x18\x01 \x01(\tB\x0c\x9a\xec,\x08\x65gressID\x12\x1b\n\x07room_id\x18\x02 \x01(\tB\n\x9a\xec,\x06roomID\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\x12\x13\n\x0bretry_count\x18\x1b \x01(\x05\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) @@ -36,12 +36,18 @@ _globals['_WEBEGRESSREQUEST'].fields_by_name['stream']._serialized_options = b'\030\001' _globals['_WEBEGRESSREQUEST'].fields_by_name['segments']._options = None _globals['_WEBEGRESSREQUEST'].fields_by_name['segments']._serialized_options = b'\030\001' + _globals['_TRACKCOMPOSITEEGRESSREQUEST'].fields_by_name['audio_track_id']._options = None + _globals['_TRACKCOMPOSITEEGRESSREQUEST'].fields_by_name['audio_track_id']._serialized_options = b'\232\354,\014audioTrackID' + _globals['_TRACKCOMPOSITEEGRESSREQUEST'].fields_by_name['video_track_id']._options = None + _globals['_TRACKCOMPOSITEEGRESSREQUEST'].fields_by_name['video_track_id']._serialized_options = b'\232\354,\014videoTrackID' _globals['_TRACKCOMPOSITEEGRESSREQUEST'].fields_by_name['file']._options = None _globals['_TRACKCOMPOSITEEGRESSREQUEST'].fields_by_name['file']._serialized_options = b'\030\001' _globals['_TRACKCOMPOSITEEGRESSREQUEST'].fields_by_name['stream']._options = None _globals['_TRACKCOMPOSITEEGRESSREQUEST'].fields_by_name['stream']._serialized_options = b'\030\001' _globals['_TRACKCOMPOSITEEGRESSREQUEST'].fields_by_name['segments']._options = None _globals['_TRACKCOMPOSITEEGRESSREQUEST'].fields_by_name['segments']._serialized_options = b'\030\001' + _globals['_TRACKEGRESSREQUEST'].fields_by_name['track_id']._options = None + _globals['_TRACKEGRESSREQUEST'].fields_by_name['track_id']._serialized_options = b'\232\354,\007trackID' _globals['_S3UPLOAD_METADATAENTRY']._options = None _globals['_S3UPLOAD_METADATAENTRY']._serialized_options = b'8\001' _globals['_S3UPLOAD'].fields_by_name['access_key']._options = None @@ -53,7 +59,7 @@ _globals['_S3UPLOAD'].fields_by_name['assume_role_arn']._options = None _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['_S3UPLOAD'].fields_by_name['assume_role_external_id']._serialized_options = b'\210\354,\001\232\354,\024assumeRoleExternalID' _globals['_GCPUPLOAD'].fields_by_name['credentials']._options = None _globals['_GCPUPLOAD'].fields_by_name['credentials']._serialized_options = b'\210\354,\001' _globals['_AZUREBLOBUPLOAD'].fields_by_name['account_name']._options = None @@ -64,6 +70,18 @@ _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\354,\001' + _globals['_UPDATELAYOUTREQUEST'].fields_by_name['egress_id']._options = None + _globals['_UPDATELAYOUTREQUEST'].fields_by_name['egress_id']._serialized_options = b'\232\354,\010egressID' + _globals['_UPDATESTREAMREQUEST'].fields_by_name['egress_id']._options = None + _globals['_UPDATESTREAMREQUEST'].fields_by_name['egress_id']._serialized_options = b'\232\354,\010egressID' + _globals['_LISTEGRESSREQUEST'].fields_by_name['egress_id']._options = None + _globals['_LISTEGRESSREQUEST'].fields_by_name['egress_id']._serialized_options = b'\232\354,\010egressID' + _globals['_STOPEGRESSREQUEST'].fields_by_name['egress_id']._options = None + _globals['_STOPEGRESSREQUEST'].fields_by_name['egress_id']._serialized_options = b'\232\354,\010egressID' + _globals['_EGRESSINFO'].fields_by_name['egress_id']._options = None + _globals['_EGRESSINFO'].fields_by_name['egress_id']._serialized_options = b'\232\354,\010egressID' + _globals['_EGRESSINFO'].fields_by_name['room_id']._options = None + _globals['_EGRESSINFO'].fields_by_name['room_id']._serialized_options = b'\232\354,\006roomID' _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 @@ -72,24 +90,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=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['_ENCODEDFILETYPE']._serialized_start=7668 + _globals['_ENCODEDFILETYPE']._serialized_end=7734 + _globals['_SEGMENTEDFILEPROTOCOL']._serialized_start=7736 + _globals['_SEGMENTEDFILEPROTOCOL']._serialized_end=7814 + _globals['_SEGMENTEDFILESUFFIX']._serialized_start=7816 + _globals['_SEGMENTEDFILESUFFIX']._serialized_end=7863 + _globals['_IMAGEFILESUFFIX']._serialized_start=7865 + _globals['_IMAGEFILESUFFIX']._serialized_end=7967 + _globals['_STREAMPROTOCOL']._serialized_start=7969 + _globals['_STREAMPROTOCOL']._serialized_end=8026 + _globals['_AUDIOMIXING']._serialized_start=8028 + _globals['_AUDIOMIXING']._serialized_end=8113 + _globals['_ENCODINGOPTIONSPRESET']._serialized_start=8116 + _globals['_ENCODINGOPTIONSPRESET']._serialized_end=8323 + _globals['_EGRESSSTATUS']._serialized_start=8326 + _globals['_EGRESSSTATUS']._serialized_end=8485 + _globals['_EGRESSSOURCETYPE']._serialized_start=8487 + _globals['_EGRESSSOURCETYPE']._serialized_end=8561 _globals['_ROOMCOMPOSITEEGRESSREQUEST']._serialized_start=78 _globals['_ROOMCOMPOSITEEGRESSREQUEST']._serialized_end=753 _globals['_WEBEGRESSREQUEST']._serialized_start=756 @@ -97,61 +115,61 @@ _globals['_PARTICIPANTEGRESSREQUEST']._serialized_start=1361 _globals['_PARTICIPANTEGRESSREQUEST']._serialized_end=1792 _globals['_TRACKCOMPOSITEEGRESSREQUEST']._serialized_start=1795 - _globals['_TRACKCOMPOSITEEGRESSREQUEST']._serialized_end=2394 - _globals['_TRACKEGRESSREQUEST']._serialized_start=2397 - _globals['_TRACKEGRESSREQUEST']._serialized_end=2574 - _globals['_ENCODEDFILEOUTPUT']._serialized_start=2577 - _globals['_ENCODEDFILEOUTPUT']._serialized_end=2847 - _globals['_SEGMENTEDFILEOUTPUT']._serialized_start=2850 - _globals['_SEGMENTEDFILEOUTPUT']._serialized_end=3266 - _globals['_DIRECTFILEOUTPUT']._serialized_start=3269 - _globals['_DIRECTFILEOUTPUT']._serialized_end=3493 - _globals['_IMAGEOUTPUT']._serialized_start=3496 - _globals['_IMAGEOUTPUT']._serialized_end=3872 - _globals['_S3UPLOAD']._serialized_start=3875 - _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 + _globals['_TRACKCOMPOSITEEGRESSREQUEST']._serialized_end=2430 + _globals['_TRACKEGRESSREQUEST']._serialized_start=2433 + _globals['_TRACKEGRESSREQUEST']._serialized_end=2623 + _globals['_ENCODEDFILEOUTPUT']._serialized_start=2626 + _globals['_ENCODEDFILEOUTPUT']._serialized_end=2896 + _globals['_SEGMENTEDFILEOUTPUT']._serialized_start=2899 + _globals['_SEGMENTEDFILEOUTPUT']._serialized_end=3315 + _globals['_DIRECTFILEOUTPUT']._serialized_start=3318 + _globals['_DIRECTFILEOUTPUT']._serialized_end=3542 + _globals['_IMAGEOUTPUT']._serialized_start=3545 + _globals['_IMAGEOUTPUT']._serialized_end=3921 + _globals['_S3UPLOAD']._serialized_start=3924 + _globals['_S3UPLOAD']._serialized_end=4364 + _globals['_S3UPLOAD_METADATAENTRY']._serialized_start=4317 + _globals['_S3UPLOAD_METADATAENTRY']._serialized_end=4364 + _globals['_GCPUPLOAD']._serialized_start=4366 + _globals['_GCPUPLOAD']._serialized_end=4457 + _globals['_AZUREBLOBUPLOAD']._serialized_start=4459 + _globals['_AZUREBLOBUPLOAD']._serialized_end=4555 + _globals['_ALIOSSUPLOAD']._serialized_start=4557 + _globals['_ALIOSSUPLOAD']._serialized_end=4669 + _globals['_PROXYCONFIG']._serialized_start=4671 + _globals['_PROXYCONFIG']._serialized_end=4733 + _globals['_STREAMOUTPUT']._serialized_start=4735 + _globals['_STREAMOUTPUT']._serialized_end=4806 + _globals['_ENCODINGOPTIONS']._serialized_start=4809 + _globals['_ENCODINGOPTIONS']._serialized_end=5120 + _globals['_UPDATELAYOUTREQUEST']._serialized_start=5122 + _globals['_UPDATELAYOUTREQUEST']._serialized_end=5192 + _globals['_UPDATESTREAMREQUEST']._serialized_start=5194 + _globals['_UPDATESTREAMREQUEST']._serialized_end=5301 + _globals['_LISTEGRESSREQUEST']._serialized_start=5303 + _globals['_LISTEGRESSREQUEST']._serialized_end=5390 + _globals['_LISTEGRESSRESPONSE']._serialized_start=5392 + _globals['_LISTEGRESSRESPONSE']._serialized_end=5448 + _globals['_STOPEGRESSREQUEST']._serialized_start=5450 + _globals['_STOPEGRESSREQUEST']._serialized_end=5502 + _globals['_EGRESSINFO']._serialized_start=5505 + _globals['_EGRESSINFO']._serialized_end=6478 + _globals['_STREAMINFOLIST']._serialized_start=6480 + _globals['_STREAMINFOLIST']._serialized_end=6535 + _globals['_STREAMINFO']._serialized_start=6538 + _globals['_STREAMINFO']._serialized_end=6766 + _globals['_STREAMINFO_STATUS']._serialized_start=6720 + _globals['_STREAMINFO_STATUS']._serialized_end=6766 + _globals['_FILEINFO']._serialized_start=6768 + _globals['_FILEINFO']._serialized_end=6884 + _globals['_SEGMENTSINFO']._serialized_start=6887 + _globals['_SEGMENTSINFO']._serialized_end=7104 + _globals['_IMAGESINFO']._serialized_start=7106 + _globals['_IMAGESINFO']._serialized_end=7202 + _globals['_AUTOPARTICIPANTEGRESS']._serialized_start=7205 + _globals['_AUTOPARTICIPANTEGRESS']._serialized_end=7440 + _globals['_AUTOTRACKEGRESS']._serialized_start=7443 + _globals['_AUTOTRACKEGRESS']._serialized_end=7666 + _globals['_EGRESS']._serialized_start=8564 + _globals['_EGRESS']._serialized_end=9232 # @@protoc_insertion_point(module_scope) diff --git a/livekit-protocol/livekit/protocol/egress.pyi b/livekit-protocol/livekit/protocol/egress.pyi index 16685263..e781ff27 100644 --- a/livekit-protocol/livekit/protocol/egress.pyi +++ b/livekit-protocol/livekit/protocol/egress.pyi @@ -483,7 +483,7 @@ class StopEgressRequest(_message.Message): def __init__(self, egress_id: _Optional[str] = ...) -> None: ... class EgressInfo(_message.Message): - __slots__ = ("egress_id", "room_id", "room_name", "source_type", "status", "started_at", "ended_at", "updated_at", "details", "error", "error_code", "room_composite", "web", "participant", "track_composite", "track", "stream", "file", "segments", "stream_results", "file_results", "segment_results", "image_results", "manifest_location", "backup_storage_used") + __slots__ = ("egress_id", "room_id", "room_name", "source_type", "status", "started_at", "ended_at", "updated_at", "details", "error", "error_code", "room_composite", "web", "participant", "track_composite", "track", "stream", "file", "segments", "stream_results", "file_results", "segment_results", "image_results", "manifest_location", "backup_storage_used", "retry_count") EGRESS_ID_FIELD_NUMBER: _ClassVar[int] ROOM_ID_FIELD_NUMBER: _ClassVar[int] ROOM_NAME_FIELD_NUMBER: _ClassVar[int] @@ -509,6 +509,7 @@ class EgressInfo(_message.Message): IMAGE_RESULTS_FIELD_NUMBER: _ClassVar[int] MANIFEST_LOCATION_FIELD_NUMBER: _ClassVar[int] BACKUP_STORAGE_USED_FIELD_NUMBER: _ClassVar[int] + RETRY_COUNT_FIELD_NUMBER: _ClassVar[int] egress_id: str room_id: str room_name: str @@ -534,7 +535,8 @@ class EgressInfo(_message.Message): image_results: _containers.RepeatedCompositeFieldContainer[ImagesInfo] manifest_location: str backup_storage_used: bool - def __init__(self, egress_id: _Optional[str] = ..., room_id: _Optional[str] = ..., room_name: _Optional[str] = ..., source_type: _Optional[_Union[EgressSourceType, str]] = ..., status: _Optional[_Union[EgressStatus, str]] = ..., started_at: _Optional[int] = ..., ended_at: _Optional[int] = ..., updated_at: _Optional[int] = ..., details: _Optional[str] = ..., error: _Optional[str] = ..., error_code: _Optional[int] = ..., room_composite: _Optional[_Union[RoomCompositeEgressRequest, _Mapping]] = ..., web: _Optional[_Union[WebEgressRequest, _Mapping]] = ..., participant: _Optional[_Union[ParticipantEgressRequest, _Mapping]] = ..., track_composite: _Optional[_Union[TrackCompositeEgressRequest, _Mapping]] = ..., track: _Optional[_Union[TrackEgressRequest, _Mapping]] = ..., stream: _Optional[_Union[StreamInfoList, _Mapping]] = ..., file: _Optional[_Union[FileInfo, _Mapping]] = ..., segments: _Optional[_Union[SegmentsInfo, _Mapping]] = ..., stream_results: _Optional[_Iterable[_Union[StreamInfo, _Mapping]]] = ..., file_results: _Optional[_Iterable[_Union[FileInfo, _Mapping]]] = ..., segment_results: _Optional[_Iterable[_Union[SegmentsInfo, _Mapping]]] = ..., image_results: _Optional[_Iterable[_Union[ImagesInfo, _Mapping]]] = ..., manifest_location: _Optional[str] = ..., backup_storage_used: bool = ...) -> None: ... + retry_count: int + def __init__(self, egress_id: _Optional[str] = ..., room_id: _Optional[str] = ..., room_name: _Optional[str] = ..., source_type: _Optional[_Union[EgressSourceType, str]] = ..., status: _Optional[_Union[EgressStatus, str]] = ..., started_at: _Optional[int] = ..., ended_at: _Optional[int] = ..., updated_at: _Optional[int] = ..., details: _Optional[str] = ..., error: _Optional[str] = ..., error_code: _Optional[int] = ..., room_composite: _Optional[_Union[RoomCompositeEgressRequest, _Mapping]] = ..., web: _Optional[_Union[WebEgressRequest, _Mapping]] = ..., participant: _Optional[_Union[ParticipantEgressRequest, _Mapping]] = ..., track_composite: _Optional[_Union[TrackCompositeEgressRequest, _Mapping]] = ..., track: _Optional[_Union[TrackEgressRequest, _Mapping]] = ..., stream: _Optional[_Union[StreamInfoList, _Mapping]] = ..., file: _Optional[_Union[FileInfo, _Mapping]] = ..., segments: _Optional[_Union[SegmentsInfo, _Mapping]] = ..., stream_results: _Optional[_Iterable[_Union[StreamInfo, _Mapping]]] = ..., file_results: _Optional[_Iterable[_Union[FileInfo, _Mapping]]] = ..., segment_results: _Optional[_Iterable[_Union[SegmentsInfo, _Mapping]]] = ..., image_results: _Optional[_Iterable[_Union[ImagesInfo, _Mapping]]] = ..., manifest_location: _Optional[str] = ..., backup_storage_used: bool = ..., retry_count: _Optional[int] = ...) -> None: ... class StreamInfoList(_message.Message): __slots__ = ("info",) diff --git a/livekit-protocol/livekit/protocol/ingress.py b/livekit-protocol/livekit/protocol/ingress.py index e0ad240b..330e9099 100644 --- a/livekit-protocol/livekit/protocol/ingress.py +++ b/livekit-protocol/livekit/protocol/ingress.py @@ -16,7 +16,7 @@ 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\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') +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\"\xad\x04\n\x0bIngressInfo\x12!\n\ningress_id\x18\x01 \x01(\tB\r\x9a\xec,\tingressID\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\"\xba\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\x1b\n\x07room_id\x18\x05 \x01(\tB\n\x9a\xec,\x06roomID\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#\n\x0bresource_id\x18\t \x01(\tB\x0e\x9a\xec,\nresourceID\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\"\xce\x03\n\x14UpdateIngressRequest\x12!\n\ningress_id\x18\x01 \x01(\tB\r\x9a\xec,\tingressID\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\"x\n\x12ListIngressRequest\x12,\n\npage_token\x18\x03 \x01(\x0b\x32\x18.livekit.TokenPagination\x12\x11\n\troom_name\x18\x01 \x01(\t\x12!\n\ningress_id\x18\x02 \x01(\tB\r\x9a\xec,\tingressID\"m\n\x13ListIngressResponse\x12\x31\n\x0fnext_page_token\x18\x02 \x01(\x0b\x32\x18.livekit.TokenPagination\x12#\n\x05items\x18\x01 \x03(\x0b\x32\x14.livekit.IngressInfo\"9\n\x14\x44\x65leteIngressRequest\x12!\n\ningress_id\x18\x01 \x01(\tB\r\x9a\xec,\tingressID*=\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) @@ -30,24 +30,36 @@ _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['ingress_id']._options = None + _globals['_INGRESSINFO'].fields_by_name['ingress_id']._serialized_options = b'\232\354,\tingressID' _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['_INGRESSSTATE'].fields_by_name['room_id']._options = None + _globals['_INGRESSSTATE'].fields_by_name['room_id']._serialized_options = b'\232\354,\006roomID' + _globals['_INGRESSSTATE'].fields_by_name['resource_id']._options = None + _globals['_INGRESSSTATE'].fields_by_name['resource_id']._serialized_options = b'\232\354,\nresourceID' + _globals['_UPDATEINGRESSREQUEST'].fields_by_name['ingress_id']._options = None + _globals['_UPDATEINGRESSREQUEST'].fields_by_name['ingress_id']._serialized_options = b'\232\354,\tingressID' _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=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['_LISTINGRESSREQUEST'].fields_by_name['ingress_id']._options = None + _globals['_LISTINGRESSREQUEST'].fields_by_name['ingress_id']._serialized_options = b'\232\354,\tingressID' + _globals['_DELETEINGRESSREQUEST'].fields_by_name['ingress_id']._options = None + _globals['_DELETEINGRESSREQUEST'].fields_by_name['ingress_id']._serialized_options = b'\232\354,\tingressID' + _globals['_INGRESSINPUT']._serialized_start=3189 + _globals['_INGRESSINPUT']._serialized_end=3250 + _globals['_INGRESSAUDIOENCODINGPRESET']._serialized_start=3252 + _globals['_INGRESSAUDIOENCODINGPRESET']._serialized_end=3325 + _globals['_INGRESSVIDEOENCODINGPRESET']._serialized_start=3328 + _globals['_INGRESSVIDEOENCODINGPRESET']._serialized_end=3716 _globals['_CREATEINGRESSREQUEST']._serialized_start=79 _globals['_CREATEINGRESSREQUEST']._serialized_end=534 _globals['_INGRESSAUDIOOPTIONS']._serialized_start=537 @@ -59,23 +71,23 @@ _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 + _globals['_INGRESSINFO']._serialized_end=1770 + _globals['_INGRESSSTATE']._serialized_start=1773 + _globals['_INGRESSSTATE']._serialized_end=2215 + _globals['_INGRESSSTATE_STATUS']._serialized_start=2092 + _globals['_INGRESSSTATE_STATUS']._serialized_end=2215 + _globals['_INPUTVIDEOSTATE']._serialized_start=2217 + _globals['_INPUTVIDEOSTATE']._serialized_end=2328 + _globals['_INPUTAUDIOSTATE']._serialized_start=2330 + _globals['_INPUTAUDIOSTATE']._serialized_end=2430 + _globals['_UPDATEINGRESSREQUEST']._serialized_start=2433 + _globals['_UPDATEINGRESSREQUEST']._serialized_end=2895 + _globals['_LISTINGRESSREQUEST']._serialized_start=2897 + _globals['_LISTINGRESSREQUEST']._serialized_end=3017 + _globals['_LISTINGRESSRESPONSE']._serialized_start=3019 + _globals['_LISTINGRESSRESPONSE']._serialized_end=3128 + _globals['_DELETEINGRESSREQUEST']._serialized_start=3130 + _globals['_DELETEINGRESSREQUEST']._serialized_end=3187 + _globals['_INGRESS']._serialized_start=3719 + _globals['_INGRESS']._serialized_end=4012 # @@protoc_insertion_point(module_scope) diff --git a/livekit-protocol/livekit/protocol/ingress.pyi b/livekit-protocol/livekit/protocol/ingress.pyi index 04a48799..d214cba8 100644 --- a/livekit-protocol/livekit/protocol/ingress.pyi +++ b/livekit-protocol/livekit/protocol/ingress.pyi @@ -246,18 +246,22 @@ class UpdateIngressRequest(_message.Message): def __init__(self, ingress_id: _Optional[str] = ..., name: _Optional[str] = ..., room_name: _Optional[str] = ..., participant_identity: _Optional[str] = ..., participant_name: _Optional[str] = ..., participant_metadata: _Optional[str] = ..., bypass_transcoding: bool = ..., enable_transcoding: bool = ..., audio: _Optional[_Union[IngressAudioOptions, _Mapping]] = ..., video: _Optional[_Union[IngressVideoOptions, _Mapping]] = ..., enabled: bool = ...) -> None: ... class ListIngressRequest(_message.Message): - __slots__ = ("room_name", "ingress_id") + __slots__ = ("page_token", "room_name", "ingress_id") + PAGE_TOKEN_FIELD_NUMBER: _ClassVar[int] ROOM_NAME_FIELD_NUMBER: _ClassVar[int] INGRESS_ID_FIELD_NUMBER: _ClassVar[int] + page_token: _models.TokenPagination room_name: str ingress_id: str - def __init__(self, room_name: _Optional[str] = ..., ingress_id: _Optional[str] = ...) -> None: ... + def __init__(self, page_token: _Optional[_Union[_models.TokenPagination, _Mapping]] = ..., room_name: _Optional[str] = ..., ingress_id: _Optional[str] = ...) -> None: ... class ListIngressResponse(_message.Message): - __slots__ = ("items",) + __slots__ = ("next_page_token", "items") + NEXT_PAGE_TOKEN_FIELD_NUMBER: _ClassVar[int] ITEMS_FIELD_NUMBER: _ClassVar[int] + next_page_token: _models.TokenPagination items: _containers.RepeatedCompositeFieldContainer[IngressInfo] - def __init__(self, items: _Optional[_Iterable[_Union[IngressInfo, _Mapping]]] = ...) -> None: ... + def __init__(self, next_page_token: _Optional[_Union[_models.TokenPagination, _Mapping]] = ..., items: _Optional[_Iterable[_Union[IngressInfo, _Mapping]]] = ...) -> None: ... class DeleteIngressRequest(_message.Message): __slots__ = ("ingress_id",) diff --git a/livekit-protocol/livekit/protocol/logger_pb/options.py b/livekit-protocol/livekit/protocol/logger_pb/options.py index 2e5e469b..bb8ecfe5 100644 --- a/livekit-protocol/livekit/protocol/logger_pb/options.py +++ b/livekit-protocol/livekit/protocol/logger_pb/options.py @@ -15,12 +15,12 @@ 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\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') +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(\t:-\n\x04name\x12\x1d.google.protobuf.FieldOptions\x18\xc3\xcd\x05 \x01(\tBMZ*github.com/livekit/protocol/livekit/logger\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'logger.options_pb2', _globals) if _descriptor._USE_C_DESCRIPTORS == False: _globals['DESCRIPTOR']._options = None - _globals['DESCRIPTOR']._serialized_options = b'Z*github.com/livekit/protocol/livekit/logger' + _globals['DESCRIPTOR']._serialized_options = b'Z*github.com/livekit/protocol/livekit/logger\252\002\rLiveKit.Proto\352\002\016LiveKit::Proto' # @@protoc_insertion_point(module_scope) diff --git a/livekit-protocol/livekit/protocol/logger_pb/options.pyi b/livekit-protocol/livekit/protocol/logger_pb/options.pyi index ea3093d5..3c7f24ec 100644 --- a/livekit-protocol/livekit/protocol/logger_pb/options.pyi +++ b/livekit-protocol/livekit/protocol/logger_pb/options.pyi @@ -7,3 +7,5 @@ REDACT_FIELD_NUMBER: int redact: _descriptor.FieldDescriptor REDACT_FORMAT_FIELD_NUMBER: int redact_format: _descriptor.FieldDescriptor +NAME_FIELD_NUMBER: int +name: _descriptor.FieldDescriptor diff --git a/livekit-protocol/livekit/protocol/metrics.py b/livekit-protocol/livekit/protocol/metrics.py index a536e2e4..15ad2d6c 100644 --- a/livekit-protocol/livekit/protocol/metrics.py +++ b/livekit-protocol/livekit/protocol/metrics.py @@ -13,9 +13,10 @@ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +from .logger_pb import options as logger_dot_options__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\"\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\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\"\xea\x01\n\x16MetricsRecordingHeader\x12\x1b\n\x07room_id\x18\x01 \x01(\tB\n\x9a\xec,\x06roomID\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\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') +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\x1d\n\x08\x61\x66ter_id\x18\x01 \x01(\tB\x0b\x9a\xec,\x07\x61\x66terID\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\"\xa7\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\x12 \n\x18\x63\x61n_manage_agent_session\x18\r \x01(\x08\"\xed\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\x12\x17\n\x0f\x63lient_protocol\x18\x14 \x01(\x05\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\"\x84\x05\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\x12>\n\x17packet_trailer_features\x18\x15 \x03(\x0e\x32\x1d.livekit.PacketTrailerFeature\"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\"\x89\x01\n\rTranscription\x12(\n transcribed_participant_identity\x18\x02 \x01(\t\x12\x1d\n\x08track_id\x18\x03 \x01(\tB\x0b\x9a\xec,\x07trackID\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\"\x83\x01\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\x12\x1a\n\x12\x63ompressed_payload\x18\x06 \x01(\x0c\"+\n\x06RpcAck\x12!\n\nrequest_id\x18\x01 \x01(\tB\r\x9a\xec,\trequestID\"\x8e\x01\n\x0bRpcResponse\x12!\n\nrequest_id\x18\x01 \x01(\tB\r\x9a\xec,\trequestID\x12\x11\n\x07payload\x18\x02 \x01(\tH\x00\x12\"\n\x05\x65rror\x18\x03 \x01(\x0b\x32\x11.livekit.RpcErrorH\x00\x12\x1c\n\x12\x63ompressed_payload\x18\x04 \x01(\x0cH\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\"\xda\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\x1b\n\x07node_id\x18\x05 \x01(\tB\n\x9a\xec,\x06nodeID\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\"\xba\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\x12\x17\n\x0f\x63lient_protocol\x18\x0c \x01(\x05\"\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\"\xce\x01\n\x0eVP8MungerState\x12\x31\n\x13\x65xt_last_picture_id\x18\x01 \x01(\x05\x42\x14\x9a\xec,\x10\x65xtLastPictureID\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\"\x8c\x08\n\nDataStream\x1a\xb9\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/\n\x12reply_to_stream_id\x18\x03 \x01(\tB\x13\x9a\xec,\x0freplyToStreamID\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\xb4\x03\n\x06Header\x12\x1f\n\tstream_id\x18\x01 \x01(\tB\x0c\x9a\xec,\x08streamID\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\x1a{\n\x05\x43hunk\x12\x1f\n\tstream_id\x18\x01 \x01(\tB\x0c\x9a\xec,\x08streamID\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\xae\x01\n\x07Trailer\x12\x1f\n\tstream_id\x18\x01 \x01(\tB\x0c\x9a\xec,\x08streamID\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*\xe8\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\x12\x0f\n\x0b\x41GENT_ERROR\x10\x10*\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*.\n\x14PacketTrailerFeature\x12\x16\n\x12PTF_USER_TIMESTAMP\x10\x00\x42\x46Z#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -25,6 +25,8 @@ 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['_PAGINATION'].fields_by_name['after_id']._options = None + _globals['_PAGINATION'].fields_by_name['after_id']._serialized_options = b'\232\354,\007afterID' _globals['_ROOM'].fields_by_name['metadata']._options = None _globals['_ROOM'].fields_by_name['metadata']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_PARTICIPANTPERMISSION'].fields_by_name['recorder']._options = None @@ -63,170 +65,190 @@ _globals['_USERPACKET'].fields_by_name['destination_sids']._serialized_options = b'\030\001' _globals['_USERPACKET'].fields_by_name['destination_identities']._options = None _globals['_USERPACKET'].fields_by_name['destination_identities']._serialized_options = b'\030\001' + _globals['_TRANSCRIPTION'].fields_by_name['track_id']._options = None + _globals['_TRANSCRIPTION'].fields_by_name['track_id']._serialized_options = b'\232\354,\007trackID' + _globals['_RPCACK'].fields_by_name['request_id']._options = None + _globals['_RPCACK'].fields_by_name['request_id']._serialized_options = b'\232\354,\trequestID' + _globals['_RPCRESPONSE'].fields_by_name['request_id']._options = None + _globals['_RPCRESPONSE'].fields_by_name['request_id']._serialized_options = b'\232\354,\trequestID' + _globals['_SERVERINFO'].fields_by_name['node_id']._options = None + _globals['_SERVERINFO'].fields_by_name['node_id']._serialized_options = b'\232\354,\006nodeID' _globals['_RTPSTATS_GAPHISTOGRAMENTRY']._options = None _globals['_RTPSTATS_GAPHISTOGRAMENTRY']._serialized_options = b'8\001' + _globals['_VP8MUNGERSTATE'].fields_by_name['ext_last_picture_id']._options = None + _globals['_VP8MUNGERSTATE'].fields_by_name['ext_last_picture_id']._serialized_options = b'\232\354,\020extLastPictureID' + _globals['_DATASTREAM_TEXTHEADER'].fields_by_name['reply_to_stream_id']._options = None + _globals['_DATASTREAM_TEXTHEADER'].fields_by_name['reply_to_stream_id']._serialized_options = b'\232\354,\017replyToStreamID' _globals['_DATASTREAM_HEADER_ATTRIBUTESENTRY']._options = None _globals['_DATASTREAM_HEADER_ATTRIBUTESENTRY']._serialized_options = b'8\001' + _globals['_DATASTREAM_HEADER'].fields_by_name['stream_id']._options = None + _globals['_DATASTREAM_HEADER'].fields_by_name['stream_id']._serialized_options = b'\232\354,\010streamID' _globals['_DATASTREAM_HEADER'].fields_by_name['encryption_type']._options = None _globals['_DATASTREAM_HEADER'].fields_by_name['encryption_type']._serialized_options = b'\030\001' + _globals['_DATASTREAM_CHUNK'].fields_by_name['stream_id']._options = None + _globals['_DATASTREAM_CHUNK'].fields_by_name['stream_id']._serialized_options = b'\232\354,\010streamID' _globals['_DATASTREAM_CHUNK'].fields_by_name['iv']._options = None _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=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['_DATASTREAM_TRAILER'].fields_by_name['stream_id']._options = None + _globals['_DATASTREAM_TRAILER'].fields_by_name['stream_id']._serialized_options = b'\232\354,\010streamID' + _globals['_AUDIOCODEC']._serialized_start=11181 + _globals['_AUDIOCODEC']._serialized_end=11240 + _globals['_VIDEOCODEC']._serialized_start=11242 + _globals['_VIDEOCODEC']._serialized_end=11328 + _globals['_IMAGECODEC']._serialized_start=11330 + _globals['_IMAGECODEC']._serialized_end=11371 + _globals['_BACKUPCODECPOLICY']._serialized_start=11373 + _globals['_BACKUPCODECPOLICY']._serialized_end=11446 + _globals['_TRACKTYPE']._serialized_start=11448 + _globals['_TRACKTYPE']._serialized_end=11491 + _globals['_TRACKSOURCE']._serialized_start=11493 + _globals['_TRACKSOURCE']._serialized_end=11589 + _globals['_DATATRACKEXTENSIONID']._serialized_start=11591 + _globals['_DATATRACKEXTENSIONID']._serialized_end=11657 + _globals['_VIDEOQUALITY']._serialized_start=11659 + _globals['_VIDEOQUALITY']._serialized_end=11713 + _globals['_CONNECTIONQUALITY']._serialized_start=11715 + _globals['_CONNECTIONQUALITY']._serialized_end=11779 + _globals['_CLIENTCONFIGSETTING']._serialized_start=11781 + _globals['_CLIENTCONFIGSETTING']._serialized_end=11840 + _globals['_DISCONNECTREASON']._serialized_start=11843 + _globals['_DISCONNECTREASON']._serialized_end=12203 + _globals['_RECONNECTREASON']._serialized_start=12206 + _globals['_RECONNECTREASON']._serialized_end=12343 + _globals['_SUBSCRIPTIONERROR']._serialized_start=12345 + _globals['_SUBSCRIPTIONERROR']._serialized_end=12429 + _globals['_AUDIOTRACKFEATURE']._serialized_start=12432 + _globals['_AUDIOTRACKFEATURE']._serialized_end=12621 + _globals['_PACKETTRAILERFEATURE']._serialized_start=12623 + _globals['_PACKETTRAILERFEATURE']._serialized_end=12669 _globals['_PAGINATION']._serialized_start=111 - _globals['_PAGINATION']._serialized_end=156 - _globals['_TOKENPAGINATION']._serialized_start=158 - _globals['_TOKENPAGINATION']._serialized_end=190 - _globals['_LISTUPDATE']._serialized_start=192 - _globals['_LISTUPDATE']._serialized_end=261 - _globals['_ROOM']._serialized_start=264 - _globals['_ROOM']._serialized_end=659 - _globals['_CODEC']._serialized_start=661 - _globals['_CODEC']._serialized_end=701 - _globals['_PLAYOUTDELAY']._serialized_start=703 - _globals['_PLAYOUTDELAY']._serialized_end=760 - _globals['_PARTICIPANTPERMISSION']._serialized_start=763 - _globals['_PARTICIPANTPERMISSION']._serialized_end=1024 - _globals['_PARTICIPANTINFO']._serialized_start=1027 - _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 + _globals['_PAGINATION']._serialized_end=169 + _globals['_TOKENPAGINATION']._serialized_start=171 + _globals['_TOKENPAGINATION']._serialized_end=203 + _globals['_LISTUPDATE']._serialized_start=205 + _globals['_LISTUPDATE']._serialized_end=274 + _globals['_ROOM']._serialized_start=277 + _globals['_ROOM']._serialized_end=672 + _globals['_CODEC']._serialized_start=674 + _globals['_CODEC']._serialized_end=714 + _globals['_PLAYOUTDELAY']._serialized_start=716 + _globals['_PLAYOUTDELAY']._serialized_end=773 + _globals['_PARTICIPANTPERMISSION']._serialized_start=776 + _globals['_PARTICIPANTPERMISSION']._serialized_end=1071 + _globals['_PARTICIPANTINFO']._serialized_start=1074 + _globals['_PARTICIPANTINFO']._serialized_end=2079 + _globals['_PARTICIPANTINFO_ATTRIBUTESENTRY']._serialized_start=1763 + _globals['_PARTICIPANTINFO_ATTRIBUTESENTRY']._serialized_end=1812 + _globals['_PARTICIPANTINFO_STATE']._serialized_start=1814 + _globals['_PARTICIPANTINFO_STATE']._serialized_end=1876 + _globals['_PARTICIPANTINFO_KIND']._serialized_start=1878 + _globals['_PARTICIPANTINFO_KIND']._serialized_end=1970 + _globals['_PARTICIPANTINFO_KINDDETAIL']._serialized_start=1972 + _globals['_PARTICIPANTINFO_KINDDETAIL']._serialized_end=2079 + _globals['_ENCRYPTION']._serialized_start=2081 + _globals['_ENCRYPTION']._serialized_end=2132 + _globals['_ENCRYPTION_TYPE']._serialized_start=2095 + _globals['_ENCRYPTION_TYPE']._serialized_end=2132 + _globals['_SIMULCASTCODECINFO']._serialized_start=2135 + _globals['_SIMULCASTCODECINFO']._serialized_end=2306 + _globals['_TRACKINFO']._serialized_start=2309 + _globals['_TRACKINFO']._serialized_end=2953 + _globals['_DATATRACKINFO']._serialized_start=2955 + _globals['_DATATRACKINFO']._serialized_end=3063 + _globals['_DATATRACKEXTENSIONPARTICIPANTSID']._serialized_start=3065 + _globals['_DATATRACKEXTENSIONPARTICIPANTSID']._serialized_end=3167 + _globals['_DATATRACKSUBSCRIPTIONOPTIONS']._serialized_start=3169 + _globals['_DATATRACKSUBSCRIPTIONOPTIONS']._serialized_end=3239 + _globals['_VIDEOLAYER']._serialized_start=3242 + _globals['_VIDEOLAYER']._serialized_end=3566 + _globals['_VIDEOLAYER_MODE']._serialized_start=3416 + _globals['_VIDEOLAYER_MODE']._serialized_end=3566 + _globals['_DATAPACKET']._serialized_start=3569 + _globals['_DATAPACKET']._serialized_end=4376 + _globals['_DATAPACKET_KIND']._serialized_start=4336 + _globals['_DATAPACKET_KIND']._serialized_end=4367 + _globals['_ENCRYPTEDPACKET']._serialized_start=4378 + _globals['_ENCRYPTEDPACKET']._serialized_end=4502 + _globals['_ENCRYPTEDPACKETPAYLOAD']._serialized_start=4505 + _globals['_ENCRYPTEDPACKETPAYLOAD']._serialized_end=4906 + _globals['_ACTIVESPEAKERUPDATE']._serialized_start=4908 + _globals['_ACTIVESPEAKERUPDATE']._serialized_end=4973 + _globals['_SPEAKERINFO']._serialized_start=4975 + _globals['_SPEAKERINFO']._serialized_end=5032 + _globals['_USERPACKET']._serialized_start=5035 + _globals['_USERPACKET']._serialized_end=5338 + _globals['_SIPDTMF']._serialized_start=5340 + _globals['_SIPDTMF']._serialized_end=5378 + _globals['_TRANSCRIPTION']._serialized_start=5381 + _globals['_TRANSCRIPTION']._serialized_end=5518 + _globals['_TRANSCRIPTIONSEGMENT']._serialized_start=5520 + _globals['_TRANSCRIPTIONSEGMENT']._serialized_end=5639 + _globals['_CHATMESSAGE']._serialized_start=5642 + _globals['_CHATMESSAGE']._serialized_end=5787 + _globals['_RPCREQUEST']._serialized_start=5790 + _globals['_RPCREQUEST']._serialized_end=5921 + _globals['_RPCACK']._serialized_start=5923 + _globals['_RPCACK']._serialized_end=5966 + _globals['_RPCRESPONSE']._serialized_start=5969 + _globals['_RPCRESPONSE']._serialized_end=6111 + _globals['_RPCERROR']._serialized_start=6113 + _globals['_RPCERROR']._serialized_end=6168 + _globals['_PARTICIPANTTRACKS']._serialized_start=6170 + _globals['_PARTICIPANTTRACKS']._serialized_end=6234 + _globals['_SERVERINFO']._serialized_start=6237 + _globals['_SERVERINFO']._serialized_end=6455 + _globals['_SERVERINFO_EDITION']._serialized_start=6421 + _globals['_SERVERINFO_EDITION']._serialized_end=6455 + _globals['_CLIENTINFO']._serialized_start=6458 + _globals['_CLIENTINFO']._serialized_end=6900 + _globals['_CLIENTINFO_SDK']._serialized_start=6721 + _globals['_CLIENTINFO_SDK']._serialized_end=6900 + _globals['_CLIENTCONFIGURATION']._serialized_start=6903 + _globals['_CLIENTCONFIGURATION']._serialized_end=7171 + _globals['_VIDEOCONFIGURATION']._serialized_start=7173 + _globals['_VIDEOCONFIGURATION']._serialized_end=7249 + _globals['_DISABLEDCODECS']._serialized_start=7251 + _globals['_DISABLEDCODECS']._serialized_end=7332 + _globals['_RTPDRIFT']._serialized_start=7335 + _globals['_RTPDRIFT']._serialized_end=7591 + _globals['_RTPSTATS']._serialized_start=7594 + _globals['_RTPSTATS']._serialized_end=8960 + _globals['_RTPSTATS_GAPHISTOGRAMENTRY']._serialized_start=8909 + _globals['_RTPSTATS_GAPHISTOGRAMENTRY']._serialized_end=8960 + _globals['_RTCPSENDERREPORTSTATE']._serialized_start=8963 + _globals['_RTCPSENDERREPORTSTATE']._serialized_end=9125 + _globals['_RTPFORWARDERSTATE']._serialized_start=9128 + _globals['_RTPFORWARDERSTATE']._serialized_end=9457 + _globals['_RTPMUNGERSTATE']._serialized_start=9460 + _globals['_RTPMUNGERSTATE']._serialized_end=9663 + _globals['_VP8MUNGERSTATE']._serialized_start=9666 + _globals['_VP8MUNGERSTATE']._serialized_end=9872 + _globals['_TIMEDVERSION']._serialized_start=9874 + _globals['_TIMEDVERSION']._serialized_end=9923 + _globals['_DATASTREAM']._serialized_start=9926 + _globals['_DATASTREAM']._serialized_end=10962 + _globals['_DATASTREAM_TEXTHEADER']._serialized_start=9941 + _globals['_DATASTREAM_TEXTHEADER']._serialized_end=10126 + _globals['_DATASTREAM_BYTEHEADER']._serialized_start=10128 + _globals['_DATASTREAM_BYTEHEADER']._serialized_end=10154 + _globals['_DATASTREAM_HEADER']._serialized_start=10157 + _globals['_DATASTREAM_HEADER']._serialized_end=10593 + _globals['_DATASTREAM_HEADER_ATTRIBUTESENTRY']._serialized_start=1763 + _globals['_DATASTREAM_HEADER_ATTRIBUTESENTRY']._serialized_end=1812 + _globals['_DATASTREAM_CHUNK']._serialized_start=10595 + _globals['_DATASTREAM_CHUNK']._serialized_end=10718 + _globals['_DATASTREAM_TRAILER']._serialized_start=10721 + _globals['_DATASTREAM_TRAILER']._serialized_end=10895 + _globals['_DATASTREAM_TRAILER_ATTRIBUTESENTRY']._serialized_start=1763 + _globals['_DATASTREAM_TRAILER_ATTRIBUTESENTRY']._serialized_end=1812 + _globals['_DATASTREAM_OPERATIONTYPE']._serialized_start=10897 + _globals['_DATASTREAM_OPERATIONTYPE']._serialized_end=10962 + _globals['_FILTERPARAMS']._serialized_start=10964 + _globals['_FILTERPARAMS']._serialized_end=11026 + _globals['_WEBHOOKCONFIG']._serialized_start=11028 + _globals['_WEBHOOKCONFIG']._serialized_end=11123 + _globals['_SUBSCRIBEDAUDIOCODEC']._serialized_start=11125 + _globals['_SUBSCRIBEDAUDIOCODEC']._serialized_end=11179 # @@protoc_insertion_point(module_scope) diff --git a/livekit-protocol/livekit/protocol/models.pyi b/livekit-protocol/livekit/protocol/models.pyi index 32f8d255..deb276c8 100644 --- a/livekit-protocol/livekit/protocol/models.pyi +++ b/livekit-protocol/livekit/protocol/models.pyi @@ -92,6 +92,7 @@ class DisconnectReason(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): SIP_TRUNK_FAILURE: _ClassVar[DisconnectReason] CONNECTION_TIMEOUT: _ClassVar[DisconnectReason] MEDIA_FAILURE: _ClassVar[DisconnectReason] + AGENT_ERROR: _ClassVar[DisconnectReason] class ReconnectReason(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () @@ -116,6 +117,10 @@ class AudioTrackFeature(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): TF_NOISE_SUPPRESSION: _ClassVar[AudioTrackFeature] TF_ENHANCED_NOISE_CANCELLATION: _ClassVar[AudioTrackFeature] TF_PRECONNECT_BUFFER: _ClassVar[AudioTrackFeature] + +class PacketTrailerFeature(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + PTF_USER_TIMESTAMP: _ClassVar[PacketTrailerFeature] DEFAULT_AC: AudioCodec OPUS: AudioCodec AAC: AudioCodec @@ -167,6 +172,7 @@ USER_REJECTED: DisconnectReason SIP_TRUNK_FAILURE: DisconnectReason CONNECTION_TIMEOUT: DisconnectReason MEDIA_FAILURE: DisconnectReason +AGENT_ERROR: DisconnectReason RR_UNKNOWN: ReconnectReason RR_SIGNAL_DISCONNECTED: ReconnectReason RR_PUBLISHER_FAILED: ReconnectReason @@ -182,6 +188,7 @@ TF_ECHO_CANCELLATION: AudioTrackFeature TF_NOISE_SUPPRESSION: AudioTrackFeature TF_ENHANCED_NOISE_CANCELLATION: AudioTrackFeature TF_PRECONNECT_BUFFER: AudioTrackFeature +PTF_USER_TIMESTAMP: PacketTrailerFeature class Pagination(_message.Message): __slots__ = ("after_id", "limit") @@ -260,7 +267,7 @@ class PlayoutDelay(_message.Message): def __init__(self, enabled: bool = ..., min: _Optional[int] = ..., max: _Optional[int] = ...) -> None: ... class ParticipantPermission(_message.Message): - __slots__ = ("can_subscribe", "can_publish", "can_publish_data", "can_publish_sources", "hidden", "recorder", "can_update_metadata", "agent", "can_subscribe_metrics") + __slots__ = ("can_subscribe", "can_publish", "can_publish_data", "can_publish_sources", "hidden", "recorder", "can_update_metadata", "agent", "can_subscribe_metrics", "can_manage_agent_session") CAN_SUBSCRIBE_FIELD_NUMBER: _ClassVar[int] CAN_PUBLISH_FIELD_NUMBER: _ClassVar[int] CAN_PUBLISH_DATA_FIELD_NUMBER: _ClassVar[int] @@ -270,6 +277,7 @@ class ParticipantPermission(_message.Message): CAN_UPDATE_METADATA_FIELD_NUMBER: _ClassVar[int] AGENT_FIELD_NUMBER: _ClassVar[int] CAN_SUBSCRIBE_METRICS_FIELD_NUMBER: _ClassVar[int] + CAN_MANAGE_AGENT_SESSION_FIELD_NUMBER: _ClassVar[int] can_subscribe: bool can_publish: bool can_publish_data: bool @@ -279,10 +287,11 @@ class ParticipantPermission(_message.Message): can_update_metadata: bool agent: bool can_subscribe_metrics: bool - 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: ... + can_manage_agent_session: bool + 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 = ..., can_manage_agent_session: 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", "data_tracks") + __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", "client_protocol") class State(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () JOINING: _ClassVar[ParticipantInfo.State] @@ -345,6 +354,7 @@ class ParticipantInfo(_message.Message): DISCONNECT_REASON_FIELD_NUMBER: _ClassVar[int] KIND_DETAILS_FIELD_NUMBER: _ClassVar[int] DATA_TRACKS_FIELD_NUMBER: _ClassVar[int] + CLIENT_PROTOCOL_FIELD_NUMBER: _ClassVar[int] sid: str identity: str state: ParticipantInfo.State @@ -362,7 +372,8 @@ class ParticipantInfo(_message.Message): disconnect_reason: DisconnectReason kind_details: _containers.RepeatedScalarFieldContainer[ParticipantInfo.KindDetail] 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: ... + client_protocol: int + 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]]] = ..., client_protocol: _Optional[int] = ...) -> None: ... class Encryption(_message.Message): __slots__ = () @@ -393,7 +404,7 @@ class SimulcastCodecInfo(_message.Message): def __init__(self, mime_type: _Optional[str] = ..., mid: _Optional[str] = ..., cid: _Optional[str] = ..., layers: _Optional[_Iterable[_Union[VideoLayer, _Mapping]]] = ..., video_layer_mode: _Optional[_Union[VideoLayer.Mode, str]] = ..., sdp_cid: _Optional[str] = ...) -> None: ... class TrackInfo(_message.Message): - __slots__ = ("sid", "type", "name", "muted", "width", "height", "simulcast", "disable_dtx", "source", "layers", "mime_type", "mid", "codecs", "stereo", "disable_red", "encryption", "stream", "version", "audio_features", "backup_codec_policy") + __slots__ = ("sid", "type", "name", "muted", "width", "height", "simulcast", "disable_dtx", "source", "layers", "mime_type", "mid", "codecs", "stereo", "disable_red", "encryption", "stream", "version", "audio_features", "backup_codec_policy", "packet_trailer_features") SID_FIELD_NUMBER: _ClassVar[int] TYPE_FIELD_NUMBER: _ClassVar[int] NAME_FIELD_NUMBER: _ClassVar[int] @@ -414,6 +425,7 @@ class TrackInfo(_message.Message): VERSION_FIELD_NUMBER: _ClassVar[int] AUDIO_FEATURES_FIELD_NUMBER: _ClassVar[int] BACKUP_CODEC_POLICY_FIELD_NUMBER: _ClassVar[int] + PACKET_TRAILER_FEATURES_FIELD_NUMBER: _ClassVar[int] sid: str type: TrackType name: str @@ -434,7 +446,8 @@ class TrackInfo(_message.Message): version: TimedVersion audio_features: _containers.RepeatedScalarFieldContainer[AudioTrackFeature] 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: ... + packet_trailer_features: _containers.RepeatedScalarFieldContainer[PacketTrailerFeature] + 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]] = ..., packet_trailer_features: _Optional[_Iterable[_Union[PacketTrailerFeature, str]]] = ...) -> None: ... class DataTrackInfo(_message.Message): __slots__ = ("pub_handle", "sid", "name", "encryption") @@ -661,18 +674,20 @@ class ChatMessage(_message.Message): def __init__(self, id: _Optional[str] = ..., timestamp: _Optional[int] = ..., edit_timestamp: _Optional[int] = ..., message: _Optional[str] = ..., deleted: bool = ..., generated: bool = ...) -> None: ... class RpcRequest(_message.Message): - __slots__ = ("id", "method", "payload", "response_timeout_ms", "version") + __slots__ = ("id", "method", "payload", "response_timeout_ms", "version", "compressed_payload") ID_FIELD_NUMBER: _ClassVar[int] METHOD_FIELD_NUMBER: _ClassVar[int] PAYLOAD_FIELD_NUMBER: _ClassVar[int] RESPONSE_TIMEOUT_MS_FIELD_NUMBER: _ClassVar[int] VERSION_FIELD_NUMBER: _ClassVar[int] + COMPRESSED_PAYLOAD_FIELD_NUMBER: _ClassVar[int] id: str method: str payload: str response_timeout_ms: int version: int - def __init__(self, id: _Optional[str] = ..., method: _Optional[str] = ..., payload: _Optional[str] = ..., response_timeout_ms: _Optional[int] = ..., version: _Optional[int] = ...) -> None: ... + compressed_payload: bytes + def __init__(self, id: _Optional[str] = ..., method: _Optional[str] = ..., payload: _Optional[str] = ..., response_timeout_ms: _Optional[int] = ..., version: _Optional[int] = ..., compressed_payload: _Optional[bytes] = ...) -> None: ... class RpcAck(_message.Message): __slots__ = ("request_id",) @@ -681,14 +696,16 @@ class RpcAck(_message.Message): def __init__(self, request_id: _Optional[str] = ...) -> None: ... class RpcResponse(_message.Message): - __slots__ = ("request_id", "payload", "error") + __slots__ = ("request_id", "payload", "error", "compressed_payload") REQUEST_ID_FIELD_NUMBER: _ClassVar[int] PAYLOAD_FIELD_NUMBER: _ClassVar[int] ERROR_FIELD_NUMBER: _ClassVar[int] + COMPRESSED_PAYLOAD_FIELD_NUMBER: _ClassVar[int] request_id: str payload: str error: RpcError - def __init__(self, request_id: _Optional[str] = ..., payload: _Optional[str] = ..., error: _Optional[_Union[RpcError, _Mapping]] = ...) -> None: ... + compressed_payload: bytes + def __init__(self, request_id: _Optional[str] = ..., payload: _Optional[str] = ..., error: _Optional[_Union[RpcError, _Mapping]] = ..., compressed_payload: _Optional[bytes] = ...) -> None: ... class RpcError(_message.Message): __slots__ = ("code", "message", "data") @@ -733,7 +750,7 @@ class ServerInfo(_message.Message): def __init__(self, edition: _Optional[_Union[ServerInfo.Edition, str]] = ..., version: _Optional[str] = ..., protocol: _Optional[int] = ..., region: _Optional[str] = ..., node_id: _Optional[str] = ..., debug_info: _Optional[str] = ..., agent_protocol: _Optional[int] = ...) -> None: ... class ClientInfo(_message.Message): - __slots__ = ("sdk", "version", "protocol", "os", "os_version", "device_model", "browser", "browser_version", "address", "network", "other_sdks") + __slots__ = ("sdk", "version", "protocol", "os", "os_version", "device_model", "browser", "browser_version", "address", "network", "other_sdks", "client_protocol") class SDK(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = () UNKNOWN: _ClassVar[ClientInfo.SDK] @@ -777,6 +794,7 @@ class ClientInfo(_message.Message): ADDRESS_FIELD_NUMBER: _ClassVar[int] NETWORK_FIELD_NUMBER: _ClassVar[int] OTHER_SDKS_FIELD_NUMBER: _ClassVar[int] + CLIENT_PROTOCOL_FIELD_NUMBER: _ClassVar[int] sdk: ClientInfo.SDK version: str protocol: int @@ -788,7 +806,8 @@ class ClientInfo(_message.Message): address: str network: str other_sdks: str - def __init__(self, sdk: _Optional[_Union[ClientInfo.SDK, str]] = ..., version: _Optional[str] = ..., protocol: _Optional[int] = ..., os: _Optional[str] = ..., os_version: _Optional[str] = ..., device_model: _Optional[str] = ..., browser: _Optional[str] = ..., browser_version: _Optional[str] = ..., address: _Optional[str] = ..., network: _Optional[str] = ..., other_sdks: _Optional[str] = ...) -> None: ... + client_protocol: int + def __init__(self, sdk: _Optional[_Union[ClientInfo.SDK, str]] = ..., version: _Optional[str] = ..., protocol: _Optional[int] = ..., os: _Optional[str] = ..., os_version: _Optional[str] = ..., device_model: _Optional[str] = ..., browser: _Optional[str] = ..., browser_version: _Optional[str] = ..., address: _Optional[str] = ..., network: _Optional[str] = ..., other_sdks: _Optional[str] = ..., client_protocol: _Optional[int] = ...) -> None: ... class ClientConfiguration(_message.Message): __slots__ = ("video", "screen", "resume_connection", "disabled_codecs", "force_relay") diff --git a/livekit-protocol/livekit/protocol/room.py b/livekit-protocol/livekit/protocol/room.py index 882aad28..40f00512 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\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') +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\"\x8e\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\x1b\n\x07node_id\x18\x04 \x01(\tB\n\x9a\xec,\x06nodeID\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) @@ -26,6 +26,8 @@ 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['_CREATEROOMREQUEST'].fields_by_name['node_id']._options = None + _globals['_CREATEROOMREQUEST'].fields_by_name['node_id']._serialized_options = b'\232\354,\006nodeID' _globals['_CREATEROOMREQUEST'].fields_by_name['metadata']._options = None _globals['_CREATEROOMREQUEST'].fields_by_name['metadata']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_UPDATEPARTICIPANTREQUEST_ATTRIBUTESENTRY']._options = None @@ -43,59 +45,59 @@ _globals['_ROOMCONFIGURATION'].fields_by_name['metadata']._options = None _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 - _globals['_ROOMEGRESS']._serialized_end=675 - _globals['_ROOMAGENT']._serialized_start=677 - _globals['_ROOMAGENT']._serialized_end=736 - _globals['_LISTROOMSREQUEST']._serialized_start=738 - _globals['_LISTROOMSREQUEST']._serialized_end=771 - _globals['_LISTROOMSRESPONSE']._serialized_start=773 - _globals['_LISTROOMSRESPONSE']._serialized_end=822 - _globals['_DELETEROOMREQUEST']._serialized_start=824 - _globals['_DELETEROOMREQUEST']._serialized_end=857 - _globals['_DELETEROOMRESPONSE']._serialized_start=859 - _globals['_DELETEROOMRESPONSE']._serialized_end=879 - _globals['_LISTPARTICIPANTSREQUEST']._serialized_start=881 - _globals['_LISTPARTICIPANTSREQUEST']._serialized_end=920 - _globals['_LISTPARTICIPANTSRESPONSE']._serialized_start=922 - _globals['_LISTPARTICIPANTSRESPONSE']._serialized_end=996 - _globals['_ROOMPARTICIPANTIDENTITY']._serialized_start=998 - _globals['_ROOMPARTICIPANTIDENTITY']._serialized_end=1055 - _globals['_REMOVEPARTICIPANTRESPONSE']._serialized_start=1057 - _globals['_REMOVEPARTICIPANTRESPONSE']._serialized_end=1084 - _globals['_MUTEROOMTRACKREQUEST']._serialized_start=1086 - _globals['_MUTEROOMTRACKREQUEST']._serialized_end=1174 - _globals['_MUTEROOMTRACKRESPONSE']._serialized_start=1176 - _globals['_MUTEROOMTRACKRESPONSE']._serialized_end=1234 - _globals['_UPDATEPARTICIPANTREQUEST']._serialized_start=1237 - _globals['_UPDATEPARTICIPANTREQUEST']._serialized_end=1621 - _globals['_UPDATEPARTICIPANTREQUEST_ATTRIBUTESENTRY']._serialized_start=1572 - _globals['_UPDATEPARTICIPANTREQUEST_ATTRIBUTESENTRY']._serialized_end=1621 - _globals['_UPDATESUBSCRIPTIONSREQUEST']._serialized_start=1624 - _globals['_UPDATESUBSCRIPTIONSREQUEST']._serialized_end=1779 - _globals['_UPDATESUBSCRIPTIONSRESPONSE']._serialized_start=1781 - _globals['_UPDATESUBSCRIPTIONSRESPONSE']._serialized_end=1810 - _globals['_SENDDATAREQUEST']._serialized_start=1813 - _globals['_SENDDATAREQUEST']._serialized_end=2005 - _globals['_SENDDATARESPONSE']._serialized_start=2007 - _globals['_SENDDATARESPONSE']._serialized_end=2025 - _globals['_UPDATEROOMMETADATAREQUEST']._serialized_start=2027 - _globals['_UPDATEROOMMETADATAREQUEST']._serialized_end=2126 - _globals['_ROOMCONFIGURATION']._serialized_start=2129 - _globals['_ROOMCONFIGURATION']._serialized_end=2453 - _globals['_FORWARDPARTICIPANTREQUEST']._serialized_start=2455 - _globals['_FORWARDPARTICIPANTREQUEST']._serialized_end=2540 - _globals['_FORWARDPARTICIPANTRESPONSE']._serialized_start=2542 - _globals['_FORWARDPARTICIPANTRESPONSE']._serialized_end=2570 - _globals['_MOVEPARTICIPANTREQUEST']._serialized_start=2572 - _globals['_MOVEPARTICIPANTREQUEST']._serialized_end=2654 - _globals['_MOVEPARTICIPANTRESPONSE']._serialized_start=2656 - _globals['_MOVEPARTICIPANTRESPONSE']._serialized_end=2681 - _globals['_PERFORMRPCREQUEST']._serialized_start=2683 - _globals['_PERFORMRPCREQUEST']._serialized_end=2808 - _globals['_PERFORMRPCRESPONSE']._serialized_start=2810 - _globals['_PERFORMRPCRESPONSE']._serialized_end=2847 - _globals['_ROOMSERVICE']._serialized_start=2850 - _globals['_ROOMSERVICE']._serialized_end=3972 + _globals['_CREATEROOMREQUEST']._serialized_end=526 + _globals['_ROOMEGRESS']._serialized_start=529 + _globals['_ROOMEGRESS']._serialized_end=687 + _globals['_ROOMAGENT']._serialized_start=689 + _globals['_ROOMAGENT']._serialized_end=748 + _globals['_LISTROOMSREQUEST']._serialized_start=750 + _globals['_LISTROOMSREQUEST']._serialized_end=783 + _globals['_LISTROOMSRESPONSE']._serialized_start=785 + _globals['_LISTROOMSRESPONSE']._serialized_end=834 + _globals['_DELETEROOMREQUEST']._serialized_start=836 + _globals['_DELETEROOMREQUEST']._serialized_end=869 + _globals['_DELETEROOMRESPONSE']._serialized_start=871 + _globals['_DELETEROOMRESPONSE']._serialized_end=891 + _globals['_LISTPARTICIPANTSREQUEST']._serialized_start=893 + _globals['_LISTPARTICIPANTSREQUEST']._serialized_end=932 + _globals['_LISTPARTICIPANTSRESPONSE']._serialized_start=934 + _globals['_LISTPARTICIPANTSRESPONSE']._serialized_end=1008 + _globals['_ROOMPARTICIPANTIDENTITY']._serialized_start=1010 + _globals['_ROOMPARTICIPANTIDENTITY']._serialized_end=1067 + _globals['_REMOVEPARTICIPANTRESPONSE']._serialized_start=1069 + _globals['_REMOVEPARTICIPANTRESPONSE']._serialized_end=1096 + _globals['_MUTEROOMTRACKREQUEST']._serialized_start=1098 + _globals['_MUTEROOMTRACKREQUEST']._serialized_end=1186 + _globals['_MUTEROOMTRACKRESPONSE']._serialized_start=1188 + _globals['_MUTEROOMTRACKRESPONSE']._serialized_end=1246 + _globals['_UPDATEPARTICIPANTREQUEST']._serialized_start=1249 + _globals['_UPDATEPARTICIPANTREQUEST']._serialized_end=1633 + _globals['_UPDATEPARTICIPANTREQUEST_ATTRIBUTESENTRY']._serialized_start=1584 + _globals['_UPDATEPARTICIPANTREQUEST_ATTRIBUTESENTRY']._serialized_end=1633 + _globals['_UPDATESUBSCRIPTIONSREQUEST']._serialized_start=1636 + _globals['_UPDATESUBSCRIPTIONSREQUEST']._serialized_end=1791 + _globals['_UPDATESUBSCRIPTIONSRESPONSE']._serialized_start=1793 + _globals['_UPDATESUBSCRIPTIONSRESPONSE']._serialized_end=1822 + _globals['_SENDDATAREQUEST']._serialized_start=1825 + _globals['_SENDDATAREQUEST']._serialized_end=2017 + _globals['_SENDDATARESPONSE']._serialized_start=2019 + _globals['_SENDDATARESPONSE']._serialized_end=2037 + _globals['_UPDATEROOMMETADATAREQUEST']._serialized_start=2039 + _globals['_UPDATEROOMMETADATAREQUEST']._serialized_end=2138 + _globals['_ROOMCONFIGURATION']._serialized_start=2141 + _globals['_ROOMCONFIGURATION']._serialized_end=2465 + _globals['_FORWARDPARTICIPANTREQUEST']._serialized_start=2467 + _globals['_FORWARDPARTICIPANTREQUEST']._serialized_end=2552 + _globals['_FORWARDPARTICIPANTRESPONSE']._serialized_start=2554 + _globals['_FORWARDPARTICIPANTRESPONSE']._serialized_end=2582 + _globals['_MOVEPARTICIPANTREQUEST']._serialized_start=2584 + _globals['_MOVEPARTICIPANTREQUEST']._serialized_end=2666 + _globals['_MOVEPARTICIPANTRESPONSE']._serialized_start=2668 + _globals['_MOVEPARTICIPANTRESPONSE']._serialized_end=2693 + _globals['_PERFORMRPCREQUEST']._serialized_start=2695 + _globals['_PERFORMRPCREQUEST']._serialized_end=2820 + _globals['_PERFORMRPCRESPONSE']._serialized_start=2822 + _globals['_PERFORMRPCRESPONSE']._serialized_end=2859 + _globals['_ROOMSERVICE']._serialized_start=2862 + _globals['_ROOMSERVICE']._serialized_end=3984 # @@protoc_insertion_point(module_scope) diff --git a/livekit-protocol/livekit/protocol/rtc.py b/livekit-protocol/livekit/protocol/rtc.py index 031fae7a..ef4875c7 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\"\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') +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\"\xb4\x04\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\x12>\n\x17packet_trailer_features\x18\x12 \x03(\x0e\x32\x1d.livekit.PacketTrailerFeature\"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\"\xca\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\x12X\n\x0fmid_to_track_id\x18\x04 \x03(\x0b\x32-.livekit.SessionDescription.MidToTrackIdEntryB\x10\x9a\xec,\x0cmidToTrackID\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\"\xd1\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!\n\nrequest_id\x18\x04 \x01(\rB\r\x9a\xec,\trequestID\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"K\n\tICEServer\x12\x0c\n\x04urls\x18\x01 \x03(\t\x12\x16\n\x08username\x18\x02 \x01(\tB\x04\x88\xec,\x01\x12\x18\n\ncredential\x18\x03 \x01(\tB\x04\x88\xec,\x01\"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\"\x97\x06\n\x0fRequestResponse\x12!\n\nrequest_id\x18\x01 \x01(\rB\r\x9a\xec,\trequestID\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) @@ -34,6 +34,8 @@ _globals['_DATATRACKSUBSCRIBERHANDLES_SUBHANDLESENTRY']._serialized_options = b'8\001' _globals['_SESSIONDESCRIPTION_MIDTOTRACKIDENTRY']._options = None _globals['_SESSIONDESCRIPTION_MIDTOTRACKIDENTRY']._serialized_options = b'8\001' + _globals['_SESSIONDESCRIPTION'].fields_by_name['mid_to_track_id']._options = None + _globals['_SESSIONDESCRIPTION'].fields_by_name['mid_to_track_id']._serialized_options = b'\232\354,\014midToTrackID' _globals['_UPDATEVIDEOLAYERS']._options = None _globals['_UPDATEVIDEOLAYERS']._serialized_options = b'\030\001' _globals['_UPDATEPARTICIPANTMETADATA_ATTRIBUTESENTRY']._options = None @@ -44,20 +46,28 @@ _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\354,\001\222\354,\036' + _globals['_UPDATEPARTICIPANTMETADATA'].fields_by_name['request_id']._options = None + _globals['_UPDATEPARTICIPANTMETADATA'].fields_by_name['request_id']._serialized_options = b'\232\354,\trequestID' + _globals['_ICESERVER'].fields_by_name['username']._options = None + _globals['_ICESERVER'].fields_by_name['username']._serialized_options = b'\210\354,\001' + _globals['_ICESERVER'].fields_by_name['credential']._options = None + _globals['_ICESERVER'].fields_by_name['credential']._serialized_options = b'\210\354,\001' _globals['_SUBSCRIBEDQUALITYUPDATE'].fields_by_name['subscribed_qualities']._options = None _globals['_SUBSCRIBEDQUALITYUPDATE'].fields_by_name['subscribed_qualities']._serialized_options = b'\030\001' + _globals['_REQUESTRESPONSE'].fields_by_name['request_id']._options = None + _globals['_REQUESTRESPONSE'].fields_by_name['request_id']._serialized_options = b'\232\354,\trequestID' _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\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\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['_SIGNALTARGET']._serialized_start=11090 + _globals['_SIGNALTARGET']._serialized_end=11135 + _globals['_STREAMSTATE']._serialized_start=11137 + _globals['_STREAMSTATE']._serialized_end=11174 + _globals['_CANDIDATEPROTOCOL']._serialized_start=11176 + _globals['_CANDIDATEPROTOCOL']._serialized_end=11222 _globals['_SIGNALREQUEST']._serialized_start=75 _globals['_SIGNALREQUEST']._serialized_end=1145 _globals['_SIGNALRESPONSE']._serialized_start=1148 @@ -65,125 +75,125 @@ _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 + _globals['_ADDTRACKREQUEST']._serialized_end=3409 + _globals['_PUBLISHDATATRACKREQUEST']._serialized_start=3411 + _globals['_PUBLISHDATATRACKREQUEST']._serialized_end=3516 + _globals['_PUBLISHDATATRACKRESPONSE']._serialized_start=3518 + _globals['_PUBLISHDATATRACKRESPONSE']._serialized_end=3582 + _globals['_UNPUBLISHDATATRACKREQUEST']._serialized_start=3584 + _globals['_UNPUBLISHDATATRACKREQUEST']._serialized_end=3631 + _globals['_UNPUBLISHDATATRACKRESPONSE']._serialized_start=3633 + _globals['_UNPUBLISHDATATRACKRESPONSE']._serialized_end=3699 + _globals['_DATATRACKSUBSCRIBERHANDLES']._serialized_start=3702 + _globals['_DATATRACKSUBSCRIBERHANDLES']._serialized_end=4003 + _globals['_DATATRACKSUBSCRIBERHANDLES_PUBLISHEDDATATRACK']._serialized_start=3806 + _globals['_DATATRACKSUBSCRIBERHANDLES_PUBLISHEDDATATRACK']._serialized_end=3896 + _globals['_DATATRACKSUBSCRIBERHANDLES_SUBHANDLESENTRY']._serialized_start=3898 + _globals['_DATATRACKSUBSCRIBERHANDLES_SUBHANDLESENTRY']._serialized_end=4003 + _globals['_TRICKLEREQUEST']._serialized_start=4005 + _globals['_TRICKLEREQUEST']._serialized_end=4098 + _globals['_MUTETRACKREQUEST']._serialized_start=4100 + _globals['_MUTETRACKREQUEST']._serialized_end=4146 + _globals['_JOINRESPONSE']._serialized_start=4149 + _globals['_JOINRESPONSE']._serialized_end=4672 + _globals['_RECONNECTRESPONSE']._serialized_start=4675 + _globals['_RECONNECTRESPONSE']._serialized_end=4863 + _globals['_TRACKPUBLISHEDRESPONSE']._serialized_start=4865 + _globals['_TRACKPUBLISHEDRESPONSE']._serialized_end=4937 + _globals['_TRACKUNPUBLISHEDRESPONSE']._serialized_start=4939 + _globals['_TRACKUNPUBLISHEDRESPONSE']._serialized_end=4984 + _globals['_SESSIONDESCRIPTION']._serialized_start=4987 + _globals['_SESSIONDESCRIPTION']._serialized_end=5189 + _globals['_SESSIONDESCRIPTION_MIDTOTRACKIDENTRY']._serialized_start=5138 + _globals['_SESSIONDESCRIPTION_MIDTOTRACKIDENTRY']._serialized_end=5189 + _globals['_PARTICIPANTUPDATE']._serialized_start=5191 + _globals['_PARTICIPANTUPDATE']._serialized_end=5258 + _globals['_UPDATESUBSCRIPTION']._serialized_start=5260 + _globals['_UPDATESUBSCRIPTION']._serialized_end=5375 + _globals['_UPDATEDATASUBSCRIPTION']._serialized_start=5378 + _globals['_UPDATEDATASUBSCRIPTION']._serialized_end=5563 + _globals['_UPDATEDATASUBSCRIPTION_UPDATE']._serialized_start=5461 + _globals['_UPDATEDATASUBSCRIPTION_UPDATE']._serialized_end=5563 + _globals['_UPDATETRACKSETTINGS']._serialized_start=5566 + _globals['_UPDATETRACKSETTINGS']._serialized_end=5727 + _globals['_UPDATELOCALAUDIOTRACK']._serialized_start=5729 + _globals['_UPDATELOCALAUDIOTRACK']._serialized_end=5817 + _globals['_UPDATELOCALVIDEOTRACK']._serialized_start=5819 + _globals['_UPDATELOCALVIDEOTRACK']._serialized_end=5892 + _globals['_LEAVEREQUEST']._serialized_start=5895 + _globals['_LEAVEREQUEST']._serialized_end=6116 + _globals['_LEAVEREQUEST_ACTION']._serialized_start=6065 + _globals['_LEAVEREQUEST_ACTION']._serialized_end=6116 + _globals['_UPDATEVIDEOLAYERS']._serialized_start=6118 + _globals['_UPDATEVIDEOLAYERS']._serialized_end=6197 + _globals['_UPDATEPARTICIPANTMETADATA']._serialized_start=6200 + _globals['_UPDATEPARTICIPANTMETADATA']._serialized_end=6537 + _globals['_UPDATEPARTICIPANTMETADATA_ATTRIBUTESENTRY']._serialized_start=6488 + _globals['_UPDATEPARTICIPANTMETADATA_ATTRIBUTESENTRY']._serialized_end=6537 + _globals['_ICESERVER']._serialized_start=6539 + _globals['_ICESERVER']._serialized_end=6614 + _globals['_SPEAKERSCHANGED']._serialized_start=6616 + _globals['_SPEAKERSCHANGED']._serialized_end=6673 + _globals['_ROOMUPDATE']._serialized_start=6675 + _globals['_ROOMUPDATE']._serialized_end=6716 + _globals['_CONNECTIONQUALITYINFO']._serialized_start=6718 + _globals['_CONNECTIONQUALITYINFO']._serialized_end=6826 + _globals['_CONNECTIONQUALITYUPDATE']._serialized_start=6828 + _globals['_CONNECTIONQUALITYUPDATE']._serialized_end=6902 + _globals['_STREAMSTATEINFO']._serialized_start=6904 + _globals['_STREAMSTATEINFO']._serialized_end=7002 + _globals['_STREAMSTATEUPDATE']._serialized_start=7004 + _globals['_STREAMSTATEUPDATE']._serialized_end=7072 + _globals['_SUBSCRIBEDQUALITY']._serialized_start=7074 + _globals['_SUBSCRIBEDQUALITY']._serialized_end=7150 + _globals['_SUBSCRIBEDCODEC']._serialized_start=7152 + _globals['_SUBSCRIBEDCODEC']._serialized_end=7231 + _globals['_SUBSCRIBEDQUALITYUPDATE']._serialized_start=7234 + _globals['_SUBSCRIBEDQUALITYUPDATE']._serialized_end=7393 + _globals['_SUBSCRIBEDAUDIOCODECUPDATE']._serialized_start=7395 + _globals['_SUBSCRIBEDAUDIOCODECUPDATE']._serialized_end=7506 + _globals['_TRACKPERMISSION']._serialized_start=7508 + _globals['_TRACKPERMISSION']._serialized_end=7620 + _globals['_SUBSCRIPTIONPERMISSION']._serialized_start=7622 + _globals['_SUBSCRIPTIONPERMISSION']._serialized_end=7725 + _globals['_SUBSCRIPTIONPERMISSIONUPDATE']._serialized_start=7727 + _globals['_SUBSCRIPTIONPERMISSIONUPDATE']._serialized_end=7818 + _globals['_ROOMMOVEDRESPONSE']._serialized_start=7821 + _globals['_ROOMMOVEDRESPONSE']._serialized_end=7985 + _globals['_SYNCSTATE']._serialized_start=7988 + _globals['_SYNCSTATE']._serialized_end=8408 + _globals['_DATACHANNELRECEIVESTATE']._serialized_start=8410 + _globals['_DATACHANNELRECEIVESTATE']._serialized_end=8476 + _globals['_DATACHANNELINFO']._serialized_start=8478 + _globals['_DATACHANNELINFO']._serialized_end=8561 + _globals['_SIMULATESCENARIO']._serialized_start=8564 + _globals['_SIMULATESCENARIO']._serialized_end=8916 + _globals['_PING']._serialized_start=8918 + _globals['_PING']._serialized_end=8956 + _globals['_PONG']._serialized_start=8958 + _globals['_PONG']._serialized_end=9012 + _globals['_REGIONSETTINGS']._serialized_start=9014 + _globals['_REGIONSETTINGS']._serialized_end=9068 + _globals['_REGIONINFO']._serialized_start=9070 + _globals['_REGIONINFO']._serialized_end=9129 + _globals['_SUBSCRIPTIONRESPONSE']._serialized_start=9131 + _globals['_SUBSCRIPTIONRESPONSE']._serialized_end=9213 + _globals['_REQUESTRESPONSE']._serialized_start=9216 + _globals['_REQUESTRESPONSE']._serialized_end=10007 + _globals['_REQUESTRESPONSE_REASON']._serialized_start=9790 + _globals['_REQUESTRESPONSE_REASON']._serialized_end=9996 + _globals['_TRACKSUBSCRIBED']._serialized_start=10009 + _globals['_TRACKSUBSCRIBED']._serialized_end=10045 + _globals['_CONNECTIONSETTINGS']._serialized_start=10048 + _globals['_CONNECTIONSETTINGS']._serialized_end=10277 + _globals['_JOINREQUEST']._serialized_start=10280 + _globals['_JOINREQUEST']._serialized_end=10878 + _globals['_JOINREQUEST_PARTICIPANTATTRIBUTESENTRY']._serialized_start=10818 + _globals['_JOINREQUEST_PARTICIPANTATTRIBUTESENTRY']._serialized_end=10878 + _globals['_WRAPPEDJOINREQUEST']._serialized_start=10881 + _globals['_WRAPPEDJOINREQUEST']._serialized_end=11020 + _globals['_WRAPPEDJOINREQUEST_COMPRESSION']._serialized_start=10987 + _globals['_WRAPPEDJOINREQUEST_COMPRESSION']._serialized_end=11020 + _globals['_MEDIASECTIONSREQUIREMENT']._serialized_start=11022 + _globals['_MEDIASECTIONSREQUIREMENT']._serialized_end=11088 # @@protoc_insertion_point(module_scope) diff --git a/livekit-protocol/livekit/protocol/rtc.pyi b/livekit-protocol/livekit/protocol/rtc.pyi index 5ca0c8ea..da3d829f 100644 --- a/livekit-protocol/livekit/protocol/rtc.pyi +++ b/livekit-protocol/livekit/protocol/rtc.pyi @@ -148,7 +148,7 @@ class SimulcastCodec(_message.Message): def __init__(self, codec: _Optional[str] = ..., cid: _Optional[str] = ..., layers: _Optional[_Iterable[_Union[_models.VideoLayer, _Mapping]]] = ..., video_layer_mode: _Optional[_Union[_models.VideoLayer.Mode, str]] = ...) -> None: ... class AddTrackRequest(_message.Message): - __slots__ = ("cid", "name", "type", "width", "height", "muted", "disable_dtx", "source", "layers", "simulcast_codecs", "sid", "stereo", "disable_red", "encryption", "stream", "backup_codec_policy", "audio_features") + __slots__ = ("cid", "name", "type", "width", "height", "muted", "disable_dtx", "source", "layers", "simulcast_codecs", "sid", "stereo", "disable_red", "encryption", "stream", "backup_codec_policy", "audio_features", "packet_trailer_features") CID_FIELD_NUMBER: _ClassVar[int] NAME_FIELD_NUMBER: _ClassVar[int] TYPE_FIELD_NUMBER: _ClassVar[int] @@ -166,6 +166,7 @@ class AddTrackRequest(_message.Message): STREAM_FIELD_NUMBER: _ClassVar[int] BACKUP_CODEC_POLICY_FIELD_NUMBER: _ClassVar[int] AUDIO_FEATURES_FIELD_NUMBER: _ClassVar[int] + PACKET_TRAILER_FEATURES_FIELD_NUMBER: _ClassVar[int] cid: str name: str type: _models.TrackType @@ -183,7 +184,8 @@ class AddTrackRequest(_message.Message): stream: str backup_codec_policy: _models.BackupCodecPolicy 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: ... + packet_trailer_features: _containers.RepeatedScalarFieldContainer[_models.PacketTrailerFeature] + 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]]] = ..., packet_trailer_features: _Optional[_Iterable[_Union[_models.PacketTrailerFeature, str]]] = ...) -> None: ... class PublishDataTrackRequest(_message.Message): __slots__ = ("pub_handle", "name", "encryption") diff --git a/livekit-protocol/livekit/protocol/sip.py b/livekit-protocol/livekit/protocol/sip.py index 0c55895c..4965a864 100644 --- a/livekit-protocol/livekit/protocol/sip.py +++ b/livekit-protocol/livekit/protocol/sip.py @@ -15,12 +15,13 @@ from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2 from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2 from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 from . import models as _models_ from . import room as _room_ 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\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') +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\x1fgoogle/protobuf/timestamp.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\"\xef\x02\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\x1e\n\x10inbound_username\x18\x05 \x01(\tB\x04\x88\xec,\x01\x12\x1e\n\x10inbound_password\x18\x06 \x01(\tB\x04\x88\xec,\x01\x12\x1f\n\x11outbound_username\x18\x07 \x01(\tB\x04\x88\xec,\x01\x12\x1f\n\x11outbound_password\x18\x08 \x01(\tB\x04\x88\xec,\x01\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\"\xab\x04\n\x0cSIPTrunkInfo\x12$\n\x0csip_trunk_id\x18\x01 \x01(\tB\x0e\x9a\xec,\nsipTrunkID\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\x1e\n\x10inbound_username\x18\x06 \x01(\tB\x04\x88\xec,\x01\x12\x1e\n\x10inbound_password\x18\x07 \x01(\tB\x04\x88\xec,\x01\x12\x1f\n\x11outbound_username\x18\x08 \x01(\tB\x04\x88\xec,\x01\x12\x1f\n\x11outbound_password\x18\t \x01(\tB\x04\x88\xec,\x01\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\"\xb1\x01\n\x1cUpdateSIPInboundTrunkRequest\x12$\n\x0csip_trunk_id\x18\x01 \x01(\tB\x0e\x9a\xec,\nsipTrunkID\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\"\x86\x08\n\x13SIPInboundTrunkInfo\x12$\n\x0csip_trunk_id\x18\x01 \x01(\tB\x0e\x9a\xec,\nsipTrunkID\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\x1b\n\rauth_username\x18\x07 \x01(\tB\x04\x88\xec,\x01\x12\x1b\n\rauth_password\x18\x08 \x01(\tB\x04\x88\xec,\x01\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\x12.\n\ncreated_at\x18\x11 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x12 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\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\x03\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 \n\rauth_username\x18\x04 \x01(\tB\x04\x88\xec,\x01H\x00\x88\x01\x01\x12 \n\rauth_password\x18\x05 \x01(\tB\x04\x88\xec,\x01H\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\"\xb4\x01\n\x1dUpdateSIPOutboundTrunkRequest\x12$\n\x0csip_trunk_id\x18\x01 \x01(\tB\x0e\x9a\xec,\nsipTrunkID\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\"\xc0\x07\n\x14SIPOutboundTrunkInfo\x12$\n\x0csip_trunk_id\x18\x01 \x01(\tB\x0e\x9a\xec,\nsipTrunkID\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\x1b\n\rauth_username\x18\x07 \x01(\tB\x04\x88\xec,\x01\x12\x1b\n\rauth_password\x18\x08 \x01(\tB\x04\x88\xec,\x01\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\x12\x11\n\tfrom_host\x18\x0f \x01(\t\x12.\n\ncreated_at\x18\x10 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x11 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\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\"\x9e\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 \n\rauth_username\x18\x04 \x01(\tB\x04\x88\xec,\x01H\x03\x88\x01\x01\x12 \n\rauth_password\x18\x05 \x01(\tB\x04\x88\xec,\x01H\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\x12\x16\n\tfrom_host\x18\n \x01(\tH\x08\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_encryptionB\x0c\n\n_from_host\"A\n\x19GetSIPInboundTrunkRequest\x12$\n\x0csip_trunk_id\x18\x01 \x01(\tB\x0e\x9a\xec,\nsipTrunkID\"I\n\x1aGetSIPInboundTrunkResponse\x12+\n\x05trunk\x18\x01 \x01(\x0b\x32\x1c.livekit.SIPInboundTrunkInfo\"B\n\x1aGetSIPOutboundTrunkRequest\x12$\n\x0csip_trunk_id\x18\x01 \x01(\tB\x0e\x9a\xec,\nsipTrunkID\"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$\n\x0csip_trunk_id\x18\x01 \x01(\tB\x0e\x9a\xec,\nsipTrunkID\"7\n\x15SIPDispatchRuleDirect\x12\x11\n\troom_name\x18\x01 \x01(\t\x12\x0b\n\x03pin\x18\x02 \x01(\t\"T\n\x19SIPDispatchRuleIndividual\x12\x13\n\x0broom_prefix\x18\x01 \x01(\t\x12\x0b\n\x03pin\x18\x02 \x01(\t\x12\x15\n\rno_randomness\x18\x03 \x01(\x08\"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\"\xc0\x01\n\x1cUpdateSIPDispatchRuleRequest\x12\x33\n\x14sip_dispatch_rule_id\x18\x01 \x01(\tB\x15\x9a\xec,\x11sipDispatchRuleID\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\"\xa3\x05\n\x13SIPDispatchRuleInfo\x12\x33\n\x14sip_dispatch_rule_id\x18\x01 \x01(\tB\x15\x9a\xec,\x11sipDispatchRuleID\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\x12.\n\ncreated_at\x18\x0e \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x0f \x01(\x0b\x32\x1a.google.protobuf.Timestamp\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\"S\n\x1c\x44\x65leteSIPDispatchRuleRequest\x12\x33\n\x14sip_dispatch_rule_id\x18\x01 \x01(\tB\x15\x9a\xec,\x11sipDispatchRuleID\"\xd9\x03\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\x1b\n\rauth_username\x18\x03 \x01(\tB\x04\x88\xec,\x01\x12\x1b\n\rauth_password\x18\x04 \x01(\tB\x04\x88\xec,\x01\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\x12\x11\n\tfrom_host\x18\x08 \x01(\t\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\"\xac\t\n\x1b\x43reateSIPParticipantRequest\x12$\n\x0csip_trunk_id\x18\x01 \x01(\tB\x0e\x9a\xec,\nsipTrunkID\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\"\x94\x01\n\x12SIPParticipantInfo\x12)\n\x0eparticipant_id\x18\x01 \x01(\tB\x11\x9a\xec,\rparticipantID\x12\x1c\n\x14participant_identity\x18\x02 \x01(\t\x12\x11\n\troom_name\x18\x03 \x01(\t\x12\"\n\x0bsip_call_id\x18\x04 \x01(\tB\r\x9a\xec,\tsipCallID\"\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\"\xa0\x08\n\x0bSIPCallInfo\x12\x1b\n\x07\x63\x61ll_id\x18\x01 \x01(\tB\n\x9a\xec,\x06\x63\x61llID\x12\x1d\n\x08trunk_id\x18\x02 \x01(\tB\x0b\x9a\xec,\x07trunkID\x12,\n\x10\x64ispatch_rule_id\x18\x10 \x01(\tB\x12\x9a\xec,\x0e\x64ispatchRuleID\x12\x0e\n\x06region\x18\x11 \x01(\t\x12\x11\n\troom_name\x18\x03 \x01(\t\x12\x1b\n\x07room_id\x18\x04 \x01(\tB\n\x9a\xec,\x06roomID\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\"\n\x0bsip_call_id\x18\x1c \x01(\tB\r\x9a\xec,\tsipCallID\x1a<\n\x1aParticipantAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xa2\x02\n\x0fSIPTransferInfo\x12#\n\x0btransfer_id\x18\x01 \x01(\tB\x0e\x9a\xec,\ntransferID\x12\x1b\n\x07\x63\x61ll_id\x18\x02 \x01(\tB\n\x9a\xec,\x06\x63\x61llID\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,75 +32,91 @@ _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\354,\001\222\354,\036' + _globals['_CREATESIPTRUNKREQUEST'].fields_by_name['inbound_username']._serialized_options = b'\210\354,\001' _globals['_CREATESIPTRUNKREQUEST'].fields_by_name['inbound_password']._options = None - _globals['_CREATESIPTRUNKREQUEST'].fields_by_name['inbound_password']._serialized_options = b'\210\354,\001\222\354,\036' + _globals['_CREATESIPTRUNKREQUEST'].fields_by_name['inbound_password']._serialized_options = b'\210\354,\001' _globals['_CREATESIPTRUNKREQUEST'].fields_by_name['outbound_username']._options = None - _globals['_CREATESIPTRUNKREQUEST'].fields_by_name['outbound_username']._serialized_options = b'\210\354,\001\222\354,\036' + _globals['_CREATESIPTRUNKREQUEST'].fields_by_name['outbound_username']._serialized_options = b'\210\354,\001' _globals['_CREATESIPTRUNKREQUEST'].fields_by_name['outbound_password']._options = None - _globals['_CREATESIPTRUNKREQUEST'].fields_by_name['outbound_password']._serialized_options = b'\210\354,\001\222\354,\036' + _globals['_CREATESIPTRUNKREQUEST'].fields_by_name['outbound_password']._serialized_options = b'\210\354,\001' _globals['_CREATESIPTRUNKREQUEST'].fields_by_name['metadata']._options = None _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['sip_trunk_id']._options = None + _globals['_SIPTRUNKINFO'].fields_by_name['sip_trunk_id']._serialized_options = b'\232\354,\nsipTrunkID' _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\354,\001\222\354,\036' + _globals['_SIPTRUNKINFO'].fields_by_name['inbound_username']._serialized_options = b'\210\354,\001' _globals['_SIPTRUNKINFO'].fields_by_name['inbound_password']._options = None - _globals['_SIPTRUNKINFO'].fields_by_name['inbound_password']._serialized_options = b'\210\354,\001\222\354,\036' + _globals['_SIPTRUNKINFO'].fields_by_name['inbound_password']._serialized_options = b'\210\354,\001' _globals['_SIPTRUNKINFO'].fields_by_name['outbound_username']._options = None - _globals['_SIPTRUNKINFO'].fields_by_name['outbound_username']._serialized_options = b'\210\354,\001\222\354,\036' + _globals['_SIPTRUNKINFO'].fields_by_name['outbound_username']._serialized_options = b'\210\354,\001' _globals['_SIPTRUNKINFO'].fields_by_name['outbound_password']._options = None - _globals['_SIPTRUNKINFO'].fields_by_name['outbound_password']._serialized_options = b'\210\354,\001\222\354,\036' + _globals['_SIPTRUNKINFO'].fields_by_name['outbound_password']._serialized_options = b'\210\354,\001' _globals['_SIPTRUNKINFO'].fields_by_name['metadata']._options = None _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['_UPDATESIPINBOUNDTRUNKREQUEST'].fields_by_name['sip_trunk_id']._options = None + _globals['_UPDATESIPINBOUNDTRUNKREQUEST'].fields_by_name['sip_trunk_id']._serialized_options = b'\232\354,\nsipTrunkID' _globals['_SIPINBOUNDTRUNKINFO_HEADERSENTRY']._options = None _globals['_SIPINBOUNDTRUNKINFO_HEADERSENTRY']._serialized_options = b'8\001' _globals['_SIPINBOUNDTRUNKINFO_HEADERSTOATTRIBUTESENTRY']._options = None _globals['_SIPINBOUNDTRUNKINFO_HEADERSTOATTRIBUTESENTRY']._serialized_options = b'8\001' _globals['_SIPINBOUNDTRUNKINFO_ATTRIBUTESTOHEADERSENTRY']._options = None _globals['_SIPINBOUNDTRUNKINFO_ATTRIBUTESTOHEADERSENTRY']._serialized_options = b'8\001' + _globals['_SIPINBOUNDTRUNKINFO'].fields_by_name['sip_trunk_id']._options = None + _globals['_SIPINBOUNDTRUNKINFO'].fields_by_name['sip_trunk_id']._serialized_options = b'\232\354,\nsipTrunkID' _globals['_SIPINBOUNDTRUNKINFO'].fields_by_name['metadata']._options = None _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\354,\001\222\354,\036' + _globals['_SIPINBOUNDTRUNKINFO'].fields_by_name['auth_username']._serialized_options = b'\210\354,\001' _globals['_SIPINBOUNDTRUNKINFO'].fields_by_name['auth_password']._options = None - _globals['_SIPINBOUNDTRUNKINFO'].fields_by_name['auth_password']._serialized_options = b'\210\354,\001\222\354,\036' + _globals['_SIPINBOUNDTRUNKINFO'].fields_by_name['auth_password']._serialized_options = b'\210\354,\001' _globals['_SIPINBOUNDTRUNKINFO'].fields_by_name['headers']._options = None _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\354,\001\222\354,\036' + _globals['_SIPINBOUNDTRUNKUPDATE'].fields_by_name['auth_username']._serialized_options = b'\210\354,\001' _globals['_SIPINBOUNDTRUNKUPDATE'].fields_by_name['auth_password']._options = None - _globals['_SIPINBOUNDTRUNKUPDATE'].fields_by_name['auth_password']._serialized_options = b'\210\354,\001\222\354,\036' + _globals['_SIPINBOUNDTRUNKUPDATE'].fields_by_name['auth_password']._serialized_options = b'\210\354,\001' _globals['_SIPINBOUNDTRUNKUPDATE'].fields_by_name['metadata']._options = None _globals['_SIPINBOUNDTRUNKUPDATE'].fields_by_name['metadata']._serialized_options = b'\210\354,\001\222\354,\036' + _globals['_UPDATESIPOUTBOUNDTRUNKREQUEST'].fields_by_name['sip_trunk_id']._options = None + _globals['_UPDATESIPOUTBOUNDTRUNKREQUEST'].fields_by_name['sip_trunk_id']._serialized_options = b'\232\354,\nsipTrunkID' _globals['_SIPOUTBOUNDTRUNKINFO_HEADERSENTRY']._options = None _globals['_SIPOUTBOUNDTRUNKINFO_HEADERSENTRY']._serialized_options = b'8\001' _globals['_SIPOUTBOUNDTRUNKINFO_HEADERSTOATTRIBUTESENTRY']._options = None _globals['_SIPOUTBOUNDTRUNKINFO_HEADERSTOATTRIBUTESENTRY']._serialized_options = b'8\001' _globals['_SIPOUTBOUNDTRUNKINFO_ATTRIBUTESTOHEADERSENTRY']._options = None _globals['_SIPOUTBOUNDTRUNKINFO_ATTRIBUTESTOHEADERSENTRY']._serialized_options = b'8\001' + _globals['_SIPOUTBOUNDTRUNKINFO'].fields_by_name['sip_trunk_id']._options = None + _globals['_SIPOUTBOUNDTRUNKINFO'].fields_by_name['sip_trunk_id']._serialized_options = b'\232\354,\nsipTrunkID' _globals['_SIPOUTBOUNDTRUNKINFO'].fields_by_name['metadata']._options = None _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\354,\001\222\354,\036' + _globals['_SIPOUTBOUNDTRUNKINFO'].fields_by_name['auth_username']._serialized_options = b'\210\354,\001' _globals['_SIPOUTBOUNDTRUNKINFO'].fields_by_name['auth_password']._options = None - _globals['_SIPOUTBOUNDTRUNKINFO'].fields_by_name['auth_password']._serialized_options = b'\210\354,\001\222\354,\036' + _globals['_SIPOUTBOUNDTRUNKINFO'].fields_by_name['auth_password']._serialized_options = b'\210\354,\001' _globals['_SIPOUTBOUNDTRUNKINFO'].fields_by_name['headers']._options = None _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\354,\001\222\354,\036' + _globals['_SIPOUTBOUNDTRUNKUPDATE'].fields_by_name['auth_username']._serialized_options = b'\210\354,\001' _globals['_SIPOUTBOUNDTRUNKUPDATE'].fields_by_name['auth_password']._options = None - _globals['_SIPOUTBOUNDTRUNKUPDATE'].fields_by_name['auth_password']._serialized_options = b'\210\354,\001\222\354,\036' + _globals['_SIPOUTBOUNDTRUNKUPDATE'].fields_by_name['auth_password']._serialized_options = b'\210\354,\001' _globals['_SIPOUTBOUNDTRUNKUPDATE'].fields_by_name['metadata']._options = None _globals['_SIPOUTBOUNDTRUNKUPDATE'].fields_by_name['metadata']._serialized_options = b'\210\354,\001\222\354,\036' + _globals['_GETSIPINBOUNDTRUNKREQUEST'].fields_by_name['sip_trunk_id']._options = None + _globals['_GETSIPINBOUNDTRUNKREQUEST'].fields_by_name['sip_trunk_id']._serialized_options = b'\232\354,\nsipTrunkID' + _globals['_GETSIPOUTBOUNDTRUNKREQUEST'].fields_by_name['sip_trunk_id']._options = None + _globals['_GETSIPOUTBOUNDTRUNKREQUEST'].fields_by_name['sip_trunk_id']._serialized_options = b'\232\354,\nsipTrunkID' _globals['_LISTSIPTRUNKREQUEST']._options = None _globals['_LISTSIPTRUNKREQUEST']._serialized_options = b'\030\001' _globals['_LISTSIPTRUNKRESPONSE']._options = None _globals['_LISTSIPTRUNKRESPONSE']._serialized_options = b'\030\001' + _globals['_DELETESIPTRUNKREQUEST'].fields_by_name['sip_trunk_id']._options = None + _globals['_DELETESIPTRUNKREQUEST'].fields_by_name['sip_trunk_id']._serialized_options = b'\232\354,\nsipTrunkID' _globals['_CREATESIPDISPATCHRULEREQUEST_ATTRIBUTESENTRY']._options = None _globals['_CREATESIPDISPATCHRULEREQUEST_ATTRIBUTESENTRY']._serialized_options = b'8\001' _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['rule']._options = None @@ -120,8 +137,12 @@ _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['room_preset']._serialized_options = b'\030\001' _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['room_config']._options = None _globals['_CREATESIPDISPATCHRULEREQUEST'].fields_by_name['room_config']._serialized_options = b'\030\001' + _globals['_UPDATESIPDISPATCHRULEREQUEST'].fields_by_name['sip_dispatch_rule_id']._options = None + _globals['_UPDATESIPDISPATCHRULEREQUEST'].fields_by_name['sip_dispatch_rule_id']._serialized_options = b'\232\354,\021sipDispatchRuleID' _globals['_SIPDISPATCHRULEINFO_ATTRIBUTESENTRY']._options = None _globals['_SIPDISPATCHRULEINFO_ATTRIBUTESENTRY']._serialized_options = b'8\001' + _globals['_SIPDISPATCHRULEINFO'].fields_by_name['sip_dispatch_rule_id']._options = None + _globals['_SIPDISPATCHRULEINFO'].fields_by_name['sip_dispatch_rule_id']._serialized_options = b'\232\354,\021sipDispatchRuleID' _globals['_SIPDISPATCHRULEINFO'].fields_by_name['metadata']._options = None _globals['_SIPDISPATCHRULEINFO'].fields_by_name['metadata']._serialized_options = b'\210\354,\001\222\354,\036' _globals['_SIPDISPATCHRULEINFO'].fields_by_name['attributes']._options = None @@ -132,18 +153,22 @@ _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\354,\001\222\354,\036' + _globals['_DELETESIPDISPATCHRULEREQUEST'].fields_by_name['sip_dispatch_rule_id']._options = None + _globals['_DELETESIPDISPATCHRULEREQUEST'].fields_by_name['sip_dispatch_rule_id']._serialized_options = b'\232\354,\021sipDispatchRuleID' _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\354,\001\222\354,\036' + _globals['_SIPOUTBOUNDCONFIG'].fields_by_name['auth_username']._serialized_options = b'\210\354,\001' _globals['_SIPOUTBOUNDCONFIG'].fields_by_name['auth_password']._options = None - _globals['_SIPOUTBOUNDCONFIG'].fields_by_name['auth_password']._serialized_options = b'\210\354,\001\222\354,\036' + _globals['_SIPOUTBOUNDCONFIG'].fields_by_name['auth_password']._serialized_options = b'\210\354,\001' _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['sip_trunk_id']._options = None + _globals['_CREATESIPPARTICIPANTREQUEST'].fields_by_name['sip_trunk_id']._serialized_options = b'\232\354,\nsipTrunkID' _globals['_CREATESIPPARTICIPANTREQUEST'].fields_by_name['participant_name']._options = None _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 @@ -156,12 +181,24 @@ _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\354,\001\222\354,\036' + _globals['_SIPPARTICIPANTINFO'].fields_by_name['participant_id']._options = None + _globals['_SIPPARTICIPANTINFO'].fields_by_name['participant_id']._serialized_options = b'\232\354,\rparticipantID' + _globals['_SIPPARTICIPANTINFO'].fields_by_name['sip_call_id']._options = None + _globals['_SIPPARTICIPANTINFO'].fields_by_name['sip_call_id']._serialized_options = b'\232\354,\tsipCallID' _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\354,\001\222\354,\036' _globals['_SIPCALLINFO_PARTICIPANTATTRIBUTESENTRY']._options = None _globals['_SIPCALLINFO_PARTICIPANTATTRIBUTESENTRY']._serialized_options = b'8\001' + _globals['_SIPCALLINFO'].fields_by_name['call_id']._options = None + _globals['_SIPCALLINFO'].fields_by_name['call_id']._serialized_options = b'\232\354,\006callID' + _globals['_SIPCALLINFO'].fields_by_name['trunk_id']._options = None + _globals['_SIPCALLINFO'].fields_by_name['trunk_id']._serialized_options = b'\232\354,\007trunkID' + _globals['_SIPCALLINFO'].fields_by_name['dispatch_rule_id']._options = None + _globals['_SIPCALLINFO'].fields_by_name['dispatch_rule_id']._serialized_options = b'\232\354,\016dispatchRuleID' + _globals['_SIPCALLINFO'].fields_by_name['room_id']._options = None + _globals['_SIPCALLINFO'].fields_by_name['room_id']._serialized_options = b'\232\354,\006roomID' _globals['_SIPCALLINFO'].fields_by_name['participant_attributes']._options = None _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 @@ -170,142 +207,148 @@ _globals['_SIPCALLINFO'].fields_by_name['started_at']._serialized_options = b'\030\001' _globals['_SIPCALLINFO'].fields_by_name['ended_at']._options = None _globals['_SIPCALLINFO'].fields_by_name['ended_at']._serialized_options = b'\030\001' + _globals['_SIPCALLINFO'].fields_by_name['sip_call_id']._options = None + _globals['_SIPCALLINFO'].fields_by_name['sip_call_id']._serialized_options = b'\232\354,\tsipCallID' + _globals['_SIPTRANSFERINFO'].fields_by_name['transfer_id']._options = None + _globals['_SIPTRANSFERINFO'].fields_by_name['transfer_id']._serialized_options = b'\232\354,\ntransferID' + _globals['_SIPTRANSFERINFO'].fields_by_name['call_id']._options = None + _globals['_SIPTRANSFERINFO'].fields_by_name['call_id']._serialized_options = b'\232\354,\006callID' _globals['_SIP'].methods_by_name['ListSIPTrunk']._options = None _globals['_SIP'].methods_by_name['ListSIPTrunk']._serialized_options = b'\210\002\001' - _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 - _globals['_CREATESIPTRUNKREQUEST']._serialized_end=753 - _globals['_PROVIDERINFO']._serialized_start=755 - _globals['_PROVIDERINFO']._serialized_end=858 - _globals['_SIPTRUNKINFO']._serialized_start=861 - _globals['_SIPTRUNKINFO']._serialized_end=1536 - _globals['_SIPTRUNKINFO_TRUNKKIND']._serialized_start=1464 - _globals['_SIPTRUNKINFO_TRUNKKIND']._serialized_end=1532 - _globals['_CREATESIPINBOUNDTRUNKREQUEST']._serialized_start=1538 - _globals['_CREATESIPINBOUNDTRUNKREQUEST']._serialized_end=1613 - _globals['_UPDATESIPINBOUNDTRUNKREQUEST']._serialized_start=1616 - _globals['_UPDATESIPINBOUNDTRUNKREQUEST']._serialized_end=1777 - _globals['_SIPINBOUNDTRUNKINFO']._serialized_start=1780 - _globals['_SIPINBOUNDTRUNKINFO']._serialized_end=2766 - _globals['_SIPINBOUNDTRUNKINFO_HEADERSENTRY']._serialized_start=2600 - _globals['_SIPINBOUNDTRUNKINFO_HEADERSENTRY']._serialized_end=2646 - _globals['_SIPINBOUNDTRUNKINFO_HEADERSTOATTRIBUTESENTRY']._serialized_start=2648 - _globals['_SIPINBOUNDTRUNKINFO_HEADERSTOATTRIBUTESENTRY']._serialized_end=2706 - _globals['_SIPINBOUNDTRUNKINFO_ATTRIBUTESTOHEADERSENTRY']._serialized_start=2708 - _globals['_SIPINBOUNDTRUNKINFO_ATTRIBUTESTOHEADERSENTRY']._serialized_end=2766 - _globals['_SIPINBOUNDTRUNKUPDATE']._serialized_start=2769 - _globals['_SIPINBOUNDTRUNKUPDATE']._serialized_end=3281 - _globals['_CREATESIPOUTBOUNDTRUNKREQUEST']._serialized_start=3283 - _globals['_CREATESIPOUTBOUNDTRUNKREQUEST']._serialized_end=3360 - _globals['_UPDATESIPOUTBOUNDTRUNKREQUEST']._serialized_start=3363 - _globals['_UPDATESIPOUTBOUNDTRUNKREQUEST']._serialized_end=3527 - _globals['_SIPOUTBOUNDTRUNKINFO']._serialized_start=3530 - _globals['_SIPOUTBOUNDTRUNKINFO']._serialized_end=4427 - _globals['_SIPOUTBOUNDTRUNKINFO_HEADERSENTRY']._serialized_start=2600 - _globals['_SIPOUTBOUNDTRUNKINFO_HEADERSENTRY']._serialized_end=2646 - _globals['_SIPOUTBOUNDTRUNKINFO_HEADERSTOATTRIBUTESENTRY']._serialized_start=2648 - _globals['_SIPOUTBOUNDTRUNKINFO_HEADERSTOATTRIBUTESENTRY']._serialized_end=2706 - _globals['_SIPOUTBOUNDTRUNKINFO_ATTRIBUTESTOHEADERSENTRY']._serialized_start=2708 - _globals['_SIPOUTBOUNDTRUNKINFO_ATTRIBUTESTOHEADERSENTRY']._serialized_end=2766 - _globals['_SIPOUTBOUNDTRUNKUPDATE']._serialized_start=4430 - _globals['_SIPOUTBOUNDTRUNKUPDATE']._serialized_end=5002 - _globals['_GETSIPINBOUNDTRUNKREQUEST']._serialized_start=5004 - _globals['_GETSIPINBOUNDTRUNKREQUEST']._serialized_end=5053 - _globals['_GETSIPINBOUNDTRUNKRESPONSE']._serialized_start=5055 - _globals['_GETSIPINBOUNDTRUNKRESPONSE']._serialized_end=5128 - _globals['_GETSIPOUTBOUNDTRUNKREQUEST']._serialized_start=5130 - _globals['_GETSIPOUTBOUNDTRUNKREQUEST']._serialized_end=5180 - _globals['_GETSIPOUTBOUNDTRUNKRESPONSE']._serialized_start=5182 - _globals['_GETSIPOUTBOUNDTRUNKRESPONSE']._serialized_end=5257 - _globals['_LISTSIPTRUNKREQUEST']._serialized_start=5259 - _globals['_LISTSIPTRUNKREQUEST']._serialized_end=5319 - _globals['_LISTSIPTRUNKRESPONSE']._serialized_start=5321 - _globals['_LISTSIPTRUNKRESPONSE']._serialized_end=5385 - _globals['_LISTSIPINBOUNDTRUNKREQUEST']._serialized_start=5387 - _globals['_LISTSIPINBOUNDTRUNKREQUEST']._serialized_end=5486 - _globals['_LISTSIPINBOUNDTRUNKRESPONSE']._serialized_start=5488 - _globals['_LISTSIPINBOUNDTRUNKRESPONSE']._serialized_end=5562 - _globals['_LISTSIPOUTBOUNDTRUNKREQUEST']._serialized_start=5564 - _globals['_LISTSIPOUTBOUNDTRUNKREQUEST']._serialized_end=5664 - _globals['_LISTSIPOUTBOUNDTRUNKRESPONSE']._serialized_start=5666 - _globals['_LISTSIPOUTBOUNDTRUNKRESPONSE']._serialized_end=5742 - _globals['_DELETESIPTRUNKREQUEST']._serialized_start=5744 - _globals['_DELETESIPTRUNKREQUEST']._serialized_end=5789 - _globals['_SIPDISPATCHRULEDIRECT']._serialized_start=5791 - _globals['_SIPDISPATCHRULEDIRECT']._serialized_end=5846 - _globals['_SIPDISPATCHRULEINDIVIDUAL']._serialized_start=5848 - _globals['_SIPDISPATCHRULEINDIVIDUAL']._serialized_end=5909 - _globals['_SIPDISPATCHRULECALLEE']._serialized_start=5911 - _globals['_SIPDISPATCHRULECALLEE']._serialized_end=5987 - _globals['_SIPDISPATCHRULE']._serialized_start=5990 - _globals['_SIPDISPATCHRULE']._serialized_end=6215 - _globals['_CREATESIPDISPATCHRULEREQUEST']._serialized_start=6218 - _globals['_CREATESIPDISPATCHRULEREQUEST']._serialized_end=6752 - _globals['_CREATESIPDISPATCHRULEREQUEST_ATTRIBUTESENTRY']._serialized_start=6703 - _globals['_CREATESIPDISPATCHRULEREQUEST_ATTRIBUTESENTRY']._serialized_end=6752 - _globals['_UPDATESIPDISPATCHRULEREQUEST']._serialized_start=6755 - _globals['_UPDATESIPDISPATCHRULEREQUEST']._serialized_end=6924 - _globals['_SIPDISPATCHRULEINFO']._serialized_start=6927 - _globals['_SIPDISPATCHRULEINFO']._serialized_end=7483 - _globals['_SIPDISPATCHRULEINFO_ATTRIBUTESENTRY']._serialized_start=6703 - _globals['_SIPDISPATCHRULEINFO_ATTRIBUTESENTRY']._serialized_end=6752 - _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=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=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=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=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 + _globals['_SIPSTATUSCODE']._serialized_start=11922 + _globals['_SIPSTATUSCODE']._serialized_end=14576 + _globals['_SIPTRANSPORT']._serialized_start=14578 + _globals['_SIPTRANSPORT']._serialized_end=14685 + _globals['_SIPHEADEROPTIONS']._serialized_start=14687 + _globals['_SIPHEADEROPTIONS']._serialized_end=14765 + _globals['_SIPMEDIAENCRYPTION']._serialized_start=14767 + _globals['_SIPMEDIAENCRYPTION']._serialized_end=14878 + _globals['_PROVIDERTYPE']._serialized_start=14880 + _globals['_PROVIDERTYPE']._serialized_end=14977 + _globals['_SIPCALLSTATUS']._serialized_start=14979 + _globals['_SIPCALLSTATUS']._serialized_end=15098 + _globals['_SIPTRANSFERSTATUS']._serialized_start=15100 + _globals['_SIPTRANSFERSTATUS']._serialized_end=15199 + _globals['_SIPFEATURE']._serialized_start=15201 + _globals['_SIPFEATURE']._serialized_end=15242 + _globals['_SIPCALLDIRECTION']._serialized_start=15244 + _globals['_SIPCALLDIRECTION']._serialized_end=15314 + _globals['_SIPSTATUS']._serialized_start=215 + _globals['_SIPSTATUS']._serialized_end=280 + _globals['_CREATESIPTRUNKREQUEST']._serialized_start=283 + _globals['_CREATESIPTRUNKREQUEST']._serialized_end=650 + _globals['_PROVIDERINFO']._serialized_start=652 + _globals['_PROVIDERINFO']._serialized_end=755 + _globals['_SIPTRUNKINFO']._serialized_start=758 + _globals['_SIPTRUNKINFO']._serialized_end=1313 + _globals['_SIPTRUNKINFO_TRUNKKIND']._serialized_start=1241 + _globals['_SIPTRUNKINFO_TRUNKKIND']._serialized_end=1309 + _globals['_CREATESIPINBOUNDTRUNKREQUEST']._serialized_start=1315 + _globals['_CREATESIPINBOUNDTRUNKREQUEST']._serialized_end=1390 + _globals['_UPDATESIPINBOUNDTRUNKREQUEST']._serialized_start=1393 + _globals['_UPDATESIPINBOUNDTRUNKREQUEST']._serialized_end=1570 + _globals['_SIPINBOUNDTRUNKINFO']._serialized_start=1573 + _globals['_SIPINBOUNDTRUNKINFO']._serialized_end=2603 + _globals['_SIPINBOUNDTRUNKINFO_HEADERSENTRY']._serialized_start=2437 + _globals['_SIPINBOUNDTRUNKINFO_HEADERSENTRY']._serialized_end=2483 + _globals['_SIPINBOUNDTRUNKINFO_HEADERSTOATTRIBUTESENTRY']._serialized_start=2485 + _globals['_SIPINBOUNDTRUNKINFO_HEADERSTOATTRIBUTESENTRY']._serialized_end=2543 + _globals['_SIPINBOUNDTRUNKINFO_ATTRIBUTESTOHEADERSENTRY']._serialized_start=2545 + _globals['_SIPINBOUNDTRUNKINFO_ATTRIBUTESTOHEADERSENTRY']._serialized_end=2603 + _globals['_SIPINBOUNDTRUNKUPDATE']._serialized_start=2606 + _globals['_SIPINBOUNDTRUNKUPDATE']._serialized_end=3050 + _globals['_CREATESIPOUTBOUNDTRUNKREQUEST']._serialized_start=3052 + _globals['_CREATESIPOUTBOUNDTRUNKREQUEST']._serialized_end=3129 + _globals['_UPDATESIPOUTBOUNDTRUNKREQUEST']._serialized_start=3132 + _globals['_UPDATESIPOUTBOUNDTRUNKREQUEST']._serialized_end=3312 + _globals['_SIPOUTBOUNDTRUNKINFO']._serialized_start=3315 + _globals['_SIPOUTBOUNDTRUNKINFO']._serialized_end=4275 + _globals['_SIPOUTBOUNDTRUNKINFO_HEADERSENTRY']._serialized_start=2437 + _globals['_SIPOUTBOUNDTRUNKINFO_HEADERSENTRY']._serialized_end=2483 + _globals['_SIPOUTBOUNDTRUNKINFO_HEADERSTOATTRIBUTESENTRY']._serialized_start=2485 + _globals['_SIPOUTBOUNDTRUNKINFO_HEADERSTOATTRIBUTESENTRY']._serialized_end=2543 + _globals['_SIPOUTBOUNDTRUNKINFO_ATTRIBUTESTOHEADERSENTRY']._serialized_start=2545 + _globals['_SIPOUTBOUNDTRUNKINFO_ATTRIBUTESTOHEADERSENTRY']._serialized_end=2603 + _globals['_SIPOUTBOUNDTRUNKUPDATE']._serialized_start=4278 + _globals['_SIPOUTBOUNDTRUNKUPDATE']._serialized_end=4820 + _globals['_GETSIPINBOUNDTRUNKREQUEST']._serialized_start=4822 + _globals['_GETSIPINBOUNDTRUNKREQUEST']._serialized_end=4887 + _globals['_GETSIPINBOUNDTRUNKRESPONSE']._serialized_start=4889 + _globals['_GETSIPINBOUNDTRUNKRESPONSE']._serialized_end=4962 + _globals['_GETSIPOUTBOUNDTRUNKREQUEST']._serialized_start=4964 + _globals['_GETSIPOUTBOUNDTRUNKREQUEST']._serialized_end=5030 + _globals['_GETSIPOUTBOUNDTRUNKRESPONSE']._serialized_start=5032 + _globals['_GETSIPOUTBOUNDTRUNKRESPONSE']._serialized_end=5107 + _globals['_LISTSIPTRUNKREQUEST']._serialized_start=5109 + _globals['_LISTSIPTRUNKREQUEST']._serialized_end=5169 + _globals['_LISTSIPTRUNKRESPONSE']._serialized_start=5171 + _globals['_LISTSIPTRUNKRESPONSE']._serialized_end=5235 + _globals['_LISTSIPINBOUNDTRUNKREQUEST']._serialized_start=5237 + _globals['_LISTSIPINBOUNDTRUNKREQUEST']._serialized_end=5336 + _globals['_LISTSIPINBOUNDTRUNKRESPONSE']._serialized_start=5338 + _globals['_LISTSIPINBOUNDTRUNKRESPONSE']._serialized_end=5412 + _globals['_LISTSIPOUTBOUNDTRUNKREQUEST']._serialized_start=5414 + _globals['_LISTSIPOUTBOUNDTRUNKREQUEST']._serialized_end=5514 + _globals['_LISTSIPOUTBOUNDTRUNKRESPONSE']._serialized_start=5516 + _globals['_LISTSIPOUTBOUNDTRUNKRESPONSE']._serialized_end=5592 + _globals['_DELETESIPTRUNKREQUEST']._serialized_start=5594 + _globals['_DELETESIPTRUNKREQUEST']._serialized_end=5655 + _globals['_SIPDISPATCHRULEDIRECT']._serialized_start=5657 + _globals['_SIPDISPATCHRULEDIRECT']._serialized_end=5712 + _globals['_SIPDISPATCHRULEINDIVIDUAL']._serialized_start=5714 + _globals['_SIPDISPATCHRULEINDIVIDUAL']._serialized_end=5798 + _globals['_SIPDISPATCHRULECALLEE']._serialized_start=5800 + _globals['_SIPDISPATCHRULECALLEE']._serialized_end=5876 + _globals['_SIPDISPATCHRULE']._serialized_start=5879 + _globals['_SIPDISPATCHRULE']._serialized_end=6104 + _globals['_CREATESIPDISPATCHRULEREQUEST']._serialized_start=6107 + _globals['_CREATESIPDISPATCHRULEREQUEST']._serialized_end=6641 + _globals['_CREATESIPDISPATCHRULEREQUEST_ATTRIBUTESENTRY']._serialized_start=6592 + _globals['_CREATESIPDISPATCHRULEREQUEST_ATTRIBUTESENTRY']._serialized_end=6641 + _globals['_UPDATESIPDISPATCHRULEREQUEST']._serialized_start=6644 + _globals['_UPDATESIPDISPATCHRULEREQUEST']._serialized_end=6836 + _globals['_SIPDISPATCHRULEINFO']._serialized_start=6839 + _globals['_SIPDISPATCHRULEINFO']._serialized_end=7514 + _globals['_SIPDISPATCHRULEINFO_ATTRIBUTESENTRY']._serialized_start=6592 + _globals['_SIPDISPATCHRULEINFO_ATTRIBUTESENTRY']._serialized_end=6641 + _globals['_SIPDISPATCHRULEUPDATE']._serialized_start=7517 + _globals['_SIPDISPATCHRULEUPDATE']._serialized_end=7964 + _globals['_SIPDISPATCHRULEUPDATE_ATTRIBUTESENTRY']._serialized_start=6592 + _globals['_SIPDISPATCHRULEUPDATE_ATTRIBUTESENTRY']._serialized_end=6641 + _globals['_LISTSIPDISPATCHRULEREQUEST']._serialized_start=7966 + _globals['_LISTSIPDISPATCHRULEREQUEST']._serialized_end=8075 + _globals['_LISTSIPDISPATCHRULERESPONSE']._serialized_start=8077 + _globals['_LISTSIPDISPATCHRULERESPONSE']._serialized_end=8151 + _globals['_DELETESIPDISPATCHRULEREQUEST']._serialized_start=8153 + _globals['_DELETESIPDISPATCHRULEREQUEST']._serialized_end=8236 + _globals['_SIPOUTBOUNDCONFIG']._serialized_start=8239 + _globals['_SIPOUTBOUNDCONFIG']._serialized_end=8712 + _globals['_SIPOUTBOUNDCONFIG_HEADERSTOATTRIBUTESENTRY']._serialized_start=2485 + _globals['_SIPOUTBOUNDCONFIG_HEADERSTOATTRIBUTESENTRY']._serialized_end=2543 + _globals['_SIPOUTBOUNDCONFIG_ATTRIBUTESTOHEADERSENTRY']._serialized_start=2545 + _globals['_SIPOUTBOUNDCONFIG_ATTRIBUTESTOHEADERSENTRY']._serialized_end=2603 + _globals['_CREATESIPPARTICIPANTREQUEST']._serialized_start=8715 + _globals['_CREATESIPPARTICIPANTREQUEST']._serialized_end=9911 + _globals['_CREATESIPPARTICIPANTREQUEST_PARTICIPANTATTRIBUTESENTRY']._serialized_start=9770 + _globals['_CREATESIPPARTICIPANTREQUEST_PARTICIPANTATTRIBUTESENTRY']._serialized_end=9830 + _globals['_CREATESIPPARTICIPANTREQUEST_HEADERSENTRY']._serialized_start=2437 + _globals['_CREATESIPPARTICIPANTREQUEST_HEADERSENTRY']._serialized_end=2483 + _globals['_SIPPARTICIPANTINFO']._serialized_start=9914 + _globals['_SIPPARTICIPANTINFO']._serialized_end=10062 + _globals['_TRANSFERSIPPARTICIPANTREQUEST']._serialized_start=10065 + _globals['_TRANSFERSIPPARTICIPANTREQUEST']._serialized_end=10399 + _globals['_TRANSFERSIPPARTICIPANTREQUEST_HEADERSENTRY']._serialized_start=2437 + _globals['_TRANSFERSIPPARTICIPANTREQUEST_HEADERSENTRY']._serialized_end=2483 + _globals['_SIPCALLINFO']._serialized_start=10402 + _globals['_SIPCALLINFO']._serialized_end=11458 + _globals['_SIPCALLINFO_PARTICIPANTATTRIBUTESENTRY']._serialized_start=9770 + _globals['_SIPCALLINFO_PARTICIPANTATTRIBUTESENTRY']._serialized_end=9830 + _globals['_SIPTRANSFERINFO']._serialized_start=11461 + _globals['_SIPTRANSFERINFO']._serialized_end=11751 + _globals['_SIPURI']._serialized_start=11753 + _globals['_SIPURI']._serialized_end=11857 + _globals['_DESTINATION']._serialized_start=11859 + _globals['_DESTINATION']._serialized_end=11919 + _globals['_SIP']._serialized_start=15317 + _globals['_SIP']._serialized_end=16812 # @@protoc_insertion_point(module_scope) diff --git a/livekit-protocol/livekit/protocol/sip.pyi b/livekit-protocol/livekit/protocol/sip.pyi index 7138294c..58da739b 100644 --- a/livekit-protocol/livekit/protocol/sip.pyi +++ b/livekit-protocol/livekit/protocol/sip.pyi @@ -1,6 +1,7 @@ from google.protobuf import any_pb2 as _any_pb2 from google.protobuf import duration_pb2 as _duration_pb2 from google.protobuf import empty_pb2 as _empty_pb2 +from google.protobuf import timestamp_pb2 as _timestamp_pb2 from . import models as _models from . import room as _room from .logger_pb import options as _options_pb2 @@ -346,7 +347,7 @@ class UpdateSIPInboundTrunkRequest(_message.Message): def __init__(self, sip_trunk_id: _Optional[str] = ..., replace: _Optional[_Union[SIPInboundTrunkInfo, _Mapping]] = ..., update: _Optional[_Union[SIPInboundTrunkUpdate, _Mapping]] = ...) -> None: ... class SIPInboundTrunkInfo(_message.Message): - __slots__ = ("sip_trunk_id", "name", "metadata", "numbers", "allowed_addresses", "allowed_numbers", "auth_username", "auth_password", "headers", "headers_to_attributes", "attributes_to_headers", "include_headers", "ringing_timeout", "max_call_duration", "krisp_enabled", "media_encryption") + __slots__ = ("sip_trunk_id", "name", "metadata", "numbers", "allowed_addresses", "allowed_numbers", "auth_username", "auth_password", "headers", "headers_to_attributes", "attributes_to_headers", "include_headers", "ringing_timeout", "max_call_duration", "krisp_enabled", "media_encryption", "created_at", "updated_at") class HeadersEntry(_message.Message): __slots__ = ("key", "value") KEY_FIELD_NUMBER: _ClassVar[int] @@ -384,6 +385,8 @@ class SIPInboundTrunkInfo(_message.Message): MAX_CALL_DURATION_FIELD_NUMBER: _ClassVar[int] KRISP_ENABLED_FIELD_NUMBER: _ClassVar[int] MEDIA_ENCRYPTION_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + UPDATED_AT_FIELD_NUMBER: _ClassVar[int] sip_trunk_id: str name: str metadata: str @@ -400,7 +403,9 @@ class SIPInboundTrunkInfo(_message.Message): max_call_duration: _duration_pb2.Duration krisp_enabled: bool media_encryption: SIPMediaEncryption - def __init__(self, sip_trunk_id: _Optional[str] = ..., name: _Optional[str] = ..., metadata: _Optional[str] = ..., numbers: _Optional[_Iterable[str]] = ..., allowed_addresses: _Optional[_Iterable[str]] = ..., allowed_numbers: _Optional[_Iterable[str]] = ..., auth_username: _Optional[str] = ..., auth_password: _Optional[str] = ..., headers: _Optional[_Mapping[str, str]] = ..., headers_to_attributes: _Optional[_Mapping[str, str]] = ..., attributes_to_headers: _Optional[_Mapping[str, str]] = ..., include_headers: _Optional[_Union[SIPHeaderOptions, str]] = ..., ringing_timeout: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., max_call_duration: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., krisp_enabled: bool = ..., media_encryption: _Optional[_Union[SIPMediaEncryption, str]] = ...) -> None: ... + created_at: _timestamp_pb2.Timestamp + updated_at: _timestamp_pb2.Timestamp + def __init__(self, sip_trunk_id: _Optional[str] = ..., name: _Optional[str] = ..., metadata: _Optional[str] = ..., numbers: _Optional[_Iterable[str]] = ..., allowed_addresses: _Optional[_Iterable[str]] = ..., allowed_numbers: _Optional[_Iterable[str]] = ..., auth_username: _Optional[str] = ..., auth_password: _Optional[str] = ..., headers: _Optional[_Mapping[str, str]] = ..., headers_to_attributes: _Optional[_Mapping[str, str]] = ..., attributes_to_headers: _Optional[_Mapping[str, str]] = ..., include_headers: _Optional[_Union[SIPHeaderOptions, str]] = ..., ringing_timeout: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., max_call_duration: _Optional[_Union[_duration_pb2.Duration, _Mapping]] = ..., krisp_enabled: bool = ..., media_encryption: _Optional[_Union[SIPMediaEncryption, str]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... class SIPInboundTrunkUpdate(_message.Message): __slots__ = ("numbers", "allowed_addresses", "allowed_numbers", "auth_username", "auth_password", "name", "metadata", "media_encryption") @@ -439,7 +444,7 @@ class UpdateSIPOutboundTrunkRequest(_message.Message): def __init__(self, sip_trunk_id: _Optional[str] = ..., replace: _Optional[_Union[SIPOutboundTrunkInfo, _Mapping]] = ..., update: _Optional[_Union[SIPOutboundTrunkUpdate, _Mapping]] = ...) -> None: ... class SIPOutboundTrunkInfo(_message.Message): - __slots__ = ("sip_trunk_id", "name", "metadata", "address", "destination_country", "transport", "numbers", "auth_username", "auth_password", "headers", "headers_to_attributes", "attributes_to_headers", "include_headers", "media_encryption") + __slots__ = ("sip_trunk_id", "name", "metadata", "address", "destination_country", "transport", "numbers", "auth_username", "auth_password", "headers", "headers_to_attributes", "attributes_to_headers", "include_headers", "media_encryption", "from_host", "created_at", "updated_at") class HeadersEntry(_message.Message): __slots__ = ("key", "value") KEY_FIELD_NUMBER: _ClassVar[int] @@ -475,6 +480,9 @@ class SIPOutboundTrunkInfo(_message.Message): ATTRIBUTES_TO_HEADERS_FIELD_NUMBER: _ClassVar[int] INCLUDE_HEADERS_FIELD_NUMBER: _ClassVar[int] MEDIA_ENCRYPTION_FIELD_NUMBER: _ClassVar[int] + FROM_HOST_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + UPDATED_AT_FIELD_NUMBER: _ClassVar[int] sip_trunk_id: str name: str metadata: str @@ -489,10 +497,13 @@ class SIPOutboundTrunkInfo(_message.Message): attributes_to_headers: _containers.ScalarMap[str, str] include_headers: SIPHeaderOptions media_encryption: SIPMediaEncryption - def __init__(self, sip_trunk_id: _Optional[str] = ..., name: _Optional[str] = ..., metadata: _Optional[str] = ..., address: _Optional[str] = ..., destination_country: _Optional[str] = ..., transport: _Optional[_Union[SIPTransport, str]] = ..., numbers: _Optional[_Iterable[str]] = ..., auth_username: _Optional[str] = ..., auth_password: _Optional[str] = ..., headers: _Optional[_Mapping[str, str]] = ..., headers_to_attributes: _Optional[_Mapping[str, str]] = ..., attributes_to_headers: _Optional[_Mapping[str, str]] = ..., include_headers: _Optional[_Union[SIPHeaderOptions, str]] = ..., media_encryption: _Optional[_Union[SIPMediaEncryption, str]] = ...) -> None: ... + from_host: str + created_at: _timestamp_pb2.Timestamp + updated_at: _timestamp_pb2.Timestamp + def __init__(self, sip_trunk_id: _Optional[str] = ..., name: _Optional[str] = ..., metadata: _Optional[str] = ..., address: _Optional[str] = ..., destination_country: _Optional[str] = ..., transport: _Optional[_Union[SIPTransport, str]] = ..., numbers: _Optional[_Iterable[str]] = ..., auth_username: _Optional[str] = ..., auth_password: _Optional[str] = ..., headers: _Optional[_Mapping[str, str]] = ..., headers_to_attributes: _Optional[_Mapping[str, str]] = ..., attributes_to_headers: _Optional[_Mapping[str, str]] = ..., include_headers: _Optional[_Union[SIPHeaderOptions, str]] = ..., media_encryption: _Optional[_Union[SIPMediaEncryption, str]] = ..., from_host: _Optional[str] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... class SIPOutboundTrunkUpdate(_message.Message): - __slots__ = ("address", "transport", "destination_country", "numbers", "auth_username", "auth_password", "name", "metadata", "media_encryption") + __slots__ = ("address", "transport", "destination_country", "numbers", "auth_username", "auth_password", "name", "metadata", "media_encryption", "from_host") ADDRESS_FIELD_NUMBER: _ClassVar[int] TRANSPORT_FIELD_NUMBER: _ClassVar[int] DESTINATION_COUNTRY_FIELD_NUMBER: _ClassVar[int] @@ -502,6 +513,7 @@ class SIPOutboundTrunkUpdate(_message.Message): NAME_FIELD_NUMBER: _ClassVar[int] METADATA_FIELD_NUMBER: _ClassVar[int] MEDIA_ENCRYPTION_FIELD_NUMBER: _ClassVar[int] + FROM_HOST_FIELD_NUMBER: _ClassVar[int] address: str transport: SIPTransport destination_country: str @@ -511,7 +523,8 @@ class SIPOutboundTrunkUpdate(_message.Message): name: str metadata: str media_encryption: SIPMediaEncryption - def __init__(self, address: _Optional[str] = ..., transport: _Optional[_Union[SIPTransport, str]] = ..., destination_country: _Optional[str] = ..., numbers: _Optional[_Union[_models.ListUpdate, _Mapping]] = ..., auth_username: _Optional[str] = ..., auth_password: _Optional[str] = ..., name: _Optional[str] = ..., metadata: _Optional[str] = ..., media_encryption: _Optional[_Union[SIPMediaEncryption, str]] = ...) -> None: ... + from_host: str + def __init__(self, address: _Optional[str] = ..., transport: _Optional[_Union[SIPTransport, str]] = ..., destination_country: _Optional[str] = ..., numbers: _Optional[_Union[_models.ListUpdate, _Mapping]] = ..., auth_username: _Optional[str] = ..., auth_password: _Optional[str] = ..., name: _Optional[str] = ..., metadata: _Optional[str] = ..., media_encryption: _Optional[_Union[SIPMediaEncryption, str]] = ..., from_host: _Optional[str] = ...) -> None: ... class GetSIPInboundTrunkRequest(_message.Message): __slots__ = ("sip_trunk_id",) @@ -596,12 +609,14 @@ class SIPDispatchRuleDirect(_message.Message): def __init__(self, room_name: _Optional[str] = ..., pin: _Optional[str] = ...) -> None: ... class SIPDispatchRuleIndividual(_message.Message): - __slots__ = ("room_prefix", "pin") + __slots__ = ("room_prefix", "pin", "no_randomness") ROOM_PREFIX_FIELD_NUMBER: _ClassVar[int] PIN_FIELD_NUMBER: _ClassVar[int] + NO_RANDOMNESS_FIELD_NUMBER: _ClassVar[int] room_prefix: str pin: str - def __init__(self, room_prefix: _Optional[str] = ..., pin: _Optional[str] = ...) -> None: ... + no_randomness: bool + def __init__(self, room_prefix: _Optional[str] = ..., pin: _Optional[str] = ..., no_randomness: bool = ...) -> None: ... class SIPDispatchRuleCallee(_message.Message): __slots__ = ("room_prefix", "pin", "randomize") @@ -665,7 +680,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", "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", "created_at", "updated_at") class AttributesEntry(_message.Message): __slots__ = ("key", "value") KEY_FIELD_NUMBER: _ClassVar[int] @@ -686,6 +701,8 @@ class SIPDispatchRuleInfo(_message.Message): ROOM_CONFIG_FIELD_NUMBER: _ClassVar[int] KRISP_ENABLED_FIELD_NUMBER: _ClassVar[int] MEDIA_ENCRYPTION_FIELD_NUMBER: _ClassVar[int] + CREATED_AT_FIELD_NUMBER: _ClassVar[int] + UPDATED_AT_FIELD_NUMBER: _ClassVar[int] sip_dispatch_rule_id: str rule: SIPDispatchRule trunk_ids: _containers.RepeatedScalarFieldContainer[str] @@ -699,7 +716,9 @@ 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]] = ..., 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: ... + created_at: _timestamp_pb2.Timestamp + updated_at: _timestamp_pb2.Timestamp + 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]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ... class SIPDispatchRuleUpdate(_message.Message): __slots__ = ("trunk_ids", "rule", "name", "metadata", "attributes", "media_encryption") @@ -747,7 +766,7 @@ class DeleteSIPDispatchRuleRequest(_message.Message): def __init__(self, sip_dispatch_rule_id: _Optional[str] = ...) -> None: ... class SIPOutboundConfig(_message.Message): - __slots__ = ("hostname", "destination_country", "transport", "auth_username", "auth_password", "headers_to_attributes", "attributes_to_headers") + __slots__ = ("hostname", "destination_country", "transport", "auth_username", "auth_password", "headers_to_attributes", "attributes_to_headers", "from_host") class HeadersToAttributesEntry(_message.Message): __slots__ = ("key", "value") KEY_FIELD_NUMBER: _ClassVar[int] @@ -769,6 +788,7 @@ class SIPOutboundConfig(_message.Message): AUTH_PASSWORD_FIELD_NUMBER: _ClassVar[int] HEADERS_TO_ATTRIBUTES_FIELD_NUMBER: _ClassVar[int] ATTRIBUTES_TO_HEADERS_FIELD_NUMBER: _ClassVar[int] + FROM_HOST_FIELD_NUMBER: _ClassVar[int] hostname: str destination_country: str transport: SIPTransport @@ -776,7 +796,8 @@ class SIPOutboundConfig(_message.Message): auth_password: str headers_to_attributes: _containers.ScalarMap[str, str] attributes_to_headers: _containers.ScalarMap[str, str] - def __init__(self, hostname: _Optional[str] = ..., destination_country: _Optional[str] = ..., transport: _Optional[_Union[SIPTransport, str]] = ..., auth_username: _Optional[str] = ..., auth_password: _Optional[str] = ..., headers_to_attributes: _Optional[_Mapping[str, str]] = ..., attributes_to_headers: _Optional[_Mapping[str, str]] = ...) -> None: ... + from_host: str + def __init__(self, hostname: _Optional[str] = ..., destination_country: _Optional[str] = ..., transport: _Optional[_Union[SIPTransport, str]] = ..., auth_username: _Optional[str] = ..., auth_password: _Optional[str] = ..., headers_to_attributes: _Optional[_Mapping[str, str]] = ..., attributes_to_headers: _Optional[_Mapping[str, str]] = ..., from_host: _Optional[str] = ...) -> None: ... class CreateSIPParticipantRequest(_message.Message): __slots__ = ("sip_trunk_id", "trunk", "sip_call_to", "sip_number", "room_name", "participant_identity", "participant_name", "participant_metadata", "participant_attributes", "dtmf", "play_ringtone", "play_dialtone", "hide_phone_number", "headers", "include_headers", "ringing_timeout", "max_call_duration", "krisp_enabled", "media_encryption", "wait_until_answered", "display_name", "destination") diff --git a/livekit-protocol/livekit/protocol/version.py b/livekit-protocol/livekit/protocol/version.py index 72f26f59..0b2f79db 100644 --- a/livekit-protocol/livekit/protocol/version.py +++ b/livekit-protocol/livekit/protocol/version.py @@ -1 +1 @@ -__version__ = "1.1.2" +__version__ = "1.1.3" diff --git a/livekit-protocol/protocol b/livekit-protocol/protocol index 765a80e4..f734574d 160000 --- a/livekit-protocol/protocol +++ b/livekit-protocol/protocol @@ -1 +1 @@ -Subproject commit 765a80e4298e376593859c3f11cf748c725f68f9 +Subproject commit f734574de339d94dd83f70fbe1723ba1cdc61c2f