Страница 1 из 1

dynamic n-way - проблема сброса дозвона

Добавлено: 12 май 2014, 15:22
ibit
Добрый день! Имеются фиксированные комнаты конференции с dynamic features, каждый участник конференции может нажать 0 (находясь в конференции, после чего пойдет длинный гудок), набрать номер и после ответа с этого номера пригласить его в конференции по нажатию * или отменить по нажатию #. Проблема в том, что звонок невозможно отменить и вернуться в конференцию нажатием # непосредственно во время дозвона (т.е когда идут гудки; до начала дозвона и после дозвона проблем с возвращением в конференц-комнату нет), получается что сбросить неотвечающего абонента можно только нажатием кнопки сброса на телефоне и соответственно выходом из конференц-комнаты... Как сделать (как изменить именно этот код, что дописать) возможность сброса звонка и возврата конференцию во время дозвона?

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

[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})

Re: dynamic n-way - проблема сброса дозвона

Добавлено: 13 май 2014, 21:45
kiralex
Можно настроить таймаут дозвона

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

same => n,Dial(Local/${DEST}@dynamic-nway-dest,15,g)
а еще core show application Dial
...
d: Allow the calling user to dial a 1 digit extension while waiting
for a call to be answered. Exit to that extension if it exists in the
current context, or the context defined in the ${EXITCONTEXT} variable,
if it exists.
NOTE: Many SIP and ISDN phones cannot send DTMF digits until the
call is connected. If you wish to use this option with these phones,
you can use the 'Answer' application before dialing.
...

Re: dynamic n-way - проблема сброса дозвона

Добавлено: 14 май 2014, 08:09
ibit
отличная идея! как я раньше не догадался...спасибо большое! :)