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

Ограничение исходящих и входящих

Проблемы Asterisk без вэб-оболочек и их решения

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

serg
Сообщения: 109
Зарегистрирован: 10 окт 2013, 18:44

Re: Ограничение исходящих и входящих

Сообщение serg »

Блин, не выходит каменный цветок: подскажите пжл.

asterisk*CLI> database show CW
/CW/813 : DISABLED

Кусок в диалплане:

[local]
exten => 813,1,Macro(status); Только для 1 номера 813

[macro-status]
exten => s,1,Answer();
exten => s,2,DBget(Test=/CW/813);
exten => s,3,GotoIf($["${Test)}" = "DISABLED"]?4:5);
exten => s,4,Background(enternumber);
exten => s,5,HangUP();

в CLI ругается на отсутствие приложения DBget:

asterisk*CLI>
-- Executing [813@local:1] Macro("SIP/801-0000000c", "status") in new stack
-- Executing [s@macro-status:1] Answer("SIP/801-0000000c", "") in new stack
> 0x2daa4000 -- Probation passed - setting RTP source address to 192.168.35.110:16326
[Jul 20 16:15:01] WARNING[101053][C-00000008]: pbx.c:4924 pbx_extension_helper: No application 'DBget' for extension (macro-status, s, 2)
== Spawn extension (macro-status, s, 2) exited non-zero on 'SIP/801-0000000c' in macro 'status'
== Spawn extension (local, 813, 1) exited non-zero on 'SIP/801-0000000c'
asterisk*CLI>
ded
Сообщения: 15625
Зарегистрирован: 26 авг 2010, 19:00

Re: Ограничение исходящих и входящих

Сообщение ded »

Я забыл, что DBget DBput заменили на DB(CW/${EXTEN})
Поищите примеры?
Аватара пользователя
Wapo
Сообщения: 795
Зарегистрирован: 02 мар 2011, 17:53

Re: Ограничение исходящих и входящих

Сообщение Wapo »

Ох, уж третья страница:

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

DB                    DB(family/key)                       Read from or write to the Asterisk database.
ded
Сообщения: 15625
Зарегистрирован: 26 авг 2010, 19:00

Re: Ограничение исходящих и входящих

Сообщение ded »

Чую, пока строку не выписать, которую он скопипастит И СРАЗУ ОНО ЗАРАБОТАЕТ - до 5-й страницы продвинимся.

ExecIf($["${DB($CW/{EXTEN})" = "DISABLED"]?Goto(stop,1))
serg
Сообщения: 109
Зарегистрирован: 10 окт 2013, 18:44

Re: Ограничение исходящих и входящих

Сообщение serg »

сек
serg
Сообщения: 109
Зарегистрирован: 10 окт 2013, 18:44

Re: Ограничение исходящих и входящих

Сообщение serg »

Не работает!

asterisk*CLI> database show CW
/CW/813 : DISABLED

Кусок в диалплане:

[local]
exten => 813,1,Answer();
exten => 813,2,ExecIf($["${DB(CW/813)}" = "DISABLED"]?Goto(test,s,1));
exten => 813,3,Dial(SIP/810,15);
exten => 813,4,Hangup();

[test]
exten => s,1,Dial(SIP/850,15);
exten => s,2,Hangup();


А смысл всего этого?

Номер занят или свободен, скрипт проверяет поле DISABLED и как на CW это влияет на запрет второй входящей линии?
serg
Сообщения: 109
Зарегистрирован: 10 окт 2013, 18:44

Re: Ограничение исходящих и входящих

Сообщение serg »

Скрипт работает - это здорово!

Но не под задачу.

Ded, ты чего мне насоветовал? )))
serg
Сообщения: 109
Зарегистрирован: 10 окт 2013, 18:44

Re: Ограничение исходящих и входящих

Сообщение serg »

Все, разобрался!

Ded, так и не понял твою идею, если не сложно расскажи как должен работать механизм по твоему алгоритму?

Вот как получилось у меня:

815 - номер в диалплане принимающий вызовы со стороны Авая и Астера
813 - многоканальный номер софтфона(eyebeam) зарегистрированный в астере
800 - номер SIP телефона зарегистрированный в астере

В диалплане:

exten => 815,hint,SIP/813; - Мониторим номер 813
exten => 815,1,ExecIf($["${DEVICE_STATE(SIP/813)}"="INUSE"]?Dial(SIP/800,10)); - Если используется набираем номер 800
exten => 815,2,ExecIf($["${DEVICE_STATE(OOH323/813)}"="INUSE"]?Dial(SIP/800,10)); - - Если используется набираем номер 800
exten => 815,3,Dial(SIP/813,15); - Набираем номер 813 если свободен
exten => 815,4,Hangup();
ded
Сообщения: 15625
Зарегистрирован: 26 авг 2010, 19:00

Re: Ограничение исходящих и входящих

Сообщение ded »

Я не хотел писать Вам диалплан, и дал лишь направление, куда думать.
Номер 815 в Вашей схеме - лишний. Звоним
exten => _8XX,1,ExecIf($["${DEVICE_STATE(SIP/${EXTEN})}"="INUSE" & "${DB(CW/${EXTEN})}" = "DISABLED"]?Goto(busy,1) ; если 813 разговаривает и у него статус Call waiting = disabled, то занято и Hangup, или звоните на 800, что угодно.
exten => _8XX,n,Dial(SIP/${EXTEN}) ; Если же не выполнилось условие (выше), то идёт вызов.
Если не сложно, установите freePBX, и посмотрите как там реализована эта функциональность.
serg
Сообщения: 109
Зарегистрирован: 10 окт 2013, 18:44

Re: Ограничение исходящих и входящих

Сообщение serg »

В любом случае СПАСИБО за помощь!
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH