SIPs Softswitch Server
What SIPs is
SIPs (SIP Server) is a mature implementation of a SIP server. SIPs is more than a SIP proxy/router as it includes application-level functionalities. SIPs, as a SIP server, is the core component of any SIP - based VoIP solution. With a very flexible and customizable routing engine, SIPs unifies voice, video, IM and presents services in a highly efficient way, thanks to its scalable (modular) design.
What SIPs has to offer, comes in a reliable and high-performance flavour - SIPs is one of the fastest SIP servers, with a throughput that confirms it as a solution up to enterprise or carrier-grade class.
SIP proxy
The SIP proxy is the central component of our solution. It is responsible for registering the users and keeping the location database (maps IP to SIP addresses). The entire SIP routing and signaling is handled by the SIP proxy, and it is also responsible for end-user services such as call forwarding, white/blacklist, speed dialing, and others. This component never handles the media (RTP packets); all media-related packets are routed directly from the user agent clients, servers, and PSTN gateways.
The entire SIP signaling flows through the SIP proxy server. The media signaling, transported by the RTP protocol, flows directly from one endpoint to another. These are some of the components :
1. UAC (User Agent Client): The client or terminal that starts the SIP signaling
2. UAS (User Agent Server): The server that responds to the SIP signaling coming from an UAC
3. UA (User Agent): The SIP terminal (IP phones, ATAs, softphones, and so on)
4. Proxy server: Receives requests from a UA and transfers to another SIP proxy if this specific terminal is not under its domain
5. Redirect server: Receives requests and responds to the caller with a message containing data about the destination ("302", Moved Temporarily")
6. Location server: Provides the callee's contact addresses to proxy and
redirect servers
SIPs can be configured to provide proxy, redirect, and location services on a single platform.
When/Where to use SIPs
Scenarios where SIPs 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
SIPs 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 other features that SIPs 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 SIPs repository
Scalability:
-
SIPs 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, SIPs can handle over 5000 call setups per second
-
on systems with 4GB memory, SIPs can serve a population over 300 000 online subscribers
-
system can easily scale by adding more SIPs servers
-
SIPs can be used in geographic distributed VoIP platforms
-
straightforward failover and redundancy
* for a better knowledge in Sips please read the book " Building Telephony Systems with OpenSIPS 1.6 " - Build scalable and robust telephony systems using SIP by Flavio E.Goncalves




