Страница 1 из 1

Web callback в a2billing

СообщениеДобавлено: 01 окт 2010, 19:43
lyolic
В форме в интерфейсе пользователя ввожу свой телефон и куда звонить, посылаю запрос.
В итоге мне звонит, но не соединяет с другим абонентом, а просит набрать номер :(
Дебаг звонка следующий http://pastebin.com/NSuuTj5p
Как починить?

Re: Web callback в a2billing

СообщениеДобавлено: 02 окт 2010, 23:33
ded
Приходит не в тот контекст?
Для callback вообще несколько контекстов:
[a2billing-callback]
exten => _X.,1,AGI(a2billing.php,1,callback)
exten => _X.,n,Hangup

[a2billing-cid-callback]
exten => _X.,1,AGI(a2billing.php,1,cid-callback,34) ;last parameter is the callback area code
exten => _X.,n,Hangup

[a2billing-all-callback]
exten => _X.,1,AGI(a2billing.php,1,all-callback,34) ;last parameter is the callback area code
exten => _X.,n,Hangup

У Вас куда приходит?

Судя по логу, Вы его не читали. Я бы обратил внимание на сообщение
Код: выделить все
DeadAGI has been deprecated, please use AGI in all cases!
Это Вы сами писали в контексте DeadAGI, или просто a2b сильно старый?

Re: Web callback в a2billing

СообщениеДобавлено: 03 окт 2010, 01:16
lyolic
Как видно из логов
-- Executing [79260288106@a2billing-callback:1] DeadAGI("SIP/callwithus-0000000b", "a2billing.php,1,callback") in new stack
приходит в контекст callback.

А относительно DeadAGI и AGI. То в последних, да и во всех, версиях дистрибутива в /addons/doc/extensions_a2billing_1_6.conf нарисованно именно DeadAGI . Да и сами разарботчики на форуме требуют использовать DeadAGI и игнориовать данный ворнинг
proof link

Re: Web callback в a2billing

СообщениеДобавлено: 03 окт 2010, 12:27
ded
Судя по логу оба номера - исходящий и назначение - считались правильно из вэб формы, и переданы в a2b для исполнения верно. Rate_engine должна расчитать стоимость звонка между 74956862634 и 79260288106
Если скрипт возвращает -1
<SIP/callwithus-0000000b>AGI Script a2billing.php completed, returning -1 то смотрите что это значит, и почему. Скрипт обработает данные, переданные ему, если они верны. Данные даются через запятую, вот что пошло в базу MySQL:
uniqueid '1283774552.11'
sessionid 'SIP/callwithus-0000000b'
card_id '6'
nasipaddress SUBDATE(CURRENT_TIMESTAMP, INTERVAL 14 SECOND) ??
starttime '14'
sessiontime '14'
real_sessiontime
calledstation '74956862634|CALLING=79260288106|CBID=93535-ticq5ax|LEG=0828104289' - по моему разумению тут не выполнился какой-то скрипт, поэтому в параметр пошла недопарсенная строка
terminatecauseid 0
stoptime now()
sessionbill '+0.03'
и так далее. Вам ничего не остаётся, как разбираться в коде, улавливая логику создателей.

И ещё: любой биллинг служит для зарабатывания денег. Бесплатный продукт - a2billing не предполагает бесплатный суппорт.

Re: Web callback в a2billing

СообщениеДобавлено: 03 окт 2010, 15:12
lyolic
ded писал(а):И ещё: любой биллинг служит для зарабатывания денег.

Или для контроля расходов по направлениям. Или для тысячи других вещей

Бесплатный продукт - a2billing не предполагает бесплатный суппорт.

Это вы к чему? ;)

Re: Web callback в a2billing

СообщениеДобавлено: 03 окт 2010, 15:42
ded
Я что, двусмысленно как-то сформулировал? Может лучше в логах и коде посмотрите, чем дискутировать?

Re: Web callback в a2billing

СообщениеДобавлено: 03 окт 2010, 17:06
lyolic
ded писал(а):Я что, двусмысленно как-то сформулировал? Может лучше в логах и коде посмотрите, чем дискутировать?

Угу, двухсмысленно :) А какие ещё логи вы можете посоветовать?

Re: Web callback в a2billing

СообщениеДобавлено: 05 окт 2010, 09:47
lyolic
Проблема разрешилась. Надо было задать версию астреиска в настройках биллинга.

Re: Web callback в a2billing

СообщениеДобавлено: 25 окт 2011, 17:06
pavel_ismailov
Добрый день!

Посмотрите http://www.flashphoner.com
Это RTMP-SIP сервер для звонков из браузера
У него есть встроенный Flash phone и JavaScript Phone

Функции:
- Audio - Speex, g.711, g.729
- Video - h.263, h.264
- SIP - calls, transfer, hold, DTMF, IM chat
- API - ActionScript, JavaScript
- Open source client
- Open source server java app

Спасибо,
Павел
Pavel