Должна ли BLINDTRANSFER иметь значение при Action: Redirect из AMI? Хотел обрабатывать звонки без ответа, переведенные через АМИ.
Asterisk 1.8.26.1, extension.conf:
[local-phones]
exten => _[012]XX,1,n,Dial(SIP/${EXTEN},30,tT)
same => n,NoOp(BLINDTRANSFER:${BLINDTRANSFER} DIALSTATUS:${DIALSTATUS})
[from-phones]
include => local-phones
Перевод звонка с телефона:
-- Executing [222@from-phones:1] Dial("SIP/244-0000017d", "SIP/222,30,tT") in new stack
-- Executing [222@from-phones:2] NoOp("SIP/244-0000017d", "BLINDTRANSFER:SIP/294-0000017e DIALSTATUS:BUSY") in new stack
Редирект из AMI:
-- Executing [222@from-phones:1] Dial("SIP/244-00000181", "SIP/222,30,tT") in new stack
-- Executing [222@from-phones:2] NoOp("SIP/244-00000181", "BLINDTRANSFER: DIALSTATUS:BUSY") in new stack
UPD: meral, добрый день! С поведением переменных, тоже непонятно, почему-то сбрасываются. Конфиг:
[local-phones]
exten => _[012]XX,1,n,Dial(SIP/${EXTEN},30,tT)
same => n,NoOp(BLINDTRANSFER:${BLINDTRANSFER} X-fer:${X-fer} DIALSTATUS:${DIALSTATUS})
Редирект:
Action: Setvar
Channel: SIP/244-000001c2
Variable: __X-fer=SIP/294-0000007f
Action: Redirect
Channel: SIP/244-000001c2
Context: from-phones
Exten: 222
Priority: 1
Async: true
В логах (пока идет вызов) вижу X-fer:
-- SIP/222-000001bb is ringing
nodetest*CLI> core show channel SIP/244-000001c2
-- General --
Variables:
TRANSFER_CONTEXT=from-phones
X-fer=SIP/294-0000007f=
и, после отбоя
-- SIP/222-000001bb is busy
== Everyone is busy/congested at this time (1:1/0/0)
-- Executing [222@from-phones:2] NoOp("SIP/244-000001c2", "BLINDTRANSFER: X-fer: DIALSTATUS:BUSY") in new stack
чисто из логики - недолжна. ибовыставляется исключительно процессом blindtransfer из features.conf
но вы всегда можете посмотреть в исходниках как работает ami redirect.
или выставить перед редиректом другую переменную.
Задан: 2015-10-22 13:04:04 +0400
Просмотрен: 3,642 раз
Обновлен: Oct 22 '15
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.
а вы их в новом канале выставьте. тоесть сначала редирект, потом поймать новое имя канала потом в нем переменные выставить
meral ( 2015-10-23 06:25:03 +0400 )редактировать