Страница 1 из 1

Нужен разработчик: Роутер звонков для Asterisk

Добавлено: 08 апр 2013, 17:03
inductor
Нужно написать маршрутизатор звонков для asterisk, который будет переключать звонящего на сотрудника, с которым тот общался в последний раз.

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

Программа, в ответ на переданный номер звонящего сообщающая номер последнего абонента, либо сообщающая об ошибке поиска. Будет вызываться в диалплане Asterisk'а. Правила определения абонента таковы:
Если для номера нет ни одной записи в БД, возвращается ошибка.
Если для номера есть одна запись, возвращается абонент из этой записи.
Если для номера несколько записей, то анализируем три (или сколько есть) последних звонка:
Если все звонки - одному абоненту, возвращается этот абонент.
Если звонки совершены разным абонентам, то:
Если звонков два, возвращается последний абонент.
Если звонков три, и все совершены разным абонентам, возвращается ошибка.
Если звонков три, и два последних совершены одному абоненту, возвращается этот абонент.

Демон должен поддерживать механизм его мониторинга и перезапуска (pid-файл, например)

Время работы программы по определению абонента не должно превышать 200 мс при объеме тестовой базы в 20 000 абонентов, из которых 50% звонков - повторные. Эта программа должна спокойно относиться к тому, что одновременно будут запускаться несколько ее экземпляров.

Asterisk: 1.8

Язык: Python3.

Модули Python: те, которые можно поставить через официальный pip. При этом обязателен requirements.txt.

БД: MongoDB/MySQL на выбор

ОС: Ubuntu Linux

Готовы сделать тестовый сервер с реальными данными.

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

Ждем вопросов и предложений по цене и срокам.

Re: Нужен разработчик: Роутер звонков для Asterisk

Добавлено: 08 апр 2013, 17:09
awsswa

Re: Нужен разработчик: Роутер звонков для Asterisk

Добавлено: 08 апр 2013, 17:20
inductor
awsswa, спасибо! Теперь мы в курсе, что Вам писать лень.
P.S. Нам нужно более "интеллектуальное" решение, чем Ваш вариант.

Re: Нужен разработчик: Роутер звонков для Asterisk

Добавлено: 08 апр 2013, 17:30
Sfinx

Код: Выделить всё

Язык: Python3.
Жестоко ...

Re: Нужен разработчик: Роутер звонков для Asterisk

Добавлено: 08 апр 2013, 17:55
zzuz
Ничего жестокого . Вот недавно демон по мониторингу и регистраций событий в AMI с 2.3 на 3.1 python переводил. Ничего немного нервов и все работает , как надо) . Одно только не знаю , нафига . Нафига мне этот монитор и нафига потратил время)). Но зато возможна выборочная регистрация событий по маскам и прочих регулярных штук. Но вот в ТЗ автора идея о эксземплярах программы понравилась. На досуге организую многопоточный коллбек для событий демона. Остальное , тем более алгоритм обратного звонка , энтузиазма не прибавляет. Если в системе мало операторов , то и перевести не долго.А если операторов очень много , то тут очереди для колл-центра , где идея автора просто будет мешать нормальной работе.

Re: Нужен разработчик: Роутер звонков для Asterisk

Добавлено: 08 апр 2013, 18:02
inductor
switch, если Вы готовы реализовать указанные правила поиска абонента на диалплане/astdb - пожалуйста, формулируйте предложение, рассмотрим варианты.

zzuz, я готов обсудить конкретное предложение по разработке. Доказывать Вам, что нам нужно такое решение - извините, это за Ваши деньги ;) .

Re: Нужен разработчик: Роутер звонков для Asterisk

Добавлено: 08 апр 2013, 21:44
inductor
switch, напишите, пожалуйста, на am {at} kupo.la детали предложения.