Chapter 8. Vovida SIP Stack

Now that you’ve had the user guide tour about how SIP works, let’s go a little deeper into the architecture and talk about the classes, modules, and threads that we implemented into our SIP stack.

Throughout this chapter, when we refer to a certain protocol stack, we’re referring to Vovida’s implementation of the standard that governs that stack.

If you don’t have a background in software development, you may find the remainder of this book’s content difficult to digest. You could help yourself by brushing up on the Unified Modeling Language (, object-oriented design, C++, and data structure and theory, which, unfortunately, require a few years of schooling to understand.


Figure 8-1 shows how the major components of the SIP stack work together and with other protocol stacks.

SIP stack components

Figure 8-1. SIP stack components

These processes are defined as follows:


Builds messages, either as brand-new requests or as reconstructions of received responses.


Encodes and decodes messages.

SDP stack

Encodes, decodes, and alters Session Description Protocol (SDP) bodies.

SIP transceiver

Includes five components, listed next. An intelligent structure, it matches requests with responses, and responses with acknowledgments.

Transceiver: TX

Transmits messages over a transport layer -independent interface.

Transceiver: ...

Get Practical VoIP Using VOCAL now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.