Заставляем расклейщиков спама оторвать свою шляпу.

Пост по просьбе тех кого задолбали расклейщики всяких шляпных объявлений, там где не надо.

Суть проста- названивать по указанному в объявлении номеру пока не уберут. Поскольку объявления вешаются с единственной целью привлечь лохов  клиентов, а вы своими звонками наглухо срываете всю коммерцию- то проще сорвать объявление на вашем доме, чем перепечатывать вообще весь тираж и переклеивать его безо всякой гарантии что все не повторится.

Теперь к предупреждениям. На действия, описанные в посте, законодательство России смотри неодобрительно, а иногда с явным предостережением не делать так, поскольку формально это самое что ни есть телефонное хулиганство. Пока мы достаем полулегальные конторки, которые никогда не пойдут в полицию- все норм. Надумаете применить против граждан- получите шанс получить неплохой штраф и помести дворы 15 суток. Троллинг организации- вполне можно влететь на условку и опять же штраф. Не дай бог надумаете терроризировать государственную или силовую организацию или вообще отключив мозг позвоните и сообщите о бомбе- без разговоров срок. И не переживайте, если надо- все равно найдут. Одно дело мелкое хулиганство, совсем другое- телефонный терроризм.

Далее теория. Прежде всего нам понадобится телефонный провайдер с динамическим АОН ( ну то бишь каждый раз разный номер при звонке). В Европе есть такой- Dellmont S.A.R.L.( ранее- Betamax). Знамениты сии сыны телефонной Тортуги тем что перепродают занедорого пиратский SIP-трафик по всему миру - к примеру США и Канада за смешные 1 цент минута, Европа по 3-4 цента, Азия от 5 центов. Второй занимательный факт- конторка разделилась на более чем 30 клонов которые под разными именами лихо конкурируют друг с другом, являясь по сути одним лицом. Мы возьмем самые удобные в нашем случае - siptraffic.com или же bestvoipreselling.com. Я рекомендую второй, он позволяет наплодить несколько учеток поверх основной и выставлять им лимиты. Удобно если у вас несколько устройств. Из минусов- минимальный взнос 10 евро. Заходим, регистрируемся ( причем данные можно от балды), получаем свою учетку.

Ставим на телефон Zoiper ( программка для SIP-телефонии, есть для яблока и андроида), вколачиваем полученные от провайдера данные - IP-адрес сервера. логин, пароль. Значок позеленел? Все, мы готовы. Ну и плюсом получили возможность недорого звонить за границу или из-за границы домой, бы бы инет.

Далее есть два пути - простой и истинного джедая VoIP. Начнем с простого.

С Zoiper звоним спамерам ( набирать только в международном формате, вида 790999999999) и вежливо интересуемся, а не вы ли наклеили объявление о продаже блох и ремонте примусов  на дверь подъезда по улице Печенек, 3? И если подтверждают- вежливо просим оторвать. Хамят, посылают? Ну вот тогда уже двигаемся дальше, мы же не нацистская Германия, без предупреждения нападать.

Простой путь- на том же Зойпере периодически жмем вызов и отключаем микрофон. Советую так и сделать первые два дня, чтобы не геморроиться со сложной схемой. И периодически звонить и заново вежливо просить убрать объявление. Практика показывает что около половины случаев этим и оканчивается.

Нет? Ну тогда только путь сложный.

Ставим названивание на автомат. Для этого понадобится VoIP АТС, в нашем случае Asterisk, запущенный на Debian Linux. Звучит страшно, в реале не сложнее установки винды. Определяемся с местом установки. Вариантов два- платный хостинг или же VirtualBox у себя на компе. Первый вариант надежнее и сложнее, второй проще и в случае чего все удаляется в считанные секунды без следа.  Если выбрали первый- то выбирайте  Debian 9 stretch и пропускайте абзац с установкой.

Если же VirtualBox - то устанавливаем его, скачиваем образ Debian 9 netinstall. В свойствах машины добавляете сетевую карту в мост с физической ( у вас же есть дома роутер?), как минимум 1 ядро и 512 мегабайт оперативы, доступно на любом тазике. Остальное неважно.

Запускаете установку и в лучших традициях windows "далее-далее-далее", кроме выбора пакетов. Графическую среду убираете, ssh-сервер добавляете. Пароли root и пользователя что угодно, лишь бы запомнили. Установили, перезагрузили, увидели приглашение залогиниться

Заходим от root и копипастим следующие команды

apt-get update  -y

apt-get dist-upgrade  -y

apt-get install mc asterisk  -y


Это обновление системы до актуальной и установка Asterisk. Ждем пока все пройдет.

Далее подключаем нашу новорожденную систему к SIP-провайдеру. Очищаем конфиги SIP и плана набора:

echo  >  /etc/asterisk/sip.conf

echo  > /etc/asterisk/extensions.ael


открываем конфиг sip.conf

mcedit /etc/asterisk/sip.conf

и копипастим туда это  ( вставка - shift+ins)


[general]

context=null

srvlookup=no

useragent=VoIP_PBX

nat=force_rport,comedia

allowguest=no

canreinvite=no

directmedia=no

language = ru

videosupport = no

pedantic = yes

alwaysauthreject=yes

insecure=port,invite

defaultexpiry = 90

tcpenable=no


[provider]

username=LOGIN

type=peer

secret=PASSWORD

callbackextension=LOGIN

nat=force_rport,comedia

insecure=port,invite

host=IP_СЕРВЕРА

fromuser=LOGIN

disallow=all

allow=alaw

allow=ulaw

canreinvite=no

authuser=LOGIN


выходим по F10

далее открываем extensions.ael


mcedit  /etc/asterisk/extensions.ael

и копипастим это


[autodial]

_X.  =>  {

Dial(SIP/provider/${EXTEN},90);

Playback(advice);

};


теперь создаем файл автоматического вызова


mcedit /opt/autodial.call


и копипастим туда это


Channel: Local/НОМЕР_ЗЛЫДНЕЙ@autodial

MaxRetries: 2

RetryTime: 60

WaitTime: 30

Context: callme

Extension: 800

Priority: 2


выходим, сохраняем.даем права на файл

chown asterisk:asterisk  /opt/autodial.dial

chmod 775 /opt/autodial.dial


заходим в консоль астериска

asterisk -r

приглашение поменяется на что то типа

asterisk*cli>

вводим

sip reload

ael reload


проверяем что астериск зарегистрировался у провайдера

sip show registry

должно быть что то типа

IP_СЕРВЕРА:5060 N LOGIN 75 Registered Sat, 06 Jul 2019 02:02:56


Все, атс готова к бою. Простая, примитивная, но свою задачу выполнит.

Чтобы начался вызов, нужно скопировать call-файл в папку астериска

cp /opt/autodial.call  /var/spool/asterisk/outgoing


И доверим копировать файл планировщику

crontab -e

откроется редактор и копипастим туда нужное количество раз строку


00 09 * * *  cp /opt/autodial.call /var/spool/asterisk/outgoing


где 00 - это минуты, 09 часы. Меняем на нужные в каждой строке.


Выходим, сохраняем. Готово, ваш тупой робот вылетел на бомбардировку. Но он умеет только звонить и молчать в трубку. Если хотите добавить ему голос- то идем на https://voicefabric.ru/ и генерируем там роботом нужный текст. Копируем файл( уж найдите сами статейку про winSCP)  в /var/lib/asterisk/ru/ и конвертим его

apt-get install sox

sox -V VOICEFILE.wav -r 8000 -c 1 -t al  advice.alaw


Все, после поднятия трубки робот будет проговаривать этот файл.


Если вдруг тема будет популярной- то в ближайшее время могу изготовить готовый шаблон машины для VirtualBox, в которой все вышеуказанное будет уже сделано. останется только вбить свои логин и пасс.


Знатокам Linux и Asterisk- я знаю что тут многое не стоит так делать, но это статья для полных чайников. Кто знает и умеет- тот здесь ничего нового не увидит.


Будут вопросы- вэлкам в комменты.

И еще раз предупреждение- описанная выше статья- не игрушка! Пфрименять только в отношении тех кто стопроцентно заслужил и вряд ли будет жаловаться.


Вы смотрите срез комментариев. Показать все
Автор поста оценил этот комментарий
А что им мешает добавить номер робота в черный список? Как правило у фирмочек указаны мобильные номера.
раскрыть ветку (20)
2
Автор поста оценил этот комментарий
Номер каждый раз будет меняться, все не переблокируешь
раскрыть ветку (19)
Автор поста оценил этот комментарий
А русские буквы текста робот сможет читать?
раскрыть ветку (18)
Автор поста оценил этот комментарий
На стримах боты сообщение читают же нормально, почему нет?
Автор поста оценил этот комментарий

Генерируется звуковой файл. Хоть китайский забей.

раскрыть ветку (16)
Автор поста оценил этот комментарий

а как начет LOGIN, PASSWORD, IP_СЕРВЕРА в конфиге? что там указывать?

раскрыть ветку (15)
Автор поста оценил этот комментарий

То что получишь от провайдера - логин, пароль, ip-адрес sip-сервера.

раскрыть ветку (14)
Автор поста оценил этот комментарий

попробовал сделать по твоему мануалу, на этапе ael reload получаю:

Command 'ael reload' failed.

ERROR[4676]: ael.y:840 ael_yyerror: ==== File: /etc/asterisk/extensions.ael, Line 1, Cols: 0-10: Error: syntax error, unexpected word, expecting 'context'

раскрыть ветку (13)
Автор поста оценил этот комментарий

Только заметил , что форматирование уплыло


context autodial {


_X. => {


Dial(SIP/provider/${EXTEN},90);


Playback(advice);


};

};

раскрыть ветку (12)
Автор поста оценил этот комментарий

да, такое уже сам нагуглил поправил


дальше в логах

NOTICE[4849] core_local.c: No such extension/context +7xxxxxxxx@autodial while calling Local channel

NOTICE[4848] pbx_spool.c: Call failed to go through, reason (0) Call Failure (not BUSY, and not NO_ANSWER, maybe Circuit busy or down?)


ощущение что не сошлось чо-то в autodial.call с остальным конфигом, толи context толи что-то ещё


а без плюса в номере

WARNING[4866][C-00000003] pbx.c: Channel 'Local/7xxxxxxxx@autodial-0000000b;1' sent to invalid extension but no invalid handler: context,exten,priority=callme,800,2

NOTICE[4865] pbx_spool.c: Call completed to Local/7xxxxxxxx@autodial


и длительность звонка 1 сек

раскрыть ветку (11)
Автор поста оценил этот комментарий

Увидел. Короче по памяти и в больничной обстановке насажал ошибок. В .call файле строка

context: callme

лишняя

А вообще в конце недели уже буду дома и создам готовый отлаженый шаблон машины для Virtualbox

раскрыть ветку (1)
Автор поста оценил этот комментарий

Я извиняюсь, шаблон для VirtualBox... Есть?

Автор поста оценил этот комментарий

Цифр не хватает- российская нумерация 7+10 знаков (итого 11). И откуда взялся контекст callme?

раскрыть ветку (8)
Автор поста оценил этот комментарий

цифр 10шт после семёрки, я тут просто не добил. Контекст скопипащен из поста. Я уже исправил на autodial


Так, вроде заработало

Теперь надо ещё запись включить :)

раскрыть ветку (7)
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку