В статье habr от 08.2019 был рассмотрен рабочий способ для приема SMS.
При всей его громоздкости и костыльности - он пользуется популярностью у бизнеса арбитражников и прочих SMS товарищей.
Поэтому упростим настройки чтоб их могли использовать еще больше желающих.
Сам GOIP-SMS-Сервер абсолютно неудобен т.к. требует дополнительный WEBserver, но Шлюзы GoIP умеют отправлять СМСки и по SIP протоколу. Т.е. с помощью обычного любого Asterisk (или FreePBX).
самое главное УРА - Без SMSсервера, без PHP(Python) Скриптов, без промежуточных Email.
Часть 1я - настройка шлюза GOIP для приема СМС.
1) Рассмотрим настройки SMS на примере GOIP-8 (8 канального GSM шлюза):
Установим сим карточки в любые порты от 1 до 8.
Configurations-SMS тут мы видим меню, заполняем поле SMS to VoIP, пишем что угодно, например goip8, на каждом из каналов как на скрине ниже:
2) Configurations-Basic VoIP, тут выбираем режим Trunk Gateway Mode и указываем единственный IP (свой Asterisk в локалке или в интернете). Элементарная настройка шлюза окончена - скрин прилагаю:
Часть 2я - настройка Asterisk (или FreePBX) для приема СМС.
1) Настройки ТРАНКА для работы с GOIP (транк минимальный для СМС).
Если у нас чистый asterisk, добавляем в sip.conf секцию и так же активируем работу с СМС, добавив в секцию general файла sip.conf:
[general]
...
...
...
textsupport=yes
accept_outofcall_message = yes
outofcall_message_context = messages
auth_message_requests = no
[smsgoip]
type=peer
host=192.168.10.11; адрес нашего шлюза GoIP
qualify=yes
Если у нас FreePBX: Connectivity-Trunks - Add TRUNK - Add SIP (ChanSIP) Trunk, указываем host - IP адрес шлюза GoIP.
ВНИМАНИЕ На этих настройках звонки не работают - ЭТО SMS ONLY SETTINGS.
Переходим в меню Admin-Config EDIT и в файл sip_general_custom.conf добавим эти строки:
textsupport=yes
accept_outofcall_message = yes
outofcall_message_context = messages
auth_message_requests = no
СМС Активированы - ATC и ШЛЮЗ настроены. Далее нужно протестировать.
Например если какой нибудь сервис, например QIWI сейчас пришлет SMS на симку из 5го порта, то в Астериске в запросе INVITE и секции MESSAGE(body) мы увидим это:
"QiwiInfo(L5)Your code to change QIWI Wallet password 9999. Do not disclose it to anyone"
Чтобы в этом выражении отделить нужную инфу распарсим его с помощью астеристического ассемблера обычного диалплана, не прибегая к сторонним скриптам, используем команду CUT, мы добавим в контексты диалплана следующую секцию (extensions.conf если у вас чистый Asterisk или extensions_custom.conf для FreePBX).
Также не забываем в строке 5 поставить свой chat_id и токен от месенджера. Все полетят к вам в telegram chat (под viber почти аналогично).
[messages]
exten => _.,1,Set(_LINE=${CUT(CUT(MESSAGE(body),\),1),\(,2)})
same => n,Set(_FRM=${CUT(MESSAGE(body),\(,1)})
same => n,Set(_TEXT=${CUT(MESSAGE(body),\),2)})
same => n,System(curl --data "text=????PORT:${LINE}\n\n<i>${URIENCODE(${TEXT})}</i>\n\nот ${FRM}&chat_id=YOUCHAT" "https://api.telegram.org/botYOUTOKEN/sendMessage")
same => n,HangUp()
А вот так выглядит это же СМС полученное в telegram:
Комментарии (5)
tea
30.05.2022 23:36+1Использую для этого пачку старых модемов на хорошем хабе. Из софта kannel + playsms + SMTP to Telegram.
m1skam
31.05.2022 06:16Года 3 или 4 назад пытался решить похожую проблему, в результате остановился на максимально простом в использовании устройстве yeastar tg800. Он не умеет слать SMS в телеграм, но умеет пересылать SMS в почту и для нас это стало решающим фактором.
Под каждую симкарту создана почтовая группа в которую входят один или несколько сотрудников, и всегда понятно у кого к какой симкарте доступ.
x-tray
01.06.2022 07:23Долго с этими Goip возился в результате перешёл на OpenVox GSM . там и gsm и астер в одном флаконе всё нативное. и Работает на порядок стабильнее
makar_crypt
А сейчас есть какие бесплатные сервисы с номерами для регистрации акков телеги на долгосрок ?
Был textnow - прикрыли
cellmon Автор
Знаю, но статья о другом - как получать СМС не в мобилу а в телегу:
ну например, как принимать смс на 5 номеров, если в iPhone только 1 номер.