VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

ChannelRedirect в 16-ом asterisk`е

Проблемы Asterisk без вэб-оболочек и их решения

Модераторы: april22, Zavr2008

Ответить
Mr.Dimas
Сообщения: 4
Зарегистрирован: 23 июн 2016, 17:24

ChannelRedirect в 16-ом asterisk`е

Сообщение Mr.Dimas »

Код: Выделить всё

[dynamic-3way]
exten => _XXX.,1,Answer()
same => n,ConfBridge(${EXTEN})
same => n,Hangup

[macro-3way-start]
exten => s,1,Set(CONFNO=6000)
same => n,ChannelRedirect(${BRIDGEPEER},dynamic-3way,${CONFNO},1)
same => n,Dial(SIP/501,30,g)
same => n,ChannelRedirect(${CHANNEL(name)},dynamic-3way,${CONFNO},1)
same => n,MacroExit()

;=======================
-- Channel SIP/500-0000006a joined 'simple_bridge' basic-bridge <727d156a-85df-4508-b41e-2012cd03ab11>
-- Channel SIP/600-00000069 joined 'simple_bridge' basic-bridge <727d156a-85df-4508-b41e-2012cd03ab11>
[Feb 21 20:30:26] DTMF[4104][C-0000002b]: channel.c:3887 __ast_read: DTMF begin '*' received on SIP/600-00000069
[Feb 21 20:30:26] DTMF[4104][C-0000002b]: channel.c:3898 __ast_read: DTMF begin passthrough '*' on SIP/600-00000069
[Feb 21 20:30:26] DTMF[4104][C-0000002b]: channel.c:3801 __ast_read: DTMF end '*' received on SIP/600-00000069, duration 100 ms
[Feb 21 20:30:26] DTMF[4104][C-0000002b]: channel.c:3842 __ast_read: DTMF end accepted with begin '*' on SIP/600-00000069
[Feb 21 20:30:26] DTMF[4104][C-0000002b]: channel.c:3857 __ast_read: DTMF end '*' detected to have actual duration 79 on the wire, emulation will be triggered on SIP/600-00000069
[Feb 21 20:30:26] DTMF[4104][C-0000002b]: channel.c:3864 __ast_read: DTMF end '*' has duration 79 but want minimum 80, emulating on SIP/600-00000069
[Feb 21 20:30:26] DTMF[4104][C-0000002b]: channel.c:3921 __ast_read: DTMF end emulation of '*' queued on SIP/600-00000069
[Feb 21 20:30:26] DTMF[4104][C-0000002b]: channel.c:3887 __ast_read: DTMF begin '0' received on SIP/600-00000069
[Feb 21 20:30:26] DTMF[4104][C-0000002b]: channel.c:3898 __ast_read: DTMF begin passthrough '0' on SIP/600-00000069
[Feb 21 20:30:26] DTMF[4104][C-0000002b]: channel.c:3801 __ast_read: DTMF end '0' received on SIP/600-00000069, duration 100 ms
[Feb 21 20:30:26] DTMF[4104][C-0000002b]: channel.c:3842 __ast_read: DTMF end accepted with begin '0' on SIP/600-00000069
[Feb 21 20:30:26] DTMF[4104][C-0000002b]: channel.c:3857 __ast_read: DTMF end '0' detected to have actual duration 79 on the wire, emulation will be triggered on SIP/600-00000069
[Feb 21 20:30:26] DTMF[4104][C-0000002b]: channel.c:3864 __ast_read: DTMF end '0' has duration 79 but want minimum 80, emulating on SIP/600-00000069
[Feb 21 20:30:27] DTMF[4104][C-0000002b]: channel.c:3921 __ast_read: DTMF end emulation of '0' queued on SIP/600-00000069
    -- Executing [s@macro-3way-start:1] Set("SIP/600-00000069", "CONFNO=6000") in new stack
    -- Executing [s@macro-3way-start:2] ChannelRedirect("SIP/600-00000069", "SIP/500-0000006a,dynamic-3way,6000,1") in new stack
    -- Executing [s@macro-3way-start:3] Dial("SIP/600-00000069", "SIP/501,30,g") in new stack
    -- Channel SIP/500-0000006a left 'simple_bridge' basic-bridge <727d156a-85df-4508-b41e-2012cd03ab11>
  == Using SIP RTP TOS bits 184
  == Using SIP RTP CoS mark 5
    -- Executing [6000@dynamic-3way:1] Answer("SIP/500-0000006a", "") in new stack
    -- Executing [6000@dynamic-3way:2] ConfBridge("SIP/500-0000006a", "6000") in new stack
    -- Called SIP/501
    -- Channel CBAnn/6000-00000030;2 joined 'softmix' base-bridge <156a44fc-fcaa-459b-af31-844fbbf47cdd>
    -- <SIP/500-0000006a> Playing 'conf-onlyperson.ulaw' (language 'ru')
    -- SIP/501-0000006b is ringing
    -- SIP/501-0000006b answered SIP/600-00000069
    -- Channel SIP/501-0000006b joined 'simple_bridge' basic-bridge <6249ff41-66ce-42a9-b729-67fef9af1c86>
    -- Executing [s@macro-3way-start:4] ChannelRedirect("SIP/600-00000069", "SIP/600-00000069,dynamic-3way,6000,1") in new stack
  == Channel 'SIP/600-00000069' jumping out of macro '3way-start'
    -- Channel SIP/600-00000069 left 'simple_bridge' basic-bridge <727d156a-85df-4508-b41e-2012cd03ab11>
    -- Executing [6000@dynamic-3way:1] Answer("SIP/600-00000069", "") in new stack
  == Spawn extension (dynamic-3way, 6000, 1) exited non-zero on 'SIP/600-00000069'
    -- <SIP/500-0000006a> Playing 'confbridge-join.ulaw' (language 'ru')
    -- <CBAnn/6000-00000030;1> Playing 'confbridge-join.slin16' (language 'en')
    -- Channel SIP/500-0000006a joined 'softmix' base-bridge <156a44fc-fcaa-459b-af31-844fbbf47cdd>


*CLI> confbridge list
Conference Bridge Name           Users  Marked Locked Muted
================================ ====== ====== ====== =====
6000                                  1      0 No     No

*CLI> core show channels
Channel              Location             State   Application(Data)
SIP/500-0000006a     6000@dynamic-3way:2  Up      ConfBridge(6000)
SIP/501-0000006b     (None)               Up      AppDial((Outgoing Line))
CBAnn/6000-00000030; s@default:1          Up      (None)
CBAnn/6000-00000030; s@default:1          Up      (None)

в Asterisk v.16 при использовании ChannelRedirect, перенаправление канала ${BRIDGEPEER} работает, если перенаправляется канал ${CHANNEL(name)} - то не работает, инициатор вызова отбивается. В версии 13 работает.

буду благодарен за любую помощь, хотя бы знать куда копать.
Repz
Сообщения: 169
Зарегистрирован: 04 мар 2015, 11:35

Re: ChannelRedirect в 16-ом asterisk`е

Сообщение Repz »

${CHANNEL(name) определена?
NoOp(${BRIDGEPEER)
NoOp(${CHANNEL(name))
Mr.Dimas
Сообщения: 4
Зарегистрирован: 23 июн 2016, 17:24

Re: ChannelRedirect в 16-ом asterisk`е

Сообщение Mr.Dimas »

определены, видно по логу:

same => n,ChannelRedirect(${BRIDGEPEER},dynamic-3way,${CONFNO},1)
[s@macro-3way-start:2] ChannelRedirect("SIP/600-00000069", "SIP/500-0000006a,dynamic-3way,6000,1") in new stack

same => n,ChannelRedirect(${CHANNEL(name)},dynamic-3way,${CONFNO},1)
[s@macro-3way-start:4] ChannelRedirect("SIP/600-00000069", "SIP/600-00000069,dynamic-3way,6000,1") in new stack
sasa
Сообщения: 119
Зарегистрирован: 22 янв 2019, 14:41

Re: ChannelRedirect в 16-ом asterisk`е

Сообщение sasa »

Невидно второго лога для сравнения.
BorisTheBlade
Сообщения: 167
Зарегистрирован: 14 фев 2011, 14:24

Re: ChannelRedirect в 16-ом asterisk`е

Сообщение BorisTheBlade »

А если просто goto сделать для второго канала, первый то уже перенаправлен.
Я с чем то подобным сталкивался, но это было больше года назад уже не помню деталей, на одной версии астериска работало на другой нет.
Делал воркэранд через AMI Redirect - там работало.
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH