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

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 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access