|
Please direct your comments on this JSR to:
jsr-comments@sun.com.
Don't forget to identify the JSR you are commenting on somewhere
in the subject of your e-mail (this is JSR-000023).
Section 1. Identification
Contact Information:
Vito P. Jokubaitis,
Telcordia Technologies (formerly Bellcore),
Phone: +1 973 829 2386
E-Mail: vjokubaitis@research.telcordia.com
This JSR is being submitted and endorsed by the following Java Community Process Participants:
- APiON Ltd
- DynamicSoft
- Telcordia Technologies, Inc
- Sun Microsystems
Section 2: Request
This JSR is to develop the Java APIs for Integrated Networks (JAIN) Media Gateway
Control Protocol (MGCP). It will describe the Java API for media gateway control
in the Telecommunications and Internet industry.
2.1 What is MGCP?
The Media Gateway Control Protocol (MGCP) has been introduced to the
IETF (MEGACO working group) for controlling (trunking) gateways that interconnect the
Public Switched Telephone Network (PSTN) with packet networks and for controlling
(residential) gateways that function as network interfaces for customer premise located
equipment (e.g., phones with an RJ-11 jack). MGCP is the result of merging the Simple
Gateway Control Protocol (SGCP) and Internet Protocol Device Control (IPDC). Extensive
discussions are going on currently in the Internet Engineering Task Force (IETF) on the
subject of standardizing the interface between the call agent and gateways. MGCP is one of
the candidate protocols under consideration.
2.2 Target Java Platform
The JAIN MGCP Specification is targeted towards telephony over Internet Protocol (IP)
networks.
2.3 Needs of Java Community this Specification Addresses
The JAIN MGCP Specification defines an API which allows for the rapid creation and
deployment of dynamic telephony services into a Java telephony platform. Standard
Telephony applications require costly resources to develop, test, and deploy. A JAIN MGCP
component can be rapidly developed, tested, and integrated on a variety of platforms with
access to numerous tools and utilities. A JAIN cross-platform solution gives the Carriers,
Service Providers, and Network Equipment Providers a consistent, open environment where
they can develop and deploy portable telephony services.
2.4 The API being defined
The API specified by the JAIN Protocol Expert Group Java Community Process Participants
for MGCP are based on the MGCP Internet Drafts and the Cable Labs PacketCable
Network-Based Call Signaling Protocol Specification. Instead of mapping the standard
specifications to a Java interface, the JAIN MGCP API specification abstracts a functional
definition into the variant protocol stacks.
The JAIN MGCP API is built upon the Java Beans Event model. The protocol stack vendor
supplies the JAIN MGCP 'provider' interface into the protocol stack. JAIN MGCP 'listeners'
may readily be rolled onto the platform by an object manager.
Proprietary stack features are hidden behind a Factory (a standard
design pattern).
Through a combination of common JAIN and JAIN MGCP interfaces, a
protocol stack
provider is obtained to which JAIN MGCP listeners can then register.
2.5 Underlying technologies
The JAIN MGCP Specification is based on underlying MGCP protocol stacks supplied by the
JAIN JSPA members and on other third-party MGCP protocol stack implementations. While JAIN
MGCP will adapt well to, and interwork with, other protocols such as H.323 or SIP, its
initial purpose is to provide a ubiquitous, standard interface into MGCP protocol stacks.
A JAIN MGCP application can be written as a program, applet, servlet, or bean. The JAIN
MGCP API encapsulates the functions of the differing versions of the MGCP protocol with a
standardized Java interface, so that call-processing systems can readily communicate
with Voice over IP gateways.
While no dependency on Java visual tools for constructing JAIN MGCP components is
assumed, the use of a Java Bean Manager and/or visual Java bean builder can be a
significant aid in the development, integration, testing, and deployment of a
voice-over-IP network that employs JAIN MGCP components.
2.6 Proposed package names
Package names being considered are:
- jain.protocol.mgcp
- This package contains the main interfaces, classes, and exceptions required to send and
receive MGCP messages.
- jain.protocol.sdp
- This package contains the interfaces, classes, and exceptions representing the Session
Description Protocol (SDP) used by MGCP. Note this package could also be used by the JAIN
SIP API.
- jain.protocol.mgcp.package.line
- This package contains the interfaces, classes, and exceptions associated with the MGCP
line package.
- jain.protocol.mgcp.package.asdi
- This package contains the interfaces, classes, and exceptions associated with the MGCP
ASDI package.
- jain.protocol.mgcp.package.announcement
- This package contains the interfaces, classes, and exceptions associated with the MGCP
announcement server package.
2.7 Possible platform dependencies
The Reference Implementation may have a dependency on RMI.
2.8 Security implications
None. JAIN MGCP expects to utilize standard JDK security.
2.9 Internationalization implications
Because JAIN MGCP is based on IETF specifications, the API can be readily adapted to
European and Asian markets.
2.10 Localization implications
Since JAIN MGCP is based on IETF specifications, the MGCP API can be readily adapted to
any North American market protocol stacks.
2.11 Risk assessment
JAIN MGCP moves Java into telco carrier grade service. The telecommunications industry
imposes stringent performance and failure requirements on hardware and software platforms.
Risks include failure of the Java platform due to poor performance or the inability to
failover or recover. Performance evaluation and tests based on API architecture will be
published with each release of the API. Failover will be measured and published based on
latency to recover to a like platform and recover state data through JDBC interfaces or
Transaction based tools.
2.12 Existing specifications rendered obsolete or deprecated
Not applicable.
2.13 Existing specifications needing revisions
Not applicable.
Section 3: Contributions
Documents describing JAIN can be found at http://java.sun.com/products/jain/index.html
|