Featured Project Featured Project

openACD Contact Center

In cooperation with the openACD and FreeSWITCH teams we are working on a new skills based and scalable contact center solution for sipXecs that will run on the FreeSWITCH media server.

Developer Documentation Developer Documentation

Download sipXecs ISOs and RPMsDownload sipXecs Stable and Development ISOs and RPMs.
 

Download sipXecs ISOs and RPMsInformation about the sipXecs project.
 

Learn how you can contribute to the sipXecs project.
 

Source code access and repository browsing.
 

About sipXecs and SIPfoundry.

Supported Platforms Supported Platforms

sipXecs is available on the following platforms:
 

   CentOS 5  32 / 64 bit
 

  Fedora 32 / 64bit
 

  openSUSE / SLES 32 / 64bit

Device Plugins Device Plugins

Phones and gateways can be plug n' play managed developing an easy plugin.  Cooperation with vendors thought!

Localization Localization

Interested in providing translations?  If you are an in-region VAR, we feature your logo and link if you provide localization.

SIP Trunking SIP Trunking

We are looking for cooperation to certify SIP trunking interop with ITSPs.  Contact us if you are interested.

  • Certified ITSPs
  • Test plan
at&t   BandTel   Bandwidth   CallWithUs   Cbeyond  
LES.net   Vitelity   Voip.ms   Voxitas   Skype - sipXecs interop
Open Source Cooperation Open Source Cooperation

SIPfoundry cooperates with other open source communities:
 

Ignite Realtime

FreeSWITCH

openACD

Open-Xchange

Projects you can help with Projects you can help with

Want to join an international team and participate?   Here are some ideas that might suit you.

  • Enable video conferencing based on FreeSWITCH
  • Nagioss / Zenoss integration
  • Speech recognition / TTS
  • Call recording application
  • Redundant voicemail server
  • Google Integration (Docs, Chrome)
  • Amazon EC2 integration
  • Port to Solaris
  • Migration to IPv6
The sipXecs Project The sipXecs Project

The sipXecs project was started in 2004 with the objective of building a native Session Initiation Protocol (SIP) based Session Manager.  Today, sipXecs is the largest, most mature and most scalable open source effort in the SIP communications space. The architecture chosen for the sipXecs system represents the original idea of the architects of the SIP protocol to create a SIP session or message router in the network.  The resulting design is highly scalable and offers redundancy through simple DNS based load-balancing between participating SIP proxy nodes.

sipXecs as a system is distributed and consists of a large number of independent components that are centrally managed.  Each component uses SIP to communicate with the SIP session manager at the core and each component has a Web Services XML RPC interface for remote management and configuration.  Each component can be used stand-alone.  A new feature is typically added as a new standalone component, which makes it easy for developers.  

Below you find the different components or sub-projects of sipXecs.  This should represent a good starting point for developers who either would like to contribute to sipXecs or re-use certain components from sipXecs for their own projects.

SIP Session Manager SIP Session Manager
     
  RFC-3261 compliant SIP session manager. Provides dynamic session routing across a load-sharing network of SIP nodes. Includes far-end and near-end NAT traversal for remote end points with optional media relay.  
     
 
         
        Components
  • SIP stack: Portable SIP stack, C++
    Libraries: sipXportLib, sipXtackLib, sipXcommserverLib,
                    sipXcallLib
  • SIP proxy / redirect:  Stateless proxy
    Application, C++
  • SIP registrar: Registrar server
    Application, C++
  • Media relay: RTP media relay, codec agnostic
    Application, Java
  Source browsing or Github  
  Documentation    
  Repository    
  License:   L-GPL    
         

Instant Messaging & Presence Instant Messaging & Presence
     
  Instant Messaging & Presence server using the XMPP protocol and based on the Ignite Realtime Openfire project. It is tightly integrated into the sipXecs management system and it's admin user interface was replaced by sipXconfig.  A plugin allows remote configuration, presence federation with SIP line state, and vcards and avatar synchronization.  
     
 
         
  Maintainer:   Guus der Kinderen        Components
  • Openfire XMPP server: Very scalable IM / Presence server
    Application, Java
  • Presence plugins: Openfire plugin to federate presence, vcards, avatar
    Plugin, Java
  • MyBuddy IM Bot: Mobility application
    Application, Java
  • Federation: IM and presence federation
    Plugin, Java
  Source  
  Documentation    
  Repository    
  License:  Apache 2.0, L-GPL    
         
Media Services Media Services
     
  Different media services for voicemail, unified messaging, conferencing, interactive voice response (IVR), group paging, music on hold (MoH), call park & retrieve, and contact center (ACD). Media services are independent applications that communicate over SIP with the SIP Session Manager and are configured using XML RPC via sipXconfig.  
     
 
         
        Components
  • Voicemail:  IVR app to provide unified messaging
    Application, Java
  • Auto-Attendant:  IVR app to provide auto-attendant
    Application, Java
  • Music on Hold:  IVR app to provide MoH
    Application, Java
  • Group Paging:  Group paging server
    Application, Java
  • Call Park & Retrieve:  Park server w/ line state notification
    Application, C++
  • Contact Center (ACD):  Basic ACD application
    Application, C++
  • Conferencing:  Voice / Video conferencing server
    Application, C, based on FreeSWITCH
  • Conference Recording:  Recording server
    Application, Java
  • Authorization Code Service: IVR app
    Application, Java
  • FAX to email Service
    Application, C, based on FreeSWITCH
  • Media Services:  Media server
    Application, C, based on FreeSWITCH
  Source: source.data  
  Documentation: documentation.data    
  Repository    
  License:  MPL,  L-GPL    
   

FreeSWITCH is integrated with sipXecs to provide media services. This allows 'unlocking' other FreeSWITCH based services in sipXecs. FreeSWITCH is completely auto-configured and integrated into the sipXecs configuration and management system.

   

Configuration and Management Configuration and Management
     
  The configuration and management server (sipXconfig) provides Web administration and user portals, Web services APIs, as well as all the abstraction logic to make using sipXecs as simple as it is.  It provides centralized management of all the aspects of sipXecs, including installation, configuration, backup & restore, upgrade, troubleshooting and cluster management.  
     
 
         
        Components
  • Web Configuration & Management:  Web 2.0 app
    Application, Java
  • Device Auto-Discovery
    Application, Java
  Source: source.data  
  Documentation: documentation.data    
  Repository    
  License:  L-GPL    
         

3rd Party Call Control 3rd Party Call Control
     
  The 3rd Party Call Controller offers a REST Web Services interface to initiate SIP calls. It is used for applications such as click-to-call from web sites, gadgets and other plugins. It is an independent application that runs standalone, managed by sipXconfig.  
     
 
         
        Components
  • 3PCC  sipXcallController
    Application, Java
  Source: source.data  
  Documentation    
  Repository: repository.data    
  License:   L-GPL    
         

SIP Line State Presence and Shared Lines SIP Line State Presence and Shared Lines
     
  SIP Resource List Server (RLS) for centralized event notification.  The SIP RLS server provides line (call) state presence as it is used for e.g. the Busy Lamp Field (BLF) feature.  The SIP Shared Appearance Agent (SAA) provides capabilities required to implement shared or bridged lines (BLA).  
     
 
         
        Components
  • SIP Resource List Server (RLS)
    Application, C++
  • SIP Shared Appearance Agent (SAA)
    Application, C++
  Source: source.data  
  Documentation    
  Repository: repository.data    
  License:   L-GPL    
         

SIP Session Border Controller SIP Session Border Controller
     
  The SIP Trunking application implements a SIP Session Border Controller (SBC) to connect to Internet Telephony Service Providers (ITSP) for SIP trunking.  It includes profiles for certified ITSPs and provides NAT traversal. It supports TLS.   
     
 
         
        Components
  • SIP Trunking: SIP Session Border Controller
    Application, Java
  Source: source.data  
  Documentation    
  Repository: repository.data    
  License:   L-GPL    
         

Call Detail Records Call Detail Records
     
  Aggregation and processing of call detail information.  Allows the collection of per SIP node call state events (CSE) in a distributed SIP Session Manager system and process them into Call Detail Records (CDR).  
     
 
         
        Components
  • Call Detail Record Processing (CDR)
    Application, ruby
  Source: source.data  
  Documentation    
  Repository: repository.data    
  License:   L-GPL    
         

Process Management and Alarm Server Process Management and Alarm Server
     
  The process manager supervises all the different applications, including in a distributed configuration that can span several geographically distributed servers.  It provides process management and includes an alarm server.  It also allows remote execution of commands, sends configuration to remote systems and retrieves logs.  
     
 
         
        Components
  • Supervisor & Alarm Server
    Application, C++
  • Statistics
    Application, C++
  Source: source.data  
  Documentation    
  Repository: repository.data    
  License:   L-GPL    
         

Skills Based Contact Center (ACD) Skills Based Contact Center (ACD)
     
  New Contact Center (ACD) application based on the openACD project and in cooperation with FreeSWITCH.  The openACD project aims at building a skills based, distributed and scalable contact center (ACD) solution using FreeSWITCH as the media server, similar to other sipXecs media applications.  
     
 
         
  Maintainer:   Andrew Thompson   Components
  • Contact Center Application
    Application, Erlang
  Source: source.data  
  Documentation    
  Repository: repository.data    
  License:   xxx