Я пытаюсь создать систему, в которой у меня есть оконечные узлы, способные отправлять / получать SMS-сообщения по сети GSM. Теперь мне нужно создать серверное решение, которое будет отправлять SMS-сообщения, действуя как шлюз между веб-сервером, на котором хранится моя бизнес-логика, и клиентами (узлами). Связь двусторонняя. Я кое-что читал о полных решениях для SMS-серверов (которые, возможно, действуют как GSM-шлюз), но они оказались слишком дорогими. Я думал о том, чтобы подключить мобильный телефон к моему серверу (а затем использовать некоторые API), но может случиться так, что мой сервер перейдет в центр обработки данных, и я не могу ничего прикрепить таким образом. Я не ожидаю, что у меня будет слишком много сообщений (например, 100 в день / в обе стороны). И клиентов у меня тоже не будет слишком много (менее 100). Здесь я прошу общее системное решение (например, передовой опыт).
Каковы лучшие практики для создания SMS-сервера
Ответы (2)
Существует три основных варианта создания такого SMS-сервера:
1) Подключите к серверу мобильные телефоны или USB-накопители GSM и используйте их для обмена SMS. Ограничения есть
Ограниченные объемы (однако ваших 100 SMS в день должно хватить).
Возможно, довольно ненадежный из-за потребительского оборудования (например, прошивка телефона / флешки не предназначена для круглосуточной работы, вам может потребоваться регулярно перезагружать устройства; большинству мобильных телефонов для работы требуется батарея, батареи изнашиваются).
Возможно, неприемлемо в центрах обработки данных из-за правил RF и покрытия мобильной сети.
Схема номера мобильного телефона ограничена MSISDN SIM-карты.
2) Подключите SMS к шлюзу SMS оператора сети. Сетевые операторы используют их именно для этого сценария: массовые SMS-сообщения. Они являются проприетарными и обычно говорят о «более легком для восприятия» транспортном протоколе сообщений. Ограничения:
Вы привязаны к оператору сети, как по подключению, так и по протоколу.
Возможны задержки связи, поскольку шлюз может выполнять промежуточную передачу.
В зависимости от схемы ценообразования может иметь смысл только для больших объемов.
3) Подключите SMS-сервер к сети SS7 мобильного оператора, добавив его как элемент сети. Ограничения:
Комплексная реализация. Требуется специальное оборудование (интерфейсная карта SS7) и драйверы для программирования.
Требуется нетривиальная сетевая интеграция с оператором сети, включая обширное тестирование.
Для подключения требуется линия E1 / T1 (или более крупная, или SIGTRAN). Обычно это относится к центрам обработки данных, но доступно не во всех центрах обработки данных.
Дорого по схеме ценообразования и эксплуатации.
Предполагая, что я понимаю ваши требования, в вашем случае я бы выбрал вариант 1) и разместил SMS-сервер там, где он имеет хорошее покрытие, то есть не обязательно в центре обработки данных. Продать его как головной узел для серверной инфраструктуры. Если установка в центре обработки данных является обязательной, перейдите к варианту 2) и ознакомьтесь с оптовыми предложениями SMS от операторов мобильной связи.
Я использую пакет smstools в Linux для получения и анализа SMS-сообщений. В файле конфигурации вы указываете на внешний скрипт, который получает 2 аргумента (например, ПОЛУЧЕННЫЙ путь к sms-файлу). Я разбираю SMS с помощью perl. Другой вариант - SMS-шлюз Alamo, но у меня с ним было много проблем.