Важно: описанный пример настройки взаимодействия модуля LBircd и Asterisk является устаревшим и не подходит для Asterisk новее версии 1.6.
1. Общее описание
В данной статье рассматривается пример настройки АСР LANBilling расcчитанный на обработку информации о предоставленных услугах IP-телефонии. Сервер АСР LANBilling работает под управлением ОС Linux CentOS 5/6/7 x86_64 и установленным следующим программным обеспечением: asterisk, mysql, apache, php, iptables, LANBilling (Lbcore+LBircd). Аналогичное решение, основанное на использовании агента классической телефонии LBtcd для АТС Asterisk, описано в статье «Настройка агента классической телефонии АСР LANBilling LBtcd».
Далее по тексту приняты следующие обозначения:
mysql> | командная строка mysql |
~# | выполнение команды в терминале |
«Название1» - «Название2» | переход в подменю web-интерфейса |
; | комментарий к конфигурационным файлам |
«Название» | пиктограмма или кнопка в web-интерфейсе |
2. Настройка Asterisk
Для начала необходимо установить бибилиотеки необходимые для работы perl скриптов, это
yum install asterisk-perl perl-Authen-Radius perl-Crypt-CBC
После установки необходимо скачать и распаковать вспомогательные скрипты клиента Radius (radiusclient-1.8.tar.gz):
~#tar -zxf radiusclient-1.8.tar.gz ~#cp agi-rad-auth.agi /var/lib/asterisk/agi-bin/ ~#cp ast-rad-acc.pl /usr/local/sbin/
Далее в автозагрузку системы необходимо включить запуск скрипта ast-rad-acc.pl (для этого в файл /etc/rc.local следует добавить строку /usr/local/sbin/ast-rad-acc.pl) и отредактировать следующие конфигурационные файлы:
/etc/asterisk/sip.conf:
[general] context=office udpbindaddr=0.0.0.0 udpbindport=5060 allowguest=no disallow=all allow=alaw,ulaw,gsm canreinvite=no dtmfmode=rfc2833 ;аккаунты пользователей [201] ;login001 type=friend ;должны совпадать с данными учётной записи в биллинге username=login001 secret=pass001 host=dynamic context=sip_auth externalauth=yes mailbox=no [202] ;login002 type=friend username=login002 secret=pass002 host=dynamic context=sip_auth externalauth=yes mailbox=no
/etc/asterisk/extensions.conf
[general] static=yes writeprotect=no [globals] RADIUS_Server=127.0.0.1 RADIUS_Secret=123 RADIUS_Auth_Port=1812 RADIUS_Acct_Port=1813 Acct_Update_Timeout=60 NAS_IP_Address=127.0.0.1 [sip_auth] exten => _X.,1,Set(SIP_Authorization=${SIP_HEADER(Authorization)}) exten => _X.,n,AGI(agi-rad-auth.agi,Mode=SIP)) exten => _X.,n,Goto(fromlocal,${EXTEN},1) exten => _X.,n,Hangup() [fromlocal] exten => _X.,1,Dial(SIP/597/${EXTEN})
В конфигурационный файл /etc/asterisk/modules.conf необходимо добавить следующую запись:
load => res_agi.so
Конфигурационный файл /etc/asterisk/manager.conf должен содержать следующие настройки:
enabled = yes port = 5038 bindaddr = 127.0.0.1 secret = test permit= 127.0.0.1 ; имя менеджера и пароль(test/test) указаны в ast-rad-acc.pl, поэтому при их ; изменении следует отредактировать скрипт: [test] secret = test permit= 127.0.0.1 read = system,call,log,verbose,command,agent,user write = system,call,log,verbose,command,agent,user
Далее необходимо выполнить следующие команды для добавления словаря radius-атрибутов:
~#wget http://www.lanbilling.ru/doc/ast-radius/raddb.tar.gz ~#tar -zxf raddb.tar.gz ~#cp raddb/* /etc/raddb
После выполнения команд добавления словаря radius-атрибутов следует запустить Asterisk следующей командой:
~# /etc/init.d/asterisk start
и добавить в автозагрузку запуск Asterisk:
~# chkonfig –level 2345 asterisk on
3. Установка и настройка БД MySQL
С подробной информацией об установке и настройке базы данных под управлением MySQL можно ознакомиться в руководстве по установке в разделе "Установка MySQL-сервера".
4. Установка и настройка Apache, PHP
Для установки и настройки PHP, Apache,GD следует выполнить следующие действия:
Выполнить команду:
~# yum install php-soap apache php gd libtiff libpng php-gd php-mysql php-mbstring
Отредактировать конфигурационный файл apache /etc/httpd/conf/httpd.conf:
раскомментировать директиву ServerName закомментировать директиву #AddDefaultCharset UTF-8
Удалить страницу по умолчанию, для этого следует закомментировать все строки в файле /etc/httpd/conf.d/welcome.conf.
Отключить SELinux в файле /etc/selinux/config:
SELINUX=disabled
Запустить и добавить apache в автозапуск /etc/init.d/httpd start:
~# chkonfig –level 2345 httpd on
5. Установка АСР LANBilling
Для установки АСР LANBilling необходимо провести следующие действия:
Установить ядро системы:
~# rpm -ivh lbcore-2.0.20.0-1.el*.x86_64.rpm
Установить агент Radius VoIP:
~# rpm -ivh lbircd-2.0.20.0-1.el*.x86_64.rpm
здесь * - версия CentOS (5/6/7).
Скопировать php интерфейс АСР LANBilling в корневой каталог http-сервера:
~# cp -R /usr/local/billing/phpclient/* /var/www/html
6. Настройка АСР LANBilling
Настройки ядра системы LBcore находятся в файле /etc/billing.conf:
rdbhost = 127.0.0.1 rdbuser = billing rdbpass = billing rdbname = billing logfile = ./lbcore.log log_level = debug cfg_time = 60
Настройки агента LBircd находятся в файле /etc/billing.conf.LBircd:
rdbhost = 127.0.0.1 rdbuser = billing rdbpass = billing rdbname = billing sysid = 1 type = main logfile = ./lbircd.log log_level = verbose
Важно! sysid в параметрах настройки агента LBircd должен соответствовать id агента при его создании в web-интерфейсе.
В соответствии со значениями параметров rdbhost, rdbuser, rdbpass , rdbname определенных в конфигурационных файлах необходимо создать БД АСР LANBilling (пароль root для mysql по умолчанию отсутствует):
~# mysql -u root -p mysql> create database billing default charset utf8;
Далее следует отредактировать права доступа по примеру grant all on rdbname.* to 'rdbuser'@'rdbhost' identified by 'rdpass';
В нашем случае:
mysql> grant all on billing.* to 'billing'@'127.0.0.1' identified by 'billing'; mysql> grant all on billing.* to 'billing'@'localhost' identified by 'billing';
Создаём начальную структуру БД:
~# mysql -u root -p billing < /usr/local/billing/mysql/create.sql ~# mysql -u root -p billing < /usr/local/billing/mysql/catalog.sql
Запускаем LANBilling:
~# /etc/init.d/LBcore.init start
Далее следует зайти на web интерфейс через браузер Firefox или Internet Explorer по адресу http://ваш_IP_адрес/admin. По умолчанию логин - admin, пароль - без пароля.
7. Активация лицензии
Перед активацией лицензии необходимо отредактировать учётную запись пользователя «Default Operator» к которому будет привязана лицензия. Для этого необходимо выбрать пункт меню «Объекты» - «Пользователи» и нажать кнопку «».
Рисунок 1
Рисунок 2
Лицензия активируется в разделе «Опции» - «Общие» - «Активация».
Рисунок 3
Затем необходимо запустить агенты (без проведения процедуры активации лицензии агенты не работают):
~# /etc/init.d/LBircd.init start
8. Настройка системы
Настройка агентов и пользователей
Сначала создаём пользователей в меню «Объекты» - «Пользователи» - «Создать учетную запись». Логин и пароль должны совпадать с конфигурацией в sip.conf.
Для автоматизации этого процесса (заведение peer'а при создании учетной записи в биллинге) необходимо использовать скрипты vg.create, vg.delete, vg.edit, которые запускаются соответственно при создании, удалении и редактировании учетной записи. В параметрах этим скриптам передаются логин, пароль и присвоенный телефонный номер учетной записи. Пример скрипта для редактирования sip.conf: sip_edit.pl.txt.
Рисунок 4
Далее необходимо создать Агентов в той последовательности, чтобы id агента соответствовал sysid, указанному в конфигурационных файлах. Первому созданному агенту будет присвоен id=1, второму, соответственно 2 и т.д.
Для создания агента следует перейти в пункт меню «Объекты» - «Агенты» и нажать кнопку «Создать новый агент».
Секрет должен совпадать с тем, что указано в RADIUS_Secret конфигурационного файла extensions.conf. Для телефонии в нашем случае настройки агента будут выглядеть следующим образом:
Рисунок 5
Рисунок 6
В результате форма «Настройки агентов», пункт меню «Объекты» - «Агенты», будет выглядеть следующим образом:
Рисунок 7
Далее необходимо создать новый каталог. Для этого следует перейти к пункту меню «Свойства» - «Каталоги», нажать кнопку «Создать новый каталог» и добавить в него шаблоны номеров.
Название каталога: - «Общая связь»;
Тип: - «Телефонный каталог»;
Оператор: - «Operator_1».
Рисунок 8
Далее следует создать тариф для телефонии. Для этого необходимо выбрать пункт меню «Свойства» - «Тарифы» и нажать кнопку «Создать».
Рисунок 9
После сохранения тарифа, следует поменять названия категории «Default» на название «общая связь» и отредактировать направления входящих и исходящих звонков.
Создание учётных записей пользователей
Для создание учетной записи пользователя необходимо выбрать пункт меню «Объекты» - «Учётные записи» и нажать кнопку «Создать учётную запись».
Важно не забыть задать тариф на вкладке «Тарифы» и «Включить учетную запись» на вкладке «Блокировки», а так же, назначить учётной записи внутренний номер в поле «Идентифицировать».
Рисунок 10
9. Проверка работоспособности
После проведения тестовых звонков и интернет-соединений пользователя в пункте меню «Отчёты» - «Статистика» появится статистика по телефонии (вкладка «Временная статистика»).
Следует обратить внимание на выбор промежутка времени, за которое следует показать статистику.