Сначала статья сподвигла собрать и посмотреть свежий YATE :) Уже потом зарегистрировался и попробовал позвонить. SIP-Плагин делает ваш сервис супер простым и доступным для пользователя, молодцы!
Именно таким образом мы написали биллинг для TalkPad, который позволяет контролировать баланс пользователя с секундной точностью, причем даже в случае нескольких одновременных звонков.
Можно немного поподробнее как имеено реализовали данный механизм?
А тут два варианта, либо идёт захват кредита на каждый звонок на минимальный $, либо снятие счета реалтайм с обрывом звонка если кредит кончился. В основном все большие биллинги захватывают Х денег, меньше обращений к базе.
Снятие рейалтайм — както контролировать\чекать хитро надо, накладные расходы слишком велики.
С кредитом ясно, стандартная схема, НО! Ключевая фраза «даже в случае нескольких одновременных звонков».
Если этих одновременных звонков скажем 50 — то «залет» в минуса весьма вероятен. Потому как если на счету пользователя скажем 1 $ и на этот доллар пришли сразу 3 звонка, то всем 3 будет выделенно время ровно по 1$ (звонки то неокончены, списания со счета нет), итого после окончания всех трех звонков счет составит -2$. Это если рассматривать типичную кридитную схему, без всяких локов.
Можно снимать деньги пульсами, допустим 1 тик = 5 центов, вот говорит человек с направлением в 20 центов в минуту, 4 тика в минуту, база абтоматом снимает деньги, чем больше тиков тем быстрее, когда денег нет звонок обрывается, играем допустим сообщение «нет денег» причем всем. В минус уйти можно, но не очень намного, допустим на 15 центов максимально при 3х звонках. Чтоб облегчить базу можно записать кредит в память и операции делать в ней. Такие схемы были у огроменных билингах национального порядка.
в Extmodule можно подписаться на любые события происходящие в YATE, например можно подписаться на сообщение «call.route» и ответить «ok, роути вот сюда», а можно подписаться на «call.answered» и начать считать деньги. Также можно отправить команду, например «call.hangup». Этого достаточно чтобы написать биллинг
Очень удобный сервис. Начал пользоваться им практически с самого начала. При помощи талкпада я искал себе работу, обзванивая конторы. Единственный недостаток, который я заметил за всё это время заключается в том, что дозвонившись на какого-нибудь робота-автоответчика приходится нажимать кнопки в тоновом режиме для того, чтобы передвигаться по меню. В талкпаде так не получилось.
И будет ли какой-нибудь гаджет под симбианы, андроиды?
Автор, скажите, а где брали доки к Yate? У меня есть работающий проект на этом «чуде инженерной мысли». Достался по наследству. Все работает, но вот хочется тюнинга, а где и как ковырять — не знаю. Доки с сайта — скуднее урожая пшеницы в СССР в 1921 году.
TalkPad изнутри