The sipXecs System Architecture Diagram
The sipXecs system is built based on a modular architecture with different components that communicate over TCP/IP for the most part.
The SIP protocol was designed in support of a fully distributed architecture where different features are provided by servers that again communicate among themselves using the SIP protocol. There is a strict separation between Media and Signaling, which allows a globally scalable system to be built with the necessary redundancy and resiliency. Media streams, once setup, flow directly between end-points (phones and gateways) without any requirement for media to go through a central signaling server.
Highlights
...
- Modular: 12 different server components that can coexist on one server HW or be distributed to different systems
- Resilient: Offers HA redundancy between call control components
- Scalability: Load balancing using the DNS SRV system
- SIP Proxy based: sipXecs is not based on a B2BUA but implements a true SIP proxy architecture
- B2BUA server (sipXbridge) for connecting to Internet Telephony Service Providers (ITSPs)
- Conference bridge included in package
- Freeswitch based Auto Attendant and Voicemail integrated
- Better Voice Quality: Media goes direct point-to-point between the end points and never through the call control system
- Standard SIP: sipXecs is all about a standards compliant implementation
- Plug & Play Management: Phones are managed plug & play from within the system
- IT Integration: LDAP, SOAP, and database integration. System looks like and operates like an IT application
- No Special HW: sipXecs does not require any special HW. A standard Intel server will do
...
While the different components of the sipXecs system could be used stand-alone, the focus of the project has been to provide a complete sipXecs IP PBX system out-of-the-box. On Fedora, Red Hat, Debian and SUSE distributions, the sipXecs system can be installed easily using the distributions's respective package management system from our repository.
Architecture of the Configuration Server
The sipXecs Configuration Server is a Web Services based configuration management system that offers plug & play management for all the sipXecs server components including all connected phones and gateways. If connects to the existing IT infrastructure e.g. using LDAP and allows Web Services portals to use its services over a SOAP interface. It also allows integration with Microsoft Active Directory and Exchange 2007.
User data can be uploaded from LDAP or using a comma-delimited CSV file typically generated by a spreadsheet application.
Library components
- Jetty: Java HTTP Server and Servlet Container
- Spring Framework: Java Application Server Framework
- Tapestry: Apache Jakarta Tapestry
- Hibernate: Idiomatic Persistence for Java
- Velocity: Java based Template Engine
- Lucene: Java-based indexing and search
...