Java News from Sunday, September 23, 2007

Hewlett-Packard and BEA have posted the early draft review specification of JSR 309: Media Server Control API. Quoting from the JSR,

This JSR defines an API for the generic Media Server Control. Modern IP and SIP based Media Servers are designed to perform various smart functions with media streams. Most of the Media Servers are also designed to act as an MRF (Media Resource Function) in 3G and IMS environments. Typical non-exhaustive functions provided by the Media Server would include IVR, Conferencing, Speech Recognition Services, TTS (text to speech) Services, etc.

There are several industry accepted specifications defining Media Server control protocols designed to support interactions between application servers and media servers. Those protocols provide access to Media Server functions. In most cases protocol functions can be abstracted at the business application level to provide common functionality for application developers. This JSR will define an interface that is intended to be the standard API to write multimedia applications and services for both IP and converging networks. This specification work does not intend to specify any aspect of the media server control protocols.

For developers, Media Server Control API is intended to provide a standard API for developing and deploying new media rich applications for the Java platform without a prior knowledge of the underlying Media Server Control protocols. Moreover, a Java application that invokes Media Server Control API can use any compliant implementation with any compatible Media Server. Furthermore, developers will be able to implement interoperable applications and services that can run over a variety of protocols with various Media Servers.

The central focus of this JSR is to provide an abstracted API for external Media Servers that may be controlled via different protocols from the application server. The proposed API is not protocol specific. Media servers are usually controlled by an Application Server that will have the implementation of the proposed API. API will allow extensions for protocol optional functions or Media Server optional capabilities.


The initial version of Media Server Control API is targeted to support capabilities such as IVR and Conferencing, both individually and combined within the same session. The API will be designed to handle the fact that different media servers may differ in capabilities. This will require defining packages, profiles or API capability for the application to query the level of support of a media server.

This list of requirements is not complete and this will be explored further in the expert group ? for example, additional support could be defined for ASR, TTS, or RTSP-based streaming, etc. It is intended that the priority of each of these enhancements be defined by the expert group with the goal of defining the API in an incremental manner satisfying a bulk set of requirements in each release. This is done to ensure timely delivery of the API as well as in order to gain experience with some of the more advanced features prior to standardization.