Установка системы для захвата, анализа и мониторинга SIP и RTCP-трафика Homer 5.
Homer — это бесплатное решение, предназначенное для захвата, анализа и мониторинга SIP и RTCP-трафика с широкими возможностями масштабирования способное обрабатывать большие объёмы трафика свойственные VoIP-операторам малого или среднего размера. Эта система призвана облегчить инженерам поиск и устранение неисправностей в VoIP-сетях при помощи мощного анализа и визуализации SIP-диалогов между узлами и детальный просмотр всех SIP-сообщений. Решение позволяет сохранять выгружать SIP-трейсы вызовов в виде pcap дампов или текстовых файлов. Еще одним преимуществом решения является возможность разнесения компонентов системы по разным узлам, что позволяет масштабировать систему. Все описанные действия в статье необходимо выполнять от имени суперпользователя (root). Установка и настройка производилась на предустановленной системе CentOS 6.8 + Asterisk 13 + FreePBX 13.
1. Выполним подключение по SSH к серверу IP АТС Asterisk для выполнения дальнейшей настройки. В зависимости от используемой системы(Windows, Linux, MacOS), подключение по SSH можно выполнить с использованием различного дополнительного программного обеспечения(Putty), либо системного терминала.
Внимание, при авторизации на сервере, пароль в консоли не отображается.
- 2. Выполним проверку активности Selinux, в случае если активен, то выполним отключение:
# sestatus
# sed -i ‘s/(^SELINUX=).*/SELINUX=disabled/’ /etc/selinux/config
SELinux (Security Enhanced Linux) — это система безопасности основанная на моделях мандатного и ролевого доступа. SELinux реализована как компонент ядра Linux начиная с версии ядра 2.6.
3. Установим демон синхронизации времени и произведем установку корректного часового пояса:
# yum install ntp
# chkconfig ntpd on
# tzselect
4. Прежде чем приступать к установке Homer 5, необходимо установить ряд зависимостей:
# yum -y install epel-release
# yum -y install git nano gcc bison pcre-devel libpcap-devel flex GeoIP-devel
Если установка Homer 5 будет производиться на выделенный сервер или на сервер без FreePBX, то так же необходимо будет выполнить установку следующих зависимостей:
# yum -y install httpd mariadb mariadb-server mariadb-devel php php-mysql
5. Приступим к установке Homer 5. Для этого в SSH консоли выполним ряд команд вида:
# cd /usr/src/
# git clone https://github.com/sipcapture/homer-ui.git
# git clone https://github.com/sipcapture/homer-api.git
# git clone https://github.com/sipcapture/homer-config.git
6. Выполним изменение дефолтных паролей доступа:
# nano /usr/src/homer-api/api/configuration_example.php
где ключевыми параметрами для изменения является:
DB_USERNAME — имя пользователя для подключения к БД MySQL
DB_PASSWORD – пароль пользователя для подключения к БД MySQL
# nano /usr/src/homer-api/sql/mysql/homer_user.sql
где ключевыми параметрами для изменения является:
homer_user — имя пользователя для подключения к БД MySQL(указанное на прошлом шаге)
homer_password — пароль пользователя для подключения к БД MySQL(указанное на прошлом шаге)
7. Выполним копирование файлов web интерфейса Homer 5 в директорию Apache:
cp -R /usr/src/homer-ui /var/www/html
cp -R /usr/src/homer-api/api /var/www/html/homer-ui/api
8. Для корректной работы с БД MySQL, а так же ротации данных необходимо выполнить следующие действия:
# mkdir /opt/homer
# cp /usr/src/homer-api/scripts/mysql/* /opt/homer
# chmod +x /opt/homer/*
9. Выполним редактирование конфигурационного файла ротации данных:
# nano /opt/homer/rotation.ini
где ключевыми параметрами для изменения является:
user — имя пользователя для подключения к БД MySQL(указанное на шаге 6-том)
password — пароль пользователя для подключения к БД MySQL(указанное на шаге 6-том)
10. Переименуем конфигурационные файлы в WEB директории:<
# cd /var/www/html/homer-ui/api
# mv preferences_example.php preferences.php
# mv configuration_example.php configuration.php
11. Отредактируем конфигурационный файл API подключения:
# nano /var/www/html/homer-ui/api/preferences.php
где ключевыми параметрами для изменения является:
RTCP_TABLE_PARTITION — необходимо изменить на «1»
REMOTE_LOG_URL — необходимо указать IP сервера на который производится установка Homer 5
EXTERNAL_AUTH_URI — необходимо указать IP сервера на который производится установка Homer 5
12. Изменим в конфигурационном файле директорию расположения сокета MySQL:
# sed -i «s/run/mysqld/mysqld.sock/lib/mysql/mysql.sock/g» /opt/homer/rotation.ini
- 13. Выполним создание базы данных:
# cd /usr/src/homer-api/sql/mysql
# mysql -u root -p < homer_databases.sql
# mysql -u root -p < homer_user.sql
# mysql -u root -p homer_data < schema_data.sql
# mysql -u root -p homer_configuration < schema_configuration.sql
# mysql -u root -p homer_statistic < schema_statistic.sql
Во время создание базы данных потребуется ввести пароль root пользователя.
-
- 14. Добавим в Crontab скрипт ротации для возможности начала сбора данных:
# crontab -e
Добавим следующую строку:
30 3 * * * root /opt/homer/homer_mysql_rotate > /dev/null 2>&1
15. Добавим виртуальный хост в настройки Apache:
# nano /etc/httpd/conf.d/homer.conf
Внесем следующие строки:
<VirtualHost *:80>
ServerName homer
# Indexes + Directory Root.
DirectoryIndex index.php index.html index.htm
DocumentRoot /var/www/html/homer-ui
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/html/homer-ui >
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>
# service httpd restart
-
-
-
-
-
-
-
16.Выполним проверку доступности WEB интерфейса Homer 5, для этого необходимо перейти в интернет обозревателе(Opera, Google Chrome, Firefox….) по ссылке вида: http://IP_адрес_сервера_homer и пройти авторизацию(по умолчанию Логин: admin Пароль: test123) …. В нашем примере ссылка будет иметь вид http://192.168.170.157:8080
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 17.Для начала сбора данных и отображения их в WEB панели Homer необходимо выполнить установку CapAgent:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 18.Произведем настройку CapAgent:
# /usr/local/captagent/etc/captagent/socket_pcap.xml
где ключевыми параметрами для изменения является:
Включить в секции «RTCP Socket» enable=true
Задать имя сетевого интерфейса name=»dev» value=»eth0« или оставить any в случае использования нескольких сетевых интерфейсов.# nano /usr/local/captagent/etc/captagent/transport_hep.xml
где ключевыми параметрами для изменения является:
Задать IP адрес сервера Homer 5: name=»capture-host» value=»192.168.170.157″
Задать порт подключения: name=»capture-port» value=»9020″-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 19.Для работы с CapAgent, как со службой выполним следующие действия:
cp /usr/src/captagent/init/el/6/captagent.init /etc/init.d/captagent
cp /usr/src/captagent/init/el/captagent.sysconfig /etc/sysconfig/captagent
chmod 755 /etc/init.d/captagent
chkconfig —add captagent
chkconfig captagent on
service captagent start -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
# yum -y install git gcc json-c-devel expat-devel libpcap-devel flex-devel automake libtool bison flex libuv-devel
# cd /usr/src
# git clone https://github.com/sipcapture/captagent.git
# cd captagent
# ./build.sh
# ./configure
# make && make installHomer 5 для сбора данных использует протокол Universal Homer Encapsulation Protocol (HEP), который можно активировать в следующем ПО: Asterisk 12+ (только для PJSIP), Freeswitch, Kamailio, OpenSIPS.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
16.Выполним проверку доступности WEB интерфейса Homer 5, для этого необходимо перейти в интернет обозревателе(Opera, Google Chrome, Firefox….) по ссылке вида: http://IP_адрес_сервера_homer и пройти авторизацию(по умолчанию Логин: admin Пароль: test123) …. В нашем примере ссылка будет иметь вид http://192.168.170.157:8080
-
-
-
-
-
Остались вопросы?
Я - Компаниец Никита, менеджер компании Voxlink. Хотите уточнить детали или готовы оставить заявку? Укажите номер телефона, я перезвоню в течение 3-х секунд.
категории
- DECT
- Linux
- Вспомогательный софт при работе с Asterisk
- Интеграция с CRM и другими системами
- Интеграция с другими АТС
- Использование Elastix
- Использование FreePBX
- Книга
- Мониторинг и траблшутинг
- Настройка Asterisk
- Настройка IP-телефонов
- Настройка VoIP-оборудования
- Новости и Статьи
- Подключение операторов связи
- Разработка под Asterisk
- Установка Asterisk
VoIP оборудование
ближайшие курсы
Новые статьи
10 доводов в пользу Asterisk
Распространяется бесплатно.
Asterisk – программное обеспечение с открытым исходным кодом, распространяется по лицензии GPL. Следовательно, установив один раз Asterisk вам не придется дополнительно платить за новых абонентов, подключение новых транков, расширение функционала и прочие лицензии. Это приближает стоимость владения станцией к нулю.
Безопасен в использовании.
Любое программное обеспечение может стать объектом интереса злоумышленников, в том числе телефонная станция. Однако, сам Asterisk, а также операционная система, на которой он работает, дают множество инструментов защиты от любых атак. При грамотной настройке безопасности у злоумышленников нет никаких шансов попасть на станцию.
Надежен в эксплуатации.
Время работы серверов некоторых наших клиентов исчисляется годами. Это значит, что Asterisk работает несколько лет, ему не требуются никакие перезагрузки или принудительные отключения. А еще это говорит о том, что в районе отличная ситуация с электроэнергией, но это уже не заслуга Asterisk.
Гибкий в настройке.
Зачастую возможности Asterisk ограничивает только фантазия пользователя. Ни один конструктор шаблонов не сравнится с Asterisk по гибкости настройки. Это позволяет решать с помощью Asterisk любые бизнес задачи, даже те, в которых выбор в его пользу не кажется изначально очевидным.
Имеет огромный функционал.
Во многом именно Asterisk показал какой должна быть современная телефонная станция. За многие годы развития функциональность Asterisk расширилась, а все основные возможности по-прежнему доступны бесплатно сразу после установки.
Интегрируется с любыми системами.
То, что Asterisk не умеет сам, он позволяет реализовать за счет интеграции. Это могут быть интеграции с коммерческими телефонными станциями, CRM, ERP системами, биллингом, сервисами колл-трекинга, колл-бэка и модулями статистики и аналитики.
Позволяет телефонизировать офис за считанные часы.
В нашей практике были проекты, реализованные за один рабочий день. Это значит, что утром к нам обращался клиент, а уже через несколько часов он пользовался новой IP-АТС. Безусловно, такая скорость редкость, ведь АТС – инструмент зарабатывания денег для многих компаний и спешка во внедрении не уместна. Но в случае острой необходимости Asterisk готов к быстрому старту.
Отличная масштабируемость.
Очень утомительно постоянно возвращаться к одному и тому же вопросу. Такое часто бывает в случае некачественного исполнения работ или выбора заведомо неподходящего бизнес-решения. С Asterisk точно не будет такой проблемы! Телефонная станция, построенная на Asterisk может быть масштабируема до немыслимых размеров. Главное – правильно подобрать оборудование.
Повышает управляемость бизнеса.
Asterisk дает не просто набор полезных функций, он повышает управляемость организации, качества и комфортности управления, а также увеличивает прозрачность бизнеса для руководства. Достичь этого можно, например, за счет автоматизации отчетов, подключения бота в Telegram, санкционированного доступа к станции из любой точки мира.
Снижает расходы на связь.
Связь между внутренними абонентами IP-АТС бесплатна всегда, независимо от их географического расположения. Также к Asterisk можно подключить любых операторов телефонии, в том числе GSM сим-карты и настроить маршрутизацию вызовов по наиболее выгодному тарифу. Всё это позволяет экономить с первых минут пользования станцией.