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

Всё о биллингах.

Модераторы: Admins, Модераторы

Ответить
sea80
Сообщения: 18
Зарегистрирован: 29 янв 2008, 10:17

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

Сообщение sea80 » 09 май 2009, 04:26

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

Аватара пользователя
anest
Модератор
Сообщения: 5706
Зарегистрирован: 28 ноя 2004, 10:04

Сообщение anest » 09 май 2009, 05:51

а можно какнить поглядеть на ваши разработки? хоть одним глазом.

sea80
Сообщения: 18
Зарегистрирован: 29 янв 2008, 10:17

Сообщение sea80 » 09 май 2009, 08:26

Пожалуйста, скринов мне не жалко :D Эт не Trixbox, но для меня роднее.
Вложения
2.jpg
1.jpg

Lonely_Ghost
Сообщения: 223
Зарегистрирован: 15 янв 2007, 15:00
Откуда: Украина, Киев

Сообщение Lonely_Ghost » 10 май 2009, 13:36

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

sea80
Сообщения: 18
Зарегистрирован: 29 янв 2008, 10:17

Сообщение sea80 » 10 май 2009, 15:27

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

Аватара пользователя
anest
Модератор
Сообщения: 5706
Зарегистрирован: 28 ноя 2004, 10:04

Сообщение anest » 10 май 2009, 15:35

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

Аватара пользователя
den68
Сообщения: 127
Зарегистрирован: 19 дек 2006, 01:23

Сообщение den68 » 10 май 2009, 22:21

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

sea80
Сообщения: 18
Зарегистрирован: 29 янв 2008, 10:17

Сообщение sea80 » 11 май 2009, 13:09

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

Ded
Guru
Сообщения: 4428
Зарегистрирован: 10 янв 2005, 16:01
Откуда: Road Town, Tortola, British Virgin Islands

Сообщение Ded » 11 май 2009, 13:50

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

voip.linux
Сообщения: 6
Зарегистрирован: 28 дек 2008, 19:08

Сообщение voip.linux » 18 май 2009, 17:36

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

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

Аватара пользователя
toxi
Сообщения: 4
Зарегистрирован: 28 июл 2014, 14:14
Откуда: Украина, Житомир
Контактная информация:

Сообщение toxi » 23 фев 2015, 11:41

[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, но для меня роднее.
Есть возможность пощупать Ваш скрипт на своем сервере?

Ответить