Имею шлюз voip-gsm, данный девайс умеет передавать определенный номер, при прозвоне из gsm сети сразу попадаем на меню карточек, как сделать авторизацию по определенному номеру ??????
a2billing.php|1: [agi_callerid] => 999gate -- узер нэйм пира
a2billing.php|1: [agi_calleridname] => 0313158442 - тот самый номер по которому нужно сделать определение.
Буду очень благодарен тому кто поможет.
А нельзя разве ловить этот номер до вызова биллинга?
Posted after 6 minutes 42 seconds:
Делаем два профиля a2b и рулим:
[config:1:5a9b751d05]
exten => s/0313158442,1,Goto(a2billing,1,1)
exten => s,1,Goto(a2billing,2,1)
[a2billing]
exten => 1,1,DeadAGI(a2billing.agi|1)
exten => 2,1,DeadAGI(a2billing.agi|2)
[/config:1:5a9b751d05]
_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
в конфиге биллинга все это настраивается... загляните в него.
насколько помню там вроде даже по умолчанию уже это включено!
тоесть биллинг сначала пытается авторизовать по CallerID, если такого номера нет в его базе - он просит ввести пин.
вам ведь именно это нужно?
встречный вопрос - биллинг уже стоит, настроен и работает? или ваш вопрос лишь о потенциальных возможностях a2b?
если же вам обязательно нужно чтобы авторизация по CallerID работала выборочно для некоторых клиентов а для других нет,
тогда вижу как минимум два способа:
1. сделать два входящих номера. один обычный только с запросом пина. второй только по CallerID. (имхо извращение какоето)
2. взять напильник в виде программера php и допилить, вставив в пользовательский GUI возможность юзеру самому выбирать тип авторизации. это не сложно, уверен любой программер это сделает за ~50$ и пару часов.
_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
Насчет штатной функции не помню, я делал вызываемым перед вызовом a2b скриптом, который из бызы получал данное соответствие callerid=>accountcode.
_________________
OpenSUSE 11.2 / Asterisk-trunk / Celeron 1100 (512mb) / chan_lcr / Linksys / Aastra 9112i
http://igorg.ru
| anest писал(а): |
| теперь прояснилось. в конфиге биллинга все это настраивается... загляните в него. насколько помню там вроде даже по умолчанию уже это включено! тоесть биллинг сначала пытается авторизовать по CallerID, если такого номера нет в его базе - он просит ввести пин. вам ведь именно это нужно? встречный вопрос - биллинг уже стоит, настроен и работает? или ваш вопрос лишь о потенциальных возможностях a2b? если же вам обязательно нужно чтобы авторизация по CallerID работала выборочно для некоторых клиентов а для других нет, тогда вижу как минимум два способа: 1. сделать два входящих номера. один обычный только с запросом пина. второй только по CallerID. (имхо извращение какоето) 2. взять напильник в виде программера php и допилить, вставив в пользовательский GUI возможность юзеру самому выбирать тип авторизации. это не сложно, уверен любой программер это сделает за ~50$ и пару часов. |
Продолжим, я думаю наэтом и закончим эту тему, для начала отвечу на вышеуказанные вопросы, биллинг уже стоит, пользуюсь два месяца - все просто супер (лучшего и не надо под карточки), все решаеться даже на одном входящем номере
в a2billing.conf обязательный параметр cid_enable=YES
а делее правим
меняем это
$callerid = $this->request['agi_callerid'];
./libs_a2billing/phpagi_2_14/phpagi.php
$this->CallerID = $agi->request['agi_callerid'];
./libs_a2billing/Class.A2Billing.php
на это
$callerid = $this->request['agi_calleridname'];
./libs_a2billing/phpagi_2_14/phpagi.php
$this->CallerID = $agi->request['agi_calleridname'];
./libs_a2billing/Class.A2Billing.php
В Customer в CALLERID добавляем определяемый номер, звоним с этого номера - говорит сразу баланс, если в CALLERID пусто или номер не соответствует - то спрашивает баланс - То что и нужно было мне!!!
P.S Хотя может это еденичный случай так как мой шлюз транслирует номер в caleridname а не в callerid.
| Maxim писал(а): |
| Хотя может это еденичный случай так как мой шлюз транслирует номер в caleridname а не в callerid. |
Похоже на то.. Что за шлюз? Рискну предположить что дело не в шлюзе а в криворукости провайдера.
тогда вот вам вариант как можно было обойтись без правки кода a2b:
[config:1:091c306e65]
exten => _X.,1,Set(CALLERID(num))=$(CALLERID(name))
exten => _X.,2,DeadAGI(a2billing|1)
[/config:1:091c306e65]
ps: возможно я ошибся в синтаксисе, его слишком часто меняют, но идею, я думаю, вы поняли.
_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius