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:


Contains the FS’s main()


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


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


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


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


Stores information about a feature subscriber (incl/ FsFeature)


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


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


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:


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.