Перейти к содержанию

Keen_VivaGiga

Участники форума
  • Постов

    46
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные Keen_VivaGiga

  1. В 16.12.2021 в 15:54, Vitaly Chuyakov сказал:

    Подскажите пожалуйста, каким образом правильно настроить внешнюю линию (условно Мультифон) на автоматическое включение автоответчика без голосового помощника предлагающего указать внутренний номер абонента?

    так как указанных устройств у меня нет - точно не подскажу. 
    А искать в интернете по запросу asterisk extensions Voice Mail.

    Вот Вам точка старта: https://wiki.asterisk.org/wiki/display/AST/Configuring+Voice+Mail+Boxes

  2. 6 часов назад, Евгений Т сказал:

    /opt/etc/asterisk/extensions.conf - тут есть опечатка [phones-wb] include => voicemail-nb (wb наверное должно быть?)

    у меня первичного файла под рукой нет (только вычищенный), но я помню, что в сборке было такое, что практически всё парное (wb+nb) а какой-то модуль был один и на него ссылались оба направления.

     

    Думаю это не является проблемой, если работает.....

  3. Да как так то?

    второй день после обновления прошивки роутера:

    1) попробовал зайти в веб-интерфейс - минуту не открывался. (интернет вкладки проверял - всё работало)

    за эту минуту запустил попытку подключиться к CLI по SSH и entware по SSH - никакой реакции.

    2) заволновался - взял телефон для проверки входа через приложение. Всё работает.

    3) через минуту  вручную вбил http://192.168.1.1/ - и зашло отлично. Мало того - перезапуск входов по SSH так же оказался успешным.

    при этом смотрю в логах на предмет ошибок - а там ничего особенного. Только штатные записи по wireguard.

     

    Собственно вопрос: "что такое происходит с роутером, что у него SSH то принимает подключение то запрещает?"

    Как проверить настройки SSH в момент "странного поведения"?

  4. Обновился. В 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". 

    где искать причину?

     

     

  5. Собственно проблема с неожиданным :

    $ 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 и сообщу - починилось ли.

  6. Это не из-за обновления проблема. Она всегда появляется спустя некоторое время. Даже если не обновляться (я имею ввиду "сознательно не обновляться" - может он тихо сам себе и обновляется)

    Я в этой ветке продолжу эту тему обсуждать https://forum.keenetic.ru/topic/2518-entware-3x-проблемы-с-установкой-настройки/page/18/#comments

     

  7. Что-то мне подсказывает, что КЛИ-команда для перезагрузки модемов сработает и для прочих устройств. (но это не точно)

    Ну а кнопку в интерфейсе не помешает....

    • Лайк 2
  8. Если кто-то будет пробегать в поиске информации по 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} ")

     

  9. Собственно конструкция с которой начал, после исправления тоже работает

    # 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
  10. нашел.  не знаю правильно или нет, но работает: -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
  11. 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"}}

    Теперь думаю как и его убрать.

     

  12. 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="ваш_токен"

    Или в чём-то другом проблема? 
     

  13. Вот если правильно ограничить слова поиска, можно найти ответ:

    В 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 решена, однако сервер телеграм не хочет общаться с кинетиком.

    Кто-то в курсе причины?

     

     

     

  14. Есть затея - прикрутить к Астериску уведомления на Телеграм.

    Для этого необходима возможность через командную строку отправлять сообщения в Телеграм.

    Для решения была изучена статья готовых решений 

    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 А ещё не ясно как на этом форуме тегать пользователей по никнейму.

     

     

  15. В копилку: если модем подключить в интерфейсе интернет-центра как канал интернета, то он перестаёт отзываться в Астериске + не работают смс и уссд.

    Если отключить модемный канал интернета, то 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.

    после перезагрузки все смс сразу пришли на СИП клиента как сообщения.

  16. Делюсь рабочей сборкой диалплана для пересылки 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, который бы нормально подключился в текущую версию - ещё не понял. У меня файл от старой версии файл сообщил о несовместимости)

  17. Полезности для 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 - ускоряет отладку диалплана 

     

  18. Продолжаю цикл "поправил то, что не работало":

    Отправка сообщений между клиентами 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  

  19. Так как надежда на ответ тает с каждым днем буду хоть подсказки оставлять (по вопросам, которые решил самостоятельно)

    Итак, после запуска 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 работает)

     

  20. А ещё сообщения не настроены. (хотя может это из-за "чистки лишнего в 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'

     

×
×
  • Создать...

Важная информация

На этом сайте используются файлы cookie. Нажимая "Я принимаю" или продолжая просмотр сайта, вы разрешаете их использование: Политика конфиденциальности.