Показать сообщение отдельно
Старый 22.09.2020, 16:49   #5
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: обработка голосовых звонков на matrix

Цитата:
Сообщение от Controls.kpp Посмотреть сообщение
Так вот как раз вопрос какими средствами вытащить информацию, кто звонит, с какого номера! что бы провести сравнение со списком допущенных к управлению и формирования ответа на этот же номер...
Мой уровень программирования это SMLogix. А тут нужно куда глубже залезать :-D
Способа существует два.

Первый способ, сишный: проверять на доступность /dev/modeminfo и читать прилетающие из него данные. По идее оттуда должно прилететь RING, VOICE и номер телефона

Способ второй, линуксоидный: в цикле забирать последние строки лога и анализировать их, создав два скрипта:


start.sh

Код:
echo "start listen" >> /var/log/user.log
tail -n 1 --follow=name /var/log/user.log | ./run.sh

run.sh

Код:
while IFS= read -r line; do
    voice=`echo $line | grep VOICE`
    if [ -n $voice ]; then
         echo $voice
    fi
done

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

PS. Может, заказчика всё же уговорить на СМС с несложным текстом, типа "1" или подобным?


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.

Последний раз редактировалось Arsie, 22.09.2020 в 17:27
Arsie сейчас на форуме   Ответить с цитированием