How to install Homer using yum command.

What is Homer?

Normally, If VoIP engineer would like to analyse packets, what kind of tools do you use?
Using Wireshark or sngrep? or just read messages log?
Homer is very useful tool for VoIP engineer like you.

https://sipcapture.org/
https://github.com/sipcapture/homer/wiki

Homer is work on Web browser.
It’s open source software.
It able to showing lists of CDRs and displaying SIP flow for each call.
And you can see raw SIP packet for each call from browser.


Many open source VoIP softwares like OpenSIPS and Asterisk support Homer.
It will send SIP packets as hep format from their VoIP software to Homer and Homer collection it.
we can see it on web browser easily.

There are way for convert logs to hep format from proprietary product like Cisco, Avaya, Genesys if you need. Please check github.

Install Homer

There are 3 ways for install Homer.

1. using yum command it’s traditional way.
2. using installer scripts.
3. using Docker.

This article explain 1st one that using yum on Rocky Linux 8.

Add repository

curl -s https://packagecloud.io/install/repositories/qxip/sipcapture/script.rpm.sh | sudo bash

If run this script, made repo file qxip_sipcapture.repo on /etc/yum.repos.d

Install each components

sudo yum install epel-release

heplify-server requires package for LuaJIT.
Using epel repository for install luajit.

sudo yum install heplify
sudo yum install heplify-server
sudo yum install homer-app

install PostgreSQL

Install PostgreSQL.
https://www.postgresql.org/download/linux/redhat/

Create user, DB and setting

If run script that according manual for create Homer DBs, it will failed. because no set password for user postgres.
You need to change setup command.

postgres=# CREATE ROLE homer_user Superuser;
postgres=# ALTER ROLE homer_user WITH PASSWORD ‘postgres’;
postgres=# ALTER ROLE homer_user LOGIN;
sudo homer-app -create-config-db -database-root-user=homer_user -database-host=localhost -database-root-password=postgres -database-homer-user=homer_user
sudo homer-app -create-data-db -database-root-user=homer_user -database-host=localhost -database-root-password=postgres -database-homer-user=homer_user

Run scripts for create DBs.

postgres=#  \l
List of databases
Name     |   Owner    | Encoding |   Collate   |    Ctype    | ICU Locale | Locale Provider |     Access privileges
--------------+------------+----------+-------------+-------------+------------+-----------------+---------------------------
homer_config | homer_user | UTF8     | en_US.UTF-8 | en_US.UTF-8 |            | libc            |
homer_data   | homer_user | UTF8     | en_US.UTF-8 | en_US.UTF-8 |            | libc            | =Tc/homer_user           +
|            |          |             |             |            |                 | homer_user=CTc/homer_user

There are 2 DBs, homer_config and homer_data.

sudo vi /usr/local/homer/etc/webapp_config.json
.
“database_config”: {
“help”: “Settings for PGSQL Database (settings)”,
“host”: “localhost”,
“keepalive”: true,
“name”: “homer_config”,
“node”: “LocalConfig”,
“pass”: “postgres”,
“user”: “homer_user”
},
“database_data”: {
“localnode”: {
“help”: “Settings for PGSQL Database (data)”,
“host”: “127.0.0.1”,
“keepalive”: true,
“name”: “homer_data”,
“node”: “LocalNode”,
“pass”: “postgres”,
“user”: “homer_user”
}

change pass from “homer_password” to “postgres”.

sudo homer-app -create-table-db-config
sudo homer-app -populate-table-db-config
sudo homer-app -upgrade-table-db-config

Create Tables, Populate defaults, Upgrade.

sudo systemctl start heplify-server
sudo systemctl start homer-app
sudo systemctl enable heplify-server
sudo systemctl enable homer-app

start services.

FATAL:  password authentication failed for user “postgres”

an error on log of PosrgreSQL on /var/lib/pgsql/15/data/log.

vi sudo /etc/heplify-server.toml
DBUser                = “homer_user”
DBPass                = “postgres”

Login

You can access with http://<IP ADDRESS>:9080
admin / sipcapture

If setting done that send hep from SIP server to Homer you can see SIP flow and SIP message from GUI.

TwitterFacebookLinkedInHatenaPocketCopy Link