296 lines
6.9 KiB
Protocol Buffer
296 lines
6.9 KiB
Protocol Buffer
package MumbleProto;
|
|
|
|
option optimize_for = SPEED;
|
|
|
|
message Version {
|
|
optional uint32 version = 1;
|
|
optional string release = 2;
|
|
optional string os = 3;
|
|
optional string os_version = 4;
|
|
}
|
|
|
|
message UDPTunnel {
|
|
required bytes packet = 1;
|
|
}
|
|
|
|
message Authenticate {
|
|
optional string username = 1;
|
|
optional string password = 2;
|
|
repeated string tokens = 3;
|
|
repeated int32 celt_versions = 4;
|
|
optional bool opus = 5 [default = false];
|
|
}
|
|
|
|
message Ping {
|
|
optional uint64 timestamp = 1;
|
|
optional uint32 good = 2;
|
|
optional uint32 late = 3;
|
|
optional uint32 lost = 4;
|
|
optional uint32 resync = 5;
|
|
optional uint32 udp_packets = 6;
|
|
optional uint32 tcp_packets = 7;
|
|
optional float udp_ping_avg = 8;
|
|
optional float udp_ping_var = 9;
|
|
optional float tcp_ping_avg = 10;
|
|
optional float tcp_ping_var = 11;
|
|
}
|
|
|
|
message Reject {
|
|
enum RejectType {
|
|
None = 0;
|
|
WrongVersion = 1;
|
|
InvalidUsername = 2;
|
|
WrongUserPW = 3;
|
|
WrongServerPW = 4;
|
|
UsernameInUse = 5;
|
|
ServerFull = 6;
|
|
NoCertificate = 7;
|
|
AuthenticatorFail = 8;
|
|
}
|
|
optional RejectType type = 1;
|
|
optional string reason = 2;
|
|
}
|
|
|
|
message ServerSync {
|
|
optional uint32 session = 1;
|
|
optional uint32 max_bandwidth = 2;
|
|
optional string welcome_text = 3;
|
|
optional uint64 permissions = 4;
|
|
}
|
|
|
|
message ChannelRemove {
|
|
required uint32 channel_id = 1;
|
|
}
|
|
|
|
message ChannelState {
|
|
optional uint32 channel_id = 1;
|
|
optional uint32 parent = 2;
|
|
optional string name = 3;
|
|
repeated uint32 links = 4;
|
|
optional string description = 5;
|
|
repeated uint32 links_add = 6;
|
|
repeated uint32 links_remove = 7;
|
|
optional bool temporary = 8 [default = false];
|
|
optional int32 position = 9 [default = 0];
|
|
optional bytes description_hash = 10;
|
|
}
|
|
|
|
message UserRemove {
|
|
required uint32 session = 1;
|
|
optional uint32 actor = 2;
|
|
optional string reason = 3;
|
|
optional bool ban = 4;
|
|
}
|
|
|
|
message UserState {
|
|
optional uint32 session = 1;
|
|
optional uint32 actor = 2;
|
|
optional string name = 3;
|
|
optional uint32 user_id = 4;
|
|
optional uint32 channel_id = 5;
|
|
optional bool mute = 6;
|
|
optional bool deaf = 7;
|
|
optional bool suppress = 8;
|
|
optional bool self_mute = 9;
|
|
optional bool self_deaf = 10;
|
|
optional bytes texture = 11;
|
|
optional bytes plugin_context = 12;
|
|
optional string plugin_identity = 13;
|
|
optional string comment = 14;
|
|
optional string hash = 15;
|
|
optional bytes comment_hash = 16;
|
|
optional bytes texture_hash = 17;
|
|
optional bool priority_speaker = 18;
|
|
optional bool recording = 19;
|
|
}
|
|
|
|
message BanList {
|
|
message BanEntry {
|
|
required bytes address = 1;
|
|
required uint32 mask = 2;
|
|
optional string name = 3;
|
|
optional string hash = 4;
|
|
optional string reason = 5;
|
|
optional string start = 6;
|
|
optional uint32 duration = 7;
|
|
}
|
|
repeated BanEntry bans = 1;
|
|
optional bool query = 2 [default = false];
|
|
}
|
|
|
|
message TextMessage {
|
|
optional uint32 actor = 1;
|
|
repeated uint32 session = 2;
|
|
repeated uint32 channel_id = 3;
|
|
repeated uint32 tree_id = 4;
|
|
required string message = 5;
|
|
}
|
|
|
|
message PermissionDenied {
|
|
enum DenyType {
|
|
Text = 0;
|
|
Permission = 1;
|
|
SuperUser = 2;
|
|
ChannelName = 3;
|
|
TextTooLong = 4;
|
|
H9K = 5;
|
|
TemporaryChannel = 6;
|
|
MissingCertificate = 7;
|
|
UserName = 8;
|
|
ChannelFull = 9;
|
|
NestingLimit = 10;
|
|
}
|
|
optional uint32 permission = 1;
|
|
optional uint32 channel_id = 2;
|
|
optional uint32 session = 3;
|
|
optional string reason = 4;
|
|
optional DenyType type = 5;
|
|
optional string name = 6;
|
|
}
|
|
|
|
message ACL {
|
|
message ChanGroup {
|
|
required string name = 1;
|
|
optional bool inherited = 2 [default = true];
|
|
optional bool inherit = 3 [default = true];
|
|
optional bool inheritable = 4 [default = true];
|
|
repeated uint32 add = 5;
|
|
repeated uint32 remove = 6;
|
|
repeated uint32 inherited_members = 7;
|
|
}
|
|
message ChanACL {
|
|
optional bool apply_here = 1 [default = true];
|
|
optional bool apply_subs = 2 [default = true];
|
|
optional bool inherited = 3 [default = true];
|
|
optional uint32 user_id = 4;
|
|
optional string group = 5;
|
|
optional uint32 grant = 6;
|
|
optional uint32 deny = 7;
|
|
}
|
|
required uint32 channel_id = 1;
|
|
optional bool inherit_acls = 2 [default = true];
|
|
repeated ChanGroup groups = 3;
|
|
repeated ChanACL acls = 4;
|
|
optional bool query = 5 [default = false];
|
|
}
|
|
|
|
message QueryUsers {
|
|
repeated uint32 ids = 1;
|
|
repeated string names = 2;
|
|
}
|
|
|
|
message CryptSetup {
|
|
optional bytes key = 1;
|
|
optional bytes client_nonce = 2;
|
|
optional bytes server_nonce = 3;
|
|
}
|
|
|
|
message ContextActionModify {
|
|
enum Context {
|
|
Server = 0x01;
|
|
Channel = 0x02;
|
|
User = 0x04;
|
|
}
|
|
enum Operation {
|
|
Add = 0;
|
|
Remove = 1;
|
|
}
|
|
required string action = 1;
|
|
optional string text = 2;
|
|
optional uint32 context = 3;
|
|
optional Operation operation = 4;
|
|
}
|
|
|
|
message ContextAction {
|
|
optional uint32 session = 1;
|
|
optional uint32 channel_id = 2;
|
|
required string action = 3;
|
|
}
|
|
|
|
message UserList {
|
|
message User {
|
|
required uint32 user_id = 1;
|
|
optional string name = 2;
|
|
optional string last_seen = 3;
|
|
optional uint32 last_channel = 4;
|
|
}
|
|
repeated User users = 1;
|
|
}
|
|
|
|
message VoiceTarget {
|
|
message Target {
|
|
repeated uint32 session = 1;
|
|
optional uint32 channel_id = 2;
|
|
optional string group = 3;
|
|
optional bool links = 4 [default = false];
|
|
optional bool children = 5 [default = false];
|
|
}
|
|
optional uint32 id = 1;
|
|
repeated Target targets = 2;
|
|
}
|
|
|
|
message PermissionQuery {
|
|
optional uint32 channel_id = 1;
|
|
optional uint32 permissions = 2;
|
|
optional bool flush = 3 [default = false];
|
|
}
|
|
|
|
message CodecVersion {
|
|
required int32 alpha = 1;
|
|
required int32 beta = 2;
|
|
required bool prefer_alpha = 3 [default = true];
|
|
optional bool opus = 4 [default = false];
|
|
}
|
|
|
|
message UserStats {
|
|
message Stats {
|
|
optional uint32 good = 1;
|
|
optional uint32 late = 2;
|
|
optional uint32 lost = 3;
|
|
optional uint32 resync = 4;
|
|
}
|
|
|
|
optional uint32 session = 1;
|
|
optional bool stats_only = 2 [default = false];
|
|
repeated bytes certificates = 3;
|
|
optional Stats from_client = 4;
|
|
optional Stats from_server = 5;
|
|
|
|
optional uint32 udp_packets = 6;
|
|
optional uint32 tcp_packets = 7;
|
|
optional float udp_ping_avg = 8;
|
|
optional float udp_ping_var = 9;
|
|
optional float tcp_ping_avg = 10;
|
|
optional float tcp_ping_var = 11;
|
|
|
|
optional Version version = 12;
|
|
repeated int32 celt_versions = 13;
|
|
optional bytes address = 14;
|
|
optional uint32 bandwidth = 15;
|
|
optional uint32 onlinesecs = 16;
|
|
optional uint32 idlesecs = 17;
|
|
optional bool strong_certificate = 18 [default = false];
|
|
optional bool opus = 19 [default = false];
|
|
}
|
|
|
|
message RequestBlob {
|
|
repeated uint32 session_texture = 1;
|
|
repeated uint32 session_comment = 2;
|
|
repeated uint32 channel_description = 3;
|
|
}
|
|
|
|
message ServerConfig {
|
|
optional uint32 max_bandwidth = 1;
|
|
optional string welcome_text = 2;
|
|
optional bool allow_html = 3;
|
|
optional uint32 message_length = 4;
|
|
optional uint32 image_message_length = 5;
|
|
}
|
|
|
|
message SuggestConfig {
|
|
optional uint32 version = 1;
|
|
optional bool positional = 2;
|
|
optional bool push_to_talk = 3;
|
|
}
|
|
|