Установка и настройка серверов Linux,создание сайтов, установка и настройка Asterisk PBX, Linux для начинающих и не только.
Получать статьи этого сайта на почту:

 

05
Июл 2012
sergldom
автор
1
комментариев
Рейтинг статьи:
4
Средняя: 4 (1 оценка)

Asterisk - отправка баланса модемов huawei e1550 на почту с консоли в Debian Linux, Ubuntu Linux и других NIX системах

Настройка отправки баланса с 3G модемов в Asterisk и Debian Linux на почтовый ящик используя mutt

Имеется комплект модемов Huawei e1550 подключенных к Asterisk. 

Задача - настроить уведомление о балансе на sim карах модемов письмом на почту.

Система настроена на Debian Squeeze и Asterisk  по этой инструкции или по этой инструкции

Модемы Huawei E1550 подключены и настроены к Asterisk в Debian Squeeze  по этой инструкции  (будет чуть позже) с помощью ]]>dongle]]>

Решение будет работать на любой NIX* системе, где работает Asterisk c модемами подключенными через Dongle.

Используем для отправки почты консольный почтовик ]]>mutt ]]>c smtp авторизацией на почтовом ящике Google.

Устанавливаем консольный почтовик mutt:

aptitude install mutt

Настраиваем smtp авторизацию в mutt через почтовый ящик Google, для этого создаем в домашней директории пользователя под которім будет отправлятся почта, в нашем случае - asterisk конфигурационный файл почтовика:

vi /home/asterisk/.muttrc

set imap_user = "you_name_mail@gmail.com"
set imap_pass = "you_pass_mail"
set smtp_url = "smtp://you_name_mail@smtp.gmail.com:587/"
set smtp_pass = "you_pass_mail"
set from = "you_name_mail@gmail.com"
set realname = "Почтовик"
set folder = "imaps://imap.gmail.com:993"
set spoolfile = "+INBOX"
set postponed="/Drafts"
set header_cache=~/.mutt/cache/headers
set message_cachedir=~/.mutt/cache/bodies
set certificate_file=~/.mutt/certificates
set move = no

you_name_mail - пишем имя своего почтового ящика
you_pass_mail - пишем пароль от своего почтового ящика

Скрипт будем выполнятся под пользователем Asterisk.

Cоздаем логи:

touch /var/log/asterisk/ussd_modem1.txt
touch /var/log/asterisk/ussd_modem2.txt
touch /var/log/asterisk/ussd_modem3.txt
touch /var/log/asterisk/ussd_modem4.txt
touch /var/log/asterisk/balans.txt

Изменяем права на пользователя Asterisk:

chown asterisk:asterisk /var/log/asterisk/ussd_modem1.txt
chown asterisk:asterisk /var/log/asterisk/ussd_modem2.txt
chown asterisk:asterisk /var/log/asterisk/ussd_modem3.txt
chown asterisk:asterisk /var/log/asterisk/ussd_modem4.txt
chown asterisk:asterisk /var/log/asterisk/balans.txt

Создаем папку где будет хранится скрипт баланса

mkdir -p /home/asterisk/scripts/

Создаем в папке сам скрипт баланса:

vi /home/asterisk/scripts/balans_modems.sh

#!/bin/sh

# Очищаем логи:
cat /dev/null > /var/log/asterisk/ussd_modem1.txt
cat /dev/null > /var/log/asterisk/ussd_modem2.txt
cat /dev/null > /var/log/asterisk/ussd_modem3.txt
cat /dev/null > /var/log/asterisk/ussd_modem4.txt
cat /dev/null > /var/log/asterisk/balans.txt


# Делаем запрос на получение баланса и после каждого запроса ждем 10 секунд,
# чтобы модем успел получить данные и записать в лог файл
/usr/sbin/asterisk -rx "dongle ussd modem1 *111#"
sleep 10
/usr/sbin/asterisk -rx "dongle ussd modem2 *111#"
sleep 10
/usr/sbin/asterisk -rx "dongle ussd modem3 *111#"
sleep 10
/usr/sbin/asterisk -rx "dongle ussd modem4 *111#"
sleep 10


#Формируем общий файл с балансом:

cat /var/log/asterisk/ussd_modem1.txt > /var/log/asterisk/balans.txt
cat /var/log/asterisk/ussd_modem2.txt >> /var/log/asterisk/balans.txt
cat /var/log/asterisk/ussd_modem3.txt >> /var/log/asterisk/balans.txt
cat /var/log/asterisk/ussd_modem4.txt >> /var/log/asterisk/balans.txt


#Отправляем содержимое файла письмом на адреса:

mutt -s "Баланс на модемах..." admin1@mail.ru < /var/log/asterisk/balans.txt
mutt -s "Баланс на модемах..." boss@mail.ru < /var/log/asterisk/balans.txt
mutt -s "Баланс на модемах..." manager@mail.ru < /var/log/asterisk/balans.txt

 

Заходим под пользователем asterisk (su astrisk) и добавляем в cron запуск скрипта:

crontab -e
30 8 * * *    sh /home/asterisk/scripts/balans_modems.sh

Каждое утро в 8-30 будете получать на почту баланс с модемов.

Пример того, что придет на почту:

modem1 (067-XXX-XX-XX) - 2012-07-05 12:03:33 - Na Vashomu rahunku 120.83 grn.
modem2 (067-XXX-XX-XX) - 2012-07-05 12:03:43 - Na Vashomu rahunku 53.22 grn.
modem3 (063-XXX-XX-XX) - 2012-07-05 12:03:54 - Balans 21.23hrn, bonus 0.00hrn. Bazhaete pryhovaty svii nomer pry dzvinkah? Nabyraite *123*2547#
modem4 (063-XXX-XX-XX) - 2012-07-05 12:04:5 - Balans 0.98hrn, bonus 0.00hrn. Bazhaete pryhovaty svii nomer pry dzvinkah? Nabyraite *123*2547#

Рейтинг статьи: 

4
Средняя: 4 (1 оценка)

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

]]>]]>

 

*Адреса электронной почты не разглашаются и не предоставляются третьим лицам для коммерческого или некоммерческого использования.

 

 

 
 

 

1 комментария:
Денис
31/08/2017 - 12:40
классная статья! жаль, что не нашел ее год назад((

Добавить комментарий

Filtered HTML

  • Поисковые системы будут индексировать и переходить по ссылкам на разрешённые домены.

  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Разрешённые HTML-теги: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Строки и параграфы переносятся автоматически.

Plain text

  • Разрешённые HTML-теги: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.
  • Поисковые системы будут индексировать и переходить по ссылкам на разрешённые домены.

CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.