Oracle Communication and Mobility Server: Introduction Student Guide D52943GC10 Edition 1.0 January 2008 D54065
Author Viktor Tchemodanov Technical Contributors and Reviewers Christer Fahlgren Adam Odessky Nagavalli Pataballa Shankar Raman Venchao Sun Ty Wang Editor Richard Wallis Graphic Designer Rajiv Chandrabanu Publisher Srividya Rameshkumar Copyright 2008, Oracle. All rights reserved. Disclaimer This document contains proprietary information and is protected by copyright and other intellectual property laws. You may copy and print this document solely for your own use in an Oracle training course. The document may not be modified or altered in any way. Except where your use constitutes "fair use" under copyright law, you may not use, share, download, upload, copy, print, display, perform, reproduce, publish, license, post, transmit, or distribute this document in whole or in part without the express authorization of Oracle. The information contained in this document is subject to change without notice. If you find any problems in the document, please report them in writing to: Oracle University, 500 Oracle Parkway, Redwood Shores, California 94065 USA. This document is not warranted to be error-free. Restricted Rights Notice If this documentation is delivered to the United States Government or anyone using the documentation on behalf of the United States Government, the following notice is applicable: U.S. GOVERNMENT RIGHTS The U.S. Government s rights to use, modify, reproduce, release, perform, display, or disclose these training materials are restricted by the terms of the applicable Oracle license agreement and/or the applicable U.S. Government contract. Trademark Notice Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
Contents 1 Introduction Lesson Objectives 1-2 Course Goals 1-3 Lesson Agenda: Day 1 1-4 Lesson Agenda: Day 2 1-5 Introduction to the Courseware Case Scenario: The Telecommunications Model 1-6 Oracle Communications Solutions 1-7 Oracle Communications Suite 1-8 Carrier Internet Architecture and Oracle Service Delivery Platform 1-9 Oracle SDP Products 1-11 What Is OCMS? 1-13 Benefits of Using OCMS 1-15 Who Benefits from Using OCMS? 1-16 Examples of Services 1-17 Course Infrastructure 1-18 Oracle Communicator: Features 1-19 Oracle Communicator: Voice and Video Calling 1-20 Oracle Communicator: Presence and Instant Messaging 1-21 Oracle Communicator: Buddy Lists 1-22 Lesson Summary 1-23 2 Getting Started with OCMS Objectives 2-2 SIP: An Overview 2-3 OCMS Architecture 2-4 OCMS System Components: Overview 2-5 SIP Servlets and SIP Servlet Applications 2-6 Proxy Registrar 2-7 Presence Server 2-8 Application Router 2-9 Application Router: Modes of Operation 2-10 Application Router: Modes of Operation Example of Sequential Invocation 2-11 Application Router: Modes of Operation 2-12 Diameter 2-13 Subscriber Data Services 2-14 OCMS Deployment Modes 2-15 iii
OCMS Deployment Environments 2-16 IMS Network Deployment 2-17 SIP Network Deployment 2-19 OCMS Installation: Overview 2-20 Installation Prerequisites 2-21 Preinstallation Tasks 2-22 Installing Oracle TimesTen on Windows 2-23 Verifying Oracle TimesTen Installation 2-25 Choosing Installation Modes 2-26 Major OCMS Installation Steps 2-27 OCMS Installation Procedure 2-28 Verifying OCMS Installation 2-31 OCMS Basic Management 2-32 Summary 2-33 Practice 2 2-34 3 Presence, Proxy/Registrar, and Oracle Communicator Objectives 3-2 Presence: Overview 3-3 Presence Enabler 3-4 Presence Roles 3-5 Presence Use Cases: Publisher 3-6 Presence Use Cases: Watcher 3-7 Presence Document Flow 3-8 How Does Presence Map to SIP? 3-9 Presence Using SIP: Benefits 3-10 Proxy Registrar: Overview 3-11 STUN: Overview 3-15 Installing Oracle Communicator 3-16 Configuring Oracle Communicator 3-19 Oracle Communicator: Out-of-the-Box Functionality 3-21 Instant Messaging 3-22 Presence 3-23 Voice and Video Calling 3-24 Provisioning Users 3-25 Creating a User with the identity add Command 3-26 Provisioning the XDMS by Using the CommandService MBean 3-27 Summary 3-28 Practice 3 3-29 iv
4 Basic OCMS Management Objectives 4-2 OCMS Basic Management Tools 4-3 Verifying OCMS Installation and Features Using Application Server Control 4-4 OCMS Management Using Application Server Control 4-6 SIP Server Management: Overview 4-10 Starting, Stopping, and Restarting the OCMS Server 4-11 Configuring the SIP Container 4-12 Managing an Application s MBeans 4-13 Accessing MBeans 4-14 Security 4-15 Log Levels and Log Files 4-16 Changing Log Levels 4-17 Performance Monitoring 4-18 Configuring Overload Control 4-20 Overload Policy Tools 4-21 SASH: Overview 4-22 Launching SASH 4-23 Using SASH 4-24 Using SASH to Manage Identities 4-25 Basic SASH Commands 4-26 Using SASH Commands: Example 4-28 Scripting with SASH 4-29 Using the CommandService MBean to Perform SASH Commands 4-30 Summary 4-31 Practice 4 4-32 5 Introduction to SIP Objectives 5-2 Basics of SIP 5-3 How SIP Differs from HTTP 5-4 SIP Network Node Types 5-5 SIP Server Infrastructure 5-6 SIP User Agents 5-7 Basic SIP Methods 5-8 SIP Message Structure: Example 5-10 Instant Messaging: Example 5-11 Media Call: Example 5-12 Session Description Protocol (SDP) 5-13 Voice Session Structure: Example 5-14 Subscribing to Presence: Example 5-15 v
Proxy Server 5-16 Redirect Server 5-17 Other Servers 5-18 SIP Network Topology: Example 5-19 Addressing 5-20 Mapping Telephone Numbers to SIP Addresses 5-21 Session Establishment (Parallel Forking) 5-22 Session Altering: re-invite 5-23 Using One Public SIP Address 5-24 SIP in IMS 5-25 Summary 5-26 6 Introduction to the Development of SIP Servlet Applications Objectives 6-2 What Is a SIP Servlet? 6-3 SIP Servlet: Example 6-4 SIP Servlet Deployment Descriptor: Example 6-5 SIP Servlet Deployment Descriptor: sip.xml 6-6 SIP Servlet Applications 6-7 Functionality of the SIP Servlet Container 6-8 SIP Servlet Container 6-9 Server Container Architecture 6-10 Typical SIP Servlet Applications 6-11 Structure of a SIP Servlet Application 6-12 Creating SIP Applications 6-13 Packaging a SAR (or SSR) File into an EAR File 6-14 EAR File Structure for the Presence SIP Application: Example 6-15 OCMS Service Creation Environment: Benefits 6-16 Creating a SIP Servlet Application with SCE 6-17 Deploying SIP Applications 6-21 SIP Deployment Models Using Eclipse 6-22 SIP Deployment Models Using Oracle Application Server Control 6-23 SIP Deployment Models Using the admin_client.jar Commands 6-26 SIP Application Invocation 6-27 Setting an Application to Be the Default 6-28 Addressing an Application Directly 6-29 Configuring the Application Router 6-30 Verifying Application Deployment 6-31 Summary 6-33 Practice 6 6-34 vi
7 More About SIP Servlet Applications Objectives 7-2 SIP Message Components 7-3 SIP Servlet API: Overview 7-4 Classes and Methods: Sip Details, Message Definition 7-6 Classes and Methods: SIP Details, SIP Header Manipulation 7-7 Classes and Methods: Sip Details, SIP Request 7-8 Classes and Methods: Sip Details, SIP Response 7-9 Classes and Methods: SIP Details, URI 7-10 Classes and Methods: SIP Details, Address 7-11 Classes and Methods: Session Attributes 7-12 Classes and Methods: Session Invalidation 7-13 Classes and Methods: SipFactory 7-14 Using SipFactory: Example 7-15 Classes and Methods: Configuration Parameters 7-16 SIP Servlet Environment: Overview 7-17 Using TimerListener in Call-Forwarding Application: Example 7-24 Summary 7-25 Practice 7 7-26 8 Introduction to the Development of Presence Applications Objectives 8-2 What Is a Presence Client Application? 8-3 Introduction to Presence Applications 8-4 Presence Application Control Flow: Example 8-5 Presence Web Service API: Overview 8-6 PresenceSupplierWebService 8-7 PresenceConsumerWebService 8-9 Presence Application: Overview 8-10 Creating Application Logic 8-11 Deploying the Presence Application 8-12 Testing the Presence Application 8-13 Summary 8-14 Practice 8 8-15 Appendix A: Practices and Solutions Index vii