JAIN - Free

Transcription

JAIN - Free
LA TE CH N O LO G I E
JAIN
JAVA APIs for INTEGRATED NETWORKS
Brendle Christophe
Présentation personnelle
Page 1 sur 22
TAB LE DES MATIÈRES
1.
RÉSUMÉ...............................................................................................................................4
2.
INTRODUCTION...................................................................................................................5
3.
ARCHITECTURE ET INTERFACES....................................................................................6
3.1. Les couches d’abstractions ......................................................................................................................................6
3.2. Principe des interfaces JAIN ..................................................................................................................................7
3.3. Architecture actuelle et architecture JAIN.........................................................................................................8
4.
LES ÉLÉMENTS FOURNI PAR JAIN..................................................................................9
4.1. JAIN Protocol API.....................................................................................................................................................9
4.2. JAIN Call Control API.............................................................................................................................................9
4.3. JAIN Logic Execution Environment ....................................................................................................................9
4.4. JAIN Service Creation Environment ................................................................................................................ 11
4.5. API et environnements dans l’architecture JAIN.......................................................................................... 12
5.
AVANTAGES ET INTÉRÊT S ÉCONOMIQUES DE JAI N................................................ 12
6.
EXEMPLES D’APPLICATIONS........................................................................................ 13
6.1. Click To Phone ........................................................................................................................................................ 13
6.2. Informations personalisées en fonction du lieu............................................................................................... 14
6.3. Simplification des services courants .................................................................................................................. 15
7.
HISTORIQUE DE JAIN...................................................................................................... 15
8.
CONCLUSION ................................................................................................................... 15
9.
RÉFÉRENCES ................................................................................................................... 16
10. REMERCIEMENTS............................................................................................................ 16
11. ANNEXE A : LISTE DES MEMBRES DE LA COMMUNAUTÉ JAIN.............................. 17
12. ANNEXE B : LES COMPOSANTS PRINCIPAUX DE JAIN ............................................ 18
12.1. JAIN Protocol API Specifications .................................................................................................................... 18
12.2. JAIN Application API Specifications .............................................................................................................. 22
Page 2 sur 22
LA TECHNOLOGIE JAIN
Brendle Christophe
16.07.2002
“An API is the interface (calling conventions)
by which an application program accesses
operating system and other services. An
API … provides a level of abstraction
between the application and the kernel (or
other privileged utilities) to ensure the
portability of the code.”
(foldoc.org)
“Open, standard APIs hide the complexity
of networks from the application layer,
and the use of standard signaling and call
control protocols are the keys to providing
flexibility and creativity for the nextgeneration
networks’ enhanced services.”
(Yankee Group)
Page 3 sur 22
LA TECHNOLOGIE JAIN
Brendle Christophe
16.07.2002
1. Résumé
JAIN est un ensemble d’API (Application Program Interfaces) JAVA qui permet de
développer rapidement de nouveaux services pour des réseaux de télécommunication voix ou
données, indépendamment des serveurs utilisés (matériel). De plus, JAIN étant basé sur la
plateforme JAVA, il introduit la portabilité des services entre systèmes et permet des accès
sécurisés aux ressources des différents réseaux.
La technologie JAIN change radicalement le marché des télécommunications en permettant le
passage de systèmes fermés et propriétaires à des systèmes ouverts offrant une interconnexion
totale des différents réseaux existant (PSTN, IP, ATM, GSM, WLAN).
Actuellement, plus de 80 entreprises font partie et sont active dans la communauté de
développement de la technologie JAIN sous le contrôle de SUN, qui garantit ainsi la qualité
des nouvelles APIs, leur homogénéité et leur compatibilité à long terme.
Page 4 sur 22
LA TECHNOLOGIE JAIN
Brendle Christophe
16.07.2002
2. Introduction
Dans le souci de rentabiliser les énormes investissements consentis à la mise sur pied des
réseaux, les opérateurs cherchent à offrir de nouveaux services en utilisant les infrastructures
existantes. La possibilité de taxer un service sans avoir besoin d’investir en équipements de
terrain (sans étendre le réseau physique) a ainsi très tôt été un but à atteindre pour les
opérateurs de télécommunications. Des exemples bien connus de ce type de service sont les
numéros verts, ainsi que les numéros 0800 et 0900.
En pratique, il s’avère qu’actuellement l’introduction de nouveaux services n’est pas aussi
triviale que l’on pourrait le penser. En effet, les problèmes suivant apparaissent :
•
L’opérateur désirant introduire un nouveau service est entièrement dépendant de son
fournisseur pour effectuer la modification. Ce problème est particulièrement aigu si le
marché est partagé entre plusieurs fournisseurs.
•
Par le fait que le fournisseur est seul à même de modifier le logiciel du central, ce
dernier se trouve en position de force, et peut facturer lourdement la modification
demandée.
•
La modification effectuée, il faut encore l’introduire sur tous les centraux du réseau
pour que le service envisagé devienne universellement utilisable. Un grand réseau peut
se composer de plusieurs centaines, voire milliers, de centraux, ce qui rend cette
introduction coûteuse et longue. D’autre part, ces centraux peuvent ne pas être tous
identiques, même s’ils proviennent d’un même fournisseur.
•
L’intérêt de l’introduction d’un nouveau service est aussi de pouvoir réagir rapidement
à une demande. Or, on constate que l’introduction d’un nouveau service selon le
schéma proposé ci-dessus prend plusieurs années. C’est beaucoup trop dans l’optique
du client qui a besoin du service immédiatement. C’est beaucoup trop également pour
l’opérateur qui doit compter avec une concurrence sévère.
C’est pour répondre à ces problèmes de développements, d’introductions et de coûts que la
technologie JAIN a été créée et est développée.
JAIN offre une solution qui permet de développé des services simplement, économiquement
et rapidement indépendamment du matériel utilisé.
Page 5 sur 22
LA TECHNOLOGIE JAIN
Brendle Christophe
16.07.2002
3. Architecture et interfaces
3.1. Les couches d’abstractions
Le but de JAIN est de créer des services de nouvelles générations pouvant intégrer des
communications par paquet (IP, ATM), PSTN et sans-fil. Il définit donc un environnement
d’exécution indépendant du protocole de signalisation en proposant plusieurs couches
d’abstraction, une libraire de composant, des outils de développement et un environnement de
création de services.
Les trois couches d’abstractions sont :
Network layer :
Il s’agit d’une couche définissant le protocole de communications choisit.
Télécommunications :
Wireless :
VoIP :
Réseaux intelligents (AIN, IN) ou SS7 avec de nombreux
protocoles ISUP, TCAP, INAP…
SS7 avec des applications mobiles
SIP, MGCP, Megaco, H.323
Signaling layer :
Il s’agit d’une couche représentant les logiciels chargés de la gestion des communications.
Télécommunications :
Wireless :
VoIP :
Signaling Service Point (SSP)
Mobile switching center (MSC)
Proxy, redirect serveur, H.323 gatekeeper, media
controllers
Service layer :
Il s’agit d’une couche représentant les services de base.
Télécommunications :
Wireless :
VoIP :
Service Control Point (SCP)
Base Station Controllers (BSC), Home Location Register
(HLR)
Serveur d’application internet
Page 6 sur 22
LA TECHNOLOGIE JAIN
Brendle Christophe
16.07.2002
Figure 1 : Architecture de JAIN
3.2. Principe des interfaces JAIN
JAIN propose des API qui interface les différentes couches des réseaux. Ainsi, un
développeur de services peut créer des services en se basant sur l’interface utilisée, sans se
soucier de primitives propriétaires du matériel.
Figure 2 : Exemple d’introduction d’une interface JAIN
Page 7 sur 22
LA TECHNOLOGIE JAIN
Brendle Christophe
16.07.2002
JAIN se compose de plusieurs groupes agissant chacun à un niveau différent et offrant chacun
leurs avantages :
•
•
•
•
JAIN Protocol API
JAIN Call Control API
JAIN Service Logic Execution Environment
JAIN Service Creation Environment
Figure 3 : Introduction des abstractions par les API JAIN
3.3. Architecture actuelle et architecture JAIN
Figure 4 : Passage des systèmes propriétaires aux systèmes ouverts.
La figure 4 présente la transition entre les systèmes actuels propriétaires fermés à des
systèmes ouverts dans lesquels chaque couche est séparée, introduisant de ce fait la liberté
d’action à tous les niveaux.
Page 8 sur 22
LA TECHNOLOGIE JAIN
Brendle Christophe
16.07.2002
4. Les éléments fourni par JAIN
4.1. JAIN Protocol API
Interface au niveau du protocole, elle définit ce que doivent fournir les stacks de
signalisation. Ces interfaces sont propres à chaque protocole, son but est de fournir
une indépendance du vendeur. Il est ainsi possible d’acheter un stack SIP chez CISCO,
DYNAMICSOFT ou n’importe quel fournisseur. Pour que celui-ci soit compatible, il
suffit qu’il implémente l’interface JAIN.
4.2. JAIN Call Control API
L’objectif de cette API est de fournir une abstraction du protocole de signalisation
utilisé. Elle définit les mécanismes pour la gestion, le traitement et le contrôle des
communications. JCC et JCAT fournissent les outils pour pouvoir observer, initier,
répondre, traiter et manipuler des appels pour des réseaux PSTN, paquets et sans fils.
JCC contient les mécanismes de base de JTAPI, mais peut être étendu pour fournir des
traitements d’appel plus complexes. JCAT gère la coordination et les transactions
entre les différents services. Il offre de nouvelles possibilités en permettant d’exécuter
des applications avant, pendant et après le traitement d’un appel. Cela autorise des
appels à des services intelligents (tout comme ISDN) ou de nouveaux services tel que
la gestion de Firewall.
4.3. JAIN Logic Execution Environment
JSLEE est un environnement d’exécution qui offre une abstraction par rapport à ce qui
l’entoure.
Ø Il permet au développeur de se concentrer sur le service qu’il désire créer sans
se préoccuper de l’infrastructure et des protocoles de signalisations utilisés.
Ø Les services sont totalement indépendants des changements du réseau et des
protocoles utilisés.
Ø Tout service développé pour cet environnement fonctionnera dans un autre
environnement JSLEE.
Ø Il est possible de créer rapidement des nouveaux services en combinant des
services déjà existant et déjà créer pour fonctionner sur JSLEE.
JAIN SLEE spécifie :
Ø Un model pour le cycle de vie des services.
Ø Un model pour les composants des différents services.
Ø Les mécanismes de déploiement des différents services.
Ø Les mécanismes de management des interfaces.
Ø Les mécanismes de transmission asynchrones entre application.
Page 9 sur 22
LA TECHNOLOGIE JAIN
Brendle Christophe
16.07.2002
Figure 5 : L’environnement d’exécution JAIN SLEE
Comme le montre la figure 6, il existe deux possibilités pour créer des services pour JAIN
SLEE. La première consiste à utiliser un éditeur conventionnel ou un outil de développement
pour JAVA, puis de compiler le service et de le déployer dans l’environnement SLEE. La
seconde solution consiste à utiliser l’outil JSCE proposé par JAIN et qui est décrit au
paragraphe suivant.
Figure 6 : Schéma de développement de services pour JSLEE
Page 10 sur 22
LA TECHNOLOGIE JAIN
Brendle Christophe
16.07.2002
4.4. JAIN Service Creation Environment
JSCE est un environnement de développement pour des services fonctionnant dans SLEE, il
permet de créer des services à partir de composants déjà existant et donc déjà testé
(JavaBeans, fichier XML, Servlets, etc.)
Le développement de services avec JSCE peut se faire avec différents outils :
• Avec des documents XML. Ils conviennent bien à la création de services par les
utilisateurs. De plus, de nombreux langages de gestion basés sur du XML existent (ex.
Call Processsing Language, Call policy Markup Language, Telephony Markup
Language), il est donc possible de réutiliser des scripts déjà existants.
• Avec des JavaBeans. Ils permettent d’être interconnectés à un GUI afin d’offrir une
interface graphique.
• Avec toutes autres méthodes compatibles JSCEE.
JSCE fournit aussi une gestion des services créés avec ces outils, il peut vérifier leur
compatibilité et les compacter sous la forme de module qu’il pourra directement déployer.
Une gestion des versions et la recherche des dépendances est aussi disponible. Enfin, il est
possible de tester avec des outils de simulation les différents services avant de les déployer.
La figure 7 indique le déroulement des principales étapes pour le développement d’un service
avec JAIN. Comme on peut le voir, il est possible de développer et tester le services avec
JSCE. Lorsque celui-ci est prêt et fonctionnel, il peut être déployé dans l’environnement
d’exécution JSLEE.
Figure 7 : Déroulement du développement d’un service avec JAIN
Page 11 sur 22
LA TECHNOLOGIE JAIN
Brendle Christophe
16.07.2002
4.5. API et environnements dans l’architecture JAIN
La figure 8 indique la position de chaque API et environnement décrit par rapport à un réseau
schématisé. L’on peut voir la couche JAIN Protocol API qui interface le réseau unifié avec la
grande diversité de protocole de la couche inférieur (TCAP, H.323, MGCP).
Figure 8 : L’architecture de développement et
d’implémentation de JAIN
5. Avantages et intérêts économiques de JAIN
En fournissant un haut niveau d’abstraction par rapport au matériel, JAIN apporte de
nombreux avantages tactiques et économiques tels que :
• La portabilité des services :
Write once, Run anywhere, Profit often. Actuellement le
développement de service est limité par les interfaces
propriétaire de chaque système. En offrant une
indépendance totale par rapport au matériel, JAIN
permet la réutilisation des services pour tous les types de
réseaux tout en réduisant les temps et les coûts de
développement. Les temps et coûts de maintenance sont
eux aussi drastiquement diminués.
• La convergence des réseaux :
Any network. En offrant la possibilité de développer des
services indépendamment des réseaux cibles, il est
possible de fusionner les réseaux habituellement
incompatibles. Cette caractéristique permet d’augmenter
la diversité des services, de faire des économies
d’échelle, d’optimiser la gestion des réseaux et une
meilleure intégration des technologies de l’information
(IT).
Page 12 sur 22
LA TECHNOLOGIE JAIN
Brendle Christophe
•
La sécurité d’accès :
16.07.2002
By anyone. La sécurité offerte par JAVA autorise des
accès à des réseaux interne par des personnes étrangères.
Cette particularité par rapport aux systèmes actuels,
permet d’accroître la diversité des services en supprimant
les contraintes découlant de la sécurité entre réseau.
Tous ces avantages résolvent les problèmes des opérateurs de télécommunications cités dans
l’introduction.
6. Exemples d’applications
6.1. Click To Phone
Un exemple d’application rendu facilement possible par JAIN est le ″click to phone″. Un
utilisateur peut à partir de son ordinateur commander l’établissement de la communication
entre deux téléphones. On peut, par exemple, imaginer un-e secrétaire qui met en relation
deux personne directement en les sélectionnant dans la liste de contact de son ordinateur. Sur
la figure 9 sont indiqués le déroulement de l’établissement de la liaison.
1) Demande de connexion au téléphone #2001 par ″click-to-dial″ (CTD)
2) Vérification du destinataire CTD et détermine l’adresse IP
3) Le serveur d’applications demande au softswicth d’établir la liaison entre les deux
interlocuteur.
4) Le téléphone de l’appelant sonne (#1001)
5) Lorsque l’appelant décroche, le téléphone du destinataire sonne (#2001).
6) Le destinataire répond, la liaison est établie.
Page 13 sur 22
LA TECHNOLOGIE JAIN
Brendle Christophe
16.07.2002
Figure 9 : Exemple Click-to-phone
JAIN intervient au niveau de l’interfaçage entre le réseau de signalisation et le réseau
téléphonique. L’API utilisé est JCC qui fourni une abstraction du protocole de signalisation
utilisé par rapport au serveur de contrôle des appels. Elle fournit les mécanismes pour la
gestion, le traitement et le contrôle des communications.
6.2. Informations personalisées en fonction du lieu
JAIN permettrait de développer facilement un service d’information en temps réel de
l’abonné en fonction de l’endroit où il se situe.
Si l’abonné le désire, il pourrait être informé des offres spéciales d’un magasin lorsqu’il passe
à proximité de celui-ci.
La localisation se fait par les appareils sans fils comme des téléphones cellulaires, des
appareils Bluetooth, etc… Ceux-ci étant connectés par un réseau au serveur, il est possible de
mettre en route la procédure et de consulter les différentes informations concernant l’abonné.
Ensuite, en fonction de l’emploi du temps de son agenda ou des ses choix, il peut être informé
par un appel, un SMS ou par tout autre moyen.
La suite d’événements conduisant à la réception de l’information par l’abonné fait collaborer
plusieurs réseaux, protocoles et systèmes matériels différents. Si un opérateur désire
implémenter ce service, il devra s’adapter à chacun des systèmes composant la chaîne en
fonction du fournisseur, du modèle d’appareil. Avec JAIN, il lui suffit de développer
l’application avec JSCE et de l’intégrer dans l’environnement d’exécution JSLEE. Les seuls
changements qu’il devra faire pour assurer le fonctionnement du JSLEE seront d’installer les
API correspondants à son matériel. Ces API étant de plus en plus souvent implémenté
directement par le fabricant sur les équipements vendus.
De plus, l’on voit apparaître immédiatement la portabilité de ce service, étant donné qu’il ne
dépend de rien d’autre que du JSLEE.
Page 14 sur 22
LA TECHNOLOGIE JAIN
Brendle Christophe
16.07.2002
6.3. Simplification des services courants
Des services courant tels que le Universal Access Number, le Personal Number (Follow Me)
ou le Plus Freephone Service sont déjà implémenté actuellement par des opérateurs comme
SWISSCOM. Cependant, leur développement et leur déploiement a été beaucoup plus
difficile qu’il ne l’aurait été avec JAIN.
7. Historique de JAIN
Créé par SUN en 1998, JAIN étend la plate-forme JAVA à l’industrie des fournisseurs de
services. Son but est de répondre aux exigences des réseaux de télécommunication de la
nouvelle génération, en offrant des API permettant de développer des applications et services
pour les réseaux intelligents. Les développements des API JAIN sont menés de front en Asie,
en Europe et aux Etats-Unis par les membres de la communauté. Celle-ci se compose de plus
de 80 entreprises comprenant des fournisseurs de matériels, des fournisseurs d’équipements
réseaux, des fournisseurs de protocoles et des développeurs de services.
La communauté de JAIN travail en étroite collaboration avec d’autre groupement
d’entreprises tel que l’ETSI, le Parlay Group et 3GPP afin de garantir des API de qualités.
8. Conclusion
La technologie JAIN a un potentiel immense. Elle bouleverse complètement le marché des
télécommunications en permettant un accès direct au développement de services par tous les
acteurs de télécommunications dans le monde indépendamment des systèmes.
Avec le principe adopté par la communauté JAIN qui supprime les différences entre réseaux
et qui apporte la sécurité, il n’existe plus que deux limites à la création de services.
La première est physique, c’est la taille du réseau mondial, la seconde est l’imagination….
Yverdon, mardi 16 juillet 2002
Brendle Christophe
Page 15 sur 22
LA TECHNOLOGIE JAIN
Brendle Christophe
16.07.2002
9. Références
•
Site internet de SUN :
http://java.sun.com/products/jain
•
Le livre blanc décrivant les objectifs, la technique, l’architecture et la structure des
programmes JAIN : “The JAIN APIs : Integrated Network APIs for Java
Platform”
•
Travail de diplôme 2001 de M. Laurent Schweitzer.
10. Remerciements
Tous mes remerciements à M. Schweizer pour ses explications sur la technologie JAIN et son
aide apportée tout au long de ce travail de recherche d’informations.
Page 16 sur 22
LA TECHNOLOGIE JAIN
Brendle Christophe
16.07.2002
11. Annexe A : Liste des membres de la
communauté JAIN
8x8
AePONA
Avaya
BlueLabs
BroadSoft
Cingular Wireless
Comstellar
dynamicsoft, Inc
EmpowerTel Networks
Forschungszentrum Telekommunikation Wien
rance Telecom
Hitachi Ltd
Hughes Software Systems
Incomit
Longboard
Mahindra-British Telecom Ltd
Motorola
NEC Corporation
Nokia
NTT Communicationware
NTT Software Corp
Open Cloud Ltd
Panasonic
Personeta
Pramati
Samsung
Siemens
Sun Microsystems, Inc.
Taral Networks
Telcordia Technologies
TELSIM-Oxygen Technology
TrueTel Communications
Ulticom
Westwave Communications
ADC Newnet
Alcatel
Bay Packets
British Telecommunications PLC
CCL/ITRI
Cisco Systems
DataKinetics Ltd
ECTF
Ericsson
Eurescom (20 European Operators)
Fujitsu Ltd
Huawei Technologies Ltd
IBM
ipVerse
Lucent Technologies
Matsushita Electric Industrial Co., Ltd.
Narad Networks
Net4Call
Nortel Networks
NTT Labs
OKI Electric Industry Co.
Orange PCS
Pelago Networks
Pingtel
Qwest
SBC
Sprint PCS
Symsoft AB
Tata Consultancy Services
Telenity
Trillium Digital Systems
Ubiquity Software Corporation
Vodafone
Zy Technologies
Page 17 sur 22
LA TECHNOLOGIE JAIN
Brendle Christophe
16.07.2002
12. Annexe B : Les composants principaux de
JAIN
12.1. JAIN Protocol API Specifications
The JAIN SS7 APIs define Java classes to interface Transaction Capability Application Part (TCAP), Integrated
Services Digital Network (ISDN) User Part (ISUP), Intelligent Network Application Part (INAP) and Mobile
Application Part (MAP). The JAIN IP APIs include SIP, MGCP, and MEGACO. This list will be expanded to
meet
industry requirements.
JAIN™ TCAP
TCAP is a layer of the SS7 communications protocol that was developed to add transaction based
functionality to the existing telephone network. This includes functions such as maintaining a dialogue
with a database or providing the mechanism to access remote switches and activating features within
those switches. The TCAP layer is designed for signaling related messages and provides a means for
transfer of information from one application at a switch to another application within another network
entity. The information passed through the TCAP layer must be transferred between applications,
transparently through the network.
The JAIN TCAP API specifies a Java API that will provide the interfaces and classes required to
initialize and terminate a TCAP session, manage TCAP dialogue identifiers, retrieve, build and send
dialogue and component primitives. TCAP provides the means for the invocation of remote operations
between signaling point nodes and thus provides generic services to applications such as mobile
telephony and free phone service.
TCAP is used in the real world today by a variety of applications including:
•
"800" Number Translation – One of the first uses of TCAP, where a virtual "800" phone
number is converted into a physical route-able phone number.
•
Calling Name Delivery – A subscriber can see the name of a caller instead of just a caller id.
•
Do Not Disturb – A subscriber can temporarily block incoming call and revert the calls to a
voice mail box based on criteria such as time of day, caller id, etc.
JAIN™ ISUP
The JAIN ISUP provides an API to the signaling functions that are needed to support switched voice
and data applications. ISUP is defined within the SS7 specifications as a communications protocol used
to set-up, manage and release trunk circuits that carry voice and data call over the PSTN.
JAIN™ MAP
JAIN MAP classes manage the Pan European standard for cellular processing Global System for Mobile
Communications (GSM) and the North American standard for cellular processing (IS41). The JAIN MAP
interface
is concerned with:
•
Network Topology: Home Location Register, Visitor Location Register, Base Station
Controllers, Mobile Switching Centers, etc.
•
Mobile applications such as roaming, hand-off, lookup, etc.
•
Wireline interconnect
•
Services such as subscriber voting, reporting, short message service, news, etc.
Page 18 sur 22
LA TECHNOLOGIE JAIN
Brendle Christophe
16.07.2002
JAIN™ 3G MAP
The JAIN 3G MAP API specification is for the mobile application in the 3G domain. The entities in a
Public Land Mobile Network (PLMN) need to exchange information to manage roaming mobile stations
(MSs). The 3G MAP defines protocol through which the core network entities in the 3G domain can
transfer information between them. It defines the message syntax and the procedures for message
exchange between network entities e.g, MSC, HLR, VLR, GMSC, gsmSCF, IWMSC, SIWF, SGSN,
GGSN, GMLC. The representative set of services between these entities are:
• Location Management services(HLR/VLR, LCS, gsmSCF)
• Authentication Management services(HLR/VLR)
• Subscriber Management services(HLR/VLR)
• Subscriber Information services(HLR/gsmSCF)
• Supplementary services (MSC/VLR,HLR/VLR)
• Messaging services (MSC/HLR,SGSN/HLR)
JAIN™ MGCP
Media Gateway Controller Protocol (MGCP) controls voice and media over packet gateways. Gateways
allow for the interconnection of the PSTN with packet networks. This allows users to make calls that span
both the PSTN and packet networks. MGCP has been defined as a protocol for controlling these
gateways.
The JAIN MGCP API allows developers to write MGCP services while the standard is maturing. The
JAIN MGCP API will be backward compatible as the MGCP protocol is enhanced. JAIN MGCP API
provides an industry standard Java technology interface into proprietary MGCP protocol stacks.
The JAIN MGCP API includes gateway interfaces and control interfaces necessary to create and release
connections, to modify connections, and to audit connections.
JAIN™ SIP
Session Initiation Protocol (SIP) enables voice over IP gateways, client end points, PBXs and other
communications systems to interface with each other. SIP addresses the call setup and tear-down
mechanisms over the Internet. SIP does not include the mechanism for media streaming between caller
and “callee”.
Similar to HTTP protocols, SIP is an application client/server protocol, with requests issued by clients
and responses managed by servers. SIP enables users to participate in multimedia sessions (or calls) and
communicate in both unicast and multicast sessions. The JAIN SIP API provides a industry standard
interface into proprietary SIP protocol stacks.
The JAIN SIP API includes:
• User/Agent Server interfaces
• Proxy Server interfaces
• ReDirect Server interfaces
JAIN™ SIP Lite
JAIN SIP Lite is a high-level Java API that will be to allow application developers to create application's
that have SIP as their underlying protocol without having the need for extensive knowledge of the SIP
protocol. This will enable developers to rapidly create applications, such as user-agent type applications.
JAIN SIP Lite is a thin API that can be used as a high-level wrapper around the SIP protocol providing
application developers with a more simple abstracted SIP API for the J2ME and J2SE platforms.
Page 19 sur 22
LA TECHNOLOGIE JAIN
Brendle Christophe
16.07.2002
SIP Servlets
The Session Initiation Protocol (SIP) is used to establish and manage multimedia IP sessions. The SIP
Servlet API defines a high-level extension API for SIP servers. It enables SIP applications to be deployed
and managed based on the servlet model and the existing Servlet API.
The SIP Servlets API enables SIP servers to be augmented with Java extension code which can be
deployed and managed as a unit. In addition to the actual SIP Servlet API, XML based deployment
descriptors and related file formats are defined. The SIP Servlet API is similar in nature to the HTTP
Servlet API, however there are some important differences – the main difference being that HTTP
servlets run only on origin servers. In SIP networks, proxy servers play a much more significant role, as
do application servers which initiate requests. As such, SIP servlets must be able to run on these other
server types.
JAIN™ SIMPLE Presence & JAIN SIMPLE Instant Messaging
The Session Initiation Protocol (SIP) is an IETF standard signaling protocol that can be used to establish,
modify and terminate sessions in IP networks. SIMPLE is an IETF working group that advanced a set of
extensions to SIP to support presence and instant messaging.
The JAIN SIMPLE Presence API leverages the Session Initiation Protocol (SIP) to provide a presence
service.
This API provides SIP extensions for presence. Closely coupled to the JAIN SIMPLE Presence API, the
JAIN SIMPLE Instant Messaging API leverages the Session Initiation Protocol (SIP) to provide
extensions for instant messaging.
The JAIN SIMPLE APIs are a natural extension to the JAIN SIP and JAIN SIP Lite APIs. Just as JAIN
SIP is a standard API to the SIP protocol, and JAIN SIP Lite is a lightweight definition of SIP for user
agents (including J2ME devices), in a similar vein, the JAIN SIMPLE APIs are intended to be a standard
API to the SIMPLE protocol (i.e. SIP augmented with presence and instant messaging capabilities for
server and client devices).
SIP for J2ME
The SIP API for J2ME defines a multi purpose SIP Connector API for J2ME clients. It enables SIP
applications to be executed in memory limited terminals, especially targeted at mobile phones. The SIP
API for J2ME will be based on the Generic Connection Framework defined in the J2ME Connected
Limited Device Configuration (CLDC) and will use the existing I/O classes of CLDC. The SIP API for
J2ME will typically be used in conjunction with the Mobile Information Device Profile (MIDP), but it
can be used with other profiles.
JAIN™ ENUM
The JAIN ENUM API Specification defines a standard, portable application programming interface to
query and provision E.164 telephone numbers and their service-specific Uniform Resource Identifiers
(URI) into an ENUM registry.
The JAIN ENUM API Specification defines a cross-platform, portable API that enables Carriers, Service
Providers and Communications Equipment Vendors to rapidly integrate ENUM-compliant resolution, as
well as, ENUM provisioning functionality into their Java applications and platforms.
ENUM is a Domain Name System (DNS) based protocol defined by the IETF in [RFC2916]. General
DNS resolver APIs and implementations expose the low-level protocol of DNS and do not encapsulate
the specialized processing required by ENUM. The JAIN ENUM API hides the complexities of DNS
resolution and Dynamic DNS provisioning (DDNS) [RFC2163], while encapsulating the higher-level
services of ENUM, including POSIX Regular Expression Handling, Resolution Service and Protocol
Filtering, Security (DNSSEC) [RFC2535], Extended DNS Support (EDNS0) [RFC2671, etc.
Page 20 sur 22
LA TECHNOLOGIE JAIN
Brendle Christophe
16.07.2002
JAIN™ INAP
JAIN INAP is a non-call-related control protocol that allows applications to communicate between
various nodes/functional entities of an Intelligent Network . The protocol defines the operations required
to be performed between service providers for providing IN services, such as number translation, time of
day, and follow me. The JAIN INAP API will be based on the American National Standards Institute
(ANSI)/Telcordia Advanced Intelligent Network (AIN 0.2) and International Telecommunication Union
— Telecommunication Standardization Sector (ITU-T) CS-2 INAP specifications.
JAIN™ MEGACO
MEGACO standardizes the interface (Reference N) between the Call Control entity (Media Gateway
Controller or MGC) and the Media processing entity (Media Gateway or MG) in the decomposed H.323
Gateway architecture proposed by ETSI TIPHON and adopted by IETF. MEGACO has been defined by
IETF MEGACO WG and ITU-TSG-16. MEGACO is central to VoIP solutions and may be integrated
into products such as Central Office Switches, Gateways (Trunking, Residential, Access), Network
Access Servers, Cable Modems , PBXs etc., to develop a convergent voice and data solution.
JAIN Operations, Administration, and Maintenance (OAM)
OAM provide a standard portable interface to a service provider to provision and maintain components in
a PSTN/IP network. Transmission rates, hardware characteristics, routing configurations, etc. are all part
of provisioning a protocol. While other JAIN APIs, such the JAIN TCAP API and the JAIN ISUP API,
define a common interface to proprietary implementations of protocol layers in an SS7 protocol stack, the
JAIN OAM API defines a common interface to proprietary management interfaces for SS7 protocol stack
and also to IP based protocol stacks such as MEGACO, MGCP, H.323 and SIP. The JAIN OAM API
allows for the creation, deletion, modification and monitoring of network components.
JAIN™ SDP
The JAIN SDP API describes 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 and 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.
Page 21 sur 22
LA TECHNOLOGIE JAIN
Brendle Christophe
16.07.2002
12.2. JAIN Application API Specifications
JAIN™ Call Control
The JAIN Call Control (JCC) API provides applications with a consistent mechanism for interfacing with
underlying divergent networks. The application needs only interface once to a JCC interface and the
subsequent JAIN adapters will allow calls and data to pass to various networks.
JAIN™ Coordination and Transaction
The JAIN Coordination and Transaction (JCAT) API includes the facilities required for applications to be
invoked and return results before, during or after calls; to process call parameters or subscriber-supplied
information; and to engage in further call processing and control. JCAT perceives JAIN Call Control as
its core call control package and extends it with concepts to model and control terminal capabilities.
JCAT extends the JCC call control model with terminal capabilities and it enriches JCC's state diagrams
such that an even more diverse range of applications can be supported such as the AIN/IN class of
applications.
JAIN™ Service Logic Execution Environment
Once services are created, they can be tested and deployed in the JAIN Service Logic Execution
Environment (SLEE). JAIN SLEE defines interfaces and requirements mandatory for telco/Internet
operations within carrier grade and Internet networks.
JAIN™ Service Provider APIs for the Parlay Specifications
The JAIN Service Provider APIs (SPA) for the Parlay specification will provide the secure access
mechanism to network capabilities. This set of APIs will focus on a Java technology based
implementation of Parlay and with extensibility to allow other services to be exported by the network
operator and discovered by the service provider/user. The JAIN SPA framework specifications include:
JAIN SPA Trust & Security Management, Service Discovery
JAIN SPA Integrity Management and Event Notification
The JAIN Services APIs for the Parlay specifications include:
JAIN Presence Aavailability Management
JAIN User Location & Status
JAIN Generic User Interaction
JAIN Call Control
Java Pa yment API (JPay)
JAIN™ Service Creation Environment
The JAIN Service Creation Environment (SCE) API is the specification for the Java API to support and
simplify the creation of portable telecommunication services delivered primarily to the JAIN Service
Logic Execution Environment (SLEE), while not restricted to this class of Execution Environments.
JAIN™ Common API
There are currently over twenty JAIN specifications which have a consistent architecture and share
common design patterns. As a result, they have common base interfaces and classes, such as data types
and exception definitions.
The JAIN Common API documents and specifies these common base interfaces and classes to avoid
duplication in each of the JAIN specifications and to maintain consistency of these interfaces and classes
across these JSRs.
Page 22 sur 22

Documents pareils