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

Блокировать / разблокировать регистрацию абонента

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

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

awsswa
Сообщения: 2390
Зарегистрирован: 09 июн 2012, 10:52
Откуда: Россия, Пермь skype: yarick_perm

Re: Блокировать / разблокировать регистрацию абонента

Сообщение awsswa »

Боюсь решение строго индувидуальное, надо писать с нуля.
Но как читать и писать в базу можете глянуть на примере:
http://awsswa.livejournal.com/12073.html
платный суппорт по мере возможностей
alkor
Сообщения: 35
Зарегистрирован: 05 фев 2013, 21:04

Re: Блокировать / разблокировать регистрацию абонента

Сообщение alkor »

спасибо. Буду дальше ртфм-иться.
может что-то и получится :)
alkor
Сообщения: 35
Зарегистрирован: 05 фев 2013, 21:04

Re: Блокировать / разблокировать регистрацию абонента

Сообщение alkor »

Добрый день !

Вопрос, если я знаю, что когда extension 103 в режиме разговора, то его канал всегда устанавливается в виде SIP/103-00000137, где SIP/103 - постоянная, 00000137 - переменная.
Есть ли способ отдать hangup команду использую только постоянную SIP/103 c неким окончанием ?
hangup request SIP/103+???
ded
Сообщения: 15628
Зарегистрирован: 26 авг 2010, 19:00

Re: Блокировать / разблокировать регистрацию абонента

Сообщение ded »

Я мыслю на уровне командной строки Астериска.
Думаю надо выполнить сначала
core show channels и вытащить по SIP/103- части в переменную конкретный канал
SIP/103-00000137
NoOp(SIP/${EXTEN}-${UNIQUEID})
который затем и убить.
hangup request SIP/${EXTEN}-${UNIQUEID})
alkor
Сообщения: 35
Зарегистрирован: 05 фев 2013, 21:04

Re: Блокировать / разблокировать регистрацию абонента

Сообщение alkor »

В extensions.conf можно ли и в каком виде занести эти команды ?

Я тут накрутил возможность как запретить попадать в коференцию . Для эгого я по набору *21X. делаю Forward от имени extensionы 222( дозвон с коференцкомнатой)
#21 снимаю CF

сюда можно включить эти два правила и в каком виде, чтобы ставил форвард и килял channel SIP/103-xxxxxxxx ?

exten => _*21X.,1,Set(CALLERID(all)=222))
exten => _*21X.,2,Set(DB(CFIM/${CALLERID(num)})=${EXTEN:3})
exten => _*21X.,n,Hangup
exten => #21,1,Set(CALLERID(all)=222))
exten => #21,2,DBdel(CFIM/${CALLERID(num)})
exten => #21,n,Hangup

Спасибо
alkor
Сообщения: 35
Зарегистрирован: 05 фев 2013, 21:04

Re: Блокировать / разблокировать регистрацию абонента

Сообщение alkor »

Нашёл пример для 1.6.
Не подскажите в каком виде должен быть для 1.8 ?

Exten => _86XXXX,1,system('/usr/sbin/asterisk -rx "soft hangup $(/usr/sbin/asterisk -rx 'core show channels' | grep SIP/${EXTEN(2)| awk '{ print $1 '} )")
alkor
Сообщения: 35
Зарегистрирован: 05 фев 2013, 21:04

Re: Блокировать / разблокировать регистрацию абонента

Сообщение alkor »

прикрутил, даже работает :)

exten => _*21X.,1,Set(CALLERID(all)=222))
exten => _*21X.,2,Set(DB(CFIM/${CALLERID(num)})=${EXTEN:3})
exten => _*21X.,3,system('/usr/sbin/asterisk -rx "channel request hangup $(/usr/sbin/asterisk -rx "core show channels" | grep "102" | awk '{print $1}')"')
exten => _*21X.,4,system('/usr/sbin/asterisk -rx "channel request hangup $(/usr/sbin/asterisk -rx "core show channels" | grep "103" | awk '{print $1}')"')
exten => #21,1,Set(CALLERID(all)=222))
exten => #21,2,DBdel(CFIM/${CALLERID(num)})
exten => #21,3,Hangup

Теперь осталось сделать, чтобы кнопка на SPA932 меняла цвет: красный - заблокировано путёт CF _*21X., зелёный - разблокировано путём #21

Подскажите плз какие есть возможности ?
ded
Сообщения: 15628
Зарегистрирован: 26 авг 2010, 19:00

Re: Блокировать / разблокировать регистрацию абонента

Сообщение ded »

core show hints
sip show subscriptions
Google rulez!
alkor
Сообщения: 35
Зарегистрирован: 05 фев 2013, 21:04

Re: Блокировать / разблокировать регистрацию абонента

Сообщение alkor »

есть правило, которое по одному и тому же значение выполняло разные команды последовательно ? Тогда я смогу для установки и снятия переадрессации использовать одну кнопку...
К примеру:

пришел первый набранный номер _*21X. Отрабатывае правило на установку переадрессации
exten => _*21X.,1,Set(CALLERID(all)=222))
exten => _*21X.,2,Set(DB(CFIM/${CALLERID(num)})=${EXTEN:3})
exten => _*21X.,3,system('/usr/sbin/asterisk -rx "channel request hangup $(/usr/sbin/asterisk -rx "core show channels" | grep "102" | awk '{print $1}')"')
exten => _*21X.,4,system('/usr/sbin/asterisk -rx "channel request hangup $(/usr/sbin/asterisk -rx "core show channels" | grep "103" | awk '{print $1}')"')

пришел второй набранный номер _*21X. Отрабатывае правило на снятие переадрессации
exten => #21,1,Set(CALLERID(all)=222))
exten => #21,2,DBdel(CFIM/${CALLERID(num)})
exten => #21,3,Hangup
ded
Сообщения: 15628
Зарегистрирован: 26 авг 2010, 19:00

Re: Блокировать / разблокировать регистрацию абонента

Сообщение ded »

https://wiki.asterisk.org/wiki/display/ ... F+Features
features.conf

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

[applicationmap]
pauseMonitor   => #1,peer/callee,Macro,recpause,monitor-disabled
startMonitor   => #2,peer/callee,Macro,recstart
unpauseMonitor => #3,peer/callee,Macro,recunpause,monitor-enabled
extensions.conf

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

[macro-recpause]
exten => s,1,Playback(disabled)
exten => s,n,PauseMonitor

[macro-recunpause]
exten => s,1,Playback(enabled)
exten => s,n,UnpauseMonitor

[macro-recstart]
exten => s,1,Set(FNAME=callrec_${MACRO_EXTEN}_${UNIQUEID}_GWTEST_${EPOCH})
exten => s,n,Monitor(wav,${FNAME},b)

[internal]
exten => 100,1,Dial(SIP/100,20)
exten => 110,1,Answer
exten => 
110,n,Set(DYNAMIC_FEATURES=pauseMonitor#unpauseMonitor#startMonitor)
exten => 110,n,Set(FNAME=callrec_${EXTEN}_${UNIQUEID}_GWTEST_${EPOCH})
;exten => 110,n,Monitor(wav,${FNAME},b)
exten => 110,n,Dial(SIP/110,20)
exten => 110,n,Hangup
Ответить
© 2008 — 2025 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH