-
-
Notifications
You must be signed in to change notification settings - Fork 246
webHomer settings
Before you can start using HOMER, a few things need to be configured.
webHomer ships with two example configuration files (configuration_example.php and preferences_example.php) that need to be filled in by the administrator and renamed before use.
Insert the minimum DB access details in "configuration.php":
/* Access db of homer users */
define(HOST, "localhost");
define(USER, "root");
define(PW, "password");
define(DB, "homer_users");
Also define username and password for HOMER SIP Capture DB. This user must be defined in all your nodes DB. Don't forget to insert all your database nodes into homer_nodes table.
Configure the proper details in "configuration.php":
/* Homer connection
* this user must have the same password for all Homer nodes
* please define all your nodes in homer_nodes table
*/
define(HOMER_HOST, "localhost"); /* DEFAULT. Don't forget insert this host to your DB nodes table */
define(HOMER_USER, "homer_users");
define(HOMER_PW, "homer_password");
define(HOMER_DB, "homer_db");
define(HOMER_TABLE, "sip_capture");
The application also needs a temporary folder to store its generated files. Configure full write permissions to the /tmp folder inside webHomer root and configure the following parameters accordingly in "configuration.php":
PCAPDIR - this directory will be used to store temporary pcap files and call flow SVG/HTMLs. Must be absolute path and must reflect the location of the webhomer folder from GIT. THIS FOLDER MUST BE WRITEABLE!
WEBPCAPLOC - web location of PCAPDIR. (If the URL for your PCAPDIR is http://domain.com/webhomer/tmp, then this should be set to /webhomer/tmp).
/* Settings
*
*/
/* here */
define(PCAPDIR,"/var/www/webhomer/tmp/");
define(WEBPCAPLOC,"/webhomer/tmp/");
define(APILOC,"/webhomer/api/");
A number of customizable, non critical parameters such as timezones and modules, and user interface preferences are set separately in "preferences.php" - rename the example file and set your preferences accordingly.
Remove the default user and add your own accounts (permission/levels in preferences.php)
Homer can function using one or more database nodes
Make sure the node name value defined in your Kamailio capture node script is correctly reflected in ADMIN > DB Nodes with a properly configured entry.
modparam("sipcapture", "capture_node", "node1");
Without this parameter, some search filtering options might not work as intended!
Basic example with 1 Node and 2 Capture Agents:
CaptAgent hep-id: 111 -----> [NODE1] <----- CaptAgent hep-id: 222
HOMER Search-Filtering options:
ALL TRAFFIC - node1
AGENT1 ONLY - node1:111
AGENT2 ONLY - node1:222
etc...
This feature is used in Call-Flow generators to convert IP addresses to Hostnames, and more importantly to correlate traffic to gateways with multiple iterfaces (public/private) or networks (ipv4/ipv6)
Soft-Switch Public IP: AA.BB.CC.DD
Soft-Switch Private IP: EE.FF.GG.HH
Soft-Switch IPv6: III::LLLL:MMMM:NNNN:OOOO
In Homer add several ALIASES with the exact same NAME:
IP: AA.BB.CC.DD
NAME: SWITCH1
STATUS: 1
IP: EE.FF.GG.HH
NAME: SWITCH1
STATUS: 1
IP: [III::LLLL:MMMM:NNNN:OOOO]
NAME: SWITCH1
STATUS: 1
In order for HOMER to identify and correlated messages between internal Hosts using IP:PORT schema, change the following in webhomer/preferences.php:
define('CFLOW_HPORT', 2); /* Column/Host Mode = Plain: 0, +Port: 1, Auto-Select: 2 */
In order for HOMER to visually merge messages between Internal and External CE services, create the following ALIASES via UI (Browse: WebHomer > Admin > Aliases > New):
HOST NAME
----------------------- -----------
{external_IP}:5060 NGCP-LB
127.0.0.1:5060 NGCP-LB
127.0.0.1:5062 NGCP-Proxy
127.0.0.1:5080 NGCP-B2BUA
NOTE: NAME field for internal & external LBs (5060) MUST BE IDENTICAL to correlate!
If your system uses other custom IPs or Interfaces, follow the same logic above to add them.
In order for HOMER to correlate call legs forked by the SPCE B2BUA, set the following in webhomer/preferences.php:
/* BLEG DETECTION */
define('BLEGDETECT', 1); /* always detect BLEG leg in CFLOW/PCAP*/
define('BLEGCID', "b2b"); /* options: x-cid, b2b */
define('BLEGTAIL', "_b2b-1"); /* session-ID correlation suffix for SPCE b2b mode */
webHomer (and HOMER in general) is designed to be deployed on a private, well protected network segment and it's not intended to be bare facing public access. Please make sure you protect/firewall/ACL your capture setup properly!
(C) 2008-2023 QXIP BV
HEP/EEP Agent Examples:
- CaptAgent
- HEPlify
- Kamailio
- OpenSIPS
- FreeSwitch
- Asterisk
- sipgrep
- sngrep
- RTPEngine
- RTPProxy
- Oracle ACME SBC
- Sonus SBC
- Avaya SM
- Sansay SBC
HEP/EEP Agent Examples (LOGS):
HEP/EEP Proxy:
Extra Examples:
- Custom JSON Stats
- RTCP-XR Stats
- GEO IP Maps
- Janus/Meetecho-WebRTC
- Cloudshark Export
- Encrypted HEP Tunneling
- SNMP Monitoring
- FreeSWITCH ESL Monitoring
- Kazoo Monitoring
- Speech-to-Text-to-HEP
Extra Resources: