И ещё одна фигня, не могу разобраться. Если А звонит Б, оба могут набрать фьючер-код и попасть в конференцию. Если набирает звонящий (А), всё нормально. Но если набирает Б, то в конференцию попадает только он, а первого "А" разъединяют через 30 сек по таймауту. Причём ошибок нет:
Код: Выделить всё
-- Feature Found: MyFeature1 exten: MyFeature1
-- Executing [s@macro-MyFeature1:1] Set("SIP/401-0000002b", "confno=401") in new stack
-- Executing [s@macro-MyFeature1:2] ChannelRedirect("SIP/401-0000002b", "SIP/400-0000002a,my-addtoconf,401,1") in new stack
-- Executing [s@macro-MyFeature1:3] NoOp("SIP/401-0000002b", "here1") in new stack
-- Executing [s@macro-MyFeature1:4] ConfBridge("SIP/401-0000002b", "401,my_mybridge,my_myadmin,my_myadminmenu") in new stack
-- <SIP/401-0000002b> Playing 'conf-onlyperson.slin' (language 'ru')
-- <SIP/401-0000002b> Playing 'confbridge-join.slin' (language 'ru')
-- <Bridge/0xb74ab4ac-input> Playing 'confbridge-join.gsm' (language 'en')
-- Started music on hold, class 'default', on SIP/401-0000002b
Вот такой код у меня в диалплане:
Код: Выделить всё
;; Сочетание *0 переводит участников в конференцию
[macro-MyFeature1]
exten => s,1,Set(confno=${CALLERID(num)}) ;${AMPUSER}
exten => s,n,ChannelRedirect(${BRIDGEPEER},my-addtoconf,${CONFNO},1)
exten => s,n(konec),Noop(here1)
exten => s,n,ConfBridge(${CONFNO},my_mybridge,my_myadmin,my_myadminmenu)
exten => s,n,Hangup
exten => s,n,MacroExit()
;; редирект звонка в конференцию XXX
[my-addtoconf]
exten => _X.,1(konec),Noop(here2)
exten => _X.,2,ConfBridge(${EXTEN},my_mybridge,my_myuser,user_menu)
exten => _X.,n,Hangup
Ну, и во features_applicationmap_custom:
MyFeature1=>*0,self/both,Macro,MyFeature1