Код: Выделить всё
[applicationmap]
nway-inv => *,caller,Macro,nway-ok
nway-noinv => #,caller,Macro,nway-notok
;конференция 1
exten => 1111,1,NoOp()
same => n,Answer
same => n,Set(CONFNO=1111)
same => n,Set(MEETME_EXIT_CONTEXT=dynamic-nway-invite)
same => n,Set(DYNAMIC_FEATURES=)
same => n,MeetMe(${CONFNO},1MpX)
same => n,Hangup
[dynamic-nway-invite]
;Когда мы находимся в конференции и нажимаем "0" появляется гудок в линии.
;После чего набираем номер нового участника конференции и "#"
exten => 0,1,NoOp()
same => n,Read(DEST,dial,,i)
same => n,Set(DYNAMIC_FEATURES=nway-inv#nway-noinv)
same => n,Dial(Local/${DEST}@dynamic-nway-dest,,g)
same => n,Set(DYNAMIC_FEATURES=)
same => n,Goto(Local,${CONFNO},1)
exten => i,1,Goto(Local,${CONFNO},1)
[dynamic-nway-dest]
exten => _99XXXXXXXXXXX!,1,Dial(SIP/MTT/${EXTEN:2})
exten => _8XXXXXXXXXX!,1,Dial(SIP/MTT/7${EXTEN:1})
[macro-nway-ok]
;Сюда попадаем, если нажмём "*" для добавления нового участника в конференцию
exten => s,1,NoOp()
same => n,ChannelRedirect(${BRIDGEPEER},Local,${CONFNO},1)
[macro-nway-notok]
;Тут мы окажемся, если не захотим добавлять нового участника в конференцию
exten => s,1,NoOp()
same => n,SoftHangup(${BRIDGEPEER})