public void ForwardCall(SearchTableEntity extension, ForwardingMethod method) { Manager.ForwardCall(extension.Extension, method); Close(true, CloseSource.Self); }
/// <summary> /// Вызывает команду переадресации, возможно два режима /// </summary> /// <returns><c>true</c>, если успешно, <c>false</c> неудачно.</returns> /// <param name="call_id">Идентетификатор текущего вызова.</param> /// <param name="from_extension">Внутренний номер сотрудника ВАТС , который звонит</param> /// <param name="to_extension">Внутренний номер сотрудника ВАТС , которому звонят</param> /// <param name="method">Метод переадресации , "blind" - слепая перевод , "hold" - консультативный перевод.</param> /// <param name="commandId">Не обязательный параметр , обозначающий id комнды (может быть любым , по умолчанию : имя метода)</param> public bool ForwardCall(string call_id, string from_extension, string to_extension, ForwardingMethod method, [CallerMemberName] string commandId = "") { logger.Info($"Выполняем переадресацию на {to_extension}"); string command = @"vpbx/commands/transfer"; ForwardCallRequest options = new ForwardCallRequest(); options.call_id = call_id; options.command_id = commandId; options.method = method.ToString(); options.to_number = to_extension; options.initiator = from_extension; string json = JsonConvert.SerializeObject(options, settings); var result = PerformCommand(command, json); var successfully = GetSimpleResult(result); logger.Info(successfully ? "Ок" : $"Код ошибки: {GetParseResult(result).result}"); return(successfully); }