PHP + Asterisk
Техническое задание
на разработку PHP модуля для Asterisk
- Краткое описание: необходимо разработать на PHP модуль, умеющий генерировать звонки на базе Asterisk по заданным значениям и критерям. Далее по тексту - Модуль
- Полное описание задачи:Требуемый функционал
В общем смысле, нужно написать такой модуль на php, который был бы способен:
- Считывать необходимые данные из БД MySQL - задания на звонки
- Распознавать критерии запуска заданий - номера телефонов, количество одновременных вызовов, служебные переменные (наименование контекста, callerid для исходящего вызова и др.)
- Отправлять в Asterisk в соответствии с критериями команды на звонки.
- Отслеживать выполнение звонков - потребуется регистрация следующих параметров (статистические данные):
- статус выполнения звонка (есть дозвон до абонента, сбросили, занято, не взяли трубку) по каждому из номеров
- длительность звонка
- Особенности реализацииПри реализации должны быть задействованы следующие системы и технологии:
- Языки программирования: php, при необходимости можно использовать какой-либо JS фреймворк (Node.JS например) (или иное, если обоснуете)
- БД: MySQL (либо другая, если обоснуете)
- Система телефонии: Asterisk
- Модули подключения к Asterisk (клиенты):
PAMI (http://marcelog.github.io/PAMI/index.html )
PAGI (http://marcelog.github.io/PAGI/index.html )
- Предполагаемый алгоритм реализации:
Словесно алгоритм можно изложить следующим образом:
- Пользователь загружает телефонные номера (через имеющийся интерфейс системы, его разрабатывать в рамках этого задания не нужно) в БД;
- Модуль проверяет появившуюся информацию по следующим флагам:Проведена проверка загрузки номеров Администратором - грубо говоря, в некой табличке должен быть выставлен соответствующий флаг, разрешающий звонки.
- Должна быть предусмотрена проверка еще от 2 до 5 условий (флагов), после выполнения которых начинается звонок.
- статус выполнения звонка (есть дозвон до абонента, сбросили, занято, не взяли трубку) по каждому из номеров
- временнЫе параметры звонка: длительность, момент начала набора номера, момент ответа на звонок, момент разрыва канала связи, момент ошибки звонка (сброс, занято, недоступен).
Дополнительные требования к Модулю:
- Модуль в местах совершения существенных операций должен содержать логирование в файл или БД.
- Модуль должен правильно учитывать выполнение звонка по конкретному номеру (записи в БД), чтобы не было повторных звонков.
- Модуль должен взаимодействовать с диалпланом Asterisk, сформированном в конфигурационных файлах (extensions.conf).
- Модуль также должен быть способен распознавать нажатия клавиш ответившим абонентом и совершать действия по соответствующему нажатию (соответствие номера выполняемому действию считывается из БД).
- Веб-интерфейса к Модулю на данном этапе не предполагается формировать, все разрабатываемые компоненты должны работать на Backend’е.
- Требования
- Качественные характеристики:
- осмысленные имена переменных, классов, методов, функций
- не должно быть перегрузки функций или классов по выполняемым задачам. Количество решаемых задач внутри одной функции не должно превышать 3-5.
- К существенным блокам кода должны быть даны комментарии.
- В ходе работы скорее всего потребуется дорабатывать как существующую БД системы, так и возможно создавать новую. При этом совместно с нами должна быть отрисована схема БД, прописаны поля, их свойства и назначения.
- Разработка должна вестись с помощью Git.
- Желательно использование ООП.
Current freelance projects in the category PHP
Product search function by imageIt is necessary to develop and integrate a product search function by image on the website.What needs to be implementedA "Search by Photo" button on the website.Image upload by the user: JPG.Search for visually similar products in the catalog.Display results in the form of… PHP, Web Programming ∙ 22 minutes back ∙ 6 proposals |
Parser expireddomains.net
113 USD
A parser is needed for expireddomains.net. You need to log in to the site first; the problem is that it blocks the IP when trying to parse data. You need to parse thematic domains based on a list of keywords. If you are not confident in your abilities, please do not write. PHP, Web Programming ∙ 1 day 23 hours back ∙ 48 proposals |
Integration of payment service with Sales Force
70 USD
There is a payment system widget on the site that needs to be integrated with Salesforce so that all required parameters are visible on the Salesforce side. It needs to be done in such a way that all payments and subscriptions are controlled through Salesforce. PHP, Web Programming ∙ 2 days 2 hours back ∙ 40 proposals |
Intercom systems
90 USD
We are looking for an experienced BAS (1C 8.3) programmer to refine a custom configuration for the business processes of our company. What is needed: — Study the current custom BAS 8.3 configuration — Refine and adjust it to our processes — Accounting: clients, contracts,… PHP, Databases & SQL ∙ 5 days 2 hours back ∙ 13 proposals |
Exporting goods from 1C to prom.uaCreate and configure an API export module for products from 1C to the cabinet and to the site prom.ua, rozetka, or another marketplace of your choice, including stock, names, images from 1C, prices, automatic export, automatic updates. PHP, Databases & SQL ∙ 5 days 17 hours back ∙ 21 proposals |