Инструменты пользователя

Инструменты сайта


asterisk:bespoleznye_no_interesnye_veschi

Здесь соберу то, что можно сделать с Астериск, хотя вряд ли кому-то это понадобится

Слушаем радио через АТС

Команда MP3Player позволяет воспроизводить в канале звуковые файлы, а также звуковой поток с указанного ей URL.

Добавляем в диалплан следующие строки:

exten => 111,1,Answer()
exten => 111,n,MP3Player(http://live.borneo.ru:8888/64)

Теперь набрав номер 111 на телефоне можно услышать вещание радио "Борнео".

Фильтрация недопустимых символов в переменных

Чтоб быть уверенным, что в переменную не попадут ненужные символы (пробелы, переводы строк, знак плюс и т.п.) можно воспользоваться функцией FILTER:

exten => s,n,Set(var=${FILTER(0-9,${strange_var})})

Антиспам

Делаем блокировку звонков по списку нежелательных номеров 71111111111 и 72222222222

[sub-antispam]
exten => s,1,NoOp(Spam Checking for ${CALLERID(num)})
 
exten => s,n,gotoif($[${CALLERID(num)} = 71111111111]?spam)
exten => s,n,gotoif($[${CALLERID(num)} = 72222222222]?spam)
 
exten => s,n(notspam),Return()
 
exten => s,n(spam),Verbose(!!!!!!!!!!!!!!!!!!!!!!SPAAAAAAAAAAM ${CALLERID(num)} !!!!!!!!!!!!!!!)
exten => s,n,Hangup()

Антиспам по списку из файла

Антиспам выше требует перезагрузки диалплана при изменении списка блокируемых номеров и может сильно загромождать диалплан, если номеров очень много.

Вот вариант построчно читающий номера из файла /etc/asterisk/spamers.txt и сверяющий с ними номер звонящего:

[sub-antispam]
exten => s,1,NoOp(Spam Checking for ${CALLERID(num)})
 
exten => s,n,Set(spamcnt=${FILE_COUNT_LINE(/etc/asterisk/spamers.txt)})
exten => s,n,Set(i=0)
 
exten => s,n,While($[${i} < ${spamcnt}])
exten => s,n,Set(spamlist=${FILTER(0-9,${FILE(/etc/asterisk/spamers.txt,${i},1,l)})})
exten => s,n,gotoif($[${CALLERID(num)} = ${spamlist}]?spam)
exten => s,n,Set(i=$[${i} + 1])
exten => s,n,EndWhile
 
exten => s,n(notspam),Return()
 
exten => s,n(spam),Verbose(!!!!!!!!!!!!!!!!!!!!!!SPAAAAAAAAAAM ${CALLERID(num)} !!!!!!!!!!!!!!!)
exten => s,n,Hangup()
asterisk/bespoleznye_no_interesnye_veschi.txt · Последнее изменение: 2023/01/26 15:15 — san

Если не указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: Public Domain
Public Domain Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki