From 79dca08985b9b031bb232c9411413275224623d5 Mon Sep 17 00:00:00 2001 From: Genseric Ghiro Date: Wed, 11 Nov 2026 15:59:28 -0500 Subject: [PATCH 1/3] chore(protocol): bump livekit-protocol/protocol to 85dd8b9 --- .changeset/bump-protocol-sip-source-call-id.md | 5 +++++ livekit-protocol/protocol | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 .changeset/bump-protocol-sip-source-call-id.md diff --git a/.changeset/bump-protocol-sip-source-call-id.md b/.changeset/bump-protocol-sip-source-call-id.md new file mode 100644 index 00000000..e0448f19 --- /dev/null +++ b/.changeset/bump-protocol-sip-source-call-id.md @@ -0,0 +1,5 @@ +--- +"livekit-protocol": patch +--- + +Bump the protocol to livekit/protocol@85dd8b9: `sip_source_call_id` on `CreateSIPParticipantRequest` (livekit/protocol#1960), and attempt counts, failed attempt time and `workers_asked` on `JobState`, plus the `no_user` latency scope (livekit/protocol#1949, livekit/protocol#1953). diff --git a/livekit-protocol/protocol b/livekit-protocol/protocol index 868ecd58..85dd8b9a 160000 --- a/livekit-protocol/protocol +++ b/livekit-protocol/protocol @@ -1 +1 @@ -Subproject commit 868ecd58e68880f138d313cc1c234db8d168aa91 +Subproject commit 85dd8b9a2fe8540be887d6502a376feec2f709db From 820d2d0d250d0f5ab9a3626a697b2fde7fc241bf Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 11 Nov 2026 21:00:06 +0000 Subject: [PATCH 2/3] generated protobuf --- livekit-protocol/livekit/protocol/agent.py | 112 ++++++++++---------- livekit-protocol/livekit/protocol/agent.pyi | 12 ++- livekit-protocol/livekit/protocol/sip.py | 102 +++++++++--------- livekit-protocol/livekit/protocol/sip.pyi | 6 +- 4 files changed, 122 insertions(+), 110 deletions(-) diff --git a/livekit-protocol/livekit/protocol/agent.py b/livekit-protocol/livekit/protocol/agent.py index 1693c3ae..bfb6cb21 100644 --- a/livekit-protocol/livekit/protocol/agent.py +++ b/livekit-protocol/livekit/protocol/agent.py @@ -26,7 +26,7 @@ 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\x1a\x14logger/options.proto\"\xe0\x03\n\x03Job\x12\n\n\x02id\x18\x01 \x01(\t\x12\"\n\x0b\x64ispatch_id\x18\t \x01(\tB\r\xbaP\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\x15\n\x08metadata\x18\x06 \x01(\tB\x03\xc0P\x01\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\x12\x12\n\ndeployment\x18\x0b \x01(\t\x12\x35\n\nattributes\x18\x0c \x03(\x0b\x32\x1c.livekit.Job.AttributesEntryB\x03\xc0P\x01\x12\x18\n\x10\x65nable_redaction\x18\r \x01(\x08\x12\x12\n\ncreated_at\x18\x0e \x01(\x03\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\x0e\n\x0c_participant\"\xa6\x02\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\x1e\n\tworker_id\x18\x07 \x01(\tB\x0b\xbaP\x08workerID\x12\x1c\n\x08\x61gent_id\x18\x08 \x01(\tB\n\xbaP\x07\x61gentID\x12\'\n\x06reason\x18\t \x01(\x0e\x32\x17.livekit.JobStateReason\x12\x13\n\x0b\x61\x63\x63\x65pted_at\x18\n \x01(\x03\x12\x13\n\x0b\x61ssigned_at\x18\x0b \x01(\x03\"\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\"\xb6\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,\n\x07go_away\x18\x06 \x01(\x0b\x32\x19.livekit.AgentHttp.GoAwayH\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\"\xea\x02\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.ParticipantPermission\x12\x12\n\ndeployment\x18\t \x01(\t\x12\x33\n\tendpoints\x18\n \x03(\x0b\x32 .livekit.AgentHttp.AgentEndpoint\x12\"\n\x0binstance_id\x18\x0b \x01(\tB\r\xbaP\ninstanceID\x12\x19\n\x11\x65ndpoint_protocol\x18\x0c \x01(\rB\x0c\n\n_namespaceJ\x04\x08\x02\x10\x03J\x04\x08\x04\x10\x05\"\xad\x01\n\x16RegisterWorkerResponse\x12\x1e\n\tworker_id\x18\x01 \x01(\tB\x0b\xbaP\x08workerID\x12(\n\x0bserver_info\x18\x03 \x01(\x0b\x32\x13.livekit.ServerInfo\x12\x43\n\x11\x65ndpoint_settings\x18\x04 \x01(\x0b\x32(.livekit.AgentHttp.AgentEndpointSettingsJ\x04\x08\x02\x10\x03\"@\n\x11MigrateJobRequest\x12\x0f\n\x07job_ids\x18\x02 \x03(\t\x12\x1a\n\x04jobs\x18\x03 \x03(\x0b\x32\x0c.livekit.Job\"B\n\x13\x41vailabilityRequest\x12\x19\n\x03job\x18\x01 \x01(\x0b\x32\x0c.livekit.Job\x12\x10\n\x08resuming\x18\x02 \x01(\x08\"\xdd\x02\n\x14\x41vailabilityResponse\x12\x18\n\x06job_id\x18\x01 \x01(\tB\x08\xbaP\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\"\x8b\x01\n\x0fUpdateJobStatus\x12\x18\n\x06job_id\x18\x01 \x01(\tB\x08\xbaP\x05jobID\x12\"\n\x06status\x18\x02 \x01(\x0e\x32\x12.livekit.JobStatus\x12\r\n\x05\x65rror\x18\x03 \x01(\t\x12+\n\x0bjoin_timing\x18\x04 \x01(\x0b\x32\x16.livekit.JobJoinTiming\"\xd9\x01\n\rJobJoinTiming\x12\x19\n\x11offer_received_us\x18\x01 \x01(\x03\x12\x13\n\x0b\x61\x63\x63\x65pted_us\x18\x02 \x01(\x03\x12\x1e\n\x16\x61ssignment_received_us\x18\x03 \x01(\x03\x12\x13\n\x0blaunched_us\x18\x04 \x01(\x03\x12\x13\n\x0blaunch_warm\x18\x05 \x01(\x08\x12\x1d\n\x15\x65ntrypoint_started_us\x18\x06 \x01(\x03\x12\x19\n\x11\x63onnect_called_us\x18\x07 \x01(\x03\x12\x14\n\x0c\x63onnected_us\x18\x08 \x01(\x03\"\x91\x01\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(\r\x12\x10\n\x08\x64raining\x18\x05 \x01(\x08\x12\x0b\n\x03seq\x18\x06 \x01(\x04\x42\t\n\x07_statusJ\x04\x08\x02\x10\x03\"X\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\x12\n\x05token\x18\x03 \x01(\tB\x03\xc0P\x02\x42\x06\n\x04_url\"*\n\x0eJobTermination\x12\x18\n\x06job_id\x18\x01 \x01(\tB\x08\xbaP\x05jobID\"\xb7\x04\n\tAgentHttp\x1ar\n\rAgentEndpoint\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x0f\n\x07methods\x18\x02 \x03(\t\x12\x32\n\x04kind\x18\x03 \x01(\x0e\x32$.livekit.AgentHttp.AgentEndpointKind\x12\x0e\n\x06public\x18\x04 \x01(\x08\x1a\x35\n\x15\x41gentEndpointSettings\x12\x10\n\x08protocol\x18\x01 \x01(\rJ\x04\x08\x02\x10\x03J\x04\x08\x03\x10\x04\x1a\xc7\x01\n\x0eStreamPreamble\x12\x32\n\x04kind\x18\x01 \x01(\x0e\x32$.livekit.AgentHttp.AgentEndpointKind\x12 \n\nrequest_id\x18\x02 \x01(\tB\x0c\xbaP\trequestID\x12\x12\n\nauthorized\x18\x03 \x01(\x08\x12\r\n\x05route\x18\x04 \x01(\t\x12\x12\n\ntimeout_ms\x18\x05 \x01(\r\x12\x18\n\x0b\x63lient_addr\x18\x06 \x01(\tB\x03\xc0P\x01\x12\x0e\n\x06scheme\x18\x07 \x01(\t\x1a\x18\n\x06GoAway\x12\x0e\n\x06reason\x18\x01 \x01(\t\"/\n\x11\x41gentEndpointKind\x12\x0c\n\x08\x41\x45K_HTTP\x10\x00\x12\x0c\n\x08\x41\x45K_TEXT\x10\x01\"j\n\x13HttpStreamResetCode\x12\r\n\tHSR_ABORT\x10\x00\x12\x0f\n\x0bHSR_REFUSED\x10\x01\x12\x10\n\x0cHSR_INTERNAL\x10\x02\x12\x0f\n\x0bHSR_TIMEOUT\x10\x03\x12\x10\n\x0cHSR_PROTOCOL\x10\x04*<\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*\\\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\x12\x10\n\x0cJS_CANCELLED\x10\x04*{\n\x0eJobStateReason\x12\x13\n\x0fJSR_UNSPECIFIED\x10\x00\x12\x13\n\x0fJSR_NO_CAPACITY\x10\x01\x12\x13\n\x0fJSR_ROOM_CLOSED\x10\x02\x12\x18\n\x14JSR_DISPATCH_DELETED\x10\x03\x12\x10\n\x0cJSR_RETRYING\x10\x04\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\"\xe0\x03\n\x03Job\x12\n\n\x02id\x18\x01 \x01(\t\x12\"\n\x0b\x64ispatch_id\x18\t \x01(\tB\r\xbaP\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\x15\n\x08metadata\x18\x06 \x01(\tB\x03\xc0P\x01\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\x12\x12\n\ndeployment\x18\x0b \x01(\t\x12\x35\n\nattributes\x18\x0c \x03(\x0b\x32\x1c.livekit.Job.AttributesEntryB\x03\xc0P\x01\x12\x18\n\x10\x65nable_redaction\x18\r \x01(\x08\x12\x12\n\ncreated_at\x18\x0e \x01(\x03\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\x0e\n\x0c_participant\"\x8b\x03\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\x1e\n\tworker_id\x18\x07 \x01(\tB\x0b\xbaP\x08workerID\x12\x1c\n\x08\x61gent_id\x18\x08 \x01(\tB\n\xbaP\x07\x61gentID\x12\'\n\x06reason\x18\t \x01(\x0e\x32\x17.livekit.JobStateReason\x12\x13\n\x0b\x61\x63\x63\x65pted_at\x18\n \x01(\x03\x12\x13\n\x0b\x61ssigned_at\x18\x0b \x01(\x03\x12\x10\n\x08\x61ttempts\x18\x0c \x01(\r\x12\x18\n\x10\x66irst_started_at\x18\r \x01(\x03\x12 \n\x18\x61gent_failed_attempts_ns\x18\x0e \x01(\x03\x12\x15\n\rworkers_asked\x18\x0f \x01(\r\"\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\"\xb6\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,\n\x07go_away\x18\x06 \x01(\x0b\x32\x19.livekit.AgentHttp.GoAwayH\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\"\xea\x02\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.ParticipantPermission\x12\x12\n\ndeployment\x18\t \x01(\t\x12\x33\n\tendpoints\x18\n \x03(\x0b\x32 .livekit.AgentHttp.AgentEndpoint\x12\"\n\x0binstance_id\x18\x0b \x01(\tB\r\xbaP\ninstanceID\x12\x19\n\x11\x65ndpoint_protocol\x18\x0c \x01(\rB\x0c\n\n_namespaceJ\x04\x08\x02\x10\x03J\x04\x08\x04\x10\x05\"\xad\x01\n\x16RegisterWorkerResponse\x12\x1e\n\tworker_id\x18\x01 \x01(\tB\x0b\xbaP\x08workerID\x12(\n\x0bserver_info\x18\x03 \x01(\x0b\x32\x13.livekit.ServerInfo\x12\x43\n\x11\x65ndpoint_settings\x18\x04 \x01(\x0b\x32(.livekit.AgentHttp.AgentEndpointSettingsJ\x04\x08\x02\x10\x03\"@\n\x11MigrateJobRequest\x12\x0f\n\x07job_ids\x18\x02 \x03(\t\x12\x1a\n\x04jobs\x18\x03 \x03(\x0b\x32\x0c.livekit.Job\"B\n\x13\x41vailabilityRequest\x12\x19\n\x03job\x18\x01 \x01(\x0b\x32\x0c.livekit.Job\x12\x10\n\x08resuming\x18\x02 \x01(\x08\"\xdd\x02\n\x14\x41vailabilityResponse\x12\x18\n\x06job_id\x18\x01 \x01(\tB\x08\xbaP\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\"\x8b\x01\n\x0fUpdateJobStatus\x12\x18\n\x06job_id\x18\x01 \x01(\tB\x08\xbaP\x05jobID\x12\"\n\x06status\x18\x02 \x01(\x0e\x32\x12.livekit.JobStatus\x12\r\n\x05\x65rror\x18\x03 \x01(\t\x12+\n\x0bjoin_timing\x18\x04 \x01(\x0b\x32\x16.livekit.JobJoinTiming\"\xd9\x01\n\rJobJoinTiming\x12\x19\n\x11offer_received_us\x18\x01 \x01(\x03\x12\x13\n\x0b\x61\x63\x63\x65pted_us\x18\x02 \x01(\x03\x12\x1e\n\x16\x61ssignment_received_us\x18\x03 \x01(\x03\x12\x13\n\x0blaunched_us\x18\x04 \x01(\x03\x12\x13\n\x0blaunch_warm\x18\x05 \x01(\x08\x12\x1d\n\x15\x65ntrypoint_started_us\x18\x06 \x01(\x03\x12\x19\n\x11\x63onnect_called_us\x18\x07 \x01(\x03\x12\x14\n\x0c\x63onnected_us\x18\x08 \x01(\x03\"\x91\x01\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(\r\x12\x10\n\x08\x64raining\x18\x05 \x01(\x08\x12\x0b\n\x03seq\x18\x06 \x01(\x04\x42\t\n\x07_statusJ\x04\x08\x02\x10\x03\"X\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\x12\n\x05token\x18\x03 \x01(\tB\x03\xc0P\x02\x42\x06\n\x04_url\"*\n\x0eJobTermination\x12\x18\n\x06job_id\x18\x01 \x01(\tB\x08\xbaP\x05jobID\"\xb7\x04\n\tAgentHttp\x1ar\n\rAgentEndpoint\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x0f\n\x07methods\x18\x02 \x03(\t\x12\x32\n\x04kind\x18\x03 \x01(\x0e\x32$.livekit.AgentHttp.AgentEndpointKind\x12\x0e\n\x06public\x18\x04 \x01(\x08\x1a\x35\n\x15\x41gentEndpointSettings\x12\x10\n\x08protocol\x18\x01 \x01(\rJ\x04\x08\x02\x10\x03J\x04\x08\x03\x10\x04\x1a\xc7\x01\n\x0eStreamPreamble\x12\x32\n\x04kind\x18\x01 \x01(\x0e\x32$.livekit.AgentHttp.AgentEndpointKind\x12 \n\nrequest_id\x18\x02 \x01(\tB\x0c\xbaP\trequestID\x12\x12\n\nauthorized\x18\x03 \x01(\x08\x12\r\n\x05route\x18\x04 \x01(\t\x12\x12\n\ntimeout_ms\x18\x05 \x01(\r\x12\x18\n\x0b\x63lient_addr\x18\x06 \x01(\tB\x03\xc0P\x01\x12\x0e\n\x06scheme\x18\x07 \x01(\t\x1a\x18\n\x06GoAway\x12\x0e\n\x06reason\x18\x01 \x01(\t\"/\n\x11\x41gentEndpointKind\x12\x0c\n\x08\x41\x45K_HTTP\x10\x00\x12\x0c\n\x08\x41\x45K_TEXT\x10\x01\"j\n\x13HttpStreamResetCode\x12\r\n\tHSR_ABORT\x10\x00\x12\x0f\n\x0bHSR_REFUSED\x10\x01\x12\x10\n\x0cHSR_INTERNAL\x10\x02\x12\x0f\n\x0bHSR_TIMEOUT\x10\x03\x12\x10\n\x0cHSR_PROTOCOL\x10\x04*<\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*\\\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\x12\x10\n\x0cJS_CANCELLED\x10\x04*{\n\x0eJobStateReason\x12\x13\n\x0fJSR_UNSPECIFIED\x10\x00\x12\x13\n\x0fJSR_NO_CAPACITY\x10\x01\x12\x13\n\x0fJSR_ROOM_CLOSED\x10\x02\x12\x18\n\x14JSR_DISPATCH_DELETED\x10\x03\x12\x10\n\x0cJSR_RETRYING\x10\x04\x42\x46Z#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -66,64 +66,64 @@ _globals['_AGENTHTTP_STREAMPREAMBLE'].fields_by_name['request_id']._serialized_options = b'\272P\trequestID' _globals['_AGENTHTTP_STREAMPREAMBLE'].fields_by_name['client_addr']._loaded_options = None _globals['_AGENTHTTP_STREAMPREAMBLE'].fields_by_name['client_addr']._serialized_options = b'\300P\001' - _globals['_JOBTYPE']._serialized_start=4010 - _globals['_JOBTYPE']._serialized_end=4070 - _globals['_WORKERSTATUS']._serialized_start=4072 - _globals['_WORKERSTATUS']._serialized_end=4117 - _globals['_JOBSTATUS']._serialized_start=4119 - _globals['_JOBSTATUS']._serialized_end=4211 - _globals['_JOBSTATEREASON']._serialized_start=4213 - _globals['_JOBSTATEREASON']._serialized_end=4336 + _globals['_JOBTYPE']._serialized_start=4111 + _globals['_JOBTYPE']._serialized_end=4171 + _globals['_WORKERSTATUS']._serialized_start=4173 + _globals['_WORKERSTATUS']._serialized_end=4218 + _globals['_JOBSTATUS']._serialized_start=4220 + _globals['_JOBSTATUS']._serialized_end=4312 + _globals['_JOBSTATEREASON']._serialized_start=4314 + _globals['_JOBSTATEREASON']._serialized_end=4437 _globals['_JOB']._serialized_start=77 _globals['_JOB']._serialized_end=557 _globals['_JOB_ATTRIBUTESENTRY']._serialized_start=492 _globals['_JOB_ATTRIBUTESENTRY']._serialized_end=541 _globals['_JOBSTATE']._serialized_start=560 - _globals['_JOBSTATE']._serialized_end=854 - _globals['_WORKERMESSAGE']._serialized_start=857 - _globals['_WORKERMESSAGE']._serialized_end=1233 - _globals['_SERVERMESSAGE']._serialized_start=1236 - _globals['_SERVERMESSAGE']._serialized_end=1546 - _globals['_SIMULATEJOBREQUEST']._serialized_start=1549 - _globals['_SIMULATEJOBREQUEST']._serialized_end=1677 - _globals['_WORKERPING']._serialized_start=1679 - _globals['_WORKERPING']._serialized_end=1710 - _globals['_WORKERPONG']._serialized_start=1712 - _globals['_WORKERPONG']._serialized_end=1767 - _globals['_REGISTERWORKERREQUEST']._serialized_start=1770 - _globals['_REGISTERWORKERREQUEST']._serialized_end=2132 - _globals['_REGISTERWORKERRESPONSE']._serialized_start=2135 - _globals['_REGISTERWORKERRESPONSE']._serialized_end=2308 - _globals['_MIGRATEJOBREQUEST']._serialized_start=2310 - _globals['_MIGRATEJOBREQUEST']._serialized_end=2374 - _globals['_AVAILABILITYREQUEST']._serialized_start=2376 - _globals['_AVAILABILITYREQUEST']._serialized_end=2442 - _globals['_AVAILABILITYRESPONSE']._serialized_start=2445 - _globals['_AVAILABILITYRESPONSE']._serialized_end=2794 - _globals['_AVAILABILITYRESPONSE_PARTICIPANTATTRIBUTESENTRY']._serialized_start=2734 - _globals['_AVAILABILITYRESPONSE_PARTICIPANTATTRIBUTESENTRY']._serialized_end=2794 - _globals['_UPDATEJOBSTATUS']._serialized_start=2797 - _globals['_UPDATEJOBSTATUS']._serialized_end=2936 - _globals['_JOBJOINTIMING']._serialized_start=2939 - _globals['_JOBJOINTIMING']._serialized_end=3156 - _globals['_UPDATEWORKERSTATUS']._serialized_start=3159 - _globals['_UPDATEWORKERSTATUS']._serialized_end=3304 - _globals['_JOBASSIGNMENT']._serialized_start=3306 - _globals['_JOBASSIGNMENT']._serialized_end=3394 - _globals['_JOBTERMINATION']._serialized_start=3396 - _globals['_JOBTERMINATION']._serialized_end=3438 - _globals['_AGENTHTTP']._serialized_start=3441 - _globals['_AGENTHTTP']._serialized_end=4008 - _globals['_AGENTHTTP_AGENTENDPOINT']._serialized_start=3454 - _globals['_AGENTHTTP_AGENTENDPOINT']._serialized_end=3568 - _globals['_AGENTHTTP_AGENTENDPOINTSETTINGS']._serialized_start=3570 - _globals['_AGENTHTTP_AGENTENDPOINTSETTINGS']._serialized_end=3623 - _globals['_AGENTHTTP_STREAMPREAMBLE']._serialized_start=3626 - _globals['_AGENTHTTP_STREAMPREAMBLE']._serialized_end=3825 - _globals['_AGENTHTTP_GOAWAY']._serialized_start=3827 - _globals['_AGENTHTTP_GOAWAY']._serialized_end=3851 - _globals['_AGENTHTTP_AGENTENDPOINTKIND']._serialized_start=3853 - _globals['_AGENTHTTP_AGENTENDPOINTKIND']._serialized_end=3900 - _globals['_AGENTHTTP_HTTPSTREAMRESETCODE']._serialized_start=3902 - _globals['_AGENTHTTP_HTTPSTREAMRESETCODE']._serialized_end=4008 + _globals['_JOBSTATE']._serialized_end=955 + _globals['_WORKERMESSAGE']._serialized_start=958 + _globals['_WORKERMESSAGE']._serialized_end=1334 + _globals['_SERVERMESSAGE']._serialized_start=1337 + _globals['_SERVERMESSAGE']._serialized_end=1647 + _globals['_SIMULATEJOBREQUEST']._serialized_start=1650 + _globals['_SIMULATEJOBREQUEST']._serialized_end=1778 + _globals['_WORKERPING']._serialized_start=1780 + _globals['_WORKERPING']._serialized_end=1811 + _globals['_WORKERPONG']._serialized_start=1813 + _globals['_WORKERPONG']._serialized_end=1868 + _globals['_REGISTERWORKERREQUEST']._serialized_start=1871 + _globals['_REGISTERWORKERREQUEST']._serialized_end=2233 + _globals['_REGISTERWORKERRESPONSE']._serialized_start=2236 + _globals['_REGISTERWORKERRESPONSE']._serialized_end=2409 + _globals['_MIGRATEJOBREQUEST']._serialized_start=2411 + _globals['_MIGRATEJOBREQUEST']._serialized_end=2475 + _globals['_AVAILABILITYREQUEST']._serialized_start=2477 + _globals['_AVAILABILITYREQUEST']._serialized_end=2543 + _globals['_AVAILABILITYRESPONSE']._serialized_start=2546 + _globals['_AVAILABILITYRESPONSE']._serialized_end=2895 + _globals['_AVAILABILITYRESPONSE_PARTICIPANTATTRIBUTESENTRY']._serialized_start=2835 + _globals['_AVAILABILITYRESPONSE_PARTICIPANTATTRIBUTESENTRY']._serialized_end=2895 + _globals['_UPDATEJOBSTATUS']._serialized_start=2898 + _globals['_UPDATEJOBSTATUS']._serialized_end=3037 + _globals['_JOBJOINTIMING']._serialized_start=3040 + _globals['_JOBJOINTIMING']._serialized_end=3257 + _globals['_UPDATEWORKERSTATUS']._serialized_start=3260 + _globals['_UPDATEWORKERSTATUS']._serialized_end=3405 + _globals['_JOBASSIGNMENT']._serialized_start=3407 + _globals['_JOBASSIGNMENT']._serialized_end=3495 + _globals['_JOBTERMINATION']._serialized_start=3497 + _globals['_JOBTERMINATION']._serialized_end=3539 + _globals['_AGENTHTTP']._serialized_start=3542 + _globals['_AGENTHTTP']._serialized_end=4109 + _globals['_AGENTHTTP_AGENTENDPOINT']._serialized_start=3555 + _globals['_AGENTHTTP_AGENTENDPOINT']._serialized_end=3669 + _globals['_AGENTHTTP_AGENTENDPOINTSETTINGS']._serialized_start=3671 + _globals['_AGENTHTTP_AGENTENDPOINTSETTINGS']._serialized_end=3724 + _globals['_AGENTHTTP_STREAMPREAMBLE']._serialized_start=3727 + _globals['_AGENTHTTP_STREAMPREAMBLE']._serialized_end=3926 + _globals['_AGENTHTTP_GOAWAY']._serialized_start=3928 + _globals['_AGENTHTTP_GOAWAY']._serialized_end=3952 + _globals['_AGENTHTTP_AGENTENDPOINTKIND']._serialized_start=3954 + _globals['_AGENTHTTP_AGENTENDPOINTKIND']._serialized_end=4001 + _globals['_AGENTHTTP_HTTPSTREAMRESETCODE']._serialized_start=4003 + _globals['_AGENTHTTP_HTTPSTREAMRESETCODE']._serialized_end=4109 # @@protoc_insertion_point(module_scope) diff --git a/livekit-protocol/livekit/protocol/agent.pyi b/livekit-protocol/livekit/protocol/agent.pyi index 174ccd1c..ff9ed926 100644 --- a/livekit-protocol/livekit/protocol/agent.pyi +++ b/livekit-protocol/livekit/protocol/agent.pyi @@ -90,7 +90,7 @@ class Job(_message.Message): def __init__(self, id: _Optional[str] = ..., dispatch_id: _Optional[str] = ..., type: _Optional[_Union[JobType, str]] = ..., room: _Optional[_Union[_models.Room, _Mapping]] = ..., participant: _Optional[_Union[_models.ParticipantInfo, _Mapping]] = ..., namespace: _Optional[str] = ..., metadata: _Optional[str] = ..., agent_name: _Optional[str] = ..., state: _Optional[_Union[JobState, _Mapping]] = ..., enable_recording: bool = ..., deployment: _Optional[str] = ..., attributes: _Optional[_Mapping[str, str]] = ..., enable_redaction: bool = ..., created_at: _Optional[int] = ...) -> None: ... class JobState(_message.Message): - __slots__ = ("status", "error", "started_at", "ended_at", "updated_at", "participant_identity", "worker_id", "agent_id", "reason", "accepted_at", "assigned_at") + __slots__ = ("status", "error", "started_at", "ended_at", "updated_at", "participant_identity", "worker_id", "agent_id", "reason", "accepted_at", "assigned_at", "attempts", "first_started_at", "agent_failed_attempts_ns", "workers_asked") STATUS_FIELD_NUMBER: _ClassVar[int] ERROR_FIELD_NUMBER: _ClassVar[int] STARTED_AT_FIELD_NUMBER: _ClassVar[int] @@ -102,6 +102,10 @@ class JobState(_message.Message): REASON_FIELD_NUMBER: _ClassVar[int] ACCEPTED_AT_FIELD_NUMBER: _ClassVar[int] ASSIGNED_AT_FIELD_NUMBER: _ClassVar[int] + ATTEMPTS_FIELD_NUMBER: _ClassVar[int] + FIRST_STARTED_AT_FIELD_NUMBER: _ClassVar[int] + AGENT_FAILED_ATTEMPTS_NS_FIELD_NUMBER: _ClassVar[int] + WORKERS_ASKED_FIELD_NUMBER: _ClassVar[int] status: JobStatus error: str started_at: int @@ -113,7 +117,11 @@ class JobState(_message.Message): reason: JobStateReason accepted_at: int assigned_at: int - 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] = ..., reason: _Optional[_Union[JobStateReason, str]] = ..., accepted_at: _Optional[int] = ..., assigned_at: _Optional[int] = ...) -> None: ... + attempts: int + first_started_at: int + agent_failed_attempts_ns: int + workers_asked: int + 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] = ..., reason: _Optional[_Union[JobStateReason, str]] = ..., accepted_at: _Optional[int] = ..., assigned_at: _Optional[int] = ..., attempts: _Optional[int] = ..., first_started_at: _Optional[int] = ..., agent_failed_attempts_ns: _Optional[int] = ..., workers_asked: _Optional[int] = ...) -> None: ... class WorkerMessage(_message.Message): __slots__ = ("register", "availability", "update_worker", "update_job", "ping", "simulate_job", "migrate_job") diff --git a/livekit-protocol/livekit/protocol/sip.py b/livekit-protocol/livekit/protocol/sip.py index f5a05818..814b2121 100644 --- a/livekit-protocol/livekit/protocol/sip.py +++ b/livekit-protocol/livekit/protocol/sip.py @@ -30,7 +30,7 @@ from .logger_pb import options as logger_dot_options__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x11livekit_sip.proto\x12\x07livekit\x1a\x19google/protobuf/any.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\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\"\xe9\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\x1d\n\x10inbound_username\x18\x05 \x01(\tB\x03\xc0P\x01\x12\x1d\n\x10inbound_password\x18\x06 \x01(\tB\x03\xc0P\x02\x12\x1e\n\x11outbound_username\x18\x07 \x01(\tB\x03\xc0P\x01\x12\x1e\n\x11outbound_password\x18\x08 \x01(\tB\x03\xc0P\x02\x12\x0c\n\x04name\x18\n \x01(\t\x12\x36\n\x08metadata\x18\x0b \x01(\tB$\xb2P\x1e\xc0P\x01:\x02\x18\x01\"&\n\x08SIPCodec\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04rate\x18\x02 \x01(\r\"\xfd\x01\n\x0eSIPMediaConfig\x12\x1a\n\x12only_listed_codecs\x18\x01 \x01(\x08\x12!\n\x06\x63odecs\x18\x02 \x03(\x0b\x32\x11.livekit.SIPCodec\x12\x34\n\nencryption\x18\x03 \x01(\x0e\x32\x1b.livekit.SIPMediaEncryptionH\x00\x88\x01\x01\x12\x35\n\rmedia_timeout\x18\x04 \x01(\x0b\x32\x19.google.protobuf.DurationH\x01\x88\x01\x01\x12\x1e\n\x16\x64rop_audio_during_dtmf\x18\x05 \x01(\x08\x42\r\n\x0b_encryptionB\x10\n\x0e_media_timeout\"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\"\xa4\x04\n\x0cSIPTrunkInfo\x12#\n\x0csip_trunk_id\x18\x01 \x01(\tB\r\xbaP\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\x1d\n\x10inbound_username\x18\x06 \x01(\tB\x03\xc0P\x01\x12\x1d\n\x10inbound_password\x18\x07 \x01(\tB\x03\xc0P\x02\x12\x1e\n\x11outbound_username\x18\x08 \x01(\tB\x03\xc0P\x01\x12\x1e\n\x11outbound_password\x18\t \x01(\tB\x03\xc0P\x02\x12\x0c\n\x04name\x18\x0b \x01(\t\x12\x36\n\x08metadata\x18\x0c \x01(\tB$\xb2P\x1e\xc0P\x01\"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\"\xb0\x01\n\x1cUpdateSIPInboundTrunkRequest\x12#\n\x0csip_trunk_id\x18\x01 \x01(\tB\r\xbaP\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\"\xf7\x08\n\x13SIPInboundTrunkInfo\x12#\n\x0csip_trunk_id\x18\x01 \x01(\tB\r\xbaP\nsipTrunkID\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x36\n\x08metadata\x18\x03 \x01(\tB$\xb2P\x1e\xc0P\x01\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\x1a\n\rauth_username\x18\x07 \x01(\tB\x03\xc0P\x01\x12\x1a\n\rauth_password\x18\x08 \x01(\tB\x03\xc0P\x02\x12\x12\n\nauth_realm\x18\x13 \x01(\t\x12`\n\x07headers\x18\t \x03(\x0b\x32).livekit.SIPInboundTrunkInfo.HeadersEntryB$\xb2P\x1e\xc0P\x01\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\x36\n\x16ringing_timeout_status\x18\x15 \x01(\x0e\x32\x16.livekit.SIPStatusCode\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\x39\n\x10media_encryption\x18\x10 \x01(\x0e\x32\x1b.livekit.SIPMediaEncryptionB\x02\x18\x01\x12&\n\x05media\x18\x14 \x01(\x0b\x32\x17.livekit.SIPMediaConfig\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\"\x8c\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\x1f\n\rauth_username\x18\x04 \x01(\tB\x03\xc0P\x01H\x00\x88\x01\x01\x12\x1f\n\rauth_password\x18\x05 \x01(\tB\x03\xc0P\x02H\x01\x88\x01\x01\x12\x17\n\nauth_realm\x18\t \x01(\tH\x02\x88\x01\x01\x12\x11\n\x04name\x18\x06 \x01(\tH\x03\x88\x01\x01\x12;\n\x08metadata\x18\x07 \x01(\tB$\xb2P\x1e\xc0P\x01H\x04\x88\x01\x01\x12>\n\x10media_encryption\x18\x08 \x01(\x0e\x32\x1b.livekit.SIPMediaEncryptionB\x02\x18\x01H\x05\x88\x01\x01\x12&\n\x05media\x18\n \x01(\x0b\x32\x17.livekit.SIPMediaConfigB\x10\n\x0e_auth_usernameB\x10\n\x0e_auth_passwordB\r\n\x0b_auth_realmB\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\"\xb3\x01\n\x1dUpdateSIPOutboundTrunkRequest\x12#\n\x0csip_trunk_id\x18\x01 \x01(\tB\r\xbaP\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\"\xe5\x07\n\x14SIPOutboundTrunkInfo\x12#\n\x0csip_trunk_id\x18\x01 \x01(\tB\r\xbaP\nsipTrunkID\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x36\n\x08metadata\x18\x03 \x01(\tB$\xb2P\x1e\xc0P\x01\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\x1a\n\rauth_username\x18\x07 \x01(\tB\x03\xc0P\x01\x12\x1a\n\rauth_password\x18\x08 \x01(\tB\x03\xc0P\x02\x12\x61\n\x07headers\x18\t \x03(\x0b\x32*.livekit.SIPOutboundTrunkInfo.HeadersEntryB$\xb2P\x1e\xc0P\x01\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\x39\n\x10media_encryption\x18\r \x01(\x0e\x32\x1b.livekit.SIPMediaEncryptionB\x02\x18\x01\x12&\n\x05media\x18\x12 \x01(\x0b\x32\x17.livekit.SIPMediaConfig\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\"\xc6\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\x1f\n\rauth_username\x18\x04 \x01(\tB\x03\xc0P\x01H\x03\x88\x01\x01\x12\x1f\n\rauth_password\x18\x05 \x01(\tB\x03\xc0P\x02H\x04\x88\x01\x01\x12\x11\n\x04name\x18\x06 \x01(\tH\x05\x88\x01\x01\x12;\n\x08metadata\x18\x07 \x01(\tB$\xb2P\x1e\xc0P\x01H\x06\x88\x01\x01\x12>\n\x10media_encryption\x18\x08 \x01(\x0e\x32\x1b.livekit.SIPMediaEncryptionB\x02\x18\x01H\x07\x88\x01\x01\x12&\n\x05media\x18\x0b \x01(\x0b\x32\x17.livekit.SIPMediaConfig\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\"@\n\x19GetSIPInboundTrunkRequest\x12#\n\x0csip_trunk_id\x18\x01 \x01(\tB\r\xbaP\nsipTrunkID\"I\n\x1aGetSIPInboundTrunkResponse\x12+\n\x05trunk\x18\x01 \x01(\x0b\x32\x1c.livekit.SIPInboundTrunkInfo\"A\n\x1aGetSIPOutboundTrunkRequest\x12#\n\x0csip_trunk_id\x18\x01 \x01(\tB\r\xbaP\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\r\xbaP\nsipTrunkID\"<\n\x15SIPDispatchRuleDirect\x12\x11\n\troom_name\x18\x01 \x01(\t\x12\x10\n\x03pin\x18\x02 \x01(\tB\x03\xc0P\x02\"Y\n\x19SIPDispatchRuleIndividual\x12\x13\n\x0broom_prefix\x18\x01 \x01(\t\x12\x10\n\x03pin\x18\x02 \x01(\tB\x03\xc0P\x02\x12\x15\n\rno_randomness\x18\x03 \x01(\x08\"Q\n\x15SIPDispatchRuleCallee\x12\x13\n\x0broom_prefix\x18\x01 \x01(\t\x12\x10\n\x03pin\x18\x02 \x01(\tB\x03\xc0P\x02\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\"\x92\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\x38\n\x08metadata\x18\x05 \x01(\tB&\x18\x01\xb2P\x1e\xc0P\x01\x12q\n\nattributes\x18\x07 \x03(\x0b\x32\x35.livekit.CreateSIPDispatchRuleRequest.AttributesEntryB&\x18\x01\xb2P\x1e\xc0P\x01\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\"\xbf\x01\n\x1cUpdateSIPDispatchRuleRequest\x12\x32\n\x14sip_dispatch_rule_id\x18\x01 \x01(\tB\x14\xbaP\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\"\xca\x05\n\x13SIPDispatchRuleInfo\x12\x32\n\x14sip_dispatch_rule_id\x18\x01 \x01(\tB\x14\xbaP\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\x36\n\x08metadata\x18\x06 \x01(\tB$\xb2P\x1e\xc0P\x01\x12\x66\n\nattributes\x18\x08 \x03(\x0b\x32,.livekit.SIPDispatchRuleInfo.AttributesEntryB$\xb2P\x1e\xc0P\x01\x12\x13\n\x0broom_preset\x18\t \x01(\t\x12/\n\x0broom_config\x18\n \x01(\x0b\x32\x1a.livekit.RoomConfiguration\x12&\n\x05media\x18\x10 \x01(\x0b\x32\x17.livekit.SIPMediaConfig\x12\x15\n\rkrisp_enabled\x18\x0b \x01(\x08\x12\x39\n\x10media_encryption\x18\x0c \x01(\x0e\x32\x1b.livekit.SIPMediaEncryptionB\x02\x18\x01\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\"\xe7\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$\xb2P\x1e\xc0P\x01H\x01\x88\x01\x01\x12h\n\nattributes\x18\x05 \x03(\x0b\x32..livekit.SIPDispatchRuleUpdate.AttributesEntryB$\xb2P\x1e\xc0P\x01\x12>\n\x10media_encryption\x18\x06 \x01(\x0e\x32\x1b.livekit.SIPMediaEncryptionB\x02\x18\x01H\x02\x88\x01\x01\x12&\n\x05media\x18\x07 \x01(\x0b\x32\x17.livekit.SIPMediaConfig\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\"R\n\x1c\x44\x65leteSIPDispatchRuleRequest\x12\x32\n\x14sip_dispatch_rule_id\x18\x01 \x01(\tB\x14\xbaP\x11sipDispatchRuleID\"\xd7\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\x1a\n\rauth_username\x18\x03 \x01(\tB\x03\xc0P\x01\x12\x1a\n\rauth_password\x18\x04 \x01(\tB\x03\xc0P\x02\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\"\xa3\x0b\n\x1b\x43reateSIPParticipantRequest\x12#\n\x0csip_trunk_id\x18\x01 \x01(\tB\r\xbaP\nsipTrunkID\x12)\n\x05trunk\x18\x14 \x01(\x0b\x32\x1a.livekit.SIPOutboundConfig\x12\x30\n\x0fsip_request_uri\x18\x18 \x01(\x0b\x32\x17.livekit.SIPRequestDest\x12,\n\rsip_to_header\x18\x19 \x01(\x0b\x32\x15.livekit.SIPNamedDest\x12.\n\x0fsip_from_header\x18\x1a \x01(\x0b\x32\x15.livekit.SIPNamedDest\x12\x13\n\x0bsip_call_to\x18\x02 \x01(\t\x12\x18\n\x10to_user_override\x18\x1b \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$\xb2P\x1e\xc0P\x01\x12\x42\n\x14participant_metadata\x18\x08 \x01(\tB$\xb2P\x1e\xc0P\x01\x12\x85\x01\n\x16participant_attributes\x18\t \x03(\x0b\x32?.livekit.CreateSIPParticipantRequest.ParticipantAttributesEntryB$\xb2P\x1e\xc0P\x01\x12\x0c\n\x04\x64tmf\x18\x05 \x01(\t\x12\x19\n\rplay_ringtone\x18\x06 \x01(\x08\x42\x02\x18\x01\x12\x19\n\rplay_dialtone\x18\r \x01(\x08\x42\x02\x18\x01\x12&\n\x08\x64ialtone\x18\x1c \x01(\x0e\x32\x14.livekit.SIPDialtone\x12\x19\n\x11hide_phone_number\x18\n \x01(\x08\x12h\n\x07headers\x18\x10 \x03(\x0b\x32\x31.livekit.CreateSIPParticipantRequest.HeadersEntryB$\xb2P\x1e\xc0P\x01\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\x39\n\x10media_encryption\x18\x12 \x01(\x0e\x32\x1b.livekit.SIPMediaEncryptionB\x02\x18\x01\x12&\n\x05media\x18\x17 \x01(\x0b\x32\x17.livekit.SIPMediaConfig\x12\x1b\n\x13wait_until_answered\x18\x13 \x01(\x08\x12?\n\x0c\x64isplay_name\x18\x15 \x01(\tB$\xb2P\x1e\xc0P\x01H\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\"\x92\x01\n\x12SIPParticipantInfo\x12(\n\x0eparticipant_id\x18\x01 \x01(\tB\x10\xbaP\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\x0c\xbaP\tsipCallID\"\xf8\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\x19\n\rplay_dialtone\x18\x04 \x01(\x08\x42\x02\x18\x01\x12&\n\x08\x64ialtone\x18\x07 \x01(\x0e\x32\x14.livekit.SIPDialtone\x12j\n\x07headers\x18\x05 \x03(\x0b\x32\x33.livekit.TransferSIPParticipantRequest.HeadersEntryB$\xb2P\x1e\xc0P\x01\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\"\xc4\x01\n\x1eTransferSIPParticipantResponse\x12\"\n\x0btransfer_id\x18\x01 \x01(\tB\r\xbaP\ntransferID\x12*\n\x06status\x18\x02 \x01(\x0e\x32\x1a.livekit.SIPTransferStatus\x12*\n\x06reason\x18\x03 \x01(\x0e\x32\x1a.livekit.SIPTransferReason\x12&\n\nsip_status\x18\x04 \x01(\x0b\x32\x12.livekit.SIPStatus\"\x8a\x01\n\x10SIPTransferError\x12\"\n\x0btransfer_id\x18\x01 \x01(\tB\r\xbaP\ntransferID\x12*\n\x06reason\x18\x02 \x01(\x0e\x32\x1a.livekit.SIPTransferReason\x12&\n\nsip_status\x18\x03 \x01(\x0b\x32\x12.livekit.SIPStatus\"\x99\x08\n\x0bSIPCallInfo\x12\x1a\n\x07\x63\x61ll_id\x18\x01 \x01(\tB\t\xbaP\x06\x63\x61llID\x12\x1c\n\x08trunk_id\x18\x02 \x01(\tB\n\xbaP\x07trunkID\x12+\n\x10\x64ispatch_rule_id\x18\x10 \x01(\tB\x11\xbaP\x0e\x64ispatchRuleID\x12\x0e\n\x06region\x18\x11 \x01(\t\x12\x11\n\troom_name\x18\x03 \x01(\t\x12\x1a\n\x07room_id\x18\x04 \x01(\tB\t\xbaP\x06roomID\x12\x1c\n\x14participant_identity\x18\x05 \x01(\t\x12u\n\x16participant_attributes\x18\x12 \x03(\x0b\x32/.livekit.SIPCallInfo.ParticipantAttributesEntryB$\xb2P\x1e\xc0P\x01\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\x0c\xbaP\tsipCallID\x1a<\n\x1aParticipantAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xcc\x02\n\x0fSIPTransferInfo\x12\"\n\x0btransfer_id\x18\x01 \x01(\tB\r\xbaP\ntransferID\x12\x1a\n\x07\x63\x61ll_id\x18\x02 \x01(\tB\t\xbaP\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\x12*\n\x06reason\x18\t \x01(\x0e\x32\x1a.livekit.SIPTransferReason\"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\"I\n\x0eSIPRequestDest\x12\r\n\x03raw\x18\x01 \x01(\tH\x00\x12!\n\x06values\x18\x02 \x01(\x0b\x32\x0f.livekit.SIPUriH\x00\x42\x05\n\x03uri\"]\n\x0cSIPNamedDest\x12\x14\n\x0c\x64isplay_name\x18\x03 \x01(\t\x12\r\n\x03raw\x18\x01 \x01(\tH\x00\x12!\n\x06values\x18\x02 \x01(\x0b\x32\x0f.livekit.SIPUriH\x00\x42\x05\n\x03uri\"<\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*\xaa\x01\n\x0bSIPDialtone\x12\x19\n\x15SIP_DIALTONE_DISABLED\x10\x00\x12\x15\n\x11SIP_DIALTONE_ETSI\x10\x01\x12\x15\n\x11SIP_DIALTONE_AUTO\x10\x02\x12\x13\n\x0fSIP_DIALTONE_US\x10\x03\x12\x13\n\x0fSIP_DIALTONE_UK\x10\x04\x12\x13\n\x0fSIP_DIALTONE_JP\x10\x05\x12\x13\n\x0fSIP_DIALTONE_AU\x10\x06*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*\xad\x01\n\x11SIPTransferReason\x12\x13\n\x0fSTR_UNSPECIFIED\x10\x00\x12\x11\n\rSTR_COMPLETED\x10\x01\x12\x12\n\x0eSTR_CALL_ENDED\x10\x02\x12\x10\n\x0cSTR_REJECTED\x10\x03\x12\x17\n\x13STR_RINGING_TIMEOUT\x10\x04\x12\x1f\n\x1bSTR_SUBSCRIPTION_TERMINATED\x10\x05\x12\x10\n\x0cSTR_CANCELED\x10\x06*)\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\xe8\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\x12i\n\x16TransferSIPParticipant\x12&.livekit.TransferSIPParticipantRequest\x1a\'.livekit.TransferSIPParticipantResponseBFZ#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\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\"\xe9\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\x1d\n\x10inbound_username\x18\x05 \x01(\tB\x03\xc0P\x01\x12\x1d\n\x10inbound_password\x18\x06 \x01(\tB\x03\xc0P\x02\x12\x1e\n\x11outbound_username\x18\x07 \x01(\tB\x03\xc0P\x01\x12\x1e\n\x11outbound_password\x18\x08 \x01(\tB\x03\xc0P\x02\x12\x0c\n\x04name\x18\n \x01(\t\x12\x36\n\x08metadata\x18\x0b \x01(\tB$\xb2P\x1e\xc0P\x01:\x02\x18\x01\"&\n\x08SIPCodec\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04rate\x18\x02 \x01(\r\"\xfd\x01\n\x0eSIPMediaConfig\x12\x1a\n\x12only_listed_codecs\x18\x01 \x01(\x08\x12!\n\x06\x63odecs\x18\x02 \x03(\x0b\x32\x11.livekit.SIPCodec\x12\x34\n\nencryption\x18\x03 \x01(\x0e\x32\x1b.livekit.SIPMediaEncryptionH\x00\x88\x01\x01\x12\x35\n\rmedia_timeout\x18\x04 \x01(\x0b\x32\x19.google.protobuf.DurationH\x01\x88\x01\x01\x12\x1e\n\x16\x64rop_audio_during_dtmf\x18\x05 \x01(\x08\x42\r\n\x0b_encryptionB\x10\n\x0e_media_timeout\"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\"\xa4\x04\n\x0cSIPTrunkInfo\x12#\n\x0csip_trunk_id\x18\x01 \x01(\tB\r\xbaP\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\x1d\n\x10inbound_username\x18\x06 \x01(\tB\x03\xc0P\x01\x12\x1d\n\x10inbound_password\x18\x07 \x01(\tB\x03\xc0P\x02\x12\x1e\n\x11outbound_username\x18\x08 \x01(\tB\x03\xc0P\x01\x12\x1e\n\x11outbound_password\x18\t \x01(\tB\x03\xc0P\x02\x12\x0c\n\x04name\x18\x0b \x01(\t\x12\x36\n\x08metadata\x18\x0c \x01(\tB$\xb2P\x1e\xc0P\x01\"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\"\xb0\x01\n\x1cUpdateSIPInboundTrunkRequest\x12#\n\x0csip_trunk_id\x18\x01 \x01(\tB\r\xbaP\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\"\xf7\x08\n\x13SIPInboundTrunkInfo\x12#\n\x0csip_trunk_id\x18\x01 \x01(\tB\r\xbaP\nsipTrunkID\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x36\n\x08metadata\x18\x03 \x01(\tB$\xb2P\x1e\xc0P\x01\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\x1a\n\rauth_username\x18\x07 \x01(\tB\x03\xc0P\x01\x12\x1a\n\rauth_password\x18\x08 \x01(\tB\x03\xc0P\x02\x12\x12\n\nauth_realm\x18\x13 \x01(\t\x12`\n\x07headers\x18\t \x03(\x0b\x32).livekit.SIPInboundTrunkInfo.HeadersEntryB$\xb2P\x1e\xc0P\x01\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\x36\n\x16ringing_timeout_status\x18\x15 \x01(\x0e\x32\x16.livekit.SIPStatusCode\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\x39\n\x10media_encryption\x18\x10 \x01(\x0e\x32\x1b.livekit.SIPMediaEncryptionB\x02\x18\x01\x12&\n\x05media\x18\x14 \x01(\x0b\x32\x17.livekit.SIPMediaConfig\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\"\x8c\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\x1f\n\rauth_username\x18\x04 \x01(\tB\x03\xc0P\x01H\x00\x88\x01\x01\x12\x1f\n\rauth_password\x18\x05 \x01(\tB\x03\xc0P\x02H\x01\x88\x01\x01\x12\x17\n\nauth_realm\x18\t \x01(\tH\x02\x88\x01\x01\x12\x11\n\x04name\x18\x06 \x01(\tH\x03\x88\x01\x01\x12;\n\x08metadata\x18\x07 \x01(\tB$\xb2P\x1e\xc0P\x01H\x04\x88\x01\x01\x12>\n\x10media_encryption\x18\x08 \x01(\x0e\x32\x1b.livekit.SIPMediaEncryptionB\x02\x18\x01H\x05\x88\x01\x01\x12&\n\x05media\x18\n \x01(\x0b\x32\x17.livekit.SIPMediaConfigB\x10\n\x0e_auth_usernameB\x10\n\x0e_auth_passwordB\r\n\x0b_auth_realmB\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\"\xb3\x01\n\x1dUpdateSIPOutboundTrunkRequest\x12#\n\x0csip_trunk_id\x18\x01 \x01(\tB\r\xbaP\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\"\xe5\x07\n\x14SIPOutboundTrunkInfo\x12#\n\x0csip_trunk_id\x18\x01 \x01(\tB\r\xbaP\nsipTrunkID\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x36\n\x08metadata\x18\x03 \x01(\tB$\xb2P\x1e\xc0P\x01\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\x1a\n\rauth_username\x18\x07 \x01(\tB\x03\xc0P\x01\x12\x1a\n\rauth_password\x18\x08 \x01(\tB\x03\xc0P\x02\x12\x61\n\x07headers\x18\t \x03(\x0b\x32*.livekit.SIPOutboundTrunkInfo.HeadersEntryB$\xb2P\x1e\xc0P\x01\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\x39\n\x10media_encryption\x18\r \x01(\x0e\x32\x1b.livekit.SIPMediaEncryptionB\x02\x18\x01\x12&\n\x05media\x18\x12 \x01(\x0b\x32\x17.livekit.SIPMediaConfig\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\"\xc6\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\x1f\n\rauth_username\x18\x04 \x01(\tB\x03\xc0P\x01H\x03\x88\x01\x01\x12\x1f\n\rauth_password\x18\x05 \x01(\tB\x03\xc0P\x02H\x04\x88\x01\x01\x12\x11\n\x04name\x18\x06 \x01(\tH\x05\x88\x01\x01\x12;\n\x08metadata\x18\x07 \x01(\tB$\xb2P\x1e\xc0P\x01H\x06\x88\x01\x01\x12>\n\x10media_encryption\x18\x08 \x01(\x0e\x32\x1b.livekit.SIPMediaEncryptionB\x02\x18\x01H\x07\x88\x01\x01\x12&\n\x05media\x18\x0b \x01(\x0b\x32\x17.livekit.SIPMediaConfig\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\"@\n\x19GetSIPInboundTrunkRequest\x12#\n\x0csip_trunk_id\x18\x01 \x01(\tB\r\xbaP\nsipTrunkID\"I\n\x1aGetSIPInboundTrunkResponse\x12+\n\x05trunk\x18\x01 \x01(\x0b\x32\x1c.livekit.SIPInboundTrunkInfo\"A\n\x1aGetSIPOutboundTrunkRequest\x12#\n\x0csip_trunk_id\x18\x01 \x01(\tB\r\xbaP\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\r\xbaP\nsipTrunkID\"<\n\x15SIPDispatchRuleDirect\x12\x11\n\troom_name\x18\x01 \x01(\t\x12\x10\n\x03pin\x18\x02 \x01(\tB\x03\xc0P\x02\"Y\n\x19SIPDispatchRuleIndividual\x12\x13\n\x0broom_prefix\x18\x01 \x01(\t\x12\x10\n\x03pin\x18\x02 \x01(\tB\x03\xc0P\x02\x12\x15\n\rno_randomness\x18\x03 \x01(\x08\"Q\n\x15SIPDispatchRuleCallee\x12\x13\n\x0broom_prefix\x18\x01 \x01(\t\x12\x10\n\x03pin\x18\x02 \x01(\tB\x03\xc0P\x02\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\"\x92\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\x38\n\x08metadata\x18\x05 \x01(\tB&\x18\x01\xb2P\x1e\xc0P\x01\x12q\n\nattributes\x18\x07 \x03(\x0b\x32\x35.livekit.CreateSIPDispatchRuleRequest.AttributesEntryB&\x18\x01\xb2P\x1e\xc0P\x01\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\"\xbf\x01\n\x1cUpdateSIPDispatchRuleRequest\x12\x32\n\x14sip_dispatch_rule_id\x18\x01 \x01(\tB\x14\xbaP\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\"\xca\x05\n\x13SIPDispatchRuleInfo\x12\x32\n\x14sip_dispatch_rule_id\x18\x01 \x01(\tB\x14\xbaP\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\x36\n\x08metadata\x18\x06 \x01(\tB$\xb2P\x1e\xc0P\x01\x12\x66\n\nattributes\x18\x08 \x03(\x0b\x32,.livekit.SIPDispatchRuleInfo.AttributesEntryB$\xb2P\x1e\xc0P\x01\x12\x13\n\x0broom_preset\x18\t \x01(\t\x12/\n\x0broom_config\x18\n \x01(\x0b\x32\x1a.livekit.RoomConfiguration\x12&\n\x05media\x18\x10 \x01(\x0b\x32\x17.livekit.SIPMediaConfig\x12\x15\n\rkrisp_enabled\x18\x0b \x01(\x08\x12\x39\n\x10media_encryption\x18\x0c \x01(\x0e\x32\x1b.livekit.SIPMediaEncryptionB\x02\x18\x01\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\"\xe7\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$\xb2P\x1e\xc0P\x01H\x01\x88\x01\x01\x12h\n\nattributes\x18\x05 \x03(\x0b\x32..livekit.SIPDispatchRuleUpdate.AttributesEntryB$\xb2P\x1e\xc0P\x01\x12>\n\x10media_encryption\x18\x06 \x01(\x0e\x32\x1b.livekit.SIPMediaEncryptionB\x02\x18\x01H\x02\x88\x01\x01\x12&\n\x05media\x18\x07 \x01(\x0b\x32\x17.livekit.SIPMediaConfig\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\"R\n\x1c\x44\x65leteSIPDispatchRuleRequest\x12\x32\n\x14sip_dispatch_rule_id\x18\x01 \x01(\tB\x14\xbaP\x11sipDispatchRuleID\"\xd7\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\x1a\n\rauth_username\x18\x03 \x01(\tB\x03\xc0P\x01\x12\x1a\n\rauth_password\x18\x04 \x01(\tB\x03\xc0P\x02\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\"\xd3\x0b\n\x1b\x43reateSIPParticipantRequest\x12#\n\x0csip_trunk_id\x18\x01 \x01(\tB\r\xbaP\nsipTrunkID\x12)\n\x05trunk\x18\x14 \x01(\x0b\x32\x1a.livekit.SIPOutboundConfig\x12\x30\n\x0fsip_request_uri\x18\x18 \x01(\x0b\x32\x17.livekit.SIPRequestDest\x12,\n\rsip_to_header\x18\x19 \x01(\x0b\x32\x15.livekit.SIPNamedDest\x12.\n\x0fsip_from_header\x18\x1a \x01(\x0b\x32\x15.livekit.SIPNamedDest\x12\x13\n\x0bsip_call_to\x18\x02 \x01(\t\x12\x18\n\x10to_user_override\x18\x1b \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$\xb2P\x1e\xc0P\x01\x12\x42\n\x14participant_metadata\x18\x08 \x01(\tB$\xb2P\x1e\xc0P\x01\x12\x85\x01\n\x16participant_attributes\x18\t \x03(\x0b\x32?.livekit.CreateSIPParticipantRequest.ParticipantAttributesEntryB$\xb2P\x1e\xc0P\x01\x12\x0c\n\x04\x64tmf\x18\x05 \x01(\t\x12\x19\n\rplay_ringtone\x18\x06 \x01(\x08\x42\x02\x18\x01\x12\x19\n\rplay_dialtone\x18\r \x01(\x08\x42\x02\x18\x01\x12&\n\x08\x64ialtone\x18\x1c \x01(\x0e\x32\x14.livekit.SIPDialtone\x12\x19\n\x11hide_phone_number\x18\n \x01(\x08\x12h\n\x07headers\x18\x10 \x03(\x0b\x32\x31.livekit.CreateSIPParticipantRequest.HeadersEntryB$\xb2P\x1e\xc0P\x01\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\x39\n\x10media_encryption\x18\x12 \x01(\x0e\x32\x1b.livekit.SIPMediaEncryptionB\x02\x18\x01\x12&\n\x05media\x18\x17 \x01(\x0b\x32\x17.livekit.SIPMediaConfig\x12\x1b\n\x13wait_until_answered\x18\x13 \x01(\x08\x12?\n\x0c\x64isplay_name\x18\x15 \x01(\tB$\xb2P\x1e\xc0P\x01H\x00\x88\x01\x01\x12.\n\x0b\x64\x65stination\x18\x16 \x01(\x0b\x32\x14.livekit.DestinationH\x01\x88\x01\x01\x12.\n\x12sip_source_call_id\x18\x1d \x01(\tB\x12\xbaP\x0fsipSourceCallID\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\"\x92\x01\n\x12SIPParticipantInfo\x12(\n\x0eparticipant_id\x18\x01 \x01(\tB\x10\xbaP\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\x0c\xbaP\tsipCallID\"\xf8\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\x19\n\rplay_dialtone\x18\x04 \x01(\x08\x42\x02\x18\x01\x12&\n\x08\x64ialtone\x18\x07 \x01(\x0e\x32\x14.livekit.SIPDialtone\x12j\n\x07headers\x18\x05 \x03(\x0b\x32\x33.livekit.TransferSIPParticipantRequest.HeadersEntryB$\xb2P\x1e\xc0P\x01\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\"\xc4\x01\n\x1eTransferSIPParticipantResponse\x12\"\n\x0btransfer_id\x18\x01 \x01(\tB\r\xbaP\ntransferID\x12*\n\x06status\x18\x02 \x01(\x0e\x32\x1a.livekit.SIPTransferStatus\x12*\n\x06reason\x18\x03 \x01(\x0e\x32\x1a.livekit.SIPTransferReason\x12&\n\nsip_status\x18\x04 \x01(\x0b\x32\x12.livekit.SIPStatus\"\x8a\x01\n\x10SIPTransferError\x12\"\n\x0btransfer_id\x18\x01 \x01(\tB\r\xbaP\ntransferID\x12*\n\x06reason\x18\x02 \x01(\x0e\x32\x1a.livekit.SIPTransferReason\x12&\n\nsip_status\x18\x03 \x01(\x0b\x32\x12.livekit.SIPStatus\"\x99\x08\n\x0bSIPCallInfo\x12\x1a\n\x07\x63\x61ll_id\x18\x01 \x01(\tB\t\xbaP\x06\x63\x61llID\x12\x1c\n\x08trunk_id\x18\x02 \x01(\tB\n\xbaP\x07trunkID\x12+\n\x10\x64ispatch_rule_id\x18\x10 \x01(\tB\x11\xbaP\x0e\x64ispatchRuleID\x12\x0e\n\x06region\x18\x11 \x01(\t\x12\x11\n\troom_name\x18\x03 \x01(\t\x12\x1a\n\x07room_id\x18\x04 \x01(\tB\t\xbaP\x06roomID\x12\x1c\n\x14participant_identity\x18\x05 \x01(\t\x12u\n\x16participant_attributes\x18\x12 \x03(\x0b\x32/.livekit.SIPCallInfo.ParticipantAttributesEntryB$\xb2P\x1e\xc0P\x01\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\x0c\xbaP\tsipCallID\x1a<\n\x1aParticipantAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xcc\x02\n\x0fSIPTransferInfo\x12\"\n\x0btransfer_id\x18\x01 \x01(\tB\r\xbaP\ntransferID\x12\x1a\n\x07\x63\x61ll_id\x18\x02 \x01(\tB\t\xbaP\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\x12*\n\x06reason\x18\t \x01(\x0e\x32\x1a.livekit.SIPTransferReason\"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\"I\n\x0eSIPRequestDest\x12\r\n\x03raw\x18\x01 \x01(\tH\x00\x12!\n\x06values\x18\x02 \x01(\x0b\x32\x0f.livekit.SIPUriH\x00\x42\x05\n\x03uri\"]\n\x0cSIPNamedDest\x12\x14\n\x0c\x64isplay_name\x18\x03 \x01(\t\x12\r\n\x03raw\x18\x01 \x01(\tH\x00\x12!\n\x06values\x18\x02 \x01(\x0b\x32\x0f.livekit.SIPUriH\x00\x42\x05\n\x03uri\"<\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*\xaa\x01\n\x0bSIPDialtone\x12\x19\n\x15SIP_DIALTONE_DISABLED\x10\x00\x12\x15\n\x11SIP_DIALTONE_ETSI\x10\x01\x12\x15\n\x11SIP_DIALTONE_AUTO\x10\x02\x12\x13\n\x0fSIP_DIALTONE_US\x10\x03\x12\x13\n\x0fSIP_DIALTONE_UK\x10\x04\x12\x13\n\x0fSIP_DIALTONE_JP\x10\x05\x12\x13\n\x0fSIP_DIALTONE_AU\x10\x06*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*\xad\x01\n\x11SIPTransferReason\x12\x13\n\x0fSTR_UNSPECIFIED\x10\x00\x12\x11\n\rSTR_COMPLETED\x10\x01\x12\x12\n\x0eSTR_CALL_ENDED\x10\x02\x12\x10\n\x0cSTR_REJECTED\x10\x03\x12\x17\n\x13STR_RINGING_TIMEOUT\x10\x04\x12\x1f\n\x1bSTR_SUBSCRIPTION_TERMINATED\x10\x05\x12\x10\n\x0cSTR_CANCELED\x10\x06*)\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\xe8\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\x12i\n\x16TransferSIPParticipant\x12&.livekit.TransferSIPParticipantRequest\x1a\'.livekit.TransferSIPParticipantResponseBFZ#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -212,6 +212,8 @@ _globals['_CREATESIPPARTICIPANTREQUEST'].fields_by_name['media_encryption']._serialized_options = b'\030\001' _globals['_CREATESIPPARTICIPANTREQUEST'].fields_by_name['display_name']._loaded_options = None _globals['_CREATESIPPARTICIPANTREQUEST'].fields_by_name['display_name']._serialized_options = b'\262P\036\300P\001' + _globals['_CREATESIPPARTICIPANTREQUEST'].fields_by_name['sip_source_call_id']._loaded_options = None + _globals['_CREATESIPPARTICIPANTREQUEST'].fields_by_name['sip_source_call_id']._serialized_options = b'\272P\017sipSourceCallID' _globals['_SIPPARTICIPANTINFO'].fields_by_name['participant_id']._loaded_options = None _globals['_SIPPARTICIPANTINFO'].fields_by_name['participant_id']._serialized_options = b'\272P\rparticipantID' _globals['_SIPPARTICIPANTINFO'].fields_by_name['sip_call_id']._loaded_options = None @@ -252,28 +254,28 @@ _globals['_SIPTRANSFERINFO'].fields_by_name['call_id']._serialized_options = b'\272P\006callID' _globals['_SIP'].methods_by_name['ListSIPTrunk']._loaded_options = None _globals['_SIP'].methods_by_name['ListSIPTrunk']._serialized_options = b'\210\002\001' - _globals['_SIPSTATUSCODE']._serialized_start=13359 - _globals['_SIPSTATUSCODE']._serialized_end=16013 - _globals['_SIPTRANSPORT']._serialized_start=16015 - _globals['_SIPTRANSPORT']._serialized_end=16122 - _globals['_SIPHEADEROPTIONS']._serialized_start=16124 - _globals['_SIPHEADEROPTIONS']._serialized_end=16202 - _globals['_SIPMEDIAENCRYPTION']._serialized_start=16204 - _globals['_SIPMEDIAENCRYPTION']._serialized_end=16315 - _globals['_SIPDIALTONE']._serialized_start=16318 - _globals['_SIPDIALTONE']._serialized_end=16488 - _globals['_PROVIDERTYPE']._serialized_start=16490 - _globals['_PROVIDERTYPE']._serialized_end=16587 - _globals['_SIPCALLSTATUS']._serialized_start=16589 - _globals['_SIPCALLSTATUS']._serialized_end=16708 - _globals['_SIPTRANSFERSTATUS']._serialized_start=16710 - _globals['_SIPTRANSFERSTATUS']._serialized_end=16809 - _globals['_SIPTRANSFERREASON']._serialized_start=16812 - _globals['_SIPTRANSFERREASON']._serialized_end=16985 - _globals['_SIPFEATURE']._serialized_start=16987 - _globals['_SIPFEATURE']._serialized_end=17028 - _globals['_SIPCALLDIRECTION']._serialized_start=17030 - _globals['_SIPCALLDIRECTION']._serialized_end=17100 + _globals['_SIPSTATUSCODE']._serialized_start=13407 + _globals['_SIPSTATUSCODE']._serialized_end=16061 + _globals['_SIPTRANSPORT']._serialized_start=16063 + _globals['_SIPTRANSPORT']._serialized_end=16170 + _globals['_SIPHEADEROPTIONS']._serialized_start=16172 + _globals['_SIPHEADEROPTIONS']._serialized_end=16250 + _globals['_SIPMEDIAENCRYPTION']._serialized_start=16252 + _globals['_SIPMEDIAENCRYPTION']._serialized_end=16363 + _globals['_SIPDIALTONE']._serialized_start=16366 + _globals['_SIPDIALTONE']._serialized_end=16536 + _globals['_PROVIDERTYPE']._serialized_start=16538 + _globals['_PROVIDERTYPE']._serialized_end=16635 + _globals['_SIPCALLSTATUS']._serialized_start=16637 + _globals['_SIPCALLSTATUS']._serialized_end=16756 + _globals['_SIPTRANSFERSTATUS']._serialized_start=16758 + _globals['_SIPTRANSFERSTATUS']._serialized_end=16857 + _globals['_SIPTRANSFERREASON']._serialized_start=16860 + _globals['_SIPTRANSFERREASON']._serialized_end=17033 + _globals['_SIPFEATURE']._serialized_start=17035 + _globals['_SIPFEATURE']._serialized_end=17076 + _globals['_SIPCALLDIRECTION']._serialized_start=17078 + _globals['_SIPCALLDIRECTION']._serialized_end=17148 _globals['_SIPSTATUS']._serialized_start=186 _globals['_SIPSTATUS']._serialized_end=251 _globals['_CREATESIPTRUNKREQUEST']._serialized_start=254 @@ -373,35 +375,35 @@ _globals['_SIPOUTBOUNDCONFIG_ATTRIBUTESTOHEADERSENTRY']._serialized_start=2911 _globals['_SIPOUTBOUNDCONFIG_ATTRIBUTESTOHEADERSENTRY']._serialized_end=2969 _globals['_CREATESIPPARTICIPANTREQUEST']._serialized_start=9320 - _globals['_CREATESIPPARTICIPANTREQUEST']._serialized_end=10763 - _globals['_CREATESIPPARTICIPANTREQUEST_PARTICIPANTATTRIBUTESENTRY']._serialized_start=10622 - _globals['_CREATESIPPARTICIPANTREQUEST_PARTICIPANTATTRIBUTESENTRY']._serialized_end=10682 + _globals['_CREATESIPPARTICIPANTREQUEST']._serialized_end=10811 + _globals['_CREATESIPPARTICIPANTREQUEST_PARTICIPANTATTRIBUTESENTRY']._serialized_start=10670 + _globals['_CREATESIPPARTICIPANTREQUEST_PARTICIPANTATTRIBUTESENTRY']._serialized_end=10730 _globals['_CREATESIPPARTICIPANTREQUEST_HEADERSENTRY']._serialized_start=2803 _globals['_CREATESIPPARTICIPANTREQUEST_HEADERSENTRY']._serialized_end=2849 - _globals['_SIPPARTICIPANTINFO']._serialized_start=10766 - _globals['_SIPPARTICIPANTINFO']._serialized_end=10912 - _globals['_TRANSFERSIPPARTICIPANTREQUEST']._serialized_start=10915 - _globals['_TRANSFERSIPPARTICIPANTREQUEST']._serialized_end=11291 + _globals['_SIPPARTICIPANTINFO']._serialized_start=10814 + _globals['_SIPPARTICIPANTINFO']._serialized_end=10960 + _globals['_TRANSFERSIPPARTICIPANTREQUEST']._serialized_start=10963 + _globals['_TRANSFERSIPPARTICIPANTREQUEST']._serialized_end=11339 _globals['_TRANSFERSIPPARTICIPANTREQUEST_HEADERSENTRY']._serialized_start=2803 _globals['_TRANSFERSIPPARTICIPANTREQUEST_HEADERSENTRY']._serialized_end=2849 - _globals['_TRANSFERSIPPARTICIPANTRESPONSE']._serialized_start=11294 - _globals['_TRANSFERSIPPARTICIPANTRESPONSE']._serialized_end=11490 - _globals['_SIPTRANSFERERROR']._serialized_start=11493 - _globals['_SIPTRANSFERERROR']._serialized_end=11631 - _globals['_SIPCALLINFO']._serialized_start=11634 - _globals['_SIPCALLINFO']._serialized_end=12683 - _globals['_SIPCALLINFO_PARTICIPANTATTRIBUTESENTRY']._serialized_start=10622 - _globals['_SIPCALLINFO_PARTICIPANTATTRIBUTESENTRY']._serialized_end=10682 - _globals['_SIPTRANSFERINFO']._serialized_start=12686 - _globals['_SIPTRANSFERINFO']._serialized_end=13018 - _globals['_SIPURI']._serialized_start=13020 - _globals['_SIPURI']._serialized_end=13124 - _globals['_SIPREQUESTDEST']._serialized_start=13126 - _globals['_SIPREQUESTDEST']._serialized_end=13199 - _globals['_SIPNAMEDDEST']._serialized_start=13201 - _globals['_SIPNAMEDDEST']._serialized_end=13294 - _globals['_DESTINATION']._serialized_start=13296 - _globals['_DESTINATION']._serialized_end=13356 - _globals['_SIP']._serialized_start=17103 - _globals['_SIP']._serialized_end=18615 + _globals['_TRANSFERSIPPARTICIPANTRESPONSE']._serialized_start=11342 + _globals['_TRANSFERSIPPARTICIPANTRESPONSE']._serialized_end=11538 + _globals['_SIPTRANSFERERROR']._serialized_start=11541 + _globals['_SIPTRANSFERERROR']._serialized_end=11679 + _globals['_SIPCALLINFO']._serialized_start=11682 + _globals['_SIPCALLINFO']._serialized_end=12731 + _globals['_SIPCALLINFO_PARTICIPANTATTRIBUTESENTRY']._serialized_start=10670 + _globals['_SIPCALLINFO_PARTICIPANTATTRIBUTESENTRY']._serialized_end=10730 + _globals['_SIPTRANSFERINFO']._serialized_start=12734 + _globals['_SIPTRANSFERINFO']._serialized_end=13066 + _globals['_SIPURI']._serialized_start=13068 + _globals['_SIPURI']._serialized_end=13172 + _globals['_SIPREQUESTDEST']._serialized_start=13174 + _globals['_SIPREQUESTDEST']._serialized_end=13247 + _globals['_SIPNAMEDDEST']._serialized_start=13249 + _globals['_SIPNAMEDDEST']._serialized_end=13342 + _globals['_DESTINATION']._serialized_start=13344 + _globals['_DESTINATION']._serialized_end=13404 + _globals['_SIP']._serialized_start=17151 + _globals['_SIP']._serialized_end=18663 # @@protoc_insertion_point(module_scope) diff --git a/livekit-protocol/livekit/protocol/sip.pyi b/livekit-protocol/livekit/protocol/sip.pyi index d4b603f5..7dd661ec 100644 --- a/livekit-protocol/livekit/protocol/sip.pyi +++ b/livekit-protocol/livekit/protocol/sip.pyi @@ -873,7 +873,7 @@ class SIPOutboundConfig(_message.Message): 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_request_uri", "sip_to_header", "sip_from_header", "sip_call_to", "to_user_override", "sip_number", "room_name", "participant_identity", "participant_name", "participant_metadata", "participant_attributes", "dtmf", "play_ringtone", "play_dialtone", "dialtone", "hide_phone_number", "headers", "include_headers", "ringing_timeout", "max_call_duration", "krisp_enabled", "media_encryption", "media", "wait_until_answered", "display_name", "destination") + __slots__ = ("sip_trunk_id", "trunk", "sip_request_uri", "sip_to_header", "sip_from_header", "sip_call_to", "to_user_override", "sip_number", "room_name", "participant_identity", "participant_name", "participant_metadata", "participant_attributes", "dtmf", "play_ringtone", "play_dialtone", "dialtone", "hide_phone_number", "headers", "include_headers", "ringing_timeout", "max_call_duration", "krisp_enabled", "media_encryption", "media", "wait_until_answered", "display_name", "destination", "sip_source_call_id") class ParticipantAttributesEntry(_message.Message): __slots__ = ("key", "value") KEY_FIELD_NUMBER: _ClassVar[int] @@ -916,6 +916,7 @@ class CreateSIPParticipantRequest(_message.Message): WAIT_UNTIL_ANSWERED_FIELD_NUMBER: _ClassVar[int] DISPLAY_NAME_FIELD_NUMBER: _ClassVar[int] DESTINATION_FIELD_NUMBER: _ClassVar[int] + SIP_SOURCE_CALL_ID_FIELD_NUMBER: _ClassVar[int] sip_trunk_id: str trunk: SIPOutboundConfig sip_request_uri: SIPRequestDest @@ -944,7 +945,8 @@ class CreateSIPParticipantRequest(_message.Message): wait_until_answered: bool display_name: str destination: Destination - def __init__(self, sip_trunk_id: _Optional[str] = ..., trunk: _Optional[_Union[SIPOutboundConfig, _Mapping]] = ..., sip_request_uri: _Optional[_Union[SIPRequestDest, _Mapping]] = ..., sip_to_header: _Optional[_Union[SIPNamedDest, _Mapping]] = ..., sip_from_header: _Optional[_Union[SIPNamedDest, _Mapping]] = ..., sip_call_to: _Optional[str] = ..., to_user_override: _Optional[str] = ..., sip_number: _Optional[str] = ..., room_name: _Optional[str] = ..., participant_identity: _Optional[str] = ..., participant_name: _Optional[str] = ..., participant_metadata: _Optional[str] = ..., participant_attributes: _Optional[_Mapping[str, str]] = ..., dtmf: _Optional[str] = ..., play_ringtone: bool = ..., play_dialtone: bool = ..., dialtone: _Optional[_Union[SIPDialtone, str]] = ..., hide_phone_number: bool = ..., 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]] = ..., media: _Optional[_Union[SIPMediaConfig, _Mapping]] = ..., wait_until_answered: bool = ..., display_name: _Optional[str] = ..., destination: _Optional[_Union[Destination, _Mapping]] = ...) -> None: ... + sip_source_call_id: str + def __init__(self, sip_trunk_id: _Optional[str] = ..., trunk: _Optional[_Union[SIPOutboundConfig, _Mapping]] = ..., sip_request_uri: _Optional[_Union[SIPRequestDest, _Mapping]] = ..., sip_to_header: _Optional[_Union[SIPNamedDest, _Mapping]] = ..., sip_from_header: _Optional[_Union[SIPNamedDest, _Mapping]] = ..., sip_call_to: _Optional[str] = ..., to_user_override: _Optional[str] = ..., sip_number: _Optional[str] = ..., room_name: _Optional[str] = ..., participant_identity: _Optional[str] = ..., participant_name: _Optional[str] = ..., participant_metadata: _Optional[str] = ..., participant_attributes: _Optional[_Mapping[str, str]] = ..., dtmf: _Optional[str] = ..., play_ringtone: bool = ..., play_dialtone: bool = ..., dialtone: _Optional[_Union[SIPDialtone, str]] = ..., hide_phone_number: bool = ..., 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]] = ..., media: _Optional[_Union[SIPMediaConfig, _Mapping]] = ..., wait_until_answered: bool = ..., display_name: _Optional[str] = ..., destination: _Optional[_Union[Destination, _Mapping]] = ..., sip_source_call_id: _Optional[str] = ...) -> None: ... class SIPParticipantInfo(_message.Message): __slots__ = ("participant_id", "participant_identity", "room_name", "sip_call_id") From f8b3dd9849241cce64dd870b982aeab24e3f32a2 Mon Sep 17 00:00:00 2001 From: Genseric Ghiro Date: Wed, 11 Nov 2026 16:15:39 -0500 Subject: [PATCH 3/3] chore(mypy): skip the protocol submodule --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index ae37f875..13ea6f41 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -82,7 +82,7 @@ addopts = ["--import-mode=importlib", "--ignore=examples"] [tool.mypy] -exclude = "(build|setup\\.py|livekit-rtc/rust-sdks.*)" +exclude = "(build|setup\\.py|livekit-rtc/rust-sdks.*|livekit-protocol/protocol/.*)" namespace_packages = true explicit_package_bases = true mypy_path = "livekit-protocol:livekit-api:livekit-rtc"