-
-
Notifications
You must be signed in to change notification settings - Fork 251
Test HOMER in Kubernetes environment
As deploying HOMER over Kubernetes is becoming the preferred choice by the community, this wiki is intended to guide you through the process of testing your HOMER deployment, post-install or whenever needed, in case the traffic cannot be forwarded to the HOMER Capture Server for analysis. The goal is being able to push some fake traffic to HOMER and be able to visualize into HOMER-App for an end-to-end testing.
For this purpose the Kubernetes HOMER instance will need to include:
- A custom SIPP deployment, to be used as custom SIP generator.
- An heplify sidecar container on the SIPP pod, to convert the custom SIP traffic to HEP and send to the HOMER Capture Server (heplify-server).
- Kubernetes cluster with admin privileges on your local machine.
- kubectl on your machine.
- HOMER Capture Server running on Kubernetes on a customer defined namespace.
Setup a small and simple test environment deploying a custom SIPP image on the same namespace in which HOMER is deployed.
You can either use the qxip/autosip or you can build your own SIPP image preloaded with the desired simulated SIP flow scenarios.
kubectl create deploy -n <HOMER_namespace> sipp-demo --image qxip/autosipp --replicas=1
Verify the SIPP pod is running
kubectl get pods
The SIPP custom image should be up and running by now. Let’s proceed on updating and patching our setup.
With a patch file, patching the SIPP deployment, we will inject an heplify agent container into the pod.
Make sure to update the container env (HEP_SERVER and HEP_PROTO) to align with the existing heplify-server instance configuration.
cat <<EOF >patch.yaml
spec:
template:
spec:
containers:
- name: heplify
image: sipcapture/heplify
env:
- name: HEP_SERVER
value: "homer:9060"
- name: HEP_PROTO
value: "udp"
command: ["./heplify", "-hs", "$(HEP_SERVER)", "-nt", "$(HEP_PROTO)"]
EOF
Now apply the patch.yaml file
kubectl patch deployment sipp-demo --patch-file /absolute/path/to/patchFile/patch.yaml
- a new SIPP pod should start and the old pod should be automatically terminated
- the new pod have eventually 2/2 running containers
In some cases you might need to manually delete the old pod. Check with kubectl get pod -n <Namespace> which pods are running and delete the original one configured with a single container.
- Access your HEP server and verify HEP traffic is received
- Attach to the console of the first pod to check for errors or output
kubectl attach deploy/sipp-demo
If the two new containers are not showing any error, the test traffic should be already available on the Homer UI.
(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:
