Sofa Switch Voip control system.
An application for making/reciving voip calls, where the creation/destruction of calls is controlled by a remote node. In this prorgram messages are sent received over TCP packets with a remote server.
- Version:
- 1.0
- Author:
- Derek J Smithies
There is one instance of the MyManager class, which is responsible for handling details about what protocols are available, creating calls on demand, destroying calls on demand, and reporting progress in creating/destroying calls.
The MessageFrame class is responsible for all communications with the remote controller. There is one instance of this class associated with each active call, and one instance associated with MyManager. Since there is one communications module with each call, there is no need to "distribute" incoming messages from one central point to each active call.
There is one instance of the OpalCall class for each active call. This class is provided by Opal to provide an interface between the manager and each call. We have extended this class by adding code to connect to the MessageFrame. The result is called MyOpalCall. Commands received from the MessageFrame go direct to the MyOpalCall class.
The internal architecture of Opal demands that each call be represented by two OpalConnection . One is used to manage the particular voip protocol this call demands, and the other is used for the sound system. We provide a UDP sound system connection, that sends the audio data over a UDP socket.
The internal architecture of Opal demands that each call has two instances of a class that is a descendant of PSoundChannel. One for incoming audio, and one for outgoing.
- CommsList - Stores preallocated MessageFrame classes, which is used for when requesting a new Id
- Comms - Does the comms with the remote controller
- MyOpalCall - Descendent of OpalCall
- SsVoipProcess - The master class, which contains main(int argc, char** argv)
- MyManager - Does the work of controlling things
- MyUdpSsEndPoint - manages the creation & handling of MyUdpSsConnections
- Supervisor - The comms instance for the manager
- OpalUdpSsConnection - Connection that does the actual handling of UDP based sound for one call
- OpalUdpSsEndPoint - manages the creation & handling of MyUdpSsConnections
- AudioDelay - An adaptive delay thread
- UdpSoundChannel - Descendant of PSoundChannel, which does the work of putting the audio on/off the UDP socket
- MessageFrame - The communications module, which is commaon to all Sofa Switch components
- LaunchNewId - The module which generates unique IDs, which is commaon to all Sofa Switch components
Generated on Sun Jan 29 19:49:09 2006 for SSVoip, which is Sofa Switch Voip by
1.4.4