Voice Mail Feature Server

The FSVM is basically a proxy server running a unique CPL script that enables it to redirect calls to available UAVMs. The <vmredirect> tag is proprietary and used to

Voice Mail application architecture example

Figure 14-1. Voice Mail application architecture example

perform the tasks specific to FSVM . See the upcoming "Call Processing" section for more information. Here is the CPL script used by the FSVM:

    <?xml version='1.0' ?>
    <!DOCTYPE cpl SYSTEM 'cpl.dtd'>
    <cpl>
        <incoming>
             <vmredirect/>
         </incoming>
    </cpl>

The FSVM uses many of the classes associated with the Feature server, including FsFeature, FsConfigFile, and FsUsers. See Chapter 13 for more information about those classes.

Initialization

Initializing the FSVM involves provisioning the server and instantiating the VmBuilder and VmBasicProxy classes.

Provisioning

The FSVM configuration, stored in the file Features/<IP of FSVM>:<Port>.xml, normally looks like the following:

    <featureServer host="192.168.16.229" port="5070"><type value="Voice Mail"></type>
    <group value="Voice mailGroup"></group>
    <uaVMServers firstPort="6396" host="192.168.16.229" lastPort="6399"></uaVMServers</ featureServer>

Data structures

The FSVM uses the class structures found in the Feature server code including the following:

VmBasicProxy

Derived from the base class BasicProxy.

VmBuilder

Derived from the base Builder class.

VmPortContainer

Contains a queue of UAVMs (IP ...

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.