1// Copyright 2020 The gRPC Authors 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15syntax = "proto3"; 16 17package grpc.testing; 18 19message CallInfo { 20 string session_id = 1; 21 string media = 2; 22} 23 24message CallState { 25 enum State { 26 // The default state. 27 UNDEFINED = 0; 28 // The call is newly created. 29 NEW = 1; 30 // The call is connected. 31 ACTIVE = 6; 32 // The call is finished. 33 ENDED = 7; 34 } 35 State state = 2; 36} 37 38message StreamCallRequest { 39 string phone_number = 1; 40} 41 42message StreamCallResponse { 43 oneof stream_call_response { 44 CallInfo call_info = 1; 45 CallState call_state = 2; 46 } 47} 48 49service Phone { 50 // Makes a phone call and communicate states via a stream. 51 rpc StreamCall(stream StreamCallRequest) returns (stream StreamCallResponse); 52} 53