livekit-server-sdk 0.9.0 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/CODEOWNERS +1 -0
- data/.github/banner_dark.png +0 -0
- data/.github/workflows/generate-protobufs.yml +82 -0
- data/.github/workflows/test-api.yml +43 -0
- data/.github/workflows/test.yml +10 -7
- data/CHANGELOG.md +18 -0
- data/Gemfile.lock +60 -37
- data/README.md +7 -5
- data/Rakefile +6 -1
- data/lib/livekit/agent_dispatch_service_client.rb +11 -9
- data/lib/livekit/auth_mixin.rb +23 -8
- data/lib/livekit/connector_service_client.rb +87 -0
- data/lib/livekit/dial_timeout.rb +26 -0
- data/lib/livekit/egress_service_client.rb +18 -14
- data/lib/livekit/errors.rb +60 -0
- data/lib/livekit/failover.rb +215 -0
- data/lib/livekit/grants.rb +6 -2
- data/lib/livekit/ingress_service_client.rb +8 -6
- data/lib/livekit/livekit_api.rb +67 -0
- data/lib/livekit/proto/livekit_agent_dispatch_pb.rb +3 -2
- data/lib/livekit/proto/livekit_agent_pb.rb +3 -5
- data/lib/livekit/proto/livekit_connector_pb.rb +20 -0
- data/lib/livekit/proto/livekit_connector_twilio_pb.rb +22 -0
- data/lib/livekit/proto/livekit_connector_twilio_twirp.rb +8 -0
- data/lib/livekit/proto/livekit_connector_twirp.rb +21 -0
- data/lib/livekit/proto/livekit_connector_whatsapp_pb.rb +32 -0
- data/lib/livekit/proto/livekit_connector_whatsapp_twirp.rb +8 -0
- data/lib/livekit/proto/livekit_egress_pb.rb +33 -18
- data/lib/livekit/proto/livekit_egress_twirp.rb +5 -4
- data/lib/livekit/proto/livekit_ingress_pb.rb +2 -2
- data/lib/livekit/proto/livekit_metrics_pb.rb +3 -2
- data/lib/livekit/proto/livekit_models_pb.rb +7 -2
- data/lib/livekit/proto/livekit_room_pb.rb +2 -2
- data/lib/livekit/proto/livekit_rtc_pb.rb +86 -0
- data/lib/livekit/proto/livekit_rtc_twirp.rb +8 -0
- data/lib/livekit/proto/livekit_sip_pb.rb +7 -2
- data/lib/livekit/proto/livekit_webhook_pb.rb +1 -1
- data/lib/livekit/proto/logger/options_pb.rb +3 -2
- data/lib/livekit/room_service_client.rb +17 -15
- data/lib/livekit/sip_service_client.rb +147 -21
- data/lib/livekit/version.rb +1 -1
- data/lib/livekit.rb +3 -0
- data/livekit_server_sdk.gemspec +6 -4
- metadata +43 -4
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
3
|
+
# source: livekit_rtc.proto
|
|
4
|
+
|
|
5
|
+
require 'google/protobuf'
|
|
6
|
+
|
|
7
|
+
require 'livekit_models_pb'
|
|
8
|
+
require 'logger/options_pb'
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
descriptor_data = "\n\x11livekit_rtc.proto\x12\x07livekit\x1a\x14livekit_models.proto\x1a\x14logger/options.proto\"\xae\t\n\rSignalRequest\x12,\n\x05offer\x18\x01 \x01(\x0b\x32\x1b.livekit.SessionDescriptionH\x00\x12-\n\x06\x61nswer\x18\x02 \x01(\x0b\x32\x1b.livekit.SessionDescriptionH\x00\x12*\n\x07trickle\x18\x03 \x01(\x0b\x32\x17.livekit.TrickleRequestH\x00\x12-\n\tadd_track\x18\x04 \x01(\x0b\x32\x18.livekit.AddTrackRequestH\x00\x12)\n\x04mute\x18\x05 \x01(\x0b\x32\x19.livekit.MuteTrackRequestH\x00\x12\x33\n\x0csubscription\x18\x06 \x01(\x0b\x32\x1b.livekit.UpdateSubscriptionH\x00\x12\x35\n\rtrack_setting\x18\x07 \x01(\x0b\x32\x1c.livekit.UpdateTrackSettingsH\x00\x12&\n\x05leave\x18\x08 \x01(\x0b\x32\x15.livekit.LeaveRequestH\x00\x12\x37\n\rupdate_layers\x18\n \x01(\x0b\x32\x1a.livekit.UpdateVideoLayersB\x02\x18\x01H\x00\x12\x42\n\x17subscription_permission\x18\x0b \x01(\x0b\x32\x1f.livekit.SubscriptionPermissionH\x00\x12(\n\nsync_state\x18\x0c \x01(\x0b\x32\x12.livekit.SyncStateH\x00\x12-\n\x08simulate\x18\r \x01(\x0b\x32\x19.livekit.SimulateScenarioH\x00\x12\x0e\n\x04ping\x18\x0e \x01(\x03H\x00\x12=\n\x0fupdate_metadata\x18\x0f \x01(\x0b\x32\".livekit.UpdateParticipantMetadataH\x00\x12!\n\x08ping_req\x18\x10 \x01(\x0b\x32\r.livekit.PingH\x00\x12<\n\x12update_audio_track\x18\x11 \x01(\x0b\x32\x1e.livekit.UpdateLocalAudioTrackH\x00\x12<\n\x12update_video_track\x18\x12 \x01(\x0b\x32\x1e.livekit.UpdateLocalVideoTrackH\x00\x12\x46\n\x1apublish_data_track_request\x18\x13 \x01(\x0b\x32 .livekit.PublishDataTrackRequestH\x00\x12J\n\x1cunpublish_data_track_request\x18\x14 \x01(\x0b\x32\".livekit.UnpublishDataTrackRequestH\x00\x12\x43\n\x18update_data_subscription\x18\x15 \x01(\x0b\x32\x1f.livekit.UpdateDataSubscriptionH\x00\x12@\n\x17store_data_blob_request\x18\x16 \x01(\x0b\x32\x1d.livekit.StoreDataBlobRequestH\x00\x12<\n\x15get_data_blob_request\x18\x17 \x01(\x0b\x32\x1b.livekit.GetDataBlobRequestH\x00\x42\t\n\x07message\"\x9a\r\n\x0eSignalResponse\x12%\n\x04join\x18\x01 \x01(\x0b\x32\x15.livekit.JoinResponseH\x00\x12-\n\x06\x61nswer\x18\x02 \x01(\x0b\x32\x1b.livekit.SessionDescriptionH\x00\x12,\n\x05offer\x18\x03 \x01(\x0b\x32\x1b.livekit.SessionDescriptionH\x00\x12*\n\x07trickle\x18\x04 \x01(\x0b\x32\x17.livekit.TrickleRequestH\x00\x12,\n\x06update\x18\x05 \x01(\x0b\x32\x1a.livekit.ParticipantUpdateH\x00\x12:\n\x0ftrack_published\x18\x06 \x01(\x0b\x32\x1f.livekit.TrackPublishedResponseH\x00\x12&\n\x05leave\x18\x08 \x01(\x0b\x32\x15.livekit.LeaveRequestH\x00\x12)\n\x04mute\x18\t \x01(\x0b\x32\x19.livekit.MuteTrackRequestH\x00\x12\x34\n\x10speakers_changed\x18\n \x01(\x0b\x32\x18.livekit.SpeakersChangedH\x00\x12*\n\x0broom_update\x18\x0b \x01(\x0b\x32\x13.livekit.RoomUpdateH\x00\x12>\n\x12\x63onnection_quality\x18\x0c \x01(\x0b\x32 .livekit.ConnectionQualityUpdateH\x00\x12\x39\n\x13stream_state_update\x18\r \x01(\x0b\x32\x1a.livekit.StreamStateUpdateH\x00\x12\x45\n\x19subscribed_quality_update\x18\x0e \x01(\x0b\x32 .livekit.SubscribedQualityUpdateH\x00\x12O\n\x1esubscription_permission_update\x18\x0f \x01(\x0b\x32%.livekit.SubscriptionPermissionUpdateH\x00\x12\x17\n\rrefresh_token\x18\x10 \x01(\tH\x00\x12>\n\x11track_unpublished\x18\x11 \x01(\x0b\x32!.livekit.TrackUnpublishedResponseH\x00\x12\x0e\n\x04pong\x18\x12 \x01(\x03H\x00\x12/\n\treconnect\x18\x13 \x01(\x0b\x32\x1a.livekit.ReconnectResponseH\x00\x12\"\n\tpong_resp\x18\x14 \x01(\x0b\x32\r.livekit.PongH\x00\x12>\n\x15subscription_response\x18\x15 \x01(\x0b\x32\x1d.livekit.SubscriptionResponseH\x00\x12\x34\n\x10request_response\x18\x16 \x01(\x0b\x32\x18.livekit.RequestResponseH\x00\x12\x34\n\x10track_subscribed\x18\x17 \x01(\x0b\x32\x18.livekit.TrackSubscribedH\x00\x12\x30\n\nroom_moved\x18\x18 \x01(\x0b\x32\x1a.livekit.RoomMovedResponseH\x00\x12G\n\x1amedia_sections_requirement\x18\x19 \x01(\x0b\x32!.livekit.MediaSectionsRequirementH\x00\x12L\n\x1dsubscribed_audio_codec_update\x18\x1a \x01(\x0b\x32#.livekit.SubscribedAudioCodecUpdateH\x00\x12H\n\x1bpublish_data_track_response\x18\x1b \x01(\x0b\x32!.livekit.PublishDataTrackResponseH\x00\x12L\n\x1dunpublish_data_track_response\x18\x1c \x01(\x0b\x32#.livekit.UnpublishDataTrackResponseH\x00\x12L\n\x1d\x64\x61ta_track_subscriber_handles\x18\x1d \x01(\x0b\x32#.livekit.DataTrackSubscriberHandlesH\x00\x12\x42\n\x18store_data_blob_response\x18\x1e \x01(\x0b\x32\x1e.livekit.StoreDataBlobResponseH\x00\x12>\n\x16get_data_blob_response\x18\x1f \x01(\x0b\x32\x1c.livekit.GetDataBlobResponseH\x00\x42\t\n\x07message\"\x85\x01\n\x0eSimulcastCodec\x12\r\n\x05\x63odec\x18\x01 \x01(\t\x12\x0b\n\x03\x63id\x18\x02 \x01(\t\x12#\n\x06layers\x18\x04 \x03(\x0b\x32\x13.livekit.VideoLayer\x12\x32\n\x10video_layer_mode\x18\x05 \x01(\x0e\x32\x18.livekit.VideoLayer.Mode\"\xb4\x04\n\x0f\x41\x64\x64TrackRequest\x12\x0b\n\x03\x63id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12 \n\x04type\x18\x03 \x01(\x0e\x32\x12.livekit.TrackType\x12\r\n\x05width\x18\x04 \x01(\r\x12\x0e\n\x06height\x18\x05 \x01(\r\x12\r\n\x05muted\x18\x06 \x01(\x08\x12\x17\n\x0b\x64isable_dtx\x18\x07 \x01(\x08\x42\x02\x18\x01\x12$\n\x06source\x18\x08 \x01(\x0e\x32\x14.livekit.TrackSource\x12#\n\x06layers\x18\t \x03(\x0b\x32\x13.livekit.VideoLayer\x12\x31\n\x10simulcast_codecs\x18\n \x03(\x0b\x32\x17.livekit.SimulcastCodec\x12\x0b\n\x03sid\x18\x0b \x01(\t\x12\x12\n\x06stereo\x18\x0c \x01(\x08\x42\x02\x18\x01\x12\x13\n\x0b\x64isable_red\x18\r \x01(\x08\x12,\n\nencryption\x18\x0e \x01(\x0e\x32\x18.livekit.Encryption.Type\x12\x0e\n\x06stream\x18\x0f \x01(\t\x12\x37\n\x13\x62\x61\x63kup_codec_policy\x18\x10 \x01(\x0e\x32\x1a.livekit.BackupCodecPolicy\x12\x32\n\x0e\x61udio_features\x18\x11 \x03(\x0e\x32\x1a.livekit.AudioTrackFeature\x12>\n\x17packet_trailer_features\x18\x12 \x03(\x0e\x32\x1d.livekit.PacketTrailerFeature\"i\n\x17PublishDataTrackRequest\x12\x12\n\npub_handle\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12,\n\nencryption\x18\x03 \x01(\x0e\x32\x18.livekit.Encryption.Type\"@\n\x18PublishDataTrackResponse\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.livekit.DataTrackInfo\"/\n\x19UnpublishDataTrackRequest\x12\x12\n\npub_handle\x18\x01 \x01(\r\"B\n\x1aUnpublishDataTrackResponse\x12$\n\x04info\x18\x01 \x01(\x0b\x32\x16.livekit.DataTrackInfo\"\xad\x02\n\x1a\x44\x61taTrackSubscriberHandles\x12H\n\x0bsub_handles\x18\x01 \x03(\x0b\x32\x33.livekit.DataTrackSubscriberHandles.SubHandlesEntry\x1aZ\n\x12PublishedDataTrack\x12\x1a\n\x12publisher_identity\x18\x01 \x01(\t\x12\x15\n\rpublisher_sid\x18\x02 \x01(\t\x12\x11\n\ttrack_sid\x18\x03 \x01(\t\x1ai\n\x0fSubHandlesEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12\x45\n\x05value\x18\x02 \x01(\x0b\x32\x36.livekit.DataTrackSubscriberHandles.PublishedDataTrack:\x02\x38\x01\"]\n\x0eTrickleRequest\x12\x15\n\rcandidateInit\x18\x01 \x01(\t\x12%\n\x06target\x18\x02 \x01(\x0e\x32\x15.livekit.SignalTarget\x12\r\n\x05\x66inal\x18\x03 \x01(\x08\".\n\x10MuteTrackRequest\x12\x0b\n\x03sid\x18\x01 \x01(\t\x12\r\n\x05muted\x18\x02 \x01(\x08\"\x8b\x04\n\x0cJoinResponse\x12\x1b\n\x04room\x18\x01 \x01(\x0b\x32\r.livekit.Room\x12-\n\x0bparticipant\x18\x02 \x01(\x0b\x32\x18.livekit.ParticipantInfo\x12\x34\n\x12other_participants\x18\x03 \x03(\x0b\x32\x18.livekit.ParticipantInfo\x12\x16\n\x0eserver_version\x18\x04 \x01(\t\x12\'\n\x0bice_servers\x18\x05 \x03(\x0b\x32\x12.livekit.ICEServer\x12\x1a\n\x12subscriber_primary\x18\x06 \x01(\x08\x12\x17\n\x0f\x61lternative_url\x18\x07 \x01(\t\x12:\n\x14\x63lient_configuration\x18\x08 \x01(\x0b\x32\x1c.livekit.ClientConfiguration\x12\x15\n\rserver_region\x18\t \x01(\t\x12\x14\n\x0cping_timeout\x18\n \x01(\x05\x12\x15\n\rping_interval\x18\x0b \x01(\x05\x12(\n\x0bserver_info\x18\x0c \x01(\x0b\x32\x13.livekit.ServerInfo\x12\x13\n\x0bsif_trailer\x18\r \x01(\x0c\x12.\n\x16\x65nabled_publish_codecs\x18\x0e \x03(\x0b\x32\x0e.livekit.Codec\x12\x14\n\x0c\x66\x61st_publish\x18\x0f \x01(\x08\"\xbc\x01\n\x11ReconnectResponse\x12\'\n\x0bice_servers\x18\x01 \x03(\x0b\x32\x12.livekit.ICEServer\x12:\n\x14\x63lient_configuration\x18\x02 \x01(\x0b\x32\x1c.livekit.ClientConfiguration\x12(\n\x0bserver_info\x18\x03 \x01(\x0b\x32\x13.livekit.ServerInfo\x12\x18\n\x10last_message_seq\x18\x04 \x01(\r\"H\n\x16TrackPublishedResponse\x12\x0b\n\x03\x63id\x18\x01 \x01(\t\x12!\n\x05track\x18\x02 \x01(\x0b\x32\x12.livekit.TrackInfo\"-\n\x18TrackUnpublishedResponse\x12\x11\n\ttrack_sid\x18\x01 \x01(\t\"\xc9\x01\n\x12SessionDescription\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x0b\n\x03sdp\x18\x02 \x01(\t\x12\n\n\x02id\x18\x03 \x01(\r\x12W\n\x0fmid_to_track_id\x18\x04 \x03(\x0b\x32-.livekit.SessionDescription.MidToTrackIdEntryB\x0f\xbaP\x0cmidToTrackID\x1a\x33\n\x11MidToTrackIdEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"C\n\x11ParticipantUpdate\x12.\n\x0cparticipants\x18\x01 \x03(\x0b\x32\x18.livekit.ParticipantInfo\"s\n\x12UpdateSubscription\x12\x12\n\ntrack_sids\x18\x01 \x03(\t\x12\x11\n\tsubscribe\x18\x02 \x01(\x08\x12\x36\n\x12participant_tracks\x18\x03 \x03(\x0b\x32\x1a.livekit.ParticipantTracks\"\xb9\x01\n\x16UpdateDataSubscription\x12\x37\n\x07updates\x18\x01 \x03(\x0b\x32&.livekit.UpdateDataSubscription.Update\x1a\x66\n\x06Update\x12\x11\n\ttrack_sid\x18\x01 \x01(\t\x12\x11\n\tsubscribe\x18\x02 \x01(\x08\x12\x36\n\x07options\x18\x03 \x01(\x0b\x32%.livekit.DataTrackSubscriptionOptions\"Y\n\x14StoreDataBlobRequest\x12 \n\nrequest_id\x18\x01 \x01(\rB\x0c\xbaP\trequestID\x12\x1f\n\x04\x62lob\x18\x02 \x01(\x0b\x32\x11.livekit.DataBlob\"\\\n\x15StoreDataBlobResponse\x12 \n\nrequest_id\x18\x01 \x01(\rB\x0c\xbaP\trequestID\x12!\n\x03key\x18\x02 \x01(\x0b\x32\x14.livekit.DataBlobKey\"w\n\x12GetDataBlobRequest\x12 \n\nrequest_id\x18\x01 \x01(\rB\x0c\xbaP\trequestID\x12\x1c\n\x14participant_identity\x18\x02 \x01(\t\x12!\n\x03key\x18\x03 \x01(\x0b\x32\x14.livekit.DataBlobKey\"X\n\x13GetDataBlobResponse\x12 \n\nrequest_id\x18\x01 \x01(\rB\x0c\xbaP\trequestID\x12\x1f\n\x04\x62lob\x18\x02 \x01(\x0b\x32\x11.livekit.DataBlob\"\xa1\x01\n\x13UpdateTrackSettings\x12\x12\n\ntrack_sids\x18\x01 \x03(\t\x12\x10\n\x08\x64isabled\x18\x03 \x01(\x08\x12&\n\x07quality\x18\x04 \x01(\x0e\x32\x15.livekit.VideoQuality\x12\r\n\x05width\x18\x05 \x01(\r\x12\x0e\n\x06height\x18\x06 \x01(\r\x12\x0b\n\x03\x66ps\x18\x07 \x01(\r\x12\x10\n\x08priority\x18\x08 \x01(\r\"X\n\x15UpdateLocalAudioTrack\x12\x11\n\ttrack_sid\x18\x01 \x01(\t\x12,\n\x08\x66\x65\x61tures\x18\x02 \x03(\x0e\x32\x1a.livekit.AudioTrackFeature\"I\n\x15UpdateLocalVideoTrack\x12\x11\n\ttrack_sid\x18\x01 \x01(\t\x12\r\n\x05width\x18\x02 \x01(\r\x12\x0e\n\x06height\x18\x03 \x01(\r\"\xdd\x01\n\x0cLeaveRequest\x12\x15\n\rcan_reconnect\x18\x01 \x01(\x08\x12)\n\x06reason\x18\x02 \x01(\x0e\x32\x19.livekit.DisconnectReason\x12,\n\x06\x61\x63tion\x18\x03 \x01(\x0e\x32\x1c.livekit.LeaveRequest.Action\x12(\n\x07regions\x18\x04 \x01(\x0b\x32\x17.livekit.RegionSettings\"3\n\x06\x41\x63tion\x12\x0e\n\nDISCONNECT\x10\x00\x12\n\n\x06RESUME\x10\x01\x12\r\n\tRECONNECT\x10\x02\"O\n\x11UpdateVideoLayers\x12\x11\n\ttrack_sid\x18\x01 \x01(\t\x12#\n\x06layers\x18\x02 \x03(\x0b\x32\x13.livekit.VideoLayer:\x02\x18\x01\"\xca\x02\n\x19UpdateParticipantMetadata\x12\x36\n\x08metadata\x18\x01 \x01(\tB$\xb2P\x1e<redacted ({{ .Size }} bytes)>\xc0P\x01\x12\x32\n\x04name\x18\x02 \x01(\tB$\xb2P\x1e<redacted ({{ .Size }} bytes)>\xc0P\x01\x12l\n\nattributes\x18\x03 \x03(\x0b\x32\x32.livekit.UpdateParticipantMetadata.AttributesEntryB$\xb2P\x1e<redacted ({{ .Size }} bytes)>\xc0P\x01\x12 \n\nrequest_id\x18\x04 \x01(\rB\x0c\xbaP\trequestID\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"I\n\tICEServer\x12\x0c\n\x04urls\x18\x01 \x03(\t\x12\x15\n\x08username\x18\x02 \x01(\tB\x03\xc0P\x01\x12\x17\n\ncredential\x18\x03 \x01(\tB\x03\xc0P\x02\"9\n\x0fSpeakersChanged\x12&\n\x08speakers\x18\x01 \x03(\x0b\x32\x14.livekit.SpeakerInfo\")\n\nRoomUpdate\x12\x1b\n\x04room\x18\x01 \x01(\x0b\x32\r.livekit.Room\"l\n\x15\x43onnectionQualityInfo\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12+\n\x07quality\x18\x02 \x01(\x0e\x32\x1a.livekit.ConnectionQuality\x12\r\n\x05score\x18\x03 \x01(\x02\"J\n\x17\x43onnectionQualityUpdate\x12/\n\x07updates\x18\x01 \x03(\x0b\x32\x1e.livekit.ConnectionQualityInfo\"b\n\x0fStreamStateInfo\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12\x11\n\ttrack_sid\x18\x02 \x01(\t\x12#\n\x05state\x18\x03 \x01(\x0e\x32\x14.livekit.StreamState\"D\n\x11StreamStateUpdate\x12/\n\rstream_states\x18\x01 \x03(\x0b\x32\x18.livekit.StreamStateInfo\"L\n\x11SubscribedQuality\x12&\n\x07quality\x18\x01 \x01(\x0e\x32\x15.livekit.VideoQuality\x12\x0f\n\x07\x65nabled\x18\x02 \x01(\x08\"O\n\x0fSubscribedCodec\x12\r\n\x05\x63odec\x18\x01 \x01(\t\x12-\n\tqualities\x18\x02 \x03(\x0b\x32\x1a.livekit.SubscribedQuality\"\x9f\x01\n\x17SubscribedQualityUpdate\x12\x11\n\ttrack_sid\x18\x01 \x01(\t\x12<\n\x14subscribed_qualities\x18\x02 \x03(\x0b\x32\x1a.livekit.SubscribedQualityB\x02\x18\x01\x12\x33\n\x11subscribed_codecs\x18\x03 \x03(\x0b\x32\x18.livekit.SubscribedCodec\"o\n\x1aSubscribedAudioCodecUpdate\x12\x11\n\ttrack_sid\x18\x01 \x01(\t\x12>\n\x17subscribed_audio_codecs\x18\x02 \x03(\x0b\x32\x1d.livekit.SubscribedAudioCodec\"p\n\x0fTrackPermission\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12\x12\n\nall_tracks\x18\x02 \x01(\x08\x12\x12\n\ntrack_sids\x18\x03 \x03(\t\x12\x1c\n\x14participant_identity\x18\x04 \x01(\t\"g\n\x16SubscriptionPermission\x12\x18\n\x10\x61ll_participants\x18\x01 \x01(\x08\x12\x33\n\x11track_permissions\x18\x02 \x03(\x0b\x32\x18.livekit.TrackPermission\"[\n\x1cSubscriptionPermissionUpdate\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12\x11\n\ttrack_sid\x18\x02 \x01(\t\x12\x0f\n\x07\x61llowed\x18\x03 \x01(\x08\"\xa4\x01\n\x11RoomMovedResponse\x12\x1b\n\x04room\x18\x01 \x01(\x0b\x32\r.livekit.Room\x12\r\n\x05token\x18\x02 \x01(\t\x12-\n\x0bparticipant\x18\x03 \x01(\x0b\x32\x18.livekit.ParticipantInfo\x12\x34\n\x12other_participants\x18\x04 \x03(\x0b\x32\x18.livekit.ParticipantInfo\"\xa4\x03\n\tSyncState\x12+\n\x06\x61nswer\x18\x01 \x01(\x0b\x32\x1b.livekit.SessionDescription\x12\x31\n\x0csubscription\x18\x02 \x01(\x0b\x32\x1b.livekit.UpdateSubscription\x12\x37\n\x0epublish_tracks\x18\x03 \x03(\x0b\x32\x1f.livekit.TrackPublishedResponse\x12/\n\rdata_channels\x18\x04 \x03(\x0b\x32\x18.livekit.DataChannelInfo\x12*\n\x05offer\x18\x05 \x01(\x0b\x32\x1b.livekit.SessionDescription\x12\x1b\n\x13track_sids_disabled\x18\x06 \x03(\t\x12\x44\n\x1a\x64\x61tachannel_receive_states\x18\x07 \x03(\x0b\x32 .livekit.DataChannelReceiveState\x12>\n\x13publish_data_tracks\x18\x08 \x03(\x0b\x32!.livekit.PublishDataTrackResponse\"B\n\x17\x44\x61taChannelReceiveState\x12\x15\n\rpublisher_sid\x18\x01 \x01(\t\x12\x10\n\x08last_seq\x18\x02 \x01(\r\"S\n\x0f\x44\x61taChannelInfo\x12\r\n\x05label\x18\x01 \x01(\t\x12\n\n\x02id\x18\x02 \x01(\r\x12%\n\x06target\x18\x03 \x01(\x0e\x32\x15.livekit.SignalTarget\"\xe0\x02\n\x10SimulateScenario\x12\x18\n\x0espeaker_update\x18\x01 \x01(\x05H\x00\x12\x16\n\x0cnode_failure\x18\x02 \x01(\x08H\x00\x12\x13\n\tmigration\x18\x03 \x01(\x08H\x00\x12\x16\n\x0cserver_leave\x18\x04 \x01(\x08H\x00\x12?\n\x19switch_candidate_protocol\x18\x05 \x01(\x0e\x32\x1a.livekit.CandidateProtocolH\x00\x12\x1e\n\x14subscriber_bandwidth\x18\x06 \x01(\x03H\x00\x12%\n\x1b\x64isconnect_signal_on_resume\x18\x07 \x01(\x08H\x00\x12\x31\n\'disconnect_signal_on_resume_no_messages\x18\x08 \x01(\x08H\x00\x12&\n\x1cleave_request_full_reconnect\x18\t \x01(\x08H\x00\x42\n\n\x08scenario\"&\n\x04Ping\x12\x11\n\ttimestamp\x18\x01 \x01(\x03\x12\x0b\n\x03rtt\x18\x02 \x01(\x03\"6\n\x04Pong\x12\x1b\n\x13last_ping_timestamp\x18\x01 \x01(\x03\x12\x11\n\ttimestamp\x18\x02 \x01(\x03\"6\n\x0eRegionSettings\x12$\n\x07regions\x18\x01 \x03(\x0b\x32\x13.livekit.RegionInfo\";\n\nRegionInfo\x12\x0e\n\x06region\x18\x01 \x01(\t\x12\x0b\n\x03url\x18\x02 \x01(\t\x12\x10\n\x08\x64istance\x18\x03 \x01(\x03\"R\n\x14SubscriptionResponse\x12\x11\n\ttrack_sid\x18\x01 \x01(\t\x12\'\n\x03\x65rr\x18\x02 \x01(\x0e\x32\x1a.livekit.SubscriptionError\"\xab\x06\n\x0fRequestResponse\x12 \n\nrequest_id\x18\x01 \x01(\rB\x0c\xbaP\trequestID\x12/\n\x06reason\x18\x02 \x01(\x0e\x32\x1f.livekit.RequestResponse.Reason\x12\x0f\n\x07message\x18\x03 \x01(\t\x12*\n\x07trickle\x18\x04 \x01(\x0b\x32\x17.livekit.TrickleRequestH\x00\x12-\n\tadd_track\x18\x05 \x01(\x0b\x32\x18.livekit.AddTrackRequestH\x00\x12)\n\x04mute\x18\x06 \x01(\x0b\x32\x19.livekit.MuteTrackRequestH\x00\x12=\n\x0fupdate_metadata\x18\x07 \x01(\x0b\x32\".livekit.UpdateParticipantMetadataH\x00\x12<\n\x12update_audio_track\x18\x08 \x01(\x0b\x32\x1e.livekit.UpdateLocalAudioTrackH\x00\x12<\n\x12update_video_track\x18\t \x01(\x0b\x32\x1e.livekit.UpdateLocalVideoTrackH\x00\x12>\n\x12publish_data_track\x18\n \x01(\x0b\x32 .livekit.PublishDataTrackRequestH\x00\x12\x42\n\x14unpublish_data_track\x18\x0b \x01(\x0b\x32\".livekit.UnpublishDataTrackRequestH\x00\"\xe3\x01\n\x06Reason\x12\x06\n\x02OK\x10\x00\x12\r\n\tNOT_FOUND\x10\x01\x12\x0f\n\x0bNOT_ALLOWED\x10\x02\x12\x12\n\x0eLIMIT_EXCEEDED\x10\x03\x12\n\n\x06QUEUED\x10\x04\x12\x14\n\x10UNSUPPORTED_TYPE\x10\x05\x12\x16\n\x12UNCLASSIFIED_ERROR\x10\x06\x12\x12\n\x0eINVALID_HANDLE\x10\x07\x12\x10\n\x0cINVALID_NAME\x10\x08\x12\x14\n\x10\x44UPLICATE_HANDLE\x10\t\x12\x12\n\x0e\x44UPLICATE_NAME\x10\n\x12\x13\n\x0fINVALID_REQUEST\x10\x0b\x42\t\n\x07request\"$\n\x0fTrackSubscribed\x12\x11\n\ttrack_sid\x18\x01 \x01(\t\"\xe5\x01\n\x12\x43onnectionSettings\x12\x16\n\x0e\x61uto_subscribe\x18\x01 \x01(\x08\x12\x17\n\x0f\x61\x64\x61ptive_stream\x18\x02 \x01(\x08\x12#\n\x16subscriber_allow_pause\x18\x03 \x01(\x08H\x00\x88\x01\x01\x12\x18\n\x10\x64isable_ice_lite\x18\x04 \x01(\x08\x12&\n\x19\x61uto_subscribe_data_track\x18\x05 \x01(\x08H\x01\x88\x01\x01\x42\x19\n\x17_subscriber_allow_pauseB\x1c\n\x1a_auto_subscribe_data_track\"\xd2\x04\n\x0bJoinRequest\x12(\n\x0b\x63lient_info\x18\x01 \x01(\x0b\x32\x13.livekit.ClientInfo\x12\x38\n\x13\x63onnection_settings\x18\x02 \x01(\x0b\x32\x1b.livekit.ConnectionSettings\x12\x36\n\x08metadata\x18\x03 \x01(\tB$\xb2P\x1e<redacted ({{ .Size }} bytes)>\xc0P\x01\x12u\n\x16participant_attributes\x18\x04 \x03(\x0b\x32/.livekit.JoinRequest.ParticipantAttributesEntryB$\xb2P\x1e<redacted ({{ .Size }} bytes)>\xc0P\x01\x12\x34\n\x12\x61\x64\x64_track_requests\x18\x05 \x03(\x0b\x32\x18.livekit.AddTrackRequest\x12\x34\n\x0fpublisher_offer\x18\x06 \x01(\x0b\x32\x1b.livekit.SessionDescription\x12\x11\n\treconnect\x18\x07 \x01(\x08\x12\x32\n\x10reconnect_reason\x18\x08 \x01(\x0e\x32\x18.livekit.ReconnectReason\x12\x17\n\x0fparticipant_sid\x18\t \x01(\t\x12&\n\nsync_state\x18\n \x01(\x0b\x32\x12.livekit.SyncState\x1a<\n\x1aParticipantAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x8b\x01\n\x12WrappedJoinRequest\x12<\n\x0b\x63ompression\x18\x01 \x01(\x0e\x32\'.livekit.WrappedJoinRequest.Compression\x12\x14\n\x0cjoin_request\x18\x02 \x01(\x0c\"!\n\x0b\x43ompression\x12\x08\n\x04NONE\x10\x00\x12\x08\n\x04GZIP\x10\x01\"B\n\x18MediaSectionsRequirement\x12\x12\n\nnum_audios\x18\x01 \x01(\r\x12\x12\n\nnum_videos\x18\x02 \x01(\r*-\n\x0cSignalTarget\x12\r\n\tPUBLISHER\x10\x00\x12\x0e\n\nSUBSCRIBER\x10\x01*%\n\x0bStreamState\x12\n\n\x06\x41\x43TIVE\x10\x00\x12\n\n\x06PAUSED\x10\x01*.\n\x11\x43\x61ndidateProtocol\x12\x07\n\x03UDP\x10\x00\x12\x07\n\x03TCP\x10\x01\x12\x07\n\x03TLS\x10\x02\x42\x46Z#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3"
|
|
12
|
+
|
|
13
|
+
pool = Google::Protobuf::DescriptorPool.generated_pool
|
|
14
|
+
pool.add_serialized_file(descriptor_data)
|
|
15
|
+
|
|
16
|
+
module LiveKit
|
|
17
|
+
module Proto
|
|
18
|
+
SignalRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SignalRequest").msgclass
|
|
19
|
+
SignalResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SignalResponse").msgclass
|
|
20
|
+
SimulcastCodec = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SimulcastCodec").msgclass
|
|
21
|
+
AddTrackRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.AddTrackRequest").msgclass
|
|
22
|
+
PublishDataTrackRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.PublishDataTrackRequest").msgclass
|
|
23
|
+
PublishDataTrackResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.PublishDataTrackResponse").msgclass
|
|
24
|
+
UnpublishDataTrackRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.UnpublishDataTrackRequest").msgclass
|
|
25
|
+
UnpublishDataTrackResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.UnpublishDataTrackResponse").msgclass
|
|
26
|
+
DataTrackSubscriberHandles = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.DataTrackSubscriberHandles").msgclass
|
|
27
|
+
DataTrackSubscriberHandles::PublishedDataTrack = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.DataTrackSubscriberHandles.PublishedDataTrack").msgclass
|
|
28
|
+
TrickleRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.TrickleRequest").msgclass
|
|
29
|
+
MuteTrackRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.MuteTrackRequest").msgclass
|
|
30
|
+
JoinResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.JoinResponse").msgclass
|
|
31
|
+
ReconnectResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ReconnectResponse").msgclass
|
|
32
|
+
TrackPublishedResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.TrackPublishedResponse").msgclass
|
|
33
|
+
TrackUnpublishedResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.TrackUnpublishedResponse").msgclass
|
|
34
|
+
SessionDescription = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SessionDescription").msgclass
|
|
35
|
+
ParticipantUpdate = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ParticipantUpdate").msgclass
|
|
36
|
+
UpdateSubscription = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.UpdateSubscription").msgclass
|
|
37
|
+
UpdateDataSubscription = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.UpdateDataSubscription").msgclass
|
|
38
|
+
UpdateDataSubscription::Update = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.UpdateDataSubscription.Update").msgclass
|
|
39
|
+
StoreDataBlobRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.StoreDataBlobRequest").msgclass
|
|
40
|
+
StoreDataBlobResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.StoreDataBlobResponse").msgclass
|
|
41
|
+
GetDataBlobRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.GetDataBlobRequest").msgclass
|
|
42
|
+
GetDataBlobResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.GetDataBlobResponse").msgclass
|
|
43
|
+
UpdateTrackSettings = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.UpdateTrackSettings").msgclass
|
|
44
|
+
UpdateLocalAudioTrack = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.UpdateLocalAudioTrack").msgclass
|
|
45
|
+
UpdateLocalVideoTrack = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.UpdateLocalVideoTrack").msgclass
|
|
46
|
+
LeaveRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.LeaveRequest").msgclass
|
|
47
|
+
LeaveRequest::Action = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.LeaveRequest.Action").enummodule
|
|
48
|
+
UpdateVideoLayers = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.UpdateVideoLayers").msgclass
|
|
49
|
+
UpdateParticipantMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.UpdateParticipantMetadata").msgclass
|
|
50
|
+
ICEServer = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ICEServer").msgclass
|
|
51
|
+
SpeakersChanged = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SpeakersChanged").msgclass
|
|
52
|
+
RoomUpdate = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.RoomUpdate").msgclass
|
|
53
|
+
ConnectionQualityInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ConnectionQualityInfo").msgclass
|
|
54
|
+
ConnectionQualityUpdate = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ConnectionQualityUpdate").msgclass
|
|
55
|
+
StreamStateInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.StreamStateInfo").msgclass
|
|
56
|
+
StreamStateUpdate = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.StreamStateUpdate").msgclass
|
|
57
|
+
SubscribedQuality = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SubscribedQuality").msgclass
|
|
58
|
+
SubscribedCodec = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SubscribedCodec").msgclass
|
|
59
|
+
SubscribedQualityUpdate = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SubscribedQualityUpdate").msgclass
|
|
60
|
+
SubscribedAudioCodecUpdate = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SubscribedAudioCodecUpdate").msgclass
|
|
61
|
+
TrackPermission = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.TrackPermission").msgclass
|
|
62
|
+
SubscriptionPermission = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SubscriptionPermission").msgclass
|
|
63
|
+
SubscriptionPermissionUpdate = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SubscriptionPermissionUpdate").msgclass
|
|
64
|
+
RoomMovedResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.RoomMovedResponse").msgclass
|
|
65
|
+
SyncState = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SyncState").msgclass
|
|
66
|
+
DataChannelReceiveState = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.DataChannelReceiveState").msgclass
|
|
67
|
+
DataChannelInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.DataChannelInfo").msgclass
|
|
68
|
+
SimulateScenario = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SimulateScenario").msgclass
|
|
69
|
+
Ping = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.Ping").msgclass
|
|
70
|
+
Pong = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.Pong").msgclass
|
|
71
|
+
RegionSettings = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.RegionSettings").msgclass
|
|
72
|
+
RegionInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.RegionInfo").msgclass
|
|
73
|
+
SubscriptionResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SubscriptionResponse").msgclass
|
|
74
|
+
RequestResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.RequestResponse").msgclass
|
|
75
|
+
RequestResponse::Reason = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.RequestResponse.Reason").enummodule
|
|
76
|
+
TrackSubscribed = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.TrackSubscribed").msgclass
|
|
77
|
+
ConnectionSettings = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ConnectionSettings").msgclass
|
|
78
|
+
JoinRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.JoinRequest").msgclass
|
|
79
|
+
WrappedJoinRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.WrappedJoinRequest").msgclass
|
|
80
|
+
WrappedJoinRequest::Compression = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.WrappedJoinRequest.Compression").enummodule
|
|
81
|
+
MediaSectionsRequirement = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.MediaSectionsRequirement").msgclass
|
|
82
|
+
SignalTarget = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SignalTarget").enummodule
|
|
83
|
+
StreamState = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.StreamState").enummodule
|
|
84
|
+
CandidateProtocol = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.CandidateProtocol").enummodule
|
|
85
|
+
end
|
|
86
|
+
end
|
|
@@ -7,20 +7,23 @@ require 'google/protobuf'
|
|
|
7
7
|
require 'google/protobuf/any_pb'
|
|
8
8
|
require 'google/protobuf/duration_pb'
|
|
9
9
|
require 'google/protobuf/empty_pb'
|
|
10
|
+
require 'google/protobuf/timestamp_pb'
|
|
10
11
|
require 'livekit_models_pb'
|
|
11
12
|
require 'livekit_room_pb'
|
|
12
13
|
require 'logger/options_pb'
|
|
13
14
|
|
|
14
15
|
|
|
15
|
-
descriptor_data = "\n\x11livekit_sip.proto\x12\x07livekit\x1a\x19google/protobuf/any.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x14livekit_models.proto\x1a\x12livekit_room.proto\x1a\x14logger/options.proto\"A\n\tSIPStatus\x12$\n\x04\x63ode\x18\x01 \x01(\x0e\x32\x16.livekit.SIPStatusCode\x12\x0e\n\x06status\x18\x02 \x01(\t\"\xf7\x03\n\x15\x43reateSIPTrunkRequest\x12\x19\n\x11inbound_addresses\x18\x01 \x03(\t\x12\x18\n\x10outbound_address\x18\x02 \x01(\t\x12\x17\n\x0foutbound_number\x18\x03 \x01(\t\x12!\n\x15inbound_numbers_regex\x18\x04 \x03(\tB\x02\x18\x01\x12\x17\n\x0finbound_numbers\x18\t \x03(\t\x12@\n\x10inbound_username\x18\x05 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e<redacted ({{ .Size }} bytes)>\x12@\n\x10inbound_password\x18\x06 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e<redacted ({{ .Size }} bytes)>\x12\x41\n\x11outbound_username\x18\x07 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e<redacted ({{ .Size }} bytes)>\x12\x41\n\x11outbound_password\x18\x08 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e<redacted ({{ .Size }} bytes)>\x12\x0c\n\x04name\x18\n \x01(\t\x12\x38\n\x08metadata\x18\x0b \x01(\tB&\x88\xec,\x01\x92\xec,\x1e<redacted ({{ .Size }} bytes)>:\x02\x18\x01\"g\n\x0cProviderInfo\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12#\n\x04type\x18\x03 \x01(\x0e\x32\x15.livekit.ProviderType\x12\x18\n\x10prevent_transfer\x18\x04 \x01(\x08\"\xa3\x05\n\x0cSIPTrunkInfo\x12\x14\n\x0csip_trunk_id\x18\x01 \x01(\t\x12-\n\x04kind\x18\x0e \x01(\x0e\x32\x1f.livekit.SIPTrunkInfo.TrunkKind\x12\x19\n\x11inbound_addresses\x18\x02 \x03(\t\x12\x18\n\x10outbound_address\x18\x03 \x01(\t\x12\x17\n\x0foutbound_number\x18\x04 \x01(\t\x12(\n\ttransport\x18\r \x01(\x0e\x32\x15.livekit.SIPTransport\x12!\n\x15inbound_numbers_regex\x18\x05 \x03(\tB\x02\x18\x01\x12\x17\n\x0finbound_numbers\x18\n \x03(\t\x12@\n\x10inbound_username\x18\x06 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e<redacted ({{ .Size }} bytes)>\x12@\n\x10inbound_password\x18\x07 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e<redacted ({{ .Size }} bytes)>\x12\x41\n\x11outbound_username\x18\x08 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e<redacted ({{ .Size }} bytes)>\x12\x41\n\x11outbound_password\x18\t \x01(\tB&\x88\xec,\x01\x92\xec,\x1e<redacted ({{ .Size }} bytes)>\x12\x0c\n\x04name\x18\x0b \x01(\t\x12\x38\n\x08metadata\x18\x0c \x01(\tB&\x88\xec,\x01\x92\xec,\x1e<redacted ({{ .Size }} bytes)>\"D\n\tTrunkKind\x12\x10\n\x0cTRUNK_LEGACY\x10\x00\x12\x11\n\rTRUNK_INBOUND\x10\x01\x12\x12\n\x0eTRUNK_OUTBOUND\x10\x02:\x02\x18\x01\"K\n\x1c\x43reateSIPInboundTrunkRequest\x12+\n\x05trunk\x18\x01 \x01(\x0b\x32\x1c.livekit.SIPInboundTrunkInfo\"\xa1\x01\n\x1cUpdateSIPInboundTrunkRequest\x12\x14\n\x0csip_trunk_id\x18\x01 \x01(\t\x12/\n\x07replace\x18\x02 \x01(\x0b\x32\x1c.livekit.SIPInboundTrunkInfoH\x00\x12\x30\n\x06update\x18\x03 \x01(\x0b\x32\x1e.livekit.SIPInboundTrunkUpdateH\x00\x42\x08\n\x06\x61\x63tion\"\xda\x07\n\x13SIPInboundTrunkInfo\x12\x14\n\x0csip_trunk_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x38\n\x08metadata\x18\x03 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e<redacted ({{ .Size }} bytes)>\x12\x0f\n\x07numbers\x18\x04 \x03(\t\x12\x19\n\x11\x61llowed_addresses\x18\x05 \x03(\t\x12\x17\n\x0f\x61llowed_numbers\x18\x06 \x03(\t\x12=\n\rauth_username\x18\x07 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e<redacted ({{ .Size }} bytes)>\x12=\n\rauth_password\x18\x08 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e<redacted ({{ .Size }} bytes)>\x12\x62\n\x07headers\x18\t \x03(\x0b\x32).livekit.SIPInboundTrunkInfo.HeadersEntryB&\x88\xec,\x01\x92\xec,\x1e<redacted ({{ .Size }} bytes)>\x12T\n\x15headers_to_attributes\x18\n \x03(\x0b\x32\x35.livekit.SIPInboundTrunkInfo.HeadersToAttributesEntry\x12T\n\x15\x61ttributes_to_headers\x18\x0e \x03(\x0b\x32\x35.livekit.SIPInboundTrunkInfo.AttributesToHeadersEntry\x12\x32\n\x0finclude_headers\x18\x0f \x01(\x0e\x32\x19.livekit.SIPHeaderOptions\x12\x32\n\x0fringing_timeout\x18\x0b \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x34\n\x11max_call_duration\x18\x0c \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x15\n\rkrisp_enabled\x18\r \x01(\x08\x12\x35\n\x10media_encryption\x18\x10 \x01(\x0e\x32\x1b.livekit.SIPMediaEncryption\x1a.\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a:\n\x18HeadersToAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a:\n\x18\x41ttributesToHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x80\x04\n\x15SIPInboundTrunkUpdate\x12$\n\x07numbers\x18\x01 \x01(\x0b\x32\x13.livekit.ListUpdate\x12.\n\x11\x61llowed_addresses\x18\x02 \x01(\x0b\x32\x13.livekit.ListUpdate\x12,\n\x0f\x61llowed_numbers\x18\x03 \x01(\x0b\x32\x13.livekit.ListUpdate\x12\x42\n\rauth_username\x18\x04 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e<redacted ({{ .Size }} bytes)>H\x00\x88\x01\x01\x12\x42\n\rauth_password\x18\x05 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e<redacted ({{ .Size }} bytes)>H\x01\x88\x01\x01\x12\x11\n\x04name\x18\x06 \x01(\tH\x02\x88\x01\x01\x12=\n\x08metadata\x18\x07 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e<redacted ({{ .Size }} bytes)>H\x03\x88\x01\x01\x12:\n\x10media_encryption\x18\x08 \x01(\x0e\x32\x1b.livekit.SIPMediaEncryptionH\x04\x88\x01\x01\x42\x10\n\x0e_auth_usernameB\x10\n\x0e_auth_passwordB\x07\n\x05_nameB\x0b\n\t_metadataB\x13\n\x11_media_encryption\"M\n\x1d\x43reateSIPOutboundTrunkRequest\x12,\n\x05trunk\x18\x01 \x01(\x0b\x32\x1d.livekit.SIPOutboundTrunkInfo\"\xa4\x01\n\x1dUpdateSIPOutboundTrunkRequest\x12\x14\n\x0csip_trunk_id\x18\x01 \x01(\t\x12\x30\n\x07replace\x18\x02 \x01(\x0b\x32\x1d.livekit.SIPOutboundTrunkInfoH\x00\x12\x31\n\x06update\x18\x03 \x01(\x0b\x32\x1f.livekit.SIPOutboundTrunkUpdateH\x00\x42\x08\n\x06\x61\x63tion\"\x81\x07\n\x14SIPOutboundTrunkInfo\x12\x14\n\x0csip_trunk_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x38\n\x08metadata\x18\x03 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e<redacted ({{ .Size }} bytes)>\x12\x0f\n\x07\x61\x64\x64ress\x18\x04 \x01(\t\x12\x1b\n\x13\x64\x65stination_country\x18\x0e \x01(\t\x12(\n\ttransport\x18\x05 \x01(\x0e\x32\x15.livekit.SIPTransport\x12\x0f\n\x07numbers\x18\x06 \x03(\t\x12=\n\rauth_username\x18\x07 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e<redacted ({{ .Size }} bytes)>\x12=\n\rauth_password\x18\x08 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e<redacted ({{ .Size }} bytes)>\x12\x63\n\x07headers\x18\t \x03(\x0b\x32*.livekit.SIPOutboundTrunkInfo.HeadersEntryB&\x88\xec,\x01\x92\xec,\x1e<redacted ({{ .Size }} bytes)>\x12U\n\x15headers_to_attributes\x18\n \x03(\x0b\x32\x36.livekit.SIPOutboundTrunkInfo.HeadersToAttributesEntry\x12U\n\x15\x61ttributes_to_headers\x18\x0b \x03(\x0b\x32\x36.livekit.SIPOutboundTrunkInfo.AttributesToHeadersEntry\x12\x32\n\x0finclude_headers\x18\x0c \x01(\x0e\x32\x19.livekit.SIPHeaderOptions\x12\x35\n\x10media_encryption\x18\r \x01(\x0e\x32\x1b.livekit.SIPMediaEncryption\x1a.\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a:\n\x18HeadersToAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a:\n\x18\x41ttributesToHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xbc\x04\n\x16SIPOutboundTrunkUpdate\x12\x14\n\x07\x61\x64\x64ress\x18\x01 \x01(\tH\x00\x88\x01\x01\x12-\n\ttransport\x18\x02 \x01(\x0e\x32\x15.livekit.SIPTransportH\x01\x88\x01\x01\x12 \n\x13\x64\x65stination_country\x18\t \x01(\tH\x02\x88\x01\x01\x12$\n\x07numbers\x18\x03 \x01(\x0b\x32\x13.livekit.ListUpdate\x12\x42\n\rauth_username\x18\x04 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e<redacted ({{ .Size }} bytes)>H\x03\x88\x01\x01\x12\x42\n\rauth_password\x18\x05 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e<redacted ({{ .Size }} bytes)>H\x04\x88\x01\x01\x12\x11\n\x04name\x18\x06 \x01(\tH\x05\x88\x01\x01\x12=\n\x08metadata\x18\x07 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e<redacted ({{ .Size }} bytes)>H\x06\x88\x01\x01\x12:\n\x10media_encryption\x18\x08 \x01(\x0e\x32\x1b.livekit.SIPMediaEncryptionH\x07\x88\x01\x01\x42\n\n\x08_addressB\x0c\n\n_transportB\x16\n\x14_destination_countryB\x10\n\x0e_auth_usernameB\x10\n\x0e_auth_passwordB\x07\n\x05_nameB\x0b\n\t_metadataB\x13\n\x11_media_encryption\"1\n\x19GetSIPInboundTrunkRequest\x12\x14\n\x0csip_trunk_id\x18\x01 \x01(\t\"I\n\x1aGetSIPInboundTrunkResponse\x12+\n\x05trunk\x18\x01 \x01(\x0b\x32\x1c.livekit.SIPInboundTrunkInfo\"2\n\x1aGetSIPOutboundTrunkRequest\x12\x14\n\x0csip_trunk_id\x18\x01 \x01(\t\"K\n\x1bGetSIPOutboundTrunkResponse\x12,\n\x05trunk\x18\x01 \x01(\x0b\x32\x1d.livekit.SIPOutboundTrunkInfo\"<\n\x13ListSIPTrunkRequest\x12!\n\x04page\x18\x01 \x01(\x0b\x32\x13.livekit.Pagination:\x02\x18\x01\"@\n\x14ListSIPTrunkResponse\x12$\n\x05items\x18\x01 \x03(\x0b\x32\x15.livekit.SIPTrunkInfo:\x02\x18\x01\"c\n\x1aListSIPInboundTrunkRequest\x12!\n\x04page\x18\x03 \x01(\x0b\x32\x13.livekit.Pagination\x12\x11\n\ttrunk_ids\x18\x01 \x03(\t\x12\x0f\n\x07numbers\x18\x02 \x03(\t\"J\n\x1bListSIPInboundTrunkResponse\x12+\n\x05items\x18\x01 \x03(\x0b\x32\x1c.livekit.SIPInboundTrunkInfo\"d\n\x1bListSIPOutboundTrunkRequest\x12!\n\x04page\x18\x03 \x01(\x0b\x32\x13.livekit.Pagination\x12\x11\n\ttrunk_ids\x18\x01 \x03(\t\x12\x0f\n\x07numbers\x18\x02 \x03(\t\"L\n\x1cListSIPOutboundTrunkResponse\x12,\n\x05items\x18\x01 \x03(\x0b\x32\x1d.livekit.SIPOutboundTrunkInfo\"-\n\x15\x44\x65leteSIPTrunkRequest\x12\x14\n\x0csip_trunk_id\x18\x01 \x01(\t\"7\n\x15SIPDispatchRuleDirect\x12\x11\n\troom_name\x18\x01 \x01(\t\x12\x0b\n\x03pin\x18\x02 \x01(\t\"=\n\x19SIPDispatchRuleIndividual\x12\x13\n\x0broom_prefix\x18\x01 \x01(\t\x12\x0b\n\x03pin\x18\x02 \x01(\t\"L\n\x15SIPDispatchRuleCallee\x12\x13\n\x0broom_prefix\x18\x01 \x01(\t\x12\x0b\n\x03pin\x18\x02 \x01(\t\x12\x11\n\trandomize\x18\x03 \x01(\x08\"\xe1\x01\n\x0fSIPDispatchRule\x12>\n\x14\x64ispatch_rule_direct\x18\x01 \x01(\x0b\x32\x1e.livekit.SIPDispatchRuleDirectH\x00\x12\x46\n\x18\x64ispatch_rule_individual\x18\x02 \x01(\x0b\x32\".livekit.SIPDispatchRuleIndividualH\x00\x12>\n\x14\x64ispatch_rule_callee\x18\x03 \x01(\x0b\x32\x1e.livekit.SIPDispatchRuleCalleeH\x00\x42\x06\n\x04rule\"\x96\x04\n\x1c\x43reateSIPDispatchRuleRequest\x12\x33\n\rdispatch_rule\x18\n \x01(\x0b\x32\x1c.livekit.SIPDispatchRuleInfo\x12*\n\x04rule\x18\x01 \x01(\x0b\x32\x18.livekit.SIPDispatchRuleB\x02\x18\x01\x12\x15\n\ttrunk_ids\x18\x02 \x03(\tB\x02\x18\x01\x12\x1d\n\x11hide_phone_number\x18\x03 \x01(\x08\x42\x02\x18\x01\x12\x1b\n\x0finbound_numbers\x18\x06 \x03(\tB\x02\x18\x01\x12\x10\n\x04name\x18\x04 \x01(\tB\x02\x18\x01\x12:\n\x08metadata\x18\x05 \x01(\tB(\x18\x01\x88\xec,\x01\x92\xec,\x1e<redacted ({{ .Size }} bytes)>\x12s\n\nattributes\x18\x07 \x03(\x0b\x32\x35.livekit.CreateSIPDispatchRuleRequest.AttributesEntryB(\x18\x01\x88\xec,\x01\x92\xec,\x1e<redacted ({{ .Size }} bytes)>\x12\x17\n\x0broom_preset\x18\x08 \x01(\tB\x02\x18\x01\x12\x33\n\x0broom_config\x18\t \x01(\x0b\x32\x1a.livekit.RoomConfigurationB\x02\x18\x01\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xa9\x01\n\x1cUpdateSIPDispatchRuleRequest\x12\x1c\n\x14sip_dispatch_rule_id\x18\x01 \x01(\t\x12/\n\x07replace\x18\x02 \x01(\x0b\x32\x1c.livekit.SIPDispatchRuleInfoH\x00\x12\x30\n\x06update\x18\x03 \x01(\x0b\x32\x1e.livekit.SIPDispatchRuleUpdateH\x00\x42\x08\n\x06\x61\x63tion\"\xac\x04\n\x13SIPDispatchRuleInfo\x12\x1c\n\x14sip_dispatch_rule_id\x18\x01 \x01(\t\x12&\n\x04rule\x18\x02 \x01(\x0b\x32\x18.livekit.SIPDispatchRule\x12\x11\n\ttrunk_ids\x18\x03 \x03(\t\x12\x19\n\x11hide_phone_number\x18\x04 \x01(\x08\x12\x17\n\x0finbound_numbers\x18\x07 \x03(\t\x12\x0f\n\x07numbers\x18\r \x03(\t\x12\x0c\n\x04name\x18\x05 \x01(\t\x12\x38\n\x08metadata\x18\x06 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e<redacted ({{ .Size }} bytes)>\x12h\n\nattributes\x18\x08 \x03(\x0b\x32,.livekit.SIPDispatchRuleInfo.AttributesEntryB&\x88\xec,\x01\x92\xec,\x1e<redacted ({{ .Size }} bytes)>\x12\x13\n\x0broom_preset\x18\t \x01(\t\x12/\n\x0broom_config\x18\n \x01(\x0b\x32\x1a.livekit.RoomConfiguration\x12\x15\n\rkrisp_enabled\x18\x0b \x01(\x08\x12\x35\n\x10media_encryption\x18\x0c \x01(\x0e\x32\x1b.livekit.SIPMediaEncryption\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xbf\x03\n\x15SIPDispatchRuleUpdate\x12&\n\ttrunk_ids\x18\x01 \x01(\x0b\x32\x13.livekit.ListUpdate\x12&\n\x04rule\x18\x02 \x01(\x0b\x32\x18.livekit.SIPDispatchRule\x12\x11\n\x04name\x18\x03 \x01(\tH\x00\x88\x01\x01\x12=\n\x08metadata\x18\x04 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e<redacted ({{ .Size }} bytes)>H\x01\x88\x01\x01\x12j\n\nattributes\x18\x05 \x03(\x0b\x32..livekit.SIPDispatchRuleUpdate.AttributesEntryB&\x88\xec,\x01\x92\xec,\x1e<redacted ({{ .Size }} bytes)>\x12:\n\x10media_encryption\x18\x06 \x01(\x0e\x32\x1b.livekit.SIPMediaEncryptionH\x02\x88\x01\x01\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x07\n\x05_nameB\x0b\n\t_metadataB\x13\n\x11_media_encryption\"m\n\x1aListSIPDispatchRuleRequest\x12!\n\x04page\x18\x03 \x01(\x0b\x32\x13.livekit.Pagination\x12\x19\n\x11\x64ispatch_rule_ids\x18\x01 \x03(\t\x12\x11\n\ttrunk_ids\x18\x02 \x03(\t\"J\n\x1bListSIPDispatchRuleResponse\x12+\n\x05items\x18\x01 \x03(\x0b\x32\x1c.livekit.SIPDispatchRuleInfo\"<\n\x1c\x44\x65leteSIPDispatchRuleRequest\x12\x1c\n\x14sip_dispatch_rule_id\x18\x01 \x01(\t\"\x8a\x04\n\x11SIPOutboundConfig\x12\x10\n\x08hostname\x18\x01 \x01(\t\x12\x1b\n\x13\x64\x65stination_country\x18\x07 \x01(\t\x12(\n\ttransport\x18\x02 \x01(\x0e\x32\x15.livekit.SIPTransport\x12=\n\rauth_username\x18\x03 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e<redacted ({{ .Size }} bytes)>\x12=\n\rauth_password\x18\x04 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e<redacted ({{ .Size }} bytes)>\x12R\n\x15headers_to_attributes\x18\x05 \x03(\x0b\x32\x33.livekit.SIPOutboundConfig.HeadersToAttributesEntry\x12R\n\x15\x61ttributes_to_headers\x18\x06 \x03(\x0b\x32\x33.livekit.SIPOutboundConfig.AttributesToHeadersEntry\x1a:\n\x18HeadersToAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a:\n\x18\x41ttributesToHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x9c\t\n\x1b\x43reateSIPParticipantRequest\x12\x14\n\x0csip_trunk_id\x18\x01 \x01(\t\x12)\n\x05trunk\x18\x14 \x01(\x0b\x32\x1a.livekit.SIPOutboundConfig\x12\x13\n\x0bsip_call_to\x18\x02 \x01(\t\x12\x12\n\nsip_number\x18\x0f \x01(\t\x12\x11\n\troom_name\x18\x03 \x01(\t\x12\x1c\n\x14participant_identity\x18\x04 \x01(\t\x12@\n\x10participant_name\x18\x07 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e<redacted ({{ .Size }} bytes)>\x12\x44\n\x14participant_metadata\x18\x08 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e<redacted ({{ .Size }} bytes)>\x12\x87\x01\n\x16participant_attributes\x18\t \x03(\x0b\x32?.livekit.CreateSIPParticipantRequest.ParticipantAttributesEntryB&\x88\xec,\x01\x92\xec,\x1e<redacted ({{ .Size }} bytes)>\x12\x0c\n\x04\x64tmf\x18\x05 \x01(\t\x12\x19\n\rplay_ringtone\x18\x06 \x01(\x08\x42\x02\x18\x01\x12\x15\n\rplay_dialtone\x18\r \x01(\x08\x12\x19\n\x11hide_phone_number\x18\n \x01(\x08\x12j\n\x07headers\x18\x10 \x03(\x0b\x32\x31.livekit.CreateSIPParticipantRequest.HeadersEntryB&\x88\xec,\x01\x92\xec,\x1e<redacted ({{ .Size }} bytes)>\x12\x32\n\x0finclude_headers\x18\x11 \x01(\x0e\x32\x19.livekit.SIPHeaderOptions\x12\x32\n\x0fringing_timeout\x18\x0b \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x34\n\x11max_call_duration\x18\x0c \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x15\n\rkrisp_enabled\x18\x0e \x01(\x08\x12\x35\n\x10media_encryption\x18\x12 \x01(\x0e\x32\x1b.livekit.SIPMediaEncryption\x12\x1b\n\x13wait_until_answered\x18\x13 \x01(\x08\x12\x41\n\x0c\x64isplay_name\x18\x15 \x01(\tB&\x88\xec,\x01\x92\xec,\x1e<redacted ({{ .Size }} bytes)>H\x00\x88\x01\x01\x12.\n\x0b\x64\x65stination\x18\x16 \x01(\x0b\x32\x14.livekit.DestinationH\x01\x88\x01\x01\x1a<\n\x1aParticipantAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a.\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x0f\n\r_display_nameB\x0e\n\x0c_destination\"r\n\x12SIPParticipantInfo\x12\x16\n\x0eparticipant_id\x18\x01 \x01(\t\x12\x1c\n\x14participant_identity\x18\x02 \x01(\t\x12\x11\n\troom_name\x18\x03 \x01(\t\x12\x13\n\x0bsip_call_id\x18\x04 \x01(\t\"\xce\x02\n\x1dTransferSIPParticipantRequest\x12\x1c\n\x14participant_identity\x18\x01 \x01(\t\x12\x11\n\troom_name\x18\x02 \x01(\t\x12\x13\n\x0btransfer_to\x18\x03 \x01(\t\x12\x15\n\rplay_dialtone\x18\x04 \x01(\x08\x12l\n\x07headers\x18\x05 \x03(\x0b\x32\x33.livekit.TransferSIPParticipantRequest.HeadersEntryB&\x88\xec,\x01\x92\xec,\x1e<redacted ({{ .Size }} bytes)>\x12\x32\n\x0fringing_timeout\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x1a.\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xd8\x07\n\x0bSIPCallInfo\x12\x0f\n\x07\x63\x61ll_id\x18\x01 \x01(\t\x12\x10\n\x08trunk_id\x18\x02 \x01(\t\x12\x18\n\x10\x64ispatch_rule_id\x18\x10 \x01(\t\x12\x0e\n\x06region\x18\x11 \x01(\t\x12\x11\n\troom_name\x18\x03 \x01(\t\x12\x0f\n\x07room_id\x18\x04 \x01(\t\x12\x1c\n\x14participant_identity\x18\x05 \x01(\t\x12w\n\x16participant_attributes\x18\x12 \x03(\x0b\x32/.livekit.SIPCallInfo.ParticipantAttributesEntryB&\x88\xec,\x01\x92\xec,\x1e<redacted ({{ .Size }} bytes)>\x12!\n\x08\x66rom_uri\x18\x06 \x01(\x0b\x32\x0f.livekit.SIPUri\x12\x1f\n\x06to_uri\x18\x07 \x01(\x0b\x32\x0f.livekit.SIPUri\x12\x16\n\ncreated_at\x18\t \x01(\x03\x42\x02\x18\x01\x12\x16\n\nstarted_at\x18\n \x01(\x03\x42\x02\x18\x01\x12\x14\n\x08\x65nded_at\x18\x0b \x01(\x03\x42\x02\x18\x01\x12-\n\x10\x65nabled_features\x18\x0e \x03(\x0e\x32\x13.livekit.SIPFeature\x12\x31\n\x0e\x63\x61ll_direction\x18\x0f \x01(\x0e\x32\x19.livekit.SIPCallDirection\x12+\n\x0b\x63\x61ll_status\x18\x08 \x01(\x0e\x32\x16.livekit.SIPCallStatus\x12\x15\n\rcreated_at_ns\x18\x16 \x01(\x03\x12\x15\n\rstarted_at_ns\x18\x17 \x01(\x03\x12\x13\n\x0b\x65nded_at_ns\x18\x18 \x01(\x03\x12\x34\n\x11\x64isconnect_reason\x18\x0c \x01(\x0e\x32\x19.livekit.DisconnectReason\x12\r\n\x05\x65rror\x18\r \x01(\t\x12,\n\x10\x63\x61ll_status_code\x18\x13 \x01(\x0b\x32\x12.livekit.SIPStatus\x12\x13\n\x0b\x61udio_codec\x18\x14 \x01(\t\x12\x18\n\x10media_encryption\x18\x15 \x01(\t\x12\x16\n\x0epcap_file_link\x18\x19 \x01(\t\x12*\n\x0c\x63\x61ll_context\x18\x1a \x03(\x0b\x32\x14.google.protobuf.Any\x12,\n\rprovider_info\x18\x1b \x01(\x0b\x32\x15.livekit.ProviderInfo\x12\x13\n\x0bsip_call_id\x18\x1c \x01(\t\x1a<\n\x1aParticipantAttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x86\x02\n\x0fSIPTransferInfo\x12\x13\n\x0btransfer_id\x18\x01 \x01(\t\x12\x0f\n\x07\x63\x61ll_id\x18\x02 \x01(\t\x12\x13\n\x0btransfer_to\x18\x03 \x01(\t\x12 \n\x18transfer_initiated_at_ns\x18\x04 \x01(\x03\x12 \n\x18transfer_completed_at_ns\x18\x05 \x01(\x03\x12\x33\n\x0ftransfer_status\x18\x06 \x01(\x0e\x32\x1a.livekit.SIPTransferStatus\x12\r\n\x05\x65rror\x18\x07 \x01(\t\x12\x30\n\x14transfer_status_code\x18\x08 \x01(\x0b\x32\x12.livekit.SIPStatus\"h\n\x06SIPUri\x12\x0c\n\x04user\x18\x01 \x01(\t\x12\x0c\n\x04host\x18\x02 \x01(\t\x12\n\n\x02ip\x18\x03 \x01(\t\x12\x0c\n\x04port\x18\x04 \x01(\r\x12(\n\ttransport\x18\x05 \x01(\x0e\x32\x15.livekit.SIPTransport\"<\n\x0b\x44\x65stination\x12\x0c\n\x04\x63ity\x18\x01 \x01(\t\x12\x0f\n\x07\x63ountry\x18\x02 \x01(\t\x12\x0e\n\x06region\x18\x03 \x01(\t*\xde\x14\n\rSIPStatusCode\x12\x16\n\x12SIP_STATUS_UNKNOWN\x10\x00\x12\x15\n\x11SIP_STATUS_TRYING\x10\x64\x12\x17\n\x12SIP_STATUS_RINGING\x10\xb4\x01\x12!\n\x1cSIP_STATUS_CALL_IS_FORWARDED\x10\xb5\x01\x12\x16\n\x11SIP_STATUS_QUEUED\x10\xb6\x01\x12 \n\x1bSIP_STATUS_SESSION_PROGRESS\x10\xb7\x01\x12\'\n\"SIP_STATUS_EARLY_DIALOG_TERMINATED\x10\xc7\x01\x12\x12\n\rSIP_STATUS_OK\x10\xc8\x01\x12\x18\n\x13SIP_STATUS_ACCEPTED\x10\xca\x01\x12\x1f\n\x1aSIP_STATUS_NO_NOTIFICATION\x10\xcc\x01\x12 \n\x1bSIP_STATUS_MULTIPLE_CHOICES\x10\xac\x02\x12!\n\x1cSIP_STATUS_MOVED_PERMANENTLY\x10\xad\x02\x12!\n\x1cSIP_STATUS_MOVED_TEMPORARILY\x10\xae\x02\x12\x19\n\x14SIP_STATUS_USE_PROXY\x10\xb1\x02\x12#\n\x1eSIP_STATUS_ALTERNATIVE_SERVICE\x10\xfc\x02\x12\x1b\n\x16SIP_STATUS_BAD_REQUEST\x10\x90\x03\x12\x1c\n\x17SIP_STATUS_UNAUTHORIZED\x10\x91\x03\x12 \n\x1bSIP_STATUS_PAYMENT_REQUIRED\x10\x92\x03\x12\x19\n\x14SIP_STATUS_FORBIDDEN\x10\x93\x03\x12\x18\n\x13SIP_STATUS_NOTFOUND\x10\x94\x03\x12\"\n\x1dSIP_STATUS_METHOD_NOT_ALLOWED\x10\x95\x03\x12\x1e\n\x19SIP_STATUS_NOT_ACCEPTABLE\x10\x96\x03\x12#\n\x1eSIP_STATUS_PROXY_AUTH_REQUIRED\x10\x97\x03\x12\x1f\n\x1aSIP_STATUS_REQUEST_TIMEOUT\x10\x98\x03\x12\x18\n\x13SIP_STATUS_CONFLICT\x10\x99\x03\x12\x14\n\x0fSIP_STATUS_GONE\x10\x9a\x03\x12\x1f\n\x1aSIP_STATUS_LENGTH_REQUIRED\x10\x9b\x03\x12*\n%SIP_STATUS_CONDITIONAL_REQUEST_FAILED\x10\x9c\x03\x12(\n#SIP_STATUS_REQUEST_ENTITY_TOO_LARGE\x10\x9d\x03\x12$\n\x1fSIP_STATUS_REQUEST_URI_TOO_LONG\x10\x9e\x03\x12&\n!SIP_STATUS_UNSUPPORTED_MEDIA_TYPE\x10\x9f\x03\x12/\n*SIP_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE\x10\xa0\x03\x12)\n$SIP_STATUS_UNKNOWN_RESOURCE_PRIORITY\x10\xa1\x03\x12\x1d\n\x18SIP_STATUS_BAD_EXTENSION\x10\xa4\x03\x12\"\n\x1dSIP_STATUS_EXTENSION_REQUIRED\x10\xa5\x03\x12*\n%SIP_STATUS_SESSION_INTERVAL_TOO_SMALL\x10\xa6\x03\x12\"\n\x1dSIP_STATUS_INTERVAL_TOO_BRIEF\x10\xa7\x03\x12(\n#SIP_STATUS_BAD_LOCATION_INFORMATION\x10\xa8\x03\x12!\n\x1cSIP_STATUS_BAD_ALERT_MESSAGE\x10\xa9\x03\x12#\n\x1eSIP_STATUS_USE_IDENTITY_HEADER\x10\xac\x03\x12)\n$SIP_STATUS_PROVIDE_REFERRER_IDENTITY\x10\xad\x03\x12\x1b\n\x16SIP_STATUS_FLOW_FAILED\x10\xae\x03\x12$\n\x1fSIP_STATUS_ANONYMITY_DISALLOWED\x10\xb1\x03\x12!\n\x1cSIP_STATUS_BAD_IDENTITY_INFO\x10\xb4\x03\x12\'\n\"SIP_STATUS_UNSUPPORTED_CERTIFICATE\x10\xb5\x03\x12\'\n\"SIP_STATUS_INVALID_IDENTITY_HEADER\x10\xb6\x03\x12\x30\n+SIP_STATUS_FIRST_HOP_LACKS_OUTBOUND_SUPPORT\x10\xb7\x03\x12$\n\x1fSIP_STATUS_MAX_BREADTH_EXCEEDED\x10\xb8\x03\x12 \n\x1bSIP_STATUS_BAD_INFO_PACKAGE\x10\xd5\x03\x12\x1e\n\x19SIP_STATUS_CONSENT_NEEDED\x10\xd6\x03\x12\'\n\"SIP_STATUS_TEMPORARILY_UNAVAILABLE\x10\xe0\x03\x12\x30\n+SIP_STATUS_CALL_TRANSACTION_DOES_NOT_EXISTS\x10\xe1\x03\x12\x1d\n\x18SIP_STATUS_LOOP_DETECTED\x10\xe2\x03\x12\x1d\n\x18SIP_STATUS_TOO_MANY_HOPS\x10\xe3\x03\x12\"\n\x1dSIP_STATUS_ADDRESS_INCOMPLETE\x10\xe4\x03\x12\x19\n\x14SIP_STATUS_AMBIGUOUS\x10\xe5\x03\x12\x19\n\x14SIP_STATUS_BUSY_HERE\x10\xe6\x03\x12\"\n\x1dSIP_STATUS_REQUEST_TERMINATED\x10\xe7\x03\x12#\n\x1eSIP_STATUS_NOT_ACCEPTABLE_HERE\x10\xe8\x03\x12\x19\n\x14SIP_STATUS_BAD_EVENT\x10\xe9\x03\x12\x1f\n\x1aSIP_STATUS_REQUEST_PENDING\x10\xeb\x03\x12\x1e\n\x19SIP_STATUS_UNDECIPHERABLE\x10\xed\x03\x12+\n&SIP_STATUS_SECURITY_AGREEMENT_REQUIRED\x10\xee\x03\x12%\n SIP_STATUS_INTERNAL_SERVER_ERROR\x10\xf4\x03\x12\x1f\n\x1aSIP_STATUS_NOT_IMPLEMENTED\x10\xf5\x03\x12\x1b\n\x16SIP_STATUS_BAD_GATEWAY\x10\xf6\x03\x12#\n\x1eSIP_STATUS_SERVICE_UNAVAILABLE\x10\xf7\x03\x12\x1f\n\x1aSIP_STATUS_GATEWAY_TIMEOUT\x10\xf8\x03\x12%\n SIP_STATUS_VERSION_NOT_SUPPORTED\x10\xf9\x03\x12!\n\x1cSIP_STATUS_MESSAGE_TOO_LARGE\x10\x81\x04\x12&\n!SIP_STATUS_GLOBAL_BUSY_EVERYWHERE\x10\xd8\x04\x12\x1e\n\x19SIP_STATUS_GLOBAL_DECLINE\x10\xdb\x04\x12.\n)SIP_STATUS_GLOBAL_DOES_NOT_EXIST_ANYWHERE\x10\xdc\x04\x12%\n SIP_STATUS_GLOBAL_NOT_ACCEPTABLE\x10\xde\x04\x12\x1f\n\x1aSIP_STATUS_GLOBAL_UNWANTED\x10\xdf\x04\x12\x1f\n\x1aSIP_STATUS_GLOBAL_REJECTED\x10\xe0\x04*k\n\x0cSIPTransport\x12\x16\n\x12SIP_TRANSPORT_AUTO\x10\x00\x12\x15\n\x11SIP_TRANSPORT_UDP\x10\x01\x12\x15\n\x11SIP_TRANSPORT_TCP\x10\x02\x12\x15\n\x11SIP_TRANSPORT_TLS\x10\x03*N\n\x10SIPHeaderOptions\x12\x12\n\x0eSIP_NO_HEADERS\x10\x00\x12\x11\n\rSIP_X_HEADERS\x10\x01\x12\x13\n\x0fSIP_ALL_HEADERS\x10\x02*o\n\x12SIPMediaEncryption\x12\x1d\n\x19SIP_MEDIA_ENCRYPT_DISABLE\x10\x00\x12\x1b\n\x17SIP_MEDIA_ENCRYPT_ALLOW\x10\x01\x12\x1d\n\x19SIP_MEDIA_ENCRYPT_REQUIRE\x10\x02*a\n\x0cProviderType\x12\x19\n\x15PROVIDER_TYPE_UNKNOWN\x10\x00\x12\x1a\n\x16PROVIDER_TYPE_INTERNAL\x10\x01\x12\x1a\n\x16PROVIDER_TYPE_EXTERNAL\x10\x02*w\n\rSIPCallStatus\x12\x15\n\x11SCS_CALL_INCOMING\x10\x00\x12\x1a\n\x16SCS_PARTICIPANT_JOINED\x10\x01\x12\x0e\n\nSCS_ACTIVE\x10\x02\x12\x14\n\x10SCS_DISCONNECTED\x10\x03\x12\r\n\tSCS_ERROR\x10\x04*c\n\x11SIPTransferStatus\x12\x18\n\x14STS_TRANSFER_ONGOING\x10\x00\x12\x17\n\x13STS_TRANSFER_FAILED\x10\x01\x12\x1b\n\x17STS_TRANSFER_SUCCESSFUL\x10\x02*)\n\nSIPFeature\x12\x08\n\x04NONE\x10\x00\x12\x11\n\rKRISP_ENABLED\x10\x01*F\n\x10SIPCallDirection\x12\x0f\n\x0bSCD_UNKNOWN\x10\x00\x12\x0f\n\x0bSCD_INBOUND\x10\x01\x12\x10\n\x0cSCD_OUTBOUND\x10\x02\x32\xd7\x0b\n\x03SIP\x12P\n\x0cListSIPTrunk\x12\x1c.livekit.ListSIPTrunkRequest\x1a\x1d.livekit.ListSIPTrunkResponse\"\x03\x88\x02\x01\x12\\\n\x15\x43reateSIPInboundTrunk\x12%.livekit.CreateSIPInboundTrunkRequest\x1a\x1c.livekit.SIPInboundTrunkInfo\x12_\n\x16\x43reateSIPOutboundTrunk\x12&.livekit.CreateSIPOutboundTrunkRequest\x1a\x1d.livekit.SIPOutboundTrunkInfo\x12\\\n\x15UpdateSIPInboundTrunk\x12%.livekit.UpdateSIPInboundTrunkRequest\x1a\x1c.livekit.SIPInboundTrunkInfo\x12_\n\x16UpdateSIPOutboundTrunk\x12&.livekit.UpdateSIPOutboundTrunkRequest\x1a\x1d.livekit.SIPOutboundTrunkInfo\x12]\n\x12GetSIPInboundTrunk\x12\".livekit.GetSIPInboundTrunkRequest\x1a#.livekit.GetSIPInboundTrunkResponse\x12`\n\x13GetSIPOutboundTrunk\x12#.livekit.GetSIPOutboundTrunkRequest\x1a$.livekit.GetSIPOutboundTrunkResponse\x12`\n\x13ListSIPInboundTrunk\x12#.livekit.ListSIPInboundTrunkRequest\x1a$.livekit.ListSIPInboundTrunkResponse\x12\x63\n\x14ListSIPOutboundTrunk\x12$.livekit.ListSIPOutboundTrunkRequest\x1a%.livekit.ListSIPOutboundTrunkResponse\x12G\n\x0e\x44\x65leteSIPTrunk\x12\x1e.livekit.DeleteSIPTrunkRequest\x1a\x15.livekit.SIPTrunkInfo\x12\\\n\x15\x43reateSIPDispatchRule\x12%.livekit.CreateSIPDispatchRuleRequest\x1a\x1c.livekit.SIPDispatchRuleInfo\x12\\\n\x15UpdateSIPDispatchRule\x12%.livekit.UpdateSIPDispatchRuleRequest\x1a\x1c.livekit.SIPDispatchRuleInfo\x12`\n\x13ListSIPDispatchRule\x12#.livekit.ListSIPDispatchRuleRequest\x1a$.livekit.ListSIPDispatchRuleResponse\x12\\\n\x15\x44\x65leteSIPDispatchRule\x12%.livekit.DeleteSIPDispatchRuleRequest\x1a\x1c.livekit.SIPDispatchRuleInfo\x12Y\n\x14\x43reateSIPParticipant\x12$.livekit.CreateSIPParticipantRequest\x1a\x1b.livekit.SIPParticipantInfo\x12X\n\x16TransferSIPParticipant\x12&.livekit.TransferSIPParticipantRequest\x1a\x16.google.protobuf.EmptyBFZ#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3"
|
|
16
|
+
descriptor_data = "\n\x11livekit_sip.proto\x12\x07livekit\x1a\x19google/protobuf/any.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x14livekit_models.proto\x1a\x12livekit_room.proto\x1a\x14logger/options.proto\"A\n\tSIPStatus\x12$\n\x04\x63ode\x18\x01 \x01(\x0e\x32\x16.livekit.SIPStatusCode\x12\x0e\n\x06status\x18\x02 \x01(\t\"\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<redacted ({{ .Size }} bytes)>\xc0P\x01:\x02\x18\x01\"&\n\x08SIPCodec\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04rate\x18\x02 \x01(\r\"\xdd\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\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<redacted ({{ .Size }} bytes)>\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\"\xbf\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<redacted ({{ .Size }} bytes)>\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<redacted ({{ .Size }} bytes)>\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\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<redacted ({{ .Size }} bytes)>\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<redacted ({{ .Size }} bytes)>\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<redacted ({{ .Size }} bytes)>\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<redacted ({{ .Size }} bytes)>\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\"7\n\x15SIPDispatchRuleDirect\x12\x11\n\troom_name\x18\x01 \x01(\t\x12\x0b\n\x03pin\x18\x02 \x01(\t\"T\n\x19SIPDispatchRuleIndividual\x12\x13\n\x0broom_prefix\x18\x01 \x01(\t\x12\x0b\n\x03pin\x18\x02 \x01(\t\x12\x15\n\rno_randomness\x18\x03 \x01(\x08\"L\n\x15SIPDispatchRuleCallee\x12\x13\n\x0broom_prefix\x18\x01 \x01(\t\x12\x0b\n\x03pin\x18\x02 \x01(\t\x12\x11\n\trandomize\x18\x03 \x01(\x08\"\xe1\x01\n\x0fSIPDispatchRule\x12>\n\x14\x64ispatch_rule_direct\x18\x01 \x01(\x0b\x32\x1e.livekit.SIPDispatchRuleDirectH\x00\x12\x46\n\x18\x64ispatch_rule_individual\x18\x02 \x01(\x0b\x32\".livekit.SIPDispatchRuleIndividualH\x00\x12>\n\x14\x64ispatch_rule_callee\x18\x03 \x01(\x0b\x32\x1e.livekit.SIPDispatchRuleCalleeH\x00\x42\x06\n\x04rule\"\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<redacted ({{ .Size }} bytes)>\xc0P\x01\x12q\n\nattributes\x18\x07 \x03(\x0b\x32\x35.livekit.CreateSIPDispatchRuleRequest.AttributesEntryB&\x18\x01\xb2P\x1e<redacted ({{ .Size }} bytes)>\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<redacted ({{ .Size }} bytes)>\xc0P\x01\x12\x66\n\nattributes\x18\x08 \x03(\x0b\x32,.livekit.SIPDispatchRuleInfo.AttributesEntryB$\xb2P\x1e<redacted ({{ .Size }} bytes)>\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<redacted ({{ .Size }} bytes)>\xc0P\x01H\x01\x88\x01\x01\x12h\n\nattributes\x18\x05 \x03(\x0b\x32..livekit.SIPDispatchRuleUpdate.AttributesEntryB$\xb2P\x1e<redacted ({{ .Size }} bytes)>\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\"\xdd\n\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\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<redacted ({{ .Size }} bytes)>\xc0P\x01\x12\x42\n\x14participant_metadata\x18\x08 \x01(\tB$\xb2P\x1e<redacted ({{ .Size }} bytes)>\xc0P\x01\x12\x85\x01\n\x16participant_attributes\x18\t \x03(\x0b\x32?.livekit.CreateSIPParticipantRequest.ParticipantAttributesEntryB$\xb2P\x1e<redacted ({{ .Size }} bytes)>\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\x15\n\rplay_dialtone\x18\r \x01(\x08\x12\x19\n\x11hide_phone_number\x18\n \x01(\x08\x12h\n\x07headers\x18\x10 \x03(\x0b\x32\x31.livekit.CreateSIPParticipantRequest.HeadersEntryB$\xb2P\x1e<redacted ({{ .Size }} bytes)>\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<redacted ({{ .Size }} bytes)>\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\"\xcc\x02\n\x1dTransferSIPParticipantRequest\x12\x1c\n\x14participant_identity\x18\x01 \x01(\t\x12\x11\n\troom_name\x18\x02 \x01(\t\x12\x13\n\x0btransfer_to\x18\x03 \x01(\t\x12\x15\n\rplay_dialtone\x18\x04 \x01(\x08\x12j\n\x07headers\x18\x05 \x03(\x0b\x32\x33.livekit.TransferSIPParticipantRequest.HeadersEntryB$\xb2P\x1e<redacted ({{ .Size }} bytes)>\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\"\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<redacted ({{ .Size }} bytes)>\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\"\xa0\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\"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*a\n\x0cProviderType\x12\x19\n\x15PROVIDER_TYPE_UNKNOWN\x10\x00\x12\x1a\n\x16PROVIDER_TYPE_INTERNAL\x10\x01\x12\x1a\n\x16PROVIDER_TYPE_EXTERNAL\x10\x02*w\n\rSIPCallStatus\x12\x15\n\x11SCS_CALL_INCOMING\x10\x00\x12\x1a\n\x16SCS_PARTICIPANT_JOINED\x10\x01\x12\x0e\n\nSCS_ACTIVE\x10\x02\x12\x14\n\x10SCS_DISCONNECTED\x10\x03\x12\r\n\tSCS_ERROR\x10\x04*c\n\x11SIPTransferStatus\x12\x18\n\x14STS_TRANSFER_ONGOING\x10\x00\x12\x17\n\x13STS_TRANSFER_FAILED\x10\x01\x12\x1b\n\x17STS_TRANSFER_SUCCESSFUL\x10\x02*)\n\nSIPFeature\x12\x08\n\x04NONE\x10\x00\x12\x11\n\rKRISP_ENABLED\x10\x01*F\n\x10SIPCallDirection\x12\x0f\n\x0bSCD_UNKNOWN\x10\x00\x12\x0f\n\x0bSCD_INBOUND\x10\x01\x12\x10\n\x0cSCD_OUTBOUND\x10\x02\x32\xd7\x0b\n\x03SIP\x12P\n\x0cListSIPTrunk\x12\x1c.livekit.ListSIPTrunkRequest\x1a\x1d.livekit.ListSIPTrunkResponse\"\x03\x88\x02\x01\x12\\\n\x15\x43reateSIPInboundTrunk\x12%.livekit.CreateSIPInboundTrunkRequest\x1a\x1c.livekit.SIPInboundTrunkInfo\x12_\n\x16\x43reateSIPOutboundTrunk\x12&.livekit.CreateSIPOutboundTrunkRequest\x1a\x1d.livekit.SIPOutboundTrunkInfo\x12\\\n\x15UpdateSIPInboundTrunk\x12%.livekit.UpdateSIPInboundTrunkRequest\x1a\x1c.livekit.SIPInboundTrunkInfo\x12_\n\x16UpdateSIPOutboundTrunk\x12&.livekit.UpdateSIPOutboundTrunkRequest\x1a\x1d.livekit.SIPOutboundTrunkInfo\x12]\n\x12GetSIPInboundTrunk\x12\".livekit.GetSIPInboundTrunkRequest\x1a#.livekit.GetSIPInboundTrunkResponse\x12`\n\x13GetSIPOutboundTrunk\x12#.livekit.GetSIPOutboundTrunkRequest\x1a$.livekit.GetSIPOutboundTrunkResponse\x12`\n\x13ListSIPInboundTrunk\x12#.livekit.ListSIPInboundTrunkRequest\x1a$.livekit.ListSIPInboundTrunkResponse\x12\x63\n\x14ListSIPOutboundTrunk\x12$.livekit.ListSIPOutboundTrunkRequest\x1a%.livekit.ListSIPOutboundTrunkResponse\x12G\n\x0e\x44\x65leteSIPTrunk\x12\x1e.livekit.DeleteSIPTrunkRequest\x1a\x15.livekit.SIPTrunkInfo\x12\\\n\x15\x43reateSIPDispatchRule\x12%.livekit.CreateSIPDispatchRuleRequest\x1a\x1c.livekit.SIPDispatchRuleInfo\x12\\\n\x15UpdateSIPDispatchRule\x12%.livekit.UpdateSIPDispatchRuleRequest\x1a\x1c.livekit.SIPDispatchRuleInfo\x12`\n\x13ListSIPDispatchRule\x12#.livekit.ListSIPDispatchRuleRequest\x1a$.livekit.ListSIPDispatchRuleResponse\x12\\\n\x15\x44\x65leteSIPDispatchRule\x12%.livekit.DeleteSIPDispatchRuleRequest\x1a\x1c.livekit.SIPDispatchRuleInfo\x12Y\n\x14\x43reateSIPParticipant\x12$.livekit.CreateSIPParticipantRequest\x1a\x1b.livekit.SIPParticipantInfo\x12X\n\x16TransferSIPParticipant\x12&.livekit.TransferSIPParticipantRequest\x1a\x16.google.protobuf.EmptyBFZ#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3"
|
|
16
17
|
|
|
17
|
-
pool =
|
|
18
|
+
pool = Google::Protobuf::DescriptorPool.generated_pool
|
|
18
19
|
pool.add_serialized_file(descriptor_data)
|
|
19
20
|
|
|
20
21
|
module LiveKit
|
|
21
22
|
module Proto
|
|
22
23
|
SIPStatus = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SIPStatus").msgclass
|
|
23
24
|
CreateSIPTrunkRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.CreateSIPTrunkRequest").msgclass
|
|
25
|
+
SIPCodec = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SIPCodec").msgclass
|
|
26
|
+
SIPMediaConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SIPMediaConfig").msgclass
|
|
24
27
|
ProviderInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ProviderInfo").msgclass
|
|
25
28
|
SIPTrunkInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SIPTrunkInfo").msgclass
|
|
26
29
|
SIPTrunkInfo::TrunkKind = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SIPTrunkInfo.TrunkKind").enummodule
|
|
@@ -61,6 +64,8 @@ module LiveKit
|
|
|
61
64
|
SIPCallInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SIPCallInfo").msgclass
|
|
62
65
|
SIPTransferInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SIPTransferInfo").msgclass
|
|
63
66
|
SIPUri = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SIPUri").msgclass
|
|
67
|
+
SIPRequestDest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SIPRequestDest").msgclass
|
|
68
|
+
SIPNamedDest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SIPNamedDest").msgclass
|
|
64
69
|
Destination = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.Destination").msgclass
|
|
65
70
|
SIPStatusCode = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SIPStatusCode").enummodule
|
|
66
71
|
SIPTransport = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SIPTransport").enummodule
|
|
@@ -11,7 +11,7 @@ require 'livekit_ingress_pb'
|
|
|
11
11
|
|
|
12
12
|
descriptor_data = "\n\x15livekit_webhook.proto\x12\x07livekit\x1a\x14livekit_models.proto\x1a\x14livekit_egress.proto\x1a\x15livekit_ingress.proto\"\x9b\x02\n\x0cWebhookEvent\x12\r\n\x05\x65vent\x18\x01 \x01(\t\x12\x1b\n\x04room\x18\x02 \x01(\x0b\x32\r.livekit.Room\x12-\n\x0bparticipant\x18\x03 \x01(\x0b\x32\x18.livekit.ParticipantInfo\x12(\n\x0b\x65gress_info\x18\t \x01(\x0b\x32\x13.livekit.EgressInfo\x12*\n\x0cingress_info\x18\n \x01(\x0b\x32\x14.livekit.IngressInfo\x12!\n\x05track\x18\x08 \x01(\x0b\x32\x12.livekit.TrackInfo\x12\n\n\x02id\x18\x06 \x01(\t\x12\x12\n\ncreated_at\x18\x07 \x01(\x03\x12\x17\n\x0bnum_dropped\x18\x0b \x01(\x05\x42\x02\x18\x01\x42\x46Z#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3"
|
|
13
13
|
|
|
14
|
-
pool =
|
|
14
|
+
pool = Google::Protobuf::DescriptorPool.generated_pool
|
|
15
15
|
pool.add_serialized_file(descriptor_data)
|
|
16
16
|
|
|
17
17
|
module LiveKit
|
|
@@ -7,12 +7,13 @@ require 'google/protobuf'
|
|
|
7
7
|
require 'google/protobuf/descriptor_pb'
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
descriptor_data = "\n\x14logger/options.proto\x12\x06logger\x1a google/protobuf/descriptor.proto
|
|
10
|
+
descriptor_data = "\n\x14logger/options.proto\x12\x06logger\x1a google/protobuf/descriptor.proto*W\n\x0bSensitivity\x12\x1b\n\x17SENSITIVITY_UNSPECIFIED\x10\x00\x12\x13\n\x0fSENSITIVITY_PII\x10\x01\x12\x16\n\x12SENSITIVITY_SECRET\x10\x02:5\n\rredact_format\x12\x1d.google.protobuf.FieldOptions\x18\x86\n \x01(\t:,\n\x04name\x12\x1d.google.protobuf.FieldOptions\x18\x87\n \x01(\t:H\n\x0bsensitivity\x12\x1d.google.protobuf.FieldOptions\x18\x88\n \x01(\x0e\x32\x13.logger.SensitivityBMZ*github.com/livekit/protocol/livekit/logger\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3"
|
|
11
11
|
|
|
12
|
-
pool =
|
|
12
|
+
pool = Google::Protobuf::DescriptorPool.generated_pool
|
|
13
13
|
pool.add_serialized_file(descriptor_data)
|
|
14
14
|
|
|
15
15
|
module LiveKit
|
|
16
16
|
module Proto
|
|
17
|
+
Sensitivity = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("logger.Sensitivity").enummodule
|
|
17
18
|
end
|
|
18
19
|
end
|
|
@@ -4,6 +4,7 @@ require 'securerandom'
|
|
|
4
4
|
require "livekit/proto/livekit_room_twirp"
|
|
5
5
|
require "livekit/auth_mixin"
|
|
6
6
|
require 'livekit/utils'
|
|
7
|
+
require 'livekit/failover'
|
|
7
8
|
|
|
8
9
|
|
|
9
10
|
module LiveKit
|
|
@@ -12,10 +13,11 @@ module LiveKit
|
|
|
12
13
|
include AuthMixin
|
|
13
14
|
attr_accessor :api_key, :api_secret
|
|
14
15
|
|
|
15
|
-
def initialize(base_url, api_key: nil, api_secret: nil)
|
|
16
|
-
super(
|
|
16
|
+
def initialize(base_url, api_key: nil, api_secret: nil, token: nil, failover: true, connection: nil)
|
|
17
|
+
super(connection || LiveKit::Failover.connection(base_url, failover))
|
|
17
18
|
@api_key = api_key
|
|
18
19
|
@api_secret = api_secret
|
|
20
|
+
@token = token
|
|
19
21
|
end
|
|
20
22
|
|
|
21
23
|
def create_room(name,
|
|
@@ -28,7 +30,7 @@ module LiveKit
|
|
|
28
30
|
sync_streams: nil,
|
|
29
31
|
departure_timeout: nil
|
|
30
32
|
)
|
|
31
|
-
|
|
33
|
+
rpc!(
|
|
32
34
|
:CreateRoom,
|
|
33
35
|
Proto::CreateRoomRequest.new(
|
|
34
36
|
name: name,
|
|
@@ -46,7 +48,7 @@ module LiveKit
|
|
|
46
48
|
end
|
|
47
49
|
|
|
48
50
|
def list_rooms(names: nil)
|
|
49
|
-
|
|
51
|
+
rpc!(
|
|
50
52
|
:ListRooms,
|
|
51
53
|
Proto::ListRoomsRequest.new(names: names),
|
|
52
54
|
headers:auth_header(video_grant: VideoGrant.new(roomList: true)),
|
|
@@ -54,7 +56,7 @@ module LiveKit
|
|
|
54
56
|
end
|
|
55
57
|
|
|
56
58
|
def delete_room(room:)
|
|
57
|
-
|
|
59
|
+
rpc!(
|
|
58
60
|
:DeleteRoom,
|
|
59
61
|
Proto::DeleteRoomRequest.new(room: room),
|
|
60
62
|
headers:auth_header(video_grant: VideoGrant.new(roomCreate: true)),
|
|
@@ -62,7 +64,7 @@ module LiveKit
|
|
|
62
64
|
end
|
|
63
65
|
|
|
64
66
|
def update_room_metadata(room:, metadata:)
|
|
65
|
-
|
|
67
|
+
rpc!(
|
|
66
68
|
:UpdateRoomMetadata,
|
|
67
69
|
Proto::UpdateRoomMetadataRequest.new(room: room, metadata: metadata),
|
|
68
70
|
headers:auth_header(video_grant: VideoGrant.new(roomAdmin: true, room: room)),
|
|
@@ -70,7 +72,7 @@ module LiveKit
|
|
|
70
72
|
end
|
|
71
73
|
|
|
72
74
|
def list_participants(room:)
|
|
73
|
-
|
|
75
|
+
rpc!(
|
|
74
76
|
:ListParticipants,
|
|
75
77
|
Proto::ListParticipantsRequest.new(room: room),
|
|
76
78
|
headers:auth_header(video_grant: VideoGrant.new(roomAdmin: true, room: room)),
|
|
@@ -78,7 +80,7 @@ module LiveKit
|
|
|
78
80
|
end
|
|
79
81
|
|
|
80
82
|
def get_participant(room:, identity:)
|
|
81
|
-
|
|
83
|
+
rpc!(
|
|
82
84
|
:GetParticipant,
|
|
83
85
|
Proto::RoomParticipantIdentity.new(room: room, identity: identity),
|
|
84
86
|
headers:auth_header(video_grant: VideoGrant.new(roomAdmin: true, room: room)),
|
|
@@ -86,7 +88,7 @@ module LiveKit
|
|
|
86
88
|
end
|
|
87
89
|
|
|
88
90
|
def remove_participant(room:, identity:)
|
|
89
|
-
|
|
91
|
+
rpc!(
|
|
90
92
|
:RemoveParticipant,
|
|
91
93
|
Proto::RoomParticipantIdentity.new(room: room, identity: identity),
|
|
92
94
|
headers:auth_header(video_grant: VideoGrant.new(roomAdmin: true, room: room)),
|
|
@@ -94,7 +96,7 @@ module LiveKit
|
|
|
94
96
|
end
|
|
95
97
|
|
|
96
98
|
def forward_participant(room:, identity:, destination_room:)
|
|
97
|
-
|
|
99
|
+
rpc!(
|
|
98
100
|
:ForwardParticipant,
|
|
99
101
|
Proto::ForwardParticipantRequest.new(room: room, identity: identity, destination_room: destination_room),
|
|
100
102
|
headers:auth_header(video_grant: VideoGrant.new(roomAdmin: true, room: room, destinationRoom: destination_room)),
|
|
@@ -102,7 +104,7 @@ module LiveKit
|
|
|
102
104
|
end
|
|
103
105
|
|
|
104
106
|
def move_participant(room:, identity:, destination_room:)
|
|
105
|
-
|
|
107
|
+
rpc!(
|
|
106
108
|
:MoveParticipant,
|
|
107
109
|
Proto::MoveParticipantRequest.new(room: room, identity: identity, destination_room: destination_room),
|
|
108
110
|
headers:auth_header(video_grant: VideoGrant.new(roomAdmin: true, room: room, destinationRoom: destination_room)),
|
|
@@ -110,7 +112,7 @@ module LiveKit
|
|
|
110
112
|
end
|
|
111
113
|
|
|
112
114
|
def mute_published_track(room:, identity:, track_sid:, muted:)
|
|
113
|
-
|
|
115
|
+
rpc!(
|
|
114
116
|
:MutePublishedTrack,
|
|
115
117
|
Proto::MuteRoomTrackRequest.new(
|
|
116
118
|
room: room,
|
|
@@ -147,7 +149,7 @@ module LiveKit
|
|
|
147
149
|
end
|
|
148
150
|
req.attributes = attr_map
|
|
149
151
|
end
|
|
150
|
-
|
|
152
|
+
rpc!(
|
|
151
153
|
:UpdateParticipant,
|
|
152
154
|
req,
|
|
153
155
|
headers:auth_header(video_grant: VideoGrant.new(roomAdmin: true, room: room)),
|
|
@@ -155,7 +157,7 @@ module LiveKit
|
|
|
155
157
|
end
|
|
156
158
|
|
|
157
159
|
def update_subscriptions(room:, identity:, track_sids:, subscribe:)
|
|
158
|
-
|
|
160
|
+
rpc!(
|
|
159
161
|
:UpdateSubscriptions,
|
|
160
162
|
Proto::UpdateSubscriptionsRequest.new(
|
|
161
163
|
room: room,
|
|
@@ -171,7 +173,7 @@ module LiveKit
|
|
|
171
173
|
destination_sids: [],
|
|
172
174
|
destination_identities: []
|
|
173
175
|
)
|
|
174
|
-
|
|
176
|
+
rpc!(
|
|
175
177
|
:SendData,
|
|
176
178
|
Proto::SendDataRequest.new(
|
|
177
179
|
room: room,
|