Настройка телефонии

Отправка записей по Email и в S3

Автоматическая доставка записей новых звонков по Email и в клиентское S3-совместимое хранилище.

8 минДля администратора

Автоматическая отправка записей по Email и S3

4phone может автоматически отправлять готовую запись разговора на Email и в S3-совместимое хранилище клиента. Каналы работают независимо: можно включить только Email, только S3 или оба варианта одновременно.

Важно

Доставка создается только для новых входящих, исходящих и внутренних звонков, у которых запись успешно сформирована и получила статус доступной. Старые записи автоматически не выгружаются.

Кто может менять настройки

Раздел доступен пользователям с ролью владельца, администратора или суперадминистратора.

Перед настройкой проверьте:

  1. запись разговоров включена для нужных внутренних номеров и сценариев;
  2. у Email-получателей есть доступ к служебной почте;
  3. для S3 создан отдельный ключ с доступом только к нужному bucket;
  4. внешний S3 endpoint доступен через публичный HTTPS-адрес.

Где находится раздел

  1. Войдите в кабинет 4phone.
  2. Откройте Настройки.
  3. Перейдите во вкладку Webhooks/API.
  4. Откройте Экспорт записей.

В верхней части страницы показаны счетчики успешных Email- и S3-доставок, записей в обработке и записей с ошибкой.

Настройка отправки по Email

Для безопасного запуска сначала настройте и проверьте канал, а затем включите автоматическую отправку:

  1. Оставьте переключатель Включить email выключенным.
  2. В поле Получатели укажите до 20 адресов, по одному в строке.
  3. Укажите срок действия защищенной ссылки от 1 до 720 часов. Значение по умолчанию: 168 часов, или 7 дней.
  4. Нажмите Сохранить настройки.
  5. Нажмите Отправить тестовое письмо.
  6. Убедитесь, что тестовое письмо пришло и рядом с проверкой появился статус OK.
  7. Включите Включить email.
  8. Еще раз нажмите Сохранить настройки.

Одна запись отправляется отдельно каждому указанному получателю.

Вложение или ссылка

Если размер записи не превышает 20 MB, файл прикладывается к письму. Для более крупной записи письмо содержит защищенную ссылку на MP3-файл.

В письме также указываются:

  1. направление звонка;
  2. номера вызывающего и вызываемого абонентов;
  3. дата и время;
  4. длительность;
  5. статус звонка.

Проверьте

После истечения указанного срока ссылка перестает работать. Не пересылайте письмо или ссылку лицам, которым не разрешен доступ к записям разговоров.

Настройка выгрузки в S3

Поддерживаются AWS S3, MinIO и другие S3-совместимые хранилища.

Какие данные подготовить

Понадобятся:

  1. Endpoint, если используется не AWS S3;
  2. Region;
  3. имя Bucket;
  4. Access Key ID;
  5. Secret Access Key;
  6. Session Token, только если провайдер выдал временные credentials;
  7. необязательный префикс объектов, например 4phone/recordings.

Ключ должен разрешать проверку bucket и загрузку объектов. Для AWS обычно нужны права s3:ListBucket на bucket и s3:PutObject на выбранный префикс.

Ограничения для Endpoint

Для AWS S3 оставьте поле Endpoint пустым. Для другого провайдера укажите адрес вида:

https://s3.example.com

Endpoint должен:

  1. использовать HTTPS;
  2. иметь публичное DNS-имя и публичный IP-адрес;
  3. не содержать логин, пароль, путь или query-параметры;
  4. не указывать на localhost, локальную или служебную сеть.

Порядок настройки

  1. Оставьте переключатель Включить S3 выключенным.
  2. Заполните Endpoint, Region, Bucket и Префикс объектов.
  3. Введите Access Key ID и Secret Access Key.
  4. При необходимости введите Session Token.
  5. Включите Использовать path-style адресацию, если этого требует S3-провайдер. Обычно она нужна для MinIO и некоторых совместимых хранилищ. Для AWS S3 обычно используется адресация без path-style.
  6. Нажмите Сохранить настройки.
  7. Нажмите Проверить подключение S3.
  8. Убедитесь, что рядом с проверкой появился статус OK.
  9. Включите Включить S3.
  10. Еще раз нажмите Сохранить настройки.

Секретный ключ сохраняется в зашифрованном виде и не возвращается в браузер. При следующем открытии страницы поля credentials будут пустыми. Это нормально: сохраненный ключ остается активным.

Проверьте

Если вы ввели новые credentials, сначала сохраните их. Пока поля с новыми ключами заполнены, кнопка проверки S3 недоступна.

Как формируется путь в S3

Записи раскладываются по дате звонка:

prefix/YYYY/MM/DD/callId.wav

Например:

4phone/recordings/2026/07/21/7db6f2ab-2e56-4cb4-b544-42a72f8f47be.wav

Расширение соответствует исходному файлу записи. Вместе с объектом передаются служебные metadata: ID звонка, направление, номера абонентов и SHA-256 checksum.

Как проверить работу после включения

  1. Выполните короткий тестовый звонок.
  2. Завершите разговор и дождитесь формирования записи.
  3. Откройте блок История отправки записей.
  4. Нажмите Обновить.
  5. Проверьте отдельную строку для каждого активного канала и Email-получателя.
  6. Для Email проверьте вложение или защищенную ссылку.
  7. Для S3 проверьте объект в папке соответствующей даты.

Запись может появиться в истории не сразу: доставка запускается только после полной обработки звонка и готовности аудиофайла.

Статусы доставки

  1. PENDING: доставка ожидает обработки.
  2. PROCESSING: файл отправляется.
  3. DELIVERED: доставка завершена.
  4. FAILED: попытка завершилась ошибкой, система повторит ее автоматически.
  5. DLQ: автоматические попытки закончились или доставка была отменена после изменения настроек.

Система выполняет до 8 автоматических попыток с увеличивающимся интервалом.

Ручная повторная отправка

После исправления настройки нажмите Replay в нужной строке истории. Счетчик попыток сбросится, а доставка снова попадет в очередь.

Проверьте

Кнопка Replay доступна и для успешно доставленных записей. В этом случае Email будет отправлен повторно, а S3-объект будет загружен по тому же ключу.

Частые проблемы

Кнопка тестового Email недоступна

Сначала укажите получателей и нажмите Сохранить настройки. Тест отправляется на первый адрес из сохраненного списка.

Кнопка проверки S3 недоступна

Проверьте, что bucket и credentials сохранены. Если поля с новыми ключами заполнены, сохраните настройки и дождитесь, пока поля очистятся.

S3 возвращает AccessDenied

Проверьте:

  1. правильность Region и имени bucket;
  2. право проверки bucket;
  3. право загрузки объекта в выбранный префикс;
  4. ограничения bucket policy по IP-адресу или сети.

Если тест подключения проходит, но реальная выгрузка завершается ошибкой, у ключа может быть право проверки bucket без права загрузки объекта.

Endpoint отклоняется при сохранении

Используйте публичный HTTPS-адрес без пути и параметров. Приватные IP-адреса и локальные имена намеренно запрещены.

После звонка нет доставки

Проверьте:

  1. включен ли нужный канал;
  2. сохранены ли настройки;
  3. была ли включена запись разговора;
  4. появилась ли запись в истории звонков;
  5. завершился ли звонок до включения функции.

Функция не создает доставки задним числом для ранее записанных разговоров.

Проверка перед рабочим запуском

  1. выполнен тест Email или S3;
  2. нужный канал включен и настройки сохранены;
  3. проверены входящий, исходящий и внутренний звонки;
  4. получатель может открыть запись;
  5. S3-объект создается в ожидаемом префиксе;
  6. доступ к почте и bucket ограничен ответственными сотрудниками.

Дополнительно прочитайте Записи разговоров и контроль качества и Частые проблемы и быстрые решения.