_________________
https://github.com/nixonch/a2billing
| Цитата: |
| И ещё, мне сообщили лично, что с какой то карточки звонят, при балансе 20 руб. деньги заканчиваются, заново набирает пин деньги остаются теже на счету |
я ему после обсуждения тут сменил вызов с DeadAGI на AGI. до этого жалоб не было.
вобщем уже не знаю во что и верить...
у когонить есть идеи как такое вообще отлавливать (я уж не прошу фиксить), это впринципе возможно? я тут болею счас, голова не соображает нифига, мыслей никаких по этому поводу. но думаю надо всерьез озадачиться этой проблемой и наконецто покончить с ней, кто покажет направление?
_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
https://issues.asterisk.org/view.php?id=17954
не прошло и пяти лет какихто...
_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
наблюдаю дальше
_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
весь день было хорошо, но вечером ситуация повторилась - вывод консоли: баланс до звонка
| Код: |
| a2billing.php,1: [CREDIT : 16.86454] |
баланс после звонка
| Код: |
| a2billing.php,1: [CREDIT : 16.172665] |
но в базе данных все также светится 16.86454
Что еще остается? поставить AGI?
Added after 51 minutes:
это не баг астериска или а2биллинга, это моя собственная ошибка
сейчас создам в точности такую же ситуацию, по результатам отпишусь
Added after 2 hours 2 minutes:
так оно и оказалось
ответ тут
Есть GSM-гейт и те кто звонит на него с известным CID донабирают номер и получают нужное соединение, а неизвестным даётся отбой.
Теперь появилась потребность чтобы звонящие с неизвестным CID сразу попадали на заданный мной внутренний сип-номер, соединяясь с секретарём.
Помогите, может кто решал уже такую проблем?
exten => _X,1,Goto(reception,123,1) : позвонивший с неизвестным CID уходит на секретаря, внутренний номер 123)
| nixon писал(а): |
| ... средствами а2б... |
в принципе можно и через выборку из базы MySQL узнать список известных CID
если по такому варианту, то подскажите плиз как?
Создать дефолтный входящий маршрут Any CID который направить на секретаря.
_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
| Код: |
| exten => s,1,Answer exten => s,2,Wait(1) exten => s,3,Set(CHANNEL(language)=ru) exten => s,4,MYSQL(Connect connid localhost a2billinguser a2billing mya2billing) exten => s,5,MYSQL(Query resultid ${connid} SELECT\ credit\, cc_card.username FROM\ cc_callerid LEFT\ JOIN\ cc_card ON\ cc_callerid.id_cc_card\ =\ cc_card.id\ WHERE\ cc_callerid.cid=\'${CALLERID(num)}\') exten => s,6,MYSQL(Fetch fetchid ${resultid} cardCredit username) ; fetch row exten => s,7,NoOp(cardCredit --> ${cardCredit} username --> ${username}) exten => s,8,GotoIf($["${username}" != ""]?9:13) ; leave loop if no row found exten => s,9,NoOp(cardCredit --> ${cardCredit} username --> ${username}) exten => s,10,MYSQL(Clear ${resultid}) exten => s,11,MYSQL(Disconnect ${connid}) exten => s,12,Goto(Izvestny_nomer,s,1) exten => s,13,MYSQL(Clear ${resultid}) exten => s,14,MYSQL(Disconnect ${connid}) exten => s,15,Goto(Sekretar_nomer,s,1) |
примерно так запрос только возможно нужно подправить под стоящий у вас a2billing ну и подключение к базе
1. При запуске приложения из диалплана - тебе в стандартном потоке астериском выдается перечень переменных по данному звонку, в том числе и agi_callerid.
2. Это значение "ищется" в БД. Если найден, то астериску отправляется команда DIAL(...) по заданному экстеншену, если же не найдена запись, то команда DIAL() отправляется по экстеншену номера того же оператора или секретаря.
В а2б на нужного кастомера задаю на короткую "9"-ку внутренний номер для трансляции звонка, а в списке его CallerID сохраняю номера тех, чьи входящие звонки должны сразу попадать на этот внутренний номер. В extensions.conf создаю такой план:
exten => s,1,Set(CALLERID(dnid)=9) ;обозначаем звонок на короткий номер "9"
same => n,Agi(a2billing.php,2) ;передаём управление в a2b
same => n,GotoIf($["${DIALSTATUS}" != ""]?endcall) ; если а2б отработал по 9-ке, завершаем вызов, иначе - продолжаем
same => n,Set(CALLERID(dnid)=)
same => n,GotoIf($["${CALLERID(name)}" == ""]?a2bcontinue) ; если в а2б известен CallerID, то отправляемся в обработку звонка стандартными средствами a2b
same => n,Set(CALLERID(dnid)=${TransferFromCell}) ;тут можно задать внутренний номер секретаря например или закоментировать строчку целиком
same => n,Goto(secretar,${EXTEN},1) ;звонок поехал к секретарю в контекст
same => n(a2bcontinue),Answer()
same => n,Wait(1)
same => n,Agi(a2billing.php,1)
same => n(endcall),Hangup
Не забываем отключить answer_call в настройках для agi-conf2.
_________________
https://github.com/nixonch/a2billing
| nixon писал(а): |
| same => n,Agi(a2billing.php,1) |
вы на деньги еще не попадали?
доподлинно известно что при использовании AGI в ситуации когда вызывающая сторона ложит трубу первой - билинг продолжает считать деньги! именно поэтому даже на сайте a2b сказано использовать DeadAGI. имейте ввиду.
_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
Возможно просто помогает
exten => h,1,Hangup
_________________
https://github.com/nixonch/a2billing
_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
_________________
https://github.com/nixonch/a2billing
| Andrey053 писал(а): |
| а когда использую AGI, не тарифицирует звонок если звонящий через A2B первым положит трубку. |
пруфлинк
_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
но у меня, как и у многих эта проблема НИ РАЗУ не проявилaсь.
_________________
https://github.com/nixonch/a2billing
Последний раз редактировалось: nixon (Пт Дек 10, 2010 14:29)
ps: у вас не проявлялось видимо потому что не замечали и/или по счастливой случайности звонящий не ложил трубку первым. я у себя такого тоже не замечал пока, но читаю жалобы народа на разных форумах постоянно, вот уже несколько лет подряд.
_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
_________________
https://github.com/nixonch/a2billing
_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
Аб1 через минуту понял, что его уже никто не слышит и повесил трубку. Ещё через через 15 мин
Аб2 решил закончить разговор и позвонил Аб1 и за 21 мин разговор был доведен до логического конца.
Однако первому разговору была присвоена продолжительность 97 минут.
Подробных дебажных логов нет. А обычные логи ничего к сожалению для понимания ситуации не дадут
_________________
https://github.com/nixonch/a2billing
включите дебаг в конфиге a2b и снимите лог.
насколько мне известно - с AGI при подобной ситуации звонок вообще не попадет в статистику. тоесть вы даже не узнаете что он был. узнаете только если досконально с точностью до копейки будете считать покупку и продажу трафика.
_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
После перевода с Agi на DeadAgi в течении суток возникла проблема. Вернул на Agi.
| anest писал(а): |
| включите дебаг в конфиге a2b и снимите лог. |
Моделирование не привело к повторению ситуации.
| Цитата: |
| с AGI при подобной ситуации звонок вообще не попадет в статистику |
В a2b попадёт, однозначно.
Глазами выловить расхождения в статистике действительно почти не реально. Но есть анализ биллинг
процессов, который в автоматическом режиме проанализировал и нашел обильное несоответствие
суточных статистик по одному из транков. Обычно несколько секунд, а тут десятки минут. Оставалось
найти только конкретный момент-разговор.
_________________
https://github.com/nixonch/a2billing
| nixon писал(а): |
| Но есть анализ биллинг процессов, который в автоматическом режиме |
и что это за чудо, у него есть какоето имя? в ваших словах одна вода, никакой конкретики, вместо долказательств только чтото размытое типа "земля имеет форму куба, но доказывать я не собираюсь так как это много времени займет, но у меня есть мифический чудо калькулятор который это подсчитал". на сегодня как минимум 2 человека говорят о проблеме с AGI и ее отсутствии с DeadAGI, это сам автор билинга, который мало что в самой документации этот вопрос описал, так он еще и на форуме у себя неоднократно это повторяет (причем с подробным техническим описанием проблемы и разжовыванием причин и как лечить) но я так понимаю он для вас не авторитет. мне лично всеравно что вы исползуете, обидно будет если вы за собой по ложному пути еще когонить поведете... поэтому я и прошу привести хоть чтото конкретное в доказательство, помимо "я так чувствую но обьяснить не могу".
| nixon писал(а): | ||
| Цитата: |
| с AGI при подобной ситуации звонок вообще не попадет в статистику |
В a2b попадёт, однозначно.
тоесть Andrey053 бессовестно лжёт?
_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
Andrey053 утверждает, что a2b всего-лишь "не тарифицирует звонок", но нигде не пишет, что он "вообще не попадает в статистику".
Нет никаких оснований не доверять чужому опыту, однако Бог его знает почему, но проблем с AGI у меня нет.
И если их у меня нет, то зачем мне пытаться их поиметь чтобы Вам что-то доказать. Ну поставьте Вы себя на моё место.
P.S. Ничего личного, только профессиональное.
_________________
https://github.com/nixonch/a2billing
ps: мой ник пишется с маленькой буквы
_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
сегодня наконецто (не прошло и полгода) приняли к рассмотрению этот злополучный баг.
ситуация комична для меня тем что как выяснилось, раньше этот баг проявлялся в AGI (а в DeadAGI его не было), теперь его вроде как там нет но он вдруг неожиданно вынырнул в DeadAGI
напрашивается вывод сам собой - разработчики просто поменяли названия этим двум апликухам заменив друг на друга или мне это только так кажется?
ну просто смешно както видеть что этот баг перетаскивают туда-сюда такое долгое время. а ктото тем времени попадает на бабло...
ps: наболело просто. будем надеяться что на этот раз наконецто допишут нужный код и закроют эту тему.
_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
| anest писал(а): |
| разработчики просто поменяли названия этим двум апликухам заменив друг на друга или мне это только так кажется? |
| anest писал(а): |
| сегодня наконец-то (не прошло и полгода) приняли к рассмотрению этот злополучный баг. |
И ответственных больше нет.
_________________
https://github.com/nixonch/a2billing