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

Feature Server Files

The files found within in the FS directories can be divided into the base files, those files that enable CPL-to-C++ conversion, and related classes.

Base Files

The fs/base directory contains the following files:

fs.cxx

Contains the FS’s main()

FsConfigFile

Contains a function for parsing the execution command line and global variables required by the FS

FsBuilder

Derived from Builder; spawns threads to do the event processing and heartbeats; has a CallContainer to track current active calls

FsProvisioning

Called to retrieve system data, subscriber list, and CPL features from the Vocal Provisioning server

FsFeature

Points to the Start state of a state machine that was generated by parsing a CPL script

FsUserData

Stores information about a feature subscriber (incl/ FsFeature)

FsUsers

A map holding 0 or more FsUserDatas; this is a key data structure for the FS to look up its subscribers

CPLUrlData

Instantiated during runtime if it needs to track possible locations to proxy the call; also known as the locations set

FsStateMachnData

Created for each call and stored in CallInfo; stores any information required for the duration of the call (for example, data pertaining to a feature or the state of a proxying)

CPL Conversion Files

The fs/cpl directory contains the following files necessary to convert a CPL script into a C++ state machine:

CPLFeatureBuilder

Used by applications to interface to CPL. This calls CPLParser, CPLValidator, and CPLInterpreter.

CPLParser ...

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