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

переадресация и ее отображение

0

Доброго времени суток!

при входящих, требуется при переадресации перехватить номер того, кто перевел звонок. как это реализовать? способы, примеры? я пробовал таким способом

exten => _XXX,1,NoOp()

exten => _XXX,n,GotoIf($["${BLINDTRANSFER}" = ""]?33:66)

;exten => _XXX,n,GotoIf($[${LEN(${BLINDTRANSFER})} > 0]?33:66)

exten => _XXX,66,Set(TEMP=${BLINDTRANSFER})

exten => _XXX,n,Set(TEMP=${CUT(TEMP,/,2)})

exten => _XXX,n,Set(TEMP=${CUT(TEMP,-,1)})

exten => _XXX,n,Set(TEMP=${CALLERID(name)}//${TEMP})

exten => _XXX,n,Set(CALLERID(name)=${TEMP})

exten => _XXX,n,SIPAddHeader(transfer: ${TEMP})

exten => _XXX,n,Queue(office,n,15)

exten => _XXX,n,Answer()

exten => _XXX,n,Hangup()

exten => _XXX,33,Queue(office,n,15)

exten => _XXX,n,Answer()

exten => _XXX,n,HangUp()

это работает на тестовой конфигурации(на виртуалке)с двумя десятками строк. но на реальном сервере, где 500 строк - это не работает. когда проверяется условие exten => _XXX,n,GotoIf($["${BLINDTRANSFER}" = ""]?33:66) - то сначала BLINDTRANSFER однозначно = 0 . далее, при трансфере звонка требуется вернутся к этой строке условия, но не получается... как это можно реализовать? спасибо за внимание.

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

спросил 2012-12-05 18:20:16 +0400

zdh Gravatar zdh
1 2

Comments

Уточнение: Требуется вернуть звонок тому кто перевел ?

awsswa ( 2012-12-06 08:33:39 +0400 )редактировать

нет. требуется в сипаддхидер запихнуть номер того, кто перевел. а в коллерайди(ном) оставить номер входящий.возвращать ничего не надо. вернутся надо в начало контекста, там где условие

zdh ( 2012-12-06 16:29:08 +0400 )редактировать

Ну тогда у вас просто ошибка - нельзя так писать - exten => _XXX,66,Set(TEMP=${BLINDTRANSFER}) - exten => _XXX,n(66),Set(TEMP=${BLINDTRANSFER})

awsswa ( 2012-12-07 07:50:47 +0400 )редактировать

Это работает, если переводить средствами Звезды. А если средствами телефона - нет. Вот тут http://samael28.blogspot.com/2012/09/clid.html я описал более-менее универсальный способ.

samael28 ( 2012-12-08 12:54:19 +0400 )редактировать

1 Ответ

0

Добавление в заголовок CallerID(name) номера телефона сделавшего blind transfer

exten => _1XX,1,NoOp( == add blind transfer number == )
exten => _1XX,n,GotoIf($["${BLINDTRANSFER}" = ""]?NoBlind:Blind)
exten => _1XX,n(Blind),Set(TEMP=${BLINDTRANSFER})
exten => _1XX,n,Set(TEMP=${CUT(TEMP,/,2)})
exten => _1XX,n,Set(TEMP=${CUT(TEMP,-,1)})
exten => _1XX,n,Set(TEMP=${CALLERID(name)} ${TEMP})
exten => _1XX,n,Set(CALLERID(name)=${TEMP})
exten => _1XX,n,SIPAddHeader(transfer: ${TEMP})
exten => _1XX,n(NoBlind),NoOp( == no blind transfer == )
exten => _1XX,n,Dial(SIP/${EXTEN},25,tT)
;exten => _1XX,n,Goto(s-${DIALSTATUS},1)
exten => _1XX,n,HangUp()
ссылка удалить спам редактировать

ответил 2012-12-07 09:41:49 +0400

awsswa Gravatar awsswa flag of Russian Federation
685 5 2 9

Ваш ответ

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 ленту новостей

Статистика

Задан: 2012-12-05 18:20:16 +0400

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

Обновлен: Dec 07 '12

Похожие вопросы:

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