VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Ограничение количества вызовов

Новичком считается только что прочитавший «Астериск - будущее телефонии»
http://asterisk.ru/knowledgebase/books
и пытающийся сделать большее

Модераторы: april22, Zavr2008

Henior
Сообщения: 44
Зарегистрирован: 24 авг 2011, 11:03
Контактная информация:

Ограничение количества вызовов

Сообщение Henior »

Привет! Нужно ограничить количество вызовов на один аппарат до 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})
Однако при вызове выдает такой сценарий

Код: Выделить всё

-- 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! Что я делаю не так? Что нужно дописать или исправить?
Vlad1983
Сообщения: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: Ограничение количества вызовов

Сообщение Vlad1983 »

в пирах
callcounter=yes
qualify=yes
ЛС: @rostel
Henior
Сообщения: 44
Зарегистрирован: 24 авг 2011, 11:03
Контактная информация:

Re: Ограничение количества вызовов

Сообщение Henior »

Vlad1983 писал(а):в пирах
callcounter=yes
qualify=yes
Не помогло(((
Vlad1983
Сообщения: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: Ограничение количества вызовов

Сообщение Vlad1983 »

Код: Выделить всё

[macro-limit]
exten => s,1,Set(Group()=${ARG1})
exten => s,n,GotoIf($[${GROUP_COUNT(${ARG1})} > 1]?limit)
exten => s,n,Dial(SIP/${ARG1},20,tT)
exten => s,n(limit),Verbose(1, ***Количество вызовов больше лимита)
exten => s,n,Set(DIALSTATUS=CHANUNAVAIL)
ЛС: @rostel
Henior
Сообщения: 44
Зарегистрирован: 24 авг 2011, 11:03
Контактная информация:

Re: Ограничение количества вызовов

Сообщение Henior »

Vlad1983 писал(а):Vlad1983
От перемены мест слагаемых сумма к сожалению не меняется! Предложили вот такой вариант

Код: Выделить всё

[macro-limit]
exten => s,1,NoOp(Инициация входящего вызова)
same=>n,NoOp(Статус: ${AVAILSTATUS})
same=>n,NoOp(SIP/${ARG1} состояние вызываемого пира: ${DEVICE_STATE(SIP/${ARG1})})
same=>n,GotoIf($["${DEVICE_STATE(SIP/${ARG1})}" = "NOT_INUSE"]?40)
same=>n,NoOp(Превышен лимит звонков или пир не существует!)
same=>n,Set(DIALSTATUS=BUSY)
same=>40,NoOp(Начинаем обработку локального звонка.)
same => n,Dial(SIP/${ARG1},20,tT)
same => n,Hangup()

[office]
exten => _5XXX,1,Macro(limit,${EXTEN})
Но все таки хочется разобраться со своим сценарием! Почему не работает есть какие идеи?
Vlad1983
Сообщения: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: Ограничение количества вызовов

Сообщение Vlad1983 »

версия астериска?
ЛС: @rostel
Henior
Сообщения: 44
Зарегистрирован: 24 авг 2011, 11:03
Контактная информация:

Re: Ограничение количества вызовов

Сообщение Henior »

Vlad1983 писал(а):версия астериска?
Asterisk 1.8.11.0 built by palosanto @ rpmbuild32-2.elastix.palosanto.com on a i686 running Linux on 2012-03-29 22:46:45 UTC
Vlad1983
Сообщения: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: Ограничение количества вызовов

Сообщение Vlad1983 »

точно работать должно

Код: Выделить всё

asterisk -rx "sip show settings" | grep -i count
ЛС: @rostel
Henior
Сообщения: 44
Зарегистрирован: 24 авг 2011, 11:03
Контактная информация:

Re: Ограничение количества вызовов

Сообщение Henior »

Включил call count в настройках астериска

sip.conf

Код: Выделить всё

[general]
callcount=yes

Код: Выделить всё

[root@asterisk2 asterisk]# asterisk -rx "sip show settings" | grep -i count
  Enable call counters:   Yes
Результат тот же!(
Vlad1983
Сообщения: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: Ограничение количества вызовов

Сообщение Vlad1983 »

не верю
покажите настройки пира 5001
ЛС: @rostel
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH