Contents for Developing Applications with WebLogic SIP Server

Overview of SIP Servlets

What is a SIP Servlet?

Differences from HTTP Servlets

Multiple Responses

Receiving Responses

Proxy Functions

Message Body

ServletRequest

ServletResponse

SipServletMessage

Roles of a Servlet Container

Application Management

SIP Messaging

Utility Functions

SIP Session, Application Session

SIP Factory

Proxy

Requirements and Best Practices for WebLogic SIP Server Applications

Overview of Developing and Porting Applications for WebLogic SIP Server

Applications Must Not Create Threads

Servlets Must Be Non-Blocking

Store all Application Data in the Session

All Session Data Must Be Serializable

Use setAttribute() to Modify Session Data in “No-Call” Scope

send() Calls Are Buffered

Mark SIP Servlets as Distributable

Observe Best Practices for J2EE Applications

Using Compact and Long Header Formats for SIP Messages

Overview of Header Format APIs and Configuration

Summary of Compact Headers

Assigning Header Formats with WlssSipServletMessage

Summary of API and Configuration Behavior

Composing SIP Applications

Overview of SIP Application Composition

Application Composition Model

Sample Composer Application

Troubleshooting Application Composition

Deployment Order Requirement

Developing Converged Applications

Overview of Converged Applications

Assembling and Packaging a Converged Application

Working with SIP and HTTP Sessions

Modifying the SipApplicationSession

Using the Converged Application Example

Using the Diameter Base Protocol API

Overview of Diameter Protocol Support

Overview of the Diameter API

Working with Diameter Nodes

Implementing a Diameter Application

Working with Diameter Sessions

Working with Diameter Messages

Sending Request Messages

Sending Answer Messages

Creating New Command Codes

Working with AVPs

Creating New Attributes

Creating Converged Diameter and SIP Applications

Using the Diameter Sh Interface Application

Overview of Profile Service API and Sh Interface Support

Enabling the Sh Interface Provider

Overview of the Profile Service API

Creating a Document Key for Application-Managed Profile Data

Using a Constructed Document Key to Manage Profile Data

Monitoring Profile Data with ProfileListener

Prerequisites for Listener Implementations

Implementing ProfileListener

Using the Diameter Rf Interface Application for Offline Charging

Overview of Rf Interface Support

Understanding Offline Charging Events

Event-Based Charging ¶

Session-Based Charging ¶

Configuring the Rf Application

Using the Offline Charging API

Accessing the Rf Application

Implementing Session-Based Charging

Sending Asynchronous Requests

Specifying the Session Expiration

Implementing Event-Based Charging

Using the Accounting Session State ¶

Using the Diameter Ro Interface Application for Online Charging

Overview of Ro Interface Support

Understanding Credit Authorization Models

Credit Authorization with Unit Determination

Credit Authorization with Direct Debiting

Determining Units and Rating

Configuring the Ro Application

Overview of the Online Charging API

Accessing the Ro Application

Implementing Session-Based Charging

Handling Re-Auth-Request Messages

Sending Credit-Control-Request Messages

Handling Failures

Developing Custom Profile Providers

Overview of the Profile Service API

Implementing Profile API Methods

Configuring and Packaging Profile Providers

Mapping Profile Requests to Profile Providers

Configuring Profile Providers Using the Administration Console

Using Content Indirection in SIP Servlets

Overview of Content Indirection

Using the Content Indirection API

Additional Information

Securing SIP Servlet Resources

Overview of SIP Servlet Security

WebLogic SIP Server Role Mapping Features

Using Implicit Role Assignment

Assigning Roles Using security-role-assignment

Important Requirement for WebLogic SIP Server 3.1

Assigning Roles at Deployment Time

Dynamically Assigning Roles Using the Administration Console

Assigning run-as Roles

Role Assignment Precedence for SIP Servlet Roles

Debugging Security Features

weblogic.xml Deployment Descriptor Reference

Developing SIP Servlets Using Eclipse

Overview

SIP Servlet Organization

Setting Up the Development Environment

Creating a WebLogic SIP Server Domain

Configure the Default Eclipse JVM

Creating a New Eclipse Project

Creating an Ant Build File

Building and Deploying the Project

Debugging SIP Servlets

Enabling Message Logging

Overview

Enabling Message Logging

Specifying a Predefined Logging Level

Customizing Log Records

Specifying Content Types for Unencrypted Logging

Example Message Log Configuration and Output

Configuring Log File Rotation

Generating SNMP Traps from Application Code

Overview

Requirement for Accessing SipServletSnmpTrapRuntimeMBean

Obtaining a Reference to SipServletSnmpTrapRuntimeMBean

Generating a SNMP Trap