What OpenSIPS is
OpenSIPS (Open SIP Server) is a mature Open Source implementation of a SIP server. OpenSIPS is more than a SIP proxy/router as it includes application-level functionalities. OpenSIPS, as a SIP server, is the core component of any SIP-based VoIP solution.With a very flexible and customizable routing engine, OpenSIPS 'unifies voice, video, IM and presence services in a highly efficient way, thanks to its scalable (modular) design.
What OpenSIPS has to offer, comes in a reliable and high-performance flavour - OpenSIPS is one of the fastest SIP servers, with a throughput that confirms it as a solution up to enterprise or carrier-grade class.
OpenSIPS vision
The OpenSIPS vision consists in a "consolidated diversity" - OpenSIPS is an open source project not only as license, but also as policy regarding the contributions, cooperation and community.
The diversity comes from the large number of people involved in the development of the project and from the complexity and feature richness of OpenSIPS (it incorporates and integrates a large variety of functionalities and features, on top of the SIP routing engine).
To reach a high level of reliability and stability, all this diversity needs to be consolidated. The project brings a consolidated view on the project management, on the project vision, on the design and code, on the work effort, on the project future.
More about OpenSIPS
OpenSIPS project is a continuation of the OpenSER project. Inheriting the OpenSER spirit of openness to the community and the will of progress (a continuous work to develop, enhance and extend the code), OpenSIPS continues and extends the OpenSER vision through a strong process of consolidation.
Based on the experience provided by the OpenSER project, such a process of consolidation is critical in order to guarantee the best effort and best results inside the project. A consolidated environment is mandatory for large scale project that aims to deliver professional solutions for industry environment.
When/Where to use OpenSIPS
Scenarios where OpenSIPS fits in:
- VoIP service providers (residential)
- SIP trunking
- SIP load-balancing
- SIP front-end (for SIP termination)
- white-label solutions
- enterprise services
- SIP router (LCR for multi GWs)
Main features
OpenSIPS can be used as :
- SIP registrar server
- SIP router / proxy (lcr, dynamic routing, dialplan features)
- SIP redirect server
- SIP presence agent
- SIP back-to-back User Agent
- SIP IM server (chat and end-2-end IM)
- SIP to SMS gateway (bidirectional)
- SIP to XMPP gateway for presence and IM (bidirectional)
- SIP load-balancer or dispatcher
- SIP front end for gateways/asterisk
- SIP NAT traversal unit
- SIP application server
Some of the features that OpenSIPS brings:
- robust and performant SIP (RFC3261) Registrar server, Location server, Proxy server and Redirect server
- small footprint - the binary file is small size, functionality can be stripped/added via modules
- plug&play module interface - ability to add new extensions, without touching the core, therefore assuring a great stability of core components
- stateless and transactional statefull SIP Proxy processing
- support for UDP/TCP/TLS/SCTP transport layers
- IPv4 and IPv6
- support for SRV and NAPTR DNS
- SRV DNS failover
- IP Blacklists
- multi-homed (mhomed) and multi-domain support
- flexible and powerful scripting language for routing logic
- variables support in script - script variables, pseudo-variables (access to the SIP messages), AVPs (values persistent per SIP transactions)
- management interface via FIFO file and unix sockets
- authentication, authorization and accounting (AAA) via database (MySQL, Postgress, text files), RADIUS and DIAMETER
- digest and IP authentication
- Presence Agent support (many additional integration features)
- XCAP support for Presence Agent
- CPL - Call Processing Language (RFC3880)
- SNMP - interface to Simple Network Management Protocol
- management interface (for external integration) via FIFO file, XMLRPC or Datagram (UDP or unixsockets)
- NAT traversal support for SIP and RTP traffic
- ENUM support
- PERL Programming Interface - embed your extensions written in Perl
- Java SIP Servlet Application Interface - write Java SIP Servlets to extent your VoIP services and integrate with web services
- load balancing with failover
- least cost routing
- support for replication - REGISTER offer new functions for replicating client information (real source and received socket).
- logging capabilities - can log custom messages including any header or pseudo-variable and parts of SIP message structure.
- modular architecture - plug-and-play module interface to extend the server's functionality
- gateway to sms (AT based)
- multiple database backends - MySQL, PostgreSQL, Oracle, Berkeley, flat files and other database types which have unixodbc drivers
- straightforward interconnection with PSTN gateways
- dialog support (call monitoring, call termination from proxy side, call profiling)
- XMPP gateway-ing ( transparent server-to-server translation)
- impressive extension repository - over 70 modules are included in OpenSIPS repository
Scalability:
- OpenSIPS can run on embedded systems, with limited resources - the performances can be up to hundreds of call setups per second
- used a load balancer in stateless mode, OpenSIPS can handle over 5000 call setups per second
- on systems with 4GB memory, OpenSIPS can serve a population over 300 000 online subscribers
- system can easily scale by adding more OpenSIPS servers
- OpenSIPS can be used in geographic distributed VoIP platforms
- straightforward failover and redundancy