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

Передача переменных между серверами

0

Добрый день. Подскажите следующий момент: Есть два сервера Астериск, между ними SIP транк. При звонке с одного сервер на другой мне нужно передать некую переменную. Почитав в инете я наткнулся на app SIPAddHeader которым можно установить некий заголовок звонка на одном сервере, а на втором его можно будет забрать, но ничего не получается(((

Часть диалплана на первом сервере:

exten => _X.,n,SIPAddHeader(X-Asterisk-Account: ${callerid})
exten => _X.,n,Dial(PJSIP/${id_trunk}${EXTEN}@server68,40,tT)

На втором жду данный header так:

exten => _X.,n,NoOp( == SIP_HEADER(X-Asterisk-Account) == ${SIP_HEADER(X-Asterisk-Account)})

Но на втором сервере в переменной ${SIP_HEADER(X-Asterisk-Account)} пустота.

Подскажите что я не так делаю?

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

спросил 2017-09-18 13:13:28 +0400

Sergiy Gravatar Sergiy
19 5 3

обновил 2017-09-18 14:29:39 +0400

zzuz Gravatar zzuz flag of Russian Federation
6904 2 6 72
http://line24.ru/

Comments

Смотрите пакет INVITE , который гененируется вашим первым сервером.

zzuz ( 2017-09-18 14:30:59 +0400 )редактировать

помоему это не реализовано в pjsip. вообще тухлый драйвер, куча всего нереализовано, виснит намертво без сообщений под нагрузкой.

meral ( 2017-09-18 16:37:03 +0400 )редактировать

meral, кликни мой ответ правильным :)

Zavr2008 ( 2017-09-18 16:38:08 +0400 )редактировать

1 Ответ

2

Ничего что SipAddHeader работает с chan_sip, а не chan_pjsip? :)

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

ответил 2017-09-18 15:35:54 +0400

Zavr2008 Gravatar Zavr2008 flag of Russian Federation
2752 11 9 38
http://mh.otx.ru/

Comments

Если пробросить лишь ${callerid} нужно - можете его просто в Dial сам запихнуть, упаковав в конце например в ${callerid} после номера.

Zavr2008 ( 2017-09-18 15:40:50 +0400 )редактировать

Да извеняюсь нужно было написать ${PJSIPHEADER(to)} и ${PJSIPHEADER(FROM)}, в PJSIP добавляется запись в HEADER, таким образом Set(PJSIPHEADER(add,X-Asterisk)=number), но при этом на втором сервере этот HEADER не ловится(( Пока что сделал так что у меня в диале отправляется такое PJSIP/${idtrunk}${EXTEN}${callerid}${len} а на втором сервере режится, но это немного неудобно. Вопрос все ровно остается открытым

Sergiy ( 2017-09-18 16:39:09 +0400 )редактировать

debug включите и посмотрите инвайты

meral ( 2017-09-18 16:42:12 +0400 )редактировать
1

вообще ускорение работы до 1500 каналов вместо 600(chan_sip) не стоит гемороя,который дает этот канал. я еще ни одной версии не нашел, которая не виснит.

meral ( 2017-09-18 16:43:20 +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 ленту новостей

Статистика

Задан: 2017-09-18 13:13:28 +0400

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

Обновлен: Sep 18

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