Find JSRs
Submit this Search

Ad Banner

JSRs: Java Specification Requests

This JSR has been Dormant
Reason: The Executive Committee voted to list this JSR as dormant in May 2012.

Updates to the Original JSR

update posted 2005.06.17: Cisco Systems, Inc. has acquired dynamicsoft, inc. Cisco (where the spec. lead works) continues to support the effort. While the Spec Lead works out the final licensing terms, the Expert Group is reviewing the materials in preparation for Final Approval Ballot.

Original Java Specification Request (JSR)

Identification | Request | Contributions | Additional Information

Section 1. Identification

Submitting Member: Dynamicsoft, Inc.

Name of Contact Person: Kelvin R. Porter

E-Mail Address:

Telephone Number: +1 972 473 5460

Fax Number: +1 972 781 0115

Specification Lead: Kelvin R. Porter

E-Mail Address:

Telephone Number: +1 972 473 5460

Fax Number: +1 972 781 0115

Initial Expert Group Membership:

Sun Microsystems, Inc

Section 2: Request

2.1 Please describe the proposed Specification:

This SDP JSR requests the creation of a Java SDP API, the purpose of which is to describe multimedia IP sessions.

The SDP API is intended to be complimentary to other APIs such as: JAIN H323, JAIN Megaco, JAIN MGCP, JAIN SIP, JMF and the Servlet APIs.

The SDP messages encode a description of a session. In SDP, a session description includes a description of one or more multi-media stream connections. A session may be bounded by one or more sets of specific intervals. These intervals can repeat.

SDP Messages are composed of two types of elements: fields and descriptions. SDP messages are formatted as a set of lines. A field is a line of text in the SDP message. Each field contain information specific some aspect of the session. There are several field types. Each field type is identified by a unique character (e.g., `c' for connection). Each field type has a fixed format for its content. A description is an aggregation of fields.

The SDP API version 1.0 will enable the proper encoding and decoding of SDP messages and allow a user to get, set or modify any element of a field or description in a SDP message.

2.2 What is the target Java platform? (i.e., desktop, server, personal, embedded, card, etc.)

Java 2 Standard Edition and/or Java 2 Enterprise Edition.

2.3 What need of the Java community will be addressed by the proposed specification?

SDP is purely a format for session description (it does not incorporate a transport protocol).

Typically, a SDP message is contained as an element of a message in the following protocols:

? Session Announcement Protocol (SAP),

? Session Initiation Protocol (SIP)

? Real- Time Streaming Protocol (RTSP),

? SMTP (electronic mail - using the MIME extensions), and the

? Hypertext Transport Protocol (HTTP).

This API will support the implementations of these protocols in other APIs.

Additionally, there are several JAIN APIs that will benefit from use of this SDP API, including:

The proposed API enables users to encode and decode SDP messages.

The SDP API specification must address the following requirements:

? The user must be able to encode any valid SDP Messages.

? The user must be able to parse the information from all valid SDP messages.

2.4 Why isn't this need met by existing specifications?

While other API efforts (e.g., JSR-00032, JSR-00079) have suggested attempting to address SDP support as a secondary issue, they have correctly focused on delivering their primary functionality.

Currently, there is no standard Java API for SDP.

The SDP protocol merits its own independent API effort. It can serve to supplement the functions of other Java APIs (e.g., JAIN SIP, JAIN H323, JAIN MGCP, JAIN Megaco, JavaMail, JMF, SIP Servlet API, HTTP Servlet API, etc.).

2.5 Please give a short description of the underlying technology or technologies:

SDP describes a session as a collection of information including information about a set of one or more media streams. The session information includes information about the name and version of a session, the originator of the session, contact information, etc. Each session may have a scheduled time and duration. A scheduled session may include multiple repeat times and even information about time zone changes.

The description of each stream includes information about the specific stream including the media type, connection information, information about the codecs.

2.6 Is there a proposed package name for the API Specification? (i.e., javapi.something, org.something, etc.)


2.7 Does the proposed specification have any dependencies on specific operating systems, CPUs, or I/O devices that you know of?


2.8 Are there any security issues that cannot be addressed by the current security model?


2.9 Are there any internationalization or localization issues?

The only internationalization issues involve the use of character sets. SDP specifies the use of the ISO 10646 for encoding, but only the US-ASCII subset is used for field and attribute names.

2.10 Are there any existing specifications that might be rendered obsolete, deprecated, or in need of revision as a result of this work?


2.11 Please describe the anticipated schedule for the development of this specification.

Creation of expert group as soon as JSR is approved.

Community Review: July 2001
Public Review: September 2001
Proposed Final Draft: November 2001
RI & TCK: November 2001
Final Release: December 2001

2.12 Please describe the anticipated working model for the Expert Group working on developing this specification.

The Expert Group should be able to accomplish the steps of the process via e-mail exchanges on a mailing list established for the use by the Expert Group, along with conference calls, when necessary.

If necessary, the group can schedule face-to-face group meetings.

Section 3: Contributions

3.1 Please list any existing documents, specifications, or implementations that describe the technology. Please include links to the documents if they are publicly available.

M. Handley and V. Jacobson, "SDP: Session Description Protocol", April 1988

M. Handley, V. Jacobson, and C. Perkins, "SDP: Session Description Protocol", April 2001

K. Porter, et. al, "SDP API Overview", TBD.

3.2 Explanation of how these items might be used as a starting point for the work.

IETF RFC 2327 is the standard specification for SDP. It specifies the valid format for documents and provides some examples of typical values form SDP messages. This document can be used to provide validation of the document.

The IETF draft is attempt to revise the current standard. The draft does not propose a new version number. The API effort will attempt to track the changes to the standard as the document proceeds through the IETF process.

The "Overview of the SDP API" is offered as a candidate API for starting the discussion.

Section 4: Additional Information (Optional)

4.1 This section contains any additional information that the submitting Member wishes to include in the JSR.

Kelvin Porter will be unavailable from July 2 - July 6, 2001. Please contact Chris Ross ( during that time, if any urgent matters arise.