
Keen_VivaGiga
-
Постов
46 -
Зарегистрирован
-
Посещение
Тип контента
Профили
Форумы
Галерея
Загрузки
Блоги
События
Сообщения, опубликованные Keen_VivaGiga
-
-
6 часов назад, Евгений Т сказал:
/opt/etc/asterisk/extensions.conf - тут есть опечатка [phones-wb] include => voicemail-nb (wb наверное должно быть?)
у меня первичного файла под рукой нет (только вычищенный), но я помню, что в сборке было такое, что практически всё парное (wb+nb) а какой-то модуль был один и на него ссылались оба направления.
Думаю это не является проблемой, если работает.....
-
Да как так то?
второй день после обновления прошивки роутера:
1) попробовал зайти в веб-интерфейс - минуту не открывался. (интернет вкладки проверял - всё работало)
за эту минуту запустил попытку подключиться к CLI по SSH и entware по SSH - никакой реакции.
2) заволновался - взял телефон для проверки входа через приложение. Всё работает.
3) через минуту вручную вбил http://192.168.1.1/ - и зашло отлично. Мало того - перезапуск входов по SSH так же оказался успешным.
при этом смотрю в логах на предмет ошибок - а там ничего особенного. Только штатные записи по wireguard.
Собственно вопрос: "что такое происходит с роутером, что у него SSH то принимает подключение то запрещает?"
Как проверить настройки SSH в момент "странного поведения"?
-
так приятно осознать, что то что я здесь написал читают разработчики. 😊
Обновили инструкцию https://help.keenetic.com/hc/ru/articles/4407012166674 в части изложенных выше вопросов (да и сборку обновили).
Спасибо.
-
Обновился. В entware по прежнему не пускает.
Похоже прочтение информации про entware меня не приблизили к пониманию физического смысла entware.
Сверну под HIDE мои эксперименты и умозаключения:
Скрытый текстВедь без установки entware я спокойно захожу в CLI по SSH.
(вот здесь не уверен): и далее из CLI командой exec sh по сути попадаю в ядро/прошивку самого роутера? или всё же в установленную в него операционку?
Ведь команда # uname -u даёт вывод:
Linux Keenetic_Giga 4.9-ndm-4 #2 SMP Wed Oct 20 20:46:49 MSK 2021 mips GNU/Linux
Если не было бы entware то exec sh не сработала бы?
Сам себе отвечаю на свой вопрос: нет. не сработает (достаточно вытащить флешку и повторить попытку. вместо того, чтобы отразить далее командную строку выводит KeeneticOS version 3.06.C.12.0-1, copyright (c) 2010-2021 Keenetic Ltd. и возвращается в CLI)
Значит у роутера есть правило разрешающее вход в CLI по SSH, и "неожиданно отваливается правило доступа из LAN для entware".
где искать причину?
-
Собственно проблема с неожиданным :
$ ssh 192.168.10.1 -p 22
ssh: connect to host 192.168.10.1 port 22: Connection refused
справедлива и для версии из "ast18-keenetic-entware-mipsel-2021-09-03.tar.gz" (кстати, на https://help.keenetic.com/hc/ru/articles/4407012166674 версия сборки обновилась - теперь 2021-12-09)Как обычно, остаётся доступ в CLI по SSH (если изначально передвинуть его на другой порт).
Вопрос повторю:
как понять что именно ломается? может куда-то можно посмотреть.
И как исправить? может можно "перезапустить порт entware"
Если можно - ответ в виде команд линукса (я с ним не очень дружу)
PS версию роутера не обновлял с момента разворачивания "ast18-keenetic-entware-mipsel-2021-09-03.tar.gz". Но так как "и так не работает" - сейчас обновлю роутер с 3,6,10 до 3,6,12 и сообщу - починилось ли.
-
Это не из-за обновления проблема. Она всегда появляется спустя некоторое время. Даже если не обновляться (я имею ввиду "сознательно не обновляться" - может он тихо сам себе и обновляется)
Я в этой ветке продолжу эту тему обсуждать https://forum.keenetic.ru/topic/2518-entware-3x-проблемы-с-установкой-настройки/page/18/#comments
-
нет. мало того - в ssh перестало пускать.
С - стабильность. (это я про баг)
-
Что-то мне подсказывает, что КЛИ-команда для перезагрузки модемов сработает и для прочих устройств. (но это не точно)
Ну а кнопку в интерфейсе не помешает....
-
2
-
-
Так как не всякое приложение работает из под Андроида с Астериском Кинетика поделюсь тем, что заработало у меня: PortSIP UC
и звонит отлично, и сообщения шлет (на дворе конец 2021 года)
-
1
-
-
Если кто-то будет пробегать в поиске информации по FreeBSD , то там скрипт запускается так
#sh /PATH/telega.sh "Hel ра плjdпр"
А в диалплане так:
exten => sms,n,Set(ivar=at_${STRFTIME(${EPOCH},,%Y%m%d-%H:%M:%S)}_SMS_${DONGLENUMBER}_:_${BASE64_DECODE(${SMS_BASE64})})}) exten => sms,n,System(sh /usr/local/etc/asterisk/scripts/telega.sh " ${ivar} ")
-
Собственно конструкция с которой начал, после исправления тоже работает
# wget -O - --no-check-certificate "https://api.telegram.org/bot(вырезано)/sendMessage?chat_id=(вырезано)&text=Привет мир" --2021-11-20 18:03:28-- https://api.telegram.org/bot(вырезано)/sendMessage?chat_id=(вырезано)&text=%D0%9F%D1%80%D0%B8%D0%B2%D0%B5%D1%82%20%D0%BC%D0%B8%D1%80 Resolving api.telegram.org... 149.ХХХ.ХХХ.ХХХ, 2001:ХХХ:ХХХ:ХХХ:5:100:0:a, 2001::ХХХ:ХХХ:ХХХ:3:100:0:a, ... Connecting to api.telegram.org|149.ХХХ.ХХХ.ХХХ|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 319 [application/json] Saving to: 'STDOUT' - 0%[ ] 0 --.-KB/s {"ok":true,"result":{"message_id":27,"from":{"id":123,"is_bot":true,"first_name":"@tbot6","username":"Mbot"},"chat":{"id":123,"first_name":"(вырезано)0\u0439","type":"priv- 100%[============================================>] 319 --.-KB/s in 0s 2021-11-20 18:03:29 (11.2 MB/s) - written to stdout [319/319]
-
1
-
-
нашел. не знаю правильно или нет, но работает: -o /dev/null
curl -sS -o /dev/null \ --max-time 30 \ --header 'Content-Type: application/json' \ --request 'POST' \ --data '{"chat_id": "'"${CHAT_ID}"'", "text": "'"${TEXT}"'"}' \ "https://api.telegram.org/bot${BOT_AUTH_TOKEN}/sendMessage" 2>&1
Да, такая конструкция не способствует отладке, зато вызов теперь проходит в полной "тишине"
/opt/etc/asterisk/scripts # ./telega.sh "Helloiвапорлвоп олпвра плjdпр" /opt/etc/asterisk/scripts #
Всем спасибо за помощь.
-
1
-
-
1 час назад, emptysh3ll сказал:
@my_id_bot
Спасибо!!!! Именно этого знания мне не хватало.
Написал этому боту, и в ответ получил идентификатор, который вставил в CHAT_ID="ваш_id".
И в ответ на вызов
/opt/etc/asterisk/scripts # ./telega.sh Hello
я получил (кроме сообщания на телефон) в шеле подробную информацию о заголовках и в конце:
{"ok":true,"result":{"message_id":20,"from":{"id":123,"is_bot":true,"first_name":"@tbot6","username":"bot"},"chat":{"id":123,"first_name":"\u004339","type":"private"},"date":1637910936,"text":"Hello"}}
Пробовал добавить во второй строке telega.sh строку ECHO OFF, но эту команду линукс похоже не воспринимает.
Гугл говорит , что правильнее set echo off, но результата желаемого не получается.
Решил глянуть мануал к Curl, и удивился, что в предложенных параметрах и так установлен бесшумный режим в виде -sS
Скрытый текст-s/--silent
Silent mode. Don't show progress meter or error messages. Makes Curl mute.
If this option is used twice, the second will again disable silent mode.
-S/--show-error
When used with -s it makes curl show error message if it fails.
If this option is used twice, the second will again disable show error.
И только описание второго параметра (-i) приблизило к желаемому:
Скрытый текст-i/--include
(HTTP) Include the HTTP-header in the output. The HTTP-header includes things like server-name, date of the document, HTTP-version and more...
If this option is used twice, the second will again disable header include.Убрав -i вывод уменьшился до {"ok":tru................llo"}}
Теперь думаю как и его убрать.
-
36 минут назад, emptysh3ll сказал:
Делайте отправку через curl
Для таких же как и я начинающих описываю подробно действия:
1) Устанавливаю
# opkg install curl
2) Проверяю
# curl -V curl 7.78.0 (mipsel-openwrt-linux-gnu) libcurl/7.78.0 OpenSSL/1.1.1k zlib/1.2.11 Release-Date: 2021-07-21 Protocols: file ftp ftps http https imap imaps mqtt pop3 pop3s rtsp smtp smtps tftp Features: alt-svc HSTS HTTPS-proxy IPv6 Largefile libz SSL
3) создаю файл (создавал копированием в привычном мне mc путём копирования существовавшего при установке callback-802.sh)
/opt/etc/asterisk/scripts # ls
callback-802.sh telega.sh
Права не трогал - они на файле-образце стояли нормально.4) ЗАПУСКАЮ
/opt/etc/asterisk/scripts # ./telega.sh Hello HTTP/1.1 403 Forbidden Server: nginx/1.18.0 Date: Sat, 20 Nov 2021 11:51:31 GMT Content-Type: application/json Content-Length: 88 Connection: keep-alive Strict-Transport-Security: max-age=31536000; includeSubDomains; preload Access-Control-Allow-Origin: * Access-Control-Expose-Headers: Content-Length,Content-Type,Date,Server,Connection {"ok":false,"error_code":403,"description":"Forbidden: bot can't send messages to bots"}/opt/etc/asterisk/scripts #
Уже чуть больше информации: "description":"Forbidden: bot can't send messages to bots"
Это я не верно прописал идентификаторы?:
47 минут назад, emptysh3ll сказал:CHAT_ID="ваш_id"
TEXT="$1"
BOT_AUTH_TOKEN="ваш_токен"Или в чём-то другом проблема?
-
Вот если правильно ограничить слова поиска, можно найти ответ:
В 27.06.2021 в 22:27, TheBB сказал:opkg install wget-ssl
При этом ссылка даётся на https://forum.keenetic.ru/topic/5639-wget-gnu-wget-downloading-files-on-the-protocols-http-https-ftp-and-ftps/?tab=comments#comment-64927 в которой wget-ssl вообще не упоминается.
Проверяю решение.
Версию теперь показывает:
# wget -V GNU Wget 1.21.1 built on linux-gnu.
(ранее ругалось, что не знает приставку -V)
Ну и само тестирование:
~ # wget -O - --no-check-certificate 'https://api.telegram.org/bot(вырезано)/sendMessage?chat_id=(вырезано)&text=test' --2021-11-20 11:58:53-- https://api.telegram.org/bot(вырезано)/sendMessage?chat_id=(вырезано)&text=test Resolving api.telegram.org... 149.Х.Х.Х, 2001:ХХХ:ХХХ:ХХХ:5:100:0:a, 2001:ХХХ:ХХХ:ХХХ:1:100:0:a, ... Connecting to api.telegram.org|149.ХХХ.ХХХ.ХХХ|:443... connected. WARNING: cannot verify api.telegram.org's certificate, issued by 'CN=Go Daddy Secure Certificate Authority - G2,OU=http://certs.godaddy.com/repository/,O=GoDaddy.com\\, Inc.,L=Scottsdale,ST=Arizona,C=US': Self-signed certificate encountered. HTTP request sent, awaiting response... 403 Forbidden 2021-11-20 11:58:53 ERROR 403: Forbidden.
Проблема с wget + https решена, однако сервер телеграм не хочет общаться с кинетиком.
Кто-то в курсе причины?
-
В 02.09.2020 в 21:42, Павел сказал:
Доброго времени суток.
Можно мануал по созданию Телеграмм Бота на питоне...
Попробуйте почитать
может этого для Вас будет достаточно.
-
Есть затея - прикрутить к Астериску уведомления на Телеграм.
Для этого необходима возможность через командную строку отправлять сообщения в Телеграм.
Для решения была изучена статья готовых решений
https://forum.keenetic.ru/topic/112-управление-роутером-по-telegram/
При этом мне не очень понравилась идея возможности "обратной связи с роутером" (безопасность/паранойя) сколько понравились отсылки на:
https://bitbucket.org/padavan/rt-n56u/wiki/RU/Отправка сообщений в Telegram (правда здесь не под Entware заточка)
И уже ближе к интересному пот этот подробный пост (по данной причине привожу его целиком):
В 06.01.2017 в 12:15, pitersidr сказал:Краткая инструкция: Для автоматизаций и распарсивания далее по вкусу)))
1. Написать в телеграмм пользователю @BotFather
/newbot - создать бота, попросит придумать имя и ник (ник должен содержать слово "bot")
/token - получить <API_ID>
2. Написать любоее сообщение своему боту, создать чат
3. По ссылке "https://api.telegram.org/bot<API_ID>/getUpdates" узнать <CHAT_ID> в поле "chat":"id": ХХХХХХХХ"
4. Самые простые способы
Отправить сообщение:
wget -O - --no-check-certificate "https://api.telegram.org/bott<API_ID>/sendMessage?chat_id=<CHAT_ID>&text=Привет мир"
Отправить фото (должно быть доступно по ссылке интернета):
wget -O - --no-check-certificate "https://api.telegram.org/bot<API_ID>/sendphoto?chat_id=<CHAT_ID>&photo=http://XXXXXXXXX.jpg"
Получить отправленные боту сообщения: из ссылки в пункте 2
wget -O - --no-check-certificate "https://api.telegram.org/bot<API_ID>/getUpdates"
Получить отправленную боту картинку: <file_path> - также можно узнать из ссылки в пункте 2
wget -O - --no-check-certificate "https://api.telegram.org/file/bot<API_ID>/<file_path>" <file_path> - также можно узнать из ссылки в пункте 2
Собственно именно на вызове wget у меня сейчас проблемы.
В частности вызов
wget -O - --no-check-certificate "https://api.telegram.org/bott<API_ID>/sendMessage?chat_id=<CHAT_ID>&text=Привет мир"
Сообщает об ошибке:
wget: not an http or ftp url: https://api.telegram.org/
На такую ошибку интернет говорит, что "Убедитесь, что ваш wget бинарный файл скомпилирован с поддержкой SSL."
Учитывая то, что я устанавливал wget командой opkg install wget, то скомпилировать вроде как не получится (возможно я не прав)
Подскажите пожалуйста, как отправить сообщение в Телеграм из командной строки? (роутер keenetic Giga)
В скрытом тексте помещаю ссылки на связанные темы, которые так и не получили ответа
Скрытый текстВ 15.03.2021 в 09:14, Muwahhid сказал:В 27.07.2020 в 07:15, Андрей Шибанов сказал:Конечно больше всего надежд на подсказку от Модератора:
В 04.01.2018 в 18:55, Александр Рыжов сказал:PS А ещё не ясно как на этом форуме тегать пользователей по никнейму.
-
В копилку: если модем подключить в интерфейсе интернет-центра как канал интернета, то он перестаёт отзываться в Астериске + не работают смс и уссд.
Если отключить модемный канал интернета, то USSD возобновляет работу, а вот смс - нет.
для восстановления работоспособности нужно перезагузить согласно инструкции: https://help.keenetic.com/hc/ru/articles/115000041605-Можно-ли-перезагрузить-по-питанию-USB-модем-подключенный-к-Keenetic-средствами-интернет-центра-
В моём случае это
(config)> interface UsbModem0 usb power-cycle 1000 Network::Interface::Usb: "UsbModem0": started 1000 ms. power cycle.
после перезагрузки все смс сразу пришли на СИП клиента как сообщения.
-
Делюсь рабочей сборкой диалплана для пересылки SMS и USSD в качестве сообщения SIP (PJSIP) клиенту 1005 (одновременно сохраняется в текстовый лог):
[sms_in] exten => sms,1,NoOp(Incoming_SMS from ${CALLERID(num)} ${SMS} FOR${DONGLENUMBER}) exten => sms,n,System(echo '${STRFTIME(${EPOCH},,%Y-%m-%d %H:%M:%S)} -TO${DONGLENUMBER} - ${DATACARD} - ${CALLERID(num)}: ${SMS}' >> /opt/var/log/asterisk/sms.txt) exten => sms,n,System(echo 'RAW ${STRFTIME(${EPOCH},,%Y-%m-%d %H:%M:%S)} - ${DONGLENAME} - ${CALLERID(num)} - TO${DONGLENUMBER}: ${CMGR}' >> /opt/var/log/asterisk/raw.txt) exten => sms,n,Set(MESSAGE(body)=${SMS}) exten => sms,n,Messagesend(pjsip:1005,sms_Giga1) exten => sms,n,Hangup() [ussd_in] exten => ussd,1,NoOp(Incoming_USSD ${USSD} === FROM ${DONGLENUMBER}) exten => ussd,n,System(echo "${STRFTIME(${EPOCH},,%Y-%m-%d %H:%M:%S)} = ${DONGLENUMBER} -USSD_TYPE- ${USSD_TYPE_STR} : ${USSD}" >> /opt/var/log/asterisk/ussd.txt) exten => ussd,n,System(echo "${STRFTIME(${EPOCH},,%Y-%m-%d %H:%M:%S)} = ${DONGLENUMBER} -USSD_TYPE- ${USSD_TYPE_STR} : ${BASE64_DECODE(${USSD_BASE64})}" >> /opt/var/log/asterisk/ussd_duble.txt) exten => ussd,n,NoOp("ussd_in_BeforeMessagesend") exten => ussd,n,SET(MESSAGE(body)=${USSD})}) exten => ussd,n,Messagesend(pjsip:1005,USSD_Giga1) exten => ussd,n,Hangup()
недостаток - многострочные сообщения не обрабатываются из-за отсутствия в сборке команды/ функции BASE64_DECODE. (посмотрел на просторах - вопрос не однозначный: в исходниках версии 18,8 - она есть, но как его заполучить в виде func_base64.so, который бы нормально подключился в текущую версию - ещё не понял. У меня файл от старой версии файл сообщил о несовместимости)
-
Полезности для Huawei E1550 (нарыты на просторах)
dongle show devices dongle restart now dongle sms dongle0 38099XXXXX test sms dongle ussd dongle0 *101# # Очистить память СМС # 1 память SIM dongle cmd dongle0 AT+CPMS=\"SM\",\"SM\",\"SM\" # 2 память модема dongle cmd dongle0 AT+CMGD=1,4 # Перевести модем в режим только модема () dongle cmd dongle0 AT^U2DIAG=0 (enable modem function only)
Вот только ошибку чтения никак пока побороть не могу:
ERROR[14811]: at_response.c:481 at_response_error: [dongle0] Error reading SMS message
раз 100 повторяется при перезагрузке . Правда потом - нет.
Так же столкнулся с ошибкой :
pbx_functions.c:608 ast_func_read: Function BASE64_DECODE not registered
Функция была в 11 версии Астериска, а в этой сборке чего-то нет похоже.
Ужасно полезная команда dialplan reload - ускоряет отладку диалплана
-
Продолжаю цикл "поправил то, что не работало":
Отправка сообщений между клиентами pjsip заработает, если вставить в диалплан следующие строки:
same => n,NoOp(MESSAGE_from is ${MESSAGE(from)}) same => n,Noop(MESSAGE_to ${MESSAGE(to)}) same => n,Noop(Texto = ${MESSAGE(body)}) same => n,Messagesend(pjsip:${EXTEN},${MESSAGE(from)}) same => n,Noop(MESSAGE_SEND_STATUS ${MESSAGE_SEND_STATUS}) same => n,Hangup
А вот в какое место их в extensions.conf добавлять - это на усмотрение составителя (просто пихать - нельзя).
Из неожиданностей в данной сборке: Verbose в диалплане не принимается (Хотя должно согласно версии 18,4: https://wiki.asterisk.org/wiki/display/AST/Asterisk+18+Application_Verbose). Ошибка вот такая:
pbx_extension_helper: No application 'Verbose' for
-
Так как надежда на ответ тает с каждым днем буду хоть подсказки оставлять (по вопросам, которые решил самостоятельно)
Итак, после запуска Chan_dongle (который установили самостоятельно) и втыкания "правильного модема E1550" в CLI Астериска будет вагон ошибок вида "не могу найти smsdb.sqlite3". Гугл причём вообще его так не ищет, поиск успешен только для строки целиком "/var/lib/asterisk/smsdb.sqlite3"
И в качестве решения предлагает "chown asteriskhost:asteriskhost /var/lib/asterisk/"
На самом деле нужно в файле dongle.conf в четвертой строке указать "smsdb=/opt/var/lib/asterisk/smsdb" вместо стоящего там "smsdb=/var/lib/asterisk/smsdb"
И после перезапуска астериска "core restart now" - файл smsdb.sqlite3 будет создан.
(отдельная благодарность разработчикам собиравшим Астериск - модем успешно опознался и по imei подтянулся. Даже USSD работает)
-
А ещё сообщения не настроены. (хотя может это из-за "чистки лишнего в pjsip.conf" - но маловероятно)
При попытке отправить сообщение - Астериск пытается позвонить обоим клиентам.
Вот такое в логах:
Скрытый текстERROR[29620][C-00000004]: channel.c:5653 set_format: Unable to set format because channel Message/ast_msg_queue supports no formats
ERROR[29620][C-00000004]: translate.c:1402 ast_translator_best_choice: Cannot determine best translation path since one capability supports no formats
WARNING[29620][C-00000004]: channel.c:6674 ast_channel_make_compatible_helper: No path to translate from PJSIP/1002-00000007 to Message/ast_msg_queue
WARNING[29620][C-00000004]: app_dial.c:3275 dial_exec_full: Had to drop call because I couldn't make Message/ast_msg_queue compatible with PJSIP/1002-00000007
== Spawn extension (phones-nb, 1002, 😎 exited non-zero on 'Message/ast_msg_queue' -
Из радостей в логах:
Скрытый текстERROR[29638]: netsock2.c:303 ast_sockaddr_resolve: getaddrinfo("Keenetic_Giga", "(null)", ...): Temporary failure in name resolution
WARNING[29638]: acl.c:890 resolve_first: Unable to lookup 'Keenetic_Giga'
кто подскажет чего ему не хватает?
Asterisk 18
в Вопросы по сборке и настройке Opkg
Опубликовано
так как указанных устройств у меня нет - точно не подскажу.
А искать в интернете по запросу asterisk extensions Voice Mail.
Вот Вам точка старта: https://wiki.asterisk.org/wiki/display/AST/Configuring+Voice+Mail+Boxes