artem
14.11.2018
13064

Установка системы для захвата, анализа и мониторинга SIP и RTCP-трафика Homer 5.

Homer — это бесплатное решение, предназначенное для захвата, анализа и мониторинга SIP и RTCP-трафика с широкими возможностями масштабирования способное обрабатывать большие объёмы трафика свойственные VoIP-операторам малого или среднего размера. Эта система призвана облегчить инженерам поиск и устранение неисправностей в VoIP-сетях при помощи мощного анализа и визуализации SIP-диалогов между узлами и детальный просмотр всех SIP-сообщений. Решение позволяет сохранять выгружать SIP-трейсы вызовов в виде pcap дампов или текстовых файлов. Еще одним преимуществом решения является возможность разнесения компонентов системы по разным узлам, что позволяет масштабировать систему. Все описанные действия в статье необходимо выполнять от имени суперпользователя (root). Установка и настройка производилась на предустановленной системе CentOS 6.8 + Asterisk 13 + FreePBX 13.

SIP и RTCP-трафик Homer 5

1. Выполним подключение по SSH к серверу IP АТС Asterisk для выполнения дальнейшей настройки. В зависимости от используемой системы(Windows, Linux, MacOS), подключение по SSH можно выполнить с использованием различного дополнительного программного обеспечения(Putty), либо системного терминала.

Подключение по SSH через Putty

Авторизация на сервере.

Внимание, при авторизации на сервере, пароль в консоли не отображается.

SSH консоль подключения

  1. 2. Выполним проверку активности Selinux, в случае если активен, то выполним отключение:

# sestatus

# sed -i ‘s/(^SELINUX=).*/SELINUX=disabled/’ /etc/selinux/config

SELinux (Security Enhanced Linux) — это система безопасности основанная на моделях мандатного и ролевого доступа. SELinux реализована как компонент ядра Linux начиная с версии ядра 2.6.

Отключение Selinux
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

Подключение Epel репозитория

Установка зависимостей

Если установка 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


Скачивание Homer 5 из репозитория

6. Выполним изменение дефолтных паролей доступа:
# nano /usr/src/homer-api/api/configuration_example.php

где ключевыми параметрами для изменения является:
DB_USERNAME — имя пользователя для подключения к БД MySQL
DB_PASSWORD – пароль пользователя  для подключения к БД MySQL

Редактирование конфигурационного файла Homer 5

# nano /usr/src/homer-api/sql/mysql/homer_user.sql

где ключевыми параметрами для изменения является:
homer_user —  имя пользователя для подключения к БД MySQL(указанное на прошлом шаге)
homer_password — пароль пользователя  для подключения к БД MySQL(указанное на прошлом шаге)
Редактирование файла создания пользователя и БД MySQL

Редактирование файла создания пользователя и БД 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

Копирование web директории
8. Для корректной работы с БД MySQL, а так же ротации данных необходимо выполнить следующие действия:

# mkdir /opt/homer
# cp /usr/src/homer-api/scripts/mysql/* /opt/homer
# chmod +x /opt/homer/*

Копирование файлов ротации Homer 5
9. Выполним редактирование конфигурационного файла ротации данных:
# nano /opt/homer/rotation.ini

где ключевыми параметрами для изменения является:
user — имя пользователя для подключения к БД MySQL(указанное на шаге 6-том)
password —  пароль пользователя  для подключения к БД MySQL(указанное на шаге 6-том)
Редактирование настроек подключение к БД MySQL

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

Изменения директории расположения сокета MySQL

    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 пользователя.

    1. 14. Добавим в Crontab скрипт ротации для возможности начала сбора данных:

# crontab -e

Добавим следующую строку:

30 3 * * * root /opt/homer/homer_mysql_rotate > /dev/null 2>&1

Добавление скрипта ротации в Crontab

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

Применение изменений конфигураций Apache

              1. 16.Выполним проверку доступности WEB интерфейса Homer 5, для этого необходимо перейти в интернет обозревателе(Opera, Google Chrome, Firefox….) по ссылке вида: http://IP_адрес_сервера_homer и пройти авторизацию(по умолчанию Логин: admin Пароль: test123) …. В нашем примере ссылка будет иметь вид http://192.168.170.157:8080

                WEB интрефейс Homer 5

                WEB интрефейс Homer 5

                                                              1. 17.Для начала сбора данных и отображения их в WEB панели Homer необходимо выполнить установку CapAgent:
                                                            1. # 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 install


                                                              Установка зависимостей

                                                              Скачивание и конфигурирование CapAgent

                                                              Скачивание и конфигурирование CapAgent

                                                              Homer 5 для сбора данных использует протокол Universal Homer Encapsulation Protocol (HEP), который можно активировать в следующем ПО: Asterisk 12+ (только для PJSIP), Freeswitch, Kamailio, OpenSIPS.

                                                                                                          1. 18.Произведем настройку CapAgent:

                                                                                                          # /usr/local/captagent/etc/captagent/socket_pcap.xml

                                                                                                          где ключевыми параметрами для изменения является:
                                                                                                          Включить в секции «RTCP Socket» enable=true
                                                                                                          Задать имя сетевого интерфейса name=»dev» value=»eth0« или оставить any в случае использования нескольких сетевых интерфейсов.

                                                                                                          Настройка CapAgent

                                                                                                          # 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″


                                                                                                          Настройка CapAgent

                                                                                                                                                        1. 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


                                                                                                                                                      Настройка CapAgent

Книга 101 функция Asterisk
Познакомьтесь с возможностями Asterisk. Найдите инструменты, которые помогут вашей компании развиваться.
Скачать книгу
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии

Остались вопросы?

Я - Кондрашин Игорь, менеджер компании Voxlink. Хотите уточнить детали или готовы оставить заявку? Укажите номер телефона, я перезвоню в течение 3-х секунд.

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 сим-карты и настроить маршрутизацию вызовов по наиболее выгодному тарифу. Всё это позволяет экономить с первых минут пользования станцией.