@@ -181,6 +181,7 @@ service GateService {
181181 body : "*"
182182 };
183183 }
184+
184185 rpc ListNCLRulesetNames (ListNCLRulesetNamesRequest ) returns (ListNCLRulesetNamesResponse ) {
185186 option (google.api.http ) = {get : "/tcnapi/exile/gate/v2/list_ncl_ruleset_names" };
186187 }
@@ -299,6 +300,12 @@ service GateService {
299300 body : "*"
300301 };
301302 }
303+ rpc Transfer (TransferRequest ) returns (TransferResponse ) {
304+ option (google.api.http ) = {
305+ get : "/tcnapi/exile/gate/v2/transfer"
306+ body : "*"
307+ };
308+ }
302309}
303310
304311// TimeRange represents an inclusive time interval for filtering logs.
@@ -1176,6 +1183,48 @@ message DialResponse {
11761183 string caller_sid = 9 [deprecated = true ];
11771184}
11781185
1186+ /**
1187+ * Transfer Request/Response Messages
1188+ * These messages handle the various types of call transfers.
1189+ */
1190+
1191+ /**
1192+ * Request message for transferring a call to another agent.
1193+ * Supports: Cold transfer, Warm transfer, and Conference.
1194+ */
1195+
1196+ message TransferRequest {
1197+ string partner_agent_id = 1 ;
1198+ oneof destination {
1199+ Agent receiving_partner_agent_id = 2 ;
1200+ Outbound outbound = 3 ;
1201+ Queue queue = 4 ;
1202+ }
1203+ Kind kind = 5 ;
1204+ Action action = 6 ;
1205+
1206+ enum Kind {
1207+ KIND_COLD = 0 ;
1208+ WARM = 1 ;
1209+ }
1210+ enum Action {
1211+ ACTION_START = 0 ;
1212+ APPROVE = 1 ;
1213+ CANCEL = 2 ;
1214+ }
1215+ message Agent {
1216+ string partner_agent_id = 1 ;
1217+ }
1218+ message Outbound {
1219+ string caller_id = 1 ;
1220+ string destination = 2 ;
1221+ bool caller_hold = 3 ;
1222+ }
1223+ message Queue {}
1224+ }
1225+
1226+ message TransferResponse {}
1227+
11791228message ListNCLRulesetNamesRequest {}
11801229message ListNCLRulesetNamesResponse {
11811230 repeated string ruleset_names = 1 ;
0 commit comments