Brevet FR2858507A1 — publié le 20050204

L'invention concerne une plate-forme de communication avec au moins une machine d'utilisateur distante. Un domaine d'application est les plates-formes téléphoniques telles que les serveurs vocaux interactifs offrant des services à des abonnés. La plupart des plates-formes actuelles ne sont réalisées que pour 10 une seule application. Par exemple, l'application est décrite de manière statique par un générateur d'application prenant en charge les différents composants de la plate-forme (carte de téléphonie, reconnaissance vocale, synthèse vocale) et est écrite uniquement pour cette plate-forme. Il est coûteux et long de faire évoluer l'application pour laquelle la 15 plate-forme est conçue, car cela nécessite sa réécriture à partir du générateur d'application. En outre, la modification de la plate-forme a un impact sur les services anciennement réalisés, qui ne sont plus présents dans la plate-forme modifiée, ce qui peut être gênant pour les utilisateurs. L'invention vise à obtenir une plate-forme de communication palliant 20 les inconvénients de l'état de la technique, qui soit évolutive et capable de supporter plusieurs applications. A cet effet, un premier objet de l'invention est une plate-forme de communication avec au moins une machine d'utilisateur distante, caractérisée en ce qu'elle comporte: - au moins des premier et deuxième modules d'interconnexion fonctionnant selon respectivement des premier et deuxième types d'interconnexion pour la connexion avec respectivement au moins des première et deuxième machines d'utilisateur correspondantes, aptes à spécifier une information de connexion parmi plusieurs, qui correspond à une application de service 30 de télécommunication déterminée devant être mise en oeuvre par la plateforme, parmi respectivement plusieurs applications, - au moins un premier module de reconnaissance vocale, au moins un premier module de synthèse vocale, au moins un premier module d'exécution d'application et au moins un deuxième module de reconnaissance vocale et/ou au moins un deuxième module de synthèse vocale et/ou au moins un deuxième module d'exécution d'application, les modules étant connectés à au moins un noyau de sélection 5 automatique d'un module de reconnaissance vocale, d'un module de synthèse vocale et d'un module d'exécution d'application en fonction du module d'interconnexion utilisé et de l'information de connexion transportée par celui-ci et spécifiée par la machine d'utilisateur. Grâce à l'invention, il est possible d'intégrer rapidement à la plate10 forme de nouveaux composants tels que les moteurs de synthèse vocale, les moteurs de reconnaissance vocale, les modules d'interconnexion, les modules d'exécution d'application. Les concepteurs et développeurs d'application ne sont donc plus liés aux fournisseurs de plates-formes. Suivant d'autres caractéristiques de l'invention, - le premier et/ou deuxième module d'exécution d'application comprend un interpréteur de pages d'applications enregistrées sur au moins un serveur d'applications connecté au noyau par l'intermédiaire d'une liaison du type HTTP ou HTTP(S); - le premier et/ou deuxième module d'exécution d'application 20 comprend un interpréteur à base de XML; - le premier et/ou deuxième module d'exécution d'application comprend un interpréteur XML et/ou un interpréteur VXML et/ou un interpréteur SALT et/ou un interpréteur HTML; il est prévu comme module d'interconnexion un module 25 d'interconnexion sur canal téléphonique et/ou un module d'interconnexion sur canal http et/ou IP; - il est prévu comme module d'interconnexion un module d'interconnexion du type RTC et/ou un module d'interconnexion du type SS7 et/ou un module d'interconnexion du type IP H323 et/ou un module 30 d'interconnexion du type IP SIP et/ou un module d'interconnexion du type IP de données tel que HTTP; - il est prévu plusieurs modules de reconnaissance vocale dans plusieurs langues; - il est prévu plusieurs modules de synthèse vocale dans plusieurs langues; - le noyau est relié à une console d'administration des modules connectés au noyau, permettant d'établir ou de supprimer lors d'une phase d'initialisation la connexion au noyau d'au moins l'un des modules choisi par la console, les modules connectés étant enregistrés auprès du noyau pour pouvoir être sélectionnés par celui-ci; - chaque module comporte une base de données MIB propres au module, comprenant des données sur le type du module et des données de fonctionnement instantané du module, chaque base de données MIB de module étant apte à être interrogée par la console d'administration par l'intermédiaire du noyau; is - au moins l'un des modules est paramétrable, lors de la phase d'initialisation, par la console d'administration par l'intermédiaire du noyau; - plusieurs noyaux de sélection sont prévus; au moins une mémoire cache pour les accès au module de synthèse vocale et au module de reconnaissance vocale est connectée au 2 0 noyau; - il est enregistré dans le noyau des règles de sélection automatique desdits modules. Un deuxième objet de l'invention est une utilisation de la plate-forme de communication telle que décrite ci-dessus pour la mise en oeuvre d'une 25 application vocale. Un troisième objet de l'invention est une utilisation de la plate-forme de communication telle que décrite ci-dessus pour la mise en oeuvre d'une application multimodale, faisant intervenir, en plus de signaux vocaux téléphoniques émis et/ou reçus par ladite première machine d'utilisateur 30 connectée à la plate-forme par ledit premier module d'interconnexion, des signaux non vocaux émis et/ou reçus par ladite deuxième machine d'utilisateur connectée à la plate-forme par ledit deuxième module d'interconnexion. Dans cette dernière utilisation, la deuxième machine d'utilisateur est par exemple un ordinateur, un assistant numérique personnel ou un s téléphone de transmission de voix et de données, connecté à la plate- forme par ledit deuxième module d'interconnexion selon une liaison IP. Cette utilisation est par exemple prévue pour la mise en oeuvre d'une application comprenant de piloter vocalement sur un téléphone l'affichage produit sur l'écran de visualisation de l'ordinateur, assistant numérique 10 personnel ou téléphone de transmission de voix et de données. L'invention sera mieux comprise à la lecture de la description qui va suivre, donnée uniquement à titre d'exemple non limitatif en référence au dessin annexé, sur lequel la figure unique est un synoptique modulaire de la plate-forme suivant l'invention. A la figure, la plate-forme 1 comporte les modules de ressources suivants: - un module 2 d'interconnexion vocale du type RTC (réseau téléphonique commuté) pour la connexion à une machine d'utilisateur, formée par un téléphone fixe ou mobile, - un module 2b d'interconnexion vocale du type SS7 (système de signalisation numéro 7) pour la connexion à une machine d'utilisateur, formée par un téléphone fixe ou mobile, - un module 3 d'interconnexion vocale du type IP (Protocole Internet) selon la norme H323 pour la connexion à une machine IP d'utilisateur 2s correspondante, formée par exemple par un téléphone IP correspondant, - un module 4 d'interconnexion vocale du type IP SIP (protocole d'ouverture de session, Session Initiation Protocol) pour la connexion à une machine IP d'utilisateur correspondante, formée par exemple par un téléphone IP correspondant, - un module 5 d'interconnexion du type IP de données, tel que par exemple HTTP (protocole de transfert hypertexte), ou HTTP(S) c'est-à-dire HTTP sécurisé, pour la connexion à une machine d'utilisateur correspondante, par exemple formée par un ordinateur, un assistant numérique personnel ou un téléphone de transmission de voix et de données, également appelé smartphone , - un interpréteur 6 XML (eXtensible Markup Language ou langage de balisage extensible), - un interpréteur 7 VXML (Voice XML ou Voice extensible Markup Language), - un interpréteur 8 en langage SALT qui est dérivé du langage XML, - un interpréteur 9 HTML (HyperText Markup Language ou langage 10 de balisage hypertexte), - des modules 10, 11, 12 de synthèse vocale, par exemple respectivement en anglais, en français et en allemand, qui peuvent provenir de fournisseurs différents et éventuellement mettant en oeuvre la norme MRCP (Media Ressource Control Protocol), le noyau utilisant dans ce cas 15 la norme MRCP, - des modules 13, 14, 15 de reconnaissance vocale, par exemple respectivement en anglais, en français et en allemand, qui peuvent provenir de fournisseurs différents et éventuellement mettant en oeuvre la norme MRCP (Media Ressource Control Protocol), le noyau utilisant dans ce cas 20 la norme MRCP. Eventuellement, I'un plusieurs ou tous les modules 10 à 15 mettent en oeuvre la norme MRCP. Dans la réalisation représentée au dessin, les modules 2, 3, 4, 2b sont des frontaux de téléphonie au sens large utilisant chacun une ou 25 plusieurs lignes téléphoniques pour la connexion aux téléphones d'utilisateurs, les interpréteurs 6, 7, 8, 9 permettent de dérouler et d'exécuter les scripts ou pages (ou série d'instructions servant à accomplir une tâche particulière) chargés de décrire des applications vocales ou multimodales. Dans une première réalisation, qui est celle représentée, chaque interpréteur forme avec un ou plusieurs serveur(s) 16 d'applications distant(s), sur le(s)quel(s) sont enregistrées les scripts d'applications dans le langage correspondant de l'interpréteur, un module d'exécution d'application. Les serveurs 16 appartiennent par exemple au propriétaire de l'application. Dans une deuxième réalisation non représentée, les applications 5 pourraient également être enregistrées à proximité de chaque interpréteur en association avec chacun de ceux-ci. Dans les première et deuxième réalisations, il est ainsi formé un module d'exécution d'application XML, que l'on désigne par la référence 6 de l'interpréteur XML, un module d'exécution d'application XML, que l'on désigne par la référence 6 de l'interpréteur 10 XML, un module d'exécution d'application VXML, que l'on désigne également par la référence 7 de l'interpréteur VXML, un module d'exécution d'application SALT, que l'on désigne par la référence 8 de l'interpréteur SALT et un module d'exécution d'application HTML, que l'on désigne par la référence 9 de l'interpréteur HTML. Bien entendu, il peut être prévu d'autres modules d'interconnexion avec des machines d'utilisateur suivant d'autres types d'interconnexion que ceux indiqués ci-dessus, il peut être prévu d'autres interpréteurs d'autres langages que ceux indiqués ci-dessus, il peut être prévu d'autres modules de synthèse vocale que ceux indiqués ci-dessus et il peut être prévu 20 d'autres modules de reconnaissance vocale que ceux indiqués ci-dessus. Certains des modules mentionnés ci-dessus peuvent également être omis. Dans une réalisation, la plate-forme ne comporte comme modules que des premier et deuxième modules d'interconnexion fonctionnant selon respectivement des premier et deuxième types d'interconnexion pour la 25 connexion avec respectivement au moins des première et deuxième machines d'utilisateur correspondantes, un premier module de reconnaissance vocale, un premier module de synthèse vocale, un premier interpréteur et un deuxième module de reconnaissance vocale ou un deuxième module de synthèse vocale ou un deuxième module d'exécution 30 d'application. Les machines d'utilisateur sont aptes à spécifier une information de connexion qui sera transmise par le module d'interconnexion correspondant à un noyau 20 décrit ci-dessous. Cette information de connexion est par exemple un numéro de téléphone pour une machine d'utilisateur formée par un téléphone ou une adresse URL pour une machine d'utilisateur formée par un ordinateur, un assistant numérique personnel ou un 5 téléphone de transmission de voix et de données. L'information de connexion correspond à une application de service de télécommunication déterminée. Plusieurs services de télécommunication peuvent être mis en oeuvre par la plateforme (plate-forme multiapplications ou multiservices), l'utilisateur y accédant en composant l'information de sélection 10 correspondant au service voulu sur sa machine d'utilisateur. Les modules 2 à 15 sont connectés à ou enfichés sur un noyau 20 de sélection de modules parmi ceux connectés. Le noyau 20 est connecté au serveur 16 par une liaison du type HTTP ou HTTP(S). Le noyau 20 est apte à sélectionner par des moyens automatiques 15 un module d'interconnexion parmi les modules 2, 3, 4, 5 d'interconnexion connectés, un module d'exécution d'application parmi les modules 6, 7, 8, 9 d'exécution d'application connectés, un module de synthèse vocale parmi les modules 10, 11, 12 de synthèse vocale connectés et un module de reconnaissance vocale parmi les modules 13, 14, 15 de reconnaissance 20 vocale connectés. Il est par exemple enregistré dans le noyau 20 des règles de sélection automatique desdits modules. La sélection est opérée par le noyau 20 en fonction du module d'interconnexion utilisé par la machine d'utilisateur et en fonction de l'information de connexion, qui est transportée par ce module d'interconnexion utilisé et qui est spécifiée par 25 cette machine d'utilisateur, le noyau comportant un port d'accès pour chaque module d'interconnexion 6, 7, 8, 9 qu'il surveille pour connaître quel est celui utilisé et quelle est l'information de connexion qu'il transporte. Pour ce faire, un mécanisme du genre clientserveur est mis en oeuvre entre les modules d'interconnexion 2, 3, 4, 5 et le noyau 20. 3 0 Le noyau 20 est relié à une console 21 d'administration des modules connectés au noyau, permettant de choisir un ou plusieurs des modules 2 à 15, et d'établir ou de supprimer lors d'une phase d'initialisation la connexion au noyau 20 du ou des modules choisis. Les modules connectés ou déconnectés sont enregistrés ou effacés par la console 21 auprès du noyau 20 pour pouvoir être sélectionnés par celui-ci, les règles de sélection étant alors mises à jour en temps réel dans le noyau 20 par la console 21. Ces 5 règles correspondent à autant d'instances de plates-formes qui sont initialisées lors de la déclaration faite par la console 21 au noyau lors de l'initialisation. Le noyau 20 est également chargé d'envoyer à la console 21 toutes informations sur son propre fonctionnement, comme par exemple 10 I'indisponibilité du noyau ou d'un module quelconque. Le noyau comporte une ou plusieurs bases MIB (Management Information Base ou base d'informations de gestion) pour l'enregistrement de ces informations. Etant donné que la console 21 interrogera régulièrement les bases MIB du noyau, la console 21 sera informée de la non disponibilité du noyau 20 si ce dernier n'est plus en état de marche. Chaque module comporte également une base de données MIB propres au module, comprenant des données sur le type du module et des données de fonctionnement instantané du module. La console est apte à mettre à jour, paramétrer, arrêter et relancer un module. Dans une fonction 20 de supervision de la console 21, chaque base MIB de module est apte à être interrogée par la console 21 d'administration par l'intermédiaire du noyau 20. Dans une réalisation non représentée, afin d'éviter les SPOFs (Sigle Point Of Failure), plusieurs noyaux de sélection sont prévus, avec les mêmes connexions aux modules 2 à 15, prédéterminées par la console 21. 25 Les noyaux peuvent avantageusement, dans une architecture répartie, être déportés sur des machines différentes. Par exemple, les données spécifiques des modules 2 à 15, enregistrées dans leur base MIB respective sont les suivantes: - pour chaque interpréteur 6, 7, 8, 9: langage supporté (XML, VXML, 30 SALT, HTML,...), adresse URL de démarrage de l'application dans le serveur 16, type de format reconnu (protocole MIME (Multipurpose Internet Mail Extensions) ou autre), données d'initialisation (niveau de trace, niveau de diagnostic), - pour chaque module de synthèse vocale 10, 11, 12: langages supportés, liste des voix supportées, formats d'entrée supportés (SSML, 5 texte, HTML,...), données d'initialisation (niveau de trace, niveau de diagnostic), - pour chaque module de reconnaissance vocale 13, 14, 15: langages supportés, type de grammaire (BNF (Forme de Backus-Naur), SRG, spécifique moteur), données d'initialisation (niveau de trace, niveau 10 de diagnostic), - pour le module 2 ou 2b d'interconnexion RTC ou SS7: données d'initialisation (niveau de trace, niveau de diagnostic), - pour le module 3 d'interconnexion IP H323: adresse du portier (gatekeeper) associé, liste des CODEC supportés, données d'initialisation 15 (niveau de trace, niveau de diagnostic), - pour le module 4 d'interconnexion IP SIP: adresse du serveur mandataire (proxy server), liste des CODEC supportés, données d'initialisation (niveau de trace, niveau de diagnostic), - pour le module 5 d'interconnexion HTTP: MIB standard d'un 20 serveur Web, données d'initialisation (niveau de trace, niveau de diagnostic). La console 21 informe l'interpréteur 6, 7, 8, 9 de l'adresse URL de démarrage de son application correspondante en écrivant dans la base MIB correspondante de l'interpréteur. Il existe un annuaire ou une base de 25 données 23 qui contient la correspondance entre l'adresse URL de démarrage et l'information de connexion (qui est par exemple un numéro de téléphone du service). En cas d'anomalie, I'interpréteur écrit des diagnostics dans des fichiers de trace et déclenche des indicateurs dans la base MIB du noyau 20. 3 0 Le fonctionnement général des interpréteurs 6, 7, 8, 9 est le suivant: - réception en entrée de mots par l'intermédiaire du module 13, 14, ou du module 5 sélectionné et de code de touche DTMF via le module d'interconnexion téléphonique utilisé (RTC, IP H323 ou IP SIP, 2, 3 ou 4 dans l'exemple représenté), - prise en compte de ces entrées par le script de l'application, lequel script est apte à déclencher des actions sur le serveur 16 d'applications s (par exemple script PHP) ou émettre des messages texte préenregistrés, - diffusion des messages et du texte synthétisé par le module de synthèse vocale sélectionné sur le canal de sortie vers le module d'interconnexion utilisé (RTC, IP H323 ou IP SIP, 2, 3 ou 4 dans l'exemple représenté) en utilisant ou non la technologie du cache 22. On décrit ci-dessous plus en détail le fonctionnement des parties de la plate-forme. FRONTAUX DE TELEPHONIE La plate-forme peut utiliser chacun des frontaux de téléphonie RTC, 15 SS7, IP H323 ou IP SIP, 2, 2b, 3 ou 4 connectés. Leur fonctionnement général est le suivant: - envoi du signal reçu par la ligne téléphonique vers l'application, - envoi des touches DTMF pressées par l'utilisateur sur sa machine, - émission de signal provenant de l'application sur la ligne 2 0 téléphonique, - récupération d'information sur l'appel (par exemple information relative à un contexte RNIS), - récupération du numéro de l'appelant, si disponible, - récupération du numéro de l'appelé, si disponible. La téléphonie sur IP offre des fonctions similaires à celles proposées sur RNIS (informations sur le contexte d'appel). La gestion d'anomalie est assurée par l'écriture d'une information de type diagnostic dans un fichier de traces réservé à cet effet. Des indicateurs sont également positionnés dans la base MIB du noyau 20. 3 0 Les frontaux de téléphonie sont paramétrables grâce à la console de supervision et d'administration 21. Ce paramétrage est effectué au travers il des bases MIB SNMP. Parmi les paramètres, on peut citer: le nombre maximal de lignes téléphoniques à utiliser, le gain en entrée et en sortie. Pour une ligne déterminée, chaque frontal de téléphonie ouvre un canal d'entrée qui transporte le signal provenant du téléphone de 5 I'utilisateur, un canal de sortie qui transporte le signal à destination du téléphone de l'utilisateur et un canal de contrôle qui transporte des codes de touches DTMF, les notifications de décrocher/raccrocher, I'identifiant d'appelant (CallerlD) et l'identifiant d'appelé (CalledlD). Si un ou plusieurs des frontaux de téléphonie est déployé sur une machine distante, les 10 canaux précités sont matérialisés par des interfaces de connexion (socket). Si un ou plusieurs des frontaux de téléphonie partagent la même machine que le noyau et le ou les interpréteur(s), les canaux sont matérialisés par des messages système. Le noyau 20 gère le nombre de voies utilisées par chaque 15 application et connectées par les frontaux. Un nombre maximum de voies pouvant être utilisées par chaque application lui est initialement prescrit. Le noyau leur réserve alors leur nombre maximum prescrit de voies. Si, du fait du trafic arrivant momentanément, une application requiert la connexion de plus de voies que le nombre maximum qui lui a été prescrit, le noyau 20 examine si à cet instant les autres applications ont des voies disponibles, c'est-à-dire utilisent un nombre de voies inférieur à leur nombre maximum prescrit. Dans l'affirmative, le noyau alloue temporairement des voies initialement réservées aux autres applications, dans la mesure de leurs voies disponibles, à l'application requérante. La qualité du service rendu en 25 est augmentée pour l'application requérante sans nuire à celle des autres applications. Dans le cas d'un déploiement en architecture répartie, un répartiteur de charge sera intercalé entre les noyaux et les frontaux de téléphonie. Ce choix d'implémentation permet d'optimiser le temps de réponse pour tout 30 type de configurations (grandes envergures, comme minimales voire embarquées). MODULE 5 D'INTERCONNEXION HTTP OU HTTP(S) Le module 5 d'interconnexion HTTP ou HTTP(S) permet de répondre aux besoins d'applications complexes, généralement accessibles via un portail Internet. Il peut s'agir par exemple d'applications Web pilotant la voix 5 ou gérant différents médias (texte, image) en mode multimodal grâce à un navigateur Web (synonyme de toile). Ces applications peuvent être écrites par exemple grâce à des scripts CGI (Common Gateway Interface Script), ISAPI, ou PHP. Le but de ce module 5 est de permettre le déclenchement d'une page XML ou dérivée du XML après action d'un utilisateur sur son 10 application Web, par exemple sur son portail Web. Dans le cas d'une application exclusivement vocale, par exemple en VoiceXML, le module 5 fait un aboutement entre un numéro de téléphone prédéterminé et une application supportée par la plate-forme. Dans le cas d'une application multimodale, I'utilisateur interagit à la fois avec son navigateur Web de machine utilisateur (sur son ordinateur, sur son assistant numérique portable ou sur son téléphone de transmission de voix et de données) par le module 5 HTTP et son interface vocale téléphonique d'utilisateur, fixe ou mobile (par les modules RTC, IP H323 ou IP SIP, 2, 3 ou 4 dans l'exemple représenté). Dans ce cas, la plateforme 20 provoque l'affichage, sur l'écran de visualisation de la machine utilisateur, de la page Web représentant l'application appelée et effectue un aboutement analogue à celui décrit précédemment. Ce type d'opération est possible par exemple à l'aide du langage SALT. Le processus de gestion d'anomalies décrit précédemment s'applique également ici. La console 21 25 exploite également la base MIB et les traces liées au noyau 20. MODULES 10, 11, 12 DE SYNTHESE VOCALE Chaque module 10, 11, 12 de synthèse vocale ou interface de synthèse peut désigner soit un moteur de synthèse élémentaire, soit un 30 ensemble de moteurs de synthèse avec un répartiteur de charge. Chaque interface de synthèse a pour but de transformer du texte en signal de parole. Il est possible d'utiliser des synthèses vocales provenant de différents fournisseurs. Chaque interface de synthèse permet de: - synthétiser une phrase, changer de vitesse, - changer de pas (pitch), - changer de volume sonore, - changer de voix ou de langue. La gestion d'anomalie est assurée par l'écriture d'une information de o10 type diagnostic dans un fichier de traces réservé à cet effet. Des indicateurs sont également positionnés dans la base MIB du noyau 20. La communication entre le noyau et l'interface de synthèse vocale est effectuée par trois canaux: - un canal d'entrée recevant du texte, - un canal de sortie permettant de transporter le signal audio, - un canal de contrôle permettant d'envoyer des commandes à l'interface de synthèse telles que changer de vitesse, changer de langue, changer de voix. Si l'interface de synthèse partage la même machine que le noyau et 20 le ou les interpréteur(s), de la même manière que pour les frontaux de téléphonie, les canaux sont matérialisés par des messages système. Dans le cas contraire, les canaux sont matérialisés par des interfaces de connexion (socket). Ce choix d'implémentation permet d'optimiser le temps de réponse pour tout type de configurations (grandes envergures, comme 25 minimales voire embarquées au même titre que les technologies d'utilisation de caches). Dans le cas d'un déploiement en architecture répartie, un répartiteur de charge sera intercalé entre les noyaux et les frontaux de téléphonie. MODULES 13, 14, 15 DE RECONNAISSANCE VOCALE Chaque module 13, 14, 15 de reconnaissance vocale ou interface de reconnaissance vocale a pour but de transformer du signal vocal en mots. Il peut s'agir d'un moteur de reconnaissance élémentaire ou d'un moteur de reconnaissance plus complexe alliant petit vocabulaire et grand vocabulaire. Il est possible d'utiliser des moteurs de reconnaissance vocale provenant de différents fournisseurs. Le noyau permet de: - positionner le nombre de solutions attendues (si le moteur de reconnaissance vocale le permet), - récupérer le ou les mots reconnus, - charger une grammaire, - compiler une grammaire écrite dans un format standardisé (SRG, BNF, JSFG...) en un format propre au moteur de reconnaissance utilisé, - modifier l'heuristique, - activer ou désactiver des classes syntaxiques pour une grammaire donnée. La gestion d'anomalie est assurée par l'écriture d'une information de type diagnostic dans un fichier de traces réservé à cet effet. Des indicateurs sont également positionnés dans la base MIB du noyau 20. De la même manière que pour les autres interfaces, I'interface de reconnaissance vocale communique par: - un canal d'entrée qui contient du signal, - un canal de sortie qui contient des mots reconnus, - un canal de contrôle permettant le paramétrage en temps réel (changement d'heuristique, changement du nombre de solutions attendues) et de spécifier les grammaires et les classes syntaxiques à mettre en 25 oeuvre. Si l'interface de reconnaissance vocale partage la même machine que le noyau et le ou les interpréteur(s), les canaux sont matérialisés par des messages système. Dans le cas contraire, les canaux correspondent à des interfaces de connexion (socket). Ce choix d'implémentation permet 30 d'optimiser le temps de réponse pour tout type de configurations (grandes envergures, comme minimales voire embarquées). Il peut être prévu, dans un mode de réalisation de l'invention, une mémoire cache 22 connectée au noyau 20, qui est utilisée lors des accès aux modules 10, 11, 12 de synthèse vocale et aux modules 13, 14, 15 de reconnaissance vocale. Le noyau 20 fait fonctionner la mémoire cache par exemple de la manière suivante. Lorsqu'un premier accès est effectué au noyau 20 pour qu'un module de synthèse vocale 10, 11 ou 12 vocalise un premier signal, le noyau 20calcule selon une règle déterminée une première somme de 10 contrôle sur les données du signal à vocaliser et enregistre dans la mémoire cache 22, en association avec cette première somme de contrôle calculée, la forme vocalisée du premier signal, c'est-à-dire les mots synthétisés par le module 10, 11, 12 à partir du premier signal qui lui est envoyé, ce signal vocalisé pouvant être par exemple un fichier Wave. Lorsque des deuxièmes accès au noyau 20 sont effectués pour qu'un module de synthèse vocale 10, 11 ou 12 vocalise des deuxièmes signaux, le noyau 20 calcule selon ladite règle déterminée pour chaque deuxième accès une deuxième somme de contrôle sur les données de ceux-ci et recherche dans la mémoire cache 22 si cette deuxième somme 20 de contrôle n'y est pas déjà enregistrée en association avec un signal vocalisé. Dans l'affirmative, le noyau 20 ne demande pas au module de synthèse vocale 10, 11 ou 12 de vocaliser le deuxième signal pour lequel le deuxième accès est effectué, mais lit dans la mémoire cache 22 celui des signaux vocalisés, qui y est enregistré et qui y est associé à la deuxième 25 somme de contrôle. Dans la négative, le noyau 20 fait vocaliser au module 10, 11, 12 de synthèse vocale le deuxième signal qui lui est envoyé et enregistre dans la mémoire cache 22, en association avec cette deuxième somme de contrôle calculée, le deuxième signal vocalisé par le module 10, 11, 12, de manière analogue au premier signal. Cette mémoire cache permet ainsi d'augmenter les performances du noyau 20 en évitant de répéter les accès aux modules 10, 11, 12 de synthèse vocale pour vocaliser des signaux identiques et donc de gagner du temps. Par exemple, dans le cas où l'application est un service de consultation d'horoscope, un seul premier signal d'horoscope sera synthétisé par le module de synthèse vocale 10, 11 ou 12 pour chaque signe et enregistré dans la mémoire cache 22, et ce premier signal 5 d'horoscope sera lu dans la mémoire cache 22 lorsque de nouveau l'accès à l'horoscope sera souhaité pour ce signe. De manière analogue, les modèles de reconnaissance vocale pouvant être utilisés par le module de reconnaissance vocale 10, 1 1 ou 12, et associés chacun respectivement à un signal vocal pourront être 1o enregistrés dans la mémoire cache 22 au fur et à mesure qu'ils sont créés. Ces modèles de reconnaissance vocale enregistrés dans la mémoire cache 22 seront alors relus dans la mémoire cache 22 lorsque le signal vocal correspondant sera envoyé au noyau 20, pour fournir les mots correspondants à ce signal vocal, qui auront été synthétisés par le module 15 de reconnaissance vocale 10, 11 ou 12 à partir du modèle de reconnaissance vocale lu. La mise en oeuvre du cache permet d'optimiser la création des modèles de reconnaissance. CONSOLE 21 DE SUPERVISION ET D'ADMINISTRATION Cette console 21 permet de choisir les modules ou composants à utiliser, de surveiller les anomalies et de paramétrer les composants utilisés en temps réel. La supervision et l'administration se faisant par SNMP, la console de supervision peut être soit un outil de supervision standard comme un 25 ordinateur dédié à cet effet, soit une interface Web réalisée pour cela. La plate-forme est par exemple mise en oeuvre sous la forme suivante: serveur PC industriel OS Windows 2000 (marque déposée) carte 30 réseau standard, carte NMS (QX ou AG), - serveurs de synthèse offrant l'option multilingue et la capacité de disposer de plusieurs moteurs de synthèse. Ces serveurs sont basés sur des synthèses élémentaires du marché, compatibles SAPI4 ou sur le moteur SYC de France Télécom. - navigateur VoiceXML 1.0 ou 2.0 (PhoneVoiceXML V1.0) basé sur OPEN VXI 2. 0 adapté à la plate-forme. - brique H323 basée sur OPEN H323 version 1.1 ou 1.9.8 enrichi du Codec G723 de France Télécom, - reconnaissance Philsoft 2. 6 ou 3.0 de laboratoire ou PhilsoftCS 3.1 de Telisma, - diffuseur de pièces audio multi-formats basé sur SOX version 10 12.17.2 enrichi des formats (MP3, G723), - option de détection automatique de la langue basée sur PROLIX de France Télécom. Bien entendu, d'autres formes de mise en oeuvre de la plate-forme, à la portée de l'homme du métier, sont possibles. MISE EN CEUVRE DANS UNE APPLICATION VOCALE La plate-forme de communication peut être mise en oeuvre dans une application vocale. Par exemple, cette application vocale réalise l'accès à une 2 0 messagerie unifiée. Bien entendu, d'autres applications vocales sont possibles. La plate-forme est accessible dans le mode RTC via des cartes spécifiques NMS ou DIALOGIC (marques déposées) d'lntel par exemple. Les pages ou scripts décrivant le service peuvent être hébergées 25 indifféremment chez le fournisseur de service, ou corésider avec la plateforme. MISE EN EUVRE DANS UNE APPLICATION MULTIMODALE La plate-forme de communication peut être mise en oeuvre dans une 30 application multimodale. Une application multimodale fait intervenir, en plus de signaux vocaux téléphoniques émis et/ou reçus par une première machine d'utilisateur connectée à la plate-forme par un premier module d'interconnexion (par exemple 2, 3 ou 4), des signaux non vocaux émis et/ou reçus par une deuxième machine d'utilisateur connectée à la plateforme par un deuxième module d'interconnexion (par exemple 5). Par exemple, cette deuxième machine d'utilisateur est un ordinateur, un assistant numérique personnel ou un téléphone de transmission de voix et de données, connecté à la plate-forme par ledit deuxième module d'interconnexion selon une liaison HTTP. Par exemple l'application multimodale prévoit de piloter vocalement 10 sur un téléphone (par exemple un téléphone mobile GSM) I'affichage produit sur l'écran de visualisation de l'ordinateur, assistant numérique personnel ou téléphone de transmission de voix et de données. Ce pilotage vocal permet par exemple de naviguer sur Internet sur l'ordinateur, assistant numérique personnel ou téléphone de transmission de voix et de. 5 données. REVENDICATIONS 1. Plate-forme de communication avec au moins une machine d'utilisateur distante, caractérisée en ce qu'elle comporte: - au moins des premier et deuxième modules (2, 3, 4, 5) d'interconnexion fonctionnant selon respectivement des premier et deuxième types d'interconnexion pour la connexion avec respectivement au moins des première et deuxième machines d'utilisateur correspondantes, aptes à spécifier une information de connexion parmi plusieurs, qui correspond à 10 une application de service de télécommunication déterminée devant être mise en oeuvre par la plate-forme, parmi respectivement plusieurs applications, - au moins un premier module (13) de reconnaissance vocale, au moins un premier module (10) de synthèse vocale, au moins un premier module (6) 15 d'exécution d'application et au moins un deuxième module (14, 15) de reconnaissance vocale et/ou au moins un deuxième module (11, 12) de synthèse vocale et/ou au moins un deuxième module (7, 8, 9) d'exécution d'application, les modules étant connectés à au moins un noyau (20) de sélection 20 automatique d'un module de reconnaissance vocale, d'un module de synthèse vocale et d'un module d'exécution d'application en fonction du module (2, 3, 4, 5) d'interconnexion utilisé et de l'information de connexion transportée par celui-ci et spécifiée par la machine d'utilisateur. 2. Plate-forme de communication suivant la revendication 1, 25 caractérisé en ce que le premier et/ou deuxième module d'exécution (6, 7, 8, 9) d'application comprend un interpréteur de pages d'applications enregistrées sur au moins un serveur (16) d'applications connecté au noyau par l'intermédiaire d'une liaison du type HTTP ou HTTP(S). 3. Plate-forme de communication suivant l'une quelconque des 30 revendications précédentes, caractérisé en ce que le premier et/ou deuxième module (6, 7, 8, 9) d'exécution d'application comprend un interpréteur à base de XML. 4. Plate-forme de communication suivant la revendication 3, caractérisé en ce que le premier et/ou deuxième module (6, 7, 8, 9) d'exécution d'application comprend un interpréteur XML et/ou un interpréteur VXML et/ou un interpréteur SALT et/ou un interpréteur HTML. 5. Plate-forme de communication l'une quelconque des revendications précédentes, caractérisé en ce qu'il est prévu - comme module d'interconnexion un module d'interconnexion (2, 3, 4) sur canal téléphonique et/ou un module d'interconnexion (5) sur canal http et/ou IP. 6. Plate-forme de communication suivant l'une quelconque des 10 revendications précédentes, caractérisé en ce qu'il est prévu comme module d'interconnexion un module (2) d'interconnexion du type RTC et/ou un module (2b) d'interconnexion du type SS7 et/ou un module (3) d'interconnexion du type IP H323 et/ou un module (4) d'interconnexion du type IP SIP et/ou un module (5) d'interconnexion du type IP de données tel 15 que HTTP. 7. Plate-forme de communication suivant l'une quelconque des revendications précédentes, caractérisé en ce qu'il est prévu plusieurs modules (13, 14, 15) de reconnaissance vocale dans plusieurs langues. 8. Plate-forme de communication l'une quelconque des 20 revendications précédentes, caractérisé en ce qu'il est prévu plusieurs modules (10, 11, 12) de synthèse vocale dans plusieurs langues. 9. Plate-forme de communication suivant l'une quelconque des revendications précédentes, caractérisé en ce que le noyau (20) est relié à une console (21) d'administration des modules connectés au noyau (20), 25 permettant d'établir ou de supprimer lors d'une phase d'initialisation la connexion au noyau (20) d'au moins l'un des modules choisi par la console (21), les modules connectés étant enregistrés auprès du noyau (20) pour pouvoir être sélectionnés par celui-ci. 10. Plate-forme de communication suivant la revendication 9, 30 caractérisé en ce que chaque module comporte une base de données MIB propres au module, comprenant des données sur le type du module et des données de fonctionnement instantané du module, chaque base de données MIB de module étant apte à être interrogée par la console (21) d'administration par l'intermédiaire du noyau (20). 11. Plate-forme de communication suivant l'une quelconque des revendications 9 et 10, caractérisé en ce qu'au moins l'un des modules est 5 paramétrable, lors de la phase d'initialisation, par la console (21) d'administration par l'intermédiaire du noyau (20). 12. Plate-forme de communication suivant l'une quelconque des revendications précédentes, caractérisé en ce que plusieurs noyaux (20) de sélection sont prévus. 13. Plate-forme de communication suivant l'une quelconque des revendications précédentes, caractérisé en ce qu'au moins une mémoire cache (22) pour les accès au module (10, 11, 12) de synthèse vocale et au module (13, 14, 15) de reconnaissance vocale est connectée au noyau (20). 14. Plate-forme de communication suivant l'une quelconque des revendications précédentes, caractérisé en ce qu'il est enregistré dans le noyau (20) des règles de sélection automatique desdits modules. 15. Utilisation de la plate-forme de communication suivant l'une quelconque des revendications précédentes pour la mise en oeuvre d'une 20 o application vocale. 16. Utilisation de la plate-forme de communication suivant l'une quelconque des revendications I à 14 pour la mise en oeuvre d'une application multimodale, faisant intervenir, en plus de signaux vocaux téléphoniques émis et/ou reçus par ladite première machine d'utilisateur 25 connectée à la plate-forme par ledit premier module d'interconnexion, des signaux non vocaux émis et/ou reçus par ladite deuxième machine d'utilisateur connectée à la plate-forme par ledit deuxième module d'interconnexion. 17. Utilisation suivant la revendication 16, dans laquelle la deuxième 30 machine d'utilisateur est un ordinateur, un assistant numérique personnel ou un téléphone de transmission de voix et de données, connecté à la plate-forme par ledit deuxième module d'interconnexion selon une liaison IP. 18. Utilisation suivant la revendication 17, pour la mise en oeuvre d'une application comprenant de piloter vocalement sur un téléphone 5 I'affichage produit sur l'écran de visualisation de l'ordinateur, assistant numérique personnel ou téléphone de transmission de voix et de données.