У меня есть SMS API, который поддерживает JSON по протоколу HTTP. Он получает SMS-запрос от клиентов в формате JSON и пересылает его в Gateway / SMSC, используя мой собственный скрипт.
Сейчас я пытаюсь разработать сервер SMPP для одного из наших клиентов, где клиент может подключиться к нам по протоколу SMPP.
Я планирую отправлять сообщения на шлюзы / SMSC, используя существующий HTTP API. В основном HTTP API внутри SMPP-сервера. В этом случае мне не нужно писать какой-либо код для управления кредитами.
Это должно работать как,
Получать запрос от клиента через SMPP
Проверьте информацию о клиенте
Переслать сообщение в HTTP API
Получить статус сообщения, используя HTTP API
Отправьте ответ о статусе клиенту, используя SMPP.
Мои вопросы
Как создать сервер SMPP, чтобы другой клиент мог подключиться к моему приложению с помощью SMPP?
Как я могу управлять привязкой нескольких клиентов к серверу?
Есть ли SMPP-сервер с открытым исходным кодом?
На самом деле сделать это наоборот было бы проще для вашего Эсме приложения для работы; внешние приложения отправляют SMS через HTTP API на ваш SMPP-шлюз, ваш SMPP-шлюз проверяет внешнее приложение и сообщение, возвращает либо ACK, либо NACK с идентификатором отслеживания сообщения, а затем перенаправляет его в SMSC по протоколу SMPP. По поводу ваших вопросов:
Вам нужно выбрать реализацию SMPP API, есть много открытых образцы.
Если вы исследуете исходный код, который я предоставил выше, для каждого успешного создания сеанса создается новый объект обработчика сеанса SMPP. Этот объект-обработчик имеет методы обратного вызова, которые запускаются при получении сообщения SMPP от клиента. Сам API управляет несколькими соединениями сокетов от вашего имени, и вы должны позаботиться о проверке параметров связывания SMPP в sessionBindRequested , SMPP-сообщения, которые вы получаете (firePduRequestReceived) и ответы Сервер должен отправлять с использованием API. Существует множество других API-интерфейсов SMPP, поэтому необходимо изучить их модель обмена сообщениями с пользовательским приложением.
Существует множество реализаций API-интерфейса SMPP с открытым исходным кодом, но в качестве полноценного пользовательского решения, которое вы хотели бы получить, я не думаю, что вы сможете найти его с открытым исходным кодом.
Других решений пока нет …