Проблема следующая (с примерами из CLI) - при переводе звонка из очереди на дисплее того, КОМУ переводят, вместо номера того, КТО переводит, отображается слово asterisk...
Входящий звонок попадает в очередь 4000
...
-- Executing [4@menu:1] Answer("SIP/430303-00000686", "") in new stack
-- Executing [4@menu:2] Queue("SIP/430303-00000686", "4000,tm") in new stack
...
Его принимает 111-й внутренний
И переводит его на 109-й внутренний... CallerID is "" " - пустой
-- Playing 'pbx-transfer.alaw' (language 'ru')
-- Executing [109@outcoling:1] Set("Local/109@outcoling-0000009c;2", "__CID=") in new stack
-- Executing [109@outcoling:2] NoOp("Local/109@outcoling-0000009c;2", "CallerID is "" ") in new stack
-- Executing [109@outcoling:3] Dial("Local/109@outcoling-0000009c;2", "SIP/109,,tT") in new stack
Если набрать на прямую внутренний и перевести, то картина следующая:
125-й принимает звонок от 112
...
-- SIP/125-000007f3 answered SIP/112-000007f2
...
И переводит его на 109-й
-- Playing 'pbx-transfer.alaw' (language 'ru')
-- Executing [109@outcoling:1] Set("Local/109@outcoling-000000bc;2", "__CID=125") in new stack
-- Executing [109@outcoling:2] NoOp("Local/109@outcoling-000000bc;2", "CallerID is "" ") in new stack
-- Executing [109@outcoling:3] Dial("Local/109@outcoling-000000bc;2", "SIP/109,,tT") in new stack
Все определяется!
Кусок плана для набора добавочного при переводе:
exten => _[1-2]XX,1,SET(__CID=${CALLERID(number)})
exten => _[1-2]XX,n,NoOp(CallerID is ${CALLERID(all)})
exten => _[1-2]XX,n,Dial(SIP/${EXTEN},,tT)
Кусок плана для очереди:
exten => 4,1,Answer()
exten => 4,n,Queue(4000,tm)
Как подставить callerid при переводе из очереди!?
Последний раз редактировалось: ne_vin_diesel (Пт Сен 12, 2014 06:11)
2. Можно попробовать на входящем канале определить custom переменную и подставлять в контекст трансфера.
exten => _[1-9]XX,1,NoOp(Test for transfer: -${BLINDTRANSFER}-${TRANSFERERNAME}-)
ну а потом идет аналитика какая из переменных (какой метод перевода) установлена.
_________________
P4 3.0 + 1Gb CentOS 5.8 Aster 1.8.16
Не люблю gui-сборки: натуральный продукт вкуснее.
И еще: я ПРОФИ так как НЕ ЛЕНЮСЬ читать литературу.
exten => _[1-2]XX,1,SET(__CID=${CALLERID(number)})
exten => _[1-2]XX,n,NoOp(CallerID is ${CALLERID(all)})
exten => _[1-2]XX,n,ExecIf($[ ${LEN(${BLINDTRANSFER})} > 0 ]?Set(TRANSFERUSER=${BLINDTRANSFER}) )
exten => _[1-2]XX,n,ExecIf($[ ${LEN(${TRANSFERERNAME})} > 0 ]?Set(TRANSFERUSER=${TRANSFERERNAME}) )
exten => _[1-2]XX,n,ExecIf($[ ${LEN(${TRANSFERUSER})} > 0 ]?Set(TRANSFERUSER=${CUT(TRANSFERUSER,-,1)}) )
exten => _[1-2]XX,n,ExecIf($[ ${LEN(${TRANSFERUSER})} > 0 ]?Set(TRANSFERUSER=${CUT(TRANSFERUSER,\/,2)}) )
exten => _[1-2]XX,n,ExecIf($[ "foo${TRANSFERUSER}" = "foo" ]?Set(__CID=${CALLERID(number)}) )
exten => _[1-2]XX,n,ExecIf($[ ${LEN(${TRANSFERUSER})} > 0 ]?Set(CALLERID(number)=${CID}-${TRANSFERUSER}) )
exten => _[1-2]XX,n,ExecIf($[ "foo${TRANSFERUSER}" != "foo" ]?Set(CALLERID(name)= from:${TRANSFERUSER}) )
exten => _[1-2]XX,n,Dial(SIP/${EXTEN},,tT)
Спасибо за помощь!