AF
Asterisk Forum
обсуждения телефонии, VoIP и IP-PBX
12разделов
5 423тем
34 385сообщений
← К списку тем

a2blilling

Биллинг 3 сообщений -
#1

понимаю что странный вопрос, но можно ли каким-то образом пересчитать все cdr соответственно текущим тарифам?
#2

Можно. Нужно писать скрипт. Могу подсказать куда копать.
Но тут есть камни, особенно если препейд и система запущена в эксплуатацию. Если на баланс с высокой горы, то можно без опаски.

Теперь мое скромное предположение о наиболее простом пути.
В системе есть эмулятор звонков. Пишем скрипт который перебирает звонки, постит в форму номер, получает тариф, умножает на (длительность минус бесплатные секунды) и записывает изменения в БД (можно и в файл для начала).
Чуток сложнее - взять кусок кода PHP из эмулятора который использует RateEngine и долабать к нему кусок с перебором звонков и внесением изменений в БД с интерфейсом и жирной кнопкой "перетарификация".

Отдельное внимание при этом стоит обратить на бесплатные секунды, если таковые были. Эмулятор их не показывает. Придется их учитывать самому, поскольку есть отдельная таблица в которой хранится история использования бесплатных секунд по карднамберам. Именно эту таблицу и надо юзать при расчетах чтобы не изобретать велосипед.

Есть еще один способ - взять кусок кода который отрабатывает непосредственно перед записью ЦДР в БД - и применить. Но вопрос с бесплатными секундами все равно актуален.
#3

бесплатных секнд нет и везте post pay.