Posts

Showing posts with the label биллинг

Структура базы телефонного биллинга

Для добавления новых коллекторов данных необходимо и достаточно создать БД определенного формата и заполнять в ней таблицу трафика (telephony_log). Привожу код утилиты, инициирующей структуру требуемой БД (утилита вызывается из коллекторов при создании новой БД при ротации). Также рекомендуем просмотреть код поставляемых коллекторов (файлы telephony_agent_tacacs.tcl и telephony_agent_callbuilder.tcl , размером около 15 килобайт каждый). Использование ./telephony_dataset_init.tcl Утилита инициализации БД для хранения телефонной статистики. Создает БД SQLite3 с указанным именем. Если не удалось создать БД, возвращает ошибку, иначе завершается без выдачи сообщений. Примечание: используются только стандартные функции СУБД SQLite 3.5.9, модули расширения для заполнения базы не требуются. Используйте программу следующим образом: ./telephony_dataset_init.tcl путь_БД telephony_dataset_init.tcl #!/usr/bin/tclsh8.5 # /opt/bin/telephony_dataset_init.tcl /srv/dataset/telephony/test.db pa...

Использование adp-wrapper в биллинге

Выгрузка отчетов В некоторых случаях бывает удобным иметь возможность получать отчеты с помощью скрипта, например, для их рассылки пользователям на e-mail. Для автоматизации таких задач нами предлагается скрипт-обертка adp_wrapper, обеспечивающий выполнение adp-скриптов без обращения к веб-серверу. Пример: ./adp_wrapper.tcl $MBGROOT/www/ext/report_ext_01/report_html_all.adp date $date user_id $id \ > $dir/${login}_all.html 2>/dev/null В комплект входит скрипт telephony_report_ext_01.tcl для выгрузки форм расширенного отчета №1, который вызывается следующим образом: MBGROOT=/var/www/billing2 ./telephony_report_ext_01.tcl 2009-10-01 2009-11-01 Приведенный ниже скрипт построит отчеты за 10-й и 11-й месяцы 2009 года для всех активных абонентов системы (за исключением провайдеров). Аналогично могут быть написаны скрипты для получения любых других отчетов, также можно добавить рассылку их на e-mail и т.п. telephony_report_ext_01.tcl #!/usr/bin/tclsh8.5 # start as # AOLROOT=/var/www/bi...

Утилиты телефонного биллинга

Представленное решение для биллинга поддерживает распределенную работу компонентов и их дублирование для реализации отказоустойчивости. В случае запуска всех компонентов на одном сервере конфигурация может быть достаточно простой, причем ее настройка для распределенной работы на нескольких хостах не представляет больших сложностей. Представленное решение включает в себя следующие файлы: набор тиклевых библиотек, некоторое множество SQLite баз данных, веб-сервер AOL Server с adp-скриптами для генерации web-интерфейса, набор консольных утилит и некоторые другие ресурсы. Система обрабатывает миллионы звонков в месяц на десктопном оборудовании без каких-либо дополнительных действий по оптимизации баз данных. Для обработки большего числа звонков необходимо ежесуточно выполнять команду VACUUM для БД статистики за текущий месяц. При еще больших масштабах может потребоваться разделять БД не по месяцам, а по неделям или даже дням. "Ядро" биллинговой системы выполняет обработку около ...

Телефонный биллинг: тариф "Направление посекундно"

Публикация имеет двоякий смысл - привести пример задачи, которую удобно выполнять именно на Tcl, а также обеспечить легкий доступ к этой информации для всех разработчиков и пользователей. Система MBG Billing позволяет администратору системы определять собственные скрипты тарификации, причем они могут хранить правила тарификации непосредственно в своем коде или вызывать любые функции системы, в том числе для обращения к БД. При старте веб-сервера AOL Web Server загружаются все скрипты тарифов, расположенные в определенной директории. Таким образом, для добавления нового скрипта достаточно положить его в поддиректорию tcl/telephony и перезапустить веб-сервер следующей командой sudo sv restart billing Здесь предполагается, что сервис имеет имя billing и управляется супервизором runit. После этого в веб-интерфейсе можно будет назначать вновь добавленный тариф и устанавливать его параметры. Скрипт биллингования также грузит все скрипты тарифов из вышеназванной директории. При следующем запу...