JAIN SIP Tutorial
Phelim O’Doherty
Sun Microsystems
Mudumbai Ranganathan
NIST
Serving the Developer Community
Serving the Developer Community
© 2003 Sun Microsystems, Inc. All Rights Reserved.2
JAIN SIP is the standardized Java
interface to the Session Initiation Protocol
for desktop and server applications.
JAIN SIP enables transaction stateless,
transaction stateful and dialog stateful
control over the protocol.
© 2003 Sun Microsystems, Inc. All Rights Reserved.3
Presentation Outline
• What is SIP?
• Why create JAIN SIP?
• Introduction to JAIN SIP
• Developer Code Snippets
• Implementation Used-Cases
© 2003 Sun Microsystems, Inc. All Rights Reserved.4
• Session Initiation Protocol (SIP) is a signaling protocol for
creating, modifying and destroying dialogs between multiple
endpoints:
– Request/response protocol (like HTTP, but peer-peer)
– Simple and extensible
– Designed for mobility (proxy/redirect servers)
– Bi-directional authentication
– Capability negotiation
• SIP is used for controlling the signaling that enables
manipulates of sessions such as:
– Instant Messaging sessions
– Phone calls over the Internet
– Gaming servers
– Resource Location
Session Initiation Protocol
© 2003 Sun Microsystems, Inc. All Rights Reserved.5
• SIP supports five facets of establishing and
terminating multimedia communications these include:
– User location: determination of the end system to be used
for communication.
– User capabilities: determination of the media and media
parameters to be used.
– User availability: determination of the willingness of the
called party to engage in communications.
– Call setup: "ringing", establishment of call parameters at
both called and calling party.
– Call handling: including transfer and termination of calls.
SIP Functionality