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

Рекомендуемые сообщения

  • Ответов 178
  • Создана
  • Последний ответ

Топ авторов темы

Опубликовано

Новая версия инсталлятора Asterisk:
keenetic-asterisk-installer-20260625.tar.gz
keenetic-asterisk-installer-guide-20260625.pdf

Добавлен механизм, который разводит процессы ndm и asterisk по разным виртуальным последовательным портам модема, чтобы не мешали друг другу. Asterisk должен корректно переподключать модем после переключения между SIM1 и SIM2.

Перед установкой новой версии Asterisk удалите существующую версию скриптом "remove-asterisk". На всякий случай, выкладываю его снова. Он входит в состав прилагаемой версии.

keenetic-asterisk-installer-guide-20260625.pdf keenetic-asterisk-installer-20260625.tar.gz remove-asterisk

Опубликовано (изменено)
17 часов назад, sips сказал:

Добавлен механизм,

При этом похоже сломался механизм решающий нам проблему залипания Dialing:

  Calls/Channels          : 1
    Active                : 0
    Held                  : 0
    Dialing               : 1
    Alerting              : 0
    Incoming              : 0
    Waiting               : 0
    Releasing             : 0
    Initializing          : 0

[Jun 26 11:56:20] ERROR[32343]: src/at_response.c:836 at_response_error: [quectel0][AT+CHUP] ⍻ Error sending hangup for call idx:0
[Jun 26 11:56:42] ERROR[32343]: src/at_response.c:836 at_response_error: [quectel0][AT+CHUP] ⍻ Error sending hangup for call idx:0
[Jun 26 11:57:04] ERROR[32343]: src/at_response.c:836 at_response_error: [quectel0][AT+CHUP] ⍻ Error sending hangup for call idx:0

 

 

Изменено пользователем mesb
Опубликовано (изменено)

Руками он тоже не алё

Netcraze-3085*CLI> quectel cmd quectel0 "at+chup"
[quectel0] 'at+chup' AT command queued
  == [quectel0][USER] ← [ERROR][ERROR]

 

 

П.C.

До обновления модуля пока затащил опять свои скрипты отсюда:

 

Для новичков - посути ждём до момента пока астер сам положит трубку после фразы на английском что не возможно позвонить - тогда активируется перезауск куектел модуля который раздупляет модем.

Изменено пользователем mesb
Опубликовано
3 hours ago, mesb said:

залипания Dialing

Найдите в /opt/etc/asterisk/extensions.conf и замените в нем экстеншен "mobile-outgoing" на это:
 

;=============== Outgoing mobile calls ===============
[mobile-outgoing]
exten => _x.,1,NoOp()
same => n,Set(MODEM_STATE=${SHELL(asterisk -rx "quectel show device state quectel0" | grep "State" | cut -d : -f 2 | sed 's/^ //')})
same => n,Set(IS_READY=${REGEX("Free" ${MODEM_STATE})})
same => n,GotoIf($[${IS_READY} = 1]?dialing:unavailable)

same => n(dialing),Set(VOLUME(TX)=0)
same => n,Set(VOLUME(RX)=0)
;same => n,MixMonitor(/tmp/mnt/USBDISK/asterisk/records/${CALLERID(num)}-${ARG1:2}_${STRFTIME(${EPOCH},/opt/share/zoneinfo/Europe/Moscow,%y%m%d-%H%M)}.wav,b) ;<------ Call recording
same => n,Progress()
same => n,Dial(Quectel/quectel0/${EXTEN},30,R)
same => n,Hangup()

same => n(unavailable),NoOp(LTE Modem is not ready! Status: ${MODEM_STATE})
same => n,Playback(calling&vm-isunavail&please-try-call-later)
same => n,Wait(1)
same => n,Hangup()

Затем перезагрузите ядро "core restart now".
После перезагрузки попробуйте снова позвонить на 0890. Проверьте, появились ли голосовые сообщения.

Опубликовано (изменено)
2 часа назад, sips сказал:

После перезагрузки попробуйте снова позвонить на 0890. Проверьте, появились ли голосовые сообщения.

Есесно не сработало. Нет проблемы в голосовых сообщениях.

Проблема выглядит словно этой версии модуль больше не может пиннуть модем через ат команду спустя 20 секунд залипания в Dialing.

Netcraze-3085*CLI> quectel show device state quectel0
-------------- Status -------------
  Device                  : quectel0
  State                   : Dialing
  Audio UAC               : hw:CARD=Asrmicro
  Data                    : ttyUSB1
  Voice                   : Yes
  SMS                     : No
  Manufacturer            : SIMCOM INCORPORATED
  Model                   : A7908E-M2

[Jun 26 16:15:40] ERROR[14212]: src/at_response.c:836 at_response_error: [quectel0][AT+CHUP] ⍻ Error sending hangup for call idx:0

 

Изменено пользователем mesb
Опубликовано
1 hour ago, mesb said:

Нет проблемы в голосовых сообщениях.

same => n,Progress()

same => n,Dial(Quectel/quectel0/${EXTEN},30,R)

Эти изменения в "mobile-outgoing" позволяют принимать аудио до ответа на вызов (Early Media). Если вы их применили, то во время звонка на номер 0890 могут появиться голосовые сообщения. Хорошо бы проверить, появились ли сообщения и послушать, о чем говорят.

Я не могу воспроизвести зависшие звонки с Beeline и MTS: при звонках на невалидные номера звучат сообщения о неправильно набранном номере и т.п., затем звонок корректно завершается. Протестировать с Megafon в  ближайшее время не смогу. Если возможно, пришлите отладочный лог зависшего звонка из консоли Asterisk. Для этого зайдите в консоль Asterisk командой “asterisk -rvvvvdd” позвоните 0890, подождите минуту, завершите звонок на телефоне, сохраните весь консольный вывод в файл и пришлите его мне. Возможно, c отладочным логом удастся понять, что происходит.

Кстати, проверьте, сбрасывается ли зависший звонок командой “channel request hangup all”.

 

Опубликовано
48 минут назад, sips сказал:

Эти изменения в "mobile-outgoing" позволяют принимать аудио до ответа на вызов (Early Media). Если вы их применили, то во время звонка на номер 0890 могут появиться голосовые сообщения. Хорошо бы проверить, появились ли сообщения и послушать, о чем говорят.

Ничего не слышал, телефон провисел там 30 сек и его отбило.

В скрытом сообщении приаттачил вывод с консоли.

Опубликовано
57 минут назад, sips сказал:

Протестировать с Megafon в  ближайшее время не смогу.

Если это поможет, то давайте я вам удалённый доступ организую до одного из таких кинов.

Опубликовано

 

В 25.06.2026 в 18:48, sips сказал:

keenetic-asterisk-installer-guide-20260625.pdf

Прошу прощения за занудство, но, кажется, почти в самом начале инструкции из версии в версию кочует очепятка с номерами 2000...2009 (в 2000 потерялся нолик):

Цитата

внутренние номера 1000..1009, 200..2009 для подключения IP-телефонов,

 

Лирическое отступление:

Спойлер

От покупки в личное пользование 2312 сдерживает в основном наблюдение за рабочим Хоппером 4G+ - при слабом сигнале модем переустанавливает соединение по нескольку раз в день :(  Симка "трактористов", если это важно. Ни на работе, ни в личном использовании в общем-то мобильный канал связи как резервный для передач данных использовать не в приоритете (тем более, что мобильный интернет "режут" в первую очередь). На работе главной задачей модема будет отправлять sms-ки через REST-API. На домашнем же хотелось бы настроить Астериск, чтобы один sip-клиент (смартфон) звонил/принимал звонки по VoLTE, и чтобы была связь между несколькими sip-клиентами - в общем-то то, что в последних выложенных версиях, как я понял, и сделано.

Может быть подскажете, что можно предпринять, чтобы хотя бы уменьшить количество таких перезагрузок модема? Сегодня постараюсь возле рабочего 2312 посмотреть смартфоном через Netmonitor уровни сигнала парочки других операторов.

260629-2312-metrics.thumb.jpg.c3cd5fde0fe667500d91dac8dba6673c.jpg

Screenshot_20260629_095103_Netcraze-.thumb.jpg.e9698b40cc11c068e5b4435fdf56ddd2.jpg

 


 

Опубликовано
1 час назад, KeenTaur сказал:

Лирическое отступление:

Вобщем-то у меня что 2310 что 2311 имели ребуты.
Касательно 2312 - в одной из точек мтс весь красный - ребуты почти каждый час. Это без пингчека.

Чуток помогло отключить все лишние бенды кроме тех где сигнал выглядел получше и скорость была побыстрее - стал ребутиться где-то раз в пару тройку часов.

Уход на билайн и мегу где почти всё желтоватое - ребуты стали ещё реже где-то раз в сутки полутора.

Опубликовано
1 hour ago, KeenTaur said:

в самом начале инструкции из версии в версию кочует очепятка с номерами 2000...2009 (в 2000 потерялся нолик)

Нолик добавлен, в следующей версии этой опечатки не будет. Спасибо.

1 hour ago, KeenTaur said:

Лирическое отступление:

Ваше обращение передано разработчикам NC-2312, они его рассмотрят.

Опубликовано
5 минут назад, sips сказал:

Ваше обращение передано разработчикам NC-2312, они его рассмотрят

Огромнейшее спасибо! Если надо снять лог или селфтест, скажите с какими опциями, постараюсь отловить.

Опубликовано
On 6/26/2026 at 7:38 PM, mesb said:

В скрытом сообщении приаттачил вывод с консоли.

Судя по логам, при исходящем вызове по номеру 0890 модем не присылает репортов о смене статуса звонка. На команду завершения звонка он отвечает ERROR и не присылает репорт о завершении звонка. Чтобы завершить звонок Asterisk должен получить такой репорт, но репорта нет и звонок зависает.
Нужно отладить завершение звонка в данном сценарии с Megafon. Отладка будет выполняться на следующей неделе.

Сейчас после установки Asterisk в конфигурации /opt/etc/asterisk/extensions.conf в контексте “mobile-outgoing” разрешены исходящие звонки через сеть LTE по любым номерам:

[mobile-outgoing]

exten => _x.,1,NoOp()

Вместо этого можно добавить валидацию номеров по шаблонам, чтобы Asterisk отбивал звонки по невалидным номерам и таким образом исключить зависающие звонки.
В примере ниже разрешены только звонки на 11-ти значные номера, которые начинаются на 8, а также звонки на номер 0500. Аналогичным образом можно разрешить звонки по другим номерам, если это необходимо. Для этого нужно добавить новый экстеншен после _0500

 

;=============== Outgoing mobile calls ===============

[mobile-outgoing]

exten => _8XXXXXXXXXX,1,Goto(send-mobile-call,${EXTEN},1)

exten => _0500,1,Goto(send-mobile-call,${EXTEN},1)


 

[send-mobile-call]

exten => _X.,1,NoOp()

same => n,Set(MODEM_STATE=${SHELL(asterisk -rx "quectel show device state quectel0" | grep "State" | cut -d : -f 2 | sed 's/^ //')})

same => n,Set(IS_READY=${REGEX("Free" ${MODEM_STATE})})

same => n,GotoIf($[${IS_READY} = 1]?dialing:unavailable)

 

same => n(dialing),Set(VOLUME(TX)=0)

same => n,Set(VOLUME(RX)=0)

;same => n,MixMonitor(/tmp/mnt/USBDISK/asterisk/records/${CALLERID(num)}-${ARG1:2}_${STRFTIME(${EPOCH},/opt/share/zoneinfo/Europe/Moscow,%y%m%d-%H%M)}.wav,b) ;<------ Call recording

same => n,Dial(Quectel/quectel0/${EXTEN})

same => n,Hangup()

 

same => n(unavailable),NoOp(LTE Modem is not ready! Status: ${MODEM_STATE})

same => n,Playback(calling&vm-isunavail&please-try-call-later)

same => n,Wait(1)

same => n,Hangup()

  • 2 недели спустя...
Опубликовано
On 6/16/2026 at 7:24 PM, mesb said:

Набрал на мега симке номер мтса 0890, оно канеш никуда не позвонило, но модем остался в статусе

-------------- Status -------------
  Device                  : quectel0
  State                   : Dialing

У меня при звонке на номер 0890 с SIM Megafon звонок корректно завершается через секунду после отправки вызова и звонок не зависает, см. скриншот. Если включить отладочный лог -rvvvvdd, то можно видеть репорт о завершении звонка приходящий от модема:

[Jul  8 13:22:06] DEBUG[5958]: src/at_response.c:1111 handle_clcc: [quectel0] CLCC idx:1 dir:0 state:6 mode:0 mpty:off number:0890 type:129

При тестировании использовалась SIM-карта Megafon приобретенная на этой неделе в офисе Megafon.

Зависший звонок не воспроизводится. Без воспроизведения отладить не получится.
Насколько я понял, если не набирать невалидные номера, то зависаний нет.

Предполагаю, если вы замените SIM-карту на новую, то зависание при звонке на 0890 уйдет.call-0890-megafon-20260708.png

Опубликовано
28 минут назад, sips сказал:

У меня при звонке на номер 0890 с SIM Megafon звонок корректно завершается через секунду после отправки вызова и звонок не зависает, см. скриншот. Если включить отладочный лог -rvvvvdd, то можно видеть репорт о завершении звонка приходящий от модема:

Попробуйте любой другой кривой номер, имитируем опечатку, например 0860.

У меня после серии тестов эта симка стала получать на 0890 поднятие трубки и ответ робобабы что мол привет, вы абонент Мегафона, но набрали номер как в МТС, соединяю вас с нашим контакт-центром.

Опубликовано
30 минут назад, sips сказал:

Предполагаю, если вы замените SIM-карту на новую, то зависание при звонке на 0890 уйдет.

Я в сомнениях её менять ибо опасаюсь потерять сип доступ к ней который был когда-то с emotion сделан.

Попробую отдельно как и вы взять новую вообще тогда.

Опубликовано
19 hours ago, mesb said:

Попробуйте любой другой кривой номер, имитируем опечатку, например 0860.

Пробовал звонить на 0860 (см. скриншот), 0000000 и др. невалидные номера - во всех случаях приходит репорт от модема и звонок успешно завершается.
Попробуйте звонки на невалидные номера с прилагаемым драйвером. Там добавлена смена статуса звонка dialing>released без репорта от модема после того, как пользователь кладет трубку. Это может пофиксить зависший звонок. Если не пофиксит, то задача откладывается до тех пор, пока не найдется способ воспроизвести зависание.

call-0860-megafon-20260709.png

chan_quectel.so

Опубликовано
57 минут назад, sips сказал:

Это может пофиксить зависший звонок. Если не пофиксит, то задача откладывается до тех пор, пока не найдется способ воспроизвести зависание.

Поведение конечно поменялось, но это немного не то и нерешило проблему нормально.
Сейчас он после залипания делает вид что опять Free, но попытка набрать номер выливается в 

       > 0x7f7c05f690 -- Strict RTP learning after remote address set to: 192.168.1.4:5020
[Jul  9 11:56:05] ERROR[8503][C-00000006]: src/pcm.c:115 pcm_init: [ALSA][CAPTURE] Fail to open device - dev:'hw:CARD=Asrmicro' err:'Device or resource busy'
[Jul  9 11:56:05] ERROR[8503][C-00000006]: src/chan_quectel.c:101 soundcard_init: [quectel0][ALSA] Problem opening capture device 'hw:CARD=Asrmicro'
       > [quectel0] Disconnected
[Jul  9 11:56:05] WARNING[8503][C-00000006]: src/channel.c:165 channel_request: Asked to get a channel of unsupported format '(slin)'
[Jul  9 11:56:05] ERROR[8503][C-00000006]: src/channel.c:264 channel_call: [quectel0] Error device already in use or uninitialized
    -- Couldn't call Quectel/quectel0/89870000050
  == Everyone is busy/congested at this time (0:0/0/0)
    -- Executing [89870000050@phones:9] Hangup("PJSIP/1000-00000005", "") in new stack
  == Spawn extension (phones, 89870000050, 9) exited non-zero on 'PJSIP/1000-00000005'
       > [quectel0] Error initializing channel
       > [quectel0] Disconnected

 

Если никуда не звонить то после залипательного звонка он просто так и висит:

       > 0x7f7c05f690 -- Strict RTP learning after remote address set to: 192.168.1.4:5008
       > [quectel0][ALSA] Sound card 'hw:CARD=Asrmicro' initialized
[Jul  9 11:57:45] WARNING[8618][C-00000007]: src/channel.c:165 channel_request: Asked to get a channel of unsupported format '(slin)'
    -- Called Quectel/quectel0/0860
       > 0x7f7c05f690 -- Strict RTP switching to RTP target address 192.168.1.4:5008 as source
    -- Quectel/quectel0-0100000006 is proceeding passing it to PJSIP/1000-00000006
       > [quectel0] RSSI: -75 dBm
       > [quectel0] RSSI: -75 dBm
       > 0x7f7c05f690 -- Strict RTP learning complete - Locking on source address 192.168.1.4:5008
       > [quectel0] RSSI: -99 dBm
       > [quectel0] RSSI: -99 dBm
  == Spawn extension (phones, 0860, 😎 exited non-zero on 'PJSIP/1000-00000006'
[Jul  9 11:57:54] ERROR[8302]: src/at_response.c:831 at_response_error: [quectel0][AT+CHUP] ⍻ Error sending hangup for call idx:0

 

 

Слушайте, вот у вас же была версия модуля который нормально туда отсылал at+chup после 20 секунд dialing дёрнувы модем и всё работало отлично.
Можно просто вернуться к этой версии ПО но совместить оную с решением чтобы не делить usb1 с кинос? - Этоже вот рабочее решение впоне себе.

 

Опубликовано

Вот ваше сообщение с этим модулем который логику обращения с залипайками делал вполне себе автономную и рабочую.

Нельзя ди к этой версии добавить нормальное поведение с обращением с usb1 совместным и дать нам, оно же вполне будет живым и рабочим.

Опубликовано
On 7/9/2026 at 12:02 PM, mesb said:

Слушайте, вот у вас же была версия модуля который нормально туда отсылал at+chup после 20 секунд dialing дёрнувы модем и всё работало отлично.

Принудительно прерывать звонок командой +CHUP через 20 секунд dialing было плохой идеей. Если будут звучать голосовые сообщения Early Media и они будут неожиданно прерваны, то это не понравится многим пользователям. 

Кроме того, не понятно, как в вашем случае это вообще работало и почему перестало работать. Команда +CHUP должна завершить звонок и после нее модем должен прислать репорт +CLCC подтверждающий завершение. В вашем случае на команду +CHUP модем отвечает ERROR и репорт не присылает.

Данную задачу нужно решать иначе и решение видится следующим: когда после звонка на невалидный номер вы кладете трубку, драйвер отправляет +CHUP, получает в ответ ERROR, ждет репорт о завершении звонка, но репорта нет и звонок зависает. Чтобы звонок не зависал, нужно при получении ERROR завершить звонок не дожидаясь репорта.

В этой версии при получении ERROR в ответ на +CHUP обработчик команд должен принудительно удалить звонок и отключить аудиоустройство также, как и при получении репорта о завершении звонка. Прошу проверить и сообщить, как это работает. Когда положите трубку, в консоли должны появиться сообщения следующего вида:

“Error sending hangup for call idx:*”
“Forcibly ending call idx:*”
После них выполняется код завершающий звонок и отключающий аудиоустройство.

chan_quectel.so

Опубликовано
1 час назад, sips сказал:

“Error sending hangup for call idx:*”
“Forcibly ending call idx:*”
После них выполняется код завершающий звонок и отключающий аудиоустройство.

Надписи есть но отключения не выполняется как делал той версии модуль:
 

       > [quectel0] RSSI: -97 dBm
  == Spawn extension (phones, 0861, 😎 exited non-zero on 'PJSIP/1000-00000003'
[Jul 10 18:39:35] ERROR[24687]: src/at_response.c:831 at_response_error: [quectel0][AT+CHUP] ⍻ Error sending hangup for call idx:1

[Jul 10 18:39:35] ERROR[24687]: src/at_response.c:832 at_response_error: [quectel0][AT+CHUP] ⍻ Forcibly ending call idx:1 
Netcraze-3085*CLI> quectel show device state quectel0
-------------- Status -------------
  Device                  : quectel0
  State                   : Dialing
  Audio UAC               : hw:CARD=Asrmicro
  Data                    : ttyACM1
  Voice                   : Yes
  Manufacturer            : SIMCOM
  Model                   : A7908E-M2

 

Опубликовано

Вообще ябы канеш списал это на проблемы этой сим, но у меня их две и ведут они себя идентично.
И кинов таких два в разных частях города - тоесть это точно разные базовые станции и железки.

Опубликовано
В 09.07.2026 в 10:59, sips сказал:

пока не найдется способ воспроизвести зависание

Я там ранее предлагал доступ до одного из таких устройств - можете проверить сами если вам хватит удалённого подключения.

Опубликовано
40 minutes ago, mesb said:

Надписи есть но отключения не выполняется как делал той версии модуль

Если эта версия не заработает, то на следующей неделе попробуем отладить через удаленное подключение, как вы предлагаете.

chan_quectel.so

Опубликовано
30 минут назад, sips сказал:

Если эта версия не заработает

Вы замечательный!
Заработало, причом отлипает из Dialing махом сейчас после этих надписей что ранее указывались с idx.

Чуть погодя повторю тест на других операторах типа мтс чтобы убедиться что ничего не сломалось.

Опубликовано

Проверил мтс - работает норм, но тест недолог ибо тут плох уровень сигнала и модем ребутится от любого чиха.

Хотел проверить т2, но наткнулся на упорный соскок в 3ж, по словам операторов раз у меня на сим подключен городской номер - болт там а не волте\вовифи.

Опубликовано

В этой версии исправлены известные ошибки VoLTE, включая подключение к занятому виртуальному порту модема, зависшие звонки на невалидные номера (MegaFon) и сбой настройки VoLTE, когда активен SIM2 и др. Добавлен механизм повторного чтения парметров модема, которые не удалось считать при инициализации и поддержка Early Media при исходящих звонках. Отлажено переподключение модема после сканирования эфира.

asterisk-installer-20260717.tar.gz

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...

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

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