O'Reilly logo

Practical VoIP Using VOCAL by Luan Dang, Cullen Jennings, David Kelly

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Provisioning Server

The Provisioning server stores all the information needed by the different components of the system and is responsible for maintaining the information needed to handle callbacks, redundancy, and data manipulation, such as searches, sorts, and batching of information for sending to the GUIs. The server is designed in a highly modular fashion—each module of the server can be removed and replaced with a different component to allow the end user maximum flexibility—and the user can simply define a new module and use that in place of the modules in place. This is accomplished via a compile-time mechanism.

Architecture

The flow of data within the Provisioning server, as well as the basic structure of the server, is illustrated in Figure 19-2. This diagram shows the way that data in the system flows (not always the same as the call flow).

Provisioning server architecture

Figure 19-2. Provisioning server architecture

The server is composed of a number of pluggable modules, which could be overloaded and defined by the user, as well as a core server engine that drives these components. The component organization is shown in detail in the class diagram following these descriptions:

Transport/Protocol module

Responsible for communication with the outside world. This module is responsible for socket management, as well as transport-level protocol. In our implementation, we have derived an HTTP protocol module ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required