Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

Добавить IP адрес оператора и абонента в cdr

0

Добрый день. Понял, что не корректно сформулировал вопрос в прошлый раз, по-этому решил попытаться вновь. Мне нужно добавить кастомные поля в таблицу cdr, в которые будут записываться IP человека, который позвонил и IP человека, который ответил. Делаю я это следующим образом:

sql> ALTER TABLE asterisk.cdr ADD COLUMN callerIP varchar(15);
sql> ALTER TABLE asterisk.cdr ADD COLUMN operatorIP varchar(15);
CLI> module reload cdr_adaptive_odbc.so

Далее. В extensions_custom.conf добавляю:

[from-pstn-custom]
exten => _X.,1,Answer
exten => _X.,n,Set(CDR(callerIP)=${SIPPEER(104,ip)})
exten => _X.,n,Set(CDR(operatorIP)=${SIPPEER(104,ip)})

CLI> asterisk -r
CLI> dialplan reload

При звонке корректно записывается IP 104-го sip'а в таблицу. Но как мне вместо хардкодного 104-го номера получать реальные IP? В прошлой теме получил рекомендацию смотреть в сторону ${SIPCHANINFO(peerip)} и ${CHANNEL(peerip)}, но

exten => _X.,n,Set(CDR(operatorIP)=${SIPCHANINFO(peerip)})

возвращает мне ip адрес транка, а не extension'а. В общем, надеюсь кто нибудь сможет мне помочь.

удалить закрыть спам изменить тег редактировать

спросил 2013-11-26 08:15:25 +0400

Andrey Gravatar Andrey
1 3 2

Comments

meral спасибо за ответ. ${EXTEN} вместо 104 возвращает номер транка. Я использую эластикс. По звонку на номер, включается IVR после чего воодится номер оператора и устанавливается связь. У меня такое подозрение, что я просто не верный контекст использую.

Andrey ( 2013-11-26 08:36:00 +0400 )редактировать

Извините за вопрос, а зачем вам это? Действительно интересно.

bandys ( 2013-11-26 10:14:32 +0400 )редактировать

Мое начальство хочет максимально разгрузить call-центр. Для этого было предложено решение с html-страничкой и маленьким скриптом на ajax'е, который будет дергать специальный сервлет на сервере, который будет возвращать всю информацию о клиенте в момент установления связи с оператором. Иными словами, в тот момент, когда оператор скажет "алло", на его странице в браузере уже должна появиться вся необходимая информация. Такова поставленная передо мной задача.

Andrey ( 2013-11-26 10:56:34 +0400 )редактировать

ну так из макроса по ответу всю информацию ложите. все равно непонятно чем оператору поможет АДРЕС ОПЕРАТОРА. он его не знает чтоли?

meral ( 2013-11-26 12:10:03 +0400 )редактировать

когда 104 исходящий номер показывает, обычно CALLERID(num) или CDR(src) показывает кто звонил. но в КЦ может быть что угодно. и мы вам тут сколько б не гадали не поможем. вот читайте и смотрите что у вас получается http://asterisk-support.ru/question/38386/kak-poniat-chto-proiskhodit-na-asteriske/

meral ( 2013-11-26 12:12:07 +0400 )редактировать

прошу прощения за глупый вопрос, но что такое КЦ? За линк спасибо.

Andrey ( 2013-11-26 14:03:24 +0400 )редактировать

коллцентр,не?

meral ( 2013-11-26 14:33:03 +0400 )редактировать

из того, что вы описали, и учитывая, что у вас софтфоны, открою вам тайну. В сипе можно передавать не только голос, но к примеру и URL. Кто ответил, тот URL и получил. "максимально разгрузить call-центр" это шедеврально :)

bandys ( 2013-11-26 16:47:02 +0400 )редактировать

2 Ответа

0

Екстеншен у вас будет КУДА позвонили. соответвенно вместо 104 подставляете ${EXTEN}

вообще это очень все от диалплана зависит.

в случае с группами ситуация усложняется, надо использовать макросы по ответу екстеншена.

зы то что вам надо адреса говорит о неверной постановке задачи. вас не должны волновать адреса, только транки и екстеншены.

ссылка удалить спам редактировать

ответил 2013-11-26 08:22:37 +0400

meral Gravatar meral flag of Ukraine
23347 24 20 177
http://pro-sip.net/

Comments

"то что вам надо адреса говорит о неверной постановке задачи." полностью поддерживаю :)

bandys ( 2013-11-26 10:14:05 +0400 )редактировать
0
...    
exten => _X.,n,Set(CDR(operatorIP)=${CHANNEL(recvip)})
...

И искомый IP у Вас в кармане.

ссылка удалить спам редактировать

ответил 2013-11-26 21:16:02 +0400

mistral Gravatar mistral flag of Ukraine
370 2 5 19

обновил 2013-11-27 00:09:20 +0400

Comments

...тишина и покой над солдатской тюрьмой (с)

mistral ( 2013-12-03 01:15:49 +0400 )редактировать

Ваш ответ

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
[скрыть предварительный просмотр]

Закладки и информация

Добавить закладку

подписаться на rss ленту новостей

Статистика

Задан: 2013-11-26 08:15:25 +0400

Просмотрен: 746 раз

Обновлен: Nov 27 '13

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.