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

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


asterisk:bespoleznye_no_interesnye_veschi

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
asterisk:bespoleznye_no_interesnye_veschi [2020/02/25 09:22] – создано - внешнее изменение 127.0.0.1asterisk:bespoleznye_no_interesnye_veschi [2023/01/26 15:15] (текущий) – [Слушаем радио через АТС] san
Строка 10: Строка 10:
 </code> </code>
 Теперь набрав номер 111 на телефоне можно услышать вещание [[https://www.borneo.ru/|радио "Борнео"]].  Теперь набрав номер 111 на телефоне можно услышать вещание [[https://www.borneo.ru/|радио "Борнео"]]. 
 +===== Фильтрация недопустимых символов в переменных =====
  
 +Чтоб быть уверенным, что в переменную не попадут ненужные символы (пробелы, переводы строк, знак плюс и т.п.) можно воспользоваться функцией FILTER:
  
 +<file ini>
 +exten => s,n,Set(var=${FILTER(0-9,${strange_var})})
 +</file>
 +
 +===== Антиспам =====
 +Делаем блокировку звонков по списку нежелательных номеров 71111111111 и 72222222222
 +
 +<file ini>
 +[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()
 +</file>
 +===== Антиспам по списку из файла =====
 +Антиспам выше требует перезагрузки диалплана при изменении списка блокируемых номеров и может сильно загромождать диалплан, если номеров очень много.
 +
 +Вот вариант построчно читающий номера из файла /etc/asterisk/spamers.txt и сверяющий с ними номер звонящего:
 +<file ini>
 +[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()
 +</file>
  
  
 {{tag>asterisk}} {{tag>asterisk}}
asterisk/bespoleznye_no_interesnye_veschi.1582611768.txt.gz · Последнее изменение: 2020/02/25 09:22 — 127.0.0.1

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