Написал обзорную статью по установке Freepbx на Centos 8. По итогу выходит, что Freepbx не готова к работе на 8-й версии Centos. У меня не получилось добиться работы без ошибок. Пробовал 14-ю и 15-ю версии и php 5.6 и 7.2. Рад получить отзывы, если кто-то уже пробовал в проде эту связку или хотя бы удалось настроить и проверить реальную работу.
https://serveradmin.ru/ustanovka-freepbx-na-centos-8/
#статья #centos #asterisk
https://serveradmin.ru/ustanovka-freepbx-na-centos-8/
#статья #centos #asterisk
Server Admin
Установка Freepbx на Centos 8 | serveradmin.ru
Подрбоное описание установки панели управления Freepbx 14 и 15 версии на Centos 8. Инструкция от реального системного администратора.
Обновил и переработал старую и очень популярную статью по настройке астериска. Актуализировал под Centos 8 и последнюю LTS версию Asterisk 16. Так же убрал из конфига все, что связано с модулем macro, который объявлен устаревшим и заменил на gosub. Запись звонков, web панель со статистикой и все остальное тоже обновилось. По статье все работает, проверил.
https://serveradmin.ru/nastroyka-servera-telefonii-asterisk-s-nulya/
#статья #asterisk
https://serveradmin.ru/nastroyka-servera-telefonii-asterisk-s-nulya/
#статья #asterisk
Server Admin
Настройка сервера телефонии asterisk с нуля
Описание установки и настройки основного функционала sip атс asterisk, достаточного для обеспечения обычного офиса современной телефонией.
У меня есть старая и очень популярная статья по настройке Asterisk - https://serveradmin.ru/nastroyka-servera-telefonii-asterisk-s-nulya/ Я ее начал писать, когда вообще не разбирался в теме и закончил, полностью освоив материал. По нему внедрил с нуля voip телефонию в одной организации. То есть статья полностью адаптирована для новичков.
Недавно я полностью актуализировал статью, но оставил sip протокол, который сейчас объявлен deprecated. Надо переходить на pjsip. Я немного покопал тему и удивился, что в интернете очень мало информации по ключевым отличиям. Лично мне было не понятно, зачем переходить на pjsip и переделывать конфиги и dialplan. Что я от этого получу? Переход ради перехода меня не устраивает. Вот основные отличия, которые я в итоге отметил для себя.
1️⃣ PJSIP поддерживает множественную регистрацию. С ним будет проще взаимодействовать с несколько одновременно подключенными устройствами к одному и тому же номеру.
2️⃣ Внедрен механизм Publishing Extension State - публикация состояния экстеншена. Если раньше для отслеживания состояния нужно было подключаться к астериску и следить за нужным экстеншеном, то теперь он сам может оповещать какой-то объект о своем состоянии.
3️⃣ В PJSIP реализован функционал Resource List Subscriptions. Он существенно уменьшает объем SUBSCRIBE трафика. Суть в том, что переработан механизм подписок, которые раньше росли в геометрической прогрессии при увеличении числа абонентов с подписками.
4️⃣ PJSIP более гибок в настройках внешних транков. Видел информацию, что лучше работает с различными реализациями NAT и фаерволов. Хотя лично я и с SIP не испытывал с этим особых проблем.
5️⃣ PJSIP реализован в виде пакета загружаемых модулей, в то время как chan_sip в виде единого модуля драйвера канала. Отличие архитектурное и принципиальное, хотя для конечного пользователя это особого значения не имеет.
В целом, это все. Каких-то других отличий, с которыми придется столкнуться во время настройки или перехода на pjsip, я не нашел. В подавляющем большинстве случаев, где мне приходилось настраивать астериск, все эти отличия были не принципиальны, так что практической пользы при переходе на pjsip я бы не получил. А что использовать вам - решайте сами.
#asterisk
Недавно я полностью актуализировал статью, но оставил sip протокол, который сейчас объявлен deprecated. Надо переходить на pjsip. Я немного покопал тему и удивился, что в интернете очень мало информации по ключевым отличиям. Лично мне было не понятно, зачем переходить на pjsip и переделывать конфиги и dialplan. Что я от этого получу? Переход ради перехода меня не устраивает. Вот основные отличия, которые я в итоге отметил для себя.
1️⃣ PJSIP поддерживает множественную регистрацию. С ним будет проще взаимодействовать с несколько одновременно подключенными устройствами к одному и тому же номеру.
2️⃣ Внедрен механизм Publishing Extension State - публикация состояния экстеншена. Если раньше для отслеживания состояния нужно было подключаться к астериску и следить за нужным экстеншеном, то теперь он сам может оповещать какой-то объект о своем состоянии.
3️⃣ В PJSIP реализован функционал Resource List Subscriptions. Он существенно уменьшает объем SUBSCRIBE трафика. Суть в том, что переработан механизм подписок, которые раньше росли в геометрической прогрессии при увеличении числа абонентов с подписками.
4️⃣ PJSIP более гибок в настройках внешних транков. Видел информацию, что лучше работает с различными реализациями NAT и фаерволов. Хотя лично я и с SIP не испытывал с этим особых проблем.
5️⃣ PJSIP реализован в виде пакета загружаемых модулей, в то время как chan_sip в виде единого модуля драйвера канала. Отличие архитектурное и принципиальное, хотя для конечного пользователя это особого значения не имеет.
В целом, это все. Каких-то других отличий, с которыми придется столкнуться во время настройки или перехода на pjsip, я не нашел. В подавляющем большинстве случаев, где мне приходилось настраивать астериск, все эти отличия были не принципиальны, так что практической пользы при переходе на pjsip я бы не получил. А что использовать вам - решайте сами.
#asterisk
Server Admin
Настройка сервера телефонии asterisk с нуля
Описание установки и настройки основного функционала sip атс asterisk, достаточного для обеспечения обычного офиса современной телефонией.
Делюсь информацией о полезном сервисе для настройки voip. Я постоянно им пользовался, когда разбирался с настройкой asterisk и тестировал различные конфигурации.
Речь идет о zadarma. В принципе, известный провайдер ip телефонии. Я о нем узнал, когда обслуживал call центр. Они через него пускали некоторый исходящий трафик, чтобы экономить.
Я сейчас не берусь сравнивать цены, так как это большой и отдельный труд все посчитать и понять, где тебе дешевле звонить. Но название намекает, что это лоу костер. Я у них же номер взял для сайта чисто по приколу :) Там автоответчик, иногда кто-то звонит и что-то оставляет. Я все слушаю, но за год ни одного реально полезного звонка не было, на который бы я ответил.
Рассказать я не об этом хотел. Удобство Zadarma в том, что после регистрации ты получаешь пир из внутренней сети оператора. Это обычный 6-ти значный номер, который можно подключить как транк для внешних звонков. И создать таких пиров можно несколько. Это все бесплатно. Вы сразу же получаете адрес сервера, логин, пароль. И можно подключать оборудование.
Далее, к примеру, берется смартфон, в нем настраивается второй пир и через внутреннюю телефонию провайдера делается звонок на первый пир, настроенный на asterisk. Таким образом эмулируется внешний звонок.
Таким же образом можно подключить несколько asterisk серверов и настроить связь между ними и т.д. В общем, много всего натестировать. Можно даже из мира позвонить через внешний номер zadarma и затем ввести свой добавочный 6-ти значный. Попадете на свой внутренний пир.
Если останетесь на zadarma, то после тестов, к внутреннему пиру можно просто подключить внешний номер и начать пользоваться. Либо поменять пир и настроить транк какого-то другого провайдера.
#asterisk
Речь идет о zadarma. В принципе, известный провайдер ip телефонии. Я о нем узнал, когда обслуживал call центр. Они через него пускали некоторый исходящий трафик, чтобы экономить.
Я сейчас не берусь сравнивать цены, так как это большой и отдельный труд все посчитать и понять, где тебе дешевле звонить. Но название намекает, что это лоу костер. Я у них же номер взял для сайта чисто по приколу :) Там автоответчик, иногда кто-то звонит и что-то оставляет. Я все слушаю, но за год ни одного реально полезного звонка не было, на который бы я ответил.
Рассказать я не об этом хотел. Удобство Zadarma в том, что после регистрации ты получаешь пир из внутренней сети оператора. Это обычный 6-ти значный номер, который можно подключить как транк для внешних звонков. И создать таких пиров можно несколько. Это все бесплатно. Вы сразу же получаете адрес сервера, логин, пароль. И можно подключать оборудование.
Далее, к примеру, берется смартфон, в нем настраивается второй пир и через внутреннюю телефонию провайдера делается звонок на первый пир, настроенный на asterisk. Таким образом эмулируется внешний звонок.
Таким же образом можно подключить несколько asterisk серверов и настроить связь между ними и т.д. В общем, много всего натестировать. Можно даже из мира позвонить через внешний номер zadarma и затем ввести свой добавочный 6-ти значный. Попадете на свой внутренний пир.
Если останетесь на zadarma, то после тестов, к внутреннему пиру можно просто подключить внешний номер и начать пользоваться. Либо поменять пир и настроить транк какого-то другого провайдера.
#asterisk
Вчера писал про сервис, который можно прикрутить к zabbix и слать смски или звонить по телефону. Вспомнился случай один из практики. Я настраивал мониторинг и в какой-то момент меня попросили сделать так, чтобы по определенным триггерам он мог позвонить на телефон и что-то сказать.
В целом, настройка тут очень простая. Я делал с помощью asterisk. Если вы с ним знакомы, то большого труда не составит все реализовать. Логика там такая. Zabbix запускает скрипт по событию, который формирует call файл для asterisk. А тот эти файлы в режиме реального времени мониторит и начинает сразу звонить, когда новый появляется. Я все это описывал в своей статье.
Так вот, триггер там был так себе, не супер критичный. Я бы на такое звонить не стал, о чем и сказал. Вообще, слать смс и звонить в любое время суток можно только по супер критичным метрикам. Например, у вас интернет магазин и он недоступен уже минут 10. Вот это достойно того, чтобы позвонить кому-то даже ночью, если у вас в это время идут продажи и бизнес встает при недоступности сайта.
А если у вас проц 30 минут загружен на 100%, но при этом все работает и нет дежурной смены, то админа не стоит из-за этого будить ночью. Утром встанет, разберется, если проблема останется. Там было событие (бизнес метрика, привязанная к базе), которое только предвещало беду, но еще не было бедой само по себе. Я все объяснил заказчику. Он сказал, что с него требуют такую настройку. Более того, тот, кто требует, хочет еще и сам такие звонки получать. Ему это нужно для какого-то контроля. Ну раз хочет, пусть получает. Я все настроил.
Через пару недель меня попросили отключить этот триггер. Он сработал 2 ночи подряд и позвонил этому начальнику. В итоге он понял, что плохая была идея и отыграл все назад. Они, кстати, больше вообще не попросили никаких оповещений в виде звонков на телефон.
❗️Надо очень аккуратно относиться к оповещениям мониторинга и настраивать только то, что действительно важно. Как только идет спам из мониторинга, на который забивают, считай, что мониторинга у вас нет. Я всегда это объясняю заказчикам и проговариваю, что хороший мониторинг это непрерывный процесс, который требует длительной калибровки. Не получится у вас один раз все настроить и с этим жить. Не видел такого ни разу. Все системы разные и триггеры с оповещениями 100% придется донастраивать в процессе.
#zabbix #мониторинг #asterisk
В целом, настройка тут очень простая. Я делал с помощью asterisk. Если вы с ним знакомы, то большого труда не составит все реализовать. Логика там такая. Zabbix запускает скрипт по событию, который формирует call файл для asterisk. А тот эти файлы в режиме реального времени мониторит и начинает сразу звонить, когда новый появляется. Я все это описывал в своей статье.
Так вот, триггер там был так себе, не супер критичный. Я бы на такое звонить не стал, о чем и сказал. Вообще, слать смс и звонить в любое время суток можно только по супер критичным метрикам. Например, у вас интернет магазин и он недоступен уже минут 10. Вот это достойно того, чтобы позвонить кому-то даже ночью, если у вас в это время идут продажи и бизнес встает при недоступности сайта.
А если у вас проц 30 минут загружен на 100%, но при этом все работает и нет дежурной смены, то админа не стоит из-за этого будить ночью. Утром встанет, разберется, если проблема останется. Там было событие (бизнес метрика, привязанная к базе), которое только предвещало беду, но еще не было бедой само по себе. Я все объяснил заказчику. Он сказал, что с него требуют такую настройку. Более того, тот, кто требует, хочет еще и сам такие звонки получать. Ему это нужно для какого-то контроля. Ну раз хочет, пусть получает. Я все настроил.
Через пару недель меня попросили отключить этот триггер. Он сработал 2 ночи подряд и позвонил этому начальнику. В итоге он понял, что плохая была идея и отыграл все назад. Они, кстати, больше вообще не попросили никаких оповещений в виде звонков на телефон.
❗️Надо очень аккуратно относиться к оповещениям мониторинга и настраивать только то, что действительно важно. Как только идет спам из мониторинга, на который забивают, считай, что мониторинга у вас нет. Я всегда это объясняю заказчикам и проговариваю, что хороший мониторинг это непрерывный процесс, который требует длительной калибровки. Не получится у вас один раз все настроить и с этим жить. Не видел такого ни разу. Все системы разные и триггеры с оповещениями 100% придется донастраивать в процессе.
#zabbix #мониторинг #asterisk
Server Admin
Звонок-оповещение Zabbix через Asterisk на мобильный телефон
Настройка оповещений о событиях на сервере мониторинга zabbix в виде звонка на мобильный телефон через сервер телефонии asterisk.
❓Кто-нибудь может пояснить один момент, который давно мне непонятен. Недавно занимался переносом и настройкой asterisk и с удивлением обнаружил, что его по-прежнему собирают из исходников.
У меня у самого на сайте куча статей по сборке астера из исходников под разные системы. Это единственная программа на Linux, которую регулярно приходится собирать самостоятельно.
Я погуглил немного тему и не нашёл ни одной статьи или упоминания о каком-то более ли менее доверенном репозитории, откуда можно было бы брать пакеты Asterisk для Debian. На самом сайте разработчиков тоже только исходники.
В настоящий момент в стандартной репе Debian 11 есть Asterisk 16 LTS, но уже вышла 18 LTS, так что ставить 16 нет никакого смысла. В итоге опять пришлось собирать из исходников. Почему для астера нет нормального репозитория? Можно подумать, что он сейчас потерял популярность и массово не используется, но и 10 лет назад была такая же история. Все собирали его из исходников. Прям традиция сформировалась - хочешь настроить Asterisk, собери его сам.
Может я плохо смотрел и не нашёл то, что искал? Вы откуда Asterisk ставите?
#asterisk
У меня у самого на сайте куча статей по сборке астера из исходников под разные системы. Это единственная программа на Linux, которую регулярно приходится собирать самостоятельно.
Я погуглил немного тему и не нашёл ни одной статьи или упоминания о каком-то более ли менее доверенном репозитории, откуда можно было бы брать пакеты Asterisk для Debian. На самом сайте разработчиков тоже только исходники.
В настоящий момент в стандартной репе Debian 11 есть Asterisk 16 LTS, но уже вышла 18 LTS, так что ставить 16 нет никакого смысла. В итоге опять пришлось собирать из исходников. Почему для астера нет нормального репозитория? Можно подумать, что он сейчас потерял популярность и массово не используется, но и 10 лет назад была такая же история. Все собирали его из исходников. Прям традиция сформировалась - хочешь настроить Asterisk, собери его сам.
Может я плохо смотрел и не нашёл то, что искал? Вы откуда Asterisk ставите?
#asterisk
В одном из обсуждений на тему Asterisk кто-то упомянул сборку Issabel PBX. Я не сразу понял, что это вообще такое и пошёл разбираться. Мне этот продукт не знаком. Сейчас самое популярное готовое решение для организации voip связи - FreePBX. Лично я очень не люблю эту панель. Мне не нравится интерфейс, неинтуитивная настройка, сложности с кастомизацией. Я быстрее обычный Asterisk настрою.
Когда стал смотреть внешний вид Issabel, понял, что он мне что-то напоминает. И вспомнил - Elastix. Мне доводилось много лет назад управлять телефонией на основе этой панели управления. Лично мне она нравилась больше, чем FreePBX. Но потом Elastix был куплен 3CX и перестал быть бесплатным. Точнее, там большие ограничения появились для бесплатной версии и фактически её перестали использовать.
Походил по сайту Issabel. Проект показался не очень живым. Информации мало, какие-то ссылки битые. Кто-нибудь пользуется им? Можете дать обратную связь? Стоит обратить на него внимание или можно уже забыть?
Сайт - https://www.issabel.org
#asterisk
Когда стал смотреть внешний вид Issabel, понял, что он мне что-то напоминает. И вспомнил - Elastix. Мне доводилось много лет назад управлять телефонией на основе этой панели управления. Лично мне она нравилась больше, чем FreePBX. Но потом Elastix был куплен 3CX и перестал быть бесплатным. Точнее, там большие ограничения появились для бесплатной версии и фактически её перестали использовать.
Походил по сайту Issabel. Проект показался не очень живым. Информации мало, какие-то ссылки битые. Кто-нибудь пользуется им? Можете дать обратную связь? Стоит обратить на него внимание или можно уже забыть?
Сайт - https://www.issabel.org
#asterisk
На днях у меня случилась неприятная история с одним из серверов Asterisk. Пользователи стали жаловаться на то, что не работает межгород. Звонят по нему редко, так что заметили не сразу. Я проверил, и правда не звонит. Сервер оператора возвращает 500-ю ошибку:
Звоню в тех. поддержку. Там ответили, что мы вас отключили ещё 2 недели назад за подозрительные звонки на Кубу. Тут я запереживал немного, стал проверять. Действительно было немного звонков туда от одной учётной записи. Пароль сменил, международные звонки вообще отключил. Позвонил оператору и попросил нас разбанить.
Я всегда запрещаю по максимому все звонки и вообще к телефонии отношусь очень аккуратно. На этом сервере удалённые подключения долго были запрещены, пиры только из офиса и vpn подключались. Потом меня очень попросили сделать возможность пользоваться телефонией со смартфонов. Я настроил отдельную группу номеров, которые могут подключаться извне, но разрешены были только локальные звонки.
Потом пришла удалёнка и люди со своими аппаратами разъехались по домам. Ограничить доступ стало невозможно, потому что каждому дома не настроишь VPN до офиса на его железе. Пришлось разрешить все звонки и таким удалёнщикам. Международные звонки по прежнему были отключены, но они нужны. Открывал их вручную по заявкам, но в какой-то момент это надоело, так как оперативно не получалось решить вопрос, а звонить надо здесь и сейчас. Открыл для всех. Закончилось это историей, с которой я всё начал.
На сервере настроен мониторинг исходящих звонков и активных подключений. Спам звонками заметил бы. Fail2ban тоже был и работал для защиты от переборов и некоторой другой активности. Подстраховался как мог, но всё равно не помогло. Слитая учётка особо не отсвечивала и звонила редко, раз в 5-10 минут. Повезло, что у оператора стояла защита на подозрительные направления. Международные звонки отключили сразу.
Как на 100% защититься от такой ситуации - не знаю. Сейчас все по домам сидят, работают. Всем нужна связь. Спасти может только сам оператор своими методами защиты и лимитом дневного бюджета. Рекомендую заранее связаться с провайдером и спросить, что будет, если учётка уйдёт на сторону и начнутся звонки на Кубу. Как уже сказал, я у себя международные звонки опять отключил, настроил уведомление себе на почту при попытке позвонить по 8-10... Раньше так и было, но расслабился. Так хотя бы сразу засветится проблемный пир.
Кстати, косвенно помогла моя педантичность в выписывании масок для звонков. Я не разрешаю одним правилом всё подряд, а аккуратно выписываю разрешённые направления. В логах была куча попыток позвонить через номера, начинающиеся с 00, 01, 02, 03, ~1, +1, +2 и т.д. То есть куча левых направлений. Но все они отфутболились, потому что для них не было настроенных масок для звонков. Только _810X. и внутрироссийские.
А вы как защищаетесь от таких атак? Понятно, что самый надёжный способ подключать пиров только через VPN, но мне кажется, это малореально в текущих условиях. Придётся преднастроенные смартфоны и телефоны сразу с настроенными роутерами выдавать. Я, кстати, так тоже делал, но это немассовое решение (юзеру выдавался настроенный mikrotik и sip телефон комплектом). Также покупал аппараты с поддержкой OpenVPN внутри. Были такие Грандстримы. Но ненадёжно работало и трудно дебажить проблемы связи, пришлось отказаться.
Напишите в комментариях, кому интересно, стоит мне отдельным постом написать, как я мониторю и защищаю сервер Asterisk. Тема узкая и, думаю, что мало кому интересная в наши дни.
#asterisk #sip #security
Got SIP response 500 "Service Unavailable"
Звоню в тех. поддержку. Там ответили, что мы вас отключили ещё 2 недели назад за подозрительные звонки на Кубу. Тут я запереживал немного, стал проверять. Действительно было немного звонков туда от одной учётной записи. Пароль сменил, международные звонки вообще отключил. Позвонил оператору и попросил нас разбанить.
Я всегда запрещаю по максимому все звонки и вообще к телефонии отношусь очень аккуратно. На этом сервере удалённые подключения долго были запрещены, пиры только из офиса и vpn подключались. Потом меня очень попросили сделать возможность пользоваться телефонией со смартфонов. Я настроил отдельную группу номеров, которые могут подключаться извне, но разрешены были только локальные звонки.
Потом пришла удалёнка и люди со своими аппаратами разъехались по домам. Ограничить доступ стало невозможно, потому что каждому дома не настроишь VPN до офиса на его железе. Пришлось разрешить все звонки и таким удалёнщикам. Международные звонки по прежнему были отключены, но они нужны. Открывал их вручную по заявкам, но в какой-то момент это надоело, так как оперативно не получалось решить вопрос, а звонить надо здесь и сейчас. Открыл для всех. Закончилось это историей, с которой я всё начал.
На сервере настроен мониторинг исходящих звонков и активных подключений. Спам звонками заметил бы. Fail2ban тоже был и работал для защиты от переборов и некоторой другой активности. Подстраховался как мог, но всё равно не помогло. Слитая учётка особо не отсвечивала и звонила редко, раз в 5-10 минут. Повезло, что у оператора стояла защита на подозрительные направления. Международные звонки отключили сразу.
Как на 100% защититься от такой ситуации - не знаю. Сейчас все по домам сидят, работают. Всем нужна связь. Спасти может только сам оператор своими методами защиты и лимитом дневного бюджета. Рекомендую заранее связаться с провайдером и спросить, что будет, если учётка уйдёт на сторону и начнутся звонки на Кубу. Как уже сказал, я у себя международные звонки опять отключил, настроил уведомление себе на почту при попытке позвонить по 8-10... Раньше так и было, но расслабился. Так хотя бы сразу засветится проблемный пир.
Кстати, косвенно помогла моя педантичность в выписывании масок для звонков. Я не разрешаю одним правилом всё подряд, а аккуратно выписываю разрешённые направления. В логах была куча попыток позвонить через номера, начинающиеся с 00, 01, 02, 03, ~1, +1, +2 и т.д. То есть куча левых направлений. Но все они отфутболились, потому что для них не было настроенных масок для звонков. Только _810X. и внутрироссийские.
А вы как защищаетесь от таких атак? Понятно, что самый надёжный способ подключать пиров только через VPN, но мне кажется, это малореально в текущих условиях. Придётся преднастроенные смартфоны и телефоны сразу с настроенными роутерами выдавать. Я, кстати, так тоже делал, но это немассовое решение (юзеру выдавался настроенный mikrotik и sip телефон комплектом). Также покупал аппараты с поддержкой OpenVPN внутри. Были такие Грандстримы. Но ненадёжно работало и трудно дебажить проблемы связи, пришлось отказаться.
Напишите в комментариях, кому интересно, стоит мне отдельным постом написать, как я мониторю и защищаю сервер Asterisk. Тема узкая и, думаю, что мало кому интересная в наши дни.
#asterisk #sip #security
Технический пост, который уже давно нужно было сделать, но всё руки не доходили. На канале много содержательных заметок по различным темам. Иногда сам через поиск ищу то, о чём писал. Ниже набор наиболее популярных тэгов по которым можно найти что-то полезное (и не очень).
#remote - все, что касается удалённого управления компьютерами
#helpdesk - обзор helpdesk систем
#backup - софт для бэкапа и некоторые мои заметки по теме
#zabbix - всё, что касается системы мониторинга Zabbix
#мониторинг - в этот тэг иногда попадает Zabbix, но помимо него перечислено много различных систем мониторинга
#управление #ITSM - инструменты для управления инфраструктурой
#devops - в основном софт, который так или иначе связан с методологией devops
#kuber - небольшой цикл постов про работу с kubernetes
#chat - мои обзоры на популярные чат платформы, которые можно развернуть у себя
#бесплатно - в основном подборка всяких бесплатностей, немного бесплатных курсов
#сервис - сервисы, которые мне показались интересными и полезными
#security - заметки, так или иначе связанные с безопасностью
#webserver - всё, что касается веб серверов
#gateway - заметки на тему шлюзов
#mailserver - всё, что касается почтовых серверов
#elk - заметки по ELK Stack
#mikrotik - очень много заметок про Mikrotik
#proxmox - заметки о популярном гипервизоре Proxmox
#terminal - всё, что связано с работой в терминале
#bash - заметки с примерами полезных и не очень bash скриптов или каких-то команд. По просмотрам, комментариям, сохранениям самая популярная тематика канала.
#windows - всё, что касается системы Windows
#хостинг - немного информации и хостерах, в том числе о тех, кого использую сам
#vpn - заметки на тему VPN
#perfomance - анализ производительности сервера и профилирование нагрузки
#курсы - под этим тэгом заметки на тему курсов, которые я сам проходил, которые могу порекомендовать, а также некоторые бесплатные курсы
#игра - игры исключительно IT тематики, за редким исключением
#совет - мои советы на различные темы, в основном IT
#подборка - посты с компиляцией нескольких продуктов, объединённых одной тематикой
#отечественное - обзор софта из реестра отечественного ПО
#юмор - большое количество каких-то смешных вещей на тему IT, которые я скрупулезно выбирал, чтобы показать вам самое интересное. В самом начале есть шутки, которые придумывал сам, проводил конкурсы.
#мысли - мои рассуждения на различные темы, не только IT
#разное - этим тэгом маркирую то, что не подошло ни под какие другие, но при этом не хочется, чтобы материал терялся, так как я посчитал его полезным
#дети - информация на тему обучения и вовлечения в IT детей
#развитие_канала - серия постов на тему развития данного telegram канала
Остальные тэги публикую общим списком без комментариев, так как они про конкретный софт, понятный из названия тэга:
#docker #nginx #mysql #postgresql #gitlab #asterisk #openvpn #lxc #postfix #bitrix #икс #debian #hyperv #rsync #wordpress #zfs #grafana #iptables #prometheus #1с #waf #logs #netflow
#remote - все, что касается удалённого управления компьютерами
#helpdesk - обзор helpdesk систем
#backup - софт для бэкапа и некоторые мои заметки по теме
#zabbix - всё, что касается системы мониторинга Zabbix
#мониторинг - в этот тэг иногда попадает Zabbix, но помимо него перечислено много различных систем мониторинга
#управление #ITSM - инструменты для управления инфраструктурой
#devops - в основном софт, который так или иначе связан с методологией devops
#kuber - небольшой цикл постов про работу с kubernetes
#chat - мои обзоры на популярные чат платформы, которые можно развернуть у себя
#бесплатно - в основном подборка всяких бесплатностей, немного бесплатных курсов
#сервис - сервисы, которые мне показались интересными и полезными
#security - заметки, так или иначе связанные с безопасностью
#webserver - всё, что касается веб серверов
#gateway - заметки на тему шлюзов
#mailserver - всё, что касается почтовых серверов
#elk - заметки по ELK Stack
#mikrotik - очень много заметок про Mikrotik
#proxmox - заметки о популярном гипервизоре Proxmox
#terminal - всё, что связано с работой в терминале
#bash - заметки с примерами полезных и не очень bash скриптов или каких-то команд. По просмотрам, комментариям, сохранениям самая популярная тематика канала.
#windows - всё, что касается системы Windows
#хостинг - немного информации и хостерах, в том числе о тех, кого использую сам
#vpn - заметки на тему VPN
#perfomance - анализ производительности сервера и профилирование нагрузки
#курсы - под этим тэгом заметки на тему курсов, которые я сам проходил, которые могу порекомендовать, а также некоторые бесплатные курсы
#игра - игры исключительно IT тематики, за редким исключением
#совет - мои советы на различные темы, в основном IT
#подборка - посты с компиляцией нескольких продуктов, объединённых одной тематикой
#отечественное - обзор софта из реестра отечественного ПО
#юмор - большое количество каких-то смешных вещей на тему IT, которые я скрупулезно выбирал, чтобы показать вам самое интересное. В самом начале есть шутки, которые придумывал сам, проводил конкурсы.
#мысли - мои рассуждения на различные темы, не только IT
#разное - этим тэгом маркирую то, что не подошло ни под какие другие, но при этом не хочется, чтобы материал терялся, так как я посчитал его полезным
#дети - информация на тему обучения и вовлечения в IT детей
#развитие_канала - серия постов на тему развития данного telegram канала
Остальные тэги публикую общим списком без комментариев, так как они про конкретный софт, понятный из названия тэга:
#docker #nginx #mysql #postgresql #gitlab #asterisk #openvpn #lxc #postfix #bitrix #икс #debian #hyperv #rsync #wordpress #zfs #grafana #iptables #prometheus #1с #waf #logs #netflow
Безопасность IP-АТС Asterisk
Прежде чем продолжать тему безопасности в Asterisk я посмотрел 3,5 часовое видео на эту тему и рекомендую его всем, кому это актуально. Информация там интересная и полезная, потому что видно, рассказывает практик с большим опытом. Но из-за формата видео, оно очень длинное, а реально практической информации там от силы на пол часа. Тут бы идеально зашла статья с примерами реализации всего сказанного, но как я уже говорил, хорошие качественные статьи сейчас особо нет смысла писать, поэтому их и нет. Приходится довольствоваться такими вебинарами.
Сразу отмечу, что оставлять Asterisk доступным из интернета эта нормальная практика, если соблюдать определённые предосторожности. Автор как раз описал кейс, который есть у меня. Люди ездят в Европу и им нужна sip связь через смартфон, чтобы совершать звонки. С впнами или другими ограничениями у них там 100% возникнут какие-то проблемы. Этот вопрос можно проработать без закрытия прямого доступа к астеру.
💡 Итак, практические рекомендации из видео:
▪ Защита АТС на уровне сети. Обязательно Firewall с fail2ban, по возможности VPN и в отдельный VLAN всё, что связано с voip. Если есть возможность, на Firewall отключаем ненужные страны. Если умеем смотреть L7, отсекаем левые User-Agent, либо разрешаем только свои. Автор предложил ещё один любопытный способ защиты. Вешаем астер на рандомное доменное имя, которое никто не знает и отсекаем всех тех, кто обращается к серверу не по нему. Для этого тоже надо уметь смотреть L7. Либо еще один вариант защиты. Вешаем астер на 2 внешних ip, основной и второй как ловушка для ботов. Люди пользуются только одним ip, а всех, кто обращается ко второму баним сразу для обоих ip адресов. То есть используем технологию honey pot.
▪ Защита на уровне конфигурации. Тут целый набор рекомендаций: скрываем версию сервера, ставим сложные пароли, вводим pin коды для дорогих направлений, ставим call-limit, сажаем всех в разные контексты по группам, аккуратно настраиваем dialplan, разграничивая направления масками, запрещаем звонки ночью и в выходные, если не надо и т.д.
▪ Защита самой системы. Тут всё стандартно и ничего интересного. Защищаем саму ОС, обновляем своевременно систему и PBX и т.д. В общем, всё что админы и так стандартно должны делать, но иногда не делают, потому что не всегда можно просто взять и обновить Asterisk, особенно, если надо перейти на следующую ветку.
▪ Защита периферийного оборудования. Тут было много интересных историй и рекомендаций. Многие не обращают особое внимание на защиту, когда сервер закрыт в локалке или в vpn и не смотрит наружу. Но это особо ничего не гарантирует, потому что креды от пира могут утечь и внутри закрытого периметра. Один из таких случаев я, кстати, рассказывал. Взломали микротик и через него пробросили vpn к sip северу и звонили. В общем случае все меры предосторожности должны соблюдаться по максимуму, даже если астериск не доступен извне.
Отдельно расскажу про мониторинг. В видео про него практически ничего не было. Скажу, что я обычно мониторю на Asterisk:
◽ channels, которые видно через "sip show channels". Если появляется какой-то всплеск идёт оповещение и блокируется ip, который открывает их слишком много.
◽ количество исходящих звонков. Если их больше среднего, срабатывает триггер.
◽ статус некоторых пиров и транков
◽ работу службы Fail2ban, Iptables и наличие цепочек fail2ban в правилах
◽ отдельно смотрю в "sip show channels" спам инвайтами и баню тех, кто спамит слишком часто. Я не знаю, зачем некоторые это делают и чем опасен такой спам. Баню на всякий случай.
Остальной мониторинг по стандарту - загрузка ресурсов, трафик, аптайм, доступность, работа служб и т.д.
Отдельно дам рекомендацию тем, кто думает поднимать свою IP-АТС любой реализации. Если есть возможность, купите телефонию как сервис или наймите внешних подрядчиков на внедрение и поддержку. Это реально проблемная история, которая требует опыта и постоянной вовлечённости.
#asterisk #security
Прежде чем продолжать тему безопасности в Asterisk я посмотрел 3,5 часовое видео на эту тему и рекомендую его всем, кому это актуально. Информация там интересная и полезная, потому что видно, рассказывает практик с большим опытом. Но из-за формата видео, оно очень длинное, а реально практической информации там от силы на пол часа. Тут бы идеально зашла статья с примерами реализации всего сказанного, но как я уже говорил, хорошие качественные статьи сейчас особо нет смысла писать, поэтому их и нет. Приходится довольствоваться такими вебинарами.
Сразу отмечу, что оставлять Asterisk доступным из интернета эта нормальная практика, если соблюдать определённые предосторожности. Автор как раз описал кейс, который есть у меня. Люди ездят в Европу и им нужна sip связь через смартфон, чтобы совершать звонки. С впнами или другими ограничениями у них там 100% возникнут какие-то проблемы. Этот вопрос можно проработать без закрытия прямого доступа к астеру.
💡 Итак, практические рекомендации из видео:
▪ Защита АТС на уровне сети. Обязательно Firewall с fail2ban, по возможности VPN и в отдельный VLAN всё, что связано с voip. Если есть возможность, на Firewall отключаем ненужные страны. Если умеем смотреть L7, отсекаем левые User-Agent, либо разрешаем только свои. Автор предложил ещё один любопытный способ защиты. Вешаем астер на рандомное доменное имя, которое никто не знает и отсекаем всех тех, кто обращается к серверу не по нему. Для этого тоже надо уметь смотреть L7. Либо еще один вариант защиты. Вешаем астер на 2 внешних ip, основной и второй как ловушка для ботов. Люди пользуются только одним ip, а всех, кто обращается ко второму баним сразу для обоих ip адресов. То есть используем технологию honey pot.
▪ Защита на уровне конфигурации. Тут целый набор рекомендаций: скрываем версию сервера, ставим сложные пароли, вводим pin коды для дорогих направлений, ставим call-limit, сажаем всех в разные контексты по группам, аккуратно настраиваем dialplan, разграничивая направления масками, запрещаем звонки ночью и в выходные, если не надо и т.д.
▪ Защита самой системы. Тут всё стандартно и ничего интересного. Защищаем саму ОС, обновляем своевременно систему и PBX и т.д. В общем, всё что админы и так стандартно должны делать, но иногда не делают, потому что не всегда можно просто взять и обновить Asterisk, особенно, если надо перейти на следующую ветку.
▪ Защита периферийного оборудования. Тут было много интересных историй и рекомендаций. Многие не обращают особое внимание на защиту, когда сервер закрыт в локалке или в vpn и не смотрит наружу. Но это особо ничего не гарантирует, потому что креды от пира могут утечь и внутри закрытого периметра. Один из таких случаев я, кстати, рассказывал. Взломали микротик и через него пробросили vpn к sip северу и звонили. В общем случае все меры предосторожности должны соблюдаться по максимуму, даже если астериск не доступен извне.
Отдельно расскажу про мониторинг. В видео про него практически ничего не было. Скажу, что я обычно мониторю на Asterisk:
◽ channels, которые видно через "sip show channels". Если появляется какой-то всплеск идёт оповещение и блокируется ip, который открывает их слишком много.
◽ количество исходящих звонков. Если их больше среднего, срабатывает триггер.
◽ статус некоторых пиров и транков
◽ работу службы Fail2ban, Iptables и наличие цепочек fail2ban в правилах
◽ отдельно смотрю в "sip show channels" спам инвайтами и баню тех, кто спамит слишком часто. Я не знаю, зачем некоторые это делают и чем опасен такой спам. Баню на всякий случай.
Остальной мониторинг по стандарту - загрузка ресурсов, трафик, аптайм, доступность, работа служб и т.д.
Отдельно дам рекомендацию тем, кто думает поднимать свою IP-АТС любой реализации. Если есть возможность, купите телефонию как сервис или наймите внешних подрядчиков на внедрение и поддержку. Это реально проблемная история, которая требует опыта и постоянной вовлечённости.
#asterisk #security
Посмотрел очередное выступление с Asterconf 2021, которое мне показалось интересным и полезным для тех, кто работает с Asterisk:
Автоматизация разворачивания станций на Asterisk с использованием Docker контейнеров, https://www.youtube.com/watch?v=_IF7IzcDmRQ
До этого тоже смотрел все видео с конференции на канале, но показались больше теоретическими и не очень интересным. А тут прям конкретика с примерами, подходами, софтом и т. д. Интересно было послушать. Как-то вообще не видел, чтобы Asterisk запускали в Docker. Это такой софт, который один раз поставил и обновляешь очень не часто, только если прижмёт и надо будет по безопасности закрывать дыры. То есть вопросы с частым деплоем вообще не стоят.
Использование докера в данном случае упростит задачу переноса или обновления, так как можно будет всё протестировать на идентичном контейнере, а потом очень быстро заменить его на проде. С виртуалкой в любом случае все это больше времени займёт. Как само обновление, так и откат в случае проблем.
Содержание выступления с метками:
00:00 Начало выступления
00:09 Проблемы STANDALONE ASTERISK
01:37 WHAT's DOCKER.IO
02:02 Преимущества DOCKER
02:38 Подготовка образа
02:59 Dockerfile
03:25 Базовый образ и сборка Asterisk
03:45 Сборка дополнительных модулей
03:53 Подготовка финального образа
04:14 Установка Sox, Jboss, Webif
04:21 Supervisor, sngrep, crontab, fail2ban
04:33 Supervisor: A Process Control System
05:02 Конфигурация Supervisor
05:07 Стартовый скрипт
05:23 BUILD & PUBLISH
05:47 Размещение образа в Dockerhub
05:53 Deploy: docker-compose
06:23 Установка и запуск
06:42 Время развертывания - 2 минуты
07:12 Кастомизация образа
07:48 Обновление
08:04 Решение проблем
08:23 Ответы на вопросы
#asterisk #видео
Автоматизация разворачивания станций на Asterisk с использованием Docker контейнеров, https://www.youtube.com/watch?v=_IF7IzcDmRQ
До этого тоже смотрел все видео с конференции на канале, но показались больше теоретическими и не очень интересным. А тут прям конкретика с примерами, подходами, софтом и т. д. Интересно было послушать. Как-то вообще не видел, чтобы Asterisk запускали в Docker. Это такой софт, который один раз поставил и обновляешь очень не часто, только если прижмёт и надо будет по безопасности закрывать дыры. То есть вопросы с частым деплоем вообще не стоят.
Использование докера в данном случае упростит задачу переноса или обновления, так как можно будет всё протестировать на идентичном контейнере, а потом очень быстро заменить его на проде. С виртуалкой в любом случае все это больше времени займёт. Как само обновление, так и откат в случае проблем.
Содержание выступления с метками:
00:00 Начало выступления
00:09 Проблемы STANDALONE ASTERISK
01:37 WHAT's DOCKER.IO
02:02 Преимущества DOCKER
02:38 Подготовка образа
02:59 Dockerfile
03:25 Базовый образ и сборка Asterisk
03:45 Сборка дополнительных модулей
03:53 Подготовка финального образа
04:14 Установка Sox, Jboss, Webif
04:21 Supervisor, sngrep, crontab, fail2ban
04:33 Supervisor: A Process Control System
05:02 Конфигурация Supervisor
05:07 Стартовый скрипт
05:23 BUILD & PUBLISH
05:47 Размещение образа в Dockerhub
05:53 Deploy: docker-compose
06:23 Установка и запуск
06:42 Время развертывания - 2 минуты
07:12 Кастомизация образа
07:48 Обновление
08:04 Решение проблем
08:23 Ответы на вопросы
#asterisk #видео
Мониторинг и траблшутинг VOIP
Ниже мой краткий конспект интересного выступления с AsterConf 2021 на тему мониторинга и разбора проблем с VOIP. Я так или иначе стараюсь просматривать выступления со всех популярных конференций. Если что-то кажется интересным и полезным, то конспектирую для вас и себя в том числе.
📌 Мониторинг:
- Базовые метрики серверов (процессор, память, диск, сеть и т.д.). Мониторить просто, толку мало, особенно когда серверов, связанных со связью, несколько.
- Использовать сервисные метрики от SIP3, Homer, VoIPMonitor. Это специализированные open source системы для мониторинга SIP трафика. Минус этого решения - +еще одна система мониторинга.
- Что собираем: RFC-6076. Основное: ASR, SCR, SER, SEER, ISAs.
- Следим за временными метриками (пример из SIP3): sip_call_duration, sip_call_trying-delay, sip_call_setup-time, sip_call_establish-time, sip_call_cancel-time, sip_call_disconnect-time.
- Следим за RTP метриками: Rating Factor, Mean Opinion Score (latency, jitter, packet loss).
📌 Разбор проблем:
- Качественный разбор проблем возможен только если есть хороший мониторинг.
- Чем подробнее данные о трафике, который собирается, тем проще дебажить проблемы. В довесок к хранению должен быть хороший поиск по сохранённым данным. Соответственно, нужны системы для сбора, хранения и анализа трафика. Автор предлагает SIP3, но как я понял, это уже платный функционал.
Видео - https://www.youtube.com/watch?v=1I7Mxc_7rAw
Презентация - https://voxlink.ru/wp-content/uploads/2022/04/03_agafonov.pdf
#asterisk #мониторинг #voip
Ниже мой краткий конспект интересного выступления с AsterConf 2021 на тему мониторинга и разбора проблем с VOIP. Я так или иначе стараюсь просматривать выступления со всех популярных конференций. Если что-то кажется интересным и полезным, то конспектирую для вас и себя в том числе.
📌 Мониторинг:
- Базовые метрики серверов (процессор, память, диск, сеть и т.д.). Мониторить просто, толку мало, особенно когда серверов, связанных со связью, несколько.
- Использовать сервисные метрики от SIP3, Homer, VoIPMonitor. Это специализированные open source системы для мониторинга SIP трафика. Минус этого решения - +еще одна система мониторинга.
- Что собираем: RFC-6076. Основное: ASR, SCR, SER, SEER, ISAs.
- Следим за временными метриками (пример из SIP3): sip_call_duration, sip_call_trying-delay, sip_call_setup-time, sip_call_establish-time, sip_call_cancel-time, sip_call_disconnect-time.
- Следим за RTP метриками: Rating Factor, Mean Opinion Score (latency, jitter, packet loss).
📌 Разбор проблем:
- Качественный разбор проблем возможен только если есть хороший мониторинг.
- Чем подробнее данные о трафике, который собирается, тем проще дебажить проблемы. В довесок к хранению должен быть хороший поиск по сохранённым данным. Соответственно, нужны системы для сбора, хранения и анализа трафика. Автор предлагает SIP3, но как я понял, это уже платный функционал.
Видео - https://www.youtube.com/watch?v=1I7Mxc_7rAw
Презентация - https://voxlink.ru/wp-content/uploads/2022/04/03_agafonov.pdf
#asterisk #мониторинг #voip
Продолжаю утреннюю тему диагностики VOIP серверов и анализа SIP трафика. В самом начале выступления, про которое я рассказал, автор упомянул, что весь дальнейший рассказ будет актуален для тех, кому возможностей SNGREP недостаточно. Я не стал поднимать эту тему в утренней заметке, потому что данная утилита заслуживает отдельного упоминания.
С помощью SNGREP можно анализировать SIP трафик, в том числе и в режиме реального времени. Причём это консольное приложение настолько удобно и наглядно сделано, что им можно пользоваться, даже если вы в SIP полный профан. Разобраться не составит труда.
Я впервые его поставил и запустил, когда мне достался в обслуживание небольшой call центр. На собеседовании я сказал, что знаю asterisk, хотя вообще не знал его (предполагал, что могу поставить). Это тот случай, когда можно приврать, если уверен в своих способностях. Linux админил давно, но с астером просто не сталкивался. За месяц освоил на очень хорошем уровне. Мог уже сам внедрять сервера и писать диалпланы. В итоге никто и не понял, что я не разбираюсь в астериске, а через 2 года, когда увольнялся, со мной очень не хотели расставаться.
Процесс установки и много примеров использования sngrep я привёл в своей статье Анализ SIP трафика в Asterisk с помощью sngrep. Она написана давно, но с тех пор ничего принципиально не изменилось. Скорее всего не изменилось вообще ничего.
Настоятельно рекомендую использовать sngrep, если у вас есть хотя бы один сервер Asterisk в управлении.
#asterisk #sip
С помощью SNGREP можно анализировать SIP трафик, в том числе и в режиме реального времени. Причём это консольное приложение настолько удобно и наглядно сделано, что им можно пользоваться, даже если вы в SIP полный профан. Разобраться не составит труда.
Я впервые его поставил и запустил, когда мне достался в обслуживание небольшой call центр. На собеседовании я сказал, что знаю asterisk, хотя вообще не знал его (предполагал, что могу поставить). Это тот случай, когда можно приврать, если уверен в своих способностях. Linux админил давно, но с астером просто не сталкивался. За месяц освоил на очень хорошем уровне. Мог уже сам внедрять сервера и писать диалпланы. В итоге никто и не понял, что я не разбираюсь в астериске, а через 2 года, когда увольнялся, со мной очень не хотели расставаться.
Процесс установки и много примеров использования sngrep я привёл в своей статье Анализ SIP трафика в Asterisk с помощью sngrep. Она написана давно, но с тех пор ничего принципиально не изменилось. Скорее всего не изменилось вообще ничего.
Настоятельно рекомендую использовать sngrep, если у вас есть хотя бы один сервер Asterisk в управлении.
#asterisk #sip
Для мониторинга voip трафика по протоколу sip есть отличное бесплатное open source решение - VoIPmonitor. С его помощью можно контролировать и оценивать качество голосовой связи. Сразу уточню, что бесплатен только сам бэкенд, который собирает данные, кладёт в базу, анализирует. Веб интерфейс для удобной работы с данными платный. Бесплатно - только cli.
VoIPmonitor перехватывает вызовы в реальном времени и сохраняет статистику и дампы файлов в БД для последующего анализа. На него можно отзеркалить весь трафик порта. Если это технически невозможно, то можно передавать трафик через агента, установленного на voip сервере. VoIPmonitor использует снифер, обнаруживает SIP INVITE пакет и перехватывает RTP в обоих направлениях. При завершении вызова статистика считывается, с её помощью рассчитывается приблизительное значение MOS по методике описанной в спецификации G.107.
VoIPmonitor решает следующие задачи:
- мониторинг и дебаг SIP VoIP звонков;
- сохранение всех звонков в CDR базе;
- расшифровка и проигрывание звонков через веб интерфейс;
- настройка правил для выявления фрода;
- мониторинг колл-центров;
- биллинг.
Особенности программы:
- поддерживает протоколы: SIP RTP RTCP SKINNY(SCCP) MGCP SS7 SCTP WebRTC TCP SSL TLS, транспорт по UDP и TCP;
- выходные данные: CDR, full SIP/RTP pcap, WAV OGG audio, T.38 PDF FAX
- поддерживает уведомления;
- ролевая модель доступа к данным;
- поддерживает расшифровку tls и srtp;
Из описания очевидно, что решение профессиональное и владельцам единственного сервера asterisk для офиса вряд ли пригодится. Хотя кто знает. Настроить его не сложно, как и установить. Продукт старый и известный. Руководств по настройке много, так что проблем быть не должно. Вот пример инструкции для Debian 11.
К сожалению, я не нашёл через поиск в гугле хоть какой-нибудь простой веб интерфейс для VoIPmonitor. Если кто-то знает таковой, прошу поделиться информацией. Можно установить официальную панель в режиме trial на 30 дней.
Сайт - https://www.voipmonitor.org/
Исходники - https://github.com/voipmonitor/sniffer
Demo - http://www.voipmonitor.org/demo/admin.php
#asterisk #voip
VoIPmonitor перехватывает вызовы в реальном времени и сохраняет статистику и дампы файлов в БД для последующего анализа. На него можно отзеркалить весь трафик порта. Если это технически невозможно, то можно передавать трафик через агента, установленного на voip сервере. VoIPmonitor использует снифер, обнаруживает SIP INVITE пакет и перехватывает RTP в обоих направлениях. При завершении вызова статистика считывается, с её помощью рассчитывается приблизительное значение MOS по методике описанной в спецификации G.107.
VoIPmonitor решает следующие задачи:
- мониторинг и дебаг SIP VoIP звонков;
- сохранение всех звонков в CDR базе;
- расшифровка и проигрывание звонков через веб интерфейс;
- настройка правил для выявления фрода;
- мониторинг колл-центров;
- биллинг.
Особенности программы:
- поддерживает протоколы: SIP RTP RTCP SKINNY(SCCP) MGCP SS7 SCTP WebRTC TCP SSL TLS, транспорт по UDP и TCP;
- выходные данные: CDR, full SIP/RTP pcap, WAV OGG audio, T.38 PDF FAX
- поддерживает уведомления;
- ролевая модель доступа к данным;
- поддерживает расшифровку tls и srtp;
Из описания очевидно, что решение профессиональное и владельцам единственного сервера asterisk для офиса вряд ли пригодится. Хотя кто знает. Настроить его не сложно, как и установить. Продукт старый и известный. Руководств по настройке много, так что проблем быть не должно. Вот пример инструкции для Debian 11.
К сожалению, я не нашёл через поиск в гугле хоть какой-нибудь простой веб интерфейс для VoIPmonitor. Если кто-то знает таковой, прошу поделиться информацией. Можно установить официальную панель в режиме trial на 30 дней.
Сайт - https://www.voipmonitor.org/
Исходники - https://github.com/voipmonitor/sniffer
Demo - http://www.voipmonitor.org/demo/admin.php
#asterisk #voip
Напомню, для тех, кто не знает. У Zabbix есть готовый шаблон для 6-й версии по мониторингу Asterisk. Раньше я подобные вещи самостоятельно колхозил скриптами и рукотворными шаблонами, а теперь всё работает из коробки.
При этом официальный шаблон не использует никакие скрипты. Все метрики собираются HTTP запросами через Asterisk Manager API. Обработка настроена там же в шаблоне через предобработку на JavaScript. Поддерживается версия Asterisk 13 и выше.
Для настройки достаточно включить в manager.conf:
И сделать отдельного пользователя для Zabbix. Я бы ещё обязательно ограничил доступ к AMI на уровне Firewall, если кроме мониторинга его никто не использует. Да даже если использует, ограничил бы доступ по ip только для тех, кому он нужен. Затем в макросах хоста нужно будет указать url к AMI и учётные данные пользователя. Вот и вся настройка.
Шаблон имеет готовые правила автообнаружения пиров и очередей. Также он собирает информацию о статусе службы, аптайме, активных каналах, звонках, очередях, статусах пиров и т.д. Большой список метрик, которые можно посмотреть на сайте Zabbix в разделе с интеграциями:
https://www.zabbix.com/ru/integrations/asterisk
Сам шаблон можно взять в репозитории. Не забудьте выбрать ветку со своей версией Zabbix Server. По умолчанию там уже для 6.2.
#zabbix #asterisk
При этом официальный шаблон не использует никакие скрипты. Все метрики собираются HTTP запросами через Asterisk Manager API. Обработка настроена там же в шаблоне через предобработку на JavaScript. Поддерживается версия Asterisk 13 и выше.
Для настройки достаточно включить в manager.conf:
webenabled=yes
И сделать отдельного пользователя для Zabbix. Я бы ещё обязательно ограничил доступ к AMI на уровне Firewall, если кроме мониторинга его никто не использует. Да даже если использует, ограничил бы доступ по ip только для тех, кому он нужен. Затем в макросах хоста нужно будет указать url к AMI и учётные данные пользователя. Вот и вся настройка.
Шаблон имеет готовые правила автообнаружения пиров и очередей. Также он собирает информацию о статусе службы, аптайме, активных каналах, звонках, очередях, статусах пиров и т.д. Большой список метрик, которые можно посмотреть на сайте Zabbix в разделе с интеграциями:
https://www.zabbix.com/ru/integrations/asterisk
Сам шаблон можно взять в репозитории. Не забудьте выбрать ветку со своей версией Zabbix Server. По умолчанию там уже для 6.2.
#zabbix #asterisk
Недавно рассказывал про бесплатное решение для мониторинга voip трафика - VoIPmonitor. Существенный минус этого проекта - платная веб панель для просмотра и управления. А без неё в реальной эксплуатации очень неудобно. Существует аналог - SIP3. Это тоже бесплатный Open Source проект. Функционально во многом похож на VoIPmonitor, но у него в бесплатной редакции (Community Edition) есть веб панель с базовым функционалом.
SIP3 состоит из нескольких компонентов:
◽ Captain - агент для сбора трафика
◽ Salto - Ядро системы
◽ Twig - API engine
◽ Hoof - веб интерфейс
На отдельной странице перечислен функционал бесплатной и платной версии. Условно можно считать, что бесплатная версия полнофункциональна, доступны все компоненты. А за деньги вы получаете расширенный функционал каждого из них.
В комплекте SIP3 присутствуют как инструменты мониторинга на базе Grafana, так и список звонков, их запись, инструменты поиска проблем.
Для установки SIP3 есть Ansible Playbook. Он поддерживает установку на Centos и Debian, либо через Docker на любой другой Linux дистрибутив.
Как я понял, разработчики системы русскоязычные. От них есть подробное руководство по установке и настройке.
Сайт - https://sip3.io
Демо - https://demo.sip3.io/
Исходники - https://github.com/sip3io
Русскоязычный чат - https://t.me/sip3io
#asterisk #voip
SIP3 состоит из нескольких компонентов:
◽ Captain - агент для сбора трафика
◽ Salto - Ядро системы
◽ Twig - API engine
◽ Hoof - веб интерфейс
На отдельной странице перечислен функционал бесплатной и платной версии. Условно можно считать, что бесплатная версия полнофункциональна, доступны все компоненты. А за деньги вы получаете расширенный функционал каждого из них.
В комплекте SIP3 присутствуют как инструменты мониторинга на базе Grafana, так и список звонков, их запись, инструменты поиска проблем.
Для установки SIP3 есть Ansible Playbook. Он поддерживает установку на Centos и Debian, либо через Docker на любой другой Linux дистрибутив.
Как я понял, разработчики системы русскоязычные. От них есть подробное руководство по установке и настройке.
Сайт - https://sip3.io
Демо - https://demo.sip3.io/
Исходники - https://github.com/sip3io
Русскоязычный чат - https://t.me/sip3io
#asterisk #voip
☎️ Совсем недавно узнал про простое и изящное решение для организации телефонии малого и среднего бизнеса - MikoPBX. Это бесплатный Open Source продукт на базе Asterisk. Я посмотрел на его интерфейс, возможности и сразу проявился симпатией. Захотелось попробовать. Если будет задача, обязательно поставлю именно его.
Основные возможности:
◽ хорошая русификация
◽ управление через web интерфейс
◽ встроенный список сотрудников
◽ поддержка конференций, переадресаций, очередей, уведомлений на email
◽ запись разговоров, история вызовов
◽ встроенный Firewall (Iptables) и Fail2Ban
◽ встроенные бэкап и восстановление
Есть платный модуль для интеграции с 1С, который умеет звонить из 1С, открывать карточку клиента во время звонка, вести статистику, интегрироваться с Whatsapp и кое-что другое.
Видео: MikoPBX - базовая настройка и обзор функционала
Если кто-то пользовался, дайте обратную связь. Панель управления в демке очень понравилась. Лучшее, что я видел из готовых решений для управления Asterisk.
Сайт - https://www.mikopbx.ru/
Демо - http://demo.askozia.ru/
Исходники - https://github.com/mikopbx
#asterisk #voip
Основные возможности:
◽ хорошая русификация
◽ управление через web интерфейс
◽ встроенный список сотрудников
◽ поддержка конференций, переадресаций, очередей, уведомлений на email
◽ запись разговоров, история вызовов
◽ встроенный Firewall (Iptables) и Fail2Ban
◽ встроенные бэкап и восстановление
Есть платный модуль для интеграции с 1С, который умеет звонить из 1С, открывать карточку клиента во время звонка, вести статистику, интегрироваться с Whatsapp и кое-что другое.
Видео: MikoPBX - базовая настройка и обзор функционала
Если кто-то пользовался, дайте обратную связь. Панель управления в демке очень понравилась. Лучшее, что я видел из готовых решений для управления Asterisk.
Сайт - https://www.mikopbx.ru/
Демо - http://demo.askozia.ru/
Исходники - https://github.com/mikopbx
#asterisk #voip
Делюсь с вами простым и эффективным трюком в Asterisk, который позволит наблюдать за тем или иным направлением звонков. Реализация может быть разная в зависимости от структуры диалплана используемого решения и модуля sip или pjsip.
Например, есть офис, где звонки на международные направления заблокированы всем или части пользователей. Очень явными признаками взлома учётки Asterisk являются попытки набора международных номеров. Для маски международных звонков добавил такое правило:
Когда кто-то наберёт номер с маской 810 и т.д. в почту сразу же прилетит уведомление о том, кто звонит и куда конкретно. Дальше в диалплане можно разрешить этот звонок, либо отклонить и что-то сказать пользователю. Не суть. Смысл в том, что Asterisk может сразу же сам отправить email. Это удобно, когда нет какого-то расширенного мониторинга с уведомлениями.
Я лично на 810 всегда ставлю какие-то заглушки, если звонки туда не нужны, либо совершаются очень редко. По ним сразу видно, что на сервере происходит что-то подозрительное.
#asterisk
Например, есть офис, где звонки на международные направления заблокированы всем или части пользователей. Очень явными признаками взлома учётки Asterisk являются попытки набора международных номеров. Для маски международных звонков добавил такое правило:
exten => _810XX.,1,System(echo "To" ${EXTEN} "Ext" ${CALLERID(num)} \
| mail -s "8-10 ALARM" admin@firma.ru)
Когда кто-то наберёт номер с маской 810 и т.д. в почту сразу же прилетит уведомление о том, кто звонит и куда конкретно. Дальше в диалплане можно разрешить этот звонок, либо отклонить и что-то сказать пользователю. Не суть. Смысл в том, что Asterisk может сразу же сам отправить email. Это удобно, когда нет какого-то расширенного мониторинга с уведомлениями.
Я лично на 810 всегда ставлю какие-то заглушки, если звонки туда не нужны, либо совершаются очень редко. По ним сразу видно, что на сервере происходит что-то подозрительное.
#asterisk
Небольшая информация из практической деятельности. Мне давно знакома проблема, когда не устанавливается SIP соединение для регистрации пира или транка с регистрацией. Возникает она в моём случае либо после проблем с интернетом или переключения каналов, либо при работе через VPN вместе с указанными выше проблемами. В общем, когда возникают какие-то неполадки со связью, есть небольшая вероятность, что внешне транки и пиры отвалятся.
При этом какие-либо действия со стороны Asterisk не помогают. Есть можно перезапускать, перезагружать сервер, но регистрации как не работали, так и не будут работать. Когда я первый раз столкнулся с подобной ситуацией, очень сильно напрягся. Потратил примерно день, прежде чем нашёл решение. С тех пор его запомнил и проверяю в первую очередь.
Если у вас по неведомым причинам не регистрируются транки и пиры, проверьте активные соединения на шлюзе, связанные с SIP и удалите их. Отфильтруйте либо по адресу voip сервера, либо по адресу внешнего сервера, либо просто по портам, к примеру, 5060, если используется стандартный.
В роутерах Mikrotik это делается на вкладке:
▪ IP ⇨ Firewall ⇨ Connections
Если у вас шлюз на Linux, то соединения можно посмотреть в /proc/net/nf_conntrack:
Либо с помощью утилиты conntrack (ставится из реп, либо как conntrack, либо как conntrack-tools). Смотрим:
и удаляем:
После этого регистрации успешно состоятся.
В чём причина подобных проблем, я не знаю. Теорию не изучал и не исследовал. Просто знаю, что вот это помогает. Возможно есть другое решение. Лично сталкивался с подобными проблемами только с VOIP.
Если кто-то знает, в чём может быть причина подобных проблем и как с ними бороться, буду благодарен любой содержательной информации.
#gateway #voip #asterisk
При этом какие-либо действия со стороны Asterisk не помогают. Есть можно перезапускать, перезагружать сервер, но регистрации как не работали, так и не будут работать. Когда я первый раз столкнулся с подобной ситуацией, очень сильно напрягся. Потратил примерно день, прежде чем нашёл решение. С тех пор его запомнил и проверяю в первую очередь.
Если у вас по неведомым причинам не регистрируются транки и пиры, проверьте активные соединения на шлюзе, связанные с SIP и удалите их. Отфильтруйте либо по адресу voip сервера, либо по адресу внешнего сервера, либо просто по портам, к примеру, 5060, если используется стандартный.
В роутерах Mikrotik это делается на вкладке:
▪ IP ⇨ Firewall ⇨ Connections
Если у вас шлюз на Linux, то соединения можно посмотреть в /proc/net/nf_conntrack:
# cat /proc/net/nf_conntrack
Либо с помощью утилиты conntrack (ставится из реп, либо как conntrack, либо как conntrack-tools). Смотрим:
# conntrack -L -p udp --src 10.1.4.23 --dport 5060
и удаляем:
# conntrack -D -p udp --src 10.1.4.23 --dport 5060
После этого регистрации успешно состоятся.
В чём причина подобных проблем, я не знаю. Теорию не изучал и не исследовал. Просто знаю, что вот это помогает. Возможно есть другое решение. Лично сталкивался с подобными проблемами только с VOIP.
Если кто-то знает, в чём может быть причина подобных проблем и как с ними бороться, буду благодарен любой содержательной информации.
#gateway #voip #asterisk
На днях разбирался с небольшой проблемой на voip сервере asterisk. Есть сервер, который настраивали очень давно. Его никто не трогает, он просто работает. Недавно купили новую серию телефонов. На них почему-то не проходили входящие звонки.
Ранее я уже рассказывал про утилиту sngrep, которая позволяет в удобном виде посмотреть всю информацию по sip трафику. Там в удобном виде собрано всё то, что вы можете увидеть, включив debug на asterisk, только в sngrep всё будет очень наглядно.
Я уже не особо разбираюсь в voip, так как давно ничего не настраивал. Решил не заниматься этим направлением. Но по старой памяти немного приглядываю за старыми серверами. Это сервер был с наследством в виде нескольких IP адресов. На новых аппаратах запрос шёл к одному из ip, который был указан в настройках, а ответ приходил от другого адреса. И телефон его не принимал.
Я не знаю, почему так происходило, и почему проблема появилась только сейчас и только на конкретных аппаратах. Но именно sngrep позволил буквально за 5 минут понять, в чем именно проблема. Просто поменяли ip адрес в телефоне на тот, с которого приходил ответ и всё заработало.
Написал это для тех, у кого есть в управлении сервера asterisk, чтобы лишний раз напомнить про sngrep. Она меня всегда выручала и выручает, когда надо быстро разобраться с какой-то проблемой с телефонией.
Сейчас, наверное, свой сервер asterisk, как и почтовый, это скорее экзотика. Все постепенно переползают на готовые сервисы. В чём-то это оправданно, так как с тем же voip разбираться довольно трудно, если нет специализации по этой теме.
ps. На картинке не дебаг проблемного звонка. На нём просто наглядно видно, что общение идёт с двумя ip адресами сервера. Во время звонка телефон не отвечал на invite от сервера.
#asterisk #voip
Ранее я уже рассказывал про утилиту sngrep, которая позволяет в удобном виде посмотреть всю информацию по sip трафику. Там в удобном виде собрано всё то, что вы можете увидеть, включив debug на asterisk, только в sngrep всё будет очень наглядно.
Я уже не особо разбираюсь в voip, так как давно ничего не настраивал. Решил не заниматься этим направлением. Но по старой памяти немного приглядываю за старыми серверами. Это сервер был с наследством в виде нескольких IP адресов. На новых аппаратах запрос шёл к одному из ip, который был указан в настройках, а ответ приходил от другого адреса. И телефон его не принимал.
Я не знаю, почему так происходило, и почему проблема появилась только сейчас и только на конкретных аппаратах. Но именно sngrep позволил буквально за 5 минут понять, в чем именно проблема. Просто поменяли ip адрес в телефоне на тот, с которого приходил ответ и всё заработало.
Написал это для тех, у кого есть в управлении сервера asterisk, чтобы лишний раз напомнить про sngrep. Она меня всегда выручала и выручает, когда надо быстро разобраться с какой-то проблемой с телефонией.
Сейчас, наверное, свой сервер asterisk, как и почтовый, это скорее экзотика. Все постепенно переползают на готовые сервисы. В чём-то это оправданно, так как с тем же voip разбираться довольно трудно, если нет специализации по этой теме.
ps. На картинке не дебаг проблемного звонка. На нём просто наглядно видно, что общение идёт с двумя ip адресами сервера. Во время звонка телефон не отвечал на invite от сервера.
#asterisk #voip