This repository provides a generic OpenSIPS HEP Switching capable container image for rapid development and prototyping of HEP playgrounds. Presented methods are suitable for production usage when properly configured.
For an in-depth explanation of the techniques and features used in this demo, please refer to this post on the opensips blog
Automated builds of the image are usually available on DockerHub
$ docker pull qxip/docker-hepswitch
HEP Switch allows users to route/fork/balance HEP UDP/TCP packets across multiple HOMER deployments, based on Type and SIP content using the full power and speed of OpenSIPS just like they would with regular SIP messages.
route{
xlog("L_DEBUG","Request $rm from $si with domain $rd");
/* Conditional HEP Routing based on Source IP */
if ($si == "10.20.30.40" || $rd == "qxip.net")
{
$du="sip:10.0.0.1:9060";
hep_relay();
} else {
$du="sip:10.0.0.2:9060";
hep_relay();
}
}
Use docker-compose to manage the container status
$ docker-compose up
The HEP Switch configuration can be modified and OpenSIPS restarted while running containers
vi /usr/local/etc/opensips/opensips.cfg
opensipsctl reload