/// <summary>
        /// Сообщить Gateway о принятии вызова от заявителя
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        public async Task <Result> NotifyGatewayAboutAcceptedApplicantCall(RouteCallClientDto data)
        {
            var url = $"{_baseUrl}acceptIncomingCall";
            BaseClientResult <ErrorCodes> baseResult = await SendData <RouteCallClientDto, ErrorCodes>(data, url);

            Result result = ProcessResult(baseResult);

            return(result);
        }
        /// <summary>
        /// Добавить в конференцию
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        public async Task <Result> AddToConference(RouteCallClientDto data)
        {
            var url = $"{_baseUrl}addToConference";

            BaseClientResult <ErrorCodes> baseResult = await SendData <RouteCallClientDto, ErrorCodes>(data, url);

            Result result = ProcessResult(baseResult);

            return(result);
        }
        /// <summary>
        /// Сообщить Gateway о необходимости совершить звонок от пользователя
        /// </summary>
        public async Task <Result> CallFromUser(RouteCallClientDto data)
        {
            var url = $"{_baseUrl}callFromUser";

            BaseClientResult <ErrorCodes> baseResult = await SendData <RouteCallClientDto, ErrorCodes>(data, url);

            Result result = ProcessResult(baseResult);

            return(result);
        }
        /// <summary>
        /// Отправить данные о непредвиденном прерывании вызова
        /// </summary>
        public async Task <Result> NotifyGatewayAboutInterruptedCall(Guid callId, Guid?applicantCallId)
        {
            var url  = $"{_baseUrl}forceHangUp";
            var data =
                new RouteCallClientDto
            {
                FromCallId = applicantCallId,
                ToCallId   = callId
            };

            BaseClientResult <ErrorCodes> baseResult = await SendData <RouteCallClientDto, ErrorCodes>(data, url);

            Result result = ProcessResult(baseResult);

            return(result);
        }
        /// <summary>
        /// Отправить данные о изменении роли в DemoGateway
        /// </summary>
        public async Task <Result> NotifyGatewayAboutChangeRole(Guid lineId, Guid fromCallId, Guid toCallId)
        {
            var url  = $"{_baseUrl}exchangeRoles";
            var data =
                new RouteCallClientDto
            {
                ToCallId   = toCallId,
                FromCallId = fromCallId,
                LineId     = lineId
            };

            BaseClientResult <ErrorCodes> baseResult = await SendData <RouteCallClientDto, ErrorCodes>(data, url);

            Result result = ProcessResult(baseResult);

            return(result);
        }