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

Реализация задачи неухода "в минус" в A2B
На страницу Пред.  1, 2
 
Список форумов Asterisk Forum -> Биллинг    вывод темы на печать
Предыдущая тема :: Следующая тема  
Автор Сообщение
Gear



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

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

СообщениеДобавлено: Пн Авг 01, 2011 23:30    Заголовок сообщения:

При callback проблема актуальна, т.к. тут уже два одновременных звонка. Нужно рабочее решение, возможно, запуск скрипта по крону или крутящийся в цикле демон единственный вариант, но какая должна быть логика работы скрипта? Как сделать так чтобы баланс обновлялся ежесекундно?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
busc
Модератор


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

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

СообщениеДобавлено: Вт Авг 02, 2011 07:37    Заголовок сообщения:

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



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

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

СообщениеДобавлено: Вт Авг 02, 2011 09:01    Заголовок сообщения:

Какие есть нормальные альтернативы а2billing, без этих проблем? Недорогие или бесплатные?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
nixon



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

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

СообщениеДобавлено: Чт Фев 16, 2012 14:42    Заголовок сообщения:

1.Как я уже светил... если идти по линии наименьшего сопротивления, чтобы не переписывать слишком громадные куски а2б, то можно начать с того что по окончании звонка в котором кончился баланс сбрасывать все остальные платные соединения этого клиента. При таком подходе уже будет уход в минус громадно меньше.
То Gear: "Недорогие", это сколько?
2.Гораздо проще будет в астере завести динамически меняемое аппроксимированное время до конца соединения звонков в общей группе. Чем переписывать а2б.
Я так понимаю Gear, делает первый взнос программистуWink

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


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

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

СообщениеДобавлено: Чт Фев 16, 2012 20:23    Заголовок сообщения:

Вот есть у меня какая мысль, точнее 2ве
1. При инициации каждого следующего звонка можно считать сколько уже есть звонков и высчитывать таймаут соответсвенно. По окончанию разговора по таймауту завершать остальные звонки (как предложили до меня). Это снизит риск ухода в минус, но не исключит.
Неудобно то что если завершится не по таймауту последний (самый короткий по логике) звонок, то предыдущие даже не узнают о том что деньги уменьшились на балансе.
Писать такое вроде не долго, по крайней мере обозримо по объему.
2. есть функция TIMEOUT, если умудриться ее выполнять в контексте не текущего канала, то можно переопределять на старте и завершении звонков все остальные по одному клиенту. Это совсем снизит (почти к нулю) вероятность отрицательного остатка на счету.
Но пока не знаю как выполнить это дело в контексте другого звонка, что делает этот вариант пока не рабочим.
Писать такое тоже обозримое количество ночей )))

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



Зарегистрирован:
28.07.2014
Сообщения: 4
Откуда: Украина, Житомир

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

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

Здравствуйте.
Хотел бы поинтересоваться, сделал ли кто-то первые шаги в написании кода в этом направлении?

Мне так думается, чтобы нормально просчитывался баланс абонента (без ухода в минус), то нужно чтобы звонком управлял уже AGI скрипт. При этом AGI можно будет прикрутить к любой системе биллинга. AGI будет не завесим от используемого биллинга. Не завесим в том смысле, что в настройках указать подключение к базе и поля, которые нужно считывать и обновлять.

То есть я вижу такую логику:
Звонок пришел в контекст, далее отправился на AGI, далее скрипт проверил текущий баланс, если он положительный, то отправляем звонок в транк через себя, при этом, если с другой стороны ответили, то скрипт каждую секунду обновляет баланс в базе с учетом стоимости направления, потом считывает новые значение баланса и проверяет, если на балансе больше 0, то продолжать выполнять звонок/обновление баланса. При этом второй звонок с этого же аккаунта получит уже актуальный баланс и отсчет получится быстрее. При достижении 0 на балансе, скрипт, который получил 0 при проверке, автоматически останавливает все остальные подсчеты и разрывает все активные соединения аккаунта. При этом последующие звонки будут уже заблокированы, так как на балансе 0 (даже если за 1 сек. будет два вызова одновременно, в одну и ту же секунду, что практически невозможно)

Я в AGI не силен, поэтому не могу пока написать такой скрипт.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора GTalk ID Skype Name Jabber ID Телефон
Список форумов Asterisk Forum -> Биллинг На страницу Пред.  1, 2 Ответить на тему
Страница 2 из 2

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

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