JBoss.orgCommunity Documentation

SIP Servlets Server User Guide

The Guide to the SIP Servlets v1.1-Certified Server

by Douglas Silas, Jean Deruelle, Vladimir Ralev, Ivelin Ivanov, and Jared Morgan

Abstract

Mobicents is the first and only open source VoIP platform certified for JAIN SLEE 1.0 and SIP Servlets 1.1 compliance. Mobicents serves as a high-performance core for Service Delivery Platforms (SDPs) and IP Multimedia Subsystems (IMSs) by leveraging J2EE to enable the convergence of data and video in Next-Generation Intelligent Network (NGIN) applications.

The Mobicents enables the composition of predefined Service Building Blocks (SBBs) such as Call-Control, Billing, User-Provisioning, Administration and Presence-Sensing. Out-of-the-box monitoring and management of Mobicents components is achieved through JMX Consoles. JSLEE allows popular protocol stacks such as SIP to be plugged in as Resource Adapters (RAs), and Service Building Blocks—which share many similarities with EJBs—allow the easy accommodation and integration of enterprise applications with end points such as the Web, Customer Relationship Management (CRM) systems and Service-Oriented Architectures (SOAs). The Mobicents is the natural choice for telecommunication Operations Support Systems (OSSs) and Network Management Systems (NMSs).

In addition to the telecommunication industry, the Mobicents is suitable for a variety of problem domains demanding an Event-Driven Architecture (EDA) for high-volume, low-latency signaling, such as financial trading, online gaming, (RFID) sensor network integration, and distributed control.


Preface
1. Document Conventions
1.1. Typographic Conventions
1.2. Pull-quote Conventions
1.3. Notes and Warnings
1. Introduction to the SIP Servlets Server
1.1. High-Availability: SIP Servlets Server Load Balancing, Clustering and Failover
1.2. Working with the SIP Servlets Management Console
2. SIP Servlets Server-Installing, Configuring and Running
2.1. SIP Servlet-Enabled JBoss Application Server: Installing, Configuring and Running
2.1.1. Java Development Kit (JDK): Installing, Configuring and Running
2.1.2. Pre-install Requirements and Prerequisites
2.1.3. Downloading
2.1.4. Installing
2.1.5. Setting the JBOSS_HOME Environment Variable
2.1.6. Configuring
2.1.7. Running
2.1.8. Using
2.1.9. Testing
2.1.10. Stopping
2.1.11. Uninstalling
2.2. SIP Servlet-Enabled Tomcat Servlet Container: Installing, Configuring and Running
2.2.1. Java Development Kit (JDK): Installing, Configuring and Running
2.2.2. Pre-Install Requirements and Prerequisites
2.2.3. Downloading
2.2.4. Installing
2.2.5. Setting the CATALINA_HOME Environment Variable
2.2.6. Configuring
2.2.7. Running
2.2.8. Stopping
2.2.9. Using
2.2.10. Testing
2.2.11. Uninstalling
2.3. Configuring
2.3.1. Configuring SIP Connectors
2.3.2. Application Routing and Service Configuration
2.3.3. SIP Servlets Server Logging
3. Application Router
3.1. Default Application Router
3.1.1. Role of the Application Router
3.1.2. Mobicents Default Application Router
3.1.3. Limitations of the Default Application Router
3.2. DFC Application Router
3.2.1. Description of DFC Application Router
3.2.2. Installing the DFC Application Router
4. SIP Servlet Example Applications
4.1. Operating the Example Applications
4.1.1. The Location Service
4.1.2. The Diameter Event-Changing Service
4.1.3. The Call-Blocking Service
4.1.4. The Call-Forwarding Service
4.1.5. The Call-Controller Service
4.1.6. Media IPBX
5. Clustering and High Availability
5.1. Mobicents SIP Servlets for JBoss: Clustering Support
5.1.1. SIP Servlets Server Cluster: Installing, Configuring and Running
5.2. Mobicents SIP Servlets for JBoss: Transparent Failover
5.2.1. MSS for JBoss Cluster: Installing, Configuring and Running
5.3. Load Balancer
5.3.1. SIP Load Balancing Basics
5.3.2. HTTP Load Balancing Basics
5.3.3. Pluggable balancer algorithms
5.3.4. Distributed load balancing
5.3.5. Implementation of the Mobicents Load Balancer
5.3.6. SIP Message Flow
5.3.7. SIP Load Balancer: Installing, Configuring and Running
5.3.8. IP Load Balancing
6. Enterprise Monitoring and Management
6.1. Mobicents SIP Servlets Monitoring and Management
6.1.1. Installation of the Enterprise Monitoring and Management Console
6.1.2. Usage Instructions
6.2. SIP Load Balancer Monitoring and Management
6.2.1. Installation of the Enterprise Monitoring and Management Console
6.2.2. Usage Instructions
7. Advanced Features of the SIP Servlets Server
7.1. Media Support
7.1.1. JSR 309 : Media Server Control API
7.1.2. Mobicents Media Server Control API (MSC API)
7.2. Concurrency and Congestion Control
7.3. SIP Servlets Application Security
7.4. STUN Support
7.5. Seam Telco Framework
7.6. Diameter Support
7.7. SIP and IMS Extensions
7.8. JRuby/Rails Integration with Torquebox Telco Framework
7.9. SIP Servlets - JAIN SLEE Interoperability
7.10. Eclipse IDE Tools
7.10.1. Pre-Install requirements
7.10.2. Installation
7.10.3. SIP Servlets Core Plug-in
7.10.4. SIP Phone Plug-in
8. Best Practices
8.1. Mobicents SIP Servlets Performance Tips
8.1.1. Tuning JBoss
8.1.2. Tuning Mobicents SIP Servlets
8.1.3. Tuning The JAIN SIP Stack
8.1.4. Tuning The JVM
8.1.5. Tuning The Operating System
8.2. NAT Traversal
8.2.1. STUN
8.2.2. TURN
8.2.3. ICE
8.2.4. Other Approaches
A. Revision History