Asterisk. Сервіс підтвердження номерів.
Доброго дня.
Потрібна розробка сервісу підтвердження номерів за допомогою 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
Інтеграції гугл аналітики до срм через n8nДоброго дня, Потрібна допомога поєднати гугл аналітику та срм через n8n. Всі налаштування сбоку срм зроблені. Тепер потрібно тільки зробити налашутвання із аналітики через n8n щоб передавались події продажів. DevOps, Адміністрування систем та мереж ∙ 4 дні 5 годин тому ∙ 18 ставок |
Налаштувати сервер для пошти
1000 UAH
Маємо 2 домени і більше 20 поштових скриньок, які зараз активно використовуються. Пошта працює через сервери gmail Потрібно налаштувати власний сервер і перенести всю пошту з gmail на цей новий сервер Прошу зазначити, коли ви можете почати роботу і вартість роботи. DevOps ∙ 10 днів 6 годин тому ∙ 10 ставок |
Налаштування системи резервного копіювання та оптимізація серверної інфраструктуриМета робіт:Забезпечити надійне збереження даних CRM-системи та додатку шляхом впровадження автоматизованої системи резервного копіювання (Backups), а також провести ряд серверних доробок для підвищення стабільності, безпеки та продуктивності інфраструктури. DevOps, Бази даних та SQL ∙ 12 днів 23 години тому ∙ 29 ставок |