How This Book Is Organized

We have organized the book so that you can get started and make something happen on your home or test PC quickly and easily. We’re hoping that your excitement from making calls on your own phone system will inspire you to look further into the system’s complexity.

In order to make our delivery of this material as straightforward as possible, we have refrained from discussing the technical details of the signaling methods and architectural models throughout the first six chapters. If you want the theory first and the practical second, turn to Chapter 7 and read through the rest of the book before returning to Chapter 2. We think that most readers will prefer getting their hands dirty first.

Chapter 1, VOCAL: Say, What?

Gives you a brief overview of what this book, the software, and Voice over IP are all about.

Chapter 2, Setting Up a Phone System at Home

Provides instructions about getting a phone system working at home on a single Linux host and then adding new phone devices to your system.

Chapter 3, Setting Up an Internal Trial System

Provides instructions about setting up an internal system that can support dozens of users working in a professional environment. This chapter also includes configuration instructions for gateways and how to deploy the system onto a distributed network of hosts.

Chapter 4, Provisioning Users

Provides information about adding users to the system and the different options available for features and other end-user parameters.

Chapter 5, Configuring System Parameters and Dial Plans

Provides information about setting up global system values such as dial plans and the multicast address used for heartbeats.

Chapter 6, Provisioning Servers

Provides information about setting up individual server types, configuring their IP addresses, and adding new servers to the system.

Chapter 7, Session Initiation Protocol and Related Protocols

A general overview of SIP, SDP, and the different message types used by these protocols. Includes some illustrated call flows and a line-by-line analysis of the basic message content.

Chapter 8, Vovida SIP Stack

A specific overview of Vovida’s implementation of a SIP stack including class diagrams, discussions about data structures, some insight into how the stack was developed, and what the engineers were working on as this book was being written.

Chapter 9, Base Code

A short but important chapter about the base code that is common to most of the VOCAL servers.

Chapter 10, VOCAL User Agent

Discusses the SIP user agent (UA) that comes with VOCAL. This UA is useful for testing and demonstrating how the software works, but it was never intended as a practical softphone for end users. This chapter discusses the data structures and some basic call flows.

Chapter 11, SIP Proxy: Marshal Server

The Marshal server is our name for a SIP-edge proxy server that provides authentication and security for VOCAL. This chapter looks at the data structures that make the Marshal server work and includes additional, general information about authentication, security, and working with firewalls.

Chapter 12, Redirect Server

The VOCAL Redirect server performs the duties described in the standard (RFC 2543) and also provides registration and location services. This chapter looks at the data structures and provides additional information about routing, ENUM, and Telephony Routing over IP (TRIP).

Chapter 13, CPL Feature Server

The Call Processing Language (CPL) Feature server is an implementation of the SIP proxy that provides basic features such as call forwarding. This chapter provides information about CPL and the data structures that make up the server.

Chapter 14, Unified Voice Mail Server

As a trade show demo, we wrote a voice mail server. Despite its basic functionality, it works for a small user population and has become a popular module within the user community. This chapter explains the data structures and a few of the solutions that we implemented to make this service work.

Chapter 15, MGCP Translator

The MGCP translator allows VOCAL to talk to MGCP gateways, which are normally attached to analog phone sets. This chapter discusses the MGCP protocol stack, the translator, and call flows through the state machine.

Chapter 16, H.323 Translator

The H.323 translator allows H.323 endpoints such as NetMeeting or H.323 gateways to be used with VOCAL. This chapter provides a simplified look at the data structures with some basic call flows.

Chapter 17, System Monitoring

We took the UC Davis SNMP stack and adopted it into VOCAL to provide network monitoring. This chapter discusses how this was accomplished and how you can add a new Management Information Base (MIB) to your system.

Chapter 18, Quality of Service and Billing

Advanced topics. Quality of Service (QoS) and using the Open Settlement Protocol (OSP) are still in a state of development. This chapter also discusses how we built a Remote Authentication Dial-In User Service (RADIUS) stack to talk to billing servers.

Chapter 19, Provisioning

Provides an analysis of the code behind the provisioning system that is shown in Chapters 4, 5, and 6. It then discusses the new provisioning system that we plan to merge with VOCAL.

Appendix A, VOCAL SIP UA Configuration File

An annotated configuration file that explains all the available settings for the VOCAL SIP UA.

Appendix B, Testing Tools

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

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.