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 ...

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.