<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Mikrotik.moscow [тема: Отправляйте SMS-сообщения через API LTE-модема Huawei (тестировалось на E3372)]</title>
		<link>http://mikrotik.moscow</link>
		<description>Новое в теме Отправляйте SMS-сообщения через API LTE-модема Huawei (тестировалось на E3372) форума RouterOS на сайте Mikrotik.moscow [mikrotik.moscow]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Mon, 13 Apr 2026 02:20:52 +0300</pubDate>
		<item>
			<title>Отправляйте SMS-сообщения через API LTE-модема Huawei (тестировалось на E3372)</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88731-otpravlyayte-sms_soobshcheniya-cherez-api-lte_modema-huawei-_testirovalos-na-e3372/message429810">Отправляйте SMS-сообщения через API LTE-модема Huawei (тестировалось на E3372)</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Работает с добавлением новой строки в конце после последней скобки [$recvSMS lteIP="192.168.8.1"]; Сейчас хочу записать вывод в файл для дальнейшего парсинга, чтобы отделить содержимое сообщения и использовать его как имя скрипта для команды run. <br />
			<i>23.10.2022 16:37:00, notanial.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88731-otpravlyayte-sms_soobshcheniya-cherez-api-lte_modema-huawei-_testirovalos-na-e3372/message429810</link>
			<guid>http://mikrotik.moscow/forum/forum57/88731-otpravlyayte-sms_soobshcheniya-cherez-api-lte_modema-huawei-_testirovalos-na-e3372/message429810</guid>
			<pubDate>Sun, 23 Oct 2022 16:37:00 +0300</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Отправляйте SMS-сообщения через API LTE-модема Huawei (тестировалось на E3372)</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88731-otpravlyayte-sms_soobshcheniya-cherez-api-lte_modema-huawei-_testirovalos-na-e3372/message429809">Отправляйте SMS-сообщения через API LTE-модема Huawei (тестировалось на E3372)</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Также пытался получить SMS через API LTE-модема с помощью fetch:<br />:put ([/tool fetch http-method=post output=user \<br />http-header-field=$apiHead \<br />url="http://$lteIP/api/sms/sms-list" \<br />http-data=$recvData as-value]-&gt;"data");<br />} и удалил нижний блок, но по-прежнему ничего не отображается. <br />
			<i>23.10.2022 12:17:00, notanial.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88731-otpravlyayte-sms_soobshcheniya-cherez-api-lte_modema-huawei-_testirovalos-na-e3372/message429809</link>
			<guid>http://mikrotik.moscow/forum/forum57/88731-otpravlyayte-sms_soobshcheniya-cherez-api-lte_modema-huawei-_testirovalos-na-e3372/message429809</guid>
			<pubDate>Sun, 23 Oct 2022 12:17:00 +0300</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Отправляйте SMS-сообщения через API LTE-модема Huawei (тестировалось на E3372)</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88731-otpravlyayte-sms_soobshcheniya-cherez-api-lte_modema-huawei-_testirovalos-na-e3372/message429808">Отправляйте SMS-сообщения через API LTE-модема Huawei (тестировалось на E3372)</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Да, также и содержимое, спасибо. Идея в том, что содержимое полученного SMS (номер телефона и сообщение) можно переслать по электронной почте или SMS, например. С уважением. <br />
			<i>16.01.2023 08:48:00, diamuxin.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88731-otpravlyayte-sms_soobshcheniya-cherez-api-lte_modema-huawei-_testirovalos-na-e3372/message429808</link>
			<guid>http://mikrotik.moscow/forum/forum57/88731-otpravlyayte-sms_soobshcheniya-cherez-api-lte_modema-huawei-_testirovalos-na-e3372/message429808</guid>
			<pubDate>Mon, 16 Jan 2023 08:48:00 +0300</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Отправляйте SMS-сообщения через API LTE-модема Huawei (тестировалось на E3372)</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88731-otpravlyayte-sms_soobshcheniya-cherez-api-lte_modema-huawei-_testirovalos-na-e3372/message429807">Отправляйте SMS-сообщения через API LTE-модема Huawei (тестировалось на E3372)</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			diamuxin, не уверен, писал ли ты мне на почту, к сожалению, я случайно удалил это (извини за это!). У меня сейчас много личных дел, но как только появится свободное время, проверю, смогу ли помочь. Быстрый вопрос: ты хочешь получить только список полученных смс или содержимое тоже? С уважением, Николай <br />
			<i>16.01.2023 07:52:00, dakobg.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88731-otpravlyayte-sms_soobshcheniya-cherez-api-lte_modema-huawei-_testirovalos-na-e3372/message429807</link>
			<guid>http://mikrotik.moscow/forum/forum57/88731-otpravlyayte-sms_soobshcheniya-cherez-api-lte_modema-huawei-_testirovalos-na-e3372/message429807</guid>
			<pubDate>Mon, 16 Jan 2023 07:52:00 +0300</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Отправляйте SMS-сообщения через API LTE-модема Huawei (тестировалось на E3372)</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88731-otpravlyayte-sms_soobshcheniya-cherez-api-lte_modema-huawei-_testirovalos-na-e3372/message429806">Отправляйте SMS-сообщения через API LTE-модема Huawei (тестировалось на E3372)</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Ну, я уже получил свой модем Huawei E3372h-320, который включает API для управления некоторыми функциями модема. Я протестировал следующий скрипт, и он работает корректно:<br /><br />:global sendSMS do={<br />	# Отправка SMS через API модема Huawei LTE (тестировалось на E3372)<br />	# глобальные переменные:<br />	# 	lteIP - IP-адрес LTE модема (API)<br />	# 	phone - номер телефона получателя SMS<br />	#	sms - текст SMS<br />	# пример использования<br />	#	:global sendSMS<br />	#	:put [$sendSMS lteIP="192.168.8.1" phone="+35912345678" sms="тест SMS через LTE API"]<br />	#<br /><br />	:local getBetween do={<br />		# "CuriousKiwi - mikrotik форум"<br />		# Это базовый парсер, можно использовать для XML<br />		# Принимает три параметра:<br />		# inputString - исходная строка<br />		# betweenStart - текст ПОСЛЕ которого будет возвращено значение<br />		# betweenEnd - текст ДО которого будет возвращено значение<br />		:local posStart 0;<br />		:if ([:len $betweenStart] &gt; 0) do={<br />			:set posStart [:find $inputString $betweenStart]<br />			:if ([:len $posStart] = 0) do={<br />				:set posStart 0<br />			} else={<br />				:set posStart ($posStart + [:len $betweenStart])<br />			}<br />		}<br /><br />		:local posEnd 9999;<br />		:if ([:len $betweenEnd] &gt; 0) do={<br />			:set posEnd [:find $inputString $betweenEnd]<br />			:if ([:len $posEnd] = 0) do={ :set posEnd 9999 }<br />		}<br /><br />		:local result [:pick $inputString $posStart $posEnd];<br />		:return $result;<br />	}<br /><br />	:local lteIP "192.168.8.1"<br /><br />	# получаем SessionID и Token через API модема<br />	:local urlSesTokInfo "http://$lteIP/api/webserver/SesTokInfo";<br />	:local api [/tool fetch $urlSesTokInfo output=user as-value];<br />	:local apiData &nbsp;($api-&gt;"data");<br /><br />	# парсим SessionID и Token из данных сессии API <br />	:local apiSessionID [$getBetween inputString=$apiData betweenStart="&lt;SesInfo&gt;" betweenEnd="&lt;/SesInfo&gt;"];<br />	:local apiToken [$getBetween inputString=$apiData betweenStart="&lt;TokInfo&gt;" betweenEnd="&lt;/TokInfo&gt;"];<br /><br />	# настройки заголовков и данных<br />	:local apiHead "Content-Type:application/x-www-form-urlencoded,Cookie: $apiSessionID,__RequestVerificationToken:$apiToken";<br />	:local sendData "&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;request&gt;&lt;Index&gt;-1&lt;/Index&gt;&lt;Phones&gt;&lt;Phone&gt;$phone&lt;/Phone&gt;&lt;/Phones&gt;&lt;Sca&gt;&lt;/Sca&gt;&lt;C<WBR/>&shy;ontent&gt;$sms&lt;/Content&gt;&lt;Length&gt;-1&lt;/Length&gt;&lt;Reserved&gt;1&lt;/Reserved&gt;&lt;Date&gt;-1&lt;/Date&gt;&lt;/request&gt;";<br /><br />	# отправляем SMS через LTE модем API с помощью fetch<br />	/tool fetch &nbsp;http-method=post output=user \<br />	http-header-field=$apiHead \<br />	url="http://$lteIP/api/sms/send-sms" \<br />	http-data=$sendData;<br />}<br /><br />Чтобы использовать, я ввожу в Терминале команду: &nbsp;<br />:put [$sendSMS lteIP="192.168.8.1" phone="+35912345678" sms="тест SMS через LTE API"]  <br />Всё корректно, SMS отправляется без ошибок.<br /><br />Теперь, как и мой коллега @notanial, я пытаюсь понять, как получить список полученных SMS и как их переслать по email или сохранить в файл. Использую такой скрипт:<br /><br />:global recvSMS do={<br /><br />	:local lteIP "192.168.8.1"<br />	:local getBetween do={<br /><br />		:local posStart 0;<br />		:if ([:len $betweenStart] &gt; 0) do={<br />			:set posStart [:find $inputString $betweenStart]<br />			:if ([:len $posStart] = 0) do={<br />				:set posStart 0<br />			} else={<br />				:set posStart ($posStart + [:len $betweenStart])<br />			}<br />		}<br /><br />		:local posEnd 9999;<br />		:if ([:len $betweenEnd] &gt; 0) do={<br />			:set posEnd [:find $inputString $betweenEnd]<br />			:if ([:len $posEnd] = 0) do={ :set posEnd 9999 }<br />		}<br /><br />		:local result [:pick $inputString $posStart $posEnd]<br />		:return $result<br />	}<br /><br />	# получаем SessionID и Token через API модема<br />	:local urlSesTokInfo "http://$lteIP/api/webserver/SesTokInfo"<br />	:local api [/tool fetch $urlSesTokInfo output=user as-value]<br />	:local apiData &nbsp;($api-&gt;"data")<br /><br />	# парсим SessionID и Token из данных сессии API <br />	:local apiSessionID [$getBetween inputString=$apiData betweenStart="&lt;SesInfo&gt;" betweenEnd="&lt;/SesInfo&gt;"]<br />	:local apiToken [$getBetween inputString=$apiData betweenStart="&lt;TokInfo&gt;" betweenEnd="&lt;/TokInfo&gt;"]<br /><br />	# настройки заголовков и данных<br />	:local apiHead "Content-Type:text/xml,Cookie: $apiSessionID,__RequestVerificationToken:$apiToken"<br />	:local recvData "&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;request&gt;&lt;PageIndex&gt;1&lt;/PageIndex&gt;&lt;ReadCount&gt;20&lt;/ReadCount&gt;&lt;<WBR/>&shy;BoxType&gt;1&lt;/BoxType&gt;&lt;SortType&gt;0&lt;/SortType&gt;&lt;Ascending&gt;0&lt;/Ascen<WBR/>&shy;ding&gt;&lt;UnreadPreferred&gt;1&lt;/UnreadPreferred&gt;&lt;/request&gt;"<br /><br />	# получаем SMS через LTE модем API с помощью fetch<br />	/tool fetch &nbsp;http-method=post output=user \<br /> &nbsp; &nbsp;http-header-field=$apiHead \<br /> &nbsp; &nbsp;url="http://$lteIP/api/sms/sms-list" \<br /> &nbsp; &nbsp;http-data=$recvData;<br />}<br /><br />:local arrData [ :toarray $recvSMS ]<br />:local varData ( $arrData-&gt;"data" )<br />:put [ $varData ]<br /><br />Я выполняю команду :put [$recvSMS], и получаю следующий результат:<br /><br />При одном полученном сообщении: &nbsp;<br />status: finished downloaded: 0KiB C-z pause] data: &lt;?xml version="1.0" encoding="UTF-8"?&gt; &nbsp;<br />1 0 40001 +34XXXXXXXXX Тест SMS с моего телефона 2023-01-11 13:20:26 0 0 1 \<br /><br />При трёх полученных сообщениях: &nbsp;<br />status: finished downloaded: 0KiB C-z pause] data: &lt;?xml version="1.0" encoding="UTF-8"?&gt; &nbsp;<br />3 1 40003 +34XXXXXXXXX Тест SMS с моего телефона3 2023-01-11 17:02:05 0 0 1 &nbsp;<br />1 40002 +34XXXXXXXXX Тест SMS с моего телефона2 2023-01-11 16:59:48 0 0 1 &nbsp;<br />1 40001 +34XXXXXXXXX Тест SMS с моего телефона 2023-01-11 13:20:26 0 0 1<br /><br />Есть функция, которая позволяет извлекать определённые данные из XML:<br /><br />:global getBetween do={<br /><br /> &nbsp; &nbsp; &nbsp;:local posStart 0;<br /> &nbsp; &nbsp; &nbsp;:if ([:len $betweenStart] &gt; 0) do={<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;:set posStart [:find $inputString $betweenStart]<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;:if ([:len $posStart] = 0) do={<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;:set posStart 0<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else={<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;:set posStart ($posStart + [:len $betweenStart])<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}<br /> &nbsp; &nbsp; &nbsp;}<br /><br /> &nbsp; &nbsp; &nbsp;:local posEnd 9999;<br /> &nbsp; &nbsp; &nbsp;:if ([:len $betweenEnd] &gt; 0) do={<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;:set posEnd [:find $inputString $betweenEnd]<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;:if ([:len $posEnd] = 0) do={ :set posEnd 9999 }<br /> &nbsp; &nbsp; &nbsp;}<br /><br /> &nbsp; &nbsp; &nbsp;:local result [:pick $inputString $posStart $posEnd]<br /> &nbsp; &nbsp; &nbsp;:return $result<br />}<br /><br />Суть в том, чтобы извлечь содержимое тегов &lt;Phone&gt; и &lt;Content&gt; каждого SMS с помощью этой функции, сохранить их в локальные переменные и затем переслать или записать в файл. Но я не знаю, как это сделать.<br /><br />Пробовал вот так, без успеха:<br /><br />{<br />:global getBetween<br />:execute {$recvSMS} file=sms-list.xml<br />:local ExtractedXML [/file get sms-list.xml.txt contents]<br />:local phon [$getBetween inputString=$ExtractedXML betweenStart="&lt;Phone&gt;" betweenEnd="&lt;/Phone&gt;"]<br />:local mens [$getBetween inputString=$ExtractedXML betweenStart="&lt;Content&gt;" betweenEnd="&lt;/Content&gt;"]<br />:put "$phon\t$mens"<br />}<br /><br />Кто-нибудь может помочь? Спасибо! <br />
			<i>11.01.2023 17:13:00, diamuxin.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88731-otpravlyayte-sms_soobshcheniya-cherez-api-lte_modema-huawei-_testirovalos-na-e3372/message429806</link>
			<guid>http://mikrotik.moscow/forum/forum57/88731-otpravlyayte-sms_soobshcheniya-cherez-api-lte_modema-huawei-_testirovalos-na-e3372/message429806</guid>
			<pubDate>Wed, 11 Jan 2023 17:13:00 +0300</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Отправляйте SMS-сообщения через API LTE-модема Huawei (тестировалось на E3372)</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88731-otpravlyayte-sms_soobshcheniya-cherez-api-lte_modema-huawei-_testirovalos-na-e3372/message429805">Отправляйте SMS-сообщения через API LTE-модема Huawei (тестировалось на E3372)</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Анализ кода: {<br />:local getBetween do={<br />	# Это базовый парсер, можно использовать для XML<br />	# Принимает три параметра:<br />	# inputString – основная строка<br />	# betweenStart – текст ПОСЛЕ этой точки будет возвращён<br />	# betweenEnd – текст ДО этой точки будет возвращён<br />	:local posStart 0;<br />	:if ([:len $betweenStart] &gt; 0) do={<br />		:set posStart [:find $inputString $betweenStart]<br />		:if ([:len $posStart] = 0) do={<br />			:set posStart 0<br />		} else={<br />			:set posStart ($posStart + [:len $betweenStart])<br />		}<br />	}<br /><br />	:local posEnd 9999;<br />	:if ([:len $betweenEnd] &gt; 0) do={<br />		:set posEnd [:find $inputString $betweenEnd];<br />		:if ([:len $posEnd] = 0) do={ :set posEnd 9999 }<br />	}<br /><br />	:local result [:pick $inputString $posStart $posEnd];<br />	:return $result;<br />}<br /><br />:local lteIP "192.168.8.1";<br /><br /># Получаем SessionID и Token через API LTE модема<br />:local urlSesTokInfo "http://$lteIP/api/webserver/SesTokInfo";<br />:local api [/tool fetch $urlSesTokInfo output=user as-value]; <br />:local apiData &nbsp;($api-&gt;"data");<br /><br /># Парсим SessionID и Token из данных сессии API<br />:local apiSessionID [$getBetween inputString=$apiData betweenStart="&lt;SesInfo&gt;" betweenEnd="&lt;/SesInfo&gt;"];<br />:local apiToken [$getBetween inputString=$apiData betweenStart="&lt;TokInfo&gt;" betweenEnd="&lt;/TokInfo&gt;"];<br /><br />:put $apiSessionID<br />:put " "<br />:put $apiToken<br />}<br /><br /># Результат:<br />4pO9ltivvOQXURfVlfVrHL8hUJ06Z5UBMnYNHNXXXXXXXXXXXXXXXXXXXXXX<WBR/>&shy;XXXvA8PerIyT0rJDBUpYtghj9BFjWVuAA7fE0N2IePPjD76Nef0zcCDLVU<br /><br />aJCem0vXXXXXXXXXXXXXFJcjDiij Пока всё нормально, Session и Token вытягиваются корректно. Проблема возникает, когда пытается проверить их, передавая эти данные в HTTP заголовках (см. следующий код) — что-то идёт не так, сессия не запускается как надо и выдается ошибка 100003. # настройка заголовков и данных<br />:local apiHead "Content-Type:application/x-www-form-urlencoded,Cookie: $apiSessionID,__RequestVerificationToken:$apiToken";<br />:local sendData "&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;request&gt;&lt;Index&gt;-1&lt;/Index&gt;&lt;Phones&gt;&lt;Phone&gt;$phone&lt;/Phone&gt;&lt;/Phones&gt;&lt;Sca&gt;&lt;/Sca&gt;&lt;C<WBR/>&shy;ontent&gt;$sms&lt;/Content&gt;&lt;Length&gt;-1&lt;/Length&gt;&lt;Reserved&gt;1&lt;/Reserved&gt;&lt;Date&gt;-1&lt;/Date&gt;&lt;/request&gt;";<br /><br /># отправка SMS через API LTE модема командой fetch<br />/tool fetch &nbsp;http-method=post output=user &nbsp;\<br />http-header-field=$apiHead \<br />url="http://$lteIP/api/sms/send-sms" \<br />http-data=$sendData; Посмотрим, может кто-то сталкивался с подобным на Huawei LTE/4G модемах. С уважением. <br />
			<i>25.12.2022 19:10:00, diamuxin.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88731-otpravlyayte-sms_soobshcheniya-cherez-api-lte_modema-huawei-_testirovalos-na-e3372/message429805</link>
			<guid>http://mikrotik.moscow/forum/forum57/88731-otpravlyayte-sms_soobshcheniya-cherez-api-lte_modema-huawei-_testirovalos-na-e3372/message429805</guid>
			<pubDate>Sun, 25 Dec 2022 19:10:00 +0300</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Отправляйте SMS-сообщения через API LTE-модема Huawei (тестировалось на E3372)</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88731-otpravlyayte-sms_soobshcheniya-cherez-api-lte_modema-huawei-_testirovalos-na-e3372/message429804">Отправляйте SMS-сообщения через API LTE-модема Huawei (тестировалось на E3372)</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Подтверждаю. У меня такая же ошибка скрипта. Модем Huawei E3372, версия программного обеспечения Hlink: 22.333.01.00.00, версия веб-интерфейса: 17.100.13.112.03 (17.100.13.01.03_Mod 1.12). <br />
			<i>25.12.2022 18:25:00, Sertik.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88731-otpravlyayte-sms_soobshcheniya-cherez-api-lte_modema-huawei-_testirovalos-na-e3372/message429804</link>
			<guid>http://mikrotik.moscow/forum/forum57/88731-otpravlyayte-sms_soobshcheniya-cherez-api-lte_modema-huawei-_testirovalos-na-e3372/message429804</guid>
			<pubDate>Sun, 25 Dec 2022 18:25:00 +0300</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Отправляйте SMS-сообщения через API LTE-модема Huawei (тестировалось на E3372)</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88731-otpravlyayte-sms_soobshcheniya-cherez-api-lte_modema-huawei-_testirovalos-na-e3372/message429803">Отправляйте SMS-сообщения через API LTE-модема Huawei (тестировалось на E3372)</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Я пытался отправить SMS, но это не работает: BR. <br />
			<i>22.12.2022 11:28:00, diamuxin.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88731-otpravlyayte-sms_soobshcheniya-cherez-api-lte_modema-huawei-_testirovalos-na-e3372/message429803</link>
			<guid>http://mikrotik.moscow/forum/forum57/88731-otpravlyayte-sms_soobshcheniya-cherez-api-lte_modema-huawei-_testirovalos-na-e3372/message429803</guid>
			<pubDate>Thu, 22 Dec 2022 11:28:00 +0300</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Отправляйте SMS-сообщения через API LTE-модема Huawei (тестировалось на E3372)</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88731-otpravlyayte-sms_soobshcheniya-cherez-api-lte_modema-huawei-_testirovalos-na-e3372/message429802">Отправляйте SMS-сообщения через API LTE-модема Huawei (тестировалось на E3372)</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Всем привет! У меня есть роутер Huawei B311s-220, совместимый с API для полной управляющей работы. Я проверял его на Linux Debian с Python+Pip, согласно информации из интернета, и получил кучу данных. Моя идея — использовать этот роутер/модем как резервное WAN-соединение (фейловер) и одновременно использовать функционал API для чтения и отправки SMS через другие каналы (Telegram, WhatsApp или Email). В этом посте я пока не совсем понимаю, как это сделать, так как сначала нужно принимать SMS (проверять по расписанию), а потом пересылать их другим способом. И, если возможно, отправлять SMS и с моего Mikrotik роутера. @notanial, ты уже решил скрипт для анализа полученных SMS? Кто-нибудь пробовал с этим работать? Спасибо. С уважением. <br />
			<i>22.12.2022 10:10:00, diamuxin.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88731-otpravlyayte-sms_soobshcheniya-cherez-api-lte_modema-huawei-_testirovalos-na-e3372/message429802</link>
			<guid>http://mikrotik.moscow/forum/forum57/88731-otpravlyayte-sms_soobshcheniya-cherez-api-lte_modema-huawei-_testirovalos-na-e3372/message429802</guid>
			<pubDate>Thu, 22 Dec 2022 10:10:00 +0300</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Отправляйте SMS-сообщения через API LTE-модема Huawei (тестировалось на E3372)</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88731-otpravlyayte-sms_soobshcheniya-cherez-api-lte_modema-huawei-_testirovalos-na-e3372/message429801">Отправляйте SMS-сообщения через API LTE-модема Huawei (тестировалось на E3372)</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Было бы здорово дополнительно реализовать разбор всего файла с проверкой номера телефона отправителя и парсить только его содержимое с условием, что время системы не старше одной минуты, что совпадает с временем запуска скрипта по планировщику. <br />
			<i>23.10.2022 18:26:00, notanial.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88731-otpravlyayte-sms_soobshcheniya-cherez-api-lte_modema-huawei-_testirovalos-na-e3372/message429801</link>
			<guid>http://mikrotik.moscow/forum/forum57/88731-otpravlyayte-sms_soobshcheniya-cherez-api-lte_modema-huawei-_testirovalos-na-e3372/message429801</guid>
			<pubDate>Sun, 23 Oct 2022 18:26:00 +0300</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Отправляйте SMS-сообщения через API LTE-модема Huawei (тестировалось на E3372)</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88731-otpravlyayte-sms_soobshcheniya-cherez-api-lte_modema-huawei-_testirovalos-na-e3372/message429800">Отправляйте SMS-сообщения через API LTE-модема Huawei (тестировалось на E3372)</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Третий скрипт:<br /><br />:local getBetween do={<br />	:local posStart 0;<br />	:if ([:len $betweenStart] &gt; 0) do={<br />		:set posStart [:find $inputString $betweenStart]<br />		:if ([:len $posStart] = 0) do={<br />			:set posStart 0<br />		} else={<br />			:set posStart ($posStart + [:len $betweenStart])<br />		}<br />	}<br /><br />	:local posEnd 9999;<br />	:if ([:len $betweenEnd] &gt; 0) do={<br />		:set posEnd [:find $inputString $betweenEnd];<br />		:if ([:len $posEnd] = 0) do={ :set posEnd 9999 }<br />	}<br /><br />	:local result [:pick $inputString $posStart $posEnd];<br />	:return $result;<br />}<br /><br />:local statusXML [/file get recvSMS1.xml.txt contents];<br /><br />:if ([:len $statusXML] &gt; 50) do={<br />	:local script ([$getBetween inputString=$statusXML betweenStart="&lt;Content&gt;" betweenEnd="&lt;/Content&gt;"]);<br />	<br />	system/script/run $script<br />} <br /><br />Но он берет только последнее сообщение, потому что в параметре recvData я указал: &lt;ReadCount&gt;1&lt;/ReadCount&gt;. Я не знаю, как распарсить все сообщения в XML. <br />
			<i>23.10.2022 18:08:00, notanial.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88731-otpravlyayte-sms_soobshcheniya-cherez-api-lte_modema-huawei-_testirovalos-na-e3372/message429800</link>
			<guid>http://mikrotik.moscow/forum/forum57/88731-otpravlyayte-sms_soobshcheniya-cherez-api-lte_modema-huawei-_testirovalos-na-e3372/message429800</guid>
			<pubDate>Sun, 23 Oct 2022 18:08:00 +0300</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Отправляйте SMS-сообщения через API LTE-модема Huawei (тестировалось на E3372)</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88731-otpravlyayte-sms_soobshcheniya-cherez-api-lte_modema-huawei-_testirovalos-na-e3372/message429799">Отправляйте SMS-сообщения через API LTE-модема Huawei (тестировалось на E3372)</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Добавив новый скрипт: {<br />:local a [/system script get recvSMS1 source]<br />:local outFile "recvSMS1.xml"<br />execute script=$a file=$outFile<br />} я получил файл recvSMS1.xml.txt с нужным содержимым, как в bash-скрипте. Не мог бы кто-нибудь помочь написать скрипт для парсинга XML, чтобы вытащить текст внутри wol_pc и вставить его в команду /script/run/ wol_pc (скрипт с именем «wol_pc» уже существует)? <br />
			<i>23.10.2022 17:00:00, notanial.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88731-otpravlyayte-sms_soobshcheniya-cherez-api-lte_modema-huawei-_testirovalos-na-e3372/message429799</link>
			<guid>http://mikrotik.moscow/forum/forum57/88731-otpravlyayte-sms_soobshcheniya-cherez-api-lte_modema-huawei-_testirovalos-na-e3372/message429799</guid>
			<pubDate>Sun, 23 Oct 2022 17:00:00 +0300</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Отправляйте SMS-сообщения через API LTE-модема Huawei (тестировалось на E3372)</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88731-otpravlyayte-sms_soobshcheniya-cherez-api-lte_modema-huawei-_testirovalos-na-e3372/message429798">Отправляйте SMS-сообщения через API LTE-модема Huawei (тестировалось на E3372)</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Я протестировал bash-скрипт для получения содержимого SMS в формате XML:<br /><br />#!/bin/bash<br /><br />DATA=`curl <noindex><a href="http://192.168.8.1/api/webserver/SesTokInfo`" target="_blank" rel="nofollow" >http://192.168.8.1/api/webserver/SesTokInfo`</a></noindex><br />SESSION_ID=`echo "$DATA" | grep "SessionID=" | cut -b 10-147`<br />TOKEN=`echo "$DATA" | grep "TokInfo" | cut -b 10-41`<br /><br />curl <noindex><a href="http://192.168.8.1/api/sms/sms-list" target="_blank" rel="nofollow" >http://192.168.8.1/api/sms/sms-list</a></noindex> -H "Cookie: $SESSION_ID" -H "__RequestVerificationToken: $TOKEN" --data \<br />"&lt;?xml version='1.0' encoding='UTF-8'?&gt; \<br />&lt;request&gt; \<br />&lt;PageIndex&gt;1&lt;/PageIndex&gt; \<br />&lt;ReadCount&gt;20&lt;/ReadCount&gt; \<br />&lt;BoxType&gt;1&lt;/BoxType&gt; \<br />&lt;SortType&gt;0&lt;/SortType&gt; \<br />&lt;Ascending&gt;0&lt;/Ascending&gt; \<br />&lt;UnreadPreferred&gt;0&lt;/UnreadPreferred&gt; \<br />&lt;/request&gt;"<br /><br />Результат:<br /><br />% Total &nbsp; &nbsp;% Received % Xferd &nbsp;Average Speed &nbsp; Time &nbsp; &nbsp;Time &nbsp; &nbsp; Time &nbsp;Current<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Dload &nbsp;Upload &nbsp; Total &nbsp; Spent &nbsp; &nbsp;Left &nbsp;Speed<br />100 &nbsp; 277 &nbsp;100 &nbsp; 277 &nbsp; &nbsp;0 &nbsp; &nbsp; 0 &nbsp; 3186 &nbsp; &nbsp; &nbsp;0 --:--:-- --:--:-- --:--:-- &nbsp;3220<br />&lt;?xml version="1.0" encoding="utf-8"?&gt;<br />&lt;response&gt;<br /> &nbsp; &nbsp; &nbsp; &nbsp;&lt;Count&gt;1&lt;/Count&gt;<br /> &nbsp; &nbsp; &nbsp; &nbsp;&lt;Messages&gt;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&lt;Message&gt;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&lt;Smstat&gt;1&lt;/Smstat&gt;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&lt;Index&gt;40002&lt;/Index&gt;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&lt;Phone&gt;lifecell&lt;/Phone&gt;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&lt;Content&gt;SMS TEXT.... &lt;/Content&gt;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&lt;Date&gt;2022-10-18 22:02:41&lt;/Date&gt;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&lt;Sca&gt;&lt;/Sca&gt;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&lt;SaveType&gt;4&lt;/SaveType&gt;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&lt;Priority&gt;0&lt;/Priority&gt;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&lt;SmsType&gt;2&lt;/SmsType&gt;<br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&lt;/Message&gt;<br /> &nbsp; &nbsp; &nbsp; &nbsp;&lt;/Messages&gt;<br />&lt;/response&gt;<br /><br />Пытаюсь воспроизвести то же самое в терминале Mikrotik:<br /><br />:global recvSMS do={<br /><br />:local getBetween do={<br />	# Это простой парсер, можно использовать для XML<br />	# Он принимает три параметра:<br />	# inputString - основная строка<br />	# betweenStart - текст ПОСЛЕ этой части возвращается<br />	# betweenEnd - текст ДО этой части возвращается<br />	:local posStart 0;<br />	:if ([:len $betweenStart] &gt; 0) do={<br />		:set posStart [:find $inputString $betweenStart]<br />		:if ([:len $posStart] = 0) do={<br />			:set posStart 0<br />		} else={<br />			:set posStart ($posStart + [:len $betweenStart])<br />		}<br />	}<br /><br />	:local posEnd 9999;<br />	:if ([:len $betweenEnd] &gt; 0) do={<br />		:set posEnd [:find $inputString $betweenEnd];<br />		:if ([:len $posEnd] = 0) do={ :set posEnd 9999 }<br />	}<br /><br />	:local result [:pick $inputString $posStart $posEnd];<br />	:return $result;<br />}<br /><br /># Получаем SessionID и Token через API LTE-мода<br />:local urlSesTokInfo "http://$lteIP/api/webserver/SesTokInfo";<br />:local api [/tool fetch $urlSesTokInfo output=user as-value]; <br />:local apiData &nbsp;($api-&gt;"data");<br /><br />:local lteIP "192.168.8.1";<br /><br /># Парсим SessionID и Token из данных сессии API <br />:local apiSessionID [$getBetween inputString=$apiData betweenStart="&lt;SesInfo&gt;" betweenEnd="&lt;/SesInfo&gt;"];<br />:local apiToken [$getBetween inputString=$apiData betweenStart="&lt;TokInfo&gt;" betweenEnd="&lt;/TokInfo&gt;"];<br /><br /># Заголовки и конфигурация данных<br />:local apiHead "Content-Type:application/x-www-form-urlencoded,Cookie: $apiSessionID,__RequestVerificationToken:$apiToken";<br />:local recvData "&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;request&gt;&lt;PageIndex&gt;1&lt;/PageIndex&gt;&lt;ReadCount&gt;20&lt;/ReadCount&gt;&lt;<WBR/>&shy;BoxType&gt;1&lt;/BoxType&gt;&lt;SortType&gt;0&lt;/SortType&gt;&lt;Ascending&gt;0&lt;/Ascen<WBR/>&shy;ding&gt;&lt;UnreadPreferred&gt;0&lt;/UnreadPreferred&gt;&lt;/request&gt;";<br /><br /># Получаем SMS через API LTE-мода с помощью fetch<br />/tool fetch &nbsp;http-method=post output=user &nbsp;\<br />http-header-field=$apiHead \<br />url="http://$lteIP/api/sms/sms-list" \<br />http-data=$recvData;<br />}<br /><br />:local arrData [ :toarray $recvSMS ];<br />:local varData ( $arrData-&gt;"data" );<br />:put [ $varData ];<br /><br />И при этом ничего не получаю:<br /><br />[admin@gateway] &gt; system/script/run recvSMS1<br /><br />[admin@gateway] &gt; Что я упустил? <br />
			<i>23.10.2022 10:57:00, notanial.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88731-otpravlyayte-sms_soobshcheniya-cherez-api-lte_modema-huawei-_testirovalos-na-e3372/message429798</link>
			<guid>http://mikrotik.moscow/forum/forum57/88731-otpravlyayte-sms_soobshcheniya-cherez-api-lte_modema-huawei-_testirovalos-na-e3372/message429798</guid>
			<pubDate>Sun, 23 Oct 2022 10:57:00 +0300</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Отправляйте SMS-сообщения через API LTE-модема Huawei (тестировалось на E3372)</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88731-otpravlyayte-sms_soobshcheniya-cherez-api-lte_modema-huawei-_testirovalos-na-e3372/message429797">Отправляйте SMS-сообщения через API LTE-модема Huawei (тестировалось на E3372)</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Кто-нибудь может написать скрипт для чтения SMS с LTE-модема? <br />
			<i>22.10.2022 20:25:00, notanial.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88731-otpravlyayte-sms_soobshcheniya-cherez-api-lte_modema-huawei-_testirovalos-na-e3372/message429797</link>
			<guid>http://mikrotik.moscow/forum/forum57/88731-otpravlyayte-sms_soobshcheniya-cherez-api-lte_modema-huawei-_testirovalos-na-e3372/message429797</guid>
			<pubDate>Sat, 22 Oct 2022 20:25:00 +0300</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Отправляйте SMS-сообщения через API LTE-модема Huawei (тестировалось на E3372)</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88731-otpravlyayte-sms_soobshcheniya-cherez-api-lte_modema-huawei-_testirovalos-na-e3372/message429796">Отправляйте SMS-сообщения через API LTE-модема Huawei (тестировалось на E3372)</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Нашёл решение в скрипте другого автора. <br />
			<i>22.10.2022 20:08:00, notanial.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88731-otpravlyayte-sms_soobshcheniya-cherez-api-lte_modema-huawei-_testirovalos-na-e3372/message429796</link>
			<guid>http://mikrotik.moscow/forum/forum57/88731-otpravlyayte-sms_soobshcheniya-cherez-api-lte_modema-huawei-_testirovalos-na-e3372/message429796</guid>
			<pubDate>Sat, 22 Oct 2022 20:08:00 +0300</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Отправляйте SMS-сообщения через API LTE-модема Huawei (тестировалось на E3372)</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88731-otpravlyayte-sms_soobshcheniya-cherez-api-lte_modema-huawei-_testirovalos-na-e3372/message429795">Отправляйте SMS-сообщения через API LTE-модема Huawei (тестировалось на E3372)</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Привет. Я только начинаю разбираться со скриптами. Не могу понять, что нужно изменить (раскомментировать), чтобы всё заработало? <br />
			<i>22.10.2022 18:13:00, notanial.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88731-otpravlyayte-sms_soobshcheniya-cherez-api-lte_modema-huawei-_testirovalos-na-e3372/message429795</link>
			<guid>http://mikrotik.moscow/forum/forum57/88731-otpravlyayte-sms_soobshcheniya-cherez-api-lte_modema-huawei-_testirovalos-na-e3372/message429795</guid>
			<pubDate>Sat, 22 Oct 2022 18:13:00 +0300</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Отправляйте SMS-сообщения через API LTE-модема Huawei (тестировалось на E3372)</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88731-otpravlyayte-sms_soobshcheniya-cherez-api-lte_modema-huawei-_testirovalos-na-e3372/message429794">Отправляйте SMS-сообщения через API LTE-модема Huawei (тестировалось на E3372)</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Нет, мне такой скрипт не нужен, но думаю, что будет что-то похожее. Скорее всего, тебе нужно настроить чтение новых SMS, приходящих по LTE, и что-то сделать на RouterOS. Только если будешь пробовать, обязательно добавь проверку номера отправителя, чтобы ограничить его одним конкретным номером... Думаю, объяснять, зачем это нужно, не стоит. <br />
			<i>11.12.2021 23:33:00, dakobg.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88731-otpravlyayte-sms_soobshcheniya-cherez-api-lte_modema-huawei-_testirovalos-na-e3372/message429794</link>
			<guid>http://mikrotik.moscow/forum/forum57/88731-otpravlyayte-sms_soobshcheniya-cherez-api-lte_modema-huawei-_testirovalos-na-e3372/message429794</guid>
			<pubDate>Sat, 11 Dec 2021 23:33:00 +0300</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Отправляйте SMS-сообщения через API LTE-модема Huawei (тестировалось на E3372)</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88731-otpravlyayte-sms_soobshcheniya-cherez-api-lte_modema-huawei-_testirovalos-na-e3372/message429793">Отправляйте SMS-сообщения через API LTE-модема Huawei (тестировалось на E3372)</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Отлично работает! У вас случайно нет скрипта для приёма SMS? <br />
			<i>09.12.2021 18:45:00, gustavganzz.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88731-otpravlyayte-sms_soobshcheniya-cherez-api-lte_modema-huawei-_testirovalos-na-e3372/message429793</link>
			<guid>http://mikrotik.moscow/forum/forum57/88731-otpravlyayte-sms_soobshcheniya-cherez-api-lte_modema-huawei-_testirovalos-na-e3372/message429793</guid>
			<pubDate>Thu, 09 Dec 2021 18:45:00 +0300</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Отправляйте SMS-сообщения через API LTE-модема Huawei (тестировалось на E3372)</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88731-otpravlyayte-sms_soobshcheniya-cherez-api-lte_modema-huawei-_testirovalos-na-e3372/message429792">Отправляйте SMS-сообщения через API LTE-модема Huawei (тестировалось на E3372)</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Привет! Этот скрипт отправляет SMS через API USB LTE модема Huawei с помощью tool/fetch (тестировалось на E3372). Надеюсь, будет полезен.<br /><br />github: <noindex><a href="https://github.com/NikolayDachev/RouterOS/blob/master/ros_scripts/sendSMS.txt" target="_blank" rel="nofollow" >https://github.com/NikolayDachev/RouterOS/blob/master/ros_scripts/sendSMS.txt</a></noindex><br /><br />:global sendSMS do={<br />	# Отправка SMS через API LTE модема Huawei (тестировалось на E3372)<br />	# глобальные переменные:<br />	# 	lteIP - IP-адрес LTE модема (для API)<br />	# 	phone - номер телефона получателя SMS<br />	# 	sms - текст SMS<br />	# пример использования<br />	#	:global sendSMS<br />	#	:put [$sendSMS lteIP="192.168.8.1" phone="+35912345678" sms="тестовое сообщение через LTE API"]<br />	#<br /><br />	:local getBetween do={<br />		# "CuriousKiwi - форум Mikrotik"<br />		# Простой парсер, можно использовать для XML<br />		# Принимает три параметра:<br />		# inputString - исходная строка<br />		# betweenStart - текст ПОСЛЕ которого надо взять данные<br />		# betweenEnd - текст ДО которого надо взять данные<br />		:local posStart 0;<br />		:if ([:len $betweenStart] &gt; 0) do={<br />			:set posStart [:find $inputString $betweenStart]<br />			:if ([:len $posStart] = 0) do={<br />				:set posStart 0<br />			} else={<br />				:set posStart ($posStart + [:len $betweenStart])<br />			}<br />		}<br /><br />		:local posEnd 9999;<br />		:if ([:len $betweenEnd] &gt; 0) do={<br />			:set posEnd [:find $inputString $betweenEnd];<br />			:if ([:len $posEnd] = 0) do={ :set posEnd 9999 }<br />		}<br /><br />		:local result [:pick $inputString $posStart $posEnd];<br />		:return $result;<br />	}<br /><br />	# Получаем SessionID и Token через API LTE модема<br />	:local urlSesTokInfo "http://$lteIP/api/webserver/SesTokInfo";<br />	:local api [/tool fetch $urlSesTokInfo output=user as-value]; <br />	:local apiData &nbsp;($api-&gt;"data");<br /><br />	# Парсим SessionID и Token из данных сессии API<br />	:local apiSessionID [$getBetween inputString=$apiData betweenStart="&lt;SesInfo&gt;" betweenEnd="&lt;/SesInfo&gt;"];<br />	:local apiToken [$getBetween inputString=$apiData betweenStart="&lt;TokInfo&gt;" betweenEnd="&lt;/TokInfo&gt;"];<br /><br />	# Формируем заголовки и данные запроса<br />	:local apiHead "Content-Type:application/x-www-form-urlencoded,Cookie: $apiSessionID,__RequestVerificationToken:$apiToken";<br />	:local sendData "&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;&lt;request&gt;&lt;Index&gt;-1&lt;/Index&gt;&lt;Phones&gt;&lt;Phone&gt;$phone&lt;/Phone&gt;&lt;/Phones&gt;&lt;Sca&gt;&lt;/Sca&gt;&lt;C<WBR/>&shy;ontent&gt;$sms&lt;/Content&gt;&lt;Length&gt;-1&lt;/Length&gt;&lt;Reserved&gt;1&lt;/Reserved&gt;&lt;Date&gt;-1&lt;/Date&gt;&lt;/request&gt;";<br /><br />	# Отправляем SMS через API LTE модема с помощью fetch<br />	/tool fetch &nbsp;http-method=post output=user &nbsp;\<br />	http-header-field=$apiHead \<br />	url="http://$lteIP/api/sms/send-sms" \<br />	http-data=$sendData;<br />} <br />
			<i>27.09.2020 19:23:00, dakobg.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88731-otpravlyayte-sms_soobshcheniya-cherez-api-lte_modema-huawei-_testirovalos-na-e3372/message429792</link>
			<guid>http://mikrotik.moscow/forum/forum57/88731-otpravlyayte-sms_soobshcheniya-cherez-api-lte_modema-huawei-_testirovalos-na-e3372/message429792</guid>
			<pubDate>Sun, 27 Sep 2020 19:23:00 +0300</pubDate>
			<category>RouterOS</category>
		</item>
	</channel>
</rss>
