// Copyright 2021 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // https://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. syntax = "proto3"; package google.internal.communications.instantmessaging.v1; import "internal/proto/duration.proto"; option optimize_for = LITE_RUNTIME; message ICEConfiguration { // Duration the config is valid for. Duration lifetime_duration = 1; // ICE servers to be used by the client to establish a connection. // E.g.: // [ { "urls": "stun:stun1.example.net" }, { "urls": "turn:turn.example.org", // "username": "user", "credential": "myPassword" } ] repeated ICEServerList ice_servers = 2; } message ICEServerList { // STUN or TURN URI(s) as defined in [rfc7064] and [rfc7065] or other URI // types. repeated string urls = 1; // If this IceServer object represents a TURN server, then this attribute // specifies the credential to use with that TURN server. string username = 2; // If this IceServer object represents a TURN server, then this attribute // specifies the credential to use with that TURN server. string credential = 3; }