Список форумов Asterisk Forum Asterisk Forum
The Asterisk Open Source PBX - Russian Community
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ПравилаПравила   ГруппыГруппы   ИзбранноеИзбранное    LinksСсылки   РегистрацияРегистрация 
 RSSRSS   ПрофильПрофиль   Войти и проверить личные сообщения   ВходВход 

A2Billing v1.8+ BUGS
На страницу Пред.  1, 2
 
Список форумов Asterisk Forum -> Биллинг    вывод темы на печать
Предыдущая тема :: Следующая тема  
Автор Сообщение
anest
Модератор


Зарегистрирован:
28.11.2004
Сообщения: 5636

Статус: Оффлайн 

СообщениеДобавлено: Пн Окт 17, 2011 01:50    Заголовок сообщения:

радостная новость: наконец-то в Asterisk-1.8.8.0-rc1 починили баг из-за которого биллинг криво считал, начиная считать с первого гудка а не после ответа вызываемой стороны. баг был именно в астериске - после апдейта с предыдущей версии все стало считать как надо.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
aven
Модератор


Зарегистрирован:
07.09.2007
Сообщения: 1887
Откуда: Ухта

Статус: Оффлайн 

СообщениеДобавлено: Пн Окт 17, 2011 09:43    Заголовок сообщения:

Какой биллинг? Может в CDR время неправильно записывалось?
_________________
Gentoo Linux || Asterisk 13.1-cert2
Решения телефонии на базе Asterisk || http://it-need.ru
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
anest
Модератор


Зарегистрирован:
28.11.2004
Сообщения: 5636

Статус: Оффлайн 

СообщениеДобавлено: Пн Окт 17, 2011 10:42    Заголовок сообщения:

a2b. но дело было 100% в астериске (чтото с сигнализацией). впрочем уже не важно, так как починили.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Wapo



Зарегистрирован:
08.05.2009
Сообщения: 1363
Откуда: СПб.

Статус: Оффлайн 

СообщениеДобавлено: Вт Окт 18, 2011 08:58    Заголовок сообщения:

Странно - у меня 1.8.7, везде SIP-транки (МТТ, telphin, comtube)- только что проверил биллинг на предмет правильности подсчета - все ОК.
_________________
P4 3.0 + 1Gb CentOS 5.8 Aster 1.8.16
Не люблю gui-сборки: натуральный продукт вкуснее.
И еще: я ПРОФИ так как НЕ ЛЕНЮСЬ читать литературу.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора Skype Name
anest
Модератор


Зарегистрирован:
28.11.2004
Сообщения: 5636

Статус: Оффлайн 

СообщениеДобавлено: Вт Окт 18, 2011 10:13    Заголовок сообщения:

этот баг проявлялся не у всех, в том то и дело.
в любом случае просьба обсуждение вести в отдельных топиках - этот был специально создан для новостей а не обсуждений, давайте не будем его засорять.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
anest
Модератор


Зарегистрирован:
28.11.2004
Сообщения: 5636

Статус: Оффлайн 

СообщениеДобавлено: Ср Ноя 02, 2011 11:16    Заголовок сообщения:

ссылка до кучи. может кому будет полезна.
http://sysadminman.net/blog/2011/a2billi ... esale-2318
добавлю только что я ничего этого не делал, просто проапдейтил астериск до 1.8.8.0-rc1 и проблема решилась сама собой.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
busc
Модератор


Зарегистрирован:
12.02.2008
Сообщения: 150
Откуда: Kiev

Статус: Оффлайн 

СообщениеДобавлено: Чт Ноя 10, 2011 10:38    Заголовок сообщения:

Обнаружил баг в версии 1.8.1. Заглянул в git - там та же проблема сидит в последнем релизе.
Симптомы:
- Для всех абонентов в Receipt не включаются звонки за ночь предыдущего дня биллинга.
- Для всех абонентов в Receipt не включаются paid chrges генерированные системой (например a2billing_subscription_fee.php) ночью предыдущего дня биллинга.
- Для всех абонентов в Invoice не включаются unpaid chrges (которые ручками создаются) за ночь предыдущего дня биллинга.

Ночь предыдущего дня биллинга это начиная с 00:00:00 по время запуска скрипта Cronjobs/a2billing_batch_billing.php в день предыдущего биллинга. В CentOS 5.3 это время 06:00:00, т.е. с 00:00:00 - 06:00:00 услуги не будет посчитаны.

смотрим в Cronjobs/a2billing_batch_billing.php
Суть в том что дата-время предыдущего биллинга записывается в базу в момент записи т.е. CURRENT_TIMESTAMP, а это в моем случае cron делает в 06:00:00.
Когда приходит день биллинга, то скрипт формирует условие поиска звонков и chrges от даты последнего биллинга по текущий день но без указания времени.
Т.е. биллинговый период будет для прошлого месяца 2011-10-01 06:00:00 - 2011-11-01 00:00:00. если день биллинга установлен 1.
Итого мы теряем либо 6 часов прошлого либо 6 часов текущего периода. Смотря с какой стороны смотреть.

Выход как всегда есть простой.
Строка 203
Код:
$field_insert = "id_card";
$value_insert = " '$card_id'";

меняем на
Код:
$field_insert = "id_card, date";
$value_insert = " '$card_id', '$date_now'";

Это изменение будет писать в базу дату-время последнего биллинга со временем 00:00:00. Что позволит захватывать период полностью и не терять предоставленные услуги и деньги.

_________________
.
..:
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора GTalk ID Jabber ID
nixon



Зарегистрирован:
11.11.2008
Сообщения: 146
Откуда: Pattaya

Статус: Оффлайн 

СообщениеДобавлено: Чт Ноя 10, 2011 12:08    Заголовок сообщения:

Полезно. Сенк!
_________________
https://github.com/nixonch/a2billing
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
busc
Модератор


Зарегистрирован:
12.02.2008
Сообщения: 150
Откуда: Kiev

Статус: Оффлайн 

СообщениеДобавлено: Пт Дек 02, 2011 10:12    Заголовок сообщения:

Мда.... Чем дальше в лес... Столкнулся с багом неприятным.
Проверял в версии 1.9.4 - баг присутствует.

Проявления:
Платеж Paypal на сумму например 100 долл. в биллинге, а в самом Paypal реально прошло 2 долл.

Как такое возможно?
Страница на которой делается переадресация на сервер Paypal содержит данные о предстоящей транзакции, эти данные уже сохранены в БД. Злоумышленник меняет в запросе сумму и отправляет сфабрикованный запрос на сервер Paypal. Когда от сервера Paypal приходит подтверждение - вызывается customer/checkout_process.php, в котором сначала делается проверка пришедшего платежа на сервере Paypal и если проверка прошла успешно, то платеж проводится в биллинге и пополняется баланс абонента. И тут главная засада! платеж проводится с суммой которая была указана при формировании запроса на сервер. Если было выбрано 100 долл. - то пройдет 100 долл., а злоумышленник мог вполне провести 2 долл. и за ночь вызвонить все в кубу.

Свой патч не ложу поскольку у меня там весь модуль переписан вдоль и поперек, но способ решения опишу. Надо читать из POST переменных mc_gross и в строках
Код:
case "paypal":
                $currCurrency = $mc_currency;
                if($A2B->config['epayment_method']['charge_paypal_fee']==1){
                        $currAmount = $transaction_data[0][2] ;
                }else{
                        $currAmount = $transaction_data[0][2] - $mc_fee;
                }

сделать
Код:
case "paypal":
                $currCurrency = $mc_currency;
                if($A2B->config['epayment_method']['charge_paypal_fee']==1){
                        $currAmount = $mc_gross;
                }else{
                        $currAmount = $mc_gross - $mc_fee;
                }

_________________
.
..:
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора GTalk ID Jabber ID
sergeagle



Зарегистрирован:
17.12.2009
Сообщения: 53

Статус: Оффлайн 

СообщениеДобавлено: Вт Дек 06, 2011 12:19    Заголовок сообщения:

Цитата:
радостная новость: наконец-то в Asterisk-1.8.8.0-rc1 починили баг из-за которого биллинг криво считал, начиная считать с первого гудка а не после ответа вызываемой стороны. баг был именно в астериске - после апдейта с предыдущей версии все стало считать как надо.


Спасибо за новость. Очень полезно.

Но из за этого изменения при работе с мультифоном возникла следующая проблема: Мегафон заведен как DID. При входящем звонке скрипт обрабатывается и отправляет как положено далее по маршруту. Но сразу приходит отбой AGI Script a2billing.php completed, returning 4
Пришлось отправить мультифоны в отдельный контекст
[multifon-a2b]
exten => _X.,1,Answer()
exten => _X.,n,DeadAGI(a2billing.php,1,did)
exten => _X.,n,Hangup
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
anest
Модератор


Зарегистрирован:
28.11.2004
Сообщения: 5636

Статус: Оффлайн 

СообщениеДобавлено: Вт Дек 06, 2011 13:53    Заголовок сообщения:

DeadAGI??? Shocked
уже давно не используется и наоборот - a2b уже давно с AGI работает корректно!
добавьте exten => h,1,Hangup
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
anest
Модератор


Зарегистрирован:
28.11.2004
Сообщения: 5636

Статус: Оффлайн 

СообщениеДобавлено: Ср Дек 07, 2011 09:22    Заголовок сообщения:

busc, кажется paypal сменил API...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Список форумов Asterisk Forum -> Биллинг На страницу Пред.  1, 2 Ответить на тему
Страница 2 из 2

Добавить в Избранное

 
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
You cannot attach files in this forum
You cannot download files in this forum