Вход | Регистрация
Вы здесь: Главная / Форум / Главный форум по Asterisk / Конфигурация и настройка / Dial - как узнать номер по которому прошел вызов

Dial - как узнать номер по которому прошел вызов

Dial - как узнать номер по которому прошел вызов
<1 2 3>
Откуда: NiNo
Сообщений: 112

Re: Dial - как узнать номер по которому прошел вызов

Есть AGI приложение, у него одна из функций, нечто похожее на 'Follow-Me', есть пользователи которые логинятся в систему имея некий веб интерфейс, создают свой IVR ( физически пользователи не прописаны в астериске ).

Пользователь может в своем интерфейсе ввести список 'номеров' по которым его искать, 'номера' вида:
1647153900,
bill@10.1.11.1

приложение делает вызов по данным номерам, собирая в зависимости от алгоритма вызова, в интересующем случае, строку вида:
Dial(LOCAL/16417153900&SIP/bill@10.1.11.1)
и отдает через AGI астериску.

В статистике собственно хочется видеть куда ушел звонок, на 16417153900 или bill@10.1.11.1.

вот.
http://code.google.com/p/virtual-pbx - я не червонец, чтобы нравиться всем....
2009-04-15 15:45

Avatara of Alekz
Откуда: Санкт-Петербург
Сообщений: 931

Re: Dial - как узнать номер по которому прошел вызов

Потестил еще:) Снова предлагаю вернуться к функции cdr() только уже выбирать поле dst.
Переменная BRIDGEPEER действительно содержит не полный sip uri.
Создам аварийную ситуацию. Дорого. На долго =)
2009-04-15 16:08

Сообщений: 1573

Re: Dial - как узнать номер по которому прошел вызов

Alekz:

Потестил еще:) Снова предлагаю вернуться к функции cdr() только уже выбирать поле dst.
это поле будет содержать (в данном случае) тем более не то, что вы ожидаете ...

Alekz:

Переменная BRIDGEPEER действительно содержит не полный sip uri.

что вы ожидаете там увидеть? )
2009-04-15 16:31

Откуда: NiNo
Сообщений: 112

Re: Dial - как узнать номер по которому прошел вызов

Alekz:

Потестил еще:) Снова предлагаю вернуться к функции cdr() только уже выбирать поле dst.
Переменная BRIDGEPEER действительно содержит не полный sip uri.
тут другая засада:

asterisk 1.4.24
GET FULL VARIABLE - возвращает почему то на любую запрашиваемую переменную ее имя а не занчение ( то есть на запрос 'GET FULL VARIABLE cdr(dst)' возвращает 'cdr(dst)' )

через 'GET VARIABLE' на сколько я в курсе до функций не добраться... :(
http://code.google.com/p/virtual-pbx - я не червонец, чтобы нравиться всем....
2009-04-15 16:43

Avatara of Alekz
Откуда: Санкт-Петербург
Сообщений: 931

Re: Dial - как узнать номер по которому прошел вызов

Я хочу иметь возможность собрать конструкцию вида
bill@10.1.11.1
Хотя надо это не мне :)
Создам аварийную ситуацию. Дорого. На долго =)
2009-04-15 16:43

Сообщений: 1573

Re: Dial - как узнать номер по которому прошел вызов

Есть AGI приложение, у него одна из функций, нечто похожее на 'Follow-Me', есть пользователи которые логинятся в систему имея некий веб интерфейс, создают свой IVR ( физически пользователи не прописаны в астериске ).

Пользователь может в своем интерфейсе ввести список 'номеров' по которым его искать, 'номера' вида:
1647153900,
bill@10.1.11.1

приложение делает вызов по данным номерам, собирая в зависимости от алгоритма вызова, в интересующем случае, строку вида:
Dial(LOCAL/16417153900&SIP/bill@10.1.11.1)
и отдает через AGI астериску.

В статистике собственно хочется видеть куда ушел звонок, на 16417153900 или bill@10.1.11.1.

вот.
...
exten => _X.,n,Dial(LOCAL/16417153900&SIP/bill@10.1.11.1)
...

exten => h,1,Set(PEER=${CUT(BRIDGEPEER,/,2)})
exten => h,n,Set(PEER=${CUT(PEER,-,1)})
exten => h,n,Set(CDR(accoutcode)=${PEER})
exten => h,n,Hangup()

2009-04-15 16:45

Сообщений: 866

Re: Dial - как узнать номер по которому прошел вызов

asterisk 1.4.24
GET FULL VARIABLE - возвращает почему то на любую запрашиваемую переменную ее имя а не занчение ( то есть на запрос 'GET FULL VARIABLE cdr(dst)' возвращает 'cdr(dst)' )

через 'GET VARIABLE' на сколько я в курсе до функций не добраться... :(
GET FULL VARIABLE ${cdr(dst)}
пробовали?
2009-04-15 16:49

Avatara of Alekz
Откуда: Санкт-Петербург
Сообщений: 931

Re: Dial - как узнать номер по которому прошел вызов

cron333, при конструкции bill@10.1.11.1 в команде Dial в переменную BRIDGEPEER помещается SIP/10.1.11.1-0827a7a8 (например). А если 2 пользователя укажут на свои имена на одном хосте?
Создам аварийную ситуацию. Дорого. На долго =)
2009-04-15 16:56

Откуда: NiNo
Сообщений: 112

Re: Dial - как узнать номер по которому прошел вызов

cron333:

Есть AGI приложение, у него одна из функций, нечто похожее на 'Follow-Me', есть пользователи которые логинятся в систему имея некий веб интерфейс, создают свой IVR ( физически пользователи не прописаны в астериске ).

Пользователь может в своем интерфейсе ввести список 'номеров' по которым его искать, 'номера' вида:
1647153900,
bill@10.1.11.1

приложение делает вызов по данным номерам, собирая в зависимости от алгоритма вызова, в интересующем случае, строку вида:
Dial(LOCAL/16417153900&SIP/bill@10.1.11.1)
и отдает через AGI астериску.

В статистике собственно хочется видеть куда ушел звонок, на 16417153900 или bill@10.1.11.1.

вот.
...
exten => _X.,n,Dial(LOCAL/16417153900&SIP/bill@10.1.11.1)
...

exten => h,1,Set(PEER=${CUT(BRIDGEPEER,/,2)})
exten => h,n,Set(PEER=${CUT(PEER,-,1)})
exten => h,n,Set(CDR(accoutcode)=${PEER})
exten => h,n,Hangup()

мне из AGI скрипта все это надо сделать.
exten => _X., 1, AGI( /agi/script.agi )

AGI на перле если это актуально.
значения пробовал получать
$agi->get_full_variable('cdr(dst)');

Команда Dial из AGI приложения может вызываться несколько раз.

http://code.google.com/p/virtual-pbx - я не червонец, чтобы нравиться всем....
2009-04-15 17:00

Avatara of Alekz
Откуда: Санкт-Петербург
Сообщений: 931

Re: Dial - как узнать номер по которому прошел вызов

Смотрит пост dimas по Формату команды. Поле смотрите lastdata. Прошу прощения за сумбур в своих постах - дергают меня :)
Создам аварийную ситуацию. Дорого. На долго =)
2009-04-15 17:05

<1 2 3>
Добавить страницу в закладки:  Delicious Google Slashdot Yahoo Yandex.ru Reddit Digg Technorati Bobrdobr.ru Newsland.ru Smi2.ru Rumarkz.ru Vaau.ru Memori.ru Rucity.com Moemesto.ru News2.ru Mister-Wong.ru Myscoop.ru 100zakladok.ru