Skip to content

sipXecs - Open Source IP PBX for Unified Communications

  • narrow screen resolution
  • wide screen resolution
  • Increase font size
  • Decrease font size
  • Default font size
Software Components of sipXecs PDF Print
Written by Martin Steinmann   
Friday, 24 April 2009 02:57

The sipXecs IP PBX is a complete solution that provides SIP-based communication services, like voice, video, presence. It is not an application that runs as a single multi-threaded process, but rather a distributed system of individual components that are centrally configured and managed. Therefore, if you are a developer, you don't have to understand the whole system but rather can start with a single component. In addition, you can reuse functionality on a per component basis and without any dependencies on the rest of the system.

Most likely you are used to an IP PBX software architecture built as a single multi-threaded application with plugin modules. The sipXecs IP PBX is different and consists of several independent components. Each component typically has a SIP interface as well as an XML RPC interface for configuration. Components run as independent applications and are either written in C++ or Java.  The graph shows the split in terms of programming languages used.

The sipXecs IP PBX as a system is centrally managed by sipXconfig, a Web 2.0 based application for system configuration and management. All the sipXecs components can run on a single server or they can be distributed to run on several servers. sipXconfig completely manages all the components in the system.

 

Individual components of the sipXecs IP PBX include:

  • sipXconfig - Management and configuration component for all the system components as well as plug & play management of phones and gateways. sipXconfig provides a Web based admin and user portal. In addition, it provides a Web Services interface for most of its capabilities, which allows business process integration (SOA).
  • Proxy / Registrar - The core of the sipXecs SIP call server is a fully standards based SIP proxy / registrar / redirect server. It holds transaction state, but is call stateless, which makes it easy to build redundant systems able to load-balance under normal operating conditions.
  • Presence - sipXecs uses a presence server based on SIP resource lists (RLS). It provides presence information for the busy lamp field (BLF) feature and it is able to federate its presence with other presence servers, which allows aggregation of phone presence with other forms of presence
  • sipXbridge / sipXrelay - Components used for the SIP trunking gateway as well as remote worker support. Provides far-end and near-end NAT traversal and an optionally redundant media relay for media anchoring.
  • CDR - Call Detail Record collection and processing. Call State Events (CSE) are collected by each proxy server in the system. The CDR component then collects all the CSEs and computes them into CDR records.
  • Media Server - The media server component is based on FreeSWITCH. FreeSWITCH runs as a fully integrated component that is managed by sipXconfig.
  • Conferencing - Meet-me conferencing bridge using the FreeSWITCH media server. Supports wide band conferencing and up/down-mixing as necessary (HD Voice)
  • Auto-Attendant - AA / IVR based on the FreeSWITCH media server. The AA / IVR logic is implemented as a separate component using Java and it communicates with FreeSWITCH over a socket interface
  • Voicemail - The current VM system is based on sipXtapi and VXML. The new VM system will be based on FreeSWITCH with the VM logic written in Java as a separate component that communicates with the media server using a socket interface. The new VM system will provide about a 10x scale advantage over the old one and will allow for voicemail service redundancy.
  • Group Paging -The group paging component is written in Java and is a separate group paging server.
  • Call Park & Music on Hold -Call Park and MoH are implemented as a stand-alone server component. When a user parks a call or puts a call on hold, the call is effectively transferred to the park/MoH server.
 

Donate Now!

Donations keep the project going. It is that simple.

Amount: 

Login

Forgot your password?