JAVA Telephony Application Program Interface - PowerPoint PPT Presentation

About This Presentation
Title:

JAVA Telephony Application Program Interface

Description:

Consist of the set of classes and interfaces which are available in the package javax. ... ringers. hook switches. Speakers. microphones. 10/10/09. 27. Mobile ... – PowerPoint PPT presentation

Number of Views:560
Avg rating:3.0/5.0
Slides: 39
Provided by: csAl4
Learn more at: http://www.cs.albany.edu
Category:

less

Transcript and Presenter's Notes

Title: JAVA Telephony Application Program Interface


1
JAVA Telephony Application
Program Interface
  • by Narayana Vadlamani

2
Project Agenda
  • What is JTAPI?
  • JTAPI Architecture
  • Software Engineering and JTAPI
  • Rationale of JTAPI
  • Pitfalls

3
JTAPI
  • Portable, object-oriented API for java-based
    computer-telephony applications.
  • JTAPI is the interface between java computer
    telephony applications and telephones or
    telephone system implementations.
  • Consist of the set of classes and interfaces
    which are available in the package javax..
  • JTAPI supports both first- and third-party
    telephony application domains.

4
Basic philosophy guiding JTAPI design includes
  • Brings simplicity to the most basic telephony
    applications
  • Provides a scalable framework that spans desktop
    applications to distributed call center telephony
    applications
  • Interfaces applications directly to service
    providers or acts as a Java interface to existing
    telephony APIs, such as SunXTL, TSAPI, and TAPI

5
  • Based on a simple CORE that is augmented with
    standard extension packages
  • Runs on a wide range of hardware configurations,
    wherever Java run-time can be used

6
Architecture
  • JTAPI uses two architectural concepts
  • The JTAPI Peer
  • The Core Plus Extension Architecture

7
JTAPI Peer
  • Implementation of JTAPI for a particular
    telephony platform
  • Example PBX systems, call center servers,
    telephone sets.
  • JTAPI, standard Java APIs and the JVM are
    implemented on top of the telephony platform peer
  • peer represents the telephony systems operating
    system (OS) and the hardware of the platform.

8
JTAPI Peer
9
JTAPI Wrapper
10
Distributed JTAPI
11
Core Plus Extension Architecture
  • defines a minimum package of core functionality
    that most JTAPI implementations will have.
  • provides the functionality to make and answer
    simple two party calls.
  • additional optional packages that extend the core
    interfaces can be included in a JTAPI
    implementation as required.

12
JTAPI Extension package
  • JTAPI extension packages are not restricted to
    extending just the functionality present in the
    core.
  • Add functionalitys not present in the core.
  • All JTAPI implementations require the core
    package
  • The other packages are optional.

13
JTAPI Core Extension Architecture
14
Core/Extension Package Relationship
15
The packages defined in JTAPI 1.3
  • Core package - javax.telephony
  • Call Control - javax.telephone.callcontrol
  • Call Center - javax.telelphone.callcenter
  • Media -javax.telelphone.media
  • Mobile -javax.telelphone.mobile
  • Phone -javax.telelphone.phone
  • Private Data -javax.telelphone.privatedata

16
CORE
  • The core package contains
  • Basic call control methods
  • createCall(),
  • connect(),
  • answer(),
  • disconnect()
  • Capabilities for each of these methods.
  • Simple state transitions with corresponding
    events.

17
Connection State Transitions
18
TerminalConnection state transitions
19
Call Control
  • javax.telephony.callcontrol package extends the
    core package
  • providing more advanced call-control features
  • detailed state model of telephone calls

20
  • The additional calling features include
  • conference calling
  • transfer
  • forwarding
  • call hold
  • call join
  • message waiting
  • do not disturb
  • call park pickup

21
Callcontrol Connection States
22
Call Center
  • Provides applications the ability to perform
    advanced features necessary for managing large
    call centers.
  • The advanced features include
  • ACD agent support
  • Routing,
  • Automated Call Distribution (ACD),
  • Predictive Calling
  • Application Data (associated with telephony
    objects.)

23
RouteSession Routing
24
ACD Address Model
25
Agent Terminal States
26
Phone
  • Permits applications to control the physical
    features of telephone hardware phone sets.
  • The phone package provides interfaces to model
  • buttons
  • displays
  • Lamps
  • ringers
  • hook switches
  • Speakers
  • microphones

27
Mobile
  • JTAPI Mobile extends core JTAPI with the
    following mobile network functionality
  • Mobile Call Control,
  • Mobile Network Access and Control
  • Media Services for Mobile Applications

28
Media
  • Provides ability to manipulate media streams
    associated with calls.
  • Resources for fax servers and automatic speech
    recognition are in the planning stages.
  • Uses an extensible resource architecture to
    provide media services for
  • Players
  • Recorders
  • Signal Detectors
  • Signal Generators

29
Call Model
30
Call Model Core Objects
  • The Call Model used in JTAPI consists of six
    primary or core call control objects
  • Provider - the "window" through which JTAPI
    applications see the telephony system.
  • Call - the dynamic "collection of logical and
    physical entities" that bring two or more
    endpoints together.
  • Address - a logical end-point - a "phone number".

31
  • Connection - the dynamic relationship between a
    Call and an Address.
  • Terminal - a physical end-point - a "phone set".
  • TerminalConnection - the dynamic relationship
    between a Connection and a Terminal.

32
Call Model timing diagram
33
Private Data
  • javax.telephony.privatedata package enables
    applications to communicate data directly with
    the underlying hardware switch.
  • Means by which applications can send
    platform-specific messages to the underlying
    telephone platform.
  • Use of this interface interferes with application
    portability across different JTAPI
    implementations

34
Rationale for Java-based Telephony API
  • Desire to maximize application portability across
    vendor implementations.
  • JTAPI implementations may not be portable.
  • JTAPI applications may be portable.
  • JTAPI creates an API that allows applications to
    run on a variety of operating systems and
    hardware platforms, against a variety of
    telephony networks.

35
  • JTAPI isnt "just another telephony API" -
    although JTAPI can be implemented without
    existing telephony APIs, it was also designed to
    allow implementers to build on top of these
    existing telephony APIs.

36
Software Engineering JTAPI
  • JTAPI uses OO design
  • In the long run it will be used in Component
    Based Development

37
Pitfalls
  • Check Capabilities
  • Telephony environments vary widely in their
    functionality. JTAPI cannot reduce this
    variation, however JTAPI provides ability to
    check the capabilities of the telephony
    environment.

38
THANK YOUAny Questions ?
Write a Comment
User Comments (0)
About PowerShow.com