
Примечание по применению: Как использовать GoIP для SMS-приложений
В этом руководстве по применению описывается, как вы можете интегрировать GoIPs в платформу SMS для отправки и получения SMS.
Метод 1: Использование SMS-сервера.
Требование: Клиентам необходимо установить SMS-сервер и настроить gsm-шлюзы GoIP для регистрации на SMS-сервере. Пожалуйста, посетите страницу загрузки, чтобы получить дополнительную информацию о SMS-сервере.
После того, как GoIPs зарегистрировались на SMS-сервере, у вас теперь есть пул GSM-каналов для отправки и получения SMS. Далее необходимо создать собственный http-сервер для отправки и получения SMS через SMS-сервер.
Чтобы отправить SMS на SMS-сервер, вашему http-серверу просто нужно использовать HTTP API (поддерживаются как методы GET, так и POST) на SMS-сервере. Синтаксис команды:
http://<sms server ip>/en/dosend.php?USERNAME=<your id>&PASSWORD=<your password>&smsprovider=<provider (1 to 10)>&goipname=<GoIP ID>&smsnum=<SMS recipient number(s)>&method=2&Memo=<message>
Примечания:
- USERNAME – это ваше имя для входа на SMS-сервер.
- PASSWORD – это Ваш пароль для входа в SMS-сервер.
- smsprovider указывает, какой провайдер в списке поставщиков SMS-сервера будет использоваться для отправки SMS. В списке максимум 10 поставщиков, и ссылочный номер используется для ссылки на поставщика. Пожалуйста, не используйте определенное имя поставщика. Пожалуйста, убедитесь, что указанный провайдер назначен канал (каналы) GoIP.
- goipname — это идентификатор GoIP, определенный для каждого канала GoIP. Пожалуйста, убедитесь, что статус GoIP ID на SMS-сервере — LOGIN. Если этот параметр не указан, SMS Server выберет GSM канал у провайдера, указанного для отправки SMS.
- smsnum - это список телефонных номеров получателей SMS. Используйте команду (,) для разделения телефонных номеров.
- method=2 является фиксированным параметром при использовании HTTP API для отправки SMS. Просто укажите его как есть.
- Memo - это содержание SMS (не может превышать 1400 символов).
Пример:
1. http://192.168.2.1/goip/en/dosend.php?USERNAME=root&PASSWORD=root&smsprovider
=1&goipname=goip1&smsnum=10086,10087,10088&method=2&Memo=hello
2. http://192.168.2.2/goip/en/dosend.php?USERNAME=root&PASSWORD=root&smsprovider
=1&smsnum=123457,123456&method=2&Memo=hello
Когда SMS-сервер получает SMS-сервер, вы можете включить SMS-сервер для отправки полученного сообщения на ваш http-сервер. Это делается путем передачи адреса HTTP-сервера при настройке канала GoIP, как показано ниже. В HTTP-сообщение включены три параметра.
- name — идентификатор GoIP, представляющий канал GoIP, в котором происходит SMS.
- номер - номер телефона отправителя SMS.
- контент - это полученное SMS.
Метод 2: Использование протокола SMMP
GoIP поддерживает протоколы SMPP версий 3.3 и 3.4 и функционирует как SMPP SMSC. Для получения дополнительной информации, пожалуйста, загрузите руководство по интерфейсу SMPP с сайта.
Этот метод позволяет использовать сторонний SMPP-клиент для прямого общаться с GoIP. Мы протестировали протокол GoIP SMPP с Ozeki NG – SMS Gateway версии 4.2.60. Это программное обеспечение является бесплатным для использования в течение ограниченного времени.
1. Включение услуги GoIP для SMSC SMPP
- Войдите во встроенный веб-сайт GoIP и перейдите на страницу настроек в разделе Конфигурация.
- Включение SMSC SMPP
- Введите идентификатор, пароль и порт соответственно. ID — это имя, используемое для обозначения всего GoIP. Если вы хотите указать, какой канал используется для отправки SMS, вам придется добавить его номер канала (2-значный). 01 называется каналом 1. Например, если для идентификатора the ID установлено значение "goip1", то имя идентификатора для имени канала 1 будет "goip101". Пожалуйста, всегда обращайте внимание на количество каналов, доступных при обращении к отдельному каналу.
2. Настройка внешних условий коротких сообщений SMPP (ESME)
- Это немобильная система, которая отправляет сообщения или получает сообщения от SMSC. Вам придется разработать свой собственный ESME или приобрести его у третьей стороны. Существует SMPP-клиент с открытым исходным кодом, который вы можете использовать для разработки собственного ESME. Что касается нашего тестирования, то мы используем Ozeki NG – SMS Gateway и настройку GOIP (SMSC) показано ниже.
- Host (Хост) — это IP-адрес вашего GoIP (SMSC). Если он установлен за NAT, адрес здесь является внешним адресом (общедоступным IP-адресом) вашего NAT. Также необходимо настроить NAT для пересылки указанного номера порта на IP-адрес GoIP.
- Port (Порт) должен быть таким же, как и запрограммированный в GoIP.
- Username (Имя пользователя) — это имя идентификатора, запрограммированное в GoIP. В этом примере указан идентификатор "goip1", а не конкретный канал в GoIP. Когда сообщения получены, GoIP отправляет сообщения по всем каналам в циклическом режиме. Кроме того, если имя пользователя установлено на определенный канал, например «goip101», то GoIP будет отправлять сообщения только по указанному каналу.
- Password (Пароль) - это пароль, запрограммированный в GoIP.
- Рекомендуется использовать режим Transceiver mode устройства в настройках подключения, как показано ниже. Это позволяет отправлять и получать сообщения одновременно.
3. Отправка SMS
Сообщения, отправленные из ESME, могут быть закодированы в UCS2 или ASCII. Для формата UCS2максимальное количество символов в сообщении составляет 70. Для формата ASCII он автоматически преобразуется в 7-битный ASCII для передачи, а максимальное количество символов в сообщении составляет 160.
4. Ответ на сообщение от GoIP
Ниже показана запись на сообщения от GoIP.
Метод 3: Использование собственного HTTP-интерфейса GoIP gsm-шлюза
GoIP может принимать сообщения через свой HTTP-интерфейс, а затем отправлять их через свой GSM-канал (каналы) соответственно. Это простой способ отправки сообщений непосредственно через GoIP.
1. Отправьте сообщение с помощью команды HTTP Send
Пример:
http://192.168.2.190/default/en_US/send.html?u=admin&p=admin1&l=1&n=10086&m=test
где
192.168.2.190 - это IP-адрес GoIP u=admin означает username=admin p=admin1 означает password=admin1
l=1 означает использование GSM-канала/линии 1 для отправки сообщения n=10086 означает, что номер получателя SMS 10086
m=test означает, что содержимое сообщения является "test"
Вот два возможных ответа от команды HTTP Send.
1. При возникновении ошибки возвращается значение "ERROR, <reason>"
Возможной причиной может быть ошибка пользователя, ошибка пароля, выход из Lx GSM и т. Д.
2. Если сообщение принято, возвращается «Отправка, L1 Отправить SMS на номер 10086; ID:55c489da"
2. Отправьте HTTP-запрос, чтобы проверить состояние сообщения.
Пример:
http://192.168.2.190/default/en_US/send_status.xml?u=admin&p=admin1
Вот типичный ответ на сообщение, отправленное выше. Поскольку используемый GoIP имеет 8 каналов, здесь отображается все состояния каналов. Состояние идентификатора сообщения message ID = 55c489da — «DONE», это означает, что сообщение отправлено успешно.
3. Когда сообщение успешно отправлено, то может быть отправлено следующее сообщение.
Метод 4: Использование SMS API GoIP
SMS-сервер, упомянутый в Способе 1, написан с использованием SMS API GoIP, как описано в документе Руководство пользователя интерфейса SMS, которое можно загрузить c веб-сайта https://GoIP-pro.ru.
Вместо связи с SMS-сервером вы можете использовать этот SMS-API для разработки SMS-приложения для прямой связи с gsm шлюзами GoIP через UDP. Этот метод требует больших возможностей и усилий в области разработки.