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

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

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

спросил 2013-10-28 19:04:04 +0400

kostoprav Gravatar kostoprav

Asterisk ограничение звонков через один транк на несколько номеров

Ситуация следующая: есть астериск и есть сип транк, например, до сервера астериск 2. Задача: нужно подать 10 номеров через транк, с лимитом на одновременное количество каналов 10(входящие+исходящие). Для входящих все хорошо делается через группы: exten = 4444,n,Set(GROUP()=${EXTEN}) exten = 4444,n,Set(CALLS=${GROUPCOUNT(${GROUP()})}) exten = 4444,n,Execif($[ ${CALLS} > ${n${EXTEN}} ]?Busy) exten = 4444,n, Dial * где ${n${EXTEN}}= число одновременных каналов (глобальная переменная вида n4444=10). С исходящими вызовами не могу придумать универсальное решение, т.к. у 10 номеров есть свой callerid, т.е. описывая так exten = _**,n,Set(GROUP()=${CALLERID(num)}) exten = _**,n,Set(CALLS=${GROUPCOUNT(${GROUP()})}) exten = _**,n,Execif($[ ${CALLS} > ${n${CALLERID(num)}} ]? Busy) я могу сделать ограничение для одного номера.

Asterisk ограничение звонков через один транк на несколько номеров

Ситуация следующая: есть астериск и есть сип транк, например, до сервера астериск 2. Задача: нужно подать 10 номеров через транк, с лимитом на одновременное количество каналов 10(входящие+исходящие). Для входящих все хорошо делается через группы: группы:

exten = 4444,n,Set(GROUP()=${EXTEN})
exten = 4444,n,Set(CALLS=${GROUPCOUNT(${GROUP()})})
4444,n,Set(CALLS=${GROUP_COUNT(${GROUP()})})
exten = 4444,n,Execif($[ ${CALLS} > ${n${EXTEN}} ]?Busy)
exten = 4444,n, Dial ******

где ${n${EXTEN}}= число одновременных каналов (глобальная переменная вида n4444=10). С исходящими вызовами не могу придумать универсальное решение, т.к. у 10 номеров есть свой callerid, т.е. описывая так так

exten = _**,n,Set(GROUP()=${CALLERID(num)})
_2222,n,Set(GROUP()=${CALLERID(num)})
exten = _**,n,Set(CALLS=${GROUPCOUNT(${GROUP()})})
_2222,n,Set(CALLS=${GROUP_COUNT(${GROUP()})})
exten = _**,n,Execif($[ _22222,n,Execif($[ ${CALLS} > ${n${CALLERID(num)}} ]? Busy)

я могу сделать ограничение для одного номера.

Asterisk ограничение звонков через один транк на несколько номеров

Ситуация следующая: есть астериск и есть сип транк, например, до сервера астериск 2. Задача: нужно подать 10 номеров через транк, транк(можно с регистрацией всех 10 номеров), с лимитом на одновременное количество каналов 10(входящие+исходящие). Для входящих все хорошо делается через группы:

exten = 4444,n,Set(GROUP()=${EXTEN})
exten = 4444,n,Set(CALLS=${GROUP_COUNT(${GROUP()})})
exten = 4444,n,Execif($[ ${CALLS} > ${n${EXTEN}} ]?Busy)
exten = 4444,n, Dial *****

где ${n${EXTEN}}= число одновременных каналов (глобальная переменная вида n4444=10). С исходящими вызовами не могу придумать универсальное решение, т.к. у 10 номеров есть свой callerid, т.е. описывая так

exten = _2222,n,Set(GROUP()=${CALLERID(num)})
exten = _2222,n,Set(CALLS=${GROUP_COUNT(${GROUP()})})
exten = _22222,n,Execif($[ ${CALLS} > ${n${CALLERID(num)}} ]? Busy)

я могу сделать ограничение для одного номера.

Asterisk ограничение звонков через один транк транки на несколько номеров

Ситуация следующая: есть астериск и есть сип транк, например, до сервера астериск 2. Задача: нужно подать 10 номеров через транк(можно с регистрацией всех 10 номеров), с лимитом на одновременное количество каналов 10(входящие+исходящие). Для входящих все хорошо делается через группы:

exten = 4444,n,Set(GROUP()=${EXTEN})
exten = 4444,n,Set(CALLS=${GROUP_COUNT(${GROUP()})})
exten = 4444,n,Execif($[ ${CALLS} > ${n${EXTEN}} ]?Busy)
exten = 4444,n, Dial *****

где ${n${EXTEN}}= число одновременных каналов (глобальная переменная вида n4444=10). С исходящими вызовами не могу придумать универсальное решение, т.к. у 10 номеров есть свой callerid, т.е. описывая так

exten = _2222,n,Set(GROUP()=${CALLERID(num)})
exten = _2222,n,Set(CALLS=${GROUP_COUNT(${GROUP()})})
exten = _22222,n,Execif($[ ${CALLS} > ${n${CALLERID(num)}} ]? Busy)

я могу сделать ограничение для одного номера.

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