Comments 8
Еще вопрос в догонку: почему не работает экстен вида exten => s,1,... для входящих, только при указании конкретного шаблона?
"Поддался современным веяниям в отказе от протокола SIP в пользу PJSIP. ".
Протокола PJSIP не существует, это просто другой драйвер, другая реализация протокола SIP.
"при приеме звонков через модемы - будут приниматься звонки только с нормальных номеров в соответствии с указанным шаблоном (exten => _+X.,), с сервисных номеров 3х-4х значных входящий звонок не пройдет."
Всё проходит корректно, вообще не важно, с какого номера вам звонят - с "нормальных", сервисных или международных, т.к. входящий вызов поступает на номер SIM, указанный в конфиге (dongle.conf - пропишите exten=ваш_номер в контекстах ваших номеров), и только на этот номер и поступит вызов.
Кстати, проблем с "@" также нет, если экранировать все передаваемые параметры.
Входящие сообщения отправляю на несколько внутренних SIP-телефонов, сохраняю в базу данных MySQL (в отдельную таблицу, ранее сохранял в поле userfield в таблице CDR, но длинные sms мешают просмотру детализации вызовов), а также в Telegram-бот (bash-скрипт).
Исходящие сообщения также хорошо отправляются с SIP-телефонов через модем.
Статья полезная, и наверняка кому-нибудь пригодится.
Приходите к нам в Telegram-чат: https://t.me/asterisk_ru
Всё проходит корректно, вообще не важно, с какого номера вам звонят - с "нормальных", сервисных или международных, т.к. входящий вызов поступает на номер SIM, указанный в конфиге (dongle.conf - пропишите exten=ваш_номер в контекстах ваших номеров), и только на этот номер и поступит вызов. Кстати, проблем с "@" также нет, если экранировать все передаваемые параметры.
В донгле все прописано. Я вечер сидел подбирал варианты шаблонов, не проходят звонки если шаблон не соответствует (_. или _+X.). И что значит экранировать @? Во входящем имени отправителя смс? Я проблему @ на конце имени отправителя вообще заметил когда устал ждать код подтверждения от мвидео.
Исходящие - проблем нет. Мне очень понравилось с ботом, когда разделил смс и звонки уведомления удобочитаемые стали, чем просто в клиента приходит. И я преимущественно на мобильном клиенте, соответственно некоторые не любят ждать долго гудков, бросают трубку, у мой телефон не успел принять звонок, но в телеге уже есть уведомление.
Всем добрый день. Сделал по инструкции. Бота создал, id и свой id добавил в скрипт. Смс приход, в файл записывается, в консоли все тоже хорошо, скрипт типа отработал, но вот сообщения в телеграмме нет.
Проверьте ещё раз разрешение на файл и владельца. А также параметры бота телеграмм. В боте старт нажимали? Пути совпадают?
Я все буквально вчера переустанавливал, карта умерла, делал по своим записям, все работает.
Как вариант, для отладки в боте вместо аргумента напишите что-то запустите напрямую файл, сразу будет понятно, где ошибка.
Мне помогло изменение скрипта на:
#!/usr/bin/env python3
import base64
import telebot
import sys
bot = telebot.TeleBot('API:KEY')
chat_id = CHATID
bot.send_message(chat_id, sys.argv[1])
Ну и команды:
сделать скрипт исполняемым, назначить владельца asterisk и дать права на выполнение 755
chmod u+x /usr/local/bin/sms2tg.py
chown asterisk:asterisk /usr/local/bin/sms2tg.py
chmod 755 /usr/local/bin/sms2tg.py
Модернизация FreePBX на Raspberry PI