pbezpal Posted October 13, 2014 Posted October 13, 2014 Привет! Нужно ограничить количество вызовов на один аппарат до 1. Нашел много инфы по этому поводу и делаю, как там написано, но что то не выходит каменный цветок! extensions.conf [macro-limit] exten => s,1,Set(Group()=${ARG1}) exten => s,n,Set(Calls=${GROUP_COUNT(${ARG1}@in)}) exten => s,n,GotoIf($[${Calls}>1]?111) exten => s,n,Dial(SIP/${ARG1},20,tT) exten => s,111,Verbose(1, ***Количество вызовов ${Calls} больше лимита) exten => s,n,Set(DIALSTATUS=CHANUNAVAIL) [office] exten => _5.,1,Verbose(1, ***** Вызов абонента ${EXTEN} *****) exten => _5.,n,Macro(limit,${EXTEN}) sip.conf [trunk](!) secret=1 host=dynamic dtmfmode=info port=5060 context=office canreinvite=yes nat=no disallow=all allow=alaw,ulaw [5000](trunk) mailbox=5000 username=5000 callcounter=yes qualify=u00 type=friend [5001](trunk) mailbox=5001 username=5001 #call-limit=1 callcounter=yes qualify=u00 type=friend [5002](trunk) mailbox=5002 username=5002 callcounter=yes qualify=u00 type=friend [217](trunk) mailbox=217 username=217 typr=friend qualify=5000 [219](trunk) mailbox=219 username=219 type=friend qualify=5000 Однако при вызове выдает такой сценарий -- Executing [5001@office:1] Verbose("SIP/5000-00000000", "1, ***** Вызов абонента 5001 *****") in new stack ***** Вызов абонента 5001 ***** -- Executing [5001@office:2] Macro("SIP/5000-00000000", "limit,5001") in new stack -- Executing [s@macro-limit:1] Set("SIP/5000-00000000", "Group()=5001") in new stack -- Executing [s@macro-limit:2] Set("SIP/5000-00000000", "Calls=0") in new stack -- Executing [s@macro-limit:3] GotoIf("SIP/5000-00000000", "0?111") in new stack -- Executing [s@macro-limit:4] Dial("SIP/5000-00000000", "SIP/5001,20,tT") in new stack Т.е. количество вызовов всегда 0! Что я делаю не так? Что нужно дописать или исправить? Вставить ник Quote
pbezpal Posted October 14, 2014 Author Posted October 14, 2014 Ура! Ура! Ура! Заработало, как я и хотел! [macro-limit-group] exten=>s,1,Set(GROUP()=${ARG1}) exten=>s,n,Set(CALLS=${GROUP_COUNT(${GROUP()})}) exten=>s,n,GotoIf($[${CALLS}>1]|?inuse) exten=>s,n,Dial(SIP/${ARG1},20,tT) exten=>s,n(inuse),Set(DIALSTATUS=BUSY) [office] exten => _5XXX,1,Macro(limit-group,${EXTEN}) Вставить ник Quote
anix Posted October 17, 2014 Posted October 17, 2014 Ура! Ура! Ура! Заработало, как я и хотел! [macro-limit-group] exten=>s,1,Set(GROUP()=${ARG1}) exten=>s,n,Set(CALLS=${GROUP_COUNT(${GROUP()})}) exten=>s,n,GotoIf($[${CALLS}>1]|?inuse) exten=>s,n,Dial(SIP/${ARG1},20,tT) exten=>s,n(inuse),Set(DIALSTATUS=BUSY) [office] exten => _5XXX,1,Macro(limit-group,${EXTEN}) А call-limit=1чем не подошёл? Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.