1/20
Contents
Title and Copyright Information
Preface
Audience
Related Documents
Documentation Accessibility
1
About Developing Applications for the Converged Application Server
About Converged Application Server APIs
2
Overview of SIP Servlet Application Development
About the SIP Protocol
SIP Requests
SIP Responses
What are SIP Servlets?
Developing SIP Servlets
Developing SIP Servlets Using POJOs and Annotations
Developing Legacy SIP Servlets
Overview of the Differences Between HTTP Servlets and SIP Servlets
Detailed Differences from HTTP Servlets
Multiple Responses
Receiving Responses
Proxy Functions
Message Body
Servlet Request
Servlet Response
SipServletMessage
Role of a Servlet Container
Application Management
SIP Messaging
Utility Functions
Internetworking with Third Party Protocols
SIP Servlet Concurrency
Resolving Telephone Numbers to SipURI
Annotation for DnsResolver Injection
3
SIP Servlet POJOs
About SIP Servlet POJOs
The SIP Servlet POJO Life Cycle
SIP Meta Annotations
@SipMethod
@SipResponseCode
@SipResponseRange
@SipPredicate
Method Specific Annotations
@AnyMethod Annotation
Response Filtering
@BranchResponse Annotation
Extensibility Using SIP Meta-Annotations
Method Selection Precedence
Precedence Rules Equation
Conflict Resolution
Request Precedence Rules
Response Precedence Rule
SipPredicate and Method Selection
Deployment
Conflict Resolution Examples
Container Deployment Failures
4
Best Practices for SIP Applications
Overview of Developing Distributed Applications for Converged Application Server
Use the SIP Concurrency Utilities
Treat MessageListener Implementations as Read-Only
Local Data Structures Must Not Store Container-Managed Objects
Servlets Must Be Non-Blocking
All Session Data Must Be Serializable
Mark SIP Servlets as Distributable
Use SipApplicationSessionActivationListener Sparingly
Observe Best Practices for Java EE Applications
Optimizing Memory Utilization and Performance with Serialization
5
Composing SIP Applications
Using the Application Router
Using the Default Application Router
The DAR JSON Configuration File
Legacy DAR Configuration Files
Configuring a Custom Application Router
Application Router Behavior
Order of Routing Regions
Inter-Container Application Routing
Popped Route Header
Converged Application Server Behavior
Procedure for Routing an Initial Request
Application Router Packaging and Deployment
Using the Legacy Custom Application Router
Configuring the Legacy Custom Application Router
Session Key-Based Request Targeting
Accessing SIP Applications Using SIP Application Index Keys
Application Composition and SIP-HTTP Convergence
Join and Replaces Header Support
About the Join Header
About the Replaces Header
Enabling Support for Join and Replaces Headers
6
Developing Converged Applications
Overview of Converged Applications
Assembling and Packaging a Converged Application
Examples
7
SIP Servlet Concurrency
Specifying Concurrency Mode
Concurrency Utilities
Propagating SipApplicationSession Context
Specifying Application Session Programmatically
Maintaining Thread Safety with Multiple Application Session Contexts
ContextService
Default Managed Objects
Accessing an Active Application Session
Accessing Tasks Futures
Accessing the Futures of Tasks in a Sip Application Session
About Saving Future Objects
Concurrency Examples
8
Managing Client Initiated Connections
Retrieving a Flow Object from the Container
Maintaining Connections Initiated by SIP User Agents
UAC Sending Keep-Alive
Handling Flow Failures
Reusing a Flow
Implementing Edge Proxies
Releasing a Flow
9
Back to Back User Agents
About Back to Back User Agents
Navigating Between the UAC and UAS Sides of a B2BUA
ACK and PRACK Handling in B2BUA
B2BUA and Forking
The B2BUA Helper Class
Creating a New B2BUA Request
Linked SIP Sessions and Linked Request
Explicit Session Linkage
Implicit Session Linkage
Access to Uncommitted Messages
Original Request and Session Cloning
Request and Session Cloning and Linking
10
Forking SIP Requests, Dialog Termination, and Session Keep Alive
Forking SIP Requests
Binding Attributes to a ForkingContext
Creating a Request
Cloning Attributes
Terminating Dialogs
Max-Breadth Header Support
Loop Detection
SIP Dialog Termination
Terminating Proxy Dialogs
Notes on Container Behavior
INVITE Dialog
SUBSCRIBE Dialog
Multiple Dialogs
Session Keep Alive
Enabling Session Keep Alive
Disabling Session Keep Alive
Refreshing Sessions
Expiring Sessions
Sending Provisional Responses to Non-Invite Requests
422 Responses
11
Using Compact and Long Header Formats for SIP Messages
Overview of Header Format APIs and Configuration
Summary of Compact Headers
Summary of API and Configuration Behavior
12
Developing Custom Profile Service Providers
Overview of the Profile Service API
Implementing Profile Service API Methods
Configuring and Packaging Profile Providers
Mapping Profile Requests to Profile Providers
Configuring Profile Providers Using the Administration Console
13
Using Content Indirection in SIP Servlets
Overview of Content Indirection
Using the Content Indirection API
Additional Information
14
Securing SIP Servlet Resources
Overview of SIP Servlet Security
Triggering SIP Response Codes
Specifying the Security Realm
Converged Application Server Role Mapping Features
Using Implicit Role Assignment
Assigning Roles Using security-role-assignment
Important Requirements
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
15
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
16
Generating SNMP Traps from Application Code
Overview
Requirement for Accessing SipServletSnmpTrapRuntimeMBean
Obtaining a Reference to SipServletSnmpTrapRuntimeMBean
Generating an SNMP Trap
17
Using the Location Service RESTful Interface
About the Location Service RESTful Interface
About REST
About JSON Body Parameters
About the Context Root
Using Authentication and Authorization
RESTful APIs for the Location Service
Store Registrations for Address-of-Record
Lookup an Address-of-Record
Clear All Address of Record Bindings
Scripting on this page enhances content navigation, but does not change the content in any way.