Собственный биллинг Поминутный подсчет в Realtime
Возникла необходимость считать поминутно в момент когда channel находиться в активном состоянии, т.е. звонок еще не закончился, а поэтому информация в базу еще не свалился, а значит и обработать его я не могу.
Скорее всего функционал a2billing более чем достаточен для этой задачи, но переходить на a2billing только из за этого очень бы не хотелось, поэтому рискну поизобретать велосипед.
Кто знает как проконтролировать звонок либо из стандартных функций, либо из AGI, не важно каким образом, задайте plz вектор куды двигаться.
A2Billing как это делает - перед началом вызова вычисляет на основании баланса и цены направления максимальное время сессии, и подставляет результат в параметр L(XXX:XXX:XXX) команды Dial. Как Вы уже понимаете, рвет разговор уже сам астериск, а не биллинг.
a2b кстати в минус и уходит иногда, причем даже если один (а не два) пользователя звонит - не помню уже в чем там проблема но она есть очень давно уже. правда суммы в минусе мизерные поэтому не критично. возможно в последних версиях исправили, я не в курсе.
если есть на то добрая воля и желание, было бы весьма позновательно познокомится с продуктом.
| Цитата: |
| скриншоты вполне симпатичные, спасибо. а это билинг и есть на скриншоте? |
Не весь, там есть еще графики загрузки каналов, обработка данных по мобильным абонентам, т.е. небольшой парсер билайновских логов.
| Цитата: |
| To sea80, здорово, мы тоже занимаемся изобретением велосипеда в плане билинга Smile если есть на то добрая воля и желание, было бы весьма позновательно познокомится с продуктом. |
По поводу продукта я скромно промолчу. Это всего-лишь небольшая надстройка над realtime, причем несколько специфичная, что порекомендовать кому-то попользоваться я бы не рискнул. Т.к. это первая моя тренировка когда знакомился с AJAX.
Хотя работает достаточно стабильно. Отображение звонков происходит фактически в режиме реального времени, как только звонок падает в базу, без перезагрузки страницы инжектом в DOM, если не заданы критерии отбора, либо по фильтру. Самый главный минус это то, что в Asterisk нашел баг, который не позволяет работать с экстеншенами вида
exten => xxx/xxx,1... Поэтому половину настроек можно делать в вебинтерфейсе а половину в конфигах. А так, у кого есть желание пообщаться, пишите в личку, спишемся. Одному делать всегда сложнее.
остаток $100 - ограничение 20 звонков
остаток $20 - ограничение 5 звонков
остаток $5 - ограничение 5 звонков c email уведомлением о ограничении звонков и состояние баланса с предложением пополнить
остаток $0 - при попытке звонков создаётся event , в конце часа высылается по email (не зависимо от кол-ва попыток звонков в течении часа - создаётся один event)
обрыв звонка и в правду делается астериском по достижении максимално-допустимой длительности,
но иногда бывает нужно принудительно корректно убить звонок - окончание периода, либо ребут сервера (нужно же пробилить звонок успеть)
тогда в command-line астериску идёт команда, которая получена от билнг сервера (любым путём там уже - даже обычной посылкой http get запроса через apache)
| sea80 @ Сб Май 09, 2009 10:26 писал(а): |
| Пожалуйста, скринов мне не жалко |
Есть возможность пощупать Ваш скрипт на своем сервере?