<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Mikrotik.moscow [тема: Отправка SMS с символами GSM7]</title>
		<link>http://mikrotik.moscow</link>
		<description>Новое в теме Отправка SMS с символами GSM7 форума RouterOS на сайте Mikrotik.moscow [mikrotik.moscow]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Tue, 14 Jul 2026 07:21:30 +0300</pubDate>
		<item>
			<title>Отправка SMS с символами GSM7</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/86563-otpravka-sms-s-simvolami-gsm7/message408100">Отправка SMS с символами GSM7</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			@dmke, я видел одну недавнюю тему на этом форуме, не совсем такая же проблема, но вспомнил про твои сложности с SMS. Оказывается, кто-то написал логику парсинга PDU и i18n кодировок прямо в скрипте RouterOS — настоящий монстр: <noindex><a href="http://forum.mikrotik.com/t/script-for-sending-incoming-sms-to-mail-with-full-parsing/140125/1" target="_blank" rel="nofollow" >http://forum.mikrotik.com/t/script-for-sending-incoming-sms-to-mail-with-full-parsing/140125/1</a></noindex>. У тебя на самом деле обратная ситуация, но, возможно, какой-то из этих помощников по кодировкам можно использовать, чтобы как-то сгенерировать правильную последовательность для «at-chat». Правда, я Go не знаю, но это всё равно кажется проще. <br />
			<i>13.03.2022 17:57:00, Amm0.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/86563-otpravka-sms-s-simvolami-gsm7/message408100</link>
			<guid>http://mikrotik.moscow/forum/forum57/86563-otpravka-sms-s-simvolami-gsm7/message408100</guid>
			<pubDate>Sun, 13 Mar 2022 17:57:00 +0300</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Отправка SMS с символами GSM7</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/86563-otpravka-sms-s-simvolami-gsm7/message408099">Отправка SMS с символами GSM7</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Я учту это, спасибо за ваши замечания. <br />
			<i>09.03.2022 18:21:00, dmke.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/86563-otpravka-sms-s-simvolami-gsm7/message408099</link>
			<guid>http://mikrotik.moscow/forum/forum57/86563-otpravka-sms-s-simvolami-gsm7/message408099</guid>
			<pubDate>Wed, 09 Mar 2022 18:21:00 +0300</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Отправка SMS с символами GSM7</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/86563-otpravka-sms-s-simvolami-gsm7/message408098">Отправка SMS с символами GSM7</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Настоящая кроличья нора. Но почему я упомянул «удалённый доступ» — в принципе можно запускать Go-код на RPi, а библиотека xlab/at будет использовать TCP-порт, который открывает AT-канал Mikrotik с помощью указанной выше команды. Я не знаю Go и эту библиотеку, но, кажется, можно преобразовать TCP-сокет в os.File, который использует xlab/at. Когда Mikrotik добавит поддержку контейнеров, ваш код теоретически сможет работать как Docker на Mikrotik (хотя, скорее всего, придётся всё равно использовать TCP-порт удалённого доступа, смотрите <noindex><a href="http://forum.mikrotik.com/t/v7-1rc3-adds-container-support/151712/251)" target="_blank" rel="nofollow" >http://forum.mikrotik.com/t/v7-1rc3-adds-container-support/151712/251)</a></noindex>. <br /><br />Со стороны Mikrotik нужно убедиться, что есть AT-канал, который можно открыть через /port remote-access. Ещё есть /system/serial-terminal port=usb1 channel=1 — его можно использовать, чтобы проверить, работают ли вообще AT-команды. Опять же, поиграйтесь с port/channel, а команда /port print покажет количество каналов модема в SXT. Некоторые каналы — это AT, другие могут быть NMEA (GPS) или «Qualcomm Debug» — всё зависит от версии RouterOS, типа модема и режима работы. Названия портов иногда usb2 и так далее.<br /><br />Если использовать SXT только для SMS и работы с AT, то, возможно, можно переключить /interface/lte/settings/set mode=serial, это даст вам больше портов (но при этом потеряете LTE-интерфейс на Mikrotik). Я точно не вижу, как это может работать, но, в принципе, можно попытаться сделать «проксирование» модуля LTE-модема через последовательный порт в TCP. Насчёт скорости — не знаю. <br />
			<i>09.03.2022 15:30:00, Amm0.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/86563-otpravka-sms-s-simvolami-gsm7/message408098</link>
			<guid>http://mikrotik.moscow/forum/forum57/86563-otpravka-sms-s-simvolami-gsm7/message408098</guid>
			<pubDate>Wed, 09 Mar 2022 15:30:00 +0300</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Отправка SMS с символами GSM7</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/86563-otpravka-sms-s-simvolami-gsm7/message408097">Отправка SMS с символами GSM7</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Я никогда не говорил, что это просто. Большую часть сложности я могу вынести в библиотечный код (за последний месяц я нашёл и дополнил <noindex><a href="https://github.com/xlab/at)" target="_blank" rel="nofollow" >https://github.com/xlab/at)</a></noindex>, и в любом случае мне нужен прокси перед этим для авторизации, очередей сообщений и обратных вызовов уведомлений о доставке. С этого момента затраты по сложности и усилиям при работе с последовательным интерфейсом и API RouterOS примерно одинаковы. Я даже не знал, что это возможно. <br />
			<i>09.03.2022 14:41:00, dmke.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/86563-otpravka-sms-s-simvolami-gsm7/message408097</link>
			<guid>http://mikrotik.moscow/forum/forum57/86563-otpravka-sms-s-simvolami-gsm7/message408097</guid>
			<pubDate>Wed, 09 Mar 2022 14:41:00 +0300</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Отправка SMS с символами GSM7</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/86563-otpravka-sms-s-simvolami-gsm7/message408096">Отправка SMS с символами GSM7</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			LOL, «всего лишь»… Ну, если «всего лишь» открыть AT-канал на SXT через System&gt;Port&gt;Remote Access, И найти какой-то скрипт на Linux для отправки AT-команд для SMS, И подключить TCP-порт как /dev, чтобы связать удалённый TCP-порт с «последовательным портом». Тогда, наверное, RPi сможет через какой-то Linux-скрипт с AT-командами для SMS подключиться к SXT через TCP-to-serial AT. Вот что-то вроде этого открывает AT-порт (нужно подстроить канал, порт, tcp-порт и так далее), но это «всего лишь» лёгкая часть: /port remote-access add port=usb1 protocol=raw channel=1 tcp-port=9999 Удалённый TCP-сокет к последовательному AT-каналу не будет делать никакого кодирования — это ваш плюс. А вот именно Mikrotik’ов at-chat «очищает» команды. Но да, найти или написать Linux-скрипт с AT-командами для SMS — задача не из приятных. <br />
			<i>08.03.2022 22:16:00, Amm0.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/86563-otpravka-sms-s-simvolami-gsm7/message408096</link>
			<guid>http://mikrotik.moscow/forum/forum57/86563-otpravka-sms-s-simvolami-gsm7/message408096</guid>
			<pubDate>Tue, 08 Mar 2022 22:16:00 +0300</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Отправка SMS с символами GSM7</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/86563-otpravka-sms-s-simvolami-gsm7/message408095">Отправка SMS с символами GSM7</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			По сути, в строковый тип ROS вставляешь одиночные 8-битные символы, используя экранирование "\" с последующим 8-битным шестнадцатеричным кодом, например, “\20\20\20” (три пробела). Спасибо за совет, попробую так сделать, если ещё доведётся отправлять SMS через SXT. Пока что я сменил настройку на RPi с дешёвым LTE/USB модемом Huawei. Не думаю, что это будет работать круглосуточно без сбоев, но мне нужно отправлять максимум 50 сообщений в день без жёстких временных ограничений. Зато у меня есть простой последовательный консольный порт, и я могу «просто» отправлять обычные AT-команды. <br />
			<i>08.03.2022 18:49:00, dmke.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/86563-otpravka-sms-s-simvolami-gsm7/message408095</link>
			<guid>http://mikrotik.moscow/forum/forum57/86563-otpravka-sms-s-simvolami-gsm7/message408095</guid>
			<pubDate>Tue, 08 Mar 2022 18:49:00 +0300</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Отправка SMS с символами GSM7</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/86563-otpravka-sms-s-simvolami-gsm7/message408094">Отправка SMS с символами GSM7</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Привет! Я пытаюсь отправить SMS через RBSXTR (RouterOS v7.1.3) по API (с использованием библиотеки gopkg.in/routeros.v2 на Go). Большая часть работает, но при отправке текста «Hellö!» происходит ошибка — приходит просто «Hell!» (номер телефона я замаскировал по понятным причинам):<br /><br />// опускаю обработку ошибок для краткости &nbsp;<br />client, _ := routeros.Dial("192.168.0.123", "api", "apipassword") &nbsp;<br />client.Run("/tool/sms/send", "=port=lte1", "=phone-number=+4917611111111", "=message=Hellö!") &nbsp;<br /><br />В tcpdump я вижу, что запрос API содержит символ ö (0xC3B6 в UTF-8 кодировке):<br /><br />В логах встречаются такие записи: &nbsp;<br />12:34:48 lte,async lte1: sent AT+CMGS=17\r &nbsp;<br />12:34:48 lte,async lte1: sent 0021000D91947116111111F1001105C8329B1D02\0x1a &nbsp;<br />12:34:49 lte,async,event lte1: +CMGS: 65 &nbsp;<br />12:34:49 lte,async lte1: rcvd +CMGS: 65 &nbsp;<br />12:34:49 lte,async lte1: rcvd OK &nbsp;<br />12:34:50 lte,async,event lte1: +CDS: 27\r &nbsp;<br />12:34:50 lte,async,event 079194710600400706410d91947116111111f12220122143354022201221<WBR/>&shy;4345400000 &nbsp;<br /><br />CMGS PDU 0021000D91947116111111F1001105C8329B1D02 уже содержит только сообщение «Hell!». &nbsp;<br /><br />Согласно GSM спецификации (3GPP TS 23.038, «Alphabets and language-specific information», § 6.2.1 GSM 7 bit Default Alphabet, стр. 20), символ ö должен кодироваться как 0x7C (до упаковки и полуоктального кодирования). &nbsp;<br /><br />В одном посте от 2012 года предлагается преобразовать строку сообщения в Windows-1252, но и это не сработало (ö = 0xF6). &nbsp;<br /><br />По моему мнению, команда /tool/sms/send производит очистку входных данных и вырезает этот символ. Есть ли способ обойти это? &nbsp;<br /><br />Я также пробовал напрямую отправлять низкоуровневую команду AT+CMGS через /interface/lte/at-chat, но не смог заставить маршрутизатор принять команду — не понял, как передать порт LTE в качестве аргумента. <br />
			<i>21.02.2022 13:00:00, dmke.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/86563-otpravka-sms-s-simvolami-gsm7/message408094</link>
			<guid>http://mikrotik.moscow/forum/forum57/86563-otpravka-sms-s-simvolami-gsm7/message408094</guid>
			<pubDate>Mon, 21 Feb 2022 13:00:00 +0300</pubDate>
			<category>RouterOS</category>
		</item>
	</channel>
</rss>
