Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

История изменений [назад]

нажмите, чтобы скрыть/показать версии 1
изначальная версия
редактировать

спросил 2017-11-11 00:02:48 +0400

MaximKAA Gravatar MaximKAA flag of Russian Federation

Объединение транков в группу с проверкой CID

Доброго времени суток! Прошу подсказать как можно организовать группировку транков и задать лимит исходящих и входящих вызовов через эти транки в 20 одновременных разговоров? Чтобы в группе можно было занимать 20 СЛ как входящих так и исходящих и проверить CID при исходящем наборе с транка. По исходящей набору с транка делал так:

[test-1]

exten => _X./123456789,1,NoOp(Right CLID) exten => _X./987654321,1,NoOp(Right CLID) same => n,Goto(test-2,${EXTEN},1) exten => _X.,1,Verbose(* CallerID клиента НЕверный - ${CALLERID(num)} *) same => n,Hangup()

[test-2] exten => X.,1,Verbose(* Набираем номер - ${EXTEN} *) same => n,Set(GROUP()=long) same => n,Verbose(* Кол-во одновременных вызовов - ${GROUPCOUNT(long)} ) same => n,GotoIf($[${GROUP_COUNT(long)} > 20]?over) same => n,Goto(test-3,${EXTEN},1) same => n(over),Verbose( Лимит превышен на - ${MATH(${GROUP_COUNT(long)}-1)} вызова *) same => n,Set(DIALSTATUS=CHANUNAVAIL) same => n,Hangup()

[test-3] exten => _X.,1,Dial(SIP/zadarma/${EXTEN},90,tr)

А вот как организовать проверку общего количества вызовов направляемых в один из транков? exten => 123456789,1 exten => 987654321,1

Объединение транков в группу с проверкой CID

Доброго времени суток! Прошу подсказать как можно организовать группировку транков и задать лимит исходящих и входящих вызовов через эти транки в 20 одновременных разговоров? Чтобы в группе можно было занимать 20 СЛ как входящих так и исходящих и проверить CID при исходящем наборе с транка. По исходящей набору с транка делал так:

[test-1]

exten => _X./123456789,1,NoOp(Right CLID) exten => _X./987654321,1,NoOp(Right CLID) same => n,Goto(test-2,${EXTEN},1) exten => _X.,1,Verbose(* _X.,1,Verbose(*** CallerID клиента НЕверный - ${CALLERID(num)} *) ***) same => n,Hangup()

n,Hangup()

[test-2] exten => X.,1,Verbose(* _X.,1,Verbose(*** Набираем номер - ${EXTEN} *) ***) same => n,Set(GROUP()=long) same => n,Verbose(* n,Verbose(*** Кол-во одновременных вызовов - ${GROUPCOUNT(long)} ) ${GROUP_COUNT(long)} ***) same => n,GotoIf($[${GROUP_COUNT(long)} > 20]?over) same => n,Goto(test-3,${EXTEN},1) same => n(over),Verbose( n(over),Verbose(*** Лимит превышен на - ${MATH(${GROUP_COUNT(long)}-1)} вызова *) ***) same => n,Set(DIALSTATUS=CHANUNAVAIL) same => n,Hangup()

n,Hangup()

[test-3] exten => _X.,1,Dial(SIP/zadarma/${EXTEN},90,tr)

_X.,1,Dial(SIP/zadarma/${EXTEN},90,tr)

А вот как организовать проверку общего количества вызовов направляемых в один из транков? транков?

exten => 123456789,1
exten => 987654321,1

987654321,1

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.