kamailio-tricksKamailio has two modules that is specially adopted for use with a 3rd party Open Source software – Homer SIPcapture.  Homer was awarded a Kamailio Award last year for it’s unique innovation. With Kamailio and Homer, you can capture SIP messages from a running Kamailio production server or from a mirrored port in a switch in your network. What do you get? A searchable database of your SIP traffic and easy to understand visual diagrams of individual SIP sessions. All in a web interface powered by a database of your traffic.

Two components – sender and receiver

Homer has two major components. The packet sender captures traffic and forwards to a receiver. You can use Kamailio in both places, but you can also enable a sender within FreeSwitch as well as use the Homer capture sender that reads off a network interface and sends to the receiver. To use the Homer software with Kamailio, you need a database server (with capacity to handle your traffic) and a web server with PHP support.

Overview of Kamailio and Homer working together. TO the left is a production server with users placing calls. Copies of the messages are sent to the server on the right, that captures them and displays call flows.

Overview of Kamailio and Homer working together. TO the left is a production server with users placing calls. Copies of the messages are sent to the server on the right, that captures them and displays call flows.

Sender: The SIPtrace module

In Kamailio, the sender is part of the SIPtrace module.  By enabling this module in your Kamailio, you can mark individual SIP messages – requests and responses – for capturing. SIPtrace can be used standalone to store all SIP messages directly in a SQL database. By using the Homer protocol, HEP, the message is copied and sent over the network to another Kamailio server. Many Kamailio servers (as well as other platforms) can send to the same receiver.

Receiver: The SIPcapture module

The SIPcapture module is the receiving part. This module is written by the Homer team and contributed to Kamailio. The module listens to traffic and saves incoming messages to the database. You can filter which messages you want to save in a normal Kamailio routing script. It is recommended that this is a standalone Kamailio, propably running on your backend network with a very simple configuration and a fast database. The Homer documentation has a lot of good advice.

Video demonstration

To learn more about the Homer web interface, watch this video:

 

To learn more: