У вас же есть городской телефон, наверняка есть даже если не подключен и не используется за него все равно платите! У меня лично он больше двух дней не работает, какие-то начинающие музыканты звонят мне и ставят свою музыку, даже не представившись!
Идея такая городскую телефонную линию воткнуть в VOip Gateway FXS/FXO, пускать звонки на IVR на Asterisk и там простенькое меню «Если ты человек нажми 7» и дальше звонок идет на стационарный телефон!
Беру Orange Pi PC Plus, у меня DIY корпус с охлаждением, но подойдет и стоковый.
На нем стоит Debian Stretch with Armbian Linux 4.19.62-sunxi обновляю его и ставлю Астериск
apt-get upgrade
apt-get install asterisk
Запускаю и смотрю статус
systemctl start asterisk
systemctl status asterisk
И чтобы запускался на старте
systemctl enable asterisk
Да это все еще тот самый старый ламповый Asterisk
asterisk -rvvvvv
Asterisk 13.14.1~dfsg-2+deb9u4, Copyright (C) 1999 - 2014, Digium, Inc. and others. Created by Mark Spencer <markster@digium.com> Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details. This is free software, with components licensed under the GNU General Public License version 2 and other licenses; you are welcome to redistribute it under certain conditions. Type 'core show license' for details. ========================================================================= Connected to Asterisk 13.14.1~dfsg-2+deb9u4 currently running on OrangeHomeServer (pid = 6142) OrangeHomeServer*CLI>
Вспоминаю что надо делать вот по этой инструкции mike42.me/blog/2015-01-02-how-to-set-up-asterisk-in-10-minutes как обычно много нужного тут не сказано, но отталкиваются от сюда!
Специально не ставлю на Asterisk вебморду, с ней конечно удобно, но всё-всё она сама не делает, так что буду мучатсяь с файлами настроек напрямую!
Добавляю в конце файла
vi /etc/asterisk/users.conf
вот это
[6001] fullname = First secret = 1234 hassip = yes context = users host = dynamic [6002] fullname = Second secret = 1234 hassip = yes context = users host = dynamic
И в файл добавляем
vi /etc/asterisk/extensions.conf
в конце текст
[users] exten => 6001,1,Dial(SIP/6001) exten => 6002,1,Dial(SIP/6002)
Захожу в консоль asteriska
asterisk -rvvvvv
и делаю
reload
Для проверки ставлю на Android телефон Linphone ужасно глючная прога, заработало когда повторно создал профиль для SIP. Настройки такие, IP моей опельсинки с Asterisk, по умочанию надо оставить UDP способ передачи!
И еще были проблемы с правами доступа, если запрашивает права записывать разговоры это на самом деле право просто использовать микрофон… или нет… но после этого работает!!! На телефонах номера 6001 и 6002, звонил с одного на другой — работает!
Теперь делаю IVR. Для начала нужен аудио файл, для этого нужны две проги!
apt-get install espeak
apt-get install sox
Важно перейти в нужную папку и там делать файлы
cd /var/lib/asterisk/sounds/custom/
Хорошая прога, звук настоящего робота. Русского нет, но подошел сербский, кроме цифр!
espeak -s 1 -v sr "[[_::_::_::]]Zdrastvuite[[_::_::_::]]Esli vi reklamniy robot nazhmite piyat[[_::_::_::_::]]Esli vi chelovek [[_::_::_::]]nazhmite sem[[_::_::_::_::_::_::_::_::_::_::_::_::_::_::_::_::_::_::]]ot klu chaius[[_::_::_::]] dosvidania" -w ivr.wav
Asterisk’у нужен файл ulaw делаем его
sox ivr.wav --rate 8000 --channels 1 --type ul ivr.ulaw lowpass 3400 highpass 300
Вот такой звучок получается:
И в файл меняем
vi /etc/asterisk/extensions.conf
контекст users и добавляем новый spam_ivr
[users] exten => 6666,1,Goto(spam_ivr,s,1) exten => 6001,1,Dial(SIP/6001) exten => 6002,1,Dial(SIP/6002) [spam_ivr] exten => s,1,Answer(500) same => n(loop),Background(/var/lib/asterisk/sounds/custom/ivr) exten => 5,1,Dial(SIP/6001) exten => 7,1,Dial(SIP/6002)
Захожу в консоль asteriska
asterisk -rvvvvv
и делаю
reload
Тут немного не так как хотелось бы. IVR вешает трубку когда кончается запись, по умному задать тайм аут не получилось. Поэтому запись удлиненна неестественным образом!
Опять названиваю на 6666 и работает!!!
Выбор VoIP маршрутизатора
Что-то сейчас плоховато с выбором. Половина народа видимо не дождались стационарного телефона в квартиру и плюнула на него, другая из-за спама тоже плюнула и вырубила как я…
Сейчас (осень 2019) можно купить две брендовые модели.
Первая DVG-7111S B1 это старый DVG-7111S A1 в новом модном квадратном корпусе модель была популярна в 2012 судя по вопросам на форумах как её заставить работать, и дальше она не развивалась, последняя прошивка от 2016 года!
И Grandstream ht813, сразу скажу что купил его!!! На устройстве оказалась прошивка 18-го года, а вообще есть еще 2019-го — значит свежий VoIP! Grandstream знаю давно, лет 15 назад настраивал их телефоны и удивлялся, что в них веб меню из 80-х и ничего не изменилось, такое же меню такой же цвет и шрифт!
Удивило, что цена немаленькая 5500RUR, а шлюз поставляется в белой коробке без красивой картинки, которая никак не заклеена, и внутри есть только шлюз, блок питания, патч корд, и бумажка на раз сходить в туалет — стартового мануала, ничего нет!!!
Еще есть совершенно потрясающий косплей от китайцев. Во всех мельчайших подробностях они штампуют модели SPA3000 и SPA3102, со всеми наклейками, мануалами под брендом компании которой уже нет 6 лет — Linksys by Cisco! Уверен что прошивка в них настоящая десяти летней давности cisco’вская(как и в свичах хуавей :))), но вот железки конечно уже свои! В свое время я верил что Lynksis это Сisco даже уважал, но сейчас почитал вики и там совсем ничего общего — Cisco купил Sipura и Lynksis и решил что под брендом Lynksis будет выпускать VoIPы Sipur’ы…. Есть у меня SPA3000 (вот этот) еще подает признаки жизни, но так сильно в трубке что-то квакает, что такой же новый не решился купить!
Подключаем VoIP маршрутизатор Grandstream ht813 к Asterisk
Для начала нужно чтобы звонки с городской телефонной линии звонились в астериск!
Тут без подсказки ну никак, беру trustore.ru/article/asterisk/nastrojka-grandstream-ht503-dlya-freepbx-asterisk-trixbox-elastix.html не важно что много лет прошло и модель другая — в меню Grandstrem ничего не меняется десятилетиями, даже на разных моделях! Но тут правда вебморда у меня то её нет…
Заходим на Grandstream ht813 во вкладке BASIC SETTINGS внизу пишем в Unconditional Call Forward to VOIP:
Это настройка делает — все звонки что приходят на порт FXO кидать на номер 6666 на ip моего asterisk по порту!
Чтобы применить изменения нажимает Apply
Далее идем в FXO PORT и делаем
Тут ставим свои значения в Primary SIP Server и SIP User ID и Authenticate Password астериск просто так не примет звонок нужна учетка!
Чтобы применить изменения нажимает Apply
Тут же внутри настраиваем, забавная штука!!! VoIP шлюз не может повесить сам трубку просто не понимает, что на другом конце её повесили. Для этого надо ему сказать какие прерывистые гудки слушать — вот для Абонентский терминал GPON RV6699 они такие как у меня
Тут поменяно Enable Current Disconnect и Enable PSTN Disconnect Tone Detection и STN Disconnect Tone и AC Termination Model и PSTN Ring Thru FXS
Чтобы применить изменения нажимает Apply
Как выискивать параметры для вашей линии расскажу ниже
И порт fsx будет обычным телефоном с номером 6002 захожу в FXS PORT
Здесь меняю Primary SIP Server и IP User ID и Authenticate Password
Чтобы применить изменения нажимает Apply
Теперь редактирую файлы астериска
vi /etc/asterisk/extensions.conf
довожу до вида экстеншены
[users] exten => 6666,1,Goto(spam_ivr,s,1) exten => 6001,1,Dial(SIP/6001) exten => 6002,1,Dial(SIP/6002) [spam_ivr] exten => s,1,Answer(500) exten => s,2,Monitor(wav,,m) same => n(loop),Background(/var/lib/asterisk/sounds/custom/ivr) exten => 5,1,Dial(SIP/6001) exten => 7,1,Dial(SIP/6002)
Тут добавлена запись звонков строкой
exten => s,2,Monitor(wav,,m)
появляется записи звонков будут в /var/spool/asterisk/monitor
И в файле users.conf
vi /etc/asterisk/users.conf
Добавляю учетку для шлюза для pstn линии fso итого получается
[6789] fullname = MGTS PSTN secret = 1234 hassip = yes context = users host = dynamic [6001] fullname = Test Android secret = 1234 hassip = yes context = users host = dynamic [6002] fullname = Home phone secret = 1234 hassip = yes context = users host = dynamic
Захожу в консоль asteriska
asterisk -rvvvvv
и делаю
reload
И работает, у вас сразу, а я это уже второй день пишу уф!
Как подобрать PSTN Disconnect Tone для вашей телефонной линии?
Позвонил себе с мобильного на домашний, дождался IVR нажал нужную цифру пошел звонок — бросил звонок пошли гудки, но Grandstream продолжает названивать хотя звонок прекрашен — все это пишет asterisk — все звуки!
Забираю аудио файл и открываю его в программе Free, open source, cross-platform audio software Audacity. Выделяю кусок гудка из серии финальных гудков и смотрю его спектограмму Analyze > Plot Spectrum…
Подвожу крусор к пику, и он сразу прыгает на пик, внизу смотрю Peak 425Hz 20.1Db
Меряю длинну гудка и тишину между ними
Внизу видна длинна, только надо выбрать Length and End of Selection у меня 359 милисекунд округляю до 350
И всё, дальше просто подставляем в формулу
Syntax: f1=freq@vol, f2=freq@vol, c=on1/off1-on2/off2-on3/off3; Allowed Range: freq = 0 to 4000Hz; vol = -40 to -24dBm Default: Busy Tone: f1=480@-32,f2=620@-32,c=500/500;
У меня для телефонной городской линии МГТС через Абонентский терминал GPON RV6699 надо вставить
f1=425@-21,f2=425@-21,c=350/350;
Пик один, но может быть больше поэтому f1 и f2, для одного пика все описывают его два раза, дальше c это гудок и тишина!
Теперь звоним со стационарного телефона через Grandstream ht813 по городской линии!
А все просто, (была такая же настройка на поддельном SPA3000, но другими буквами) просто в Dial Plan в настройках FXS PORT пишем
{ L:x+ }
Все что набирается на стационарном телефоне валится в телефонную линию. Гудков нет, сразу голос если отвечают, так что надо ждать!
Здесь появятся спам звоноки, как выловлю!
Чистый робот — не прошел!
Человеко-роботы из колцентров звонят по выходным (сволочи) тоже не проходят — эх видеть бы их лица при этом :)))
Помогите, пожалуйста, не проходит исходящая связь.
Входящая связь работает
Это настроено?
Если звонки не с трубки а с софта тогда есть проблема! Тут описал ht813 https://itcooky.com/?p=6723
Ну и надо зайти в
asterisk -rvvvvv
позвонить и смотреть что скажет, что не нравится