Заглавная страница
Материал из BiTel WiKi
О BiTel Wiki
Здесь вы можете получить больше информации о продуктах BiTel: BGBilling, BGCRM, а также поделиться своим опытом с другими пользователями. В то время как документация часто предоставляет общие сведения о системе и ее настройках, в WiKi приводятся конкретные примеры.
Специалисты
Уважаемые "продвинутые пользователи". Здесь вы можете располагать записи со своими контактами для оказания воздмездной или безвозмездной помощи по настройке системы BGBilling пользователям, не столь далеко продвинувшимся. Желательно указывать ваши контактные данные и "специализацию". Отзывы по исполнителям можно оставить/почитать на форуме.
Имя | Специализация | Контакт | Примечания |
Алексей Самусенко | BGBilling, Cisco, Asterisk, etc | +7-905-976-83-08 мессенджеры | Большой опыт работы. Решение нестандартных задач, миграция, доработка, интеграция с внешними системами (asterisk, crm, пр.) |
Игорь Давыдов | Установка, настройка, поддержка биллинга, миграция с других | E-mail: link@hitbit.pro, ICQ: 462851472 | Написание скриптов, интеграция с любым оборудованием (IPTV, Интернет, DPI, Телефония), проекты любой сложности под любые задачи, автоматизация, оптимизация работы, Linux/FreeBSD и многое другое |
Рустам Тазуркаев | Mikrotik, переход с NetUp, CISCO | ||
Михаил Чернобаев | Скрипты биллинга, Java-расширения, интеграция с другими системами | e-mail: mstr.box@gmail.com | Автоматизация бизнес-процессов: скриптование в биллинге, расширение BGBS API, разработка инструментов интеграции с другими системами. Переход на BGBilling. |
Борис Близнюков | Скрипты биллинга, CISCO, Voip, Mera | Только бесплатные краткие консультации. Очень хороший специалист по CISCO. | |
Андрей Бехтерев | Cisco, UNIX, ISP, Asterisk | ICQ: 7021464 WEB: http://behterev.su/ | Обширный спектр оборудования. Консалтинг. |
Гершевич М.М. | Доработка конфигурации 1С и прочего ПО. | Тел. +79248454888 +7-(4162)-238-777 WEB: http://www.amurimpulse.ru/ mail: mike1008@mail.ru | Консалтинг. Информационная безопасность. Интеграция биллинга. Крупные проекты. Работа под заказ. |
Семён Кошечкин | Java | email/gtalk: | Скрипты, дополнения, модуль Inet. wiki |
Конференция BGBilling | Вопросы касаемо системы BGBilling | https://t.me/bgbilling | Администраторы АСР 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
- Пример юнита для systemd
- Скрипты автостарта демонов bgbilling для Debian
- Запуск BGBillingClient через Java Web Start
- Мониторинг Inet-Radius через JMX
- Интеграция существующего сертификата и приватного ключа SSL в хранилище keystore
- Адреса платежных шлюзов, для тех кто хочет без доступа в интернет произвести оплату
Настройка вспомогательного ПО
WildFly личный кабинет
- Включение https
- Смена Тарифного плана в Личном кабинете
- Как добавить в ЛК вывод необходимой суммы для открытия договора
MySQL
- Рекомендации по настройке MySQL
- Backup MySQL базы с помощью snapshot'ов (Linux, LVM)
- Настройка MySQL репликации
- Установка триггера в MySQL для отслеживания изменений
- Скрипт восстановления MySQL репликации
- Simple DB backup
- Galera
NetFlow
Технологии
Разработка
XSLT шаблоны
- Добавление параметров договора на страницу личного кабинета
- Карточки договора
- Создание XSLT/FO шаблона со штрихкодами
- Подстановка данных в зависимости от текущего пользователя биллинга
- Генерация прайса модуля IP телефонии в карточке договора
Счета
- Печать счета-фактуры и акта на отдельных листах
- Расширенные счета модуля бухгалтерии
- Квитанция телефонии физ. лицам
- Шаблоны вывода названия месяца
- Изменения в шаблоне в зависимости от месяца документа
- Добавление новых шрифтов в FO шаблоны
Интеграция с внешними системами
- Прямая интеграция с платежными терминалами ЭСФОР / SFOUR
- Интеграция с платежной системой с использованием модуля Card
- Интеграция с платежной системой Robokassa
- SMS рассылка через SMPP
- SMS рассылка через SMPP по средствам дин кода в 5.2
- Система учета "Заявки и Наряды" на java
- Bash скрипт-отсылка смс через телефон при отсутствие ping на заданный узел
- Запросы в личный кабинет пользователя сторонними системами
- Запросы к серверу биллинга сторонними системами
1С
- BGBilling-1C
- amurimpulse.ru bgbilling
- Integrator 1C-BGBilling
- Пример обращения к биллингу из 1С v.7.7
- Пример интеграции с 1С v.7.7
- Пример интеграции с 1С v.8.1
- Пример интеграции с 1С через custom API
- Установка unload_status счета через HTTP-запрос
Чат-боты
Динамический код (скрипты BGBS для старых версий)
Динамический код
- Конвертирование адреса
- Глобальная синхронзация услуг модуля npay с тарифным планом
- Новый номер договора группе договоров
- Скрипт проверки таймзон (timezone, tz, tzdata) в java
Комплексные решения
- Предоставление тестового периода пользования услугой
- Организация системы отслеживания и отключения КТВ должников на BGBS с использованием CRM плагина
- Автоматизация подключений VPN-клиентов с использованием CRM плагина
- Пример автоматизации подключения новых клиентов
Глобальные скрипты
- Скрипт глобальный отмены перехода на тарифы при неоплате
- Скрипт предоставление скидки пенсионерам
- Скрипт создания субдоговоров по шаблону
- Глобальное событие запуска сервера
- Перемещение в группу через 3 месяца если не было движения денег в наработке
- Поиск и изменение статусов у договоров
- Получение списка доступных действий в SQL
- Глобальный скрипт для удаления старых таблиц
- Глобальный скрипт для удаления старых таблиц 2
Пользовательские библиотеки скриптов
Ядро
- Смена тарифного плана по заданию пользователя
- Валидация текстового параметра
- Проверка ИНН/КПП при вводе
- Проверка параметра договора перед изменением
- Обработка смены параметра договора
- Создание списка дополнительных действий для договора
- Обработка события создания договора
- Обработка события "добавление услуги RSCM в договор" . Скипт сменяет тариф, подключает абонплату
- Приостановление договора клиентом через WEB
- Скрипт проверки баланса и отключения договора
- Изменение стандартной логики перетирания статусов
- Пример продажи OEM ключей с помощью скрипта
- Пример копирования тарифного плана
- Получение текущего пользователя биллинга
- Запуск скрипта до и после акшена
- Примеры скриптов до и после акшена
- Примеры динамического кода акшена и веб-сервисов
- Начисление бонусов на счет при платежах определенного типа
- Включение должников по приходу платежа
- Снижение лимита при внесении расхода
- Изменение суммы лимита определенной группе договоров
- Синхронизация услуг договора в соответствии с тарифными планами
- Добавление группы и снятие в зависимости от статуса
- Управление статусом договора по состоянию баланса
- Запрет на вход в личный кабинет с закрытых договоров
- Переход на понижающий тариф только со следующего месяца
- Пример создания своего интерфейса в клиенте
- Метки услуг
- Сравнение прав пользователей
- Свой список шаблонов договоров
- Модификация приходящего платежа (снятие процента)
- Подкрашивание договоров в поиске
- Пример добавления пунктов в ЛК редиректящих на url
- Фиксированные суммы для оплаты в старом ЛК
Модуль 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
- Изменение подписки карты через web (cerbercrypt)
- Управление подписками через веб (cerbercrypt)
- Дин.код для синхронизации pairing с внешнего cas
- Скрипт активации/деактивации карты при добавлении/удалении
Модуль NPay
- Определение размера абонентской платы
- Запуск переначисления в модуле NPay
- Дебетовые абонплаты. Снятие штрафа за разблокировку.
- Снятие абонентской платы в дебитовых договорах
- Предварительное уведомление о блокировке по дебетовым абонплатам
- Начисление абонплат по схеме 15-15
- Персональные цены для договоров
Модуль Phone
Модуль RSCM
Модуль VoiceIp
Модуль VoiceIp / Cкрипты предобработки RADIUS запросов
- Идентификация Voip оператора по подсети (транзит)
- Установка параметров звонка Voip
- Установка фиксированного пароля
- Разделение атрибута User-Name на логин и пароль
- Замена radius-атрибутов при авторизации
Плагин CRM
- Обработка выполненных задач в журнале задач
- Обработка задач по событию ядра "Поступление платежа", создание новой задачи и изменение существующей
- Пример получения информации о задаче
- Уведомления монтажников о новых активных задачах путем отправки SMS XML запросом
Плагин CashCheck
- Чек: добавление позиции
- Чек: завершение формирования
- Примеры скриптов CashCheck
- Примеры скриптов обработки онлайн-платежей
Плагин Documents
Плагин Assistant
Модуль Inet
Решения для модулей и плагинов
Модуль 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
- WiFi-портал с активацией по sms
- WiFi-портал с оплатой картой через assist
Модуль 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
- Конвертация и загрузка тарифов Телефонии в биллинг
- Примеры тарифных планов Телефонии
- Примеры реализации конверторов логов
- Генератор отчётности для Совинтел
Модуль Reports
- Редактирование отчетов в iReport
- Примеры отчётов
- Использование отчётов для организации универсального поиска
- Табличные отчёты с динамическими столбцами
- Табличные отчёты в динамическом коде
- Сохранение JasperReports-отчёта на сервере в pdf
Модуль TV
Модуль VoiceIP
- Интеграция Asterisk и BGBilling (Accounting) посредством скрипта предобработки запросов Radius
- Интеграция Asterisk и BGBilling (Accounting) посредством изменения программного кода Asterisk
- Интеграция c MVTS
- Интеграция c Cisco Call Manager Express (CME)
- Карточная IVR система на базе Cisco
- Примеры IVR скриптов для Cisco
- Пример настройки Cisco AS5350
- Продажа пакетов минут на направления
Плагин Dispatch
SQL-запросы
- Схема связки таблиц тарифов
- Разные SQL-запросы
- SQL-запрос: кто сколько платит на каждом тарифе
- Получение цен тарифов
- Работа с группами, битовые маски
- наработка по абонентке и услугам за месяц
CerberCrypt
Веб-Интерфейс
- Свой action в личном кабинете
- WebAction_CustomSuspend - управление статусом договора (v5.0)
- Изменение параметров договора из личного кабинета
- Как убрать ненужные действия в web
Протоколы
- Протокол дилерский платежей
- Протоколы, поддержанные в модуле MPS
- Протоколы, поддержанные в модуле Phone
- Медиа: Enaza.zip
- Медиа: Payonline.zip
FAQ
- Не запускается служба под Windows (BGBillingServer, BGCashcheckServer итд)
- Вопросы вместо русских букв
- Что происходит с пользователями при рестарте сервера биллинга и 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"
- Ошибка в логе "java.lang.OutOfMemoryError : unable to create new native Thread"
- Ошибка в клиенте "Action NOT FOUND!.."
- Inet FAQ
- java.lang.NoSuchMethodError
- Много таблиц npay_add_cost_detail и npay_detail
- Тормозит клиент BG под Windows
- Unable to load authentication plugin
DBInfo
Разработка ПО
В данном разделе собираются рекомендации по разработке ПО. Это накопленная годами и пополняемая база знания призвана упростить обучение в первую очередь разработчиков, работающих с применяемыми в BiTel технологиями: Java, Web (JS, HTML), СУБД MySQL, LINUX, GIT. И разрабатывающих схожие приложения: тиражируемые продукты для автоматизации процессов организаций. Всё предельно конкретно, поэтому большая часть примеров будет приведена на Java. Однако значительная часть описываемых проблем и принципов довольно фундоментальна и может быть полезна разработчиками в иных областях.
В общем
Java разработка
- Работа с git в Eclipse(EGit)
- Выявление неисправностей приложений
- Обращение к Web-сервису
- Работа с SQL в Java
- Встроенный Application сервер в приложении
- Потоки в Java
- Обработка ошибок
Полезные Java библиотеки
Наименование | Область применения |
JIMI | Обработка изображений |