livekit-server-sdk 0.8.3 → 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.
Files changed (56) hide show
  1. checksums.yaml +4 -4
  2. data/.github/CODEOWNERS +1 -0
  3. data/.github/banner_dark.png +0 -0
  4. data/.github/banner_light.png +0 -0
  5. data/.github/workflows/generate-protobufs.yml +82 -0
  6. data/.github/workflows/test-api.yml +43 -0
  7. data/.github/workflows/test.yml +10 -7
  8. data/CHANGELOG.md +18 -0
  9. data/Gemfile.lock +70 -39
  10. data/README.md +7 -5
  11. data/Rakefile +8 -2
  12. data/bin/bootstrap.sh +1 -1
  13. data/lib/livekit/agent_dispatch_service_client.rb +11 -9
  14. data/lib/livekit/auth_mixin.rb +23 -8
  15. data/lib/livekit/connector_service_client.rb +87 -0
  16. data/lib/livekit/dial_timeout.rb +26 -0
  17. data/lib/livekit/egress_service_client.rb +41 -19
  18. data/lib/livekit/errors.rb +60 -0
  19. data/lib/livekit/failover.rb +215 -0
  20. data/lib/livekit/grants.rb +6 -2
  21. data/lib/livekit/ingress_service_client.rb +8 -6
  22. data/lib/livekit/livekit_api.rb +67 -0
  23. data/lib/livekit/proto/livekit_agent_dispatch_pb.rb +3 -1
  24. data/lib/livekit/proto/livekit_agent_dispatch_twirp.rb +1 -1
  25. data/lib/livekit/proto/livekit_agent_pb.rb +2 -1
  26. data/lib/livekit/proto/livekit_agent_twirp.rb +1 -1
  27. data/lib/livekit/proto/livekit_connector_pb.rb +20 -0
  28. data/lib/livekit/proto/livekit_connector_twilio_pb.rb +22 -0
  29. data/lib/livekit/proto/livekit_connector_twilio_twirp.rb +8 -0
  30. data/lib/livekit/proto/livekit_connector_twirp.rb +21 -0
  31. data/lib/livekit/proto/livekit_connector_whatsapp_pb.rb +32 -0
  32. data/lib/livekit/proto/livekit_connector_whatsapp_twirp.rb +8 -0
  33. data/lib/livekit/proto/livekit_egress_pb.rb +33 -16
  34. data/lib/livekit/proto/livekit_egress_twirp.rb +6 -5
  35. data/lib/livekit/proto/livekit_ingress_pb.rb +2 -1
  36. data/lib/livekit/proto/livekit_ingress_twirp.rb +1 -1
  37. data/lib/livekit/proto/livekit_metrics_pb.rb +3 -1
  38. data/lib/livekit/proto/livekit_metrics_twirp.rb +1 -1
  39. data/lib/livekit/proto/livekit_models_pb.rb +20 -1
  40. data/lib/livekit/proto/livekit_models_twirp.rb +1 -1
  41. data/lib/livekit/proto/livekit_room_pb.rb +8 -1
  42. data/lib/livekit/proto/livekit_room_twirp.rb +4 -1
  43. data/lib/livekit/proto/livekit_rtc_pb.rb +86 -0
  44. data/lib/livekit/proto/livekit_rtc_twirp.rb +8 -0
  45. data/lib/livekit/proto/livekit_sip_pb.rb +20 -1
  46. data/lib/livekit/proto/livekit_sip_twirp.rb +4 -1
  47. data/lib/livekit/proto/livekit_webhook_pb.rb +1 -1
  48. data/lib/livekit/proto/livekit_webhook_twirp.rb +1 -1
  49. data/lib/livekit/proto/logger/options_pb.rb +19 -0
  50. data/lib/livekit/proto/logger/options_twirp.rb +8 -0
  51. data/lib/livekit/room_service_client.rb +31 -13
  52. data/lib/livekit/sip_service_client.rb +147 -21
  53. data/lib/livekit/version.rb +1 -1
  54. data/lib/livekit.rb +3 -0
  55. data/livekit_server_sdk.gemspec +8 -8
  56. metadata +59 -32
@@ -6,9 +6,10 @@ require 'google/protobuf'
6
6
 
7
7
  require 'google/protobuf/timestamp_pb'
8
8
  require 'livekit_metrics_pb'
9
+ require 'logger/options_pb'
9
10
 
10
11
 
11
- descriptor_data = "\n\x14livekit_models.proto\x12\x07livekit\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x15livekit_metrics.proto\"-\n\nPagination\x12\x10\n\x08\x61\x66ter_id\x18\x01 \x01(\t\x12\r\n\x05limit\x18\x02 \x01(\x05\"\xe3\x02\n\x04Room\x12\x0b\n\x03sid\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x15\n\rempty_timeout\x18\x03 \x01(\r\x12\x19\n\x11\x64\x65parture_timeout\x18\x0e \x01(\r\x12\x18\n\x10max_participants\x18\x04 \x01(\r\x12\x15\n\rcreation_time\x18\x05 \x01(\x03\x12\x18\n\x10\x63reation_time_ms\x18\x0f \x01(\x03\x12\x15\n\rturn_password\x18\x06 \x01(\t\x12&\n\x0e\x65nabled_codecs\x18\x07 \x03(\x0b\x32\x0e.livekit.Codec\x12\x10\n\x08metadata\x18\x08 \x01(\t\x12\x18\n\x10num_participants\x18\t \x01(\r\x12\x16\n\x0enum_publishers\x18\x0b \x01(\r\x12\x18\n\x10\x61\x63tive_recording\x18\n \x01(\x08\x12&\n\x07version\x18\r \x01(\x0b\x32\x15.livekit.TimedVersion\"(\n\x05\x43odec\x12\x0c\n\x04mime\x18\x01 \x01(\t\x12\x11\n\tfmtp_line\x18\x02 \x01(\t\"9\n\x0cPlayoutDelay\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x0b\n\x03min\x18\x02 \x01(\r\x12\x0b\n\x03max\x18\x03 \x01(\r\"\x85\x02\n\x15ParticipantPermission\x12\x15\n\rcan_subscribe\x18\x01 \x01(\x08\x12\x13\n\x0b\x63\x61n_publish\x18\x02 \x01(\x08\x12\x18\n\x10\x63\x61n_publish_data\x18\x03 \x01(\x08\x12\x31\n\x13\x63\x61n_publish_sources\x18\t \x03(\x0e\x32\x14.livekit.TrackSource\x12\x0e\n\x06hidden\x18\x07 \x01(\x08\x12\x14\n\x08recorder\x18\x08 \x01(\x08\x42\x02\x18\x01\x12\x1b\n\x13\x63\x61n_update_metadata\x18\n \x01(\x08\x12\x11\n\x05\x61gent\x18\x0b \x01(\x08\x42\x02\x18\x01\x12\x1d\n\x15\x63\x61n_subscribe_metrics\x18\x0c \x01(\x08\"\x8e\x05\n\x0fParticipantInfo\x12\x0b\n\x03sid\x18\x01 \x01(\t\x12\x10\n\x08identity\x18\x02 \x01(\t\x12-\n\x05state\x18\x03 \x01(\x0e\x32\x1e.livekit.ParticipantInfo.State\x12\"\n\x06tracks\x18\x04 \x03(\x0b\x32\x12.livekit.TrackInfo\x12\x10\n\x08metadata\x18\x05 \x01(\t\x12\x11\n\tjoined_at\x18\x06 \x01(\x03\x12\x14\n\x0cjoined_at_ms\x18\x11 \x01(\x03\x12\x0c\n\x04name\x18\t \x01(\t\x12\x0f\n\x07version\x18\n \x01(\r\x12\x32\n\npermission\x18\x0b \x01(\x0b\x32\x1e.livekit.ParticipantPermission\x12\x0e\n\x06region\x18\x0c \x01(\t\x12\x14\n\x0cis_publisher\x18\r \x01(\x08\x12+\n\x04kind\x18\x0e \x01(\x0e\x32\x1d.livekit.ParticipantInfo.Kind\x12<\n\nattributes\x18\x0f \x03(\x0b\x32(.livekit.ParticipantInfo.AttributesEntry\x12\x34\n\x11\x64isconnect_reason\x18\x10 \x01(\x0e\x32\x19.livekit.DisconnectReason\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\">\n\x05State\x12\x0b\n\x07JOINING\x10\x00\x12\n\n\x06JOINED\x10\x01\x12\n\n\x06\x41\x43TIVE\x10\x02\x12\x10\n\x0c\x44ISCONNECTED\x10\x03\"A\n\x04Kind\x12\x0c\n\x08STANDARD\x10\x00\x12\x0b\n\x07INGRESS\x10\x01\x12\n\n\x06\x45GRESS\x10\x02\x12\x07\n\x03SIP\x10\x03\x12\t\n\x05\x41GENT\x10\x04\"3\n\nEncryption\"%\n\x04Type\x12\x08\n\x04NONE\x10\x00\x12\x07\n\x03GCM\x10\x01\x12\n\n\x06\x43USTOM\x10\x02\"f\n\x12SimulcastCodecInfo\x12\x11\n\tmime_type\x18\x01 \x01(\t\x12\x0b\n\x03mid\x18\x02 \x01(\t\x12\x0b\n\x03\x63id\x18\x03 \x01(\t\x12#\n\x06layers\x18\x04 \x03(\x0b\x32\x13.livekit.VideoLayer\"\xae\x04\n\tTrackInfo\x12\x0b\n\x03sid\x18\x01 \x01(\t\x12 \n\x04type\x18\x02 \x01(\x0e\x32\x12.livekit.TrackType\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\r\n\x05muted\x18\x04 \x01(\x08\x12\r\n\x05width\x18\x05 \x01(\r\x12\x0e\n\x06height\x18\x06 \x01(\r\x12\x11\n\tsimulcast\x18\x07 \x01(\x08\x12\x13\n\x0b\x64isable_dtx\x18\x08 \x01(\x08\x12$\n\x06source\x18\t \x01(\x0e\x32\x14.livekit.TrackSource\x12#\n\x06layers\x18\n \x03(\x0b\x32\x13.livekit.VideoLayer\x12\x11\n\tmime_type\x18\x0b \x01(\t\x12\x0b\n\x03mid\x18\x0c \x01(\t\x12+\n\x06\x63odecs\x18\r \x03(\x0b\x32\x1b.livekit.SimulcastCodecInfo\x12\x0e\n\x06stereo\x18\x0e \x01(\x08\x12\x13\n\x0b\x64isable_red\x18\x0f \x01(\x08\x12,\n\nencryption\x18\x10 \x01(\x0e\x32\x18.livekit.Encryption.Type\x12\x0e\n\x06stream\x18\x11 \x01(\t\x12&\n\x07version\x18\x12 \x01(\x0b\x32\x15.livekit.TimedVersion\x12\x32\n\x0e\x61udio_features\x18\x13 \x03(\x0e\x32\x1a.livekit.AudioTrackFeature\x12\x37\n\x13\x62\x61\x63kup_codec_policy\x18\x14 \x01(\x0e\x32\x1a.livekit.BackupCodecPolicy\"r\n\nVideoLayer\x12&\n\x07quality\x18\x01 \x01(\x0e\x32\x15.livekit.VideoQuality\x12\r\n\x05width\x18\x02 \x01(\r\x12\x0e\n\x06height\x18\x03 \x01(\r\x12\x0f\n\x07\x62itrate\x18\x04 \x01(\r\x12\x0c\n\x04ssrc\x18\x05 \x01(\r\"\xc6\x05\n\nDataPacket\x12*\n\x04kind\x18\x01 \x01(\x0e\x32\x18.livekit.DataPacket.KindB\x02\x18\x01\x12\x1c\n\x14participant_identity\x18\x04 \x01(\t\x12\x1e\n\x16\x64\x65stination_identities\x18\x05 \x03(\t\x12#\n\x04user\x18\x02 \x01(\x0b\x32\x13.livekit.UserPacketH\x00\x12\x33\n\x07speaker\x18\x03 \x01(\x0b\x32\x1c.livekit.ActiveSpeakerUpdateB\x02\x18\x01H\x00\x12$\n\x08sip_dtmf\x18\x06 \x01(\x0b\x32\x10.livekit.SipDTMFH\x00\x12/\n\rtranscription\x18\x07 \x01(\x0b\x32\x16.livekit.TranscriptionH\x00\x12(\n\x07metrics\x18\x08 \x01(\x0b\x32\x15.livekit.MetricsBatchH\x00\x12,\n\x0c\x63hat_message\x18\t \x01(\x0b\x32\x14.livekit.ChatMessageH\x00\x12*\n\x0brpc_request\x18\n \x01(\x0b\x32\x13.livekit.RpcRequestH\x00\x12\"\n\x07rpc_ack\x18\x0b \x01(\x0b\x32\x0f.livekit.RpcAckH\x00\x12,\n\x0crpc_response\x18\x0c \x01(\x0b\x32\x14.livekit.RpcResponseH\x00\x12\x33\n\rstream_header\x18\r \x01(\x0b\x32\x1a.livekit.DataStream.HeaderH\x00\x12\x31\n\x0cstream_chunk\x18\x0e \x01(\x0b\x32\x19.livekit.DataStream.ChunkH\x00\x12\x35\n\x0estream_trailer\x18\x0f \x01(\x0b\x32\x1b.livekit.DataStream.TrailerH\x00\"\x1f\n\x04Kind\x12\x0c\n\x08RELIABLE\x10\x00\x12\t\n\x05LOSSY\x10\x01\x42\x07\n\x05value\"=\n\x13\x41\x63tiveSpeakerUpdate\x12&\n\x08speakers\x18\x01 \x03(\x0b\x32\x14.livekit.SpeakerInfo\"9\n\x0bSpeakerInfo\x12\x0b\n\x03sid\x18\x01 \x01(\t\x12\r\n\x05level\x18\x02 \x01(\x02\x12\x0e\n\x06\x61\x63tive\x18\x03 \x01(\x08\"\xaf\x02\n\nUserPacket\x12\x1b\n\x0fparticipant_sid\x18\x01 \x01(\tB\x02\x18\x01\x12 \n\x14participant_identity\x18\x05 \x01(\tB\x02\x18\x01\x12\x0f\n\x07payload\x18\x02 \x01(\x0c\x12\x1c\n\x10\x64\x65stination_sids\x18\x03 \x03(\tB\x02\x18\x01\x12\"\n\x16\x64\x65stination_identities\x18\x06 \x03(\tB\x02\x18\x01\x12\x12\n\x05topic\x18\x04 \x01(\tH\x00\x88\x01\x01\x12\x0f\n\x02id\x18\x08 \x01(\tH\x01\x88\x01\x01\x12\x17\n\nstart_time\x18\t \x01(\x04H\x02\x88\x01\x01\x12\x15\n\x08\x65nd_time\x18\n \x01(\x04H\x03\x88\x01\x01\x12\r\n\x05nonce\x18\x0b \x01(\x0c\x42\x08\n\x06_topicB\x05\n\x03_idB\r\n\x0b_start_timeB\x0b\n\t_end_time\"&\n\x07SipDTMF\x12\x0c\n\x04\x63ode\x18\x03 \x01(\r\x12\r\n\x05\x64igit\x18\x04 \x01(\t\"|\n\rTranscription\x12(\n transcribed_participant_identity\x18\x02 \x01(\t\x12\x10\n\x08track_id\x18\x03 \x01(\t\x12/\n\x08segments\x18\x04 \x03(\x0b\x32\x1d.livekit.TranscriptionSegment\"w\n\x14TranscriptionSegment\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04text\x18\x02 \x01(\t\x12\x12\n\nstart_time\x18\x03 \x01(\x04\x12\x10\n\x08\x65nd_time\x18\x04 \x01(\x04\x12\r\n\x05\x66inal\x18\x05 \x01(\x08\x12\x10\n\x08language\x18\x06 \x01(\t\"\x91\x01\n\x0b\x43hatMessage\x12\n\n\x02id\x18\x01 \x01(\t\x12\x11\n\ttimestamp\x18\x02 \x01(\x03\x12\x1b\n\x0e\x65\x64it_timestamp\x18\x03 \x01(\x03H\x00\x88\x01\x01\x12\x0f\n\x07message\x18\x04 \x01(\t\x12\x0f\n\x07\x64\x65leted\x18\x05 \x01(\x08\x12\x11\n\tgenerated\x18\x06 \x01(\x08\x42\x11\n\x0f_edit_timestamp\"g\n\nRpcRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0e\n\x06method\x18\x02 \x01(\t\x12\x0f\n\x07payload\x18\x03 \x01(\t\x12\x1b\n\x13response_timeout_ms\x18\x04 \x01(\r\x12\x0f\n\x07version\x18\x05 \x01(\r\"\x1c\n\x06RpcAck\x12\x12\n\nrequest_id\x18\x01 \x01(\t\"a\n\x0bRpcResponse\x12\x12\n\nrequest_id\x18\x01 \x01(\t\x12\x11\n\x07payload\x18\x02 \x01(\tH\x00\x12\"\n\x05\x65rror\x18\x03 \x01(\x0b\x32\x11.livekit.RpcErrorH\x00\x42\x07\n\x05value\"7\n\x08RpcError\x12\x0c\n\x04\x63ode\x18\x01 \x01(\r\x12\x0f\n\x07message\x18\x02 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\t\"@\n\x11ParticipantTracks\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12\x12\n\ntrack_sids\x18\x02 \x03(\t\"\xce\x01\n\nServerInfo\x12,\n\x07\x65\x64ition\x18\x01 \x01(\x0e\x32\x1b.livekit.ServerInfo.Edition\x12\x0f\n\x07version\x18\x02 \x01(\t\x12\x10\n\x08protocol\x18\x03 \x01(\x05\x12\x0e\n\x06region\x18\x04 \x01(\t\x12\x0f\n\x07node_id\x18\x05 \x01(\t\x12\x12\n\ndebug_info\x18\x06 \x01(\t\x12\x16\n\x0e\x61gent_protocol\x18\x07 \x01(\x05\"\"\n\x07\x45\x64ition\x12\x0c\n\x08Standard\x10\x00\x12\t\n\x05\x43loud\x10\x01\"\x8a\x03\n\nClientInfo\x12$\n\x03sdk\x18\x01 \x01(\x0e\x32\x17.livekit.ClientInfo.SDK\x12\x0f\n\x07version\x18\x02 \x01(\t\x12\x10\n\x08protocol\x18\x03 \x01(\x05\x12\n\n\x02os\x18\x04 \x01(\t\x12\x12\n\nos_version\x18\x05 \x01(\t\x12\x14\n\x0c\x64\x65vice_model\x18\x06 \x01(\t\x12\x0f\n\x07\x62rowser\x18\x07 \x01(\t\x12\x17\n\x0f\x62rowser_version\x18\x08 \x01(\t\x12\x0f\n\x07\x61\x64\x64ress\x18\t \x01(\t\x12\x0f\n\x07network\x18\n \x01(\t\x12\x12\n\nother_sdks\x18\x0b \x01(\t\"\x9c\x01\n\x03SDK\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x06\n\x02JS\x10\x01\x12\t\n\x05SWIFT\x10\x02\x12\x0b\n\x07\x41NDROID\x10\x03\x12\x0b\n\x07\x46LUTTER\x10\x04\x12\x06\n\x02GO\x10\x05\x12\t\n\x05UNITY\x10\x06\x12\x10\n\x0cREACT_NATIVE\x10\x07\x12\x08\n\x04RUST\x10\x08\x12\n\n\x06PYTHON\x10\t\x12\x07\n\x03\x43PP\x10\n\x12\r\n\tUNITY_WEB\x10\x0b\x12\x08\n\x04NODE\x10\x0c\"\x8c\x02\n\x13\x43lientConfiguration\x12*\n\x05video\x18\x01 \x01(\x0b\x32\x1b.livekit.VideoConfiguration\x12+\n\x06screen\x18\x02 \x01(\x0b\x32\x1b.livekit.VideoConfiguration\x12\x37\n\x11resume_connection\x18\x03 \x01(\x0e\x32\x1c.livekit.ClientConfigSetting\x12\x30\n\x0f\x64isabled_codecs\x18\x04 \x01(\x0b\x32\x17.livekit.DisabledCodecs\x12\x31\n\x0b\x66orce_relay\x18\x05 \x01(\x0e\x32\x1c.livekit.ClientConfigSetting\"L\n\x12VideoConfiguration\x12\x36\n\x10hardware_encoder\x18\x01 \x01(\x0e\x32\x1c.livekit.ClientConfigSetting\"Q\n\x0e\x44isabledCodecs\x12\x1e\n\x06\x63odecs\x18\x01 \x03(\x0b\x32\x0e.livekit.Codec\x12\x1f\n\x07publish\x18\x02 \x03(\x0b\x32\x0e.livekit.Codec\"\x80\x02\n\x08RTPDrift\x12.\n\nstart_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x08\x65nd_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x10\n\x08\x64uration\x18\x03 \x01(\x01\x12\x17\n\x0fstart_timestamp\x18\x04 \x01(\x04\x12\x15\n\rend_timestamp\x18\x05 \x01(\x04\x12\x17\n\x0frtp_clock_ticks\x18\x06 \x01(\x04\x12\x15\n\rdrift_samples\x18\x07 \x01(\x03\x12\x10\n\x08\x64rift_ms\x18\x08 \x01(\x01\x12\x12\n\nclock_rate\x18\t \x01(\x01\"\xd6\n\n\x08RTPStats\x12.\n\nstart_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x08\x65nd_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x10\n\x08\x64uration\x18\x03 \x01(\x01\x12\x0f\n\x07packets\x18\x04 \x01(\r\x12\x13\n\x0bpacket_rate\x18\x05 \x01(\x01\x12\r\n\x05\x62ytes\x18\x06 \x01(\x04\x12\x14\n\x0cheader_bytes\x18\' \x01(\x04\x12\x0f\n\x07\x62itrate\x18\x07 \x01(\x01\x12\x14\n\x0cpackets_lost\x18\x08 \x01(\r\x12\x18\n\x10packet_loss_rate\x18\t \x01(\x01\x12\x1e\n\x16packet_loss_percentage\x18\n \x01(\x02\x12\x19\n\x11packets_duplicate\x18\x0b \x01(\r\x12\x1d\n\x15packet_duplicate_rate\x18\x0c \x01(\x01\x12\x17\n\x0f\x62ytes_duplicate\x18\r \x01(\x04\x12\x1e\n\x16header_bytes_duplicate\x18( \x01(\x04\x12\x19\n\x11\x62itrate_duplicate\x18\x0e \x01(\x01\x12\x17\n\x0fpackets_padding\x18\x0f \x01(\r\x12\x1b\n\x13packet_padding_rate\x18\x10 \x01(\x01\x12\x15\n\rbytes_padding\x18\x11 \x01(\x04\x12\x1c\n\x14header_bytes_padding\x18) \x01(\x04\x12\x17\n\x0f\x62itrate_padding\x18\x12 \x01(\x01\x12\x1c\n\x14packets_out_of_order\x18\x13 \x01(\r\x12\x0e\n\x06\x66rames\x18\x14 \x01(\r\x12\x12\n\nframe_rate\x18\x15 \x01(\x01\x12\x16\n\x0ejitter_current\x18\x16 \x01(\x01\x12\x12\n\njitter_max\x18\x17 \x01(\x01\x12:\n\rgap_histogram\x18\x18 \x03(\x0b\x32#.livekit.RTPStats.GapHistogramEntry\x12\r\n\x05nacks\x18\x19 \x01(\r\x12\x11\n\tnack_acks\x18% \x01(\r\x12\x13\n\x0bnack_misses\x18\x1a \x01(\r\x12\x15\n\rnack_repeated\x18& \x01(\r\x12\x0c\n\x04plis\x18\x1b \x01(\r\x12,\n\x08last_pli\x18\x1c \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0c\n\x04\x66irs\x18\x1d \x01(\r\x12,\n\x08last_fir\x18\x1e \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x13\n\x0brtt_current\x18\x1f \x01(\r\x12\x0f\n\x07rtt_max\x18 \x01(\r\x12\x12\n\nkey_frames\x18! \x01(\r\x12\x32\n\x0elast_key_frame\x18\" \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x17\n\x0flayer_lock_plis\x18# \x01(\r\x12\x37\n\x13last_layer_lock_pli\x18$ \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\'\n\x0cpacket_drift\x18, \x01(\x0b\x32\x11.livekit.RTPDrift\x12+\n\x10ntp_report_drift\x18- \x01(\x0b\x32\x11.livekit.RTPDrift\x12/\n\x14rebased_report_drift\x18. \x01(\x0b\x32\x11.livekit.RTPDrift\x12\x30\n\x15received_report_drift\x18/ \x01(\x0b\x32\x11.livekit.RTPDrift\x1a\x33\n\x11GapHistogramEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\r:\x02\x38\x01\"\xa2\x01\n\x15RTCPSenderReportState\x12\x15\n\rrtp_timestamp\x18\x01 \x01(\r\x12\x19\n\x11rtp_timestamp_ext\x18\x02 \x01(\x04\x12\x15\n\rntp_timestamp\x18\x03 \x01(\x04\x12\n\n\x02\x61t\x18\x04 \x01(\x03\x12\x13\n\x0b\x61t_adjusted\x18\x05 \x01(\x03\x12\x0f\n\x07packets\x18\x06 \x01(\r\x12\x0e\n\x06octets\x18\x07 \x01(\x04\"\xc9\x02\n\x11RTPForwarderState\x12\x0f\n\x07started\x18\x01 \x01(\x08\x12\x1f\n\x17reference_layer_spatial\x18\x02 \x01(\x05\x12\x16\n\x0epre_start_time\x18\x03 \x01(\x03\x12\x1b\n\x13\x65xt_first_timestamp\x18\x04 \x01(\x04\x12$\n\x1c\x64ummy_start_timestamp_offset\x18\x05 \x01(\x04\x12+\n\nrtp_munger\x18\x06 \x01(\x0b\x32\x17.livekit.RTPMungerState\x12-\n\nvp8_munger\x18\x07 \x01(\x0b\x32\x17.livekit.VP8MungerStateH\x00\x12;\n\x13sender_report_state\x18\x08 \x03(\x0b\x32\x1e.livekit.RTCPSenderReportStateB\x0e\n\x0c\x63odec_munger\"\xcb\x01\n\x0eRTPMungerState\x12 \n\x18\x65xt_last_sequence_number\x18\x01 \x01(\x04\x12\'\n\x1f\x65xt_second_last_sequence_number\x18\x02 \x01(\x04\x12\x1a\n\x12\x65xt_last_timestamp\x18\x03 \x01(\x04\x12!\n\x19\x65xt_second_last_timestamp\x18\x04 \x01(\x04\x12\x13\n\x0blast_marker\x18\x05 \x01(\x08\x12\x1a\n\x12second_last_marker\x18\x06 \x01(\x08\"\xb8\x01\n\x0eVP8MungerState\x12\x1b\n\x13\x65xt_last_picture_id\x18\x01 \x01(\x05\x12\x17\n\x0fpicture_id_used\x18\x02 \x01(\x08\x12\x18\n\x10last_tl0_pic_idx\x18\x03 \x01(\r\x12\x18\n\x10tl0_pic_idx_used\x18\x04 \x01(\x08\x12\x10\n\x08tid_used\x18\x05 \x01(\x08\x12\x14\n\x0clast_key_idx\x18\x06 \x01(\r\x12\x14\n\x0ckey_idx_used\x18\x07 \x01(\x08\"1\n\x0cTimedVersion\x12\x12\n\nunix_micro\x18\x01 \x01(\x03\x12\r\n\x05ticks\x18\x02 \x01(\x05\"\xc5\x07\n\nDataStream\x1a\xa4\x01\n\nTextHeader\x12\x39\n\x0eoperation_type\x18\x01 \x01(\x0e\x32!.livekit.DataStream.OperationType\x12\x0f\n\x07version\x18\x02 \x01(\x05\x12\x1a\n\x12reply_to_stream_id\x18\x03 \x01(\t\x12\x1b\n\x13\x61ttached_stream_ids\x18\x04 \x03(\t\x12\x11\n\tgenerated\x18\x05 \x01(\x08\x1a\x1a\n\nByteHeader\x12\x0c\n\x04name\x18\x01 \x01(\t\x1a\xa2\x03\n\x06Header\x12\x11\n\tstream_id\x18\x01 \x01(\t\x12\x11\n\ttimestamp\x18\x02 \x01(\x03\x12\r\n\x05topic\x18\x03 \x01(\t\x12\x11\n\tmime_type\x18\x04 \x01(\t\x12\x19\n\x0ctotal_length\x18\x05 \x01(\x04H\x01\x88\x01\x01\x12\x31\n\x0f\x65ncryption_type\x18\x07 \x01(\x0e\x32\x18.livekit.Encryption.Type\x12>\n\nattributes\x18\x08 \x03(\x0b\x32*.livekit.DataStream.Header.AttributesEntry\x12\x35\n\x0btext_header\x18\t \x01(\x0b\x32\x1e.livekit.DataStream.TextHeaderH\x00\x12\x35\n\x0b\x62yte_header\x18\n \x01(\x0b\x32\x1e.livekit.DataStream.ByteHeaderH\x00\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x10\n\x0e\x63ontent_headerB\x0f\n\r_total_length\x1ai\n\x05\x43hunk\x12\x11\n\tstream_id\x18\x01 \x01(\t\x12\x13\n\x0b\x63hunk_index\x18\x02 \x01(\x04\x12\x0f\n\x07\x63ontent\x18\x03 \x01(\x0c\x12\x0f\n\x07version\x18\x04 \x01(\x05\x12\x0f\n\x02iv\x18\x05 \x01(\x0cH\x00\x88\x01\x01\x42\x05\n\x03_iv\x1a\xa0\x01\n\x07Trailer\x12\x11\n\tstream_id\x18\x01 \x01(\t\x12\x0e\n\x06reason\x18\x02 \x01(\t\x12?\n\nattributes\x18\x03 \x03(\x0b\x32+.livekit.DataStream.Trailer.AttributesEntry\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"A\n\rOperationType\x12\n\n\x06\x43REATE\x10\x00\x12\n\n\x06UPDATE\x10\x01\x12\n\n\x06\x44\x45LETE\x10\x02\x12\x0c\n\x08REACTION\x10\x03*/\n\nAudioCodec\x12\x0e\n\nDEFAULT_AC\x10\x00\x12\x08\n\x04OPUS\x10\x01\x12\x07\n\x03\x41\x41\x43\x10\x02*V\n\nVideoCodec\x12\x0e\n\nDEFAULT_VC\x10\x00\x12\x11\n\rH264_BASELINE\x10\x01\x12\r\n\tH264_MAIN\x10\x02\x12\r\n\tH264_HIGH\x10\x03\x12\x07\n\x03VP8\x10\x04*)\n\nImageCodec\x12\x0e\n\nIC_DEFAULT\x10\x00\x12\x0b\n\x07IC_JPEG\x10\x01*2\n\x11\x42\x61\x63kupCodecPolicy\x12\x0e\n\nREGRESSION\x10\x00\x12\r\n\tSIMULCAST\x10\x01*+\n\tTrackType\x12\t\n\x05\x41UDIO\x10\x00\x12\t\n\x05VIDEO\x10\x01\x12\x08\n\x04\x44\x41TA\x10\x02*`\n\x0bTrackSource\x12\x0b\n\x07UNKNOWN\x10\x00\x12\n\n\x06\x43\x41MERA\x10\x01\x12\x0e\n\nMICROPHONE\x10\x02\x12\x10\n\x0cSCREEN_SHARE\x10\x03\x12\x16\n\x12SCREEN_SHARE_AUDIO\x10\x04*6\n\x0cVideoQuality\x12\x07\n\x03LOW\x10\x00\x12\n\n\x06MEDIUM\x10\x01\x12\x08\n\x04HIGH\x10\x02\x12\x07\n\x03OFF\x10\x03*@\n\x11\x43onnectionQuality\x12\x08\n\x04POOR\x10\x00\x12\x08\n\x04GOOD\x10\x01\x12\r\n\tEXCELLENT\x10\x02\x12\x08\n\x04LOST\x10\x03*;\n\x13\x43lientConfigSetting\x12\t\n\x05UNSET\x10\x00\x12\x0c\n\x08\x44ISABLED\x10\x01\x12\x0b\n\x07\x45NABLED\x10\x02*\xac\x02\n\x10\x44isconnectReason\x12\x12\n\x0eUNKNOWN_REASON\x10\x00\x12\x14\n\x10\x43LIENT_INITIATED\x10\x01\x12\x16\n\x12\x44UPLICATE_IDENTITY\x10\x02\x12\x13\n\x0fSERVER_SHUTDOWN\x10\x03\x12\x17\n\x13PARTICIPANT_REMOVED\x10\x04\x12\x10\n\x0cROOM_DELETED\x10\x05\x12\x12\n\x0eSTATE_MISMATCH\x10\x06\x12\x10\n\x0cJOIN_FAILURE\x10\x07\x12\r\n\tMIGRATION\x10\x08\x12\x10\n\x0cSIGNAL_CLOSE\x10\t\x12\x0f\n\x0bROOM_CLOSED\x10\n\x12\x14\n\x10USER_UNAVAILABLE\x10\x0b\x12\x11\n\rUSER_REJECTED\x10\x0c\x12\x15\n\x11SIP_TRUNK_FAILURE\x10\r*\x89\x01\n\x0fReconnectReason\x12\x0e\n\nRR_UNKNOWN\x10\x00\x12\x1a\n\x16RR_SIGNAL_DISCONNECTED\x10\x01\x12\x17\n\x13RR_PUBLISHER_FAILED\x10\x02\x12\x18\n\x14RR_SUBSCRIBER_FAILED\x10\x03\x12\x17\n\x13RR_SWITCH_CANDIDATE\x10\x04*T\n\x11SubscriptionError\x12\x0e\n\nSE_UNKNOWN\x10\x00\x12\x18\n\x14SE_CODEC_UNSUPPORTED\x10\x01\x12\x15\n\x11SE_TRACK_NOTFOUND\x10\x02*\xa3\x01\n\x11\x41udioTrackFeature\x12\r\n\tTF_STEREO\x10\x00\x12\r\n\tTF_NO_DTX\x10\x01\x12\x18\n\x14TF_AUTO_GAIN_CONTROL\x10\x02\x12\x18\n\x14TF_ECHO_CANCELLATION\x10\x03\x12\x18\n\x14TF_NOISE_SUPPRESSION\x10\x04\x12\"\n\x1eTF_ENHANCED_NOISE_CANCELLATION\x10\x05\x42\x46Z#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3"
12
+ descriptor_data = "\n\x14livekit_models.proto\x12\x07livekit\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x15livekit_metrics.proto\x1a\x14logger/options.proto\"9\n\nPagination\x12\x1c\n\x08\x61\x66ter_id\x18\x01 \x01(\tB\n\xbaP\x07\x61\x66terID\x12\r\n\x05limit\x18\x02 \x01(\x05\" \n\x0fTokenPagination\x12\r\n\x05token\x18\x01 \x01(\t\"E\n\nListUpdate\x12\x0b\n\x03set\x18\x01 \x03(\t\x12\x0b\n\x03\x61\x64\x64\x18\x02 \x03(\t\x12\x0e\n\x06remove\x18\x03 \x03(\t\x12\r\n\x05\x63lear\x18\x04 \x01(\x08\"\x89\x03\n\x04Room\x12\x0b\n\x03sid\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x15\n\rempty_timeout\x18\x03 \x01(\r\x12\x19\n\x11\x64\x65parture_timeout\x18\x0e \x01(\r\x12\x18\n\x10max_participants\x18\x04 \x01(\r\x12\x15\n\rcreation_time\x18\x05 \x01(\x03\x12\x18\n\x10\x63reation_time_ms\x18\x0f \x01(\x03\x12\x15\n\rturn_password\x18\x06 \x01(\t\x12&\n\x0e\x65nabled_codecs\x18\x07 \x03(\x0b\x32\x0e.livekit.Codec\x12\x36\n\x08metadata\x18\x08 \x01(\tB$\xb2P\x1e<redacted ({{ .Size }} bytes)>\xc0P\x01\x12\x18\n\x10num_participants\x18\t \x01(\r\x12\x16\n\x0enum_publishers\x18\x0b \x01(\r\x12\x18\n\x10\x61\x63tive_recording\x18\n \x01(\x08\x12&\n\x07version\x18\r \x01(\x0b\x32\x15.livekit.TimedVersion\"(\n\x05\x43odec\x12\x0c\n\x04mime\x18\x01 \x01(\t\x12\x11\n\tfmtp_line\x18\x02 \x01(\t\"9\n\x0cPlayoutDelay\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x0b\n\x03min\x18\x02 \x01(\r\x12\x0b\n\x03max\x18\x03 \x01(\r\"\xa7\x02\n\x15ParticipantPermission\x12\x15\n\rcan_subscribe\x18\x01 \x01(\x08\x12\x13\n\x0b\x63\x61n_publish\x18\x02 \x01(\x08\x12\x18\n\x10\x63\x61n_publish_data\x18\x03 \x01(\x08\x12\x31\n\x13\x63\x61n_publish_sources\x18\t \x03(\x0e\x32\x14.livekit.TrackSource\x12\x0e\n\x06hidden\x18\x07 \x01(\x08\x12\x14\n\x08recorder\x18\x08 \x01(\x08\x42\x02\x18\x01\x12\x1b\n\x13\x63\x61n_update_metadata\x18\n \x01(\x08\x12\x11\n\x05\x61gent\x18\x0b \x01(\x08\x42\x02\x18\x01\x12\x1d\n\x15\x63\x61n_subscribe_metrics\x18\x0c \x01(\x08\x12 \n\x18\x63\x61n_manage_agent_session\x18\r \x01(\x08\"\x9e\x08\n\x0fParticipantInfo\x12\x0b\n\x03sid\x18\x01 \x01(\t\x12\x10\n\x08identity\x18\x02 \x01(\t\x12-\n\x05state\x18\x03 \x01(\x0e\x32\x1e.livekit.ParticipantInfo.State\x12\"\n\x06tracks\x18\x04 \x03(\x0b\x32\x12.livekit.TrackInfo\x12\x36\n\x08metadata\x18\x05 \x01(\tB$\xb2P\x1e<redacted ({{ .Size }} bytes)>\xc0P\x01\x12\x11\n\tjoined_at\x18\x06 \x01(\x03\x12\x14\n\x0cjoined_at_ms\x18\x11 \x01(\x03\x12\x11\n\x04name\x18\t \x01(\tB\x03\xc0P\x01\x12\x0f\n\x07version\x18\n \x01(\r\x12\x32\n\npermission\x18\x0b \x01(\x0b\x32\x1e.livekit.ParticipantPermission\x12\x0e\n\x06region\x18\x0c \x01(\t\x12\x14\n\x0cis_publisher\x18\r \x01(\x08\x12+\n\x04kind\x18\x0e \x01(\x0e\x32\x1d.livekit.ParticipantInfo.Kind\x12\x62\n\nattributes\x18\x0f \x03(\x0b\x32(.livekit.ParticipantInfo.AttributesEntryB$\xb2P\x1e<redacted ({{ .Size }} bytes)>\xc0P\x01\x12\x34\n\x11\x64isconnect_reason\x18\x10 \x01(\x0e\x32\x19.livekit.DisconnectReason\x12\x39\n\x0ckind_details\x18\x12 \x03(\x0e\x32#.livekit.ParticipantInfo.KindDetail\x12+\n\x0b\x64\x61ta_tracks\x18\x13 \x03(\x0b\x32\x16.livekit.DataTrackInfo\x12\x17\n\x0f\x63lient_protocol\x18\x14 \x01(\x05\x12\x34\n\x0c\x63\x61pabilities\x18\x15 \x03(\x0e\x32\x1e.livekit.ClientInfo.Capability\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\">\n\x05State\x12\x0b\n\x07JOINING\x10\x00\x12\n\n\x06JOINED\x10\x01\x12\n\n\x06\x41\x43TIVE\x10\x02\x12\x10\n\x0c\x44ISCONNECTED\x10\x03\"\\\n\x04Kind\x12\x0c\n\x08STANDARD\x10\x00\x12\x0b\n\x07INGRESS\x10\x01\x12\n\n\x06\x45GRESS\x10\x02\x12\x07\n\x03SIP\x10\x03\x12\t\n\x05\x41GENT\x10\x04\x12\r\n\tCONNECTOR\x10\x07\x12\n\n\x06\x42RIDGE\x10\x08\"k\n\nKindDetail\x12\x0f\n\x0b\x43LOUD_AGENT\x10\x00\x12\r\n\tFORWARDED\x10\x01\x12\x16\n\x12\x43ONNECTOR_WHATSAPP\x10\x02\x12\x14\n\x10\x43ONNECTOR_TWILIO\x10\x03\x12\x0f\n\x0b\x42RIDGE_RTSP\x10\x04\"3\n\nEncryption\"%\n\x04Type\x12\x08\n\x04NONE\x10\x00\x12\x07\n\x03GCM\x10\x01\x12\n\n\x06\x43USTOM\x10\x02\"\xab\x01\n\x12SimulcastCodecInfo\x12\x11\n\tmime_type\x18\x01 \x01(\t\x12\x0b\n\x03mid\x18\x02 \x01(\t\x12\x0b\n\x03\x63id\x18\x03 \x01(\t\x12#\n\x06layers\x18\x04 \x03(\x0b\x32\x13.livekit.VideoLayer\x12\x32\n\x10video_layer_mode\x18\x05 \x01(\x0e\x32\x18.livekit.VideoLayer.Mode\x12\x0f\n\x07sdp_cid\x18\x06 \x01(\t\"\x83\x05\n\tTrackInfo\x12\x0b\n\x03sid\x18\x01 \x01(\t\x12 \n\x04type\x18\x02 \x01(\x0e\x32\x12.livekit.TrackType\x12\x11\n\x04name\x18\x03 \x01(\tB\x03\xc0P\x01\x12\r\n\x05muted\x18\x04 \x01(\x08\x12\r\n\x05width\x18\x05 \x01(\r\x12\x0e\n\x06height\x18\x06 \x01(\r\x12\x15\n\tsimulcast\x18\x07 \x01(\x08\x42\x02\x18\x01\x12\x17\n\x0b\x64isable_dtx\x18\x08 \x01(\x08\x42\x02\x18\x01\x12$\n\x06source\x18\t \x01(\x0e\x32\x14.livekit.TrackSource\x12\'\n\x06layers\x18\n \x03(\x0b\x32\x13.livekit.VideoLayerB\x02\x18\x01\x12\x11\n\tmime_type\x18\x0b \x01(\t\x12\x0b\n\x03mid\x18\x0c \x01(\t\x12+\n\x06\x63odecs\x18\r \x03(\x0b\x32\x1b.livekit.SimulcastCodecInfo\x12\x12\n\x06stereo\x18\x0e \x01(\x08\x42\x02\x18\x01\x12\x13\n\x0b\x64isable_red\x18\x0f \x01(\x08\x12,\n\nencryption\x18\x10 \x01(\x0e\x32\x18.livekit.Encryption.Type\x12\x0e\n\x06stream\x18\x11 \x01(\t\x12&\n\x07version\x18\x12 \x01(\x0b\x32\x15.livekit.TimedVersion\x12\x32\n\x0e\x61udio_features\x18\x13 \x03(\x0e\x32\x1a.livekit.AudioTrackFeature\x12\x37\n\x13\x62\x61\x63kup_codec_policy\x18\x14 \x01(\x0e\x32\x1a.livekit.BackupCodecPolicy\x12>\n\x17packet_trailer_features\x18\x15 \x03(\x0e\x32\x1d.livekit.PacketTrailerFeature\"l\n\rDataTrackInfo\x12\x12\n\npub_handle\x18\x01 \x01(\r\x12\x0b\n\x03sid\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12,\n\nencryption\x18\x04 \x01(\x0e\x32\x18.livekit.Encryption.Type\"f\n DataTrackExtensionParticipantSid\x12)\n\x02id\x18\x01 \x01(\x0e\x32\x1d.livekit.DataTrackExtensionID\x12\x17\n\x0fparticipant_sid\x18\x02 \x01(\t\"F\n\x1c\x44\x61taTrackSubscriptionOptions\x12\x17\n\ntarget_fps\x18\x01 \x01(\rH\x00\x88\x01\x01\x42\r\n\x0b_target_fps\"\'\n\x0b\x44\x61taBlobKey\x12\x11\n\x07generic\x18\x01 \x01(\tH\x00\x42\x05\n\x03key\"e\n\x08\x44\x61taBlob\x12!\n\x03key\x18\x01 \x01(\x0b\x32\x14.livekit.DataBlobKey\x12\x36\n\x08\x63ontents\x18\x02 \x01(\x0c\x42$\xb2P\x1e<redacted ({{ .Size }} bytes)>\xc0P\x01\"\xc4\x02\n\nVideoLayer\x12&\n\x07quality\x18\x01 \x01(\x0e\x32\x15.livekit.VideoQuality\x12\r\n\x05width\x18\x02 \x01(\r\x12\x0e\n\x06height\x18\x03 \x01(\r\x12\x0f\n\x07\x62itrate\x18\x04 \x01(\r\x12\x0c\n\x04ssrc\x18\x05 \x01(\r\x12\x15\n\rspatial_layer\x18\x06 \x01(\x05\x12\x0b\n\x03rid\x18\x07 \x01(\t\x12\x13\n\x0brepair_ssrc\x18\x08 \x01(\r\"\x96\x01\n\x04Mode\x12\x0f\n\x0bMODE_UNUSED\x10\x00\x12 \n\x1cONE_SPATIAL_LAYER_PER_STREAM\x10\x01\x12&\n\"MULTIPLE_SPATIAL_LAYERS_PER_STREAM\x10\x02\x12\x33\n/ONE_SPATIAL_LAYER_PER_STREAM_INCOMPLETE_RTCP_SR\x10\x03\"\xa7\x06\n\nDataPacket\x12*\n\x04kind\x18\x01 \x01(\x0e\x32\x18.livekit.DataPacket.KindB\x02\x18\x01\x12\x1c\n\x14participant_identity\x18\x04 \x01(\t\x12\x1e\n\x16\x64\x65stination_identities\x18\x05 \x03(\t\x12#\n\x04user\x18\x02 \x01(\x0b\x32\x13.livekit.UserPacketH\x00\x12\x33\n\x07speaker\x18\x03 \x01(\x0b\x32\x1c.livekit.ActiveSpeakerUpdateB\x02\x18\x01H\x00\x12$\n\x08sip_dtmf\x18\x06 \x01(\x0b\x32\x10.livekit.SipDTMFH\x00\x12/\n\rtranscription\x18\x07 \x01(\x0b\x32\x16.livekit.TranscriptionH\x00\x12(\n\x07metrics\x18\x08 \x01(\x0b\x32\x15.livekit.MetricsBatchH\x00\x12,\n\x0c\x63hat_message\x18\t \x01(\x0b\x32\x14.livekit.ChatMessageH\x00\x12*\n\x0brpc_request\x18\n \x01(\x0b\x32\x13.livekit.RpcRequestH\x00\x12\"\n\x07rpc_ack\x18\x0b \x01(\x0b\x32\x0f.livekit.RpcAckH\x00\x12,\n\x0crpc_response\x18\x0c \x01(\x0b\x32\x14.livekit.RpcResponseH\x00\x12\x33\n\rstream_header\x18\r \x01(\x0b\x32\x1a.livekit.DataStream.HeaderH\x00\x12\x31\n\x0cstream_chunk\x18\x0e \x01(\x0b\x32\x19.livekit.DataStream.ChunkH\x00\x12\x35\n\x0estream_trailer\x18\x0f \x01(\x0b\x32\x1b.livekit.DataStream.TrailerH\x00\x12\x34\n\x10\x65ncrypted_packet\x18\x12 \x01(\x0b\x32\x18.livekit.EncryptedPacketH\x00\x12\x10\n\x08sequence\x18\x10 \x01(\r\x12\x17\n\x0fparticipant_sid\x18\x11 \x01(\t\"\x1f\n\x04Kind\x12\x0c\n\x08RELIABLE\x10\x00\x12\t\n\x05LOSSY\x10\x01\x42\x07\n\x05value\"|\n\x0f\x45ncryptedPacket\x12\x31\n\x0f\x65ncryption_type\x18\x01 \x01(\x0e\x32\x18.livekit.Encryption.Type\x12\n\n\x02iv\x18\x02 \x01(\x0c\x12\x11\n\tkey_index\x18\x03 \x01(\r\x12\x17\n\x0f\x65ncrypted_value\x18\x04 \x01(\x0c\"\x91\x03\n\x16\x45ncryptedPacketPayload\x12#\n\x04user\x18\x01 \x01(\x0b\x32\x13.livekit.UserPacketH\x00\x12,\n\x0c\x63hat_message\x18\x03 \x01(\x0b\x32\x14.livekit.ChatMessageH\x00\x12*\n\x0brpc_request\x18\x04 \x01(\x0b\x32\x13.livekit.RpcRequestH\x00\x12\"\n\x07rpc_ack\x18\x05 \x01(\x0b\x32\x0f.livekit.RpcAckH\x00\x12,\n\x0crpc_response\x18\x06 \x01(\x0b\x32\x14.livekit.RpcResponseH\x00\x12\x33\n\rstream_header\x18\x07 \x01(\x0b\x32\x1a.livekit.DataStream.HeaderH\x00\x12\x31\n\x0cstream_chunk\x18\x08 \x01(\x0b\x32\x19.livekit.DataStream.ChunkH\x00\x12\x35\n\x0estream_trailer\x18\t \x01(\x0b\x32\x1b.livekit.DataStream.TrailerH\x00\x42\x07\n\x05value\"A\n\x13\x41\x63tiveSpeakerUpdate\x12&\n\x08speakers\x18\x01 \x03(\x0b\x32\x14.livekit.SpeakerInfo:\x02\x18\x01\"9\n\x0bSpeakerInfo\x12\x0b\n\x03sid\x18\x01 \x01(\t\x12\r\n\x05level\x18\x02 \x01(\x02\x12\x0e\n\x06\x61\x63tive\x18\x03 \x01(\x08\"\xaf\x02\n\nUserPacket\x12\x1b\n\x0fparticipant_sid\x18\x01 \x01(\tB\x02\x18\x01\x12 \n\x14participant_identity\x18\x05 \x01(\tB\x02\x18\x01\x12\x0f\n\x07payload\x18\x02 \x01(\x0c\x12\x1c\n\x10\x64\x65stination_sids\x18\x03 \x03(\tB\x02\x18\x01\x12\"\n\x16\x64\x65stination_identities\x18\x06 \x03(\tB\x02\x18\x01\x12\x12\n\x05topic\x18\x04 \x01(\tH\x00\x88\x01\x01\x12\x0f\n\x02id\x18\x08 \x01(\tH\x01\x88\x01\x01\x12\x17\n\nstart_time\x18\t \x01(\x04H\x02\x88\x01\x01\x12\x15\n\x08\x65nd_time\x18\n \x01(\x04H\x03\x88\x01\x01\x12\r\n\x05nonce\x18\x0b \x01(\x0c\x42\x08\n\x06_topicB\x05\n\x03_idB\r\n\x0b_start_timeB\x0b\n\t_end_time\"&\n\x07SipDTMF\x12\x0c\n\x04\x63ode\x18\x03 \x01(\r\x12\r\n\x05\x64igit\x18\x04 \x01(\t\"\x88\x01\n\rTranscription\x12(\n transcribed_participant_identity\x18\x02 \x01(\t\x12\x1c\n\x08track_id\x18\x03 \x01(\tB\n\xbaP\x07trackID\x12/\n\x08segments\x18\x04 \x03(\x0b\x32\x1d.livekit.TranscriptionSegment\"w\n\x14TranscriptionSegment\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04text\x18\x02 \x01(\t\x12\x12\n\nstart_time\x18\x03 \x01(\x04\x12\x10\n\x08\x65nd_time\x18\x04 \x01(\x04\x12\r\n\x05\x66inal\x18\x05 \x01(\x08\x12\x10\n\x08language\x18\x06 \x01(\t\"\x91\x01\n\x0b\x43hatMessage\x12\n\n\x02id\x18\x01 \x01(\t\x12\x11\n\ttimestamp\x18\x02 \x01(\x03\x12\x1b\n\x0e\x65\x64it_timestamp\x18\x03 \x01(\x03H\x00\x88\x01\x01\x12\x0f\n\x07message\x18\x04 \x01(\t\x12\x0f\n\x07\x64\x65leted\x18\x05 \x01(\x08\x12\x11\n\tgenerated\x18\x06 \x01(\x08\x42\x11\n\x0f_edit_timestamp\"\x83\x01\n\nRpcRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0e\n\x06method\x18\x02 \x01(\t\x12\x0f\n\x07payload\x18\x03 \x01(\t\x12\x1b\n\x13response_timeout_ms\x18\x04 \x01(\r\x12\x0f\n\x07version\x18\x05 \x01(\r\x12\x1a\n\x12\x63ompressed_payload\x18\x06 \x01(\x0c\"*\n\x06RpcAck\x12 \n\nrequest_id\x18\x01 \x01(\tB\x0c\xbaP\trequestID\"\x8d\x01\n\x0bRpcResponse\x12 \n\nrequest_id\x18\x01 \x01(\tB\x0c\xbaP\trequestID\x12\x11\n\x07payload\x18\x02 \x01(\tH\x00\x12\"\n\x05\x65rror\x18\x03 \x01(\x0b\x32\x11.livekit.RpcErrorH\x00\x12\x1c\n\x12\x63ompressed_payload\x18\x04 \x01(\x0cH\x00\x42\x07\n\x05value\"7\n\x08RpcError\x12\x0c\n\x04\x63ode\x18\x01 \x01(\r\x12\x0f\n\x07message\x18\x02 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\t\"@\n\x11ParticipantTracks\x12\x17\n\x0fparticipant_sid\x18\x01 \x01(\t\x12\x12\n\ntrack_sids\x18\x02 \x03(\t\"\xd9\x01\n\nServerInfo\x12,\n\x07\x65\x64ition\x18\x01 \x01(\x0e\x32\x1b.livekit.ServerInfo.Edition\x12\x0f\n\x07version\x18\x02 \x01(\t\x12\x10\n\x08protocol\x18\x03 \x01(\x05\x12\x0e\n\x06region\x18\x04 \x01(\t\x12\x1a\n\x07node_id\x18\x05 \x01(\tB\t\xbaP\x06nodeID\x12\x12\n\ndebug_info\x18\x06 \x01(\t\x12\x16\n\x0e\x61gent_protocol\x18\x07 \x01(\x05\"\"\n\x07\x45\x64ition\x12\x0c\n\x08Standard\x10\x00\x12\t\n\x05\x43loud\x10\x01\"\xc7\x04\n\nClientInfo\x12$\n\x03sdk\x18\x01 \x01(\x0e\x32\x17.livekit.ClientInfo.SDK\x12\x0f\n\x07version\x18\x02 \x01(\t\x12\x10\n\x08protocol\x18\x03 \x01(\x05\x12\n\n\x02os\x18\x04 \x01(\t\x12\x12\n\nos_version\x18\x05 \x01(\t\x12\x14\n\x0c\x64\x65vice_model\x18\x06 \x01(\t\x12\x0f\n\x07\x62rowser\x18\x07 \x01(\t\x12\x17\n\x0f\x62rowser_version\x18\x08 \x01(\t\x12\x0f\n\x07\x61\x64\x64ress\x18\t \x01(\t\x12\x0f\n\x07network\x18\n \x01(\t\x12\x12\n\nother_sdks\x18\x0b \x01(\t\x12\x17\n\x0f\x63lient_protocol\x18\x0c \x01(\x05\x12\x34\n\x0c\x63\x61pabilities\x18\r \x03(\x0e\x32\x1e.livekit.ClientInfo.Capability\"\xb3\x01\n\x03SDK\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x06\n\x02JS\x10\x01\x12\t\n\x05SWIFT\x10\x02\x12\x0b\n\x07\x41NDROID\x10\x03\x12\x0b\n\x07\x46LUTTER\x10\x04\x12\x06\n\x02GO\x10\x05\x12\t\n\x05UNITY\x10\x06\x12\x10\n\x0cREACT_NATIVE\x10\x07\x12\x08\n\x04RUST\x10\x08\x12\n\n\x06PYTHON\x10\t\x12\x07\n\x03\x43PP\x10\n\x12\r\n\tUNITY_WEB\x10\x0b\x12\x08\n\x04NODE\x10\x0c\x12\n\n\x06UNREAL\x10\r\x12\t\n\x05\x45SP32\x10\x0e\"U\n\nCapability\x12\x0e\n\nCAP_UNUSED\x10\x00\x12\x16\n\x12\x43\x41P_PACKET_TRAILER\x10\x01\x12\x1f\n\x1b\x43\x41P_COMPRESSION_DEFLATE_RAW\x10\x02\"\x8c\x02\n\x13\x43lientConfiguration\x12*\n\x05video\x18\x01 \x01(\x0b\x32\x1b.livekit.VideoConfiguration\x12+\n\x06screen\x18\x02 \x01(\x0b\x32\x1b.livekit.VideoConfiguration\x12\x37\n\x11resume_connection\x18\x03 \x01(\x0e\x32\x1c.livekit.ClientConfigSetting\x12\x30\n\x0f\x64isabled_codecs\x18\x04 \x01(\x0b\x32\x17.livekit.DisabledCodecs\x12\x31\n\x0b\x66orce_relay\x18\x05 \x01(\x0e\x32\x1c.livekit.ClientConfigSetting\"L\n\x12VideoConfiguration\x12\x36\n\x10hardware_encoder\x18\x01 \x01(\x0e\x32\x1c.livekit.ClientConfigSetting\"Q\n\x0e\x44isabledCodecs\x12\x1e\n\x06\x63odecs\x18\x01 \x03(\x0b\x32\x0e.livekit.Codec\x12\x1f\n\x07publish\x18\x02 \x03(\x0b\x32\x0e.livekit.Codec\"\x80\x02\n\x08RTPDrift\x12.\n\nstart_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x08\x65nd_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x10\n\x08\x64uration\x18\x03 \x01(\x01\x12\x17\n\x0fstart_timestamp\x18\x04 \x01(\x04\x12\x15\n\rend_timestamp\x18\x05 \x01(\x04\x12\x17\n\x0frtp_clock_ticks\x18\x06 \x01(\x04\x12\x15\n\rdrift_samples\x18\x07 \x01(\x03\x12\x10\n\x08\x64rift_ms\x18\x08 \x01(\x01\x12\x12\n\nclock_rate\x18\t \x01(\x01\"\xd6\n\n\x08RTPStats\x12.\n\nstart_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x08\x65nd_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x10\n\x08\x64uration\x18\x03 \x01(\x01\x12\x0f\n\x07packets\x18\x04 \x01(\r\x12\x13\n\x0bpacket_rate\x18\x05 \x01(\x01\x12\r\n\x05\x62ytes\x18\x06 \x01(\x04\x12\x14\n\x0cheader_bytes\x18\' \x01(\x04\x12\x0f\n\x07\x62itrate\x18\x07 \x01(\x01\x12\x14\n\x0cpackets_lost\x18\x08 \x01(\r\x12\x18\n\x10packet_loss_rate\x18\t \x01(\x01\x12\x1e\n\x16packet_loss_percentage\x18\n \x01(\x02\x12\x19\n\x11packets_duplicate\x18\x0b \x01(\r\x12\x1d\n\x15packet_duplicate_rate\x18\x0c \x01(\x01\x12\x17\n\x0f\x62ytes_duplicate\x18\r \x01(\x04\x12\x1e\n\x16header_bytes_duplicate\x18( \x01(\x04\x12\x19\n\x11\x62itrate_duplicate\x18\x0e \x01(\x01\x12\x17\n\x0fpackets_padding\x18\x0f \x01(\r\x12\x1b\n\x13packet_padding_rate\x18\x10 \x01(\x01\x12\x15\n\rbytes_padding\x18\x11 \x01(\x04\x12\x1c\n\x14header_bytes_padding\x18) \x01(\x04\x12\x17\n\x0f\x62itrate_padding\x18\x12 \x01(\x01\x12\x1c\n\x14packets_out_of_order\x18\x13 \x01(\r\x12\x0e\n\x06\x66rames\x18\x14 \x01(\r\x12\x12\n\nframe_rate\x18\x15 \x01(\x01\x12\x16\n\x0ejitter_current\x18\x16 \x01(\x01\x12\x12\n\njitter_max\x18\x17 \x01(\x01\x12:\n\rgap_histogram\x18\x18 \x03(\x0b\x32#.livekit.RTPStats.GapHistogramEntry\x12\r\n\x05nacks\x18\x19 \x01(\r\x12\x11\n\tnack_acks\x18% \x01(\r\x12\x13\n\x0bnack_misses\x18\x1a \x01(\r\x12\x15\n\rnack_repeated\x18& \x01(\r\x12\x0c\n\x04plis\x18\x1b \x01(\r\x12,\n\x08last_pli\x18\x1c \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0c\n\x04\x66irs\x18\x1d \x01(\r\x12,\n\x08last_fir\x18\x1e \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x13\n\x0brtt_current\x18\x1f \x01(\r\x12\x0f\n\x07rtt_max\x18 \x01(\r\x12\x12\n\nkey_frames\x18! \x01(\r\x12\x32\n\x0elast_key_frame\x18\" \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x17\n\x0flayer_lock_plis\x18# \x01(\r\x12\x37\n\x13last_layer_lock_pli\x18$ \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\'\n\x0cpacket_drift\x18, \x01(\x0b\x32\x11.livekit.RTPDrift\x12+\n\x10ntp_report_drift\x18- \x01(\x0b\x32\x11.livekit.RTPDrift\x12/\n\x14rebased_report_drift\x18. \x01(\x0b\x32\x11.livekit.RTPDrift\x12\x30\n\x15received_report_drift\x18/ \x01(\x0b\x32\x11.livekit.RTPDrift\x1a\x33\n\x11GapHistogramEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\r:\x02\x38\x01\"\xa2\x01\n\x15RTCPSenderReportState\x12\x15\n\rrtp_timestamp\x18\x01 \x01(\r\x12\x19\n\x11rtp_timestamp_ext\x18\x02 \x01(\x04\x12\x15\n\rntp_timestamp\x18\x03 \x01(\x04\x12\n\n\x02\x61t\x18\x04 \x01(\x03\x12\x13\n\x0b\x61t_adjusted\x18\x05 \x01(\x03\x12\x0f\n\x07packets\x18\x06 \x01(\r\x12\x0e\n\x06octets\x18\x07 \x01(\x04\"\xc9\x02\n\x11RTPForwarderState\x12\x0f\n\x07started\x18\x01 \x01(\x08\x12\x1f\n\x17reference_layer_spatial\x18\x02 \x01(\x05\x12\x16\n\x0epre_start_time\x18\x03 \x01(\x03\x12\x1b\n\x13\x65xt_first_timestamp\x18\x04 \x01(\x04\x12$\n\x1c\x64ummy_start_timestamp_offset\x18\x05 \x01(\x04\x12+\n\nrtp_munger\x18\x06 \x01(\x0b\x32\x17.livekit.RTPMungerState\x12-\n\nvp8_munger\x18\x07 \x01(\x0b\x32\x17.livekit.VP8MungerStateH\x00\x12;\n\x13sender_report_state\x18\x08 \x03(\x0b\x32\x1e.livekit.RTCPSenderReportStateB\x0e\n\x0c\x63odec_munger\"\xcb\x01\n\x0eRTPMungerState\x12 \n\x18\x65xt_last_sequence_number\x18\x01 \x01(\x04\x12\'\n\x1f\x65xt_second_last_sequence_number\x18\x02 \x01(\x04\x12\x1a\n\x12\x65xt_last_timestamp\x18\x03 \x01(\x04\x12!\n\x19\x65xt_second_last_timestamp\x18\x04 \x01(\x04\x12\x13\n\x0blast_marker\x18\x05 \x01(\x08\x12\x1a\n\x12second_last_marker\x18\x06 \x01(\x08\"\xcd\x01\n\x0eVP8MungerState\x12\x30\n\x13\x65xt_last_picture_id\x18\x01 \x01(\x05\x42\x13\xbaP\x10\x65xtLastPictureID\x12\x17\n\x0fpicture_id_used\x18\x02 \x01(\x08\x12\x18\n\x10last_tl0_pic_idx\x18\x03 \x01(\r\x12\x18\n\x10tl0_pic_idx_used\x18\x04 \x01(\x08\x12\x10\n\x08tid_used\x18\x05 \x01(\x08\x12\x14\n\x0clast_key_idx\x18\x06 \x01(\r\x12\x14\n\x0ckey_idx_used\x18\x07 \x01(\x08\"1\n\x0cTimedVersion\x12\x12\n\nunix_micro\x18\x01 \x01(\x03\x12\r\n\x05ticks\x18\x02 \x01(\x05\"\xa0\t\n\nDataStream\x1a\xb8\x01\n\nTextHeader\x12\x39\n\x0eoperation_type\x18\x01 \x01(\x0e\x32!.livekit.DataStream.OperationType\x12\x0f\n\x07version\x18\x02 \x01(\x05\x12.\n\x12reply_to_stream_id\x18\x03 \x01(\tB\x12\xbaP\x0freplyToStreamID\x12\x1b\n\x13\x61ttached_stream_ids\x18\x04 \x03(\t\x12\x11\n\tgenerated\x18\x05 \x01(\x08\x1a\x1a\n\nByteHeader\x12\x0c\n\x04name\x18\x01 \x01(\t\x1a\x9d\x04\n\x06Header\x12\x1e\n\tstream_id\x18\x01 \x01(\tB\x0b\xbaP\x08streamID\x12\x11\n\ttimestamp\x18\x02 \x01(\x03\x12\r\n\x05topic\x18\x03 \x01(\t\x12\x11\n\tmime_type\x18\x04 \x01(\t\x12\x19\n\x0ctotal_length\x18\x05 \x01(\x04H\x01\x88\x01\x01\x12\x35\n\x0f\x65ncryption_type\x18\x07 \x01(\x0e\x32\x18.livekit.Encryption.TypeB\x02\x18\x01\x12>\n\nattributes\x18\x08 \x03(\x0b\x32*.livekit.DataStream.Header.AttributesEntry\x12\x35\n\x0btext_header\x18\t \x01(\x0b\x32\x1e.livekit.DataStream.TextHeaderH\x00\x12\x35\n\x0b\x62yte_header\x18\n \x01(\x0b\x32\x1e.livekit.DataStream.ByteHeaderH\x00\x12\x1b\n\x0einline_content\x18\x0b \x01(\x0cH\x02\x88\x01\x01\x12\x38\n\x0b\x63ompression\x18\x0c \x01(\x0e\x32#.livekit.DataStream.CompressionType\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x10\n\x0e\x63ontent_headerB\x0f\n\r_total_lengthB\x11\n\x0f_inline_content\x1az\n\x05\x43hunk\x12\x1e\n\tstream_id\x18\x01 \x01(\tB\x0b\xbaP\x08streamID\x12\x13\n\x0b\x63hunk_index\x18\x02 \x01(\x04\x12\x0f\n\x07\x63ontent\x18\x03 \x01(\x0c\x12\x0f\n\x07version\x18\x04 \x01(\x05\x12\x13\n\x02iv\x18\x05 \x01(\x0c\x42\x02\x18\x01H\x00\x88\x01\x01\x42\x05\n\x03_iv\x1a\xad\x01\n\x07Trailer\x12\x1e\n\tstream_id\x18\x01 \x01(\tB\x0b\xbaP\x08streamID\x12\x0e\n\x06reason\x18\x02 \x01(\t\x12?\n\nattributes\x18\x03 \x03(\x0b\x32+.livekit.DataStream.Trailer.AttributesEntry\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"A\n\rOperationType\x12\n\n\x06\x43REATE\x10\x00\x12\n\n\x06UPDATE\x10\x01\x12\n\n\x06\x44\x45LETE\x10\x02\x12\x0c\n\x08REACTION\x10\x03\",\n\x0f\x43ompressionType\x12\x08\n\x04NONE\x10\x00\x12\x0f\n\x0b\x44\x45\x46LATE_RAW\x10\x01\">\n\x0c\x46ilterParams\x12\x16\n\x0einclude_events\x18\x01 \x03(\t\x12\x16\n\x0e\x65xclude_events\x18\x02 \x03(\t\"_\n\rWebhookConfig\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x13\n\x0bsigning_key\x18\x02 \x01(\t\x12,\n\rfilter_params\x18\x03 \x01(\x0b\x32\x15.livekit.FilterParams\"6\n\x14SubscribedAudioCodec\x12\r\n\x05\x63odec\x18\x01 \x01(\t\x12\x0f\n\x07\x65nabled\x18\x02 \x01(\x08*;\n\nAudioCodec\x12\x0e\n\nDEFAULT_AC\x10\x00\x12\x08\n\x04OPUS\x10\x01\x12\x07\n\x03\x41\x41\x43\x10\x02\x12\n\n\x06\x41\x43_MP3\x10\x03*V\n\nVideoCodec\x12\x0e\n\nDEFAULT_VC\x10\x00\x12\x11\n\rH264_BASELINE\x10\x01\x12\r\n\tH264_MAIN\x10\x02\x12\r\n\tH264_HIGH\x10\x03\x12\x07\n\x03VP8\x10\x04*)\n\nImageCodec\x12\x0e\n\nIC_DEFAULT\x10\x00\x12\x0b\n\x07IC_JPEG\x10\x01*I\n\x11\x42\x61\x63kupCodecPolicy\x12\x15\n\x11PREFER_REGRESSION\x10\x00\x12\r\n\tSIMULCAST\x10\x01\x12\x0e\n\nREGRESSION\x10\x02*+\n\tTrackType\x12\t\n\x05\x41UDIO\x10\x00\x12\t\n\x05VIDEO\x10\x01\x12\x08\n\x04\x44\x41TA\x10\x02*`\n\x0bTrackSource\x12\x0b\n\x07UNKNOWN\x10\x00\x12\n\n\x06\x43\x41MERA\x10\x01\x12\x0e\n\nMICROPHONE\x10\x02\x12\x10\n\x0cSCREEN_SHARE\x10\x03\x12\x16\n\x12SCREEN_SHARE_AUDIO\x10\x04*B\n\x14\x44\x61taTrackExtensionID\x12\x10\n\x0c\x44TEI_INVALID\x10\x00\x12\x18\n\x14\x44TEI_PARTICIPANT_SID\x10\x01*6\n\x0cVideoQuality\x12\x07\n\x03LOW\x10\x00\x12\n\n\x06MEDIUM\x10\x01\x12\x08\n\x04HIGH\x10\x02\x12\x07\n\x03OFF\x10\x03*@\n\x11\x43onnectionQuality\x12\x08\n\x04POOR\x10\x00\x12\x08\n\x04GOOD\x10\x01\x12\r\n\tEXCELLENT\x10\x02\x12\x08\n\x04LOST\x10\x03*;\n\x13\x43lientConfigSetting\x12\t\n\x05UNSET\x10\x00\x12\x0c\n\x08\x44ISABLED\x10\x01\x12\x0b\n\x07\x45NABLED\x10\x02*\xe8\x02\n\x10\x44isconnectReason\x12\x12\n\x0eUNKNOWN_REASON\x10\x00\x12\x14\n\x10\x43LIENT_INITIATED\x10\x01\x12\x16\n\x12\x44UPLICATE_IDENTITY\x10\x02\x12\x13\n\x0fSERVER_SHUTDOWN\x10\x03\x12\x17\n\x13PARTICIPANT_REMOVED\x10\x04\x12\x10\n\x0cROOM_DELETED\x10\x05\x12\x12\n\x0eSTATE_MISMATCH\x10\x06\x12\x10\n\x0cJOIN_FAILURE\x10\x07\x12\r\n\tMIGRATION\x10\x08\x12\x10\n\x0cSIGNAL_CLOSE\x10\t\x12\x0f\n\x0bROOM_CLOSED\x10\n\x12\x14\n\x10USER_UNAVAILABLE\x10\x0b\x12\x11\n\rUSER_REJECTED\x10\x0c\x12\x15\n\x11SIP_TRUNK_FAILURE\x10\r\x12\x16\n\x12\x43ONNECTION_TIMEOUT\x10\x0e\x12\x11\n\rMEDIA_FAILURE\x10\x0f\x12\x0f\n\x0b\x41GENT_ERROR\x10\x10*\x89\x01\n\x0fReconnectReason\x12\x0e\n\nRR_UNKNOWN\x10\x00\x12\x1a\n\x16RR_SIGNAL_DISCONNECTED\x10\x01\x12\x17\n\x13RR_PUBLISHER_FAILED\x10\x02\x12\x18\n\x14RR_SUBSCRIBER_FAILED\x10\x03\x12\x17\n\x13RR_SWITCH_CANDIDATE\x10\x04*T\n\x11SubscriptionError\x12\x0e\n\nSE_UNKNOWN\x10\x00\x12\x18\n\x14SE_CODEC_UNSUPPORTED\x10\x01\x12\x15\n\x11SE_TRACK_NOTFOUND\x10\x02*\xbd\x01\n\x11\x41udioTrackFeature\x12\r\n\tTF_STEREO\x10\x00\x12\r\n\tTF_NO_DTX\x10\x01\x12\x18\n\x14TF_AUTO_GAIN_CONTROL\x10\x02\x12\x18\n\x14TF_ECHO_CANCELLATION\x10\x03\x12\x18\n\x14TF_NOISE_SUPPRESSION\x10\x04\x12\"\n\x1eTF_ENHANCED_NOISE_CANCELLATION\x10\x05\x12\x18\n\x14TF_PRECONNECT_BUFFER\x10\x06*S\n\x14PacketTrailerFeature\x12\x16\n\x12PTF_USER_TIMESTAMP\x10\x00\x12\x10\n\x0cPTF_FRAME_ID\x10\x01\x12\x11\n\rPTF_USER_DATA\x10\x02\x42\x46Z#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3"
12
13
 
13
14
  pool = Google::Protobuf::DescriptorPool.generated_pool
14
15
  pool.add_serialized_file(descriptor_data)
@@ -16,6 +17,8 @@ pool.add_serialized_file(descriptor_data)
16
17
  module LiveKit
17
18
  module Proto
18
19
  Pagination = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.Pagination").msgclass
20
+ TokenPagination = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.TokenPagination").msgclass
21
+ ListUpdate = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ListUpdate").msgclass
19
22
  Room = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.Room").msgclass
20
23
  Codec = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.Codec").msgclass
21
24
  PlayoutDelay = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.PlayoutDelay").msgclass
@@ -23,13 +26,22 @@ module LiveKit
23
26
  ParticipantInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ParticipantInfo").msgclass
24
27
  ParticipantInfo::State = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ParticipantInfo.State").enummodule
25
28
  ParticipantInfo::Kind = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ParticipantInfo.Kind").enummodule
29
+ ParticipantInfo::KindDetail = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ParticipantInfo.KindDetail").enummodule
26
30
  Encryption = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.Encryption").msgclass
27
31
  Encryption::Type = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.Encryption.Type").enummodule
28
32
  SimulcastCodecInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SimulcastCodecInfo").msgclass
29
33
  TrackInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.TrackInfo").msgclass
34
+ DataTrackInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.DataTrackInfo").msgclass
35
+ DataTrackExtensionParticipantSid = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.DataTrackExtensionParticipantSid").msgclass
36
+ DataTrackSubscriptionOptions = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.DataTrackSubscriptionOptions").msgclass
37
+ DataBlobKey = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.DataBlobKey").msgclass
38
+ DataBlob = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.DataBlob").msgclass
30
39
  VideoLayer = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.VideoLayer").msgclass
40
+ VideoLayer::Mode = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.VideoLayer.Mode").enummodule
31
41
  DataPacket = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.DataPacket").msgclass
32
42
  DataPacket::Kind = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.DataPacket.Kind").enummodule
43
+ EncryptedPacket = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.EncryptedPacket").msgclass
44
+ EncryptedPacketPayload = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.EncryptedPacketPayload").msgclass
33
45
  ActiveSpeakerUpdate = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ActiveSpeakerUpdate").msgclass
34
46
  SpeakerInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SpeakerInfo").msgclass
35
47
  UserPacket = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.UserPacket").msgclass
@@ -46,6 +58,7 @@ module LiveKit
46
58
  ServerInfo::Edition = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ServerInfo.Edition").enummodule
47
59
  ClientInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ClientInfo").msgclass
48
60
  ClientInfo::SDK = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ClientInfo.SDK").enummodule
61
+ ClientInfo::Capability = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ClientInfo.Capability").enummodule
49
62
  ClientConfiguration = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ClientConfiguration").msgclass
50
63
  VideoConfiguration = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.VideoConfiguration").msgclass
51
64
  DisabledCodecs = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.DisabledCodecs").msgclass
@@ -63,12 +76,17 @@ module LiveKit
63
76
  DataStream::Chunk = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.DataStream.Chunk").msgclass
64
77
  DataStream::Trailer = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.DataStream.Trailer").msgclass
65
78
  DataStream::OperationType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.DataStream.OperationType").enummodule
79
+ DataStream::CompressionType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.DataStream.CompressionType").enummodule
80
+ FilterParams = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.FilterParams").msgclass
81
+ WebhookConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.WebhookConfig").msgclass
82
+ SubscribedAudioCodec = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SubscribedAudioCodec").msgclass
66
83
  AudioCodec = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.AudioCodec").enummodule
67
84
  VideoCodec = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.VideoCodec").enummodule
68
85
  ImageCodec = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ImageCodec").enummodule
69
86
  BackupCodecPolicy = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.BackupCodecPolicy").enummodule
70
87
  TrackType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.TrackType").enummodule
71
88
  TrackSource = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.TrackSource").enummodule
89
+ DataTrackExtensionID = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.DataTrackExtensionID").enummodule
72
90
  VideoQuality = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.VideoQuality").enummodule
73
91
  ConnectionQuality = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ConnectionQuality").enummodule
74
92
  ClientConfigSetting = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ClientConfigSetting").enummodule
@@ -76,5 +94,6 @@ module LiveKit
76
94
  ReconnectReason = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ReconnectReason").enummodule
77
95
  SubscriptionError = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SubscriptionError").enummodule
78
96
  AudioTrackFeature = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.AudioTrackFeature").enummodule
97
+ PacketTrailerFeature = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.PacketTrailerFeature").enummodule
79
98
  end
80
99
  end
@@ -1,4 +1,4 @@
1
- # Code generated by protoc-gen-twirp_ruby 1.10.0, DO NOT EDIT.
1
+ # Code generated by protoc-gen-twirp_ruby 1.14.1, DO NOT EDIT.
2
2
  require 'twirp'
3
3
  require_relative 'livekit_models_pb.rb'
4
4
 
@@ -7,9 +7,10 @@ require 'google/protobuf'
7
7
  require 'livekit_models_pb'
8
8
  require 'livekit_egress_pb'
9
9
  require 'livekit_agent_dispatch_pb'
10
+ require 'logger/options_pb'
10
11
 
11
12
 
12
- descriptor_data = "\n\x12livekit_room.proto\x12\x07livekit\x1a\x14livekit_models.proto\x1a\x14livekit_egress.proto\x1a\x1clivekit_agent_dispatch.proto\"\xda\x02\n\x11\x43reateRoomRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0broom_preset\x18\x0c \x01(\t\x12\x15\n\rempty_timeout\x18\x02 \x01(\r\x12\x19\n\x11\x64\x65parture_timeout\x18\n \x01(\r\x12\x18\n\x10max_participants\x18\x03 \x01(\r\x12\x0f\n\x07node_id\x18\x04 \x01(\t\x12\x10\n\x08metadata\x18\x05 \x01(\t\x12#\n\x06\x65gress\x18\x06 \x01(\x0b\x32\x13.livekit.RoomEgress\x12\x19\n\x11min_playout_delay\x18\x07 \x01(\r\x12\x19\n\x11max_playout_delay\x18\x08 \x01(\r\x12\x14\n\x0csync_streams\x18\t \x01(\x08\x12\x16\n\x0ereplay_enabled\x18\r \x01(\x08\x12*\n\x06\x61gents\x18\x0e \x03(\x0b\x32\x1a.livekit.RoomAgentDispatch\"\x9e\x01\n\nRoomEgress\x12\x31\n\x04room\x18\x01 \x01(\x0b\x32#.livekit.RoomCompositeEgressRequest\x12\x33\n\x0bparticipant\x18\x03 \x01(\x0b\x32\x1e.livekit.AutoParticipantEgress\x12(\n\x06tracks\x18\x02 \x01(\x0b\x32\x18.livekit.AutoTrackEgress\";\n\tRoomAgent\x12.\n\ndispatches\x18\x01 \x03(\x0b\x32\x1a.livekit.RoomAgentDispatch\"!\n\x10ListRoomsRequest\x12\r\n\x05names\x18\x01 \x03(\t\"1\n\x11ListRoomsResponse\x12\x1c\n\x05rooms\x18\x01 \x03(\x0b\x32\r.livekit.Room\"!\n\x11\x44\x65leteRoomRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\"\x14\n\x12\x44\x65leteRoomResponse\"\'\n\x17ListParticipantsRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\"J\n\x18ListParticipantsResponse\x12.\n\x0cparticipants\x18\x01 \x03(\x0b\x32\x18.livekit.ParticipantInfo\"9\n\x17RoomParticipantIdentity\x12\x0c\n\x04room\x18\x01 \x01(\t\x12\x10\n\x08identity\x18\x02 \x01(\t\"\x1b\n\x19RemoveParticipantResponse\"X\n\x14MuteRoomTrackRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\x12\x10\n\x08identity\x18\x02 \x01(\t\x12\x11\n\ttrack_sid\x18\x03 \x01(\t\x12\r\n\x05muted\x18\x04 \x01(\x08\":\n\x15MuteRoomTrackResponse\x12!\n\x05track\x18\x01 \x01(\x0b\x32\x12.livekit.TrackInfo\"\x88\x02\n\x18UpdateParticipantRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\x12\x10\n\x08identity\x18\x02 \x01(\t\x12\x10\n\x08metadata\x18\x03 \x01(\t\x12\x32\n\npermission\x18\x04 \x01(\x0b\x32\x1e.livekit.ParticipantPermission\x12\x0c\n\x04name\x18\x05 \x01(\t\x12\x45\n\nattributes\x18\x06 \x03(\x0b\x32\x31.livekit.UpdateParticipantRequest.AttributesEntry\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x9b\x01\n\x1aUpdateSubscriptionsRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\x12\x10\n\x08identity\x18\x02 \x01(\t\x12\x12\n\ntrack_sids\x18\x03 \x03(\t\x12\x11\n\tsubscribe\x18\x04 \x01(\x08\x12\x36\n\x12participant_tracks\x18\x05 \x03(\x0b\x32\x1a.livekit.ParticipantTracks\"\x1d\n\x1bUpdateSubscriptionsResponse\"\xc0\x01\n\x0fSendDataRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\x12&\n\x04kind\x18\x03 \x01(\x0e\x32\x18.livekit.DataPacket.Kind\x12\x1c\n\x10\x64\x65stination_sids\x18\x04 \x03(\tB\x02\x18\x01\x12\x1e\n\x16\x64\x65stination_identities\x18\x06 \x03(\t\x12\x12\n\x05topic\x18\x05 \x01(\tH\x00\x88\x01\x01\x12\r\n\x05nonce\x18\x07 \x01(\x0c\x42\x08\n\x06_topic\"\x12\n\x10SendDataResponse\";\n\x19UpdateRoomMetadataRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\x12\x10\n\x08metadata\x18\x02 \x01(\t\"\x8a\x02\n\x11RoomConfiguration\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rempty_timeout\x18\x02 \x01(\r\x12\x19\n\x11\x64\x65parture_timeout\x18\x03 \x01(\r\x12\x18\n\x10max_participants\x18\x04 \x01(\r\x12#\n\x06\x65gress\x18\x05 \x01(\x0b\x32\x13.livekit.RoomEgress\x12\x19\n\x11min_playout_delay\x18\x07 \x01(\r\x12\x19\n\x11max_playout_delay\x18\x08 \x01(\r\x12\x14\n\x0csync_streams\x18\t \x01(\x08\x12*\n\x06\x61gents\x18\n \x03(\x0b\x32\x1a.livekit.RoomAgentDispatch2\xe6\x06\n\x0bRoomService\x12\x37\n\nCreateRoom\x12\x1a.livekit.CreateRoomRequest\x1a\r.livekit.Room\x12\x42\n\tListRooms\x12\x19.livekit.ListRoomsRequest\x1a\x1a.livekit.ListRoomsResponse\x12\x45\n\nDeleteRoom\x12\x1a.livekit.DeleteRoomRequest\x1a\x1b.livekit.DeleteRoomResponse\x12W\n\x10ListParticipants\x12 .livekit.ListParticipantsRequest\x1a!.livekit.ListParticipantsResponse\x12L\n\x0eGetParticipant\x12 .livekit.RoomParticipantIdentity\x1a\x18.livekit.ParticipantInfo\x12Y\n\x11RemoveParticipant\x12 .livekit.RoomParticipantIdentity\x1a\".livekit.RemoveParticipantResponse\x12S\n\x12MutePublishedTrack\x12\x1d.livekit.MuteRoomTrackRequest\x1a\x1e.livekit.MuteRoomTrackResponse\x12P\n\x11UpdateParticipant\x12!.livekit.UpdateParticipantRequest\x1a\x18.livekit.ParticipantInfo\x12`\n\x13UpdateSubscriptions\x12#.livekit.UpdateSubscriptionsRequest\x1a$.livekit.UpdateSubscriptionsResponse\x12?\n\x08SendData\x12\x18.livekit.SendDataRequest\x1a\x19.livekit.SendDataResponse\x12G\n\x12UpdateRoomMetadata\x12\".livekit.UpdateRoomMetadataRequest\x1a\r.livekit.RoomBFZ#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3"
13
+ descriptor_data = "\n\x12livekit_room.proto\x12\x07livekit\x1a\x14livekit_models.proto\x1a\x14livekit_egress.proto\x1a\x1clivekit_agent_dispatch.proto\x1a\x14logger/options.proto\"\xec\x03\n\x11\x43reateRoomRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0broom_preset\x18\x0c \x01(\t\x12\x15\n\rempty_timeout\x18\x02 \x01(\r\x12\x19\n\x11\x64\x65parture_timeout\x18\n \x01(\r\x12\x18\n\x10max_participants\x18\x03 \x01(\r\x12\x1a\n\x07node_id\x18\x04 \x01(\tB\t\xbaP\x06nodeID\x12\x36\n\x08metadata\x18\x05 \x01(\tB$\xb2P\x1e<redacted ({{ .Size }} bytes)>\xc0P\x01\x12\x32\n\x04tags\x18\x0f \x03(\x0b\x32$.livekit.CreateRoomRequest.TagsEntry\x12#\n\x06\x65gress\x18\x06 \x01(\x0b\x32\x13.livekit.RoomEgress\x12\x19\n\x11min_playout_delay\x18\x07 \x01(\r\x12\x19\n\x11max_playout_delay\x18\x08 \x01(\r\x12\x14\n\x0csync_streams\x18\t \x01(\x08\x12\x16\n\x0ereplay_enabled\x18\r \x01(\x08\x12*\n\x06\x61gents\x18\x0e \x03(\x0b\x32\x1a.livekit.RoomAgentDispatch\x1a+\n\tTagsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x9e\x01\n\nRoomEgress\x12\x31\n\x04room\x18\x01 \x01(\x0b\x32#.livekit.RoomCompositeEgressRequest\x12\x33\n\x0bparticipant\x18\x03 \x01(\x0b\x32\x1e.livekit.AutoParticipantEgress\x12(\n\x06tracks\x18\x02 \x01(\x0b\x32\x18.livekit.AutoTrackEgress\";\n\tRoomAgent\x12.\n\ndispatches\x18\x01 \x03(\x0b\x32\x1a.livekit.RoomAgentDispatch\"!\n\x10ListRoomsRequest\x12\r\n\x05names\x18\x01 \x03(\t\"1\n\x11ListRoomsResponse\x12\x1c\n\x05rooms\x18\x01 \x03(\x0b\x32\r.livekit.Room\"!\n\x11\x44\x65leteRoomRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\"\x14\n\x12\x44\x65leteRoomResponse\"\'\n\x17ListParticipantsRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\"J\n\x18ListParticipantsResponse\x12.\n\x0cparticipants\x18\x01 \x03(\x0b\x32\x18.livekit.ParticipantInfo\"R\n\x17RoomParticipantIdentity\x12\x0c\n\x04room\x18\x01 \x01(\t\x12\x10\n\x08identity\x18\x02 \x01(\t\x12\x17\n\x0frevoke_token_ts\x18\x03 \x01(\x03\"\x1b\n\x19RemoveParticipantResponse\"X\n\x14MuteRoomTrackRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\x12\x10\n\x08identity\x18\x02 \x01(\t\x12\x11\n\ttrack_sid\x18\x03 \x01(\t\x12\r\n\x05muted\x18\x04 \x01(\x08\":\n\x15MuteRoomTrackResponse\x12!\n\x05track\x18\x01 \x01(\x0b\x32\x12.livekit.TrackInfo\"\xfa\x02\n\x18UpdateParticipantRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\x12\x10\n\x08identity\x18\x02 \x01(\t\x12\x36\n\x08metadata\x18\x03 \x01(\tB$\xb2P\x1e<redacted ({{ .Size }} bytes)>\xc0P\x01\x12\x32\n\npermission\x18\x04 \x01(\x0b\x32\x1e.livekit.ParticipantPermission\x12\x32\n\x04name\x18\x05 \x01(\tB$\xb2P\x1e<redacted ({{ .Size }} bytes)>\xc0P\x01\x12k\n\nattributes\x18\x06 \x03(\x0b\x32\x31.livekit.UpdateParticipantRequest.AttributesEntryB$\xb2P\x1e<redacted ({{ .Size }} bytes)>\xc0P\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\"\x9b\x01\n\x1aUpdateSubscriptionsRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\x12\x10\n\x08identity\x18\x02 \x01(\t\x12\x12\n\ntrack_sids\x18\x03 \x03(\t\x12\x11\n\tsubscribe\x18\x04 \x01(\x08\x12\x36\n\x12participant_tracks\x18\x05 \x03(\x0b\x32\x1a.livekit.ParticipantTracks\"\x1d\n\x1bUpdateSubscriptionsResponse\"\xc0\x01\n\x0fSendDataRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\x12&\n\x04kind\x18\x03 \x01(\x0e\x32\x18.livekit.DataPacket.Kind\x12\x1c\n\x10\x64\x65stination_sids\x18\x04 \x03(\tB\x02\x18\x01\x12\x1e\n\x16\x64\x65stination_identities\x18\x06 \x03(\t\x12\x12\n\x05topic\x18\x05 \x01(\tH\x00\x88\x01\x01\x12\r\n\x05nonce\x18\x07 \x01(\x0c\x42\x08\n\x06_topic\"\x12\n\x10SendDataResponse\"a\n\x19UpdateRoomMetadataRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\x12\x36\n\x08metadata\x18\x02 \x01(\tB$\xb2P\x1e<redacted ({{ .Size }} bytes)>\xc0P\x01\"\xa3\x03\n\x11RoomConfiguration\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rempty_timeout\x18\x02 \x01(\r\x12\x19\n\x11\x64\x65parture_timeout\x18\x03 \x01(\r\x12\x18\n\x10max_participants\x18\x04 \x01(\r\x12\x36\n\x08metadata\x18\x0b \x01(\tB$\xb2P\x1e<redacted ({{ .Size }} bytes)>\xc0P\x01\x12#\n\x06\x65gress\x18\x05 \x01(\x0b\x32\x13.livekit.RoomEgress\x12\x19\n\x11min_playout_delay\x18\x07 \x01(\r\x12\x19\n\x11max_playout_delay\x18\x08 \x01(\r\x12\x14\n\x0csync_streams\x18\t \x01(\x08\x12*\n\x06\x61gents\x18\n \x03(\x0b\x32\x1a.livekit.RoomAgentDispatch\x12\x32\n\x04tags\x18\x0c \x03(\x0b\x32$.livekit.RoomConfiguration.TagsEntry\x1a+\n\tTagsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"U\n\x19\x46orwardParticipantRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\x12\x10\n\x08identity\x18\x02 \x01(\t\x12\x18\n\x10\x64\x65stination_room\x18\x03 \x01(\t\"\x1c\n\x1a\x46orwardParticipantResponse\"R\n\x16MoveParticipantRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\x12\x10\n\x08identity\x18\x02 \x01(\t\x12\x18\n\x10\x64\x65stination_room\x18\x03 \x01(\t\"\x19\n\x17MoveParticipantResponse\"}\n\x11PerformRpcRequest\x12\x0c\n\x04room\x18\x01 \x01(\t\x12\x1c\n\x14\x64\x65stination_identity\x18\x02 \x01(\t\x12\x0e\n\x06method\x18\x03 \x01(\t\x12\x0f\n\x07payload\x18\x04 \x01(\t\x12\x1b\n\x13response_timeout_ms\x18\x05 \x01(\r\"%\n\x12PerformRpcResponse\x12\x0f\n\x07payload\x18\x01 \x01(\t2\xe2\x08\n\x0bRoomService\x12\x37\n\nCreateRoom\x12\x1a.livekit.CreateRoomRequest\x1a\r.livekit.Room\x12\x42\n\tListRooms\x12\x19.livekit.ListRoomsRequest\x1a\x1a.livekit.ListRoomsResponse\x12\x45\n\nDeleteRoom\x12\x1a.livekit.DeleteRoomRequest\x1a\x1b.livekit.DeleteRoomResponse\x12W\n\x10ListParticipants\x12 .livekit.ListParticipantsRequest\x1a!.livekit.ListParticipantsResponse\x12L\n\x0eGetParticipant\x12 .livekit.RoomParticipantIdentity\x1a\x18.livekit.ParticipantInfo\x12Y\n\x11RemoveParticipant\x12 .livekit.RoomParticipantIdentity\x1a\".livekit.RemoveParticipantResponse\x12S\n\x12MutePublishedTrack\x12\x1d.livekit.MuteRoomTrackRequest\x1a\x1e.livekit.MuteRoomTrackResponse\x12P\n\x11UpdateParticipant\x12!.livekit.UpdateParticipantRequest\x1a\x18.livekit.ParticipantInfo\x12`\n\x13UpdateSubscriptions\x12#.livekit.UpdateSubscriptionsRequest\x1a$.livekit.UpdateSubscriptionsResponse\x12?\n\x08SendData\x12\x18.livekit.SendDataRequest\x1a\x19.livekit.SendDataResponse\x12G\n\x12UpdateRoomMetadata\x12\".livekit.UpdateRoomMetadataRequest\x1a\r.livekit.Room\x12]\n\x12\x46orwardParticipant\x12\".livekit.ForwardParticipantRequest\x1a#.livekit.ForwardParticipantResponse\x12T\n\x0fMoveParticipant\x12\x1f.livekit.MoveParticipantRequest\x1a .livekit.MoveParticipantResponse\x12\x45\n\nPerformRpc\x12\x1a.livekit.PerformRpcRequest\x1a\x1b.livekit.PerformRpcResponseBFZ#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3"
13
14
 
14
15
  pool = Google::Protobuf::DescriptorPool.generated_pool
15
16
  pool.add_serialized_file(descriptor_data)
@@ -36,5 +37,11 @@ module LiveKit
36
37
  SendDataResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SendDataResponse").msgclass
37
38
  UpdateRoomMetadataRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.UpdateRoomMetadataRequest").msgclass
38
39
  RoomConfiguration = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.RoomConfiguration").msgclass
40
+ ForwardParticipantRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ForwardParticipantRequest").msgclass
41
+ ForwardParticipantResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ForwardParticipantResponse").msgclass
42
+ MoveParticipantRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.MoveParticipantRequest").msgclass
43
+ MoveParticipantResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.MoveParticipantResponse").msgclass
44
+ PerformRpcRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.PerformRpcRequest").msgclass
45
+ PerformRpcResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.PerformRpcResponse").msgclass
39
46
  end
40
47
  end
@@ -1,4 +1,4 @@
1
- # Code generated by protoc-gen-twirp_ruby 1.10.0, DO NOT EDIT.
1
+ # Code generated by protoc-gen-twirp_ruby 1.14.1, DO NOT EDIT.
2
2
  require 'twirp'
3
3
  require_relative 'livekit_room_pb.rb'
4
4
 
@@ -18,6 +18,9 @@ module LiveKit
18
18
  rpc :UpdateSubscriptions, UpdateSubscriptionsRequest, UpdateSubscriptionsResponse, :ruby_method => :update_subscriptions
19
19
  rpc :SendData, SendDataRequest, SendDataResponse, :ruby_method => :send_data
20
20
  rpc :UpdateRoomMetadata, UpdateRoomMetadataRequest, Room, :ruby_method => :update_room_metadata
21
+ rpc :ForwardParticipant, ForwardParticipantRequest, ForwardParticipantResponse, :ruby_method => :forward_participant
22
+ rpc :MoveParticipant, MoveParticipantRequest, MoveParticipantResponse, :ruby_method => :move_participant
23
+ rpc :PerformRpc, PerformRpcRequest, PerformRpcResponse, :ruby_method => :perform_rpc
21
24
  end
22
25
 
23
26
  class RoomServiceClient < ::Twirp::Client
@@ -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
@@ -0,0 +1,8 @@
1
+ # Code generated by protoc-gen-twirp_ruby 1.14.1, DO NOT EDIT.
2
+ require 'twirp'
3
+ require_relative 'livekit_rtc_pb.rb'
4
+
5
+ module LiveKit
6
+ module Proto
7
+ end
8
+ end
@@ -4,13 +4,16 @@
4
4
 
5
5
  require 'google/protobuf'
6
6
 
7
+ require 'google/protobuf/any_pb'
7
8
  require 'google/protobuf/duration_pb'
8
9
  require 'google/protobuf/empty_pb'
10
+ require 'google/protobuf/timestamp_pb'
9
11
  require 'livekit_models_pb'
10
12
  require 'livekit_room_pb'
13
+ require 'logger/options_pb'
11
14
 
12
15
 
13
- descriptor_data = "\n\x11livekit_sip.proto\x12\x07livekit\x1a\x1egoogle/protobuf/duration.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x14livekit_models.proto\x1a\x12livekit_room.proto\"A\n\tSIPStatus\x12$\n\x04\x63ode\x18\x01 \x01(\x0e\x32\x16.livekit.SIPStatusCode\x12\x0e\n\x06status\x18\x02 \x01(\t\"\xaf\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\x18\n\x10inbound_username\x18\x05 \x01(\t\x12\x18\n\x10inbound_password\x18\x06 \x01(\t\x12\x19\n\x11outbound_username\x18\x07 \x01(\t\x12\x19\n\x11outbound_password\x18\x08 \x01(\t\x12\x0c\n\x04name\x18\n \x01(\t\x12\x10\n\x08metadata\x18\x0b \x01(\t:\x02\x18\x01\"\xdb\x03\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\x18\n\x10inbound_username\x18\x06 \x01(\t\x12\x18\n\x10inbound_password\x18\x07 \x01(\t\x12\x19\n\x11outbound_username\x18\x08 \x01(\t\x12\x19\n\x11outbound_password\x18\t \x01(\t\x12\x0c\n\x04name\x18\x0b \x01(\t\x12\x10\n\x08metadata\x18\x0c \x01(\t\"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\"\xba\x06\n\x13SIPInboundTrunkInfo\x12\x14\n\x0csip_trunk_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08metadata\x18\x03 \x01(\t\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\x15\n\rauth_username\x18\x07 \x01(\t\x12\x15\n\rauth_password\x18\x08 \x01(\t\x12:\n\x07headers\x18\t \x03(\x0b\x32).livekit.SIPInboundTrunkInfo.HeadersEntry\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\"M\n\x1d\x43reateSIPOutboundTrunkRequest\x12,\n\x05trunk\x18\x01 \x01(\x0b\x32\x1d.livekit.SIPOutboundTrunkInfo\"\xc4\x05\n\x14SIPOutboundTrunkInfo\x12\x14\n\x0csip_trunk_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08metadata\x18\x03 \x01(\t\x12\x0f\n\x07\x61\x64\x64ress\x18\x04 \x01(\t\x12(\n\ttransport\x18\x05 \x01(\x0e\x32\x15.livekit.SIPTransport\x12\x0f\n\x07numbers\x18\x06 \x03(\t\x12\x15\n\rauth_username\x18\x07 \x01(\t\x12\x15\n\rauth_password\x18\x08 \x01(\t\x12;\n\x07headers\x18\t \x03(\x0b\x32*.livekit.SIPOutboundTrunkInfo.HeadersEntry\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\"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\"\xf1\x02\n\x1c\x43reateSIPDispatchRuleRequest\x12&\n\x04rule\x18\x01 \x01(\x0b\x32\x18.livekit.SIPDispatchRule\x12\x11\n\ttrunk_ids\x18\x02 \x03(\t\x12\x19\n\x11hide_phone_number\x18\x03 \x01(\x08\x12\x17\n\x0finbound_numbers\x18\x06 \x03(\t\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x10\n\x08metadata\x18\x05 \x01(\t\x12I\n\nattributes\x18\x07 \x03(\x0b\x32\x35.livekit.CreateSIPDispatchRuleRequest.AttributesEntry\x12\x13\n\x0broom_preset\x18\x08 \x01(\t\x12/\n\x0broom_config\x18\t \x01(\x0b\x32\x1a.livekit.RoomConfiguration\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xcb\x03\n\x13SIPDispatchRuleInfo\x12\x1c\n\x14sip_dispatch_rule_id\x18\x01 \x01(\t\x12&\n\x04rule\x18\x02 \x01(\x0b\x32\x18.livekit.SIPDispatchRule\x12\x11\n\ttrunk_ids\x18\x03 \x03(\t\x12\x19\n\x11hide_phone_number\x18\x04 \x01(\x08\x12\x17\n\x0finbound_numbers\x18\x07 \x03(\t\x12\x0c\n\x04name\x18\x05 \x01(\t\x12\x10\n\x08metadata\x18\x06 \x01(\t\x12@\n\nattributes\x18\x08 \x03(\x0b\x32,.livekit.SIPDispatchRuleInfo.AttributesEntry\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\"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\"\xbc\x06\n\x1b\x43reateSIPParticipantRequest\x12\x14\n\x0csip_trunk_id\x18\x01 \x01(\t\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\x18\n\x10participant_name\x18\x07 \x01(\t\x12\x1c\n\x14participant_metadata\x18\x08 \x01(\t\x12_\n\x16participant_attributes\x18\t \x03(\x0b\x32?.livekit.CreateSIPParticipantRequest.ParticipantAttributesEntry\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\x12\x42\n\x07headers\x18\x10 \x03(\x0b\x32\x31.livekit.CreateSIPParticipantRequest.HeadersEntry\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\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\"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\"\xf2\x01\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\x12\x44\n\x07headers\x18\x05 \x03(\x0b\x32\x33.livekit.TransferSIPParticipantRequest.HeadersEntry\x1a.\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xc4\x03\n\x0bSIPCallInfo\x12\x0f\n\x07\x63\x61ll_id\x18\x01 \x01(\t\x12\x10\n\x08trunk_id\x18\x02 \x01(\t\x12\x11\n\troom_name\x18\x03 \x01(\t\x12\x0f\n\x07room_id\x18\x04 \x01(\t\x12\x1c\n\x14participant_identity\x18\x05 \x01(\t\x12!\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-\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\x12\n\ncreated_at\x18\t \x01(\x03\x12\x12\n\nstarted_at\x18\n \x01(\x03\x12\x10\n\x08\x65nded_at\x18\x0b \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\"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*\xef\x0c\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\x12\n\rSIP_STATUS_OK\x10\xc8\x01\x12\x18\n\x13SIP_STATUS_ACCEPTED\x10\xca\x01\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\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(\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\x1d\n\x18SIP_STATUS_BAD_EXTENSION\x10\xa4\x03\x12\"\n\x1dSIP_STATUS_EXTENSION_REQUIRED\x10\xa5\x03\x12\"\n\x1dSIP_STATUS_INTERVAL_TOO_BRIEF\x10\xa7\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%\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*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*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*)\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\xba\t\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\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\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"
14
17
 
15
18
  pool = Google::Protobuf::DescriptorPool.generated_pool
16
19
  pool.add_serialized_file(descriptor_data)
@@ -19,12 +22,19 @@ module LiveKit
19
22
  module Proto
20
23
  SIPStatus = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SIPStatus").msgclass
21
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
27
+ ProviderInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ProviderInfo").msgclass
22
28
  SIPTrunkInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SIPTrunkInfo").msgclass
23
29
  SIPTrunkInfo::TrunkKind = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SIPTrunkInfo.TrunkKind").enummodule
24
30
  CreateSIPInboundTrunkRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.CreateSIPInboundTrunkRequest").msgclass
31
+ UpdateSIPInboundTrunkRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.UpdateSIPInboundTrunkRequest").msgclass
25
32
  SIPInboundTrunkInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SIPInboundTrunkInfo").msgclass
33
+ SIPInboundTrunkUpdate = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SIPInboundTrunkUpdate").msgclass
26
34
  CreateSIPOutboundTrunkRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.CreateSIPOutboundTrunkRequest").msgclass
35
+ UpdateSIPOutboundTrunkRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.UpdateSIPOutboundTrunkRequest").msgclass
27
36
  SIPOutboundTrunkInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SIPOutboundTrunkInfo").msgclass
37
+ SIPOutboundTrunkUpdate = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SIPOutboundTrunkUpdate").msgclass
28
38
  GetSIPInboundTrunkRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.GetSIPInboundTrunkRequest").msgclass
29
39
  GetSIPInboundTrunkResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.GetSIPInboundTrunkResponse").msgclass
30
40
  GetSIPOutboundTrunkRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.GetSIPOutboundTrunkRequest").msgclass
@@ -41,20 +51,29 @@ module LiveKit
41
51
  SIPDispatchRuleCallee = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SIPDispatchRuleCallee").msgclass
42
52
  SIPDispatchRule = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SIPDispatchRule").msgclass
43
53
  CreateSIPDispatchRuleRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.CreateSIPDispatchRuleRequest").msgclass
54
+ UpdateSIPDispatchRuleRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.UpdateSIPDispatchRuleRequest").msgclass
44
55
  SIPDispatchRuleInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SIPDispatchRuleInfo").msgclass
56
+ SIPDispatchRuleUpdate = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SIPDispatchRuleUpdate").msgclass
45
57
  ListSIPDispatchRuleRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ListSIPDispatchRuleRequest").msgclass
46
58
  ListSIPDispatchRuleResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ListSIPDispatchRuleResponse").msgclass
47
59
  DeleteSIPDispatchRuleRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.DeleteSIPDispatchRuleRequest").msgclass
60
+ SIPOutboundConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SIPOutboundConfig").msgclass
48
61
  CreateSIPParticipantRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.CreateSIPParticipantRequest").msgclass
49
62
  SIPParticipantInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SIPParticipantInfo").msgclass
50
63
  TransferSIPParticipantRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.TransferSIPParticipantRequest").msgclass
51
64
  SIPCallInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SIPCallInfo").msgclass
65
+ SIPTransferInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SIPTransferInfo").msgclass
52
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
69
+ Destination = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.Destination").msgclass
53
70
  SIPStatusCode = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SIPStatusCode").enummodule
54
71
  SIPTransport = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SIPTransport").enummodule
55
72
  SIPHeaderOptions = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SIPHeaderOptions").enummodule
56
73
  SIPMediaEncryption = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SIPMediaEncryption").enummodule
74
+ ProviderType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.ProviderType").enummodule
57
75
  SIPCallStatus = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SIPCallStatus").enummodule
76
+ SIPTransferStatus = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SIPTransferStatus").enummodule
58
77
  SIPFeature = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SIPFeature").enummodule
59
78
  SIPCallDirection = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("livekit.SIPCallDirection").enummodule
60
79
  end
@@ -1,4 +1,4 @@
1
- # Code generated by protoc-gen-twirp_ruby 1.10.0, DO NOT EDIT.
1
+ # Code generated by protoc-gen-twirp_ruby 1.14.1, DO NOT EDIT.
2
2
  require 'twirp'
3
3
  require_relative 'livekit_sip_pb.rb'
4
4
 
@@ -10,12 +10,15 @@ module LiveKit
10
10
  rpc :ListSIPTrunk, ListSIPTrunkRequest, ListSIPTrunkResponse, :ruby_method => :list_s_i_p_trunk
11
11
  rpc :CreateSIPInboundTrunk, CreateSIPInboundTrunkRequest, SIPInboundTrunkInfo, :ruby_method => :create_s_i_p_inbound_trunk
12
12
  rpc :CreateSIPOutboundTrunk, CreateSIPOutboundTrunkRequest, SIPOutboundTrunkInfo, :ruby_method => :create_s_i_p_outbound_trunk
13
+ rpc :UpdateSIPInboundTrunk, UpdateSIPInboundTrunkRequest, SIPInboundTrunkInfo, :ruby_method => :update_s_i_p_inbound_trunk
14
+ rpc :UpdateSIPOutboundTrunk, UpdateSIPOutboundTrunkRequest, SIPOutboundTrunkInfo, :ruby_method => :update_s_i_p_outbound_trunk
13
15
  rpc :GetSIPInboundTrunk, GetSIPInboundTrunkRequest, GetSIPInboundTrunkResponse, :ruby_method => :get_s_i_p_inbound_trunk
14
16
  rpc :GetSIPOutboundTrunk, GetSIPOutboundTrunkRequest, GetSIPOutboundTrunkResponse, :ruby_method => :get_s_i_p_outbound_trunk
15
17
  rpc :ListSIPInboundTrunk, ListSIPInboundTrunkRequest, ListSIPInboundTrunkResponse, :ruby_method => :list_s_i_p_inbound_trunk
16
18
  rpc :ListSIPOutboundTrunk, ListSIPOutboundTrunkRequest, ListSIPOutboundTrunkResponse, :ruby_method => :list_s_i_p_outbound_trunk
17
19
  rpc :DeleteSIPTrunk, DeleteSIPTrunkRequest, SIPTrunkInfo, :ruby_method => :delete_s_i_p_trunk
18
20
  rpc :CreateSIPDispatchRule, CreateSIPDispatchRuleRequest, SIPDispatchRuleInfo, :ruby_method => :create_s_i_p_dispatch_rule
21
+ rpc :UpdateSIPDispatchRule, UpdateSIPDispatchRuleRequest, SIPDispatchRuleInfo, :ruby_method => :update_s_i_p_dispatch_rule
19
22
  rpc :ListSIPDispatchRule, ListSIPDispatchRuleRequest, ListSIPDispatchRuleResponse, :ruby_method => :list_s_i_p_dispatch_rule
20
23
  rpc :DeleteSIPDispatchRule, DeleteSIPDispatchRuleRequest, SIPDispatchRuleInfo, :ruby_method => :delete_s_i_p_dispatch_rule
21
24
  rpc :CreateSIPParticipant, CreateSIPParticipantRequest, SIPParticipantInfo, :ruby_method => :create_s_i_p_participant