forum.bitel.ru
http://forum.bitel.ru/

Phone Hello Word или как пощитать первый звонок
http://forum.bitel.ru/viewtopic.php?f=10&t=4497
Страница 1 из 2

Автор:  Вячеслав2 [ 31 авг 2010, 15:51 ]
Заголовок сообщения:  Phone Hello Word или как пощитать первый звонок

Установлеа версия 5.0 на Debian Linux (Проблем с установкой никаких)

В систему добавлен модуль Phone. (тоже без проблем.)

Созданы договор, к договору добавлены номера телефонов.
Создан тарифный план.
В договор добавлен модуль Phone и присвоены пойнты.
В договоре назначен тарифный план.

Написан парсер стандартных CDR файлов, получаемых от Asterisk
и создающий этот загадочный формат из дерева хитроназываемых zip архивов

Импортированы Географические коды и привязана карта зон.

В менеджере источников создан источник, он настроен (выбрана локальная директория для загрузки)
Загружены CDR за месяц. (В логах dataloader.error.log ни одной ошибки )

В базе данных для модуля Phone появились таблицы
data_log_{mid}_yyyyMMdd ,
но таблиц log_incoming_session_{mid}_yyyyMM
и
log_session_{mid}_yyyyMM нет.

А что дальше то?

Как заставить биллинг разделить вызовы на входящие и исходящие?
Что нужно сделать, чтобы в Модуле Phone а вкладке Отчет появилось
хоть что-то?

Кто нибудь может закончить этот Step-by-step?
Уж очень хочется посчитать первый звонок!
BG Hello Word !


P. S. Разработчики, Вами написаны куча страниц документации,
описан каждый модуль и каждое окошко.
Но нигде нет простого руководства из нескольких шагов,
которое просто заставляет этот биллинг считать.

Автор:  max [ 01 сен 2010, 21:26 ]
Заголовок сообщения:  Re: Phone Hello Word или как пощитать первый звонок

не пробовали вот тут почитать?
http://bgbilling.ru/v5.0/doc/ch19.html

Автор:  Вячеслав2 [ 02 сен 2010, 18:59 ]
Заголовок сообщения:  Re: Phone Hello Word или как пощитать первый звонок

Спасибо за интересную, а главное полезную ссылку! :D
Может ещё поможете, Вы переводить Русский умеете? :?:
http://bgbilling.ru/v5.1/doc/ch19s07.html

Может переведёте следующую фразу на русский язык:

>>Для подключения модуля телефонии в договор добавьте одну или несколько услуг модуля к договору.
>>Для модуля телефонии в данный момент наличие той или иной услуги модуля в договоре кроме
>>подключения модуля к договору не означает.



PS. Толко ссылку на Google переводчик просьба не давать.

Автор:  max [ 02 сен 2010, 19:52 ]
Заголовок сообщения:  Re: Phone Hello Word или как пощитать первый звонок

забейте на на эти строки, это пережиток прошлого, или баг документации если хотите.
текст там должен быть такой: для подключения модуля добавьте его в договор.

Автор:  paramonies [ 08 сен 2010, 14:06 ]
Заголовок сообщения:  Re: Phone Hello Word или как пощитать первый звонок

Столкнулся с аналогичной проблемой.
BGB не обрабатывает логи.
В БД создается data_log_{mid}_yyyyMMdd.
В файлах dataloader.log и dataloader.error.log ошибок нет.
Файл с логами:
Изображение
Имеется договор.
В договор добавлен модуль Phone и присвоен пойнт с номером 79263661502.
Изображение
Изображение
Изображение
Изображение
В договор добавлен тарифный план:
Изображение


Подскажите, что не так делаю?

Автор:  Вячеслав2 [ 08 сен 2010, 14:43 ]
Заголовок сообщения:  Re: Phone Hello Word или как пощитать первый звонок

У меня тоже с обсчётом проблема, поставил две версии 5.0 и 4.6 и ни одна считать не хочет.
Вы в Сервис -> Планировщик заданий
задание на обработку лога добавили?
Или лог загружали вручную в Phone -> Менеджер источников

Посмотрите в лог файле server.error.log
Если есть такие ошибки, то считать точно не будет:

server 09-04/00:18:10 ERROR [http-8080-2] LoggingPrintStream - at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
server 09-04/00:18:10 ERROR [http-8080-2] LoggingPrintStream - at com.mysql.jdbc.Util.getInstance(Util.java:381)
server 09-04/00:18:10 ERROR [http-8080-2] LoggingPrintStream - at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1030)
server 09-04/00:18:10 ERROR [http-8080-2] LoggingPrintStream - at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
server 09-04/00:18:10 ERROR [http-8080-2] LoggingPrintStream - at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3515)
server 09-04/00:18:10 ERROR [http-8080-2] LoggingPrintStream - at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3447)
server 09-04/00:18:10 ERROR [http-8080-2] LoggingPrintStream - at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1951)
server 09-04/00:18:10 ERROR [http-8080-2] LoggingPrintStream - at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2101)
server 09-04/00:18:10 ERROR [http-8080-2] LoggingPrintStream - at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2554)
server 09-04/00:18:10 ERROR [http-8080-2] LoggingPrintStream - at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1761)
server 09-04/00:18:10 ERROR [http-8080-2] LoggingPrintStream - at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2046)
server 09-04/00:18:10 ERROR [http-8080-2] LoggingPrintStream - at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1964)
server 09-04/00:18:10 ERROR [http-8080-2] LoggingPrintStream - at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1949)


Вложения:
.jpg
.jpg [ 108.75 КБ | Просмотров: 54722 ]

Автор:  paramonies [ 08 сен 2010, 14:53 ]
Заголовок сообщения:  Re: Phone Hello Word или как пощитать первый звонок

Логи загружал вручную.
Файл server.error.log пустой.

Автор:  Cromeshnic [ 08 сен 2010, 14:56 ]
Заголовок сообщения:  Re: Phone Hello Word или как пощитать первый звонок

Обработку логов тыркали?

Автор:  paramonies [ 08 сен 2010, 15:52 ]
Заголовок сообщения:  Re: Phone Hello Word или как пощитать первый звонок

да, добавлял в загрузку текущий источник

Автор:  Cromeshnic [ 08 сен 2010, 18:08 ]
Заголовок сообщения:  Re: Phone Hello Word или как пощитать первый звонок

Нене, сначала загрузка, потом "Добавить в обаботку (текущий истоник)"

Автор:  Вячеслав2 [ 08 сен 2010, 18:18 ]
Заголовок сообщения:  Re: Phone Hello Word или как пощитать первый звонок

Можно ещё и так загружать попробовать:

Код:
cd /usr/local/BGBillingServer
./data_loader.sh -eload=2010-09-08-15-1


В примере загружаем лог за сегодня за 15-ти часовой интервал

В общем когда есть три пути достижения одного и того-же,
часто бывает что ни один путь нормально не работает.

Автор:  paramonies [ 08 сен 2010, 19:28 ]
Заголовок сообщения:  Re: Phone Hello Word или как пощитать первый звонок

Цитата:
Нене, сначала загрузка, потом "Добавить в обаботку (текущий истоник)"

имеется ввиду запуск скрипта data_loader_start.sh?

Кстати такой вопрос еще в мануале написано, что "Логи группируются в каталоги по дням и месяцам.",
и в примере логов с сайте тоже структура ./год/месяц/день/зипованные часы - день_час.zip
У меня биллинг понимает ./год/месяц/день_час.zip, а если сделать с разбивкой по дням,то в логах появляются
ошибки - не найдены файлы день_час.zip

Автор:  Вячеслав2 [ 08 сен 2010, 20:14 ]
Заголовок сообщения:  Re: Phone Hello Word или как пощитать первый звонок

Читаю в документации по версии 5.0 (в документации по версии 4.6 аналогично)
>>Логи должны быть разбиты по АТС и по часовым интервалам, при этом имя файла формируется по шаблону dd_HH, >>файл помещается в zip архив с именем dd_HH.zip. Логи группируются в каталоги по дням и месяцам.

Смотрю этот пример:
ftp://ftp.bitel.ru/pub/projects/bgbilli ... /source_1/
Вроде директории /день
там нету

Проверьте в файле data_loader.sh путь к Java машине, может он неверный,
но и в логах ничего не будет.
У меня путь такой:

Код:
#!/bin/sh

cd ${0%${0##*/}}.
JAVA_HOME=/usr

Автор:  Cromeshnic [ 08 сен 2010, 21:26 ]
Заголовок сообщения:  Re: Phone Hello Word или как пощитать первый звонок

Если загружаете в клиенте биллинга руками, то там есть два действия: "загрузка" и "обработка". Выделяете область на месячной сетке и тыркаете правой клавишей.

Загрузка - простое перемещение сырых данных CDR из файлов в таблицы data_log_...
Обработка - собственно тарификация и помещение данных по сессиямм в log_session_...
Ещё есть установка баланса.

В планировщике за это отвечают 2 задачи: "Генератор заданий на загрузку логов" - выполняет загрузку и обработку, и "Установка баланса Телефонии"

Автор:  paramonies [ 08 сен 2010, 21:36 ]
Заголовок сообщения:  Re: Phone Hello Word или как пощитать первый звонок

С директорией день - вопрос снимается.
Сделал все еще проще
Сейчас обновил модуль до версии 88. Удалил и снова создал модуль в биллинге.
создал 2 файла - 01_00.zip
Код:
01.09.2010 00:00:49   53   89263661515   79263661515   89266297272   79266297272   0   0   0

02_00.zip
Код:
02.09.2010 00:00:49   53   89263661515   79263661515   89266297272   79266297272   0   0   0


Файлы расположены в директории /home/2010/09/

Создал источник логов
Изображение
и две категории ресурсов к каждой из которых прявязал номера 79263661515 и 79266297272
Изображение
Изображение

номера к договору не привязывал.
но в журнале ошибок пусто.

В dataloader.log
Код:
09-08/19:16:14  INFO [Thread-11] dataloader - 477 Load data from: /home/2010/09/01_00.zip
09-08/19:16:14  INFO [Thread-12] dataloader - 478 Load data from: /home/2010/09/02_00.zip
09-08/19:16:14  INFO [Thread-11] dataloader - 477 Set to load /home/2010/09/01_00.zip
09-08/19:16:14  INFO [Thread-12] dataloader - 478 Set to load /home/2010/09/02_00.zip
09-08/19:16:22  WARN [Thread-0] dataloader - Skip line:
09-08/19:16:22  WARN [Thread-0] dataloader - Skip line:
09-08/19:16:22  INFO [Thread-0] dataloader - 477 End task => 9/3 sec. [8]
09-08/19:16:23  INFO [Thread-0] dataloader - 478 End task => 8/0 sec. [1]
09-08/19:16:23  INFO [Thread-0] Setup - Load config for mid=5
09-08/19:16:23  INFO [Thread-0] dataloader - tariff.only.month=false store.incoming.calls=false
09-08/19:16:23  INFO [Thread-0] dataloader - Create new traffic cache
09-08/19:16:23  INFO [Thread-0] dataloader - Create new month item finder...
09-08/19:16:23  INFO [Thread-0] dataloader - Create new item finder...
09-08/19:16:24  INFO [Thread-0] dataloader - Item loaded By num: 0; by port: 0; rules: 0
09-08/19:16:24  INFO [Thread-0] CostMapCache - (Re)loading costMap cache and geo codes for mid 5
09-08/19:16:24  INFO [Thread-0] dataloader - proccess [01-09-2010 00:00:00; mid => 5; param => 4] ; records => 6; cl_ses => 0; in_ses => 0; op_ses => 0; time => 1119/302 ms.
09-08/19:16:24  INFO [pool-1-thread-1] dataloader - proccess [01-09-2010 00:00:00; mid => 5; param => 4]  session inserted => 11 ms.
09-08/19:16:24  INFO [Thread-0] dataloader - tariff.only.month=false store.incoming.calls=false
09-08/19:16:25  INFO [Thread-0] dataloader - Create new traffic cache
09-08/19:16:25  INFO [Thread-0] dataloader - Use month item cache..
09-08/19:16:25  INFO [Thread-0] dataloader - Create new item finder...
09-08/19:16:25  INFO [Thread-0] dataloader - Item loaded By num: 0; by port: 0; rules: 0
09-08/19:16:25  INFO [Thread-0] dataloader - proccess [02-09-2010 00:00:00; mid => 5; param => 4] ; records => 1; cl_ses => 0; in_ses => 0; op_ses => 0; time => 570/71 ms.
09-08/19:16:25  INFO [pool-1-thread-2] dataloader - proccess [02-09-2010 00:00:00; mid => 5; param => 4]  session inserted => 5 ms.

В dataloader.out
Код:
Java Runtime: Sun Microsystems Inc. Java HotSpot(TM) Client VM [1.6.0_21] /opt/java/jre1.6.0_21
  Java endorsed dirs: /opt/java/jre1.6.0_21/lib/endorsed
  OS: Linux 2.6.18-164.el5 [i386], file.encoding: UTF-8, user.name: root
  Heap sizes: current=4992k  free=4519k  max=253440k
Checking port 9033...
Port is already bisy.

Автор:  Вячеслав2 [ 08 сен 2010, 21:40 ]
Заголовок сообщения:  Re: Phone Hello Word или как пощитать первый звонок

Поясните пожалуйста, а зачем при ручном добавлении
через "Менеджер источников" нужен ещё и планировщик?

Или собственно загрузку может выполнить только "Генератор заданий на загрузку логов"
в указанное время.

Провёл такой эксперимент:
Положил логи в локальную директорию и выбрал в Менеджер источников -> выделил зону -> Добавить в загрузку.
В базе данных никаких изменений.
После этого Менеджер источников -> выделил зону-> Добавить в обработку.
В базе создались две пустые таблицы:
log_session_1_201008
data_log_error_201008


Теперь надо добавить задачу в планировщик и он, выполняясь с указанным периодом,
заполнит первую таблицу?

Автор:  Вячеслав2 [ 08 сен 2010, 21:47 ]
Заголовок сообщения:  Re: Phone Hello Word или как пощитать первый звонок

Может у Вас кто-то подло занял порт 9033 ?

У меня в dataloader.out только вот это:
Код:
Checking port 9033...
Port is free starting the applicalion...
Starting DLProcessManager on 9033
Creating socket on 9033
08.09.2010 18:41:19 Executing status

Автор:  paramonies [ 10 сен 2010, 10:06 ]
Заголовок сообщения:  Re: Phone Hello Word или как пощитать первый звонок

Переустановил модуль Телефония, логи начали попадать в журнал ошибок.

Изображение

Созданы два договоря, в которые включены номера из CDR

Изображение

Изображение

Созданы 2 категории ресурсов, куда включены номера из данного CDR

Изображение

Создана географическая карта, накоторую наложена зона и в тарифном плане этой зоне присвоена цена.

Скольцо цифр могут включать номера NUM_FROM_164 и NUM_TO_164?


Изображение

Почему запись не попадает в отчеты модуля телефония?
Что еще надо привязать?
Сколько цифр могут включатать номера NUM_FROM_164, NUM_TO_164?

Автор:  logicall [ 10 сен 2010, 11:50 ]
Заголовок сообщения:  Re: Phone Hello Word или как пощитать первый звонок

paramonies писал(а):
Почему запись не попадает в отчеты модуля телефония?
Что еще надо привязать?
Сколько цифр могут включатать номера NUM_FROM_164, NUM_TO_164?


Запись не попадает, т.к. надо создать тарифный план с указанием услуги, цены и карты зон

NUM_FROM_164 и NUM_TO_164 - номер в международном формате

NUM_FROM_164 - должен выглядеть как прописано в ресурсах

А NUM_TO_164 - как в географ. кодах и ТП

Автор:  paramonies [ 10 сен 2010, 13:17 ]
Заголовок сообщения:  Re: Phone Hello Word или как пощитать первый звонок

Тарифный план был,вот
Изображение

Автор:  logicall [ 10 сен 2010, 13:37 ]
Заголовок сообщения:  Re: Phone Hello Word или как пощитать первый звонок

paramonies писал(а):
Тарифный план был,вот

А где у тебя услуга в ТП?

Вот алгоритм обработки http://www.bgbilling.ru/v5.1/doc/ch19s07.html в самом низу

Автор:  paramonies [ 10 сен 2010, 14:25 ]
Заголовок сообщения:  Re: Phone Hello Word или как пощитать первый звонок

Услугу завел:

Изображение

В тарифный план добавил.

Изображение

Прочитал первый параграф 7 раздела. Не могу найти, где в договор добавляется услуга, вообще зачем ее добавлять,
если она указана в тарифном плане? и совсем не понятен смысл 2 предложения?)) Или в контексте второго, первое предложение тоже не имеет смысла?)

"7. Учёт абонентского трафика

Для подключения модуля телефонии в договор добавьте одну или несколько услуг модуля к договору. Для модуля телефонии в данный момент наличие той или иной услуги модуля в договоре кроме подключения модуля к договору не означает."

Автор:  Cromeshnic [ 10 сен 2010, 14:36 ]
Заголовок сообщения:  Re: Phone Hello Word или как пощитать первый звонок

Можно не добавлять, это до 4.6 было понятие услуг договора.

Автор:  paramonies [ 10 сен 2010, 20:01 ]
Заголовок сообщения:  Re: Phone Hello Word или как пощитать первый звонок

Услугу добавил, появились данные в отчете по номеру А

Изображение

По номеру Б в отчете входящие договора номера Б ничего нет, хотя переменная

store.incoming.calls=1 в настройке модуля установлена.

Автор:  stark [ 20 сен 2010, 17:14 ]
Заголовок сообщения:  Re: Phone Hello Word или как пощитать первый звонок

Вячеслав2 писал(а):
Спасибо за интересную, а главное полезную ссылку! :D
Может ещё поможете, Вы переводить Русский умеете? :?:
http://bgbilling.ru/v5.1/doc/ch19s07.html

Может переведёте следующую фразу на русский язык:

>>Для подключения модуля телефонии в договор добавьте одну или несколько услуг модуля к договору.
>>Для модуля телефонии в данный момент наличие той или иной услуги модуля в договоре кроме
>>подключения модуля к договору не означает.



PS. Толко ссылку на Google переводчик просьба не давать.


исправим , действительно пережиток прошлого

Автор:  stark [ 20 сен 2010, 17:20 ]
Заголовок сообщения:  Re: Phone Hello Word или как пощитать первый звонок

paramonies писал(а):
Цитата:
Нене, сначала загрузка, потом "Добавить в обаботку (текущий истоник)"

имеется ввиду запуск скрипта data_loader_start.sh?

Кстати такой вопрос еще в мануале написано, что "Логи группируются в каталоги по дням и месяцам.",
и в примере логов с сайте тоже структура ./год/месяц/день/зипованные часы - день_час.zip
У меня биллинг понимает ./год/месяц/день_час.zip, а если сделать с разбивкой по дням,то в логах появляются
ошибки - не найдены файлы день_час.zip

опять фраза в документации некорректна, исправим . Нужно как в примере . Там же показана структура в документации:

Цитата:
2005 |
|-01 |
|-01_00.zip
|-01_01.zip
.....................
|-02 |
|-01_00.zip
.....................


Она правильная

Автор:  stark [ 20 сен 2010, 17:56 ]
Заголовок сообщения:  Re: Phone Hello Word или как пощитать первый звонок

Вячеслав2 писал(а):
Поясните пожалуйста, а зачем при ручном добавлении
через "Менеджер источников" нужен ещё и планировщик?



Или собственно загрузку может выполнить только "Генератор заданий на загрузку логов"
в указанное время.

Нет планировщик не нужен . Должен быть запущен DataLoader .

Вячеслав2 писал(а):
Провёл такой эксперимент:
Положил логи в локальную директорию и выбрал в Менеджер источников -> выделил зону -> Добавить в загрузку.
В базе данных никаких изменений.

Добавилась запись в таблицу task_load.. И далее и ее начинает обрабатывать DataLoader( он постоянно их проверяет ) ..В его логах при этом должна появится информация об этом. Для этого надо настроить log4j в режиме debug тогда будет больше отладочной информации(замените строку <priority value="INFO" /> на <priority value="DEBUG" /> в data/log4j.xml).

Вячеслав2 писал(а):

После этого Менеджер источников -> выделил зону-> Добавить в обработку.
В базе создались две пустые таблицы:
log_session_1_201008
data_log_error_201008


Теперь надо добавить задачу в планировщик и он, выполняясь с указанным периодом,
заполнит первую таблицу?



При загрузке часового лога задание на его обработку генерируется автоматически. У вас что-то не так настроено, скорее всего .

Вы вы выложили ваши настройки, скрины , логи .. пока ничего , кроме того, что у вас никак не работает - я не вижу .Вон paramonies выложил и получил какой-то результат в итоге

Автор:  stark [ 05 окт 2010, 20:11 ]
Заголовок сообщения:  Re: Phone Hello Word или как пощитать первый звонок

в документации убрали неточности (про месяцы и дни ) и атавизм про услуги

Автор:  Вячеслав2 [ 12 окт 2010, 15:38 ]
Заголовок сообщения:  Re: Phone Hello Word или как пощитать первый звонок

Итак, битва за первый посчитанный звонок продолжается !!!
После вр`еменного поражения решил зайти с тыла - купить этот биллинг с договором техподдержки
и сразу же в енту техподдержку и обратиться. Но 'nj оказалось не так то просто из-за криво составленных
договоров на техподдержку и покупку. Пока юристы сражаются на своём фронте и снаряды-письма медленно летят в Уфу,
я перегруппировал силы на своём фронте.
Начал с тяжёлой бомбёжки - остановил сервер а затем полностью уничтожил базу данных.
Для верности перегрузил сервер MySQL
Код:
/etc/init.d/mysql restart

и залил данные из поставляемого дампа:
Код:
/usr/bin/mysql --default-character-set=cp1251 < dump.sql

Выбрал источник, создал договор, непобоявшись громких слов в описании "ОСНОВНАЯ РАБОЧАЯ ЕДИНИЦА СИСТЕМЫ BGBILLING".

Читаю в описании "Период договора определяет временной диапазон существования контракта.
Дата начала устанавливается в момент создания договора и может быть впоследствии изменена."

А мне ведь надо создать договор с датой в прошлом. И данные загрузить за прошлый месяц! :shock:
Вроде при создании договора биллинг даёт дату в прошлом выбирать, но после этого будут ли звонки по нему считаться?
Может лучше перед созданием такого договора застопить BGBillingServer и на Linux сервере время назад перевести? :idea:
Ведь BGBilling - ... система расчетов высшего уровня автоматизации,
поэтому явно время нужно переводить вручную.

Автор:  Администратор [ 12 окт 2010, 15:46 ]
Заголовок сообщения:  Re: Phone Hello Word или как пощитать первый звонок

Цитата:
Вроде при создании договора биллинг даёт дату в прошлом выбирать, но после этого будут ли звонки по нему считаться?

Будут, время переводить не надо.
Цитата:
Ведь BGBilling - ... система расчетов высшего уровня автоматизации,
поэтому явно время нужно переводить вручную.

Странная аналогия :)

Страница 1 из 2 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/