Our client provides software and systems to an industrial vertical market. They determined that a voice-over-IP (VoIP) system would be a good compliment to their flagship product. SIP had not yet gained market traction, and they specifically wanted a proprietary solution with a variety of custom features.
Voice: A Multi-Threaded Real-Time Distributed System
We developed an advanced, high-reliability real-time distributed system to meet their needs.
We used standard PC microphone and speaker interfaces and compressed the audio for the wire.
To maximize the number of call end-points per PC, we utilized not only multiple audio interfaces, but integrated a custom audio/video multiplex board.
We developed a resource-utilization scheme to allow each PC to manage multiple calls in parallel to end-points which could operate independently (and forbid those which can't).
We displayed system state and diagnostics on all nodes, including real-time network and node status.
We retrofitted the system to integrate video.
- Written in C++ for Win32 (~30K LoC).
- Multi-threaded design.
- Very high reliability: runs indefinitely without requiring reboot.
- Excellent real-time audio responsiveness.
- Uses freely available voice compression under license.
- Uses CORBA for the communications backbone, for compile-time interface enforcement.
- Handles multiple audio devices.
- Manages multiple audio multiplexer boards to maximize call end-points.