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.4Classes
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 | ParseConfigFile( ) | |||
•  | Responsible for parsing configuration file and  | •  | Parses configuration file  | |
  | populating configuration variables in the program.  | 
  | 
  | |
  | 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 | Init( ) | |||
Responsible for connecting all the modules. It does  | •  | Initializes the IP module, voice module, and fax  | ||
the following:  | 
  | module  | ||
•  | Maintains routing tables  | •  | Builds event routing tables  | |
•  | Retrieves event data from the SRL and routes  | 
  | 
  | |
Exit( ) | ||||
  | them to modules  | |||
  | •  | Terminates IP module, voice module, and fax  | ||
•  | Gets event process results from the modules and  | |||
  | module  | |||
  | routes them to other modules if the destination is  | 
  | ||
  | 
  | 
  | ||
  | ProcessEvent( ) | |||
  | not NONE  | |||
  | 
  | •  | Retrieves event data from Global Call and routes  | |
  | 
  | 
  | them to a module for processing  | |
  | 
  | •  | Routes processing result to other module(s) for  | |
  | 
  | 
  | further processing.  | |
  | 
  | 
  | 
  | |
IP Media Server (Global Call) Demo Guide — November 2003 | 31  |