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

 

05
Jul 2012
sergldom
автор
1
комментариев
Рейтинг статьи:
4
Average: 4 (1 vote)

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  по этой инструкции  (будет чуть позже) с помощью <![CDATA[]]>dongle<![CDATA[]]>

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

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

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

aptitude install mutt

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

vi /home/asterisk/.muttrc

set imap_user = "[email protected]"
set imap_pass = "you_pass_mail"
set smtp_url = "smtp://[email protected]:587/"
set smtp_pass = "you_pass_mail"
set from = "[email protected]"
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 "Баланс на модемах..." [email protected] < /var/log/asterisk/balans.txt
mutt -s "Баланс на модемах..." [email protected] < /var/log/asterisk/balans.txt
mutt -s "Баланс на модемах..." [email protected] < /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
Average: 4 (1 vote)

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

<![CDATA[]]><![CDATA[]]>

 

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

 

 
 

 

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

Add new comment

Filtered HTML

  • Search Engines will index and follow ONLY links to allowed domains.

  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

Plain text

  • Allowed HTML tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
  • Search Engines will index and follow ONLY links to allowed domains.

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.