Разработать программное обеспечение для взаимодействия с SIM шлюзом
Концепция: данное ПО должно представлять интерфейс, взаимодействующий с установленным в локальной сети сим шлюзом Goip 32. Шлюз имеет возможность получать и отправлять SMS сообщения, от требуемого ПО нужно, чтобы оно собирало входящие SMS сообщения, структурировало по группам (отправителям) и записывало в базу данных. Так как SIM шлюз будет использоваться для SMS активаций при регистрации учетных записей (ВКонтакте, Одноклассники, Telegram, YouTube, Instagram) структуризация должна быть именно по данным сервисам. Так же нужна функция массовой отправки USSD команд с таким же массовым получением ответа и структуризацией по номеру телефона получателя. Авторизация в ПО быть по логину и паролю. Весь функционал условно разделён на несколько модулей, работа которых будет описана ниже по порядку:
1) Определение номера
2) SMS активация
3) Входящие SMS
4) Отправка SMS
5) USSD команды
6) Статистика
Определение номера
Данный модуль рассчитан на определение мобильных номеров SIM карт вставленных в SIM шлюз и присвоение номерам телефонов порядковых номеров, соответствующих номеру слота, в который вставлена сим карта. Данный модуль должен поддерживать определение номера таких операторов, как: Билайн, Мегафон, МТС, Теле2. Определение номеров осуществляется с помощью USSD команд, для каждого оператора- своя команда.
Билайн: *110*10#
Мегафон: *205#
МТС: *111*0887#
Теле2: *201#
Так же, есть вероятность того, что оператор даст ответ не сразу после отправки команды, а в течении нескольких минут после отправки запроса. В таком случае на данный номер телефона придет SMS содержащая его номер мобильного телефона. В таком случае, данные так же должны быть собраны, но только с SMS, а не ответа USSD.
На выходе, после определения номеров телефонов должна быть выведена таблица с номерами телефонов в 2 столбца: номер слота, номер телефона.
Все последующие операции в программе будут осуществляться уже с данными номерами, по этому нужно организовать передачу мобильных номеров в другие функциональные модули, желательно в автоматическом режиме.
SMS активация
Данный модуль требуется для SMS активаций при регистрации учетных записей. Он должен передавать по API список вставленных в SIM шлюз Goip сим карт (номера телефонов) и передавать коды подтверждения по группам соц.сетей (например если идёт регистрация аккаунтов в Telegram, то ПО должно передать по API только код полученный от Telegram’a), полученные в виде SMS сообщений на установленные SIM карты в шлюз. В данном модуле должен быть выбор сервиса, от которого ожидаем SMS сообщения и SIM карт, на которые мы их ждем (с кнопкой выбора всех карт).
Отображение результата работы через таблицу, которая содержит в себе: номер телефона, сервис активации, переданный код, успешная ли передача кода. Например:
Вконтакте Одноклассники Telegram YouTube Instagram Отправка кода
*Номер телефона* *Код из SMS* *Код из SMS* *Код из SMS* *Код из SMS* *Код из SMS* +
*Номер телефона* *Код из SMS* *Код из SMS* *Код из SMS* *Код из SMS* *Код из SMS* +
*Номер телефона* *Код из SMS* *Код из SMS* *Код из SMS* *Код из SMS* *Код из SMS* +
*Номер телефона* *Код из SMS* *Код из SMS* *Код из SMS* *Код из SMS* *Код из SMS* +
*Номер телефона* *Код из SMS* *Код из SMS* *Код из SMS* *Код из SMS* *Код из SMS* +
Это примерная таблица, на которую не стоит ровняться, это как пример.
Входящие SMS
В данном модуле должны отображаться все входящие SMS, которые поступили на номера, установленные на данный момент в шлюз. А так же должен отображать в себе номер отправителя и дату получения сообщения. Желательно выводить данные в виде таблицы по номерам, отображающую последнее SMS сообщение с возможностью развернуть и увидеть все SMS выбранного номера.
Отправка SMS
Данный модуль нужен для массовой отправки SMS, со всех сим карт, а так же для отправки с каждой сим карты отдельного сообщения, с возможностью выбора как одного номера отправителя, так и нескольких, аналогично и с получателями. Например
Случай 1. Нам нужно отправить 1000 SMS сообщений на разные номера (1000 номеров) со всех SIM карт. В таком случае нужна возможность выбора сим карт, с которых будет производится отправка сообщений, распределение количества отправленных сообщений по SIM картам (Например: с каждой из 32 SIM карт отправить по 31 сообщению, либо с 30 SIM карт отправить по 30 SMS сообщений, а с остальных двух по 50 SMS сообщений).
Случай 2. Нам нужно отправить 1000 сообщений с одной сим карты. В таком случае нужна возможность выбора данной SIM карты, с которой будет производиться отправка этой тысячи SMS сообщений.
Так же, в обоих вышенаписанных случаях нужна возможность отправки нескольких вариантов сообщений. Например: нужно отправить 1000 сообщений на 1000 разных номеров. Есть 2 варианта сообщения, нужна функция, которая позволит указать количество отправленных сообщения по каждому варианту. (1 вариант- 50 сообщений, 2 вариант – 50 сообщений).
Загрузка информации должна быть в виде импорта TXT файла, информация в котором расположена с новой строки. Например, что бы мы могли загрузить файл TXT с 5 разными вариантами сообщений, нам нужно импортировать TXT такого вида:
Привет
Прив
Здравствуйте
Здарова
Hello
Hi
USSD команды
В данном модуле нужна реализация возможности массовой отправки USSD команд со всех номеров и получение ответа, с возможностью так же массово отправить ответное сообщение. Помимо этого, нужна возможность выбора номеров, с которых будет отправляться команда, можно чекбоксы с кнопкой «Выбрать всё» и «Убрать всё».
Статистика
В данном модуле требуется вся статистика за последние сутки, неделю, месяц, всё время. Под статистикой понимается:
Количество номеров (с которыми производились работы)
Количество принятых SMS сообщений
Количество полученных SMS сообщений
Количество отправленных USSD команд
Количество ошибок
По каждому временному промежутку нужен график по дням, неделям и месяцам, с возможностью выбора диапазона времени.
Цена договрная