When a final response, like a 200 OK, or a 404, etc, is sent, the receiving party acknowledges that it received this with an ACK. By provisional responses, such as 180 RINGING, are not acknowledged, this means we have no way of knowing for sure if our UAC received the provisional response. The issues start […]
Using the Dispatcher Module for load balancing functionality and intelligent dispatching of SIP messages.
Introduction to Encoding & Decoding data in ASN.1 (Using Python)
How the AKAv1-MD5 algorith derives keys and how it’s used in IMS Networks
Workhorse of VoIP / VoLTE / SIP / H.323 / IMS, we take a deep dive into what every bit of RTP means. Pun very much intended.
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.
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.
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.