HPUNIX Сайт о ОС и не только!

Установка AstBill

18 июня 2013 - unix
Установка AstBill

V3.01 -->

Часть статьи «Звездные счета» размещенной в февральском номере журнала Взломщик

В AsteriskNOW функции учета и тарификации звонков развиты еще недостаточно, поэтому если требуется такая функциональность, следует обратиться к продуктам посторониих разработчиков. Для примера возьмем AstBill (astbill.com), который распространяется по лицензии GNU GPL. Система строится при помощи открытых продуктов – Apache, MySQL и Drupal, и позволяет при помощи понятного веб-интерфейса создавать главные операции, полный список которых занимает два экрана.

Среди их:

- просмотр инфы о SIP, IAX учетных записей, личный контактный каталог с подкатегориями;
- поддержка виртуальных учетных записей, с возможностью привязки к хоть какому номеру;
- биллинг, основанный на продолжительности звонка и направлении;
- вывод баланса, расходов и платежей по каждому счету, звонки в кредит, предоплаченные услуги;
- отсылка предупреждений о малом количестве средств на обозначенный e-mail;
- возможность звонка через GUI.

Установка AstBill

И практически все другое, чего вполне достаточно для хоть какой SMB организации или малеханького VoIP провайдера. К огорчению, интерфейс не локализован, но человек с базовым английским найдет все необходимое, хотя, может быть, и не слету, так как функций у AstBill очень много. Кстати, внешний вид можно поменять при помощи тем.
Для установки понадобится сам Asterisk, СУБД MySQL 5.х и веб-сервер Apache 2.x, а Drupal уже входит в состав AstBill, поэтому раздельно устанавливать его не нужно. Проект предлагает демонстрационную версию AstBill Live CD, который построен на базе дистрибутива Dawn Small Linux и включающий уже все необходимое.
Установка всех дополнительных компонент уже много раз описывалась как на страницах журнала, так и на многочисленных ресурсах Интернет, тем более при использовании репозитария — это пустяковое дело. Поэтому сосредоточимся лишь на том, как ввести в строй AstBill.

Установка AstBill

Для начала подготовим MySQL. Установим пароль администратора (если это не сделано ранее), создадим базу astbill и дадим специальному юзеру astbilluser все нужные привилегии:

$ mysqladmin —user=root password ‘mysql_root_password’
$ mysqladmin —user=root -p create astbill
$ mysql —user root -p

Установка AstBill
mysql> GRANT ALL PRIVILEGES ON astbill.* TO astbilluser@localhost IDENTIFIED BY ‘astbill_db_passwd’;
Query OK, Нуль rows affected (0.00 sec)
mysql> flush privileges;
Query OK, Нуль rows affected (0.00 sec)
mysql> quit;

Все, MySQL готов к работе. Чтобы упростить создание таблиц, разработчики предлагают файлы шаблонов, которые доступны в архиве. Получаем последнюю версию AstBill с сайта проекта, распаковываем, установочный скрипт делаем исполняемым:

$ tar jxvf astbill-0.9.22.tar.bz2
$ cd astbill
$ chmod +x install.sh

И создаем таблицы:

$ mysql —user=root -p astbill < ./database/astbill.sql
$ mysql —user=root -p astbill < ./database/astbill_proc.sql

Проверяем, что есть:

$ mysql —user=root –p
mysql> SHOW DATABASES;
+———————+
| Database |
+———————+

Установка AstBill
| information_schema |
| astbill |
| mysql |
+———————+
3 rows in set (0.01 sec)
mysql> use astbill;
Database changed
mysql> show tables;

Вывод покажет неограниченное количество таблиц.

Вывод перечня таблиц AstBill в MySQL

Если все ОК, идем дальше.

$ sudo ./install.sh

На запрос скрипта о продолжении работы вводим yes. Не считая установки AGI скриптов (Asterisk Gateway Interface — интерфейс взаимодействия с внешними скриптами) и файлов озвучки, будут сохранены и конфигурационные файлы уже установленного Asterisk.

Не считая этого, будет создан каталог /home/astbill, в нем AstBill ищет свои функции, если нужные файлы не будут доступны в каталоге, куда распакован сам биллинг. После работы скрипта корневой каталог astbill находится (в моем случае) в /home/grinder/astbill/wwwroot. Чтобы сделать его видимым веб-серверу, создадим символическую ссылку (есть и другие варианты, это самый обыденный):

$ ln -s /home/grinder/astbill/wwwroot /var/www/html/astbill

В каталоге astbill находится конфигурационный файл astbill.conf, установки из которого считываются различными Perl и Ajax скриптами. Для удобства работы его можно скопировать в /home/astbill. После чего обязательно следует поменять информацию для доступа к БД:

$ sudo mcedit /home/astbill/astbill.conf

emailadd = noreply@grinder.com
company_name = GrinderTelecom
dbhost = localhost

Установка AstBill
dbname = astbill
dbuser = astbilluser
dbpass = astbill_db_passwd
dbdsn = astbilldns
HostedOn = AstBill
debug = YES
debug2 = NO YES
odbc = NO
odbc2 = YES NO
;

Не знаю почему, но разработчики поленились сделать это для другого файла — settings.php, который находится в wwwroot/sites/default. Открываем и правим внутри свойства для доступа к БД:

$ sudo mcedit /var/www/astbill/sites/default

$db_url = ‘mysql://astbilluser:astbill_db_passwd@localhost/astbill’;
# И правим путь, если AstBill установлен в каталог веб-сервера с другим именованием
$base_url = ‘http://127.0.0.1/astbill’;

На этот файл есть указания в документации, но пока я не подправил свойства в аналогичном файле из подкаталога 127.0.0.1.astbill, ничего не работало. Также в документации дается совет, предписывающий убедиться, что «$db_prefix = ‘pbx_‘;», по другому AstBill работать не будет.

По умолчанию оно так и есть, но на всякий случай не поленись, проверь. И, в конце концов, остался последний файл, но уже входящий в состав Asterisk — /etc/asterisk/res_mysql_conf, в каком нужно сделать то же самое.

$ sudo mcedit /etc/asterisk/res_mysql_conf

[general]

Установка AstBill
dbhost = localhost
dbname = astbill
dbuser = astbilluser
dbpass = astbill419
dbport = 3306
Установка AstBill
# Обрати внимание на dbsock, в разных дистрибутивах этот путь отличается
dbsock = /var/run/mysqld/mysqld.sock

На этом все, можно пробовать. Запускаем Asterisk, открываем браузер и заходим на страницу http://127.0.0.1/astbill. Если загрузилась большая страница, значит, все нормально.

Основное окно AstBill

По другому внимательно прочитай описание трудности, оно довольно содержательное и помогает найти ошибку.
По умолчанию в системе заведены две учетные записи – пользователь с правами администратора (astbill, пароль demoastbill) и обыденный пользователь (demo, пароль demoastbill). 1-ый пользователь, набравший URL, автоматом регистрируется как astbill.

Поэтому следует слету зайти в «my account«, выбрать вкладку Edit и поменять информацию о своей учетной записи – имя пользователя, e-mail, пароль, статус (Active), роль. Система по умолчанию поддерживает четыре роли, неважно какая из которых может иметь строго определенные права: Admin, анонимный пользователь, зарегистрированный пользователь и партнер.

2-ая и 3-я в настройках по умолчанию заблокированы. Поменять права можно, зайдя на страницу Administer – Access control. Там же в roles можно сделать новые роли и проверить, включена ли учетная запись по имени пользователя или e-mail.

Создание нового аккаунта в AstBill

Работа с учетными записями в AstBill построена по нескольким принципам. Это непосредственно акк, который может употребляться отдельным пользователем или привязан к клиенту (Customer).

Партнеры (Partner) являются подобием групп и могут также включать собственных клиентов. Акк создается в Create Account. Здесь найдешь все свойства, встречающиеся при разработке обычной учетной записи в Asterisk.

В отличие от AstersikNOW, возможен выбор только 1-го типа учетной записи: SIP, IAX2, Virtual Account и H323. Исходящие направления описываются в Provider Trunks, где не считая обыденных черт (учетная запись, узел, метод аутентификации) указывается и стоимость направления.

При необходимости, нажав на DialPlan, можно задать время и день недели, когда будет доступен данный провайдер. Это позволяет задать свои тарифы для различного времени. План тарификации звонков указывается во вкладке AstBill Admin – Setting – Rate Plans.

Оплату звонков можно принимать при помощи предоплаченных Calling Cards, которые «создаются» в одноименной вкладке. Здесь указывается номер, карты, количество средств, срок годности, статус (Enabled/Disabled) и некоторые другие.

Опций не достаточно, а очень много, поэтому некоторое время придется потратить на освоение AstBill. Но в конечном итоге ты получишь понятную систему биллинга, настроенную под определенные условия.
Это, естественно, не все решения. Например, стоит навести внимание еще на одну систему биллинга для Asterisk — A2Billing (trac.asterisk2billing.org/cgi-bin/trac.cgi), которая может быть использована для учета в самых различных ситуациях: обыденное предоставление услуг VoIP, Callback сервис или подсчет трафика партнерами. На сайте проекта доступна демоверсия, поэтому познакомиться с A2Billing можно и без установки.

Биллинг в Asterisk

Для каждого вызова сервер Asterisk генерирует запись CDR (Call Detail Record). По умолчанию вся информация (номер, Caller ID, направление, время начала, вызова, ответа и окончания и прочее) хранится в CSV файле /var/log/asterisk/cdr-csv. Формат записей, даты и времени определен в файле cdr/cdr_csv.c.

Для удобства учета в конфигурационных файлах или при помощи команд можно указать учетные коды (${CDR(accountcode)}), флаги AMA (Automated Message Accounting) на каждый канал или пользователя, которые будут использованы при биллинге. Может быть хранение CDR инфы в базе данных.

Поддерживаются – SQLite, MySQL, PostgreSQL, unixODBC, MS SQL, Sybase и некоторые другие. При необходимости можно самому написать скрипты для извлечения подходящих данных и тарификации обсуждений.

    Похожие статьи

    • Установка CentOS 5

      В последние дни июня месяца обществу была представлена новая версия 5.2 дистрибутива CentOS. Беря во внимание его популярность (ведь Одиннадцать место на Diastrowatch.com что-то говорит) и малоизве...

    • На чем стоит пингвин

      Это уже старая статья из журнала Мой Компьютер вышедшая в Две тыщи три году, многие вопросы требуют легкого пересмотра , что успел то переработал, если есть что дополнить или поправить жду коммент...

    • Установка AsteriskNOW

      В конце статьи ссылка на видео по установкеПосле освоения основных директив конфигурационных файлов Asterisk новые функции производятся практически мгновенно. Но новым будет малость трудно, ну...

    • Установка Asterisk

      Статья написана в журнале Взломщик Дочитавшие до конца получат видео.Не смотря на развитие различных систем обмена инфы, таких как электронная почта и службы мгновенного обмена сообщений, об...

    • ABillS система биллинга для nix

      Cтатья из журнала ВзломщикВ конце ссылка на видеоФактически большая часть услуг, предоставляемых провайдерами или сервисами, просит присутствия системы автоматического учета затраченных рес...

Рейтинг: +9 Голосов: 67 1473 просмотра
Комментарии (0)

Нет комментариев. Ваш будет первым!

Найти на сайте: параметры поиска

Windows 7

Среда Windows 7 на первых порах кажется весьма непривычной для многих.

Windows 8

Если резюмировать все выступления Microsoft на конференции Build 2013.

Windows XP

Если Windows не может корректно завершить работу, в большинстве случаев это

Windows Vista

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