Skip Headers
Oracle® WebLogic Communication Services Developer's Guide
11
g
Release 1 (11.1.1)
Part Number E13807-01
Home
Book List
Index
Contact Us
Next
View PDF
Contents
Title and Copyright Information
Preface
Audience
Documentation Accessibility
Related Documents
Conventions
Part I Introduction
1
Overview of SIP Servlet Application Development
1.1
What is a SIP Servlet?
1.2
Differences from HTTP Servlets
1.2.1
Multiple Responses
1.2.2
Receiving Responses
1.2.3
Proxy Functions
1.2.4
Message Body
1.2.4.1
Servlet Request
1.2.4.2
Servlet Response
1.2.4.3
SipServletMessage
1.2.5
Role of a Servlet Container
1.2.5.1
Application Management
1.2.5.2
SIP Messaging
1.2.5.3
Utility Functions
Part II Developing and Programming SIP Applications
2
Developing Converged Applications
2.1
Overview of Converged Applications
2.2
Assembling and Packaging a Converged Application
2.3
Working with SIP and HTTP Sessions
2.3.1
Modifying the SipApplicationSession
2.3.1.1
Synchronous Access
2.3.1.2
Asynchronous Access
2.4
Using the Converged Application Example
3
SIP Protocol Programming
3.1
Using Compact and Long Header Formats for SIP Messages
3.1.1
Overview of Header Format APIs and Configuration
3.1.2
Summary of Compact Headers
3.1.3
Assigning Header Formats with WlssSipServletMessage
3.1.4
Summary of API and Configuration Behavior
3.2
Using Content Indirection in SIP Servlets
3.2.1
Overview of Content Indirection
3.2.2
Using the Content Indirection API
3.2.3
Additional Information
3.3
Generating SNMP Traps from Application Code
3.3.1
Overview
3.3.2
Requirement for Accessing SipServletSnmpTrapRuntimeMBean
3.3.3
Obtaining a Reference to SipServletSnmpTrapRuntimeMBean
3.3.4
Generating an SNMP Trap
4
Requirements and Best Practices for SIP Applications
4.1
Overview of Developing Distributed Applications for Oracle Communications Converged Application Server
4.2
Applications Must Not Create Threads
4.3
Servlets Must Be Non-Blocking
4.4
Store all Application Data in the Session
4.5
All Session Data Must Be Serializable
4.6
Use setAttribute() to Modify Session Data in “No-Call” Scope
4.7
send() Calls Are Buffered
4.8
Mark SIP Servlets as Distributable
4.9
Use SipApplicationSessionActivationListener Sparingly
4.10
Session Expiration Best Practices
4.11
Observe Best Practices for Java EE Applications
5
Composing SIP Applications
5.1
Application Composition Model
5.2
Using the Default Application Router
5.3
Configuring a Custom Application Router
5.4
Session Key-Based Request Targeting
6
Securing SIP Servlet Resources
6.1
Overview of SIP Servlet Security
6.2
Triggering SIP Response Codes
6.3
Specifying the Security Realm
6.4
Role Mapping Features
6.5
Using Implicit Role Assignment
6.6
Assigning Roles Using security-role-assignment
6.6.1
Important Requirements
6.6.2
Assigning Roles at Deployment Time
6.6.3
Dynamically Assigning Roles Using the Administrative Console
6.7
Assigning run-as Roles
6.8
Role Assignment Precedence for SIP Servlet Roles
6.9
Debugging Security Features
6.10
weblogic.xml Deployment Descriptor Reference
7
Enabling Message Logging
7.1
Overview
7.2
Enabling Message Logging
7.2.1
Specifying a Predefined Logging Level
7.2.2
Customizing Log Records
7.3
Specifying Content Types for Unencrypted Logging
7.4
Example Message Log Configuration and Output
7.5
Configuring Log File Rotation
Part III Parlay X Web Services and Multimedia Messaging
8
Parlay X Presence Web Services
8.1
Introduction
8.2
Installing the Web Services
8.3
Configuring Web Services
8.4
Presence Web Services Interface Descriptions
8.5
Using the Presence Web Services Interfaces
8.5.1
Interface: PresenceConsumer, Operation: subscribePresence
8.5.1.1
Code Example
8.5.2
Interface: PresenceConsumer, Operation: getUserPresence
8.5.2.1
Code Example
8.5.3
Interface: PresenceNotification, Operation: statusChanged
8.5.3.1
Code Example
8.5.4
Interface: PresenceNotification, Operation: statusEnd
8.5.4.1
Code Example
8.5.5
Interface: PresenceNotification, Operation: notifySubscription
8.5.5.1
Code Example
8.5.6
Interface: PresenceNotification, Operation: subscriptionEnded
8.5.6.1
Code Example
8.5.7
Interface PresenceSupplier, Operation: publish and Oracle Specific "Unpublish"
8.5.7.1
Code Example
8.5.8
Interface: PresenceSupplier, Operation: getOpenSubscriptions
8.5.8.1
Code Example
8.5.9
Interface: PresenceSupplier, Operation: updateSubscriptionAuthorization
8.5.9.1
Code Example
8.5.10
Interface: PresenceSupplier, Operation: getMyWatchers
8.5.10.1
Code Example
8.5.11
Interface: PresenceSupplier, Operation: getSubscribedAttributes
8.5.11.1
Code Example
8.5.12
Interface: PresenceSupplier, Operation: blockSubscription
8.5.12.1
Code Example
8.6
OWLCS Parlay X Presence Custom Error Codes
8.7
Buddy List Manager API
8.7.1
Consuming the API
8.7.1.1
Obtaining the BuddyListManagerFactory
8.7.1.2
Creating a BuddyListManager
8.7.1.3
Adding a Buddy to a Buddy List and Retrieving the List
8.7.1.4
Removing a Buddy from a Buddy List
8.7.1.5
Manipulating your presence rules document
8.7.2
Exceptions
9
Parlay X Web Services Multimedia Messaging API
9.1
Introduction
9.2
Installing the Web Services
9.3
Configuring Web Services
9.4
Messaging Web Services Interface Descriptions
9.5
Using the Messaging Web Services Interfaces
9.5.1
Interface SendMessage, Operation: sendMessage
9.5.1.1
Code Example
9.5.2
Interface SendMessage, Operation: getMessageDeliveryStatus
9.5.2.1
Code Example
9.5.3
Interface MessageNotificationManager, Operation: startMessageNotification
9.5.3.1
Code Example
9.5.4
Interface MessageNotificationManager, Operation: stopMessageNotification
9.5.4.1
Code Example
9.5.5
Interface ReceiveMessage, Operation: getReceivedMessages
9.5.5.1
Code Example
9.5.6
Interface: ReceiveMessage, Operation: getMessage
9.5.6.1
Code Example
Part IV Call Control
10
Third Party Call Service
10.1
Overview of Parlay X 2.1 Third Party Call Communication Services
10.1.1
How It Works
10.1.1.1
Call Setup
10.1.1.2
Call Duration
10.1.2
Supported Networks
10.2
Configuring Parlay X 2.1 Third Party Call
10.2.1
Configuration Workflow for Parlay X 2.1 Third Party Call/SIP
10.2.2
Attributes and Operations for Parlay X 2.1 Third Party Call
10.3
Statement of Compliance
Part V Using Diameter
11
Using the Diameter Base Protocol API
11.1
Diameter Protocol Packages
11.2
Overview of the Diameter API
11.2.1
File Required for Compiling Application Using the Diameter API
11.3
Working with Diameter Nodes
11.4
Implementing a Diameter Application
11.5
Working with Diameter Sessions
11.6
Working with Diameter Messages
11.6.1
Sending Request Messages
11.6.2
Sending Answer Messages
11.6.3
Creating New Command Codes
11.7
Working with AVPs
11.7.1
Creating New Attributes
11.8
Creating Converged Diameter and SIP Applications
12
Using the Profile Service API
12.1
Overview of Profile Service API and Sh Interface Support
12.2
Enabling the Sh Interface Provider
12.3
Overview of the Profile Service API
12.4
Creating a Document Selector Key for Application-Managed Profile Data
12.5
Using a Constructed Document Key to Manage Profile Data
12.6
Monitoring Profile Data with ProfileListener
12.6.1
Prerequisites for Listener Implementations
12.6.2
Implementing ProfileListener
13
Developing Custom Profile Service Providers
13.1
Overview of the Profile Service API
13.2
Implementing Profile Service API Methods
13.3
Configuring and Packaging Profile Providers
13.3.1
Mapping Profile Requests to Profile Providers
13.4
Configuring Profile Providers Using the Administration Console
14
Using the Diameter Rf Interface API for Offline Charging
14.1
Overview of Rf Interface Support
14.2
Understanding Offline Charging Events
14.2.1
Event-Based Charging
14.2.2
Session-Based Charging
14.3
Configuring the Rf Application
14.4
Using the Offline Charging API
14.4.1
Accessing the Rf Application
14.4.2
Implementing Session-Based Charging
14.4.2.1
Specifying the Session Expiration
14.4.2.2
Sending Asynchronous Events
14.4.3
Implementing Event-Based Charging
14.4.4
Using the Accounting Session State
15
Using the Diameter Ro Interface API for Online Charging
15.1
Overview of Ro Interface Support
15.2
Understanding Credit Authorization Models
15.2.1
Credit Authorization with Unit Determination
15.2.2
Credit Authorization with Direct Debiting
15.2.3
Determining Units and Rating
15.3
Configuring the Ro Application
15.4
Overview of the Online Charging API
15.5
Accessing the Ro Application
15.6
Implementing Session-Based Charging
15.6.1
Handling Re-Auth-Request Messages
15.7
Sending Credit-Control-Request Messages
15.8
Handling Failures
Part VI Using Oracle User Messaging Service
16
Oracle User Messaging Service
16.1
User Messaging Service Overview
16.1.1
Components
16.1.2
Architecture
17
Sending and Receiving Messages using the User Messaging Service Java API
17.1
Overview of UMS Java API
17.1.1
Creating a J2EE Application Module
17.2
Creating a UMS Client Instance
17.2.1
Creating a MessagingEJBClient Instance Using a Programmatic or Declarative Approach
17.2.2
API Reference for Class MessagingClientFactory
17.3
Sending a Message
17.3.1
Creating a Message
17.3.1.1
Creating a Plaintext Message
17.3.1.2
Creating a Multipart/Alternative Message (with Text/Plain and Text/HTML Parts)
17.3.1.3
Creating Delivery Channel-Specific Payloads in a Single Message for Recipients with Different Delivery Types
17.3.2
API Reference for Class MessageFactory
17.3.3
API Reference for Interface Message
17.3.4
API Reference for Enum DeliveryType
17.3.5
Addressing a Message
17.3.5.1
Types of Addresses
17.3.5.2
Creating Address Objects
17.3.5.3
Creating a Recipient with a Failover Address
17.3.5.4
API Reference for Class AddressFactory
17.3.5.5
API Reference for Interface Address
17.3.6
Retrieving Message Status
17.3.6.1
Synchronous Retrieval of Message Status
17.3.6.2
Asynchronous Notification of Message Status
17.4
Receiving a Message
17.4.1
Registering an Access Point
17.4.2
Synchronous Receiving
17.4.3
Asynchronous Receiving
17.4.4
Message Filtering
17.5
Using the UMS EJB Client API to Build a Client Application
17.5.1
Overview of Development
17.5.2
Configuring the E-Mail Driver
17.5.3
Using JDeveloper 11g to Build the Application
17.5.3.1
Opening the Project
17.5.4
Deploying the Application
17.5.5
Testing the Application
17.6
Using the UMS EJB Client API to Build a Client Echo Application
17.6.1
Overview of Development
17.6.2
Configuring the E-Mail Driver
17.6.3
Using JDeveloper 11g to Build the Application
17.6.3.1
Opening the Project
17.6.4
Deploying the Application
17.6.5
Testing the Application
17.7
Creating a New Application Server Connection
18
Parlay X Web Services Multimedia Messaging API
18.1
Overview of Parlay X Messaging Operations
18.2
Send Message Interface
18.2.1
sendMessage Operation
18.2.2
getMessageDeliveryStatus Operation
18.3
Receive Message Interface
18.3.1
getReceivedMessages Operation
18.3.2
getMessage Operation
18.3.3
getMessageURIs Operation
18.4
Oracle Extension to Parlay X Messaging
18.4.1
ReceiveMessageManager Interface
18.4.1.1
startReceiveMessage Operation
18.4.1.2
stopReceiveMessage Operation
18.5
Parlay X Messaging Client API and Client Proxy Packages
18.6
Sample Chat Application with Parlay X APIs
18.6.1
Overview
18.6.1.1
Provided Files
18.6.2
Running the Pre-Built Sample
18.6.3
Testing the Sample
18.6.4
Creating a New Application Server Connection
19
User Messaging Preferences
19.1
Introduction
19.1.1
Terminology
19.1.2
Configuration of Notification Delivery Preferences
19.1.3
Delivery Preference Rules
19.1.3.1
Data Types
19.1.3.2
System Terms
19.1.3.3
Business Terms
19.1.4
Rule Actions
19.2
How to Manage Messaging Channels
19.2.1
Creating a Channel
19.2.2
Editing a Channel
19.2.3
Deleting a Channel
19.2.4
Setting a Default Channel
19.3
Creating Contact Rules using Filters
19.3.1
Creating Filters
19.3.2
Editing a Filter
19.3.3
Deleting a Filter
19.4
Configuring Settings
Part VII Reference
A
Oracle User Messaging Service Applications
A.1
Send Message to User Specified Channel
A.1.1
Overview
A.1.1.1
Provided Files
A.1.2
Installing and Configuring SOA and User Messaging Service
A.1.2.1
Updating Addresses in Your LDAP User Profile
A.1.3
Building the Sample
A.1.4
Creating a New Application Server Connection
A.1.5
Deploying the Project
A.1.6
Configuring User Messaging Preferences
A.1.7
Testing the Sample
A.1.7.1
Verifying the Execution of Sending the E-mail
A.2
Send Email with Attachments
A.2.1
Overview
A.2.1.1
Provided Files
A.2.2
Installing and Configuring SOA and User Messaging Service
A.2.2.1
Updating Addresses in Your LDAP User Profile
A.2.3
Running the Pre-Built Sample
A.2.4
Testing the Sample
A.2.4.1
Verifying the Execution
A.2.5
Building the Sample
A.2.6
Creating a New Application Server Connection
B
Profile Service Provider Configuration Reference (profile.xml)
B.1
Overview of profile.xml
B.2
Graphical Representation
B.3
Editing profile.xml
B.3.1
Steps for Editing profile.xml
B.4
XML Schema
B.5
Example profile.xml File
B.6
XML Element Description
B.6.1
profile-service
B.6.2
mapping
B.6.2.1
map-by
B.6.2.2
map-by-prefix
B.6.2.3
map-by-router
B.6.3
provider
B.6.3.1
name
B.6.3.2
provider-class
B.6.3.3
param
C
Developing SIP Servlets Using Eclipse
C.1
Overview
C.1.1
SIP Servlet Organization
C.2
Setting Up the Development Environment
C.2.1
Creating a OWLCS Domain
C.2.2
Verifying the Default Eclipse JVM
C.2.3
Creating a New Eclipse Project
C.3
Building and Deploying the Project
C.4
Debugging SIP Servlets
D
Porting Existing Applications to Oracle WebLogic Communication Services
D.1
Application Router and Legacy Application Composition
D.2
SipSession and SipApplicationSession Not Serializable
D.3
SipServletResponse.setCharacterEncoding() API Change
D.4
Transactional Restrictions for SipServletRequest and SipServletResponse
D.5
Immutable Parameters for New Parameterable Interface
D.6
Stateless Transaction Proxies Deprecated
D.7
Backward-Compatibility Mode for v1.0 Deployments
D.7.1
Validation Warnings for v1.0 Servlet Deployments
D.7.2
Modifying Committed Messages
D.7.3
Path Header as System Header
D.7.4
SipServletResponse.createPrack() Exception
D.7.5
Proxy.proxyTo() Exceptions
D.7.6
Changes to Proxy Branch Timers
D.8
Deprecated APIs
D.9
SNMP MIB Changes
D.10
Renamed Diagnostic Monitors and Actions
Index
Scripting on this page enhances content navigation, but does not change the content in any way.