Скрипт автоматического обзвона базы тел. номов
Требуется реализовать скрипт, позволяющий определить, какие телефонные номера из большого списка являются рабочими (отвечают), а какие нет. Скрипт CGI имеет интерфейс, позволяющий загрузить CSV файл с телефонными номерами, запустить обзвон и выгрузить результат обзвона. Обзвон номеров выполняется по протоколу SIP через sip-транк, настройки sip-транка хранятся внутри скрипта. Формат исходного файла -1 телефонный номе в каждой строке. Формат файла результата: телефонный номер; код ответа sip;код ответа Q.850
Алгоритм работы:
1. Взять очередной номер из списка.
2. Инициировать вызов по протоколу sip
3. Если вызов отвечен (сип сообщение 200 ОК) - завершить вызов, положить код ответа в файл результатов
4. Если пришло сип сообщение 4xx или 5xx - извлечь из сообщения поле Reason, положить код ответа sip в файл результатов и значение cause из поля Reason
Скрипт должен позволять параллельную обработку исходного файла в несколько потоков (несколько одновременных попыток). Кол-во потоков указывается в конфигурации скрипта.
Язык реализации - Perl. Астериск и прочие pbx использовать не предполагается.
Оплата yandex, безнал или наличные в Спб. Прошу в комментариях указывать ваш опыт работы со скриптами и SIP, стоимость проекта и сроки.