1 | изначальная версия редактировать | |
Ситуация следующая: есть астериск и есть сип транк, например, до сервера астериск 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) я могу сделать ограничение для одного номера.
2 | No.2 Revision редактировать |
Ситуация следующая: есть астериск и есть сип транк, например, до сервера астериск 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 = 3 | No.3 Revision редактировать |
Ситуация следующая: есть астериск и есть сип транк, например, до сервера астериск 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)
я могу сделать ограничение для одного номера.
4 | No.4 Revision редактировать |
Ситуация следующая: есть астериск и есть сип транк, например, до сервера астериск 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.