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

Занятый абонент после группового вызова

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

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

Ответить
denchick2704
Сообщения: 39
Зарегистрирован: 12 дек 2013, 17:24

Занятый абонент после группового вызова

Сообщение denchick2704 »

Всем трям.

В incoming я определяю занят абонент или нет, для внутренних вызовов.

[incoming]
exten => _XXX,1,Set(GROUP()=${CALLERID(number)})
exten => _XXX,n,Set(GROUP()=${EXTEN})
exten => _XXX,n,GotoIf($[${GROUP_COUNT(${EXTEN})} > 1]?busy)
exten => _XXX,n,Dial(SIP/${EXTEN},120,tT)
exten => _XXX,n,Hangup
exten => _XXX,n(busy),Busy

Для внешних вызовов занятость принимающего абонента, я не определяю.
[internal]
exten => s,1,Set(GROUP()=201)
exten => s,n,Set(GROUP()=202)
exten => s,n,Dial(SIP/201&SIP/202,120,tT)
exten => s,n,Hangup

а если идет групповой внешний вызов, как узнать какой абонент из группы принял вызов?

будет ли правильно работать incoming или пока не закончится вызов, incoming, будет выдавать занято при звонке на 201 и 202?
ded
Сообщения: 15628
Зарегистрирован: 26 авг 2010, 19:00

Re: Занятый абонент после группового вызова

Сообщение ded »

Исполнение строчки exten => s,n,Dial(SIP/201&SIP/202,120,tT)
никак не зависит от
[incoming]
exten => _XXX,1,Set(GROUP()=${CALLERID(number)})
exten => _XXX,n,Set(GROUP()=${EXTEN})
exten => _XXX,n,GotoIf($[${GROUP_COUNT(${EXTEN})} > 1]?busy)
exten => _XXX,n,Dial(SIP/${EXTEN},120,tT)
denchick2704
Сообщения: 39
Зарегистрирован: 12 дек 2013, 17:24

Re: Занятый абонент после группового вызова

Сообщение denchick2704 »

это я понимаю, допустим что ответил на вызов абонент 201, и в этот момент абонент 203 звонит абоненту 202, так что выдаст GROUP_COUNT(202), так как в контексте internal сделано Set(GROUP()=202)
denchick2704
Сообщения: 39
Зарегистрирован: 12 дек 2013, 17:24

Re: Занятый абонент после группового вызова

Сообщение denchick2704 »

РЕШИЛ

переписал контекст
[internal]
exten => s,n,Dial(SIP/201&SIP/202,120,tTM(answering))
exten => s,n,Hangup

добавил макро
[macro-answering]
exten => s,1,NoOp()
exten => s,n,Set(GROUP()=${DIALEDPEERNUMBER})
exten => s,n,MacroExit()
Ответить
© 2008 — 2025 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH