jain0503-150007.pdf

69
JAIN JAIN Technology Technology Serving the Developer Community Serving the Developer Community [email protected] [email protected] [email protected] [email protected] http:// http:// http:// http://java.sun.com/products/jain java.sun.com/products/jain java.sun.com/products/jain java.sun.com/products/jain

Upload: thofetbg

Post on 24-Nov-2015

24 views

Category:

Documents


3 download

TRANSCRIPT

  • JAINJAIN TechnologyTechnologyServing the Developer CommunityServing the Developer Community

    [email protected]@[email protected]@sun.comhttp://http://http://http://java.sun.com/products/jainjava.sun.com/products/jainjava.sun.com/products/jainjava.sun.com/products/jain

  • 2003 Sun Microsystems, Inc. All Rights Reserved.

    Introduction

  • 2003 Sun Microsystems, Inc. All Rights Reserved.

    JAIN APIs: Java Technology for Communications

    Service Portability - Write Once, Run Anywhere

    Network Independence - Any Network

    Open Developer Interfaces - By Anyone

    The JAIN community is an industry framework designed andThe JAIN community is an industry framework designed andThe JAIN community is an industry framework designed andThe JAIN community is an industry framework designed andspecified collaboratively by groups of industry partners andspecified collaboratively by groups of industry partners andspecified collaboratively by groups of industry partners andspecified collaboratively by groups of industry partners andexperts.experts.experts.experts.

    JAIN technology is:JAIN technology is:JAIN technology is:JAIN technology is:Java Application Servers for CommunicationsJava Application Servers for CommunicationsJava Application Servers for CommunicationsJava Application Servers for CommunicationsJava Application Interfaces for CommunicationsJava Application Interfaces for CommunicationsJava Application Interfaces for CommunicationsJava Application Interfaces for Communications

  • 2003 Sun Microsystems, Inc. All Rights Reserved.

    New Service Driven Network

    Content &Services

    Content &Services

    Development and Integration ServicesDevelopment and Integration Services

    OSS & ManagementOSS & Management

    PortalServices

    PortalServices

    CoreServices

    CoreServices

    AccessNetworkAccessNetwork

    Client/DeviceClient/Device

    WirelessNetwork

    WirelessNetwork

    Broadband Network

    Broadband Network

    MultiMulti--Channel BackChannel Back--End Wireline NetworkEnd Wireline NetworkJAINJAIN

  • 2003 Sun Microsystems, Inc. All Rights Reserved.

    The Open API Premise

    APIs that are

    Open

    Industry standard

    Distributed

    Flexible

    Extensible

    will enable an abundance of diverseservice offerings to enrich the way wecommunicate.

  • 2003 Sun Microsystems, Inc. All Rights Reserved.

    Why Standard APIs ? Standard APIs enable software developers to create portable

    services and applications

    Standard APIs provide an opportunity for abstraction

    Standard APIs enable a Write Once, Profit Often world

    Standard APIs will enable the Next Generation of TelecomApplication Solutions

    Inside the Network

    At the Network Edge

    The Consumer Space

    Customer in Control of the Programmable Network

  • 2003 Sun Microsystems, Inc. All Rights Reserved.

    The Java Specification Process Java Specification Request (JSR)

    Formed by consensus

    By a group of industry experts

    By a Specification Lead

    Four major steps:

    Initiation

    Community Draft

    Public Draft

    Final Release & Maintenance

    For more information

    http://jcp.org

  • 2003 Sun Microsystems, Inc. All Rights Reserved.

    1. Test implementation using TCK

    2. Complete successful self assessment

    3. Publish TCK results on vendors website

    4. Notify JAIN Program Manager

    5. Certified product is published on JAIN website

    Spec

    RI

    TCK

    Develop TestIn-housePublish

    results onwebsite

    CompatibleProducts

    Go toMarket

    JAIN Certification Process

    For further details on the Certification Process, visit:http://java.sun.com/products/jain/certification.html

  • 2003 Sun Microsystems, Inc. All Rights Reserved.

    Execution Environments

  • 2003 Sun Microsystems, Inc. All Rights Reserved.

    SIPServlet

    Execution Environments

    Servlet

    SIPServlet

    HTTPServlet

    EJB

    JAINSLEE

    JSP

    JAINSLEE

    JVM

  • 2003 Sun Microsystems, Inc. All Rights Reserved.

    Why are Communications ApplicationsConverging on Java Containers?

    Telco apps moving to component based architectures

    Desire to use Standard, Off-the-shelf container

    Write-once, run-anywhere

    Container provides important infrastructure services

    Higher level abstractions for State management, Transactions, Security,Resource pooling,

    Focus on core value-add application logic

    Leverage large community of Java developers

    Leverage enterprise development tools, test suites,

    Time to market and reduced development cost

  • 2003 Sun Microsystems, Inc. All Rights Reserved.

    Communications Containers

    SLEE

    SBB App

    EJB

    JSP App EJB App

    HTTP ServletSIP ServletSIP, Content-based Charging, Call Control,

    Presence, Messaging, Mobility

    SIP App

    SLEEINAP, TCAP, SIP

    SBB App SBB App

    SIP ServletSIP

    SIP App SIP App

    Operator Network: Communications ServicesOperator Network: Communications ServicesOperator Network: Communications ServicesOperator Network: Communications ServicesOperator Network: Communications ServicesOperator Network: Communications ServicesOperator Network: Communications ServicesOperator Network: Communications ServicesCall Control Servers, Proxy Servers,Call Control Servers, Proxy Servers,Location, Presence and MessagingLocation, Presence and Messaging

    Open Developer: Converged ServicesOpen Developer: Converged ServicesOpen Developer: Converged ServicesOpen Developer: Converged ServicesOpen Developer: Converged ServicesOpen Developer: Converged ServicesOpen Developer: Converged ServicesOpen Developer: Converged Services

    Containers inContainers inContainers inContainers in

    orange boxesorange boxesorange boxesorange boxes

  • 2003 Sun Microsystems, Inc. All Rights Reserved.

    J2EE

    JAIN SLEEJAIN SLEEJAIN SLEEJAIN SLEE

    Application Servers, OMA & OSA

    Web Service

    OSAFunction

    SIPFunction

    PresenceFunction

    OtherFunction

    Web ServiceProvider

    SOAP

    SOAP

    SOAP

    SOAP

    Protocols

    SIP

    Protocols

    Protocols

    Web ServiceRequester

    J2SE, J2EEor J2ME

    AppSOAP

  • 2003 Sun Microsystems, Inc. All Rights Reserved.

    JAIN Service LogicExecution Environment

    (SLEE)

  • 2003 Sun Microsystems, Inc. All Rights Reserved.

    JAIN SLEE (JSR 22) Low latency and high throughput application

    server for event processing

    Latency < 100 ms

    100s to 1000s of events per second

    Event optimized component model

    Designed for stringent requirements of eventprocessing applications

    Distributed component model like EJB

  • 2003 Sun Microsystems, Inc. All Rights Reserved.

    JAIN SLEE ArchitectureManagement Application

    Network Functions

    SLEE ComponentContainercomponent

    instance

    componentinstance

    componentinstance

    componentinstance

    componentinstance

    JMX Agent

    Trace Facility

    Timer Facility

    Alarm Facility

    Usage Facility

    JAIN Application Interfaces

    Event Dispatcher

    SLEE and ServiceManagement

    Interfaces

  • 2003 Sun Microsystems, Inc. All Rights Reserved.

    Benefits of JAIN SLEE High performing platform for event driven applications

    Supports simple and complex telecommunications applications

    Applications deal with service logic only

    System issues handled by container i.e. threading, transactions

    Simplified application development through decoupled event consumers and event providers

    Standard application framework

    Defined programming model

    Object Orientated, asynchronous, robust and distributable

    Event routing integrated to component model

    Independent of underlying networks

    Asynchronous support

    Elaborate event distribution mechanism (with priority)

    Maps events to method invocations on components

    Creates component instances in response to initial events

    SLEE reduces cost and improves time-to-market

  • 2003 Sun Microsystems, Inc. All Rights Reserved.

    SLEE Application Characteristics

    Course-grained events

    Low Frequency

    Fine-grained events

    High Frequency

    Event GranularityEvent GranularityEvent GranularityEvent Granularity

    Heavy weight data accessobjects

    Long persistent lifetimes

    Light-weight fine-grained objects

    Short transient lifetimes- Rapid creation, deletion

    ComponentsComponentsComponentsComponents

    Database servers- Definitive master copy

    Back-end systems

    Multiple data sources- Location, context information- Provisioned data, cached from master copy

    Data SourcesData SourcesData SourcesData Sources

    Database transactions- Slower completion and less frequent

    Light-weight transactions- For state replication demarcation- Faster completion and more frequent

    TransactionsTransactionsTransactionsTransactions

    Typically synchronous- Database, EAI systems- RPC Calls

    Typically asynchronous- Events such as protocol triggers- Events occurrences mapped to method invocations

    InvocationsInvocationsInvocationsInvocations

    Database access intensiveCompute-intensive- Processing is resource invocations & events

    ComputationComputationComputationComputation

    EnterpriseEnterpriseEnterpriseEnterpriseCommunicationsCommunicationsCommunicationsCommunications

  • 2003 Sun Microsystems, Inc. All Rights Reserved.

    SLEE Applications Characteristics

    2 to 32 CPUs1 to 4 CPUsNodesNodesNodesNodes

    2 to 4 nodes2 to 16 nodesClustersClustersClustersClusters

    Centralized deploymentin small number of datacenters

    Distributed deploymentthroughout network

    DeploymentDeploymentDeploymentDeploymentDistributionDistributionDistributionDistribution

    Soft real-timeRealRealRealReal----timetimetimetime

    2 to 3 9s3 to 5 9sAvailabilityAvailabilityAvailabilityAvailability

    EnterpriseEnterpriseEnterpriseEnterpriseCommunicationsCommunicationsCommunicationsCommunications

    Applications characteristics driveApplications characteristics driveApplications characteristics driveApplications characteristics driveContainer Design!Container Design!Container Design!Container Design!

  • 2003 Sun Microsystems, Inc. All Rights Reserved.

    Application Requirements

    Low latency Time to setup a call < 500 ms

    High throughput 1,000,000 Busy Hour Call Attempts (Operator specific)

    High availability, 99.999% expected < 6 minutes downtime per year (planned and unplanned)

    Different notion of availability

    Small partial failures (< 5%) count against availability

    Graceful handling of load spikes above maximumsystem capacity

  • 2003 Sun Microsystems, Inc. All Rights Reserved.

    Low Latency RequirementsWhat is required to set up a call in 500 ms?

    Traverse 25 network nodes or application servers

    Minimum 2 protocol messages events per node(application dependant)

    1 transaction per event

    Approx 4 10 events to process within 500 ms(excluding propagation delay, some processing overlapped with propagation)

    50 125 ms per transaction(for simple transactions with redundancy for single failure tolerance)

  • 2003 Sun Microsystems, Inc. All Rights Reserved.

    High Throughput Requirements

    What does 1,000,000 BHCA require?

    2 10 protocol messages or events per call(application dependant)

    1 transaction per event

    Approx 280 call attempts per second

    560 2800 transactions per second

  • 2003 Sun Microsystems, Inc. All Rights Reserved.

    JAIN SLEE in Communications Networks

    2G and 2.5G Networks Service Control Point Service Node (2G to 3G

    using a Media Gateway)

    3G Networks Service Switching

    Control Point Service Switching Point SIP Proxy 3GPP IMS CSCFs

    Convergent Networks Gatekeeper Common Service

    Delivery Platform

    Convergent SCP, SSCP,SSP

    OSA Gateway

  • 2003 Sun Microsystems, Inc. All Rights Reserved.

    PacketNetwork

    JAIN CC

    JAIN SLEE

    ApplicationExecutionPlatform

    PSTN or PacketNetwork

    PSTNNetwork

    JAIN SIP JAIN TCAP

    IndustryStandardInterfaces

    ProprietaryNetworkElements

    NetworkResourceAdaptor

    AppAppApp

    JAIN SLEE & Integrated Networks

  • 2003 Sun Microsystems, Inc. All Rights Reserved.

    PSTN IPNetworksWireless2G/3G

    Service CreationE

    nvironment

    Service Logic Execution Environment

    WebCollaboration

    Converged Service Portal

    TrueConvergeTM

    Services

    PDA

    PC

    MobilePhone

    IPAppliance

    POTS

    Gaming

    VirtualReality

    Applications

    Service Managem

    ent E

    nvironment

    UnifiedMessaging

    Network Adaptation Layer

    JAIN Parlay JTAPI OSA VXML

    2002 TrueTel Communications Inc, All Rights Reserved

    TrueTel: First live deployment in Taiwan Eastern Broadband Telecom

  • 2003 Sun Microsystems, Inc. All Rights Reserved.

    SIP ServletExecution Environment

  • 2003 Sun Microsystems, Inc. All Rights Reserved.

    SIP Servlet (JSR 116) SIP Servlets typically reside on network servers

    make routing decisions

    Supported RFCs:

    RFC 3261, 3262, 3265, 3428, 2976

    Utilizes http servlet model as foundation

    builds on http generic part for SIP request and response functionality

    Applications perform a complete set of SIP signalingactions

    User agent client (UAC)

    User agent server (UAS)

    Proxy server

  • 2003 Sun Microsystems, Inc. All Rights Reserved.

    SIP Servlet Goals

    Simplicity for the application developer Containers handle non-essential complexity

    Containers support converged applications Applications that span multiple protocols and media types

    Third party application development An XML DD is used to communicate application information from

    the application developer to deployers

    Application composition Several applications can execute on the same incoming or

    outgoing request or response

    Each application has its own set of rules and executesindependently

  • 2003 Sun Microsystems, Inc. All Rights Reserved.

    Extension to HTTP Servlet Model

    HTTP is not a peer-to-peer protocol like SIPtherefore SIP Servlet extensions include:

    Initiate requests

    Receive responses as well as requests

    Generate multiple Responses

    one or more 1xx followed by a final response

    Proxying requests, possibly to multiple destinations

  • 2003 Sun Microsystems, Inc. All Rights Reserved.

    Protocol and Application Sessions

    SIP Servlet defines two types of sessions:

    SipSession (Protocol Session)

    Equivalent to HTTP Session and represents a Dialog in SIP

    SipApplicationSession

    Provides storage for application data

    Enables different protocol sessions to share state i.e., HTTPand SIP

    Defined by SIP Servlet but is expected to be adopted by theHTTP Servlet specification in a future release.

  • 2003 Sun Microsystems, Inc. All Rights Reserved.

    Message Hierarchy

    SipServletResponseSipServletRequest

    SipServletMessage

    ServletRequest ServletResponse javax.servlet

    javax.servlet.sip

  • 2003 Sun Microsystems, Inc. All Rights Reserved.

    Application Interfaces

  • 2003 Sun Microsystems, Inc. All Rights Reserved.

    JAIN Application Interfaces

    Open DeveloperService

    Elements

    Network Elements

    Application LayerApplication LayerApplication LayerApplication Layer

    Network LayerNetwork LayerNetwork LayerNetwork Layer

    Operator ApplicationsOperator ApplicationsOperator ApplicationsOperator Applications Open Developer ApplicationsOpen Developer ApplicationsOpen Developer ApplicationsOpen Developer Applications

    OperatorService Elements

    JAIN ApplicationJAIN ApplicationJAIN ApplicationJAIN ApplicationInterfacesInterfacesInterfacesInterfaces

  • 2003 Sun Microsystems, Inc. All Rights Reserved.

    Network Functions & ApplicationInterfaces

    Call ControlFunction

    SIPFunction

    PresenceFunction

    PaymentFunction

    JCC

    JAIN SIP

    JAIN PAM

    JPay

    Protocols

  • 2003 Sun Microsystems, Inc. All Rights Reserved.

    Application Interfaces & OMA WebServices

    Web Service

    Call ControlFunction

    SIPFunction

    PresenceFunction

    PaymentFunction

    JCC JAIN SIP JAIN PAM JPay

    Web ServiceProvider

    Protocols

    SIP

    Protocols

    Protocols

    SOAP

    SOAP

    SOAP

    SOAPWeb ServiceRequester

    AppSOAP

  • 2003 Sun Microsystems, Inc. All Rights Reserved.

    Session InitiationProtocol (SIP)

  • 2003 Sun Microsystems, Inc. All Rights Reserved.

    Java-standard interface to a SIP signaling stack

    Standardizes the interface to the stack

    Standardizes the events and event semantics

    Application portability - verified via the TCK

    Designed for the developer who requires powerful access tothe SIP protocol

    JAIN SIP can be utilized in a user agent, proxy, or embeddedinto a service container

    Supported RFCs:

    RFC 3261, 2976, 3262, 3265

    RFC 3311, 3428, 3515

    JAIN SIP (JSR 32)

  • 2003 Sun Microsystems, Inc. All Rights Reserved.

    JAIN SIP Architecture

    Network

    Listener

    Provider

    Stack

    SIP EventsSIP Messages

    Application

    Listening Point

    Provider

    Stack

    Listener

    SIP EventsSIP Messages

    Listening Point

  • 2003 Sun Microsystems, Inc. All Rights Reserved.

    Features provided by JAIN SIP

    Provide methods to format and send SIP messages

    Parse incoming messages

    enables application to access fields via standardized interface

    Invoke appropriate application handlers when protocolsignificant

    message arrivals, Transaction time-outs

    Provide Transaction support

    manage Transaction state and lifetime on behalf of application

    Provide Dialog support

    manage Dialog state and lifetime on behalf of application

  • 2003 Sun Microsystems, Inc. All Rights Reserved.

    JAIN SIP & Instant Messaging

    Suitable for IM and PresenceClients and Servers

    Supports required methods andHeaders

    Creates and manages Dialogs forSUBSCRIBE and MESSAGEmethods

    JAIN IM Client SipListener is about1100 LOC

    Interoperates with Microsoft IMand packaged with RI

  • 2003 Sun Microsystems, Inc. All Rights Reserved.

    JAIN SIP in Proxy Servers

    Facilitates construction of ProxyServers

    Stateless, Transaction-stateful, andDialog-stateful operation

    Access to Dialog/Transaction stateand route tables

    Extensibility and applicationcontrolled Routing

    Deep copy semantics for cloning

    Proxy (including presence server) isabout 3500 LOC and is includedwith RI

  • 2003 Sun Microsystems, Inc. All Rights Reserved.

    JAIN SIP Support in JAIN SLEE

    JAIN SLEE represents network resources as resource adaptorsand each resource adaptor has a type

    Resource adaptor type for JAIN SIP is javax.sip

    JAIN SLEE identifies Event by Event types JAIN SIP Events are classified RequestEvents, ResponseEvents and

    TimeoutEvents, each of these classifications contains numerous types

    For example the event type of a Request message of type INVITE isjavax.sip.RequestEvent.Request.INVITE

    JAIN SLEE represents the flow of events as activities

    Activity Objects in JAIN SIP are ClientTransactions (locally initiated) andServerTransactions (remotely initiated)

  • 2003 Sun Microsystems, Inc. All Rights Reserved.

    JAIN SIP Support in J2EE

    JCA Connector

    SIP EJB

    JAIN SIP

    A

    p

    p

    S

    e

    r

    v

    e

    r

    J2EE

    A

    p

    p

    S

    e

    r

    v

    e

    r

  • 2003 Sun Microsystems, Inc. All Rights Reserved.

    App

    SIP Execution Environments

    JAIN SIP

    SIPServlet EJB JAINSLEE

    JVM

    AppAppApp

  • 2003 Sun Microsystems, Inc. All Rights Reserved.

    SIP

    Packet Network

    Message Layer

    Transaction Layer

    Dialog Layer

    JAIN SIP

    JCC JAIN SLEE SIP Servlet IndustryStandardInterfaces

    ProprietaryInterfaces

    Relative SIP Network Interfaces

  • 2003 Sun Microsystems, Inc. All Rights Reserved.

    SIP for J2ME is the standardized SIP interface formobile handsets

    SIP for J2ME is an optional package for the J2MEplatform

    enables resource limited devices to send and receive SIPmessages

    Designed for the CLDC profile, however can be usedwith the CDC profile

    Gives transactional control over the SIP protocol

    Client devices must support SIP for Rel5.0 of the UMTSarchitecture.

    SIP for J2ME is the perfect platform for these client devices

    SIP for J2ME (JSR 180)

  • 2003 Sun Microsystems, Inc. All Rights Reserved.

    Enables terminals supporting CLDC to run SIP enabledMIDlets

    Builds upon CLDC Generic Connection framework

    Specifically targeted at mobile phone handsets

    Retains the look and feel of the HTTP API

    Ensures small API size and keeps the number of createdobjects low

    Provides developers with helper functions

    RefreshHelper for Register and Subscribe

    SIP for J2ME Goals

  • 2003 Sun Microsystems, Inc. All Rights Reserved.

    Connection

    InputConnection OutputConnectionSipConnection DatagramConnection

    StreamConnection

    ContentConnection

    HttpConnection

    SipConnectionNotifier

    SipClientConnection

    SipServerConnection

    SIP for J2ME & the GenericConnection Framework

  • 2003 Sun Microsystems, Inc. All Rights Reserved.

    SIP for J2ME Architecture

  • 2003 Sun Microsystems, Inc. All Rights Reserved.

    J2EE Business TierTelecomJAIN SIP & JAIN SLEE RA

    J2MEDeviceSIP for J2ME

    J2EE Web TierEnterpriseSIP Servlet

    J2EE Business TierEnterpriseJAIN SIP & J2EE Connector

    J2SEDesktopJAIN SIP

    Target Java PlatformTarget Java PlatformTarget Java PlatformTarget Java PlatformDeveloper CommunityDeveloper CommunityDeveloper CommunityDeveloper CommunitySpecificationSpecificationSpecificationSpecification

    Application Development Options

  • 2003 Sun Microsystems, Inc. All Rights Reserved.

    Presenceand

    Instant Messaging

  • 2003 Sun Microsystems, Inc. All Rights Reserved.

    JAIN Presence & JAIN IM

    JAIN Presence (JSR 186)

    A client-side API for Presence

    Watcher and Publisher modes

    J2ME (thin clients) and J2SE (thick clients) based

    Receives and publishes presence information to presence (andavailability management) servers

    JAIN IM (JSR 187)

    A client-side API for Instant Messaging

    J2ME (thin clients) and J2SE (thick clients) based

    Receives and publishes instant messages to IM servers

    Orthogonal yet complementary to JAIN Presence

  • 2003 Sun Microsystems, Inc. All Rights Reserved.

    JAIN PAM (JSR 123)

    A server-side API for Presence and Availability Management

    J2EE (network servers) based

    Receives presence information from a variety of devices

    location servers, presence servers, mobile terminals, etc.

    Publishes presence information to a variety of devices

    presence servers, mobile terminals, etc.

    Manages the availability of users based on the identity of thepresence requestor and the communications mode

  • 2003 Sun Microsystems, Inc. All Rights Reserved.

    Presence & Instant Messaging

    JAIN Presence

    JAIN PAM

    J

    A

    I

    N

    I

    M

    SIP, WV,Jabber, etc..

    JAIN PAM

    JAIN Presence

    J

    A

    I

    N

    I

    M

  • 2003 Sun Microsystems, Inc. All Rights Reserved.

    CLDC

    MIDP

    SIP and IM Interfaces for J2ME

    JAINSIMPLE

    SIP forJ2ME

    KVM

    JAINPIM

  • 2003 Sun Microsystems, Inc. All Rights Reserved.

    Call Control

  • 2003 Sun Microsystems, Inc. All Rights Reserved.

    JAIN Call Control JCC (JSR 21)

    Call manipulation

    observing, initiating, answering and processing

    Enables unified call control for multimedia, multiparty,multi-protocol sessions over underlying integrated networks

    SimpleSimpleSimpleSimple yet provides a reasonably rich set of functions

    Supports first-party as well as third-party calls

    Service drivers include:

    800/900 Number Translation, Wake-up Call

    Voice Activated Dialing, Click to Dial

    Copyright 2001 Telcordia Technologies. All Rights Reserved.

  • 2003 Sun Microsystems, Inc. All Rights Reserved.

    NetworkAdaptor

    NetworkAdaptor

    JAIN Call Control Realization

    IP Network SS7 Network

    JAINSIP

    NetworkAdaptor

    JCC Implementation

    JCC App JCC App

    JAININAP

    JAINTCAP

  • 2003 Sun Microsystems, Inc. All Rights Reserved.

    JAIN CAll control exTensions JCAT (JSR 122)

    A rich call model to address extended call control

    Extends JAIN Call Control v1.1 with concepts to model and control terminalcapabilities

    Addresses end-office environment

    Class 5, local exchange

    Supports first-party as well as third-party calls

    Introduces richer FSM, Terminal and TerminalConnection objects

    Explicitly models terminals (unlike JCC)

    JCC's state transitions models are enriched and more control is providedover its processing

    Copyright 2001 Telcordia Technologies. All Rights Reserved.

  • 2003 Sun Microsystems, Inc. All Rights Reserved.

    JCAT Architecture

    Requirements drivenby a list of ServiceDriversAddress those Services

    not supported by JCC

    Provider

    Call

    Connection Connection

    TerminalConnection

    TerminalConnection

    Address Address

    Terminal Terminal

  • 2003 Sun Microsystems, Inc. All Rights Reserved.NTT Network Service Systems Laboratories NTT 2001

    Application Portability across NGNApplication Portability across NGN--CAsCAs using JAINusing JAINTMTM

    HighHigh--speed Broadband Internet Backbonespeed Broadband Internet Backbone

    NGNNGN--CACA(NEC)(NEC)

    Open APIPlatform

    Open APIPlatform

    APLAPL

    NGNNGN--CACA(Fujitsu/Lucent)(Fujitsu/Lucent)

    Open APIPlatform

    Open APIPlatform

    APLAPLApplicationApplicationSoftwareSoftware

    (NTT)(NTT)

    JAINJAINTMTMCall ControlCall ControlAPIAPI

    BroadbandInternet Access

    Dialup,Mobile High-Speed BroadbandInternet Access

    JAINJAINTMTMCall ControlCall ControlAPIAPI

    NGN-CA realizesthe efficient development and deployment of new services

    and stimulate the network service market.

    NGN-CA realizesthe efficient development and deployment of new services

    and stimulate the network service market.

  • 2003 Sun Microsystems, Inc. All Rights Reserved.

    Summary

  • 2003 Sun Microsystems, Inc. All Rights Reserved.

    S-CSCFMGCF

    MGW

    HSS

    ApplicationServer

    SIP for J2ME

    JAIN SIP

    SIP for J2ME

    JAIN SIP

    JAIN PIM

    JAIN SLEE

    JAIN SLEE

    SIP ServletJAIN PAM

    I-CSCF

    CoreNetwork

    VisitedNetwork

    P-CSCF

    JAIN SLEE

    ApplicationServer

    HomeNetwork

    ApplicationServer

    Sample Network Architecture

    UntrustedNetwork

    OSA/OMAFramework Node

    OSA/OMAFramework Node

    J2EEJAIN SLEE

    IMS, OMA, OSA

  • 2003 Sun Microsystems, Inc. All Rights Reserved.

    SIP network

    NIST: JAIN SIP stack, JsPhone, IM UA & Proxy

    Open Cloud: JAIN SLEE 3GPP IMS network elements

    Siemens: SIP Servlet Application Server

    OSA network

    jNETx: JAIN SLEE OSA Platform

    Presence network

    Teltier: JAIN PAM Presence Server

    See further JAIN vendor solutions at:http://java.sun.com/products/jain/certified_products.html

    Sample vendor solutions

  • 2003 Sun Microsystems, Inc. All Rights Reserved.

    Telco-specific development will be facilitated by using off-the-shelf middleware platforms, along with component-centricsoftware platforms and architectures, such as J2EE and JAINSLEE. With this we can see a reduction in infrastructure costsand opportunities for new revenue-generating services.

    Elmar Weber, Vodafone

    Open network interface is the thrust of our whole NextGeneration Services environment. While we may choose to gowith a vendors proprietary API that meets an internal businessneed, JAIN will be the minimal entry requirement.

    Chris Shaw, Orange

    Feedback from the OperatorsUnless we talk about what we want, were not going to get it.

  • 2003 Sun Microsystems, Inc. All Rights Reserved.

    JAIN SIP (JSR 32) Maintenance Review

    SIP Servlet (JSR 116) Final Release

    JAIN SLEE (JSR 22) Proposed Final Draft 2

    JAIN PAM (JSR 123) Completed Public Review

    SIP for J2ME (JSR 180) Public Review

    JAIN Call Control (JSR 21) 2nd Maintenance Review

    JAIN JCAT (JSR 122) Community Review

    JAIN Presence (JSR 186) Community Review soon

    JAIN IM (JSR 187) Community Review soon

    SAMS (JSR 212) New JSR approved

    For a complete listing of JAIN JSRs, visit:http://java.sun.com/products/jain/api_specs.html

    Key JAIN JSRs

  • 2003 Sun Microsystems, Inc. All Rights Reserved.

    JAIN technology is being specified as a communityextension to the Java 2 Platforms

    Development is being carried out under the termsof the Java Community Process (JCP)

    Visit http://jcp.org/en/participation/overview

    JCP Participants must sign either:

    the Java Specification Participation Agreement (JSPA)

    Individual Expert Participation Agreement (IEPA)

    How to Get Involved

  • 2003 Sun Microsystems, Inc. All Rights Reserved.

    For More InformationThe JAIN APIs:The JAIN APIs:The JAIN APIs:The JAIN APIs:

    http://java.sun.com/products/jain

    Certification:Certification:Certification:Certification:

    http://java.sun.com/products/jain

    JAIN Products:JAIN Products:JAIN Products:JAIN Products:

    http://java.sun.com/products/jain

    JAIN Discussion Lists:JAIN Discussion Lists:JAIN Discussion Lists:JAIN Discussion Lists:

    http://archives.java.sun.com

    Java Community Process:Java Community Process:Java Community Process:Java Community Process:

    http://jcp.org

    Contact:Contact:Contact:Contact:

    [email protected]

  • [email protected]@[email protected]@sun.comhttp://http://http://http://java.sun.com/products/jainjava.sun.com/products/jainjava.sun.com/products/jainjava.sun.com/products/jain

    JAINJAIN TechnologyTechnologyServing the Developer CommunityServing the Developer Community

    Slide 1IntroductionJAIN APIs: Java Technology for ...New Service Driven NetworkThe Open API PremiseWhy Standard APIs ?Standard APIs enable software de...Standard APIs provide an opportu...Standard APIs enable a Write Onc...Standard APIs will enable the Ne...Inside the NetworkAt the Network EdgeThe Consumer SpaceCustomer in Control of the Progr...

    The Java Specification ProcessJava Specification Request (JSR)Formed by consensusBy a group of industry expertsBy a Specification LeadFour major steps:InitiationCommunity DraftPublic DraftFinal Release & MaintenanceFor more informationhttp://jcp.org

    JAIN Certification ProcessExecution EnvironmentsExecution EnvironmentsWhy are Communications Applicati...Telco apps moving to component b...Desire to use Standard, Off-the-...Write-once, run-anywhereContainer provides important inf...Higher level abstractions for St...Focus on core value-add applicat...Leverage large community of Java...Leverage enterprise development ...

    Communications ContainersApplication Servers, OMA & OSAJAIN Service Logic Execution En...JAIN SLEE (JSR 22)Low latency and high throughput ...Latency < 100 ms100s to 1000s of events per se...Event optimized component modelDesigned for stringent requireme...Distributed component model like...

    JAIN SLEE ArchitectureBenefits of JAIN SLEEHigh performing platform for eve...Supports simple and complex tele...Applications deal with service l...System issues handled by contain...Simplified application developme...Standard application frameworkDefined programming modelObject Orientated, asynchronous,...Event routing integrated to comp...Independent of underlying networ...Asynchronous supportElaborate event distribution mec...Maps events to method invocation...Creates component instances in r...

    SLEE Application CharacteristicsSLEE Applications Characteristic...Application RequirementsLow latencyTime to setup a call < 500 msHigh throughput1,000,000 Busy Hour Call Attempt...High availability, 99.999% expec...< 6 minutes downtime per year (p...Different notion of availabilitySmall partial failures (< 5%) co...Graceful handling of load spikes...

    Low Latency RequirementsHigh Throughput RequirementsJAIN SLEE in Communications Netw...2G and 2.5G NetworksService Control PointService Node (2G to 3G using a M...3G NetworksService Switching Control PointService Switching PointSIP Proxy3GPP IMS CSCFsConvergent NetworksGatekeeperCommon Service Delivery PlatformConvergent SCP, SSCP, SSPOSA Gateway

    JAIN SLEE & Integrated NetworksSlide 25SIP Servlet Execution Environme...SIP Servlet (JSR 116)SIP Servlets typically reside on...make routing decisionsSupported RFCs:RFC 3261, 3262, 3265, 3428, 2976Utilizes http servlet model as f...builds on http generic part for ...Applications perform a complete ...User agent client (UAC)User agent server (UAS)Proxy server

    SIP Servlet GoalsSimplicity for the application d...Containers handle non-essential...Containers support converged app...Applications that span multiple ...Third party application developm...An XML DD is used to communicate...Application compositionSeveral applications can execute...Each application has its own set...

    Extension to HTTP Servlet ModelHTTP is not a peer-to-peer proto...Initiate requestsReceive responses as well as req...Generate multiple Responsesone or more 1xx followed by a fi...Proxying requests, possibly to m...

    Protocol and Application Session...SIP Servlet defines two types of...SipSession (Protocol Session)Equivalent to HTTP Session and r...SipApplicationSessionProvides storage for application...Enables different protocol sessi...Defined by SIP Servlet but is ex...

    Slide 31Application InterfacesJAIN Application InterfacesNetwork Functions & Application ...Application Interfaces & OMA Web...Session Initiation Protocol (SI...JAIN SIP (JSR 32)Java-standard interface to a SIP...Standardizes the interface to th...Standardizes the events and even...Application portability - verifi...Designed for the developer who r...JAIN SIP can be utilized in a us...Supported RFCs:RFC 3261, 2976, 3262, 3265RFC 3311, 3428, 3515

    JAIN SIP ArchitectureFeatures provided by JAIN SIPProvide methods to format and se...Parse incoming messagesenables application to access fi...Invoke appropriate application h...message arrivals, Transaction ti...Provide Transaction supportmanage Transaction state and lif...Provide Dialog supportmanage Dialog state and lifetim...

    JAIN SIP & Instant MessagingSuitable for IM and Presence Cli...Supports required methods and He...Creates and manages Dialogs for ...JAIN IM Client SipListener is ab...Interoperates with Microsoft IM ...

    JAIN SIP in Proxy ServersFacilitates construction of Prox...Stateless, Transaction-stateful,...Access to Dialog/Transaction sta...Extensibility and application co...Deep copy semantics for cloningProxy (including presence server...

    JAIN SIP Support in JAIN SLEEJAIN SLEE represents network res...Resource adaptor type for JAIN S...JAIN SLEE identifies Event by Ev...JAIN SIP Events are classified R...For example the event type of a ...JAIN SLEE represents the flow of...Activity Objects in JAIN SIP are...

    JAIN SIP Support in J2EESIP Execution EnvironmentsRelative SIP Network InterfacesSIP for J2ME (JSR 180)SIP for J2ME is the standardized...SIP for J2ME is an optional pack...enables resource limited devices...Designed for the CLDC profile, h...Gives transactional control over...Client devices must support SIP ...SIP for J2ME is the perfect plat...

    SIP for J2ME GoalsEnables terminals supporting CLD...Builds upon CLDC Generic Connect...Specifically targeted at mobile ...Retains the look and feel of t...Ensures small API size and keeps...Provides developers with helper ...RefreshHelper for Register and S...

    SIP for J2ME & the Generic Conne...SIP for J2ME ArchitectureApplication Development OptionsPresence and Instant MessagingJAIN Presence & JAIN IMJAIN Presence (JSR 186)A client-side API for PresenceWatcher and Publisher modesJ2ME (thin clients) and J2SE (th...Receives and publishes presence ...JAIN IM (JSR 187)A client-side API for Instant Me...J2ME (thin clients) and J2SE (th...Receives and publishes instant m...Orthogonal yet complementary to ...

    JAIN PAM (JSR 123)A server-side API for Presence a...J2EE (network servers) basedReceives presence information fr...location servers, presence serve...Publishes presence information t...presence servers, mobile termina...Manages the availability of user...

    Presence & Instant MessagingSIP and IM Interfaces for J2MECall ControlJAIN Call Control JCC (JSR 21)Call manipulationobserving, initiating, answering...Enables unified call control for...Simple yet provides a reasonably...Supports first-party as well as ...Service drivers include:800/900 Number Translation, Wake...Voice Activated Dialing, Click t...

    JAIN Call Control RealizationJAIN CAll control exTensions ...A rich call model to address ext...Extends JAIN Call Control v1.1 w...Addresses end-office environmentClass 5, local exchangeSupports first-party as well as ...Introduces richer FSM, Terminal ...Explicitly models terminals (unl...JCC's state transitions models a...

    JCAT ArchitectureRequirements driven by a list of...Address those Services not suppo...

    Slide 61SummarySample Network ArchitectureSample vendor solutionsSIP networkNIST: JAIN SIP stack, JsPhone,...Open Cloud: JAIN SLEE 3GPP IMS ...Siemens:SIP Servlet Application...OSA networkjNETx: JAIN SLEE OSA PlatformPresence networkTeltier: JAIN PAM Presence Ser...See further JAIN vendor solution...

    Feedback from the OperatorsUnl...Telco-specific development will...Open network interface is the t...

    Key JAIN JSRsJAIN SIP (JSR 32) Maintenan...SIP Servlet (JSR 116) Final ...JAIN SLEE (JSR 22) Proposed...JAIN PAM (JSR 123) Complete...SIP for J2ME (JSR 180) Publ...JAIN Call Control (JSR 21) 2n...JAIN JCAT (JSR 122) Communi...JAIN Presence (JSR 186) Commu...JAIN IM (JSR 187) Community...SAMS (JSR 212) New JSR appr...For a complete listing of JAIN J...

    How to Get Involved JAIN technology is being specif...Development is being carried out...Visit http://jcp.org/en/particip...JCP Participants must sign eithe...the Java Specification Participa...Individual Expert Participation ...

    For More InformationSlide 69