Страница 1 из 1

Нужна ваша помощь, скрипт умеющий отправлять СМС по VOIP шлюзу, как?

Добавлено: 01 мар 2019, 16:38
vusalh
Доброе время суток коллеги,
У меня следующая задача, хочу организовать Hotspot с авторизацией по СМС на Mikrotik-e (v6.34.3).
нашел отличный вебинар и скрипт по ссылке https://www.youtube.com/watch?v=mPimLJ55kTM
Только задача состоит в том что бы отправлять СМС не по USB свистку а через VoiP gateway ( Yeastar TG 800) по IP.
VoiP gateway умеет отправлять через API интерфейс, https://support.yeastar.com/hc/en-us/ar ... TG-SMS-API
однако у меня никак не получается подружить их, не подскажите как я могу интегрировать Yeastar TG 800 в Mikrotik?
Заранее благодарен.

Re: Нужна ваша помощь, скрипт умеющий отправлять СМС по VOIP шлюзу, как?

Добавлено: 05 мар 2019, 08:01
vusalh
Коллеги, неужели никто незнает как написать этот скрипт?

Re: Нужна ваша помощь, скрипт умеющий отправлять СМС по VOIP шлюзу, как?

Добавлено: 05 мар 2019, 12:18
Sertik
Если Ваш этот Voip gateway поддерживает прямые HTTP-команды/запросы, то можно с помощью инструмента Роутер ОС Микротика /tool fetch.
Писать скрипт Вы должны, конечно, сами ...

Re: Нужна ваша помощь, скрипт умеющий отправлять СМС по VOIP шлюзу, как?

Добавлено: 05 мар 2019, 16:58
vusalh
Sertik писал(а): 05 мар 2019, 12:18 Если Ваш этот Voip gateway поддерживает прямые HTTP-команды/запросы, то можно с помощью инструмента Роутер ОС Микротика /tool fetch.
Писать скрипт Вы должны, конечно, сами ...
Уважаемый Sertik,
Благодаря вам мне удалось продвинуться с мертвой точки )

Этот Voip gateway поддерживает прямые HTTP-команды/запросы, (только что проверил мне удалось отправить СМС с помошью прямой ссылки)
теперь остается его применить в скрипте, в CLI Mikrotik-a для теста пытаюсь отправить СМС с помощью команды,

/tool fetch url="http://IP_ADDRESS/cgi/WebCGI?1500101=account=testuser1&password=testpass1&port=2&destination=+Otpravlayemiy_nomer&content=Opravlayemoye_Soobsheniye"} on-error={};

После отправки получаю следующую ошибку:

status: failed
failure: closing connection: <400 Bad Request> IP_ADDRESS (4)

Не подскажете в чем дело?

Re: Нужна ваша помощь, скрипт умеющий отправлять СМС по VOIP шлюзу, как?

Добавлено: 06 мар 2019, 11:02
Sertik
Надеюсь Вы пишите так:

/tool fetch url="http://IP_ADDRESS/cgi/WebCGI?1500101=account=testuser1&password=testpass1&port=2&destination=+Otpravlayemiy_nomer&content=Opravlayemoye_Soobsheniye"

где IP_ADDRESS - это реальный IP Вашего этого СМС-шлюза, доступный для пинга ?

Обратите внимание, что специальные символы в CLI нужно экранировать обратным слэшем.

Re: Нужна ваша помощь, скрипт умеющий отправлять СМС по VOIP шлюзу, как?

Добавлено: 06 мар 2019, 11:05
Sertik
Также обратите внимание, на правильный синтаксис команды Микротик Рос /tool fetch. Всё это есть на wiki.

Re: Нужна ваша помощь, скрипт умеющий отправлять СМС по VOIP шлюзу, как?

Добавлено: 12 мар 2019, 14:13
vusalh
Sertik писал(а): 06 мар 2019, 11:02 Надеюсь Вы пишите так:

/tool fetch url="http://IP_ADDRESS/cgi/WebCGI?1500101=account=testuser1&password=testpass1&port=2&destination=+Otpravlayemiy_nomer&content=Opravlayemoye_Soobsheniye"

где IP_ADDRESS - это реальный IP Вашего этого СМС-шлюза, доступный для пинга ?

Обратите внимание, что специальные символы в CLI нужно экранировать обратным слэшем.
Пишу так как внизу,

/tool fetch url="http://IP_ADDRESS/cgi/WebCGI?1500101=account=testuser1&password=testpass1&port=2&destination=+Otpravlayemiy_nomer&content=Opravlayemoye_Soobsheniye"

Все равно выдает следующую ошибку, (хост http://IP_ADDRESS пингуется.)

status: failed

failure: closing connection: <404 Not Found> IP_ADDRESS:80 (4)

тот же самый линк в формате
http://IP_ADDRESS/cgi/WebCGI?1500101=account=testuser1&password=testpass1&port=2&destination=+Otpravlayemiy_nomer&content=Opravlayemoye_Soobsheniye
если вбить в мозилле, сообщение отправляется.

Есть идеи?

Re: Нужна ваша помощь, скрипт умеющий отправлять СМС по VOIP шлюзу, как?

Добавлено: 12 мар 2019, 17:16
Sertik
У команды /tool fetch кроме указания url есть масса параметров. Я не экстрасенс и не знаю что нужно Вашему voipgateway. Может нужно указать method=post или может ему ещё что-то нужно.
Открывайте wiki Микротик /tool fetch и читайте, потом пробуйте.
А может у вас трафик c роутера режется где нибудь в output цепочке или NAT где-то не правильно настроен. Откуда я могу знать не видя что там у Вас и как ...

А скорее всего строка url у Вас не правильная, т.е. где то в ней ошибки есть.

Вот Вам в качестве примера ... Эта строка перезагружает модем устройств Нетпинг. Указан адрес и порт (если порт стандартный 8080 можно не указывать.

/tool fetch url="http://192.168.0.4:8021/gsm_restart.cgi" mode=http http-method=post user=login password="\$ertik"

Кстати, WEB-интерфейс этого шлюза Вашего открытый или требует авторизации ? Если требует, тогда нужно указывать user и password. (У Вас это вроде как прямо внутри строки url указано, бывает и так, это уже от WEB-прошивки зависит - как там сделано). Все спец. симфолы в скриптах экранируются обратным слэшем (как в пароле примера символ $).
В Вашей строке знак вопроса нужно экранировать.

Ну и так далее - читайте как работать с /tool fetch. Ваша проблема на 100% решаема.