IP Media Server (Global Call) Demo Guide — November 2003 31
Demo Details
A module is treated by the EventRouter as a block box. It has three types of APIs:
Initialization
• Init( ) – for initializing a module
• GetNumOfDevices( ) – returns the number of devices available to the application
• GetDeviceHandle( ) – returns a device handle
• GetDeviceXmitSlot( ) – returns a device transmit timeslot
• SetDeviceReceiveSlot( ) – sets a device receive timeslot
Runtime
• ProcessEvent( ) – processes event data
Termination
• Exit( ) – exits a module
5.2.4 Classes
This section describes the classes contained in the demo and within each module. Each module
contains three classes: board, device, and state machine.
Table 5. Application Classes
Class Name Interface
CConfig
• Responsible for parsing configuration file and
populating configuration variables in the program.
ParseConfigFile( )
• Parses configuration file
ChannelNumber( )
• Gets the number of channels that are the
minimum of the number of voice lines and the
number of IP lines
IPParms( )
• Returns configured IP parameters
VoiceParms( )
• Returns configured voice parameters
CEventRouter
Responsible for connecting all the modules. It does
the following:
• Maintains routing tables
• Retrieves event data from the SRL and routes
them to modules
• Gets event process results from the modules and
routes them to other modules if the destination is
not NONE
Init( )
• Initializes the IP module, voice module, and fax
module
• Builds event routing tables
Exit( )
• Terminates IP module, voice module, and fax
module
ProcessEvent( )
• Retrieves event data from Global Call and routes
them to a module for processing
• Routes processing result to other module(s) for
further processing.