Установка
Начиная со сборки 008 LANBilling 2.0 Вase, необходимо произвести обязательную замену агента телефонии LBtcd на нового агента - LBphone. Для этого следует, в зависимости от используемой операционной системы, установить соответствующий пакет LBphone:
- RHEL/CentOS
rpm -ivh LBphone-2.0base-008-CentOS6_x86_64-20130927.rpm
- Debian/Ubuntu
dpkg -i LBphone-2.0base-008-Debian_6.0_amd64-20130927.deb
- FreeBSD
pkg_add LBphone-2.0base-008-FreeBSD_9.0_amd64-20130927.tgz
Конфигурация
Административный Web интерфейс
Важно: в том случае, если агент LBtcd уже настроен в web интерфейсе, то создавать дополнительного агента LBphone не нужно. Агент LBphone будет использовать ранее настроенную схему тарификации агента LBtcd. Все учетные записи, ранее принадлежавшие агенту LBtcd (в рамках одного SysID), будут принадлежать агенту LBphone.
Для перехода к форме конфигурации LBphone необходимо в административном web интерфейсе выбрать пункт меню «Объекты» - «Агенты», нажать кнопку «Создать нового агента» и, в открывшемся окне (см. рисунок), задать следующие параметры:
- «Тип»:
- PCDR - Plain CDR - источником для данного клиента являются текстовые или бинарные файлы, содержащие CDR записи о звонках.
- PABX / RS-232 - подключение к АТС осуществялется через порт RS-232.
- PABX / FIFO - подключение к АТС осуществляется через именованный канал (FIFO).
- PABX / TCP client - LBphone выступает как tcp клиент, а АТС как tcp сервер.
- PABX / TCP server - LBphone выступает в роли tcp сервера, а АТС как tcp клиент.
- «Название сервиса».
- «Описание».
- Раздел «Доступ к базе данных» - LBphone в отличии от LBtcd не работает на прямую с базой данных, а использует API LBcore. Так как подключение LBphone к LBcore определяется в конфигурационном файле (по умолчанию /etc/billing.conf.LBphone), раздел «Доступ к базе данных» можно не заполнять.
- Раздел «Особые настройки» - в данном разделе необходимо задать параметры «Алгоритм определения направления звонка», «Учитывать неудавшиеся вызовы» и «Определять оператора». Значения остальных переменных для агента LBphone определяются в конфигурационном файле.
- Раздел «Опции» - необходимо определить параметр «Хранить детализированные данные».
Конфигурационный файл
Рассмотрим параметры конфигурационного файла /etc/billing.conf.LBphone:
- server = admin:passwod@127.0.0.1:1502 - настройки подключения к LBcore, где:
- admin/password - логин/пароль менеджера, параметры определяемые в административном web интерфейсе, в форме «Менеджеры».
- 127.0.0.1 - адрес, 1502 - порт, по которым LBphone будет обращаться к LBcore через JSON запросы. Для корректной работы системы необходимо проверить «прослушивание» данного порта ядром Lbcore (netstat -ntlp |grep LBcore). Если LBcore «не слушает» данный порт, необходимо изменить соответствующие настройки в его конфигурационном файле.
- agent_id - параметр, соответствующий ID агента в административном web интерфейсе.
- parser = ./parser/siemens-5.bin - параметр ссылающийся на бинарный файл или скрипт, который преобразует данные поступающие с АТС в нужную форму. В обычном пакете LBphone есть набор парсеров, расположенный в каталоге /usr/local/billing/parsers/.
- save_data_dir - каталог, где LBphone хранит обработанные данные АТС.
Для агента CDR
- source_dir - каталог, где располагаются файлы АТС для агента LBphone.
Для агенат PABX / RS-232
- source_com_port = /dev/ttyS0,0,1,1,0 - параметр, в котором по порядку заданы: «Порт устройства», «Скорость», «Четность», «Число бит данных», «Число стоповых бит».
Для агента PABX / FIFO
- source_pipe = /var/run/pipe, где /var/run/pipe - файл потока.
Для агента PABX / TCP client
- source_tcp_client = 127.0.0.1:1111, где 127.0.0.1 и 1111 адрес и порт на котором работает АТС как TCP сервер.
Для агента PABX / TCP server
- source_tcp_server = 127.0.0.1:1111, где 127.0.0.1 и 1111 - адрес и порт которые будет «прослушивать» LBphone.
Парсер
Работу парсера можно проверить без использования LBcore и сохранения данных в базу. Для этого в консоли необходимо выполнить следующие команды:
cd /usr/local/billing/ cat cdr.file | ./parsers/parser.bin
где cdr.file - файл CDR, а ./parsers/parser.bin - парсер, подходящий под данный формат.
В результате, данные CDR файла будут преобразованы согласно настройкам парсера. Если количество обработанных записей соответствует исходному, следует проверить корректность формата этих данных. Для этого необходимо выполнить команду:
cat cdr.file | ./parsers/parser.bin | ./LBphone --validate
LBphone проверит каждую запись на соответствие и в случае ошибки в формате данных выдаст в соответствующей строке предупреждение «String not valid».
Переключение на LBphone
Для переключения необходимо остановить LBtcd и выполнить команду:
/etc/init.d/LBtcd.init stop && /etc/init.d/LBphone.init start