Заглавная страница
Материал из BiTel WiKi
О BiTel Wiki
Здесь вы можете получить больше информации о продуктах BiTel: BGBilling, BGCRM, а также поделиться своим опытом с другими пользователями. В то время как документация часто предоставляет общие сведения о системе и ее настройках, в WiKi приводятся конкретные примеры.
Специалисты
Уважаемые "продвинутые пользователи". Здесь вы можете располагать записи со своими контактами для оказания воздмездной или безвозмездной помощи по настройке системы BGBilling пользователям, не столь далеко продвинувшимся. Желательно указывать ваши контактные данные и "специализацию".
Имя | Специализация | Контакт | Примечания |
Рустам Тазуркаев | Mikrotik, переход с NetUp, CISCO | ||
Михаил Чернобаев | Скрипты биллинга, FreeBSD MPD | ICQ: 262986492 | Скриптование в биллинге, возможны крупные проекты. |
Борис Близнюков | Скрипты биллинга, CISCO, Voip, Mera | Только бесплатные краткие консультации. Очень хороший специалист по CISCO. | |
Андрей Бехтерев | Cisco, UNIX, ISP, Asterisk | ICQ: 7021464 WEB: http://behterev.su/ | Обширный спектр оборудования. Консалтинг. |
Гершевич М.М. | Доработка конфигурации 1С и прочего ПО. | Тел. +79145584000 +7-(4162)-518-777 WEB: http://www.amurimpulse.ru/ mail: mike1008@mail.ru | Консалтинг. Информационная безопасность. Интеграция биллинга. Крупные проекты. Работа под заказ. |
Конференция BGBilling | вопросы касаемо системы BGBilling | bgbilling@conference.jabber.ru | Администраторы АСР BGBillig(иногда и разработчики) помогают друг другу в разных вопросах. |
BGBilling
Установка
- Установка на gentoo
- Установка на Sun Solaris
- Установка на Slackware
- Установка на FreeBSD
- Установка на Ubuntu 8 Desktop
- Установка на Ubuntu 9.10 Desktop
Перенос данных в биллинг
- Пример конвертера данных из csv-файлов в базу BGBilling
- Пример конвертера данных из CSV-файлов в базу BGBilling - 2
- Пример конвертера данных из CSV-файлов в базу BGBilling - 3
- Конвертер базы Netup
- Примеры конвертеров данных из других биллинговых систем
Администрирование
- Разграничение прав действий
- Настройка безопасности сервера биллинга и компонентов биллинга
- Принудительный останов процессов биллинга
- Использование подписанного SSL сертификата
- Запуск scheduler и data_loader с другими портами управления
- Мониторинг java-процессов по snmp
- Скрипты автостарта демонов bgbilling для Debian
- Запуск BGBillingClient через Java Web Start
- Мониторинг Inet-Radius через JMX
Настройка вспомогательного ПО
MySQL
- Рекомендации по настройке MySQL
- Backup MySQL базы с помощью snapshot'ов (Linux, LVM)
- Настройка MySQL репликации
- Установка триггера в MySQL для отслеживания изменений
- Скрипт восстановления MySQL репликации
NetFlow
Технологии
Разработка
XSLT шаблоны
- Добавление параметров договора на страницу личного кабинета
- Карточки договора
- Создание XSLT/FO шаблона со штрихкодами
- Подстановка данных в зависимости от текущего пользователя биллинга
- Генерация прайса модуля IP телефонии в карточке договора
Счета
- Печать счета-фактуры и акта на отдельных листах
- Расширенные счета модуля бухгалтерии
- Квитанция телефонии физ. лицам
- Шаблоны вывода названия месяца
- Изменения в шаблоне в зависимости от месяца документа
- Добавление новых шрифтов в FO шаблоны
Интеграция с внешними системами
- Прямая интеграция с платежными терминалами ЭСФОР / SFOUR
- Интеграция с платежной системой с использованием модуля Card
- Интеграция с платежной системой Robokassa
- SMS рассылка через SMPP
- SMS рассылка через SMPP по средствам дин кода в 5.2
- Система учета "Заявки и Наряды" на java
- Bash скрипт-отсылка смс через телефон при отсутствие ping на заданный узел
- Запросы в личный кабинет пользователя сторонними системами
- Запросы к серверу биллинга сторонними системами
1С
- Пример обращения к биллингу из 1С v.7.7
- amurimpulse.ru bgbilling
- Integrator 1C-BGBilling
- Пример интеграции с 1С v.7.7
- Пример интеграции с 1С v.8.1
- Установка unload_status счета через HTTP-запрос
Скрипты BGBS
Комплексные решения
- Предоставление тестового периода пользования услугой
- Организация системы отслеживания и отключения КТВ должников на BGBS с использованием CRM плагина
- Автоматизация подключений VPN-клиентов с использованием CRM плагина
- Пример автоматизации подключения новых клиентов
Глобальные скрипты
- Скрипт глобальный отмены перехода на тарифы при неоплате
- Скрипт предоставление скидки пенсионерам
- Скрипт создания субдоговоров по шаблону
- Глобальное событие запуска сервера
- Перемещение в группу через 3 месяца если не было движения денег в наработке
- Поиск и изменение статусов у договоров
- Получение списка доступных действий в SQL
- Глобальный скрипт для удаления старых таблиц
Пользовательские библиотеки скриптов
Ядро
- Смена тарифного плана по заданию пользователя
- Валидация текстового параметра
- Проверка ИНН/КПП при вводе
- Проверка параметра договора перед изменением
- Обработка смены параметра договора
- Создание списка дополнительных действий для договора
- Обработка события создания договора
- Обработка события "добавление услуги RSCM в договор" . Скипт сменяет тариф, подключает абонплату
- Приостановление договора клиентом через WEB
- Скрипт проверки баланса и отключения договора
- Изменение стандартной логики перетирания статусов
- Пример продажи OEM ключей с помощью скрипта
- Пример копирования тарифного плана
- Получение текущего пользователя биллинга
- Запуск скрипта до и после акшена
- Примеры скриптов до и после акшена
- Примеры динамического кода акшена и веб-сервисов
- Начисление бонусов на счет при платежах определенного типа
- Включение должников по приходу платежа
- Снижение лимита при внесении расхода
- Синхронизация услуг договора в соответствии с тарифными планами
- Добавление группы и снятие в зависимости от статуса
- Управление статусом договора по состоянию баланса
- Запрет на вход в личный кабинет с закрытых договоров
- Переход на понижающий тариф только со следующего месяца
- Пример создания своего интерфейса в клиенте
- Метки услуг
- Сравнение прав пользователей
- Свой список шаблонов договоров
Модуль Bill
- Создание счета в модуле Bill
- Создание счета из суммы платежей по классу договоров
- Создание счета по таблице позиций
- Создание счета и счет-фактур в модуле Bill(выполнение тех же действий что и руками)
- Распечатка счетов в pdf по событию генерации счета
- Внешняя программа на JAVA для синхронизации номеров счетов и актов выполненных работ (версия BGBilling 5.0)
Модуль DialUp
- Запуск переначисления в модуле DialUp
- Передача ACCEPT вместо REJECT вместе с доп. аттрибутами
- Обработка запроса учетного периода
- Обработка запроса учетного периода (переинициализация тарифа в пределах сессии)
- Ограничение доступа для различных групп пользователей для BGRadiusDialup
- Детальное информирование абонентов о причинах ошибки 691
- Аутентификация с учетом Calling-Id-Station
- Доп. действие сброса активных соединений
- Открытие абонплаты по первой установке соединения
- Пересчет трафика по данным Radius (при потерянных Netflow-логах)
- Отключение Fake сессий при приходе платежа
- Ограничение доступа на основе объектов
Модуль DialUp / Cкрипты предобработки RADIUS запросов
- Уcтановка услуги типа "Время" для BGRadiusDialup
- Установка фиксированного пароля
- Нормализация параметра Acct-Session-Id у маршрутизатора Cisco
- Разделение атрибута User-Name на логин и пароль
- Вынос MAC адреса из cisco-avp-pair в Calling-Station-Id
- Копирование Тunnel-Client-Endpoint/Tunnel-Server-Endpoint в Calling-Station-Id/Called-Station-Id
- Замена radius-атрибутов при авторизации
Модуль Inet / Cкрипты предобработки RADIUS запросов
Модуль СerberСrypt
Модуль NPay
- Определение размера абонентской платы
- Запуск переначисления в модуле NPay
- Дебетовые абонплаты. Снятие штрафа за разблокировку.
- Снятие абонентской платы в дебитовых договорах
- Предварительное уведомление о блокировке по дебетовым абонплатам
Модуль Phone
Модуль RSCM
Модуль VoiceIp
Модуль VoiceIp / Cкрипты предобработки RADIUS запросов
- Идентификация Voip оператора по подсети (транзит)
- Установка параметров звонка Voip
- Установка фиксированного пароля
- Разделение атрибута User-Name на логин и пароль
- Замена radius-атрибутов при авторизации
Плагин CRM
- Обработка выполненных задач в журнале задач
- Обработка задач по событию ядра "Поступление платежа", создание новой задачи и изменение существующей
- Пример получения информации о задаче
- Уведомления монтажников о новых активных задачах путем отправки SMS XML запросом
Плагин CashCheck
Плагин Documents
Решения для модулей и плагинов
Модуль DialUP
- Настройка Lucent Ascend MAX6000 в качестве DialUP сервера
- Настройка Dial-IN сервера FreeBSD PPPD
- Настройка VPN сервера LINUX PPPD + POPTOP
- Настройка шейпера в LINUX PPPD
- Настройка VPN сервера FreeBSD MPD
- Настройка PPPoE сервера на Cisco-роутере
- Настройка PPPoE и/или РРТР (VPN) на Mikrotik
- Проблема с прохождением update пакетов и сброса сессий в Debian и Ubuntu дистрибутивах
- Настройка Dial-IN Windows RRAS сервера
- VPN доступ с повременной тарификацией на базе FreeBSD MPD
- Организация семейства UNLIMIT тарифов на базе FreeBSD MPD
- Примеры тарифных планов VPN/DialUp
- Отключение сессий по PoD на CISCO
- Пример скрипта управления уровнями BGRadiusDialup
- Настройка cisco с поддеркой ISG
- Настройка BGBilling c поддеркой ISG
- Настройка BGBilling с RedBack SmartEdge (PPPOE)
Модуль E-Mail
- Почтовая система Exim + Cyrus + OpenLDAP на FreeBSD
- Postfix/MySQL/BGBilling
- Postfix+dovecot+ldap
- Postfix+Mysql+Virtual domains
Модуль Inet
- Inet FAQ
- Схемы подключения
- Расширения
- Конвертеры из IPN в INET
- Конвертер: логины Dialup в сервисы inet
Модуль IPN
- IP/VPN
- Примеры тарифных планов IPN
- Настройка BGIPNNetflowCollector
- Методика определения причины отсутствия трафика в отчете договора
- Связка с flow-tools
- Экспорт Netflow-данных в формат Nfdump
- Реалиазация шлюза на Cisco
- Реализация шлюзов на BeanShell,примеры стандартных и других шлюзов (Manad, Cisco, Zyxel, Mikrotik)
- Изменения в manad для работы с одним pipe на множество IP адресов
- FreeBSD manad, понимающий изменения правил в тарифах
- Табличный FreeBSD manad, понимающий изменения правил в тарифах
- Пример реализации скриптового универсального шлюза
- Конвертер привязок услуг dialup в привязки ipn
- Реализация скрипта Manad
- Настройка шлюза Mikrotik
- Обновление номеров интерфейсов при замене роутера
Модуль Phone
- Конвертация и загрузка тарифов Телефонии в биллинг
- Примеры тарифных планов Телефонии
- Примеры реализации конверторов логов
- Генератор отчётности для Совинтел
Модуль VoiceIP
- Интеграция Asterisk и BGBilling (Accounting) посредством скрипта предобработки запросов Radius
- Интеграция Asterisk и BGBilling (Accounting) посредством изменения программного кода Asterisk
- Интеграция c MVTS
- Интеграция c Cisco Call Manager Express (CME)
- Карточная IVR система на базе Cisco
- Примеры IVR скриптов для Cisco
- Пример настройки Cisco AS5350
Модуль Reports
- Редактирование отчетов в iReport
- Примеры отчётов
- Использование отчётов для организации универсального поиска
- Табличные отчёты с динамическими столбцами
- Табличные отчёты в динамическом коде
Плагин Dispatch
SQL-запросы
- Схема связки таблиц тарифов
- Разные SQL-запросы
- SQL-запрос: кто сколько платит на каждом тарифе
- Получение цен тарифов
- Работа с группами, битовые маски
- наработка по абонентке и услугам за месяц
CerberCrypt
Веб-Интерфейс
- Свой action в личном кабинете
- WebAction_CustomSuspend - управление статусом договора (v5.0)
- Изменение параметров договора из личного кабинета
- Как убрать ненужные действия в web
Протоколы
- Протокол дилерский платежей
- Протоколы, поддержанные в модуле MPS
- Протоколы, поддержанные в модуле Phone
- Медиа: Enaza.zip
- Медиа: Payonline.zip
FAQ
- Не запускается служба BSBillingServer под Windows
- Вопросы вместо русских букв
- Что происходит с пользователями при рестарте сервера биллинга и BGRadiusDialup
- Тарификация максимального трафика
- Field ... doesn't have a default value
- Character set ‘cp1251' is not a compiled character set and is not specified in the ‘C:\mysql\\share\charsets\Index.xml’ file
- com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Unknown database 'bgbilling'
- Договор не отображается в поиске
- PPPD проблема с сессиями больше 4ГБ
- Меню личного кабинета
- FreeBSD: Java.lang.NoClassDefFoundError: javax/xml/bind/DataBindingException
- Manad: после некоторого количества договоров начинает передавать данные на биллинг неправильно
- Ошибка выполнения скиптов: Undefined argument:
- Ошибка в логе "Too many open files"
- Ошибка в клиенте "Action NOT FOUND!.."
- Inet FAQ
BGCRM
Плагин BGBilling
Плагин Document
Плагин Report
DBInfo
Разработка ПО
В данном разделе собираются рекомендации по разработке ПО. Это накопленная годами и пополняемая база знания призвана упростить обучение в первую очередь разработчиков, работающих с применяемыми в BiTel технологиями: Java, Web (JS, HTML), СУБД MySQL, LINUX, GIT. И разрабатывающих схожие приложения: тиражируемые продукты для автоматизации процессов организаций. Всё предельно конкретно, поэтому большая часть примеров будет приведена на Java. Однако значительная часть описываемых проблем и принципов довольно фундоментальна и может быть полезна разработчиками в иных областях.
В общем
Java разработка
- Выявление неисправностей приложений
- Обращение к Web-сервису
- Работа с SQL в Java
- Встроенный Application сервер в приложении
- Потоки в Java
- Обработка ошибок
Полезные Java библиотеки
Наименование | Область применения |
JIMI | Обработка изображений |