Как стать автором
Обновить

Комментарии 8

А расскажите, как рассылая много смс не попадать под блокировку операторов связи?
И даже действуя в рамках закона «О рекламе», безо всякого спама.
Тут такое дело:

«Статья 44.1. Рассылка по сети подвижной радиотелефонной связи
2. Рассылка по сети подвижной радиотелефонной связи по инициативе заказчика рассылки осуществляется на основании договора, заключенного с оператором подвижной радиотелефонной связи, абоненту которого предназначена рассылка. Предметом указанного договора являются услуги по осуществлению рассылки оператором связи.



4) пункт 1 статьи 46 дополнить абзацем следующего содержания:

прекратить оказание услуг по пропуску по своей сети трафика, содержащего осуществляемую с нарушением требований настоящего Федерального закона рассылку.»

base.garant.ru/70700818
Для Yeastar можно использовать TG SMS API через терминал.
support.yeastar.com/hc/en-us/articles/217392758-How-to-Use-TG-SMS-API

Собственно, по неопытности этот метод и выбрал для написания небольшой программы смс-рассылки для нужд фирмы. После прочтения вашей статьи понял, что можно переделать по человечески. Спасибо.

Это и есть AMI, только они подают его в документации каким-то извращенным способом. Вместо того чтобы написать «Мы поддерживаем AMI и дополнили его такими-то командами для работы с SMS и USSD» они зачем-то предлагают нам подключаться простым сокетом и изобретать велосипед, хотя для AMI уже под все популярные языки есть нормальные библиотеки. Рад что кому-то мой креатив помог.

У GoIP с отправкой SMS на самом деле всё ещё хуже, во всяком случае так было ~2 месяца назад (когда общался с их поддержкой).
Сейчас, возможно, что-то поменялось.
Кстати, поддержка на удивление оперативная и адекватная, за это огромный плюс разработчикам.

При массовой отправке обнаружились проблемы:
Отправка по HTTP:
— отправка склеенных SMS не поддерживается
— проблематично узнать в какой момент закончилась отправка сообщения. если сообщение ушло, то можно получить его messageID, если возникла проблема отправки (к примеру, недостаточно денег на счету), то видна ошибка модема. отличить временную ошибку от постоянной (к примеру, пропало подключение к сети GSM, выдернули SIM'ку) можно только сделав ещё одну попытку отправки. Если попытка успешна, то проблема была временной
— отчёты о доставке не поддерживаются

Отправка по SMPP:
— SUBMIT_SM_RESP приходит сразу после приёма на отправку, DELIVER_SM со статусом «доставлено» — после того,
как модем отправил данный пакет. Отправка следующего SUBMIT_SM не дожидаясь подтверждения отправки (DELIVER_SM) приводит к ошибке, т.е. буфера на отправку нет.
— отчёты о доставке не поддерживаются, вместо «доставки» мы получаем информацию об успешной отправке
— если нужно управлять распределением трафика на модемы, то для каждого модема нужно держать свою SMPP сессию под каждый модем, в случае временного падения линка — теряем данные о полученных в это время SMS

В качестве альтернативы для проекта, которому требуется 1-2 SIM карты (и не нужна смена IMEI !!!) собрали связку Raspberry + USB GSM модем + Kannel. Работает отлично. Единственная проблема — адекватной документации по Kannel'у найти так и не удалось, пришлось долго шаманить с настройками и собирать конкретную нужную версию из исходников (версия из репозитория raspbian не работает с нашими huawei модемами).

Сейчас всё тоже самое, в GoIP надо самому за всем следить иначе ничего не получится, что естественно не удобно.


А не проще было вообще отказаться от использования железок и попробовать какой-нибудь сервис sms gate, благо их сейчас в сети предостаточно?

Если кому-то пригодится — в модемах Huawei с прошивками Hilink также есть возможность отправки и приема SMS по сети через REST API. Документации маловато, правда, и так почему-то на польском в большинстве случаев (здесь, например).
Через GET можно совершить тестовый звонок?
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.