Общее описание задачи

Необходимо разработать программное обеспечение на языке C++ - автоматический обзвонщик (CallBot), который интегрируется с SIP-телефонией для совершения звонков. Программа должна повторять логику работы и интерфейс, показанные в видео примере, а также полностью соответствовать приложенной инструкции.

Функциональные требования

  • Инициализация и управление звонками через SIP-протокол (поддержка стандартных SIP-провайдеров).
  • Автоматический дозвон по списку номеров с обработкой статусов (ответ, занято, сброс).
  • Воспроизведение предзаписанных аудиосообщений в момент соединения.
  • Ведение лога звонков (время, длительность, результат).
  • Настраиваемая задержка между звонками, ограничение по количеству одновременных линий (multi-threading/async).
  • Возможность запуска в фоновом режиме (демон/служба).

Хранение данных и безопасность

  • Ранее данные хранились на облачном сервере (использовалось Яндекс.Облако). В текущей задаче допускается упрощенное локальное хранение (например SQLite, CSV или собственный бинарный формат).
  • Ранее использовалась лицензия/ключи защиты (например, от библиотек VoIP) - в данной реализации требуется отключить или не использовать системы лицензирования. Безопасность простых полезна в минимальной конфигурации (пароль SIP аккаунта и шифрование логов опционально).

Интеграция с SIP

  • Подключение через стандартные параметры SIP (логин, пароль, сервер, порт).
  • Совместимость с любым SIP провайдером (например, Zadarma, незарегистрированном вне текста).
  • Качественная обратная связь по статусу соединения (отчёт об ошибках).

Исходные данные для разработки

Прилагаемые материалы (видео и инструкция) содержат полное описание внешнего вида, сценария работы и всех используемых команд. Требуется точное воспроизведение указанного функционала и логики.

Ограничения и заметки

  • Все упоминания сторонних сервисов, сайтов, телефонов - удалить или заменить на generic (например «SIP провайдер», «облачное хранилище»).
  • Лицензионные ключи/защиту допустимо совсем не добавлять.
  • Язык реализации - только C++, никаких зависимостей на других языках (если не критично для VoIP-библиотек).