<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Mikrotik.moscow [тема: Помощь со сценарием для извлечения текстовых сообщений из папки SMS.]</title>
		<link>http://mikrotik.moscow</link>
		<description>Новое в теме Помощь со сценарием для извлечения текстовых сообщений из папки SMS. форума RouterOS на сайте Mikrotik.moscow [mikrotik.moscow]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Wed, 05 Aug 2026 05:23:12 -0400</pubDate>
		<item>
			<title>Помощь со сценарием для извлечения текстовых сообщений из папки SMS.</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/86184-pomoshch-so-stsenariem-dlya-izvlecheniya-tekstovykh-soobshcheniy-iz-papki-sms./message404021">Помощь со сценарием для извлечения текстовых сообщений из папки SMS.</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			что ж, на мини-наборе ltap это не работает, содержимое = +CMS ERROR: 302 <br />
			<i>28.02.2020 13:11:00, nimbo78.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/86184-pomoshch-so-stsenariem-dlya-izvlecheniya-tekstovykh-soobshcheniy-iz-papki-sms./message404021</link>
			<guid>http://mikrotik.moscow/forum/forum57/86184-pomoshch-so-stsenariem-dlya-izvlecheniya-tekstovykh-soobshcheniy-iz-papki-sms./message404021</guid>
			<pubDate>Fri, 28 Feb 2020 13:11:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Помощь со сценарием для извлечения текстовых сообщений из папки SMS.</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/86184-pomoshch-so-stsenariem-dlya-izvlecheniya-tekstovykh-soobshcheniy-iz-papki-sms./message404020">Помощь со сценарием для извлечения текстовых сообщений из папки SMS.</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Этот скрипт работает хорошо, но есть одна проблема: он будет работать нормально только один раз. Поскольку он переключает LTE модем в режим SMS ТЕКСТ - после первого успешного запуска - плата Mikrotik будет получать пустые SMS сообщения каждый раз после этого. Даже с обычными английскими буквами. Чтобы этого избежать, нужно добавить следующую строку перед “#:log info “END”;”, так что конец финального скрипта будет выглядеть так: /interface lte at-chat lte1 input=“AT+CMGF=0”; #:log info “END”; Эта команда вернет lte модем в его PDU SMS режим. Тогда он будет работать как часы, также я добавил этот скрипт в планировщик каждые 60 секунд. Так что я получаю каждое новое SMS на свой e-mail. (не забудьте изменить “send to= your@mail.ru ” на свой адрес электронной почты). Тестировалось на Mikrotik LHG LTE комплекте: <noindex><a href="https://mikrotik.com/product/lhg_lte_kit" target="_blank" rel="nofollow" >https://mikrotik.com/product/lhg_lte_kit</a></noindex> Версия Router OS: 6.43.3 Удачи!) <br />
			<i>14.02.2020 10:06:00, drummah.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/86184-pomoshch-so-stsenariem-dlya-izvlecheniya-tekstovykh-soobshcheniy-iz-papki-sms./message404020</link>
			<guid>http://mikrotik.moscow/forum/forum57/86184-pomoshch-so-stsenariem-dlya-izvlecheniya-tekstovykh-soobshcheniy-iz-papki-sms./message404020</guid>
			<pubDate>Fri, 14 Feb 2020 10:06:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Помощь со сценарием для извлечения текстовых сообщений из папки SMS.</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/86184-pomoshch-so-stsenariem-dlya-izvlecheniya-tekstovykh-soobshcheniy-iz-papki-sms./message404019">Помощь со сценарием для извлечения текстовых сообщений из папки SMS.</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			International SMS в кодировке UCS2 #Скрипт пересылки SMS на email. # Автор: pepelxl, 07.2019. # Немного памятки: # из модема sms можно извлечь в двух режимах – PDU и text # Текст передаётся в трёх кодировках : # 7bit – 160 символов # 8bit – 140 символов # UCS2 – 70 символов # в режиме text, модем сам распарсит sms из 7bit и 8bit, но не сможет распарсить ucs2. # Мой скрипт работает с режимом text, из минусов: # - нет возможности сортировать и склеивать сообщения. # - 7bit базируется на кодировке alphabet, не известно как передаст модем символы отличные от ANSII # - 8bit может содержать кодировки на национальных языках, опять же проблема поведения и передачи символов. # Обработчик ошибок так и не осилил, возможно сделаю позже. # UCS2 по байтно совместим с UTF-16(базис план, 2byte), можно слать его сразу на почту, # но тогда придётся разбивать шапку и тело, а поскольку национальное sms # как правило состоит из нескольких штук, - будет не удобно. # Кроме того, не все почтовые клиенты правильно обрабатывают ucs2. # скрипт конвертирует UCS2 в UTF-8 и отсылает собранные sms в один email. # текст будет в том же виде, как и пришел. # cкрипт проверялся на оборудовании: Huawei me909, basebox2, routerOS 6.45.1(на более # ранних версиях присутствует баг извлечения sms из модема). #:log info "Работаю..."; # Переводим модем в режим чтения TEXT /interface lte at-chat lte1 input="AT+CMGF=1"; # Читаем все сообщения :local content [/interface lte at-chat lte1 input="AT+CMGL=\"all\"" as-value]; # Извлекаем элемент массива output в переменную :set content ($content-&gt;"output"); # Проверяем, что сообщение есть :if ([:len $content]&gt;2) do={ :local lineEnd; :local lineStart; :local line ""; :local smsTo ""; :local smsDate ""; :local smsBody ""; :local ucs2text true; :local outUtf ""; :local emailBody ""; :local flagEnd true; :while ($flagEnd) do={ #ищем начало SMS :set lineStart [ find $content "+CMGL:" $lineStart ]; # Проверяем что поиск завершился успешно :if ([ typeof $lineStart ]="num") do={ # Ищем конец SMS :set $lineEnd [ find $content "+CMGL:" $lineStart ]; :if ([ typeof $lineEnd ] = "nil") do={ :set $lineEnd [ find $content "OK" $lineStart ]; }; # вынимаем сообщение :set line [ pick $content $lineStart ($lineEnd - 1) ]; # вынимаем телефон отправителя :set $smsTo [ pick $line ([:find $line "\",\""] + 3) ([:find $line ",,"] - 1)]; # вынимаем дату :set $smsDate [ pick $line ([:find $line ",,"] + 3) ([:find $line "\n"] - 2)]; # вынимаем тело :set smsBody [:pick $line ([:find $line "\n"]+1) ([:len $line]-1)]; # проверяем в каком формате находится тело :local iter [:len $smsBody]; :local hexCap "0123456789ABCDEF"; :while ($iter &gt; 0) do={ :if ([:typeof [:find $hexCap [:pick $smsBody ($iter - 1) $iter]]] != "num") do={ :set $ucs2text false; :set $iter 0;}; :set $iter ($iter - 1); }; # Следующий блок конвертирует usc2 в utf-8 :if ($ucs2text) do={ :set $outUtf; :local symbolsHex {"\00";"\01";"\02";"\03";"\04";"\05";"\06";"\07";"\08";"\09";"\0A";"\0B";"\0C";"\0D";"\0E";"\0F";"\10";"\11";"\12";"\13";"\14";"\15";"\16";"\17";"\18";"\19";"\1A";"\1B";"\1C";"\1D";"\1E";"\1F";"\20";"\21";"\22";"\23";"\24";"\25";"\26";"\27";"\28";"\29";"\2A";"\2B";"\2C";"\2D";"\2E";"\2F";"\30";"\31";"\32";"\33";"\34";"\35";"\36";"\37";"\38";"\39";"\3A";"\3B";"\3C";"\3D";"\3E";"\3F";"\40";"\41";"\42";"\43";"\44";"\45";"\46";"\47";"\48";"\49";"\4A";"\4B";"\4C";"\4D";"\4E";"\4F";"\50";"\51";"\52";"\53";"\54";"\55";"\56";"\57";"\58";"\59";"\5A";"\5B";"\5C";"\5D";"\5E";"\5F";"\60";"\61";"\62";"\63";"\64";"\65";"\66";"\67";"\68";"\69";"\6A";"\6B";"\6C";"\6D";"\6E";"\6F";"\70";"\71";"\72";"\73";"\74";"\75";"\76";"\77";"\78";"\79";"\7A";"\7B";"\7C";"\7D";"\7E";"\7F";"\80";"\81";"\82";"\83";"\84";"\85";"\86";"\87";"\88";"\89";"\8A";"\8B";"\8C";"\8D";"\8E";"\8F";"\90";"\91";"\92";"\93";"\94";"\95";"\96";"\97";"\98";"\99";"\9A";"\9B";"\9C";"\9D";"\9E";"\9F";"\A0";"\A1";"\A2";"\A3";"\A4";"\A5";"\A6";"\A7";"\A8";"\A9";"\AA";"\AB";"\AC";"\AD";"\AE";"\AF";"\B0";"\B1";"\B2";"\B3";"\B4";"\B5";"\B6";"\B7";"\B8";"\B9";"\BA";"\BB";"\BC";"\BD";"\BE";"\BF";"\C0";"\C1";"\C2";"\C3";"\C4";"\C5";"\C6";"\C7";"\C8";"\C9";"\CA";"\CB";"\CC";"\CD";"\CE";"\CF";"\D0";"\D1";"\D2";"\D3";"\D4";"\D5";"\D6";"\D7";"\D8";"\D9";"\DA";"\DB";"\DC";"\DD";"\DE";"\DF";"\E0";"\E1";"\E2";"\E3";"\E4";"\E5";"\E6";"\E7";"\E8";"\E9";"\EA";"\EB";"\EC";"\ED";"\EE";"\EF";"\F0";"\F1";"\F2";"\F3";"\F4";"\F5";"\F6";"\F7";"\F8";"\F9";"\FA";"\FB";"\FC";"\FD";"\FE";"\FF"}; :for curposition from=0 to=[:len $smsBody] step=4 do={ :local i [:tonum ("0x".[:pick $smsBody $curposition ($curposition +4)])]; :if ($i &lt; 0x80) do={ :set $outUtf ($outUtf.($symbolsHex-&gt;$i)); }; :if (($i &gt;= 0x80) and ($i &lt; 0x800)) do={ :local byteA (($i &gt;&gt; 6) | 192); :local byteB (($i & 63) | 128); :set $outUtf ($outUtf.($symbolsHex-&gt;$byteA).($symbolsHex-&gt;$byteB)); }; :if ($i &gt;= 0x800) do={ :local byteA (($i &gt;&gt; 12) | 224); :local byteB ((($i &gt;&gt; 6) & 63) | 128); :local byteC (($i & 63) | 128); :set $outUtf ($outUtf.($symbolsHex-&gt;$byteA).($symbolsHex-&gt;$byteB).($symbolsHex-&gt;$byteC)); }; }; } else={:set $outUtf $smsBody;}; ########## Здесь собираем тело письма в нужной последовательности ###### :set $emailBody ($emailBody."от: ".$smsTo."\r\nДата: ".$smsDate."\r\nСообщение: ".$outUtf."\r\n\r\n"); ####################################################################### # Возвращаем флаг формата sms для следующего сообщения. :set $ucs2text true; # Останавливаем цикл, если прочитано последнее сообщение } else={ :set $flagEnd false;}; }; #Отправляем письмо :if ( [:len $emailBody] &gt; 0 ) do={/tool e-mail send to=your@mail.ru subject="Mikrotik\r\nMIME-Version: 1.0\r\nContent-Type: text/plain; charset=utf-8" body=$emailBody; :delay 10s; #Удаляем все прочитанные sms :if ( [ /tool e-mail get last-status ] = "succeeded") do={/interface lte at-chat lte1 input="at+cmgd=1,2";}; }; }; #:log info "КОНЕЦ"; <br />
			<i>26.07.2019 10:18:00, pepelxl.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/86184-pomoshch-so-stsenariem-dlya-izvlecheniya-tekstovykh-soobshcheniy-iz-papki-sms./message404019</link>
			<guid>http://mikrotik.moscow/forum/forum57/86184-pomoshch-so-stsenariem-dlya-izvlecheniya-tekstovykh-soobshcheniy-iz-papki-sms./message404019</guid>
			<pubDate>Fri, 26 Jul 2019 10:18:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Помощь со сценарием для извлечения текстовых сообщений из папки SMS.</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/86184-pomoshch-so-stsenariem-dlya-izvlecheniya-tekstovykh-soobshcheniy-iz-papki-sms./message404018">Помощь со сценарием для извлечения текстовых сообщений из папки SMS.</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Изменила ваш email на почту для получения: {foreach i in=[/tool sms inbox find] do={/tool e-mail send to=your@domain.com subject=[/tool sms inbox get number=$i phone] body=[/tool sms inbox get number=$i message]; /tool sms inbox remove $i;}} <br />
			<i>22.03.2019 14:25:00, parham.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/86184-pomoshch-so-stsenariem-dlya-izvlecheniya-tekstovykh-soobshcheniy-iz-papki-sms./message404018</link>
			<guid>http://mikrotik.moscow/forum/forum57/86184-pomoshch-so-stsenariem-dlya-izvlecheniya-tekstovykh-soobshcheniy-iz-papki-sms./message404018</guid>
			<pubDate>Fri, 22 Mar 2019 14:25:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Помощь со сценарием для извлечения текстовых сообщений из папки SMS.</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/86184-pomoshch-so-stsenariem-dlya-izvlecheniya-tekstovykh-soobshcheniy-iz-papki-sms./message404017">Помощь со сценарием для извлечения текстовых сообщений из папки SMS.</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Я обнаружил, что нужно добавить, чтобы список входящих сообщений работал для приведённого выше фрагмента. Это будет выглядеть так: foreach i in=[/tool sms inbox find] do={:put [/tool sms inbox get [$i text]];} Протестировано на RouterOS 6.33.3 <br />
			<i>27.12.2015 09:17:00, wcypierre.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/86184-pomoshch-so-stsenariem-dlya-izvlecheniya-tekstovykh-soobshcheniy-iz-papki-sms./message404017</link>
			<guid>http://mikrotik.moscow/forum/forum57/86184-pomoshch-so-stsenariem-dlya-izvlecheniya-tekstovykh-soobshcheniy-iz-papki-sms./message404017</guid>
			<pubDate>Sun, 27 Dec 2015 09:17:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Помощь со сценарием для извлечения текстовых сообщений из папки SMS.</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/86184-pomoshch-so-stsenariem-dlya-izvlecheniya-tekstovykh-soobshcheniy-iz-papki-sms./message404016">Помощь со сценарием для извлечения текстовых сообщений из папки SMS.</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Привет, я пытаюсь разобраться, какие скрипты могут извлекать данные из /tool sms inbox get text messages. Я пробовал /tool sms inbox get 0 text, но не сработало. <br />
			<i>25.05.2009 09:46:00, melwong.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/86184-pomoshch-so-stsenariem-dlya-izvlecheniya-tekstovykh-soobshcheniy-iz-papki-sms./message404016</link>
			<guid>http://mikrotik.moscow/forum/forum57/86184-pomoshch-so-stsenariem-dlya-izvlecheniya-tekstovykh-soobshcheniy-iz-papki-sms./message404016</guid>
			<pubDate>Mon, 25 May 2009 09:46:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
	</channel>
</rss>
