syntax = "proto2";
package remoting.apis.v1;
option optimize_for = LITE_RUNTIME;
message Duration {
optional int64 seconds = 1;
optional int32 nanos = 2;
}
// Requests ICE Server configuration for establishing a P2P connection.
message GetIceConfigRequest {}
// Returns ICE Server configuration for establishing a P2P connection.
message GetIceConfigResponse {
// The length of time the ICE server connection info will remain valid.
optional Duration lifetime_duration = 1;
// The set of ICE Servers which contain STUN/TURN connection info.
repeated IceServer servers = 2;
}
// ICE Server configuration based on the RTCIceServer type (WebRTC w3c
// specification)[http://www.w3.org/TR/webrtc/#rtciceserver-type].
message IceServer {
// STUN / TURN URI(s) as defined in [rfc7064] / [rfc7065] or another URI type.
repeated string urls = 1;
// If this IceServer object represents a TURN server, then this attribute
// specifies the credential to use with that TURN server.
optional string username = 2;
// If this IceServer object represents a TURN server, then this attribute
// specifies the credential to use with that TURN server.
optional string credential = 3;
// Maximum rate in kilobits per second (kilo = 1000).
// Can be used as a hint to the bandwidth estimator to improve media quality.
// If less than or equal to zero, the maximum send rate is not specified.
optional int64 max_rate_kbps = 4;
}