Список форумов 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

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

СообщениеДобавлено: Чт Июл 08, 2010 07:21    Заголовок сообщения: A2Billing v1.8+ BUGS

У кого не работает Dashboard а именно не рисуются графики - достаточно в корень www положить файл .htaccess добавив туда строчку "php_value display_errors Off"
или можно в глобальном конфиге php.ini эту опцию выключить (что не так элегантно по сравнению с первым примером)
ps: если кто знает как это поправить патчем просьба сообщить.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
busc
Модератор


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

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

СообщениеДобавлено: Вс Фев 13, 2011 21:51    Заголовок сообщения:

Не ожидал такого:

в процедуре cid_sanitize (это которая выбирает номер CID или DID для подстановки в CallerID) есть запрос
lib/Class.A2Billing.php
строка 2219
Код:
$QUERY .=  "SELECT cc_did.did ".
                                  " FROM cc_did ".
                                  " JOIN cc_did_destination ON cc_did_destination.id_cc_did=cc_did.id ".
                                  " JOIN cc_card ON cc_did_destination.id_cc_card=cc_card.id ".
                                  " WHERE (cc_callerid.activated=1 OR cc_callerid.activated='t') AND cc_did_destination.activated=1 AND cc_did.startingdate => NOW() AND cc_did.expirationdate <= NOW()".
                                  " AND cc_card.username='".$this->cardnumber."' ";
                        $QUERY .= "ORDER BY 1";

он никогда не отработает потому что там 3 ошибки, контроль по датам как-то странно написан (дата начала больше текущей даты... и истекает срок до текущей даты), оператор ">=" написан "=>", в запросе не делается выборка из cc_callerid а проверка полей из нее делается.
Одним словом CallerID из DID-ов никогда не будет выбран
Там наверное индусы код писать начали )))) чтоб в одном запросе, да 3 ошибки.... явно даже не проверяли.

Рекомендую заменить на
Код:
$QUERY .=  "SELECT cc_did.did ".
                                  " FROM cc_did ".
                                  " JOIN cc_did_destination ON cc_did_destination.id_cc_did=cc_did.id ".
                                  " JOIN cc_card ON cc_did_destination.id_cc_card=cc_card.id ".
                                  " WHERE cc_did_destination.activated=1 AND cc_did.startingdate <= NOW() AND cc_did.expirationdate >= NOW()".
                                  " AND cc_card.username='".$this->cardnumber."' ";
                        $QUERY .= "ORDER BY 1";

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



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

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

СообщениеДобавлено: Вт Фев 22, 2011 23:11    Заголовок сообщения:

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


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

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

СообщениеДобавлено: Пт Фев 25, 2011 11:21    Заголовок сообщения:

checkout_confirmation.php
Строка 94
Код:
$amount_string=sprintf("%.3f",$total_amount);


Делаем оплату через epayment к примеру 5 евро. После подтверждения платежа для пользователей с русским интерфейсом указанная строка возвращает
значение '5,000' (!с запятой!) и в таком же виде ложит его в базу.
Когда с сервера приходит подтверждение транзакции то срока '5,000' из базы конвертируется из валюты в которой пришел платеж в базовую валюту.
Это делает функция convert_currency, которая находится в Misc.php, так вот она выдает для таких чисел результат 0!!!!!
И получается, что платеж прошел, на счет сумма пришла, а баланс абонента вырос на 0 у.е.
А все из-за того что формат '%.3f' локалезависимый и надо использовать '%.3F' который не зависит от настроек локали.

Надо поменять на

Код:
$amount_string=sprintf("%.3F",$total_amount);

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



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

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

СообщениеДобавлено: Чт Мар 03, 2011 02:14    Заголовок сообщения:

Этот глюк давно уже исправлен.
Busc, какой версией а2б Вы пользуетесь?

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


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

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

СообщениеДобавлено: Чт Мар 03, 2011 10:58    Заголовок сообщения:

Я писал конкретно о A2Billing 1.8.1 (Corylus).
Ветка о багах 1.8.х, и далеко не все могут себе менять биллинг каждый месяц как Вы.

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



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

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

СообщениеДобавлено: Чт Мар 03, 2011 11:34    Заголовок сообщения:

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



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

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

СообщениеДобавлено: Чт Мар 03, 2011 16:16    Заголовок сообщения:

busc писал(а):
... менять биллинг каждый месяц как Вы.
Менять - не менять, но апгрейдить - святая обязанность каждого Wink
_________________
https://github.com/nixonch/a2billing
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
busc
Модератор


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

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

СообщениеДобавлено: Чт Мар 03, 2011 16:25    Заголовок сообщения:

Если б у Вас было столько кастомизировано сколько у меня...
Мне плохо от одной мысли сделать merge с новой версией

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



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

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

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

Давайте доступ к Вашему git или svn, чтоб слить. Попробую скрестить вдумчиво.
_________________
https://github.com/nixonch/a2billing
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
zlat



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

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

СообщениеДобавлено: Сб Апр 16, 2011 09:36    Заголовок сообщения:

столкнулся сейчас с очень неприятным моментом: заведено порядка 5000 аккаунтов препейд с идентичными настройками и все бы вроде хорошо, но заметил что бывают ситуации, когда с аккаунта производятся звонки, а деньги не списываются. К примеру есть аккаунт у него начальный баланс 3$, смотрю его историю звонков он назвонил уже на 25$, и при мне звонит в данный момент, заканчивает разговор, а у него все равно 3 бакса Evil or Very Mad
и таких случаев отскал уже 5 за посление три дня, из последних таких на балансе 10$ - звонит, поговорил с минуту, остаток такой же, в итоге вручную снял сумму, только после этого звонки этого абонента стали тарифицироваться
даже не знаю, где искать косяк Crying or Very sad
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
anest
Модератор


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

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

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

Читать форум нужно регулярно стараться, тогда будете в теме. Эта проблема уже обсуждалась.
Но если "по быстрому", то советую обновить астериск - патч уже добавили на днях во все ветки в транк. или дождаться следующего релиза.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
zlat



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

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

СообщениеДобавлено: Сб Апр 16, 2011 12:07    Заголовок сообщения:

так это баг астериска? у меня версия 1.6.2.15
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
anest
Модератор


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

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

СообщениеДобавлено: Сб Апр 16, 2011 17:39    Заголовок сообщения:

Да
http://asteriskforum.ru/viewtopic.php?p=46697#46697
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
anest
Модератор


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

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

СообщениеДобавлено: Ср Май 04, 2011 00:44    Заголовок сообщения:

так как в логе постоянно валится ошибка:
Цитата:
You are *required* to use the date.timezone setting or the date_default_timezone_set() function

а также перестает отображаться дашборд после апгрейда php до 5.3 - решением было (как описано тут) вставить
в файлы
/var/lib/asterisk/agi-bin/a2billing.php и /var/www/localhost/htdocs/common/lib/Misc.php
строчки
Код:
date_default_timezone_set('Europe/Moscow');

второй строкой, в начале файла, сразу за <?php

после этого ошибки перестали сыпаться в лог апача а также дашбоард заработал. Gentoo.

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


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

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

СообщениеДобавлено: Ср Июн 29, 2011 14:17    Заголовок сообщения:

а если в php.ini
Цитата:
[Date]
; Defines the default timezone used by the date functions
date.timezone = Europe/Moscow

Мне помогло

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


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

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

СообщениеДобавлено: Ср Июн 29, 2011 17:07    Заголовок сообщения:

извращение ибо костыль. там где много сайтов или несколько биллингов под разных клиентов будет уже проблема.
добавление опции в настройки само собой напрашивается (я кстати nixon'а уже давно прошу сделать это)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
busc
Модератор


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

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

СообщениеДобавлено: Ср Июн 29, 2011 20:52    Заголовок сообщения:

Confused Даже если несколько биллингов стоит... мне кажется серверное приложение (a2billing.php) должно работать во временной зоне сервера. Asterisk работает же в зоне которая в системе стоит и CDR конечно делает в той же зоне.
Могу ошибаться конечно, доказательств из кода не имею, пока Cool.
Временная зона клиента должна быть учтена только при отображении данных у него в кабинете. Хранение данных должно быть в у всех в зоне сервера.
И по времени делится тарифный план на стороне сервера, потому что тарифы по времени дает аплинк, который про часовой пояс звонящего ничего не знает и авторизует звонок по своему часовому поясу.

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


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

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

СообщениеДобавлено: Чт Июн 30, 2011 05:38    Заголовок сообщения:

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


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

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

СообщениеДобавлено: Пт Июл 01, 2011 16:26    Заголовок сообщения:

Баг в расчётах статистики

В дашбоарде в REFILLS INFO, не учитывает отрицательные суммы.

Как повторить: Например у клиента на счету $100, добавляем ему еще 70, но потом например передумали (какоето событие не случилось когда должно было бы. или по ошибке положили ему не 70 а 170, ну всякое бывает) и хотим минусовать на эти 70 назад. делаем ему платеж с суммой -70, тотал у клиента меняется назад на $100, как и должно было бы быть. НО. в статистиске дашбоарда REFILLS INFO в нашем случае покажет не 100 а 170 что не соответсвует истине. по логике выходит что этот кусок кода не считает минусовые суммы в статистике откуда он берет данные для расчета. явно баг...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
almor



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

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

СообщениеДобавлено: Вс Авг 28, 2011 21:39    Заголовок сообщения:

Не знаю, обсуждалось уже или нет, но в a2b версии 1.8.1 имеется следущий баг:
возьмем, к примеру два направления: Бельгия стац. код 32 по цене 0,01 и Бельгия моб код 3248 по цене 0,1
Набираем номер Бельгия моб. в следущем формте: 32__485123456 и наш биллинг определяет его как Бельфия стац. , так как он нашел соответстие в тарифах по коду 32

Добавил строку $phonenumber = preg_replace('(\D+)', '', $phonenumber); в файл lib/Class.RateEngine.php после 88 строки

function rate_engine_findrates (&$A2B, $phonenumber, $tariffgroupid)
{

Строка удалет все нецифровые символы из набранного номера

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


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

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

СообщениеДобавлено: Пн Авг 29, 2011 00:08    Заголовок сообщения:

рекомендую проапдейтиться. уже 1.9.4 с мая доступна. если не ставили какието свои собственные патчи то будет крайне легко - выполните все .sql апдейты "сверху" своей базы (это безопастно, но сделайте бэкап на всякий случай) а затем просто разверните новые .php файлы вместо старых. все должно заработать со старыми данными из базы без проблем. рекомендую ветку от nixon, это своего рода "расширенная" версия от арески и полностью совместима. к слову сказать он намного активнее работает над a2b чем сам арески в последнее время, за что честь и хвала ему. Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
almor



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

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

СообщениеДобавлено: Пн Авг 29, 2011 22:20    Заголовок сообщения:

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


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

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

СообщениеДобавлено: Ср Авг 31, 2011 06:47    Заголовок сообщения:

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



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

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

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

almor писал(а):
К тому же уже сделанная частичная переделка интерфейса под свои нужды останавливает, так как некоторые изменения никак не задокументировал...

Более чем... Продолжая традиции areski, не писать талмуды, а писать подстрочные хелпы, всё должно быть интуитивно понятно. Кроме того, с удовольствием отвечу на вопросы.
Удачи!

_________________
https://github.com/nixonch/a2billing
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Список форумов Asterisk Forum -> Биллинг На страницу 1, 2  След. Ответить на тему
Страница 1 из 2

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

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