Звонки на номера при помощи модемов Wirenboard Часть 2

Добрый день.
В августе прошлого года была создана одноименная тема, в которой мне помогли настроить звонки через модем командой “runShellCommand(“gammu dialvoice +79161234567”);” в правилах.
Все работало замечательно, но я сейчас сменил контроллер с большей памятью и заметил, что созданное правило не работает.
вот что в логах:

29-07-2023 18:30:18.495 [wb-rules] ERROR: command ‘/bin/sh -c gammu dialvoice +79219516970’ failed with exit status 127
29-07-2023 18:30:18.493 [wb-rules] /bin/sh: 1: gammu: not found
29-07-2023 18:30:18.482 [wb-rules] ERROR: [rule error] failed to SetValue for unexisting control parking_in/state: false
29-07-2023 18:30:15.615 [wb-rules] ERROR: command ‘/bin/sh -c gammu dialvoice +79219516970’ failed with exit status 127
29-07-2023 18:30:15.613 [wb-rules] /bin/sh: 1: gammu: not found
29-07-2023 18:30:15.605 [wb-rules] ERROR: [rule error] failed to SetValue for unexisting control parking_in/state: true

получается что утилита gammu не установлена. хотя судя по описанию входит в базовый комплект.

Контроллер такой:

Manufacturing Date 2023-06-19 07:52:20

Batch No 7.3.4J/12 1C/C-2GI/1

Release name wb-2304

Release suite stable

Short SN AJXTRI7J

Что делать?

Добрый день.

Нет, не установлена. Функционал в части отправки SMS - теперь, в релизе 2304 и будущих выполняет ModemManager.
Посмотрите в документацию в части параметра --voice-create-call

Добрый день.
Не могу найти информацию в wirenboard как пользоваться, как ставить ModemManager

сейчас вот так все происходит:

image

ModemManager уже стоит. Сервис запущен и настроен.

Пример

mmcli -L          
    /org/freedesktop/ModemManager1/Modem/2 [INCORPORATED] A7602E-H
root@wirenboard-AWI3MCGC:~# mmcli -m 2 --voice-list-calls
No calls were found
root@wirenboard-AWI3MCGC:~# mmcli -m 2 --voice-create-call='number=+79283хххххх'  
Successfully created new call: /org/freedesktop/ModemManager1/Call/0
root@wirenboard-AWI3MCGC:~# mmcli -m 2 --start -o /org/freedesktop/ModemManager1/Call/0
successfully started the call

Спасибо.
что то стало получаться.
Помогите тогда разобраться с этим:
Работать с модем менеджером возможно только при активном модемном соединении.
Если в ручную я произвожу соединение, то все работает, из SSH звонки идут. Но мне нужно тогда всегда в ручную включать. Если ставлю автоматическое соединение, то при активном соединении по проводу связь по модему разрывается.

Как сделать автоматическое соединение в нужный момент набора номера?

Да, модем управляется в зависимости от настроенных приоритетов. И да, если есть более приоритетное соединение - он отключается. Но, кстати, наличие или отсутствие активного GPRS соединеня не влияет на “голос”.

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

Потом можем позвонить с этой ячейки:

А как позвонить еще раз с этой ячейки?

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

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

Да, именно так. Создание объекта - вызов (использование) объекта.

Для каждого события при необходимости создавать объект и затем использовать его. Можно и заранее создать - но менее удобно.

Скажите пожалуйста у Вас есть ответ на вопрос, как в правилах создать звонок на номер, если Вы предлагаете алгоритм создания объекта и потом его вызова? Если номер объекту присваивается системой, каким образом правило сможет узнать текущий номер объекта для его использования?

Не совсем понимаю вопрос… Попробую описать по шагам:

  • шаг 1. создаем звонок. Номер - в переменную
  • шаг 2. запускаем звонок с номером из первого шага.

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

Да, естественно создает новый объект. Ну, “хранить” именно не обязательно. Как выше писал - создаем объект, получаем этот самый номер. Сразу после созднаие - запускаем с ним.

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

call_num=$(mmcli -m 0 --voice-create-call=‘number=+79ХХХХХХХХХ’ | awk -F/ ‘{print $NF}’); mmcli -m 0 --start -o $call_num; mmcli -m 0 --voice-delete-call=/org/freedesktop/ModemManager1/Call/$call_num

Ну, можно и так, конечно. Но я предполагал два вызова runShellCommand из wb-rules, с получением искомого номера из stdout первого.

Эта тема была автоматически закрыта через 7 дней после последнего ответа. В ней больше нельзя отвечать.