Зірочка. Сервіс підтвердження номерів.
Добрый день.
Требуется разработка сервиса подтверждения номеров с помощью Asterisk.
Говорю сразу – обычный Asterisk в ядре, без web-интерфейсов типа FreePBX и других.
Результатом должна быть настроенная серверная система, которая получает от клиентов номер подтверждения, а цифры, которые нужно озвучить, дозваниваясь на соответствующий номер.
Результат должен фиксироваться в базе MySQL, расположенной локально, а также отправляться API-запрос на сервер биллинга для фиксации факта успешного звонка.
Клиентов может быть несколько.
Приблизительный алгоритм следующий:
Уже есть сайт, который управляет клиентами. Когда клиент активирует услугу, этот сайт отправляет API-запрос на Asterisk, который включает следующие параметры:
- Идентификатор клиента и авторизационный токен, по которому сервер Asterisk в будущем должен авторизовывать клиента.
- Голосовые файлы wav, которые Asterisk должен озвучивать при вызове. То есть какое-то приветствие и цифры (если клиент желает свои), или при отсутствии звуковых файлов с цифрами – Asterisk должен использовать собственные.
- Количество цифр, которые должен озвучивать робот.
- Идентификатор транка, с которого нужно делать вызов (транков может быть несколько).
- Массив номеров, с которых может делаться вызов. Номер должен браться случайным образом из массива.
- URL WebHook для отправки ответа клиенту со статусом после выполнения звонка. Если это поле не заполнено – отправка ответа не выполняется.
Далее клиент должен иметь возможность посылать API-запросы на Asterisk, отправлять номер, который нужно подтвердить, и цифры, которые нужно назвать.
Asterisk совершает вызов, озвучивает голосовое приветствие и называет цифры подтверждения. После выполнения попытки должно происходить:
- Фиксация события в локальной базе MySQL
- Отправка на наш главный сервер биллинга, получение ответа о изменениях клиента (заблокировать или нет)
- Отправка WebHook клиенту с результатом.
- Также необходимо предусмотреть, что если какой-либо из серверов (наш биллинговый или клиентский) не отвечает кодом 200, то это не должно тормозить процессы Asterisk и должны выполняться несколько последующих попыток.
Asterisk может выдавать ошибку в случае:
- Неверного токена авторизации
- Несовпадения количества цифр для проверки с настройками
- Неактивного аккаунта клиента (заблокирован)
Необходимо контролировать результат вызова, и в случае неудачи по вине провайдера (например, когда абонент не отвечает, вне зоны, занят, сбросил вызов, или наш номер заблокирован из-за неоплаты, или отсутствуют линии транка), нужно делать следующую попытку с другого номера (из массива) и отдельно фиксировать этот инцидент.
Реализацию скриптов желательно делать на PHP. Операционная система – CentOS. Установка Asterisk на сервер также входит в задачи проекта.
-
198 Добрый день, мы команда программистов сможем это сделать, мы уже делали похожие проекты и сможем вам ответить на все вопросы, думаю лучше поговорить по телефону или в сообщениях.
-
663 3 0 **Добрый день. Меня зовут Мария. Внимательно изучила ваш проект. Готова к выполнению.**
📞 **Алгоритм работы сервиса**
1. **Получение запроса от клиента:**
- Клиент отправляет API-запрос на сервер с параметрами:
- Идентификатор клиента и авторизационный токен.
- Голосовые файлы (приветствие и цифры) или указание использовать стандартные.
- Количество цифр для озвучивания.
… - Идентификатор транка для звонка.
- Массив номеров, с которых можно совершать звонки.
- URL для WebHook-а с результатами.
2. **Инициация звонка:**
- Сервер проверяет авторизацию клиента.
- Выбирает номер из предоставленного массива.
- Инициирует звонок через Asterisk, используя выбранный транк.
- Озвучивает приветствие и цифры подтверждения.
3. **Обработка результатов:**
- Фиксирует результат звонка в базе данных MySQL.
- Отправляет результат на сервер биллинга.
- Отправляет результат клиенту через WebHook (если URL предоставлен).
4. **Обработка ошибок:**
- В случае неудачного звонка по вине провайдера (например, номер заблокирован), сервис:
- Пытается осуществить звонок с другого номера из массива.
- Фиксирует инцидент в базе данных.
**Готова обсудить детали!**
-
345 здравствуйте, реализую вашу задачу за опыт.
...................
....,..............
...................
...................
Актуальные фриланс-проекты в категории DevOps
Интеграция respond и CRM для пересылки отчета о первом сообщенииНам нужно отслеживать время первого контакта с лидом. Для этого нужно передавать данные через n8n в респондент. Настройка CRM на нашей стороне. DevOps, Настройка ПО и серверов ∙ 8 часов 15 минут назад ∙ 9 ставок |
Устранение проблем с нагрузкой на хостинге WordPress/WooCommerce сайтаИщем специалиста для диагностики и устранения проблем с нагрузкой на хостинге WordPress/WooCommerce сайта Есть действующий e-commerce сайт на WordPress + WooCommerce. Сайт периодически падает или работает нестабильно во время большого количества запросов — как с разных… DevOps, Веб-программирование ∙ 15 часов 16 минут назад ∙ 41 ставка |
Интеграция Google Analytics в CRM через n8nДоброго дня, Потрібна допомога поєднати гугл аналітику та срм через n8n. Всі налаштування сбоку срм зроблені. Тепер потрібно тільки зробити налашутвання із аналітики через n8n щоб передавались події продажів. DevOps, Администрирование систем и сетей ∙ 16 часов 33 минуты назад ∙ 17 ставок |
Настройка системы резервного копирования и оптимизация серверной инфраструктурыЦель работы: Обеспечить надежное сохранение данных CRM-системы и приложения путем внедрения автоматизированной системы резервного копирования (Backups), а также провести ряд серверных доработок для повышения стабильности, безопасности и производительности инфраструктуры. DevOps, Базы данных и SQL ∙ 9 дней 10 часов назад ∙ 29 ставок |