pbezpal Posted October 13, 2014 · Report post Привет! Нужно ограничить количество вызовов на один аппарат до 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 Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
pbezpal Posted October 14, 2014 · Report post Ура! Ура! Ура! Заработало, как я и хотел! [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 Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
anix Posted October 17, 2014 · Report post Ура! Ура! Ура! Заработало, как я и хотел! [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 Ответить с цитированием Share this post Link to post Share on other sites More sharing options...