Kamailio Websocket – Allowing binding to Port 443 & Port 80

If you’re setting up Kamailio for support for WebSocket and need to bind to TCP port 80 or TCP port 443, you may run into the issue that permission is denied to bind to these ports when you try and start the service. On Ubuntu, you can fix this with: sudo setcap ‘cap_net_bind_service=+ep’ /usr/sbin/kamailio Where … Continue reading Kamailio Websocket – Allowing binding to Port 443 & Port 80

Kamailio I-CSCF – SRV Lookup Behaviour

Recently I had a strange issue I thought I’d share. Using Kamailio as an Interrogating-CSCF, Kamailio was getting the S-CSCF details from the User-Authorization-Answer’s “Server-Name” (602) AVP. The value was set to: sip:scscf.mnc001.mcc001.3gppnetwork.org:5060 But the I-CSCF was only looking up A-Records for scscf.mnc001.mcc001.3gppnetwork.org, not using DNS-SRV. The problem? The Server-Name I had configured as a … Continue reading Kamailio I-CSCF – SRV Lookup Behaviour

A very unstable Diameter Routing Agent (DRA) with Kamailio

I’d been trying for some time to get Kamailio acting as a Diameter Routing Agent with mixed success, and eventually got it working, after a few changes to the codebase of the ims_diameter_server module. It is rather unstable, in that if it fails to dispatch to a Diameter peer, the whole thing comes crumbling down, … Continue reading A very unstable Diameter Routing Agent (DRA) with Kamailio