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