Session Initiation Protocol (Java)
Encyclopedia
Session Initiation Protocol
Session Initiation Protocol
The Session Initiation Protocol is an IETF-defined signaling protocol widely used for controlling communication sessions such as voice and video calls over Internet Protocol . The protocol can be used for creating, modifying and terminating two-party or multiparty sessions...

(SIP) is an IETF standard protocol
Communications protocol
A communications protocol is a system of digital message formats and rules for exchanging those messages in or between computing systems and in telecommunications...

 (RFC 3261 and several others for extensions, originated by 3GPP (3rd Generation Partnership Project; a mobile network standardisation body)) for IP
Internet Protocol
The Internet Protocol is the principal communications protocol used for relaying datagrams across an internetwork using the Internet Protocol Suite...

-communication, enabling IP-Telephony
Telephony
In telecommunications, telephony encompasses the general use of equipment to provide communication over distances, specifically by connecting telephones to each other....

 gateways, client endpoints, PBXs and other communication systems or devices to communicate with each other. SIP mainly addresses the call setup and tear down mechanisms of sessions and is independent of the transmission of media streams between caller and callee.

There are several Java platform APIs
Application programming interface
An application programming interface is a source code based specification intended to be used as an interface by software components to communicate with each other...

 developed under the Java Community Process
Java Community Process
The Java Community Process or JCP, established in 1998, is a formalized process that allows interested parties to get involved in the definition of future versions and features of the Java platform....

 that support Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

 SIP applications
Application software
Application software, also known as an application or an "app", is computer software designed to help the user to perform specific tasks. Examples include enterprise software, accounting software, office suites, graphics software and media players. Many application programs deal principally with...

.
Specification JSR(s)
JAIN SIP API Specification (JSIP) JSR 32 (1.0, 1.1)

JSIP 1.2 is being developed as a maintenance release of JSR 32.
SIP API for J2ME JSR 180 (1.0)
SIP Servlet
Java Servlet
A servlet is a Java programming language class used to extend the capabilities of servers that host applications accessed via a request-response programming model. Although servlets can respond to any type of request, they are commonly used to extend the applications hosted by Web servers...

 API
JSR 116 (1.0)

JSR 289 (1.1)

JSIP

The JAIN SIP Specification defines an API which allows for the rapid development of IP Telephony services and applications written in the Java(TM) programming language.
The JSIP packages
Java package
A Java package is a mechanism for organizing Java classes into namespaces similar to the modules of Modula. Java packages can be stored in compressed files called JAR files, allowing classes to download faster as a group rather than one at a time...

 are:
javax.sip, javax.sip.message, javax.sip.header, javax.sip.address
These packages contain the main interfaces
Interface (Java)
An interface in the Java programming language is an abstract type that is used to specify an interface that classes must implement. Interfaces are declared using the interface keyword, and may only contain method signature and constant declarations...

, classes
Class (computer science)
In object-oriented programming, a class is a construct that is used as a blueprint to create instances of itself – referred to as class instances, class objects, instance objects or simply objects. A class defines constituent members which enable these class instances to have state and behavior...

, and exceptions
Exception handling
Exception handling is a programming language construct or computer hardware mechanism designed to handle the occurrence of exceptions, special conditions that change the normal flow of program execution....

 required to parse, construct, send and receive SIP messages.


javax.sdp
Is a related JSR. This package contains the interfaces, classes, and exceptions representing the Session Description Protocol
Session Description Protocol
The Session Description Protocol is a format for describing streaming media initialization parameters. The IETF published the original specification as an IETF Proposed Standard in April 1998, and subsequently published a revised specification as an IETF Proposed Standard as RFC 4566 in July...

 (SDP), as specified in RFC 2327, used by SIP. This is not actually a part of the JSIP standard but is included in the reference implementation.

SIP API for J2ME

SIP API for J2ME defines a multipurpose SIP API for Java ME clients. It enables SIP applications supporting MIDP/CLDC to run SIP enabled MIDlet
MIDlet
A MIDlet is an application that uses the Mobile Information Device Profile of the Connected Limited Device Configuration for the Java ME environment...

s to be executed in memory limited terminals, especially targeting to mobile phone
Mobile phone
A mobile phone is a device which can make and receive telephone calls over a radio link whilst moving around a wide geographic area. It does so by connecting to a cellular network provided by a mobile network operator...

s.

SIP Servlet

The SIP Servlet API defines a high-level servlet extension for SIP servers. It enables SIP applications to be deployed and managed based on the servlet model.

Mobicents Sip Servlets platform, is an open source certified implementation of the SIP Servlet v1.1 (JSR 289 Spec) on top of Tomcat & JBoss containers.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK