Making our first call between two registered endpoints on Kamailio.
Setting up Kamailio as a SIP registrar to handle REGISTER messages.
How to use routing blocks and structure your code in Kamailio.
Installing Kamailio on Ubuntu, basic rules for wring config files and we respond to SIP messages!
Introducing Kamailio SIP Server & explaining it’s uses.
Explanation of what a SIP Registrar does, Contact header and Address on Record, and how it all fits together to route messages correctly.
SIP Register status, expires and why it’s often misunderstood.
Explanation of Record-Routing, why it exists and how it’s used.
Understanding the SDP protocol and how it’s used to negotiate and setup media sessions.
Installation & basic configuration of the Sipwise NGCP rtpengine
Why does every SIP branch start with z9hG4bK?
What a Via header does, how to interpret it and how it’s used in SIP routing.
Many Kamailio modules require, or have additional functionality, when you’re using a database backend. There’s a few options, but for this tutorial we’ll use a MySQL database backend. To begin with we’ll install MySQL & Kamailio, apt-get install kamailio* mysql-server Next we’ll want to configure the file called kamctlrc in which we’ll add our database […]
DTMF’s implementation in VoIP and the 3 types of DTMF encoding (Inband, RTP Event and SIP INFO)
SIP INFO was designed to carry session related information during a session. SIP was designed to setup and tear down sessions, with little thought given to what happens after the setup, but before the teardown. SIP INFO (RFC2976) was designed to fill this gap. (Obsoleted by RFC6086) It’s predominantly used now to carry DTMF info […]
RFC2833 was designed to carry DTMF signalling, other tone signals and telephony events in RTP packets. This was later superseded by RFC4733, but everyone still referrers to this protocol as RFC2833, so I will too. RFC2833 a special RTP payload designed to carry DTMF signalling information, so it operates on the same source / destination […]
How the SIP Authentication mechanism works, and how we can reverse it to check the password we’re expecting is the encrypted value we’re seeing in captures.