Спасибо, круто, никогда не еще видел такое использование контекста.
ivanrom ( 2012-08-20 09:09:21 +0400 )редактироватьСитуация следующая у меня есть многоканальная линия для входящих. При входящем телефоны звонят у всех менеджеров, которые не разговаривают по телефону. Сделано так:
exten => 111111,1,Dial(SIP/sales-mng-1&SIP/sales-mng-2&SIP/sales-mng-3&SIP/sales-mng-4,,tT)
в sip.conf для каждого менеджера (sales-mng-1 и т.д.) прописан call-limit=1. Соответственно если он уже разговаривает по телефону у него больше не зазвонит , если не разговаривает - зазвонит. С клиентом будет общаться тот, кто первый снимет трубку. Вопрос - как сделать этот же функционал с помощью GROUP и GROUP_COUNT?
exten => 111111,1,Dial(Local/1@dial-sub-agent&Local/2@dial-sub-agent&Local/3@dial-sub-agent&Local/4@dial-sub-agent,,tT)
[dial-sub-agent]
exten => X,1,Noop()
exten => X,n,Set(GROUP()=sales-mng-${EXTEN})
exten => X,n,ExecIF($[${GROUP_COUNT(sales-mng-${EXTEN})} != 2]?Dial(SIP/sales-mng-${EXTEN},,tT)
exten => X,n,Noop()
Так для каждого отдельного оператора происходит обработка звонка . Если определить глобальные значения для групп , то для каждого отдельного оператора можно выполнять разные действия.
Спасибо, круто, никогда не еще видел такое использование контекста.
ivanrom ( 2012-08-20 09:09:21 +0400 )редактироватьЗадан: 2012-08-19 19:27:22 +0400
Просмотрен: 1,441 раз
Обновлен: Aug 19 '12
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.
То есть Вы проигнорировали совет почитать об этом в мануале?
zzuz ( 2012-08-19 19:52:03 +0400 )редактироватьНет, не проигнорировал, я не понимал как сделать обработку звонков для каждого отдельного оператора.
ivanrom ( 2012-08-20 14:37:56 +0400 )редактировать