IT блог о интернете, сервисах, разработке, IP-телефонии, и других важных темах для менеджера и администратора интернет проектов.

Как отлаживать WebRTC

В Voximplant мы используем WebRTC с момента ее появления: сначала как альтернативу Flash для голосовых и видеозвонков, а затем как полную замену. Технология прошла долгий и болезненный путь развития, только недавно ее стали поддерживать все основные браузеры, есть сложности с передачей экрана, нескольких видеопотоков, а иногда браузер падает просто если выключить и включить видеопоток. Накопленный опыт позволяет переводить для Хабра интересные статьи, и сегодня мы передаем слово Ли Сильвестру из Xirsys, который расскажет про отладку (видео)звонков в Chrome, Firefox, Safari и Edge. Отлаживать WebRTC непросто, у нас даже есть специальные инструкции по снятию логов в популярных браузерах. А что есть у Ли – вы узнаете под катом (спойлер: много всего, включая WireShark).

История SMS: как передать текст по голосовому каналу

SMS — штука настолько привычная, что многие и не задумываются о том, как же работает передача сообщений в сетях, ориентированных на голос, и не вспоминают, почему же мы ограничены столь небольшой длиной сообщения. Давайте вспомним, откуда вообще появились короткие сообщения и что они собой представляют.
В этом году «коротким сообщениям» исполнится 25 лет. Считается, что первое SMS-сообщение было отправлено в Великобритании в 1992 году, а коммерческая услуга SMS появилась в Финляндии в 1993 году.

Как происходят атаки при помощи голосового фишинга

Vishing (voice phishing, голосовой фишинг) — это вид атаки, при котором жертву пытаются убедить раскрыть ценную личную информацию по телефону. Хотя по описанию это похоже на старый добрый скам, вишинг-атаки имеют элементы хай-тека: например, в них применяется технология автоматизированной симуляции голоса, или для упрощения задачи скаммер может использовать персональную информацию о жертве, собранную во время предыдущих кибератак.

Какие бы технологии не использовались, схема атаки следует знакомому нам сценарию социального инжиниринга: нападающий создаёт ситуацию, позволяющую эксплуатировать человеческие чувства, и убеждает жертву раскрыть ценную информацию, например, номера кредитных карт или пароли. В этом смысле техники вишинга повторяют фишинг-атаки, которые используются ещё с 1990-х. Но вишинг-звонки используют тот факт, что мы с большей вероятностью доверимся человеческому голосу, и могут быть нацелены на пожилых или боящихся технологий людей, ведь они наивны и не сталкивались с подобными видами мошенничества.

Будущий дизайн OpenSIPS

OpenSIPS — это сигнальный SIP-коммутатор. Если вы хотите обрабатывать реально много SIP-звонков, то, скорее всего, мимо OpenSIPS не пройдете.
Система реально «mature», проверенная в бою и, со временем, обросшая множеством полезных (и не очень) модулей.

Вместе с этим, очевидно, что архитектура, заложеннная еще в 2001 году не отвечает современным требованиям.
Поэтому разработчики OpenSIPS заявили, что версия 2.0 будет вестись «с чистого листа».

Ниже приведен перевод документа OpenSIPS 2.0 Design.

Руководство по SQLite: настраиваем и учимся работать

Давно хотели познакомиться с SQLite? Мы сделали руководство по настройке и работе с инструментом, на основе статьи топового программиста.

SQLite — это автономная база данных без сервера SQL. Ричард Хипп, создатель SQLite, впервые выпустил программное обеспечение 17 августа 2000 года. С тех пор оно стало вторым по популярности ПО в мире. Его используют даже в таких важных системах, как Airbus A350. Кстати, программа вместе со всеми библиотеками весит всего несколько мегабайт.

RTP Engine on Kamailio SIP

This article focuses on setting up sipwise rtpegine to proxy rtp traffic from kamailio app server. This is an updated version of the the old article .

RTPengine is a proxy for RTP traffic and other UDP based media traffic over either IPv4 or IPv6. It can even bridge between diff IP networks and interfaces . It can do TOS/QoS field setting. It is Multi-threaded , can advertise different addresses for operation behind NAT.

It bears in-kernel packet forwarding for low-latency and low-CPU performance .

Установка OpenSIPS на Linux

OpenSIPS - это SIP-прокси-сервер с открытым исходным кодом операторского уровня, используемый для сигнализации SIP, и может обрабатывать все типы операций SIP. Он используется многими провайдерами телекоммуникационных услуг, телефонии и операторами связи из-за его надежности и производительности.

Итак, если вы, ребята, хотите обрабатывать тысячи одновременных вызовов и SIP-сессий, тогда OpenSIPS - ваш выход. Существует множество различных сценариев, в которых openSIPS может хорошо играть в вашей инфраструктуре. Некоторые из них:

WebRTC using OpenSIPS and RTPEngine

In this article you will find tips, pointers and code snippets to help you get started with WebRTC using OpenSIPS and RTPEngine. At the end I have provided some notes and URL links that may be useful to anyone wishing to learn more about the media handling.

In the initialisation section of opensips.cfg

A listen statement is required to make opensips accept websocket connections. The usual port is 443, but you can use a different port if you want. Generally, you will also want to add an alias matched to the published hostname. I also recommend that you consider setting a value for maximum file handles as this directly impacts the number of simultaneous connections possible on one server. The default value may not be enough.

Unix Toolbox

This document is a collection of Unix/Linux/BSD commands and tasks which are useful for IT work or for advanced users. This is a practical guide with concise explanations, however the reader is supposed to know what s/he is doing.

Unix Toolbox revision 12
The latest version of this document can be found at http://cb.vu/unixtoolbox.xhtml. Replace .xhtml on the link with .pdf for the PDF version and with .book.pdf for the booklet version. On a duplex printer the booklet will create a small book ready to bind. This XHTML page can be converted into a nice PDF document with a CSS3 compliant application (see the script example). See also the about page.

Перевод руководства по Quagga

1. Введение

Quagga - пакет программ, реализующих протоколы маршрутизации, основанных на TCP/IP и поддерживает такие протоколы как RIPv1, RIPv2, RIPng, OSPFv2, OSPFv3, BGP-4, and BGP-4+ (см. раздел 1.4 Поддерживаемые RFC). Quagga также поддерживает BGP Route Reflector и Route Server behavior. В дополнение к традиционному протоколу IPv4 Quagga также поддерживает протоколы маршрутизации для IPv6. Совместно с демоном SNMP, который поддерживает SMUX протокол, Quagga обеспечивает протокол маршрутизации MIBs (см. раздел 15. Поддержка SNMP).

Умная защита от атак MikroTik

В последние несколько лет всё чаще появляется информация об очередных хакерских атаках, направленных на сетевое оборудование различных производителей. И если оборудование класса Enterprise, такое как Cisco, Juniper, Extreme, HP и так далее, обычно обслуживается армией высококвалифицированных специалистов, которые постоянно проводят обновления и закрывают “дыры”, то с оборудованием класса SOHO (MikroTik, Netgear, TP-Link, Lynksys) дела, зачастую, обстоят совсем иначе. А ведь недостаточное внимание, уделяемое сетевому оборудованию, может нанести вред любому бизнесу.

В данной статье мы хотим рассказать о ещё одном крайне действенном способе защиты оборудования MikroTik, которое не потребует о вас больших усилий в настройке и будет само автоматически обновлять свою конфигурацию без вашего вмешательства.

Погружение в Iptables – теория и настройка

Начиная своё знакомство с iptables, следует рассказать про netfilter. Netfilter - это набор программных хуков внутри ядра Linux, которые позволяют модулям ядра регистрировать функции обратного вызова от стека сетевых протоколов.

Хук (hook) - это программный элемент, который позволяет перехватывать функции обратного вызова в чужих процессах.

Netfilter является основой для построения Firewall'а в дистрибутивах Linux, но для того, чтобы он заработал в полную силу его нужно настроить. Как раз с помощью iptables мы можем взаимодействовать с хуками Netfilter и создавать правила фильтрации, маршрутизации, изменения и транслирования пакетов. Иногда про Netfilter забывают и называют эту связку просто iptables.

Разбираемся с Jenkins. Что это?

Сегодня (да прямо сейчас) создается и производится множество различной организационной техники и гаджетов, которые не могут, и не будут работать правильно, без должного программного обеспечения. И тут понеслась

Давайте по порядку

Программное обеспечение (ПО) это программа или список программ, необходимых для работы компьютера или его устройств. Во как.

Каждый день создаются все новые и новые программы, игры, дополнения, обновления. Каждый день производятся различные устройства и гаджеты, различные звуковые и видеокарты, дисководы, принтеры, и прочие. Разумеется, данные устройства не смогут работать без соответствующего программного обеспечения, которое в свою очередь устаревает и требует обновления.

Как работать с регулярными выражениями

Чтобы начать наше знакомство с регулярными выражениями, давайте же познакомимся с ними поближе. Регулярные выражения являются шаблоном, каковой выполняет сравнение последовательности текста слева направо. Название "Регулярные выражения" используют довольно-таки не часто, чаще всего применяет regex либо regexp. В общем, регулярные выражения предназначены для изменения текста в строке, выполняет проверку некоторых форм, и так далее.

К примеру, у вас в разработке ведется некое приложение, и вам понадобилось выявить какие-то правила, по каковым юзер уже будет выбирать собственное наименование. Важным условием будет ограничение в количестве символах, а также чтобы имя состояло из букв, цифр, дефиса и нижнего подчеркивания. Для того, чтобы решить данную задачу, возможно использовать представленное ниже решение:

Syslog протокол - серверы, сообщения и безопасность

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

Большинство сетевых устройств, таких как маршрутизаторы и коммутаторы, могут отправлять сообщения системного журнала. Кроме того, серверы *nix также могут генерировать данные системного журнала, как и большинство брандмауэров, некоторые принтеры и даже веб-серверы, такие как Apache. Серверы на базе Windows изначально не поддерживают Syslog, но большое количество сторонних инструментов позволяет легко собирать данные журнала событий Windows или IIS и пересылать их на сервер Syslog.

Кто даст вам лучшее облачное хранилище?

В начале 80-ых годов XX века цена 1 гигабайта памяти стоило полмиллиона долларов! А сегодня самый бюджетный смартфон за 70-100 долларов имеет память равным минимум 8-ми гигабайтам.

Но в то время еще никто даже не предполагал, что в облаках в недалёком будущем можно будет хранить свои данные и не нужно будет везде тащить с собой дискеты, CD и DVD диски, флеш-карты и так далее и тому подобное.

В этом материале поговорим о продуктах различных компаний, которые предоставляют услугу облачного хранилища. Для начала облако это те же самые компьютеры, а точнее сервера в огромных дата-центрах, размещенных в разных уголках планеты. Как устроены эти центры обработки данных тема совсем другая. Но принцип работы схож с вашим домашним компьютером. Вы регистрируетесь на сайте компании и для вас создается учётная запись с выделенным по умолчанию объемом на дисках тех же серверов. Но в отличии от вашего компьютера, в этих ЦОД-ах все ваши данные резервируются и надежно (иногда не очень) охраняются разными системами безопасности поставщика услуг.

10 команд Linux, которые убьют ваш сервер

Привет! Еcли ты только начал осваивать Linux, то просто обязан знать то, что я сейчас тебе расскажу.

В Linux есть целых 10 команд, которые ты никогда не должен вводить в командную строку или советовать кому-нибудь это сделать.

Это как непростительные заклятия, которые не должен произносить ни один волшебник.

Их запуск может привести к самым негативным последствиям - безвозвратному удалению всей операционной системы или важных файлов, зацикливанию процессов и зависанию системы, заражению вредоносным кодом и другим неприятностям.

Разбираемся с Docker: установка и использование

Сегодня речь в статье пойдет о Docker. Все, кто хоть как-то касаются сферы IT слышали про Docker, но не все знают, что же это такое. Итак, сегодня мы простыми словами расскажем о том, что такое Docker, чем это отличается от виртуализации, покажем подробный процесс инсталляции на CentOS 7 и установим просто графический интерфейс Portainer, для управления контейнерами. Также немного коснемся команд для использования Docker.

DIY кнопка вызова. Raspberry Pi, MajorDoMo, Freeswitch и Linphonec

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

Возможно с небольшими переделками, совмещение VoIP телефонии с системой домашней автоматизации. Как варианты использования – SIP дверной звонок, интерком, система голосовой связи (клиент-персонал, директор-секретарь) и т.д.

Получаем ssl-сертификат. Letsencrypt в массы

Я тут как-то на целый год забил на свой блог (что, впрочем, не мешало мне графоманить в других местах, только за деньги, кхе). Но мануал дописать придется (треть-то я как-то смог написать).

Впрочем, оно может и к лучшему. За этот год letsencrypt вышел из закрытой беты, починил большинство багов (в частности, теперь его сертификаты валидны в XP), а главное — стал выдавать сертификаты всем желающим. Поэтому самоподписанные сертификаты никому не нужны (по крайней мере, для https).
Но вообще мне тупо лень писать очередную бесполезную статью про openssl + свой СА, поэтому я лучше напишу про letsencrypt.

«Телепортируем» белый ip-адрес на другой сервер при помощи ipip-туннеля

Совсем недавно я писал как «перенести» ip-адрес одной машины на другую машину. Само собой, трафик в описанном ранее случае, проходит через исходный сервер (и изменить это, не имея возможности полностью управлять своими адресами — невозможно). Но, класс задач, которые решает описанное мной решение, достаточно широк, в любом случае.

    Описанное ранее решение с pptp — максимально простое и подходящее для 95% случаев (кроме тех случаев, когда провайдер блокирует pptp/gre туннели). Но у него есть большой минус — pptp протокол в целом медлительный, сильно зависящий от процессора. Главный плюс же плюс pptp в данном контексте — отсутствие необходимости уже иметь выделенный адрес там, куда нужно «принести» другой адрес.

    Одним из «альтернативных» способов в данном случае выступает ipip-туннель. В отличии от pptp, здесь нет шифрования на уровне виртуальной сети — отсюда меньшая нагрузка на процессор. Скорость ipip-туннеля, само собой, из-за этого будет выше. То есть это уже эдакий enterprise-ready костыль.

Запускаем графические приложения на сервере без иксов с удаленным доступом к ним по VNC

Иногда возникает необходимость запускать графические приложения на сервере. Поднимать иксы из-за этого глупо. Дырка, ресурсы, иксы будут работать медленно на всяких Cyrus на 8 мб. А может и иксы не получится поднять вообще (ну нет нужных устройств в /dev, что поделаешь). С OpenVZ такое часто бывает.
У нас остается вариант использовать ssh -X. Но проброс иксов (кстати, в этом случае не обязательно на сервере иметь запущенным X-сервер) может работать медленно и у нас не получится запустить приложение в фоне (если уж быть совсем занудой, то получится, но с матами и этому будет посвящен отдельный трактат). В общем для запуска браузера на быстром коннекте подойдет, но не более.

Собираем свой debian-пакет с файлами

Приветствую всех. Когда-то давно я писал мануал про сборку пакета. Описанный там способ страшноват, хоть и работает.
Сейчас у меня появилось время вернуться к этой теме и написать, как более или менее правильно собирать свои deb-пакеты — с подписями пакетов, своими репозиториями и всем подобным. Заодно я затрону тему того, что такое deb-пакеты изнутри и расскажу про механику использования dpkg/apt.

Первая статья, само собой — сборка своего deb-пакета из ничего. Такие пакеты будут очень полезны для того, чтобы деплоить свою конфигурацию — вы из коробки получаете контроль версий установленной конфигурации на машине. Штатными средствами системы можно будет быстро откатиться на старую версию пакета. Легче обновляться, легче деплоить на несколько машин. И так далее. Бла-бла-бла.
На одном из своих выступлений я рассказывал о том, что именно deb-пакетами деплоится конфигурация машин и самописный софт (в том числе и сервисы) в Яндексе. Конечно, не во всех отделах, но все стараются двигаться к этому.

Быстрый проброс портов на шлюзе во внутреннюю сеть или на другой хост

Есть у меня статейка про то, как NAT’ить отдельные порты на другую машину. Как-то я её написал и забыл. А на самом деле использую утилиту rinetd. Во-первых проще, во-вторых утилита — отдельный демон и работает шустрее iptables. Минус в однопоточности. DDoS в 100к pps такой штукой отмаршрутизировать ещё можно, но дальше начнутся проблемы. С другой стороны, там, где летает 100к пакетов в секунду и iptables будет задумчиво перекидывать пакеты (хоть и в несколько потоков).
Через rinetd нельзя пробросить FTP, не пытайтесь.

Тестируем 1С на VPS

Как вы уже знаете, мы запустили новую услугу VPS с предустановленной 1С. В прошлой статье вы задали много технических вопросов в комментариях, сделали несколько ценных замечаний. Оно и понятно — каждый из нас хочет иметь какие-то гарантии и расчёты на руках, чтобы принять решение об изменении IT-инфраструктуры компании. Мы прислушались к голосу Хабра и решили провести тестирование реального железа офисного хлама, который вполне возможно служит вашим сервером 1С и сравнить их с виртуальными серверами.

Cisco SPA IP Phone

Телефонные аппараты могут получать свои настройки, читая конфигурационные файлы. Для того, чтобы телефоны получали конфигурационные файлы автоматически при загрузке, DHCP сервер должен выдавать опцию 66 с указанием IP адреса TFTP сервера (DHCP опция 66 указывает на TFTP сервер в сети). Помимо этого, в настройках телефонов нужно указать протокол поиска конфигурационных файлов TFTP. Для этого нужно зайти в настройки телефонного аппарата Admin → Advanced → Provisioning и изменить параметр Transport protocol на tftp.

Знакомство с виртуальными интерфейсами Linux: туннели

Linux поддерживает множество видов туннелей. Это запутывает новичков, которым бывает сложно разобраться в различиях технологий, и понять то, каким туннелем лучше воспользоваться в конкретной ситуации. В материале, перевод которого мы сегодня публикуем, будет дан краткий обзор часто используемых туннельных интерфейсов ядра Linux. Сильно углубляться в эту тему мы не будем, рассмотрев лишь общие особенности туннелей и варианты их использования в Linux.

Asterisk + UniMRCP + VoiceNavigator. Синтез и распознавание речи в Asterisk

Учитывая, возросший интерес сообщества к Asterisk решил внести и свою лепту и рассказать о построении голосовых меню с использованием синтеза и распознавания речи.

Статья рассчитана на специалистов, имеющих опыт работы с построением IVR в Asterisk и имеющих представление о системах голосового самообслуживания.

СГС (системы голосового самообслуживания) значительно расширяют возможности по созданию голосовых приложений и позволяют пользователю получать информацию и заказывать услуги самостоятельно, без участия оператора.

Магия виртуализации: вводный курс в Proxmox VE

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

Zabbix + Pushbullet: простой способ push-оповещения

У нас на предприятии, основным способом оповещения о событиях системы мониторинга Zabbix является email-рассылка. Jabber не прижился ввиду малой распространенности, а СМС устарел (хоть и весьма универсален). Хотелось предложить ещё одну альтернативу, которой и стали push-уведомления.

Сервис Pushbullet уже успел сделать себе имя на платформе Android, а с недавних пор пытается покорить и iOS. Pushbullet умеет слать «пуши» на телефоны, принимать их в браузере (Chrome и Firefox) и из него же снова отправлять. В общем очень удобный и полезный сервис, который плюс ко всему имеет открытый API. Посредством этого API мы и будем отправлять события Zabbix на телефоны сотрудников.

Who's online

There are currently 1 user and 1 guest online.
Syndicate content