Proprietary VoIP

Background

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.

Key Features

  • 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.

Previous page: VoIP Monitoring
Next page: Distributed Monitoring