Asterisk Forum • Собственный биллинг Поминутный подсчет в Realtime
Страница 1 из 1

Собственный биллинг Поминутный подсчет в Realtime

Добавлено: 09 май 2009, 04:26
sea80
Доброго времени суток. Возможно ответ на мой вопрос элементарный, но пока не могу увидеть оптимального решения. Ситуация такая: Имею asterisk1.4.21 с realtime в mysql, самописный интерфейс управления и биллинг на AJAX, отображение звонков и графики и т.п. делал под собственные нужды. До текущего момента функционал полностью удовлетворял.
Возникла необходимость считать поминутно в момент когда channel находиться в активном состоянии, т.е. звонок еще не закончился, а поэтому информация в базу еще не свалился, а значит и обработать его я не могу.
Скорее всего функционал a2billing более чем достаточен для этой задачи, но переходить на a2billing только из за этого очень бы не хотелось, поэтому рискну поизобретать велосипед.
Кто знает как проконтролировать звонок либо из стандартных функций, либо из AGI, не важно каким образом, задайте plz вектор куды двигаться.

Добавлено: 09 май 2009, 05:51
anest
а можно какнить поглядеть на ваши разработки? хоть одним глазом.

Добавлено: 09 май 2009, 08:26
sea80
Пожалуйста, скринов мне не жалко :D Эт не Trixbox, но для меня роднее.

Добавлено: 10 май 2009, 13:36
Lonely_Ghost
Если Вы имеете в виду разрыв сессии для припейд-абонентов - то не так это уже и сложно.
A2Billing как это делает - перед началом вызова вычисляет на основании баланса и цены направления максимальное время сессии, и подставляет результат в параметр L(XXX:XXX:XXX) команды Dial. Как Вы уже понимаете, рвет разговор уже сам астериск, а не биллинг.

Добавлено: 10 май 2009, 15:27
sea80
Вчера об этом подумал, и начал делать. Значит мысль была правильной :D Маленький момент, исходя из логики баланс может оказаться минусовой если 2 абонента одновременно начинают звонить. Хотя это не так существенно. Еще подскажите, как в аналогии a2billing делает пересчет баланса? Пока что мысль ежеминутно по крону запускать скрипт.

Добавлено: 10 май 2009, 15:35
anest
скриншоты вполне симпатичные, спасибо. а это билинг и есть на скриншоте?
a2b кстати в минус и уходит иногда, причем даже если один (а не два) пользователя звонит - не помню уже в чем там проблема но она есть очень давно уже. правда суммы в минусе мизерные поэтому не критично. возможно в последних версиях исправили, я не в курсе.

Добавлено: 10 май 2009, 22:21
den68
To sea80, здорово, мы тоже занимаемся изобретением велосипеда в плане билинга :)
если есть на то добрая воля и желание, было бы весьма позновательно познокомится с продуктом.

Добавлено: 11 май 2009, 13:09
sea80
скриншоты вполне симпатичные, спасибо. а это билинг и есть на скриншоте?
Не весь, там есть еще графики загрузки каналов, обработка данных по мобильным абонентам, т.е. небольшой парсер билайновских логов.
To sea80, здорово, мы тоже занимаемся изобретением велосипеда в плане билинга Smile
если есть на то добрая воля и желание, было бы весьма позновательно познокомится с продуктом.
По поводу продукта я скромно промолчу. Это всего-лишь небольшая надстройка над realtime, причем несколько специфичная, что порекомендовать кому-то попользоваться я бы не рискнул. Т.к. это первая моя тренировка когда знакомился с AJAX.
Хотя работает достаточно стабильно. Отображение звонков происходит фактически в режиме реального времени, как только звонок падает в базу, без перезагрузки страницы инжектом в DOM, если не заданы критерии отбора, либо по фильтру. Самый главный минус это то, что в Asterisk нашел баг, который не позволяет работать с экстеншенами вида
exten => xxx/xxx,1... Поэтому половину настроек можно делать в вебинтерфейсе а половину в конфигах. А так, у кого есть желание пообщаться, пишите в личку, спишемся. Одному делать всегда сложнее.

Добавлено: 11 май 2009, 13:50
Ded
sea80, на соседнем поле вербуют невербально в близкий же проект - http://asterisk-support.ru/forum/topics/4623

Добавлено: 18 май 2009, 17:36
voip.linux
Отрицательный баланс решался у меня путём ограничения одновременных звонков при достижении баланса определённых отметок
остаток $100 - ограничение 20 звонков
остаток $20 - ограничение 5 звонков
остаток $5 - ограничение 5 звонков c email уведомлением о ограничении звонков и состояние баланса с предложением пополнить
остаток $0 - при попытке звонков создаётся event , в конце часа высылается по email (не зависимо от кол-ва попыток звонков в течении часа - создаётся один event)

обрыв звонка и в правду делается астериском по достижении максимално-допустимой длительности,
но иногда бывает нужно принудительно корректно убить звонок - окончание периода, либо ребут сервера (нужно же пробилить звонок успеть)
тогда в command-line астериску идёт команда, которая получена от билнг сервера (любым путём там уже - даже обычной посылкой http get запроса через apache)

Добавлено: 23 фев 2015, 11:41
toxi
[url=http://asteriskforum.ru/viewtopic.php?p=27016#27016][img]http://asteriskforum.ru/images/quotebackarrow.gif[/img][/url] sea80 @ Сб Май 09, 2009 10:26 писал(а):Пожалуйста, скринов мне не жалко :D Эт не Trixbox, но для меня роднее.
Есть возможность пощупать Ваш скрипт на своем сервере?