Ищем программиста
Ищем программиста для реализации следующего функционала на Asterisk и последующего сотрудничества с целью расширения функционала и поддержки.
Все только SIP, никаких физических линий.
Приблизительная схема работы (подробнее в ходе личного общения):
1) Принимаем звонок на московский номер, перенаправленный на SIP, определяем номер звонившего, пишем его в базу.
2) Callback (через SIP) на вызвавший номер.
3) Зачитывание ему IVR. Настройки IVR берутся динамически из базы данных. Т.е. у каждого абонента должен быть свой состав пунктов меню.
4) Получение выбора от абонента в IVR
5) Сброс абонента (предупредив его, что бы ждал звонка).
6) Соединение с одним из операторов. Есть несколько групп операторов (мобильные телефоны). В зависимости от выбора пользователя сервер связывается с первым свободным оператором из группы (порядок попыток соединения так же берется из базы и индивидуален для каждого пользователя).
7) Установив соединение с оператором, сервер опять связывается с абонентом.
8) Перед началом разговора оператору зачитывается ФИО абонента (имя предзаписанного звукового файла берется из базы по CallerID), а абоненту - ФИО оператора, так же берется из базы.
9) Абонент и оператор общаются. Разговор пишется. На 9й минуте разговора они получают сигнал, что время истекает. Еще через 10 минут соединение между ними рвется и каждому из них
запускается свой IVR. Они делают выбор, он сохраняется в базу.
На данном этапе необходимо до 400 одновременных SIP соединений.
Т.е. фактически будут только исходящие соединения SIP.
Необходимо предусмотреть масштабируемость решения на несколько серверов. Возможно, что Asterisk должен получать "задания" на соединения от сервера осуществляющего прием и сброс звонков (он и будет балансировать нагрузку).
Пишите: nkobaev [этсобака] yandex.ru
|