OA19745A - Real-time communication process between web browsers. - Google Patents
Real-time communication process between web browsers. Download PDFInfo
- Publication number
- OA19745A OA19745A OA1201500432 OA19745A OA 19745 A OA19745 A OA 19745A OA 1201500432 OA1201500432 OA 1201500432 OA 19745 A OA19745 A OA 19745A
- Authority
- OA
- OAPI
- Prior art keywords
- user
- web
- browser
- message
- communication
- Prior art date
Links
- 238000004891 communication Methods 0.000 title claims abstract description 76
- 238000000034 method Methods 0.000 title description 6
- 238000005516 engineering process Methods 0.000 claims abstract description 7
- 230000001960 triggered Effects 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims description 2
- 238000009877 rendering Methods 0.000 claims description 2
- 238000000151 deposition Methods 0.000 claims 1
- 229920001276 Ammonium polyphosphate Polymers 0.000 description 6
- 239000008186 active pharmaceutical agent Substances 0.000 description 6
- 230000000875 corresponding Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 101700064519 PSTN Proteins 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
Abstract
L'invention concerne un procédé de communication en temps réel selon une technologie de type WebRTC, entre navigateurs web sur un réseau de communication de type Internet, comprenant : le chargement (S20) préalable par un premier navigateur web d'un premier terminal associé à un premier utilisateur, d'une application web fournie par un serveur d'application, l'application web fournissant des fonctionnalités de communication temps réel entre navigateurs web; l'envoi (S21) par le premier navigateur, via cette application web, à destination du serveur d'application, d'une demande d'établissement d'appel incluant un identifiant d'un utilisateur destinataire de l'appel, dit second utilisateur; Ce procédé est remarquable en ce qu'il comporte en outre des étapes de : - détermination (S22, S23, S24) d'un état de disponibilité du second utilisateur pour répondre à la demande d'établissement d'appel; redirection automatique (S25) vers une adresse web d'un service de messagerie associé au second utilisateur, lorsque le second utilisateur est dans l'état indisponible. The invention relates to a real-time communication method according to a WebRTC type technology, between web browsers on an Internet-type communication network, comprising: the prior loading (S20) by a first web browser of a first terminal associated with a first user, of a web application provided by an application server, the web application providing functionalities for real-time communication between web browsers; the sending (S21) by the first browser, via this web application, to the application server, of a call establishment request including an identifier of a user to whom the call is to be made, called the second user ; This method is remarkable in that it further comprises steps of: determining (S22, S23, S24) a state of availability of the second user to respond to the call establishment request; automatic redirection (S25) to a web address of a messaging service associated with the second user, when the second user is in the unavailable state.
Description
TITRE de L'INVENTIONTITLE OF THE INVENTION
Procédé de communication en temps réel entre navigateurs webReal-time communication process between web browsers
TEXTE de L'ABREGEABREGE TEXT
L'invention concerne un procédé de communication en temps réel selon une technologie de type WebRTC, entre navigateurs web sur un réseau de communication de type Internet, comprenant : le chargement (S20) préalable par un premier navigateur web d'un premier terminal associé à un premier utilisateur, d'une application web fournie par un serveur d'application, l'application web fournissant des fonctionnalités de communication temps réel entre navigateurs web ; l'envoi (S21) par le premier navigateur, via cette application web, à destination du serveur d'application, d'une demande d'établissement d'appel incluant un identifiant d'un utilisateur destinataire de l'appel, dit second utilisateur ;The invention relates to a real-time communication method according to a WebRTC type technology, between web browsers on an Internet-type communication network, comprising: the prior loading (S20) by a first web browser of a first terminal associated with a first user, of a web application provided by an application server, the web application providing functionalities for real-time communication between web browsers; the sending (S21) by the first browser, via this web application, to the application server, of a call establishment request including an identifier of a user to whom the call is to be made, known as the second user ;
Ce procédé est remarquable en ce qu'il comporte en outre des étapes de :This process is remarkable in that it further comprises steps of:
- détermination (S22, S23, S24) d'un état de disponibilité du second utilisateur pour répondre à la demande d'établissement d'appel ;- determination (S22, S23, S24) of an availability state of the second user to respond to the call establishment request;
- redirection automatique (S25) vers une adresse web d'un service de messagerie associé au second utilisateur, lorsque le second utilisateur est dans l'état indisponible.- automatic redirection (S25) to a web address of a messaging service associated with the second user, when the second user is in the unavailable state.
Procédé de communication en temps réel entre navigateurs webReal-time communication process between web browsers
L’invention a trait de manière générale à la communication en temps réel entre navigateurs web sur un réseau de communication tel que l'Internet.The invention relates generally to real-time communication between web browsers over a communication network such as the Internet.
Plus précisément, l'invention concerne la technologie de communication en temps réel entre navigateurs web actuellement en cours de normalisation, conjointement par le World Wide Web Consortium (W3C) et l'Internet Engineering Task Force (IETF), et désignée par WebRTC {Web Real-Time Communication) au W3C et RTCWEB à l'IETF.More specifically, the invention relates to the technology of real-time communication between web browsers currently being standardized, jointly by the World Wide Web Consortium (W3C) and the Internet Engineering Task Force (IETF), and referred to as WebRTC {Web Real-Time Communication) at W3C and RTCWEB at IETF.
Ces dernières années ont vu émerger une nouvelle plateforme pour le développement de services basés sur des applications web — c'est-à-dire des applications téléchargées par un navigateur en consultant une page web — : le navigateur web. En effet, dès lors que la plateforme du navigateur dispose des interfaces nécessaires pour opérer avec ces applications web, il est possible de délivrer presque n'importe quel type de service via un navigateur.The last few years have seen the emergence of a new platform for the development of services based on web applications - that is, applications downloaded by a browser by consulting a web page -: the web browser. Indeed, as long as the browser platform has the necessary interfaces to operate with these web applications, it is possible to deliver almost any type of service via a browser.
Traditionnellement, les interfaces précitées sont fournies au navigateur sous la forme de modules d'extension, désignés communément par plugin en anglais, et qui doivent être téléchargés puis installés séparément du navigateur.Traditionally, the aforementioned interfaces are provided to the browser in the form of extension modules, commonly referred to as a plugin in English, and which must be downloaded and then installed separately from the browser.
. On citera, par exemple, sur le marché des services web de communication temps réel (RTC) entre navigateurs, les produits connus sous les noms Skype™, Facebook™ (qui utilise Skype) et Google Hangouts™ (qui utilise le plugin Google Talk™). On peut aussi citer le produit Flash Player™ de la société Adobe.. We can cite, for example, on the market for real-time communication (RTC) web services between browsers, the products known under the names Skype ™, Facebook ™ (which uses Skype) and Google Hangouts ™ (which uses the Google Talk ™ plugin. ). Mention may also be made of the Flash Player ™ product from the company Adobe.
Tous les produits précités nécessitent des téléchargements, des applications natives ou des modules d'extension (plugins) externes au navigateur. Or, le téléchargement, l'installation et la mise à jour de plugins est complexe, source d'erreurs et de désagrément Par ailleurs, la conception, le test, la mise à jour, et le déploiement de plugins est complexe et coûteux.All of the above products require downloads, native applications or plugins external to the browser. However, downloading, installing and updating plugins is complex, a source of errors and inconvenience. Furthermore, the design, testing, updating and deployment of plugins is complex and expensive.
Avec le développement du langage HTML5 {HyperText Markup Language 5) de nouvelles perspectives s'ouvrent aux développeurs d'applications avec la possibilité de rendre les interfaces (API - Application Programming Interface) avec les applications web, accessibles de façon normalisée au sein du navigateur.With the development of HTML5 (HyperText Markup Language 5) new perspectives are opening up to application developers with the possibility of making interfaces (API - Application Programming Interface) with web applications accessible in a standardized way within the browser. .
C'est la voie suivie par la l'IETF et le W3C avec la norme RTCWEB/WebRTC qui vise à fournir deux types de spécifications :This is the path followed by the IETF and the W3C with the RTCWEB / WebRTC standard which aims to provide two types of specifications:
- une spécification de protocoles, effectuée à l'IETF ;- a protocol specification, carried out at the IETF;
.....- une spécification d'APIs Javascript, effectuée au W3C.____________ ' Les deux spécifications précitées visent à fournir un environnement selon lequel , Une .application..Javascript incorporée dans n'importe quelle page web, lue par 5 n'importe quel navigateur compatible, et autorisée de manière appropriée par son utilisateur, est capable d'établir une communication utilisant de l'audio, de la vidéo (et des données auxiliaires), sans que la plateforme du navigateur ne limite les types d'application dans lesquels cette fonctionnalité de communication peut être utilisée......- a specification of JavaScript APIs, carried out at W3C .____________ 'The two aforementioned specifications aim to provide an environment according to which, An .application..Javascript incorporated into any web page, read by 5 n 'any compatible browser, and appropriately authorized by its user, is capable of establishing communication using audio, video (and ancillary data), without the browser platform limiting the types of application in which this communication functionality can be used.
Selon la norme RTCWEB/WebRTC actuelle, un navigateur web doit 10 implémenter trois interfaces API pour pouvoir recevoir et transmettre des données en mode streaming (parfois appelé lecture en continu ou diffusion en flux en français), ces APIs sont les suivantes :According to the current RTCWEB / WebRTC standard, a web browser must implement three APIs to be able to receive and transmit data in streaming mode (sometimes called streaming or streaming in French), these APIs are as follows:
- MediaStream : permet au navigateur d'accéder aux flux de données tels que ceux issus de la caméra (web cam) et du microphone du terminal de l'utilisateur ;- MediaStream: allows the browser to access data streams such as those coming from the camera (web cam) and the microphone of the user's terminal;
- RTCPeerConnection : assure les appels audio ou vidéo, avec des mécanismes de chiffrement et de gestion de bande passante (bandwidth) ;- RTCPeerConnection: provides audio or video calls, with encryption and bandwidth management mechanisms;
- RTCDataChannel : assure la communication pair-à-pair de données génériques.- RTCDataChannel: provides peer-to-peer communication of generic data.
Pour obtenir plus d'informations concernant les spécifications RTCWEB/ 20 WebRTC, on pourra consulter en particulier les documents suivants :To obtain more information concerning the RTCWEB / 20 WebRTC specifications, the following documents may be consulted in particular:
- WebRTC 1.0: Real-time Communication Between Browsers - W3C Editor's Draft 22 March 2013 - accessible sur Internet à l'adresse suivante :- WebRTC 1.0: Real-time Communication Between Browsers - W3C Editor's Draft 22 March 2013 - available on the Internet at the following address:
http://dev.w3.org/2011/webrÎc/editor/webrtc.html#rtcpeerconnection-interfacehttp://dev.w3.org/2011/webrÎc/editor/webrtc.html#rtcpeerconnection-interface
- OverView: Real Time Protocols for Brower-based Applications - draft-ietf- rtcweb-overview-06 - February 20, 2013 - accessible sur Internet à l'adresse suivante :- OverView: Real Time Protocols for Brower-based Applications - draft-ietf- rtcweb-overview-06 - February 20, 2013 - available on the Internet at the following address:
http://datatracker.ietf.org/doc/draft-ietf-rtcweb-overview/http://datatracker.ietf.org/doc/draft-ietf-rtcweb-overview/
Actuellement, des éditeurs de navigateur web proposent des versions expérimentales de ce nouveau service entre navigateurs, par exemple Google avec le 30 navigateur Chrome™, Mozilla avec le navigateur Firefox™, Ericsson avec le navigateur appelé Bowser™ développé pour téléphone mobile.Currently, web browser vendors are offering experimental versions of this new cross-browser service, for example Google with the Chrome ™ browser, Mozilla with the Firefox ™ browser, Ericsson with the browser called Bowser ™ developed for mobile phones.
Dans les versions proposées à ce jour, qui sont conformes aux spécifications RTCWEB/ WebRTC, lorsqu'un premier utilisateur souhaite établir une communication audio ou vidéo, depuis son navigateur web compatible WebRTC, avec un second 35 utilisateur sur le réseau Internet, il commence par se connecter via son navigateur à un serveur d'application fournissant le service de communication WebRTC. Après une opération d'authentification éventuelle, le navigateur charge, via une page web, l'application web (application Javascript) conforme aux spécifications RTCWEB et adaptée à interagir avec les APIs susmentionnées (conformes aux spécificationsIn the versions proposed to date, which comply with the RTCWEB / WebRTC specifications, when a first user wishes to establish an audio or video communication, from his WebRTC compatible web browser, with a second user on the Internet network, he begins with connect via its browser to an application server providing the WebRTC communication service. After a possible authentication operation, the browser loads, via a web page, the web application (Javascript application) conforming to the RTCWEB specifications and adapted to interact with the aforementioned APIs (conforming to the specifications
WebRTC) qui sont incorporées nativement dans le navigateur.WebRTC) which are natively embedded in the browser.
Ensuite, le premier utilisateur choisit, via la page web de connexion au serveur d'application, un identifiant du second utilisateur, puis entre une commande — par exemple par un clic sur un bouton d'action affiché dans la page web ouverte dans le navigateur — pour déclencher l'appel audio ou vidéo vers le second utilisateur. Typiquement, la page web ouverte dans le navigateur affiche alors un message indiquant que la connexion est en cours d'établissement.Then, the first user chooses, via the web page of connection to the application server, an identifier of the second user, then enters a command - for example by clicking on an action button displayed in the web page opened in the browser - to initiate the audio or video call to the second user. Typically, the web page opened in the browser then displays a message indicating that the connection is being established.
Si le second utilisateur, destinataire de l'appel, est également connecté au même service de communication WebRTC fourni par le serveur d'application, alors il pourra accepter l'appel audio ou vidéo issu du premier utilisateur, et la communication pourra alors être établie.If the second user, recipient of the call, is also connected to the same WebRTC communication service provided by the application server, then he can accept the audio or video call from the first user, and communication can then be established. .
Au contraire, dans le cas où le navigateur du terminal du second utilisateur n'est pas actif, ou bien dans le cas où la page web du service WebRTC n'est pas ouverte dans le navigateur du second utilisateur, ou encore si le terminal du second utilisateur n'est pas connecté au réseau, alors la communication audio ou vidéo entre le premier et le second utilisateur ne pourra pas s'établir, et cela sans que le premier utilisateur ne soit informé de la raison de l'échec de la communication.On the contrary, in the case where the browser of the second user's terminal is not active, or in the case where the web page of the WebRTC service is not open in the browser of the second user, or if the terminal of the second user is not connected to the network, then the audio or video communication between the first and the second user cannot be established, and this without the first user being informed of the reason for the failure of the communication .
La présente invention a pour but notamment de remédier à la situation exposée ci-dessus. A cet effet, l'invention concerne selon un premier aspect, un procédé de communication en temps réel selon une technologie de type WebRTC, entre navigateurs web sur un réseau de communication de type Internet.The object of the present invention is in particular to remedy the situation described above. To this end, the invention relates, according to a first aspect, to a method of real-time communication according to a technology of WebRTC type, between web browsers on a communication network of Internet type.
On entend par technologie de type WebRTC, une technologie de communication temps réel entre navigateurs web reposant sur les mêmes principes que celle définie par les spécifications RTCWEB/ WebRTC, c'est-à-dire reposant sur des navigateurs web standards, sans qu'il soit nécessaire d'adjoindre à ces navigateurs des modules d'extension (plugins).By WebRTC type technology is meant a real-time communication technology between web browsers based on the same principles as that defined by the RTCWEB / WebRTC specifications, that is to say based on standard web browsers, without it being it is necessary to add extension modules (plugins) to these browsers.
Selon l'invention le procédé précité comprend :According to the invention, the aforementioned method comprises:
- le chargement préalable par un premier navigateur web d'un premier terminal associé à un premier utilisateur, d'une application web fournie par un serveur d'application, l'application web fournissant des fonctionnalités de communication temps réel entre navigateurs web ;the prior loading, by a first web browser, of a first terminal associated with a first user, of a web application supplied by an application server, the web application providing real-time communication functionalities between web browsers;
, - l'envoi par le premier navigateur, via l'application web, à destination du serveur.d'application, d'une demande d'établissement d'appel incluant un identifiant d'un utilisateur destinataire de l'appel, dit second utilisateur ;, - the sending by the first browser, via the web application, to the application server, of a call establishment request including an identifier of a user to whom the call is to be made, called second user ;
Conformément à l'invention ce procédé comporte en outre les étapes suivantes : - détermination d'un état de disponibilité du second utilisateur pour répondre à la demande d'établissement d'appel ;In accordance with the invention, this method further comprises the following steps: determining a state of availability of the second user to respond to the call set-up request;
- redirection automatique vers une adresse web d'un service de messagerie 10 associé au second utilisateur, lorsque le second utilisateur est dans l'état indisponible.- Automatic redirection to a web address of a messaging service 10 associated with the second user, when the second user is in the unavailable state.
Ainsi, selon l'invention, lorsque le second utilisateur est déterminé comme étant indisponible pour répondre à l'appel le navigateur du premier utilisateur est redirigé automatiquement vers une adresse web (URL - Uniform Resource Locator) d'un service de messagerie, ce qui permet au premier utilisateur de ne pas rester sans 15 information relative à l'échec de la communication.Thus, according to the invention, when the second user is determined to be unavailable to answer the call, the browser of the first user is automatically redirected to a web address (URL - Uniform Resource Locator) of a messaging service, which allows the first user not to be left without information relating to the communication failure.
Ainsi, selon l'invention, si la demande d'établissement d'appel n'aboutit pas au bout d'un d'une durée déterminée dans le premier navigateur, mesurée par une minuterie (timer en anglais) par exemple, le navigateur du premier utilisateur est redirigé automatiquement vers une adresse web (URL - Uniform Resource Locator) 20 d'un service de messagerie, ce qui permet au premier utilisateur de ne pas rester sans information relative à l'échec de la communication.Thus, according to the invention, if the call establishment request does not succeed after a period of time determined in the first browser, measured by a timer for example, the browser of the first user is automatically redirected to a web address (URL - Uniform Resource Locator) 20 of a messaging service, which allows the first user not to remain without information relating to the failure of the communication.
Selon un mode de réalisation de l'invention, l'étape de détermination d'un état de disponibilité du second utilisateur, inclut l'évaluation d'un temps écoulé depuis l'envoi de la demande d'établissement d'appel, et l'état de disponibilité du second 25 utilisateur est alors déterminé comme étant indisponible, lorsque le temps écoulé atteint une durée déterminée.According to one embodiment of the invention, the step of determining an availability state of the second user, includes the evaluation of a time elapsed since the sending of the call establishment request, and The availability state of the second user is then determined to be unavailable, when the elapsed time reaches a determined duration.
Selon un autre mode de réalisation qui peut être combiné avec le précédent, l'étape de détermination d'un état de disponibilité du second utilisateur, inclut l'obtention d'une information de présence du second utilisateur pour le service de 30 communication temps réel entre navigateurs, et si cette information de présence indique que le second utilisateur est absent pour le service, alors l'état de disponibilité du second utilisateur est déterminé comme étant indisponible.According to another embodiment which can be combined with the previous one, the step of determining an availability state of the second user, includes obtaining presence information of the second user for the real-time communication service. between browsers, and if this presence information indicates that the second user is absent for the service, then the availability state of the second user is determined to be unavailable.
En pratique, selon un exemple de réalisation, l'obtention d'une information de présence comprend la consultation d'une table de présence d'utilisateurs pour le 35 service de communication temps réel entre navigateurs web.In practice, according to an exemplary embodiment, obtaining presence information comprises consulting a user presence table for the real-time communication service between web browsers.
Ainsi, dans le cas où le service de communication WebRTC assure la gestion d'un état de présence des abonnés pour le sen/ice, si le second utilisateur est déterminé comme étant absent pour le service de communication au moment où la demande d'appel est transmise par le premier utilisateur, alors le navigateur du 5 premier navigateur est immédiatement redirigé vers l'adresse web du service de messagerie.Thus, in the case where the WebRTC communication service ensures the management of a subscriber presence state for the service, if the second user is determined to be absent for the communication service at the time when the call request is transmitted by the first user, then the browser of the first browser is immediately redirected to the web address of the messaging service.
En particulier, selon une caractéristique de l'invention, suite à la redirection vers le service de messagerie, le premier navigateur affiche une page web restituant un message du second utilisateur.In particular, according to one characteristic of the invention, following the redirection to the messaging service, the first browser displays a web page rendering a message from the second user.
En pratique, le message restitué du second utilisateur peut être un message de type audio, vidéo, et/ou textuel.In practice, the restored message from the second user can be an audio, video, and / or text message.
Ainsi, suite à la redirection vers le service de messagerie, le premier utilisateur sera informé, grâce au message du second utilisateur, du fait que ce dernier n'est pas joignable et éventuellement sur les raisons pour lesquelles il n'est pas joignable.Thus, following the redirection to the messaging service, the first user will be informed, by means of the message from the second user, of the fact that the latter cannot be contacted and possibly of the reasons for which he is not reachable.
De plus, selon une caractéristique additionnelle de l'invention, la page web affichée dans le premier navigateur, et qui restitue le message du second utilisateur, offre en outre au premier utilisateur une fonctionnalité de dépôt d'un message destiné au second utilisateur.Moreover, according to an additional characteristic of the invention, the web page displayed in the first browser, and which renders the message of the second user, also offers the first user a functionality for submitting a message intended for the second user.
Ce message du second utilisateur pouvant être, selon différents modes de 20 réalisation, un message de type audio, vidéo, et/ou textuel.This message from the second user can be, according to different embodiments, a message of audio, video, and / or textual type.
Ainsi, un tel service de messagerie selon l'invention pourra rendre dans le cadre de la communication WebRTC entre navigateurs, non seulement un service similaire à celui fourni dans le cadre de la téléphonie classique (mobile ou fixe), mais également avec davantage de possibilités concernant les types de messages pouvant 25 être déposés.Thus, such a messaging service according to the invention will be able to render, within the framework of the WebRTC communication between browsers, not only a service similar to that provided within the framework of conventional telephony (mobile or fixed), but also with more possibilities. regarding the types of messages that can be posted.
Selon une caractéristique particulière de l'invention, suite au dépôt d'un message par le premier utilisateur, le message déposé est transmis par le premier navigateur à un serveur de messagerie, le serveur de messagerie transmettant ensuite à destination d'un terminal associé au second utilisateur, une notification indicative de 30 la réception du message déposé par le premier utilisateur.According to a particular characteristic of the invention, following the submission of a message by the first user, the submitted message is transmitted by the first browser to a messaging server, the messaging server then transmitting to a terminal associated with the second user, a notification indicative of the receipt of the message posted by the first user.
Selon une mise en œuvre particulière de l'invention, la notification précitée comporte est un message de type SMS ou MMS transmis à un identifiant de téléphonie mobile associé au second utilisateur. On peut également prévoir que la notification comporte un message électronique transmis à une adresse de courrier électronique du 35 second utilisateur. La notification peut aussi, selon le mode de réalisation considéré, consister en l'envoi simultané de plusieurs messages de types différents correspondant à des terminaux de communication (PC, téléphone mobile, ...) distincts, utilisés par le second utilisateur.According to a particular implementation of the invention, the aforementioned notification comprises an SMS or MMS type message transmitted to a mobile telephone identifier associated with the second user. Provision can also be made for the notification to include an electronic message transmitted to an electronic mail address of the second user. The notification can also, depending on the embodiment considered, consist in the simultaneous sending of several messages of different types corresponding to distinct communication terminals (PC, mobile telephone, etc.), used by the second user.
On peut également envisager d'utiliser, en guise de notification, un indicateur de message en attente, de type MWI (Message-Waiting Indicator).It is also possible to envisage using, by way of notification, a message waiting indicator, of the MWI type (Message-Waiting Indicator).
En pratique, la notification précitée peut inclure selon le mode de réalisation choisi, tout ou partie des informations suivantes :In practice, the aforementioned notification may include, depending on the embodiment chosen, all or part of the following information:
- l'identité de l'appelant ;- the identity of the caller;
- le type de message déposé (audio, vidéo, textuel, ...) ;- the type of message submitted (audio, video, text, ...);
- la durée de message ;- the duration of the message;
- le nombre de caractères utilisés par le message (message textuel) ;- the number of characters used by the message (text message);
- la nature urgente ou non urgente du message.- the urgent or non-urgent nature of the message.
De cette façon, le second utilisateur, même s'il n'est pas connecté à Internet ou bien s'il ne se connecte pas au serveur de messagerie selon l'invention, pourra être averti de l'arrivée d'un message issu d'un utilisateur ayant tenté de le joindre par communication WebRTC.In this way, the second user, even if he is not connected to the Internet or else if he does not connect to the messaging server according to the invention, can be notified of the arrival of a message from the Internet. 'a user who tried to reach him by WebRTC communication.
Selon un premier mode de réalisation du procédé de communication selon l'invention, les étapes de détermination d'un temps écoulé depuis l'envoi d'une demande d'établissement d'appel, et de redirection automatique vers une messagerie vocale, lorsque le temps écoulé atteint une durée déterminée, sont mises en œuvre par l'application web chargée dans le premier navigateur. Dans ce mode de réalisation, l'application web est typiquement une application Javascript incorporée dans le code HTML de la page Web fourni par le serveur d'application offrant le service de communication temps réel entre navigateurs.According to a first embodiment of the communication method according to the invention, the steps of determining a time elapsed since the sending of a call establishment request, and of automatic redirection to a voice mailbox, when the elapsed time reaches a specified time, are implemented by the web application loaded in the first browser. In this embodiment, the web application is typically a Javascript application incorporated into the HTML code of the web page provided by the application server offering the real-time communication service between browsers.
Ce premier mode de réalisation est particulièrement adapté au cas où le fournisseur du service de communication temps réel entre navigateurs, fournit également le service de messagerie WebRTC associé, ou bien au cas où le fournisseur du service de communication temps réel entre navigateurs, fournit seulement la fonctionnalité de redirection vers un serveur de messagerie WebRTC géré par un fournisseur de services tiers.This first embodiment is particularly suitable in the case where the provider of the real-time communication service between browsers also provides the associated WebRTC messaging service, or else in the case where the provider of the real-time communication service between browsers provides only the functionality to redirect to a WebRTC mail server managed by a third-party service provider.
Selon un second mode de réalisation, les étapes de détermination d'un temps écoulé depuis l'envoi d'une demande d'établissement d'appel, et de redirection automatique vers une messagerie vocale, sont mises en œuvre par une interface de programmation (API) incorporée nativement dans le premier navigateur.According to a second embodiment, the steps of determining an elapsed time since the sending of a request for establishment of a call, and of automatic redirection to a voice mailbox, are implemented by a programming interface ( API) natively incorporated in the first browser.
Ce second mode de réalisation est adapté au cas où le fournisseur du service de communication temps réel entre navigateurs et le fournisseur du service de messagerie associé, sont des entités distinctes. L'API implémentant le service de messagerie dans le navigateur permet alors à l'utilisateur du navigateur de paramétrer l'adresse web (URL) de la messagerie à ouvrir par le navigateur, en cas de non réponse d'un navigateur destinataire, lors d'une tentative d'établissement d'appel.This second embodiment is suitable for the case where the provider of the real-time communication service between browsers and the provider of the associated messaging service are separate entities. The API implementing the messaging service in the browser then allows the browser user to configure the web address (URL) of the messaging system to be opened by the browser, in the event of no response from a recipient browser, when 'an attempt to set up a call.
Corrélativement, selon un second aspect, l'invention a par conséquent pour objet une application web fournissant des fonctionnalités de communication temps réel entre navigateurs web. Cette application web selon l'invention, comprend des instructions de programme dont l'exécution par un processeur, déclenchée par un navigateur web d'un terminal de communication, provoque la mise en oeuvre des étapes de détermination d'un temps écoulé depuis l'envoi d'une demande d'établissement d'appel, et de redirection vers une messagerie vocale lorsque le temps écoulé atteint une durée déterminée, selon le procédé de communication selon l'invention tel que succinctement exposé plus haut.Correlatively, according to a second aspect, the subject of the invention is therefore a web application providing functionalities for real-time communication between web browsers. This web application according to the invention comprises program instructions whose execution by a processor, triggered by a web browser of a communication terminal, causes the implementation of the steps for determining a time elapsed since the sending a request for establishment of a call, and for redirection to a voice mailbox when the elapsed time reaches a determined duration, according to the communication method according to the invention as briefly described above.
Une telle application web est par conséquent particulièrement adaptée au premier mode de réalisation évoqué plus haut.Such a web application is therefore particularly suitable for the first embodiment mentioned above.
Selon un troisième aspect, l'invention concerne également un navigateur web comportant une interface de programmation (API) incluant un code de programme d'ordinateur, dont l'exécution par un processeur d'un terminal de communication dans lequel le navigateur web est installé, provoque la mise en œuvre des étapes de détermination d'un temps écoulé depuis l'envoi d'une demande d'établissement d'appel, et de redirection vers une messagerie vocale lorsque le temps écoulé atteint une durée déterminée, conformes au procédé de communication selon l'invention tel que succinctement exposé plus haut.According to a third aspect, the invention also relates to a web browser comprising a programming interface (API) including a computer program code, the execution of which by a processor of a communication terminal in which the web browser is installed. , causes the implementation of the steps of determining an elapsed time since the sending of a request for establishment of a call, and of redirection to a voice mailbox when the elapsed time reaches a determined duration, in accordance with the method of communication according to the invention as briefly described above.
Un tel navigateur est par conséquent particulièrement adapté au second mode de réalisation évoqué plus haut.Such a browser is therefore particularly suitable for the second embodiment mentioned above.
Enfin, selon respectivement un quatrième et un cinquième aspect, la présente invention concerne aussi :Finally, according to a fourth and a fifth aspect respectively, the present invention also relates to:
- un serveur de messagerie accessible par un navigateur web, via une adresse web, ce serveur de messagerie fournissant un service de messagerie pour la mise en œuvre d'un procédé de communication selon l'invention tel qu'exposé plus haut ;a messaging server accessible by a web browser, via a web address, this messaging server providing a messaging service for the implementation of a communication method according to the invention as explained above;
- un serveur d'application fournissant un service de communication temps réel entre navigateurs web, ce serveur d'application comprenant un serveur web hébergeant au moins une page web incluant une application web conforme au second aspect de l'invention, évoqué plus haut.an application server providing a real-time communication service between web browsers, this application server comprising a web server hosting at least one web page including a web application in accordance with the second aspect of the invention, mentioned above.
Selon un mode particulier de réalisation de l'invention, le serveur de messagerie peut être inclus dans le serveur d'application selon l'invention.According to a particular embodiment of the invention, the messaging server can be included in the application server according to the invention.
D’autres caractéristiques et avantages de la présente invention ressortiront de la description détaillée qui suit, laquelle fait référence aux dessins annexés dans lesquels :Other features and advantages of the present invention will emerge from the following detailed description, which refers to the accompanying drawings in which:
- la figure 1 illustre un environnement réseau dans lequel la présente invention peut être mise en œuvre ;FIG. 1 illustrates a network environment in which the present invention can be implemented;
- la figure 2 représente sous forme d'organigramme les principales étapes du procédé de communication selon l'invention ;FIG. 2 represents in the form of a flowchart the main steps of the communication method according to the invention;
- la figure 3 est un diagramme représentant les échanges entre les différentes entités représentées à la figure 1 selon un exemple de mise en œuvre d'un procédé de communication selon l'invention ;FIG. 3 is a diagram representing the exchanges between the different entities represented in FIG. 1 according to an exemplary implementation of a communication method according to the invention;
— la figure 4 représente une boîte de dialogue ouverte dans un navigateur, permettant de paramétrer l'adresse de renvoi vers une messagerie et le délai de temporisation avant renvoi, selon un mode de réalisation de l'invention ;FIG. 4 represents a dialog box opened in a browser, making it possible to configure the forwarding address to a messaging system and the timeout period before forwarding, according to one embodiment of the invention;
— la figure 5 représente un exemple d'interface graphique obtenue par un navigateur d'un utilisateur après connexion à un serveur de messagerie WebRTC selon l'invention, permettant à l'utilisateur de consulter les messages qu'il a reçus ;FIG. 5 represents an example of a graphical interface obtained by a user's browser after connection to a WebRTC messaging server according to the invention, allowing the user to consult the messages he has received;
- la figure 6 représente un exemple d'interface graphique obtenue par un navigateur d'un utilisateur après connexion à un serveur de messagerie WebRTC selon l'invention, afin de permettre à l'utilisateur de configurer sa messagerie personnelle ; etFIG. 6 represents an example of a graphical interface obtained by a user's browser after connection to a WebRTC messaging server according to the invention, in order to allow the user to configure his personal messaging; and
- la figure 7 représente un exemple d'interface graphique obtenue par un navigateur d'un premier utilisateur après redirection vers un serveur de messagerie WebRTC selon l'invention, suite à l'absence de réponse à un appel à destination d'un second utilisateur.FIG. 7 represents an example of a graphical interface obtained by a browser of a first user after redirection to a WebRTC messaging server according to the invention, following the absence of response to a call to a second user .
La figure 1 illustre un environnement réseau dans lequel la présente invention peut être mise en œuvre.Figure 1 illustrates a network environment in which the present invention can be implemented.
L'environnement représenté comprend un premier navigateur web BRW1 d'un premier terminal d'utilisateur (utilisateur U1), un second navigateur BRW2 d'un second terminal d'utilisateur (utilisateur U2). Les terminaux d'utilisateurs précités peuvent être dans un état connecté ou non connecté à un réseau de communication NW qui est un réseau de type Internet, c'est-à-dire un réseau basé sur les technologies de communication mises en œuvre dans le réseau Internet, en particulier le réseau NW peut être aussi un réseau d'entreprise communément appelé intranet.The environment shown comprises a first web browser BRW1 of a first user terminal (user U1), a second browser BRW2 of a second user terminal (user U2). The aforementioned user terminals can be in a state connected or not connected to a communication network NW which is an Internet type network, that is to say a network based on the communication technologies implemented in the network. The Internet, in particular the NW network, can also be a corporate network commonly called an intranet.
Les navigateurs BRW1 et BRW2 sont des navigateurs compatiblesBRW1 and BRW2 browsers are compatible browsers
WebRTC/RTCWEB, et à ce titre, disposent respectivement d'un ensemble 12, 22 d'interfaces API conformes aux spécifications WebRTC, et d'un module fonctionnel RTC 11, 21 conforme aux spécifications RTCWEB. Les ensembles APIs 12 et 22 sont aptes respectivement à interagir avec une application Javascript APP incorporée dans 10 des pages web WP1 et WP2 téléchargées respectivement par les navigateurs BRW1 et BRW2 à une adresse web de ressources hébergées par un serveur d'application AS sur le réseau NW.WebRTC / RTCWEB, and as such, have respectively a set 12, 22 of API interfaces conforming to the WebRTC specifications, and an RTC functional module 11, 21 conforming to the RTCWEB specifications. The APIs 12 and 22 sets are respectively able to interact with a Javascript APP application incorporated in WP1 and WP2 web pages downloaded respectively by the browsers BRW1 and BRW2 to a web address of resources hosted by an application server AS on the network NW.
L'application APP fournit conformément aux spécifications WebRTC/RTCWEB, des fonctionnalités de communication RTC notamment relatives à l'accès au service 15 de communication temps réel WebRTC fourni par le serveur AS, et à la signalisation permettant d'établir une telle communication entre navigateurs.The APP application provides, in accordance with the WebRTC / RTCWEB specifications, RTC communication functionalities in particular relating to access to the WebRTC real-time communication service provided by the AS server, and to the signaling making it possible to establish such communication between browsers. .
Ainsi, dans l'exemple illustré à la figure 1, si les deux navigateurs BRW1 et BRW2 ont téléchargé chacun la page web (WP1 et WP2) contenant l'application APP du service WebRTC alors ils peuvent établir une communication temps réel de pair à 20 pair, C1, notamment de type voix ou vidéo.Thus, in the example illustrated in Figure 1, if the two browsers BRW1 and BRW2 have each downloaded the web page (WP1 and WP2) containing the APP application of the WebRTC service then they can establish a real-time peer-to-peer communication at 20 even, C1, in particular of voice or video type.
En revanche, si le navigateur BRW1 tente d'établir un appel avec le terminal dans lequel le navigateur BRW2 est installé et que ce dernier est fermé ou n'est pas connecté au serveur AS et n'a pas ouvert la page web WP2 du service, ou encore si le terminal correspondant n'est pas connecté au réseau ou si l'utilisateur (U2) du terminal 25 ne répond simplement pas à l’appel, alors la communication C1 ne peut s'établir entre les deux navigateurs BRW1 et BRW2 (d'où la représentation en pointillé de la page WP2 et de la double-flèche C1).On the other hand, if the browser BRW1 tries to establish a call with the terminal in which the browser BRW2 is installed and the latter is closed or is not connected to the AS server and has not opened the WP2 web page of the service , or if the corresponding terminal is not connected to the network or if the user (U2) of the terminal 25 simply does not answer the call, then the communication C1 cannot be established between the two browsers BRW1 and BRW2 (hence the dotted representation of page WP2 and the double arrow C1).
Toujours sur la figure 1, sont également représentés un serveur VM_S de messagerie WebRTC, selon l'invention, associé à un serveur MSG_S de stockage de 30 messages — dont le rôle respectif sera expliqué plus en détail dans la suite de l'exposé —, ainsi qu'un terminal mobile T2 associé à l'utilisateur (U2) du second navigateur, et connecté à un réseau de téléphonie mobile MN de seconde, troisième ou quatrième génération (2G, 3G, 4G) lui-même connecté à une passerelle GW permettant de relier le réseau mobile MN au réseau NW.Also in FIG. 1, a WebRTC messaging server VM_S is also represented, according to the invention, associated with a server MSG_S for storing 30 messages - the respective role of which will be explained in more detail in the remainder of the description -, as well as a mobile terminal T2 associated with the user (U2) of the second browser, and connected to a second, third or fourth generation MN mobile telephone network (2G, 3G, 4G) itself connected to a GW gateway making it possible to connect the MN mobile network to the NW network.
En relation avec la figure 2 qui représente sous forme d'organigramme les principales étapes d'un procédé de communication selon l'invention, mis en œuvre dans un environnement tel qu'illustré à la figure 1.In relation to FIG. 2 which represents in the form of a flowchart the main steps of a communication method according to the invention, implemented in an environment such as illustrated in FIG. 1.
Lors de l'étape S20, le navigateur BRW1 de l'utilisateur U1 accède à une 5 adresse web d'un service WebRTC fourni par le serveur d'application AS. Après une éventuelle phase d'authentification au service, le navigateur charge la page web WP1 contenant l'application APP (Javascript).During step S20, the browser BRW1 of the user U1 accesses a web address of a WebRTC service provided by the application server AS. After a possible service authentication phase, the browser loads the WP1 web page containing the APP application (Javascript).
A l'étape suivante S21, le navigateur BRW1 via ΓΑΡΙ RTCPeerConnection transmet au serveur AS une demande d'établissement d'appel à destination de 10 l'utilisateur U2.In the following step S21, the browser BRW1 via ΓΑΡΙ RTCPeerConnection transmits to the server AS a call establishment request intended for the user U2.
L'envoi de la demande d'établissement d'appel déclenche l'étape S23 de test d'un état de présence du second utilisateur pour le service WebRTC. Ce test est mis en œuvre par exemple par l'envoi d'une commande à destination d'un serveur de présence dans lequel une table de présence des utilisateurs abonnés au service 15 WebRTC est mise régulièrement à jour. Si le second utilisateur est déterminé comme étant absent (S22, Non) pour le service WebRTC, alors le navigateur BRW1 est redirigé automatiquement (étape S25) vers une adresse web de messagerie WebRTC hébergée par le serveur de messagerie VMS. En revanche, si le second utilisateur est déterminé comme étant présent pour le service WebRTC alors on passe à l'étape S23 20 de temporisation afin de déterminer le temps écoulé depuis l'envoi de la demande d'établissement d'appel.The sending of the call establishment request triggers the step S23 of testing a presence state of the second user for the WebRTC service. This test is implemented for example by sending a command to a presence server in which a presence table of users subscribed to the WebRTC service is regularly updated. If the second user is determined to be absent (S22, No) for the WebRTC service, then the browser BRW1 is automatically redirected (step S25) to a WebRTC messaging web address hosted by the VMS messaging server. On the other hand, if the second user is determined to be present for the WebRTC service then one proceeds to the timing step S23 to determine the time elapsed since the sending of the call establishment request.
Il a noté que dans le mode de réalisation choisi, l'étape (S23) de test d'un état de présence du second utilisateur est mise en œuvre, mais dans le cas où une telle information de présence ne peut être obtenue alors l'étape S23 de déclenchement 25 d'une temporisation est directement exécutée.He noted that in the chosen embodiment, the step (S23) of testing a presence state of the second user is implemented, but in the event that such presence information cannot be obtained then the step S23 for triggering a time delay is directly executed.
A l'étape S24 qui suit, on teste la durée écoulée depuis l'envoi de la demande d'établissement d'appel. Tant que le temps écoulé n'atteint pas une durée déterminée, la mise en attente du navigateur continue (S24, Non). La durée de temporisation peut être, selon le mode de réalisation choisi, fixée au préalable par l'utilisateur U1 du 30 navigateur BRW1 (notamment dans le cas d'une implémentation de l'invention au niveau API) ou bien fixée par le fournisseur du service par l'intermédiaire de l'application Javascript APP.In step S24 which follows, the time elapsed since the sending of the call establishment request is tested. As long as the elapsed time does not reach a determined duration, the placing on hold of the browser continues (S24, No). The timeout period can be, depending on the embodiment chosen, set beforehand by the user U1 of the browser BRW1 (in particular in the case of an implementation of the invention at API level) or else set by the supplier of the service through the JavaScript APP application.
Durant l'étape S24, si la connexion est établie avec le navigateur destinataire BRW2 alors l'étape S24 est interrompue et la communication (fig. 1, C1) est établie 35 avec le navigateur destinataire BRW2.During step S24, if the connection is established with the destination browser BRW2 then step S24 is interrupted and communication (FIG. 1, C1) is established with the destination browser BRW2.
Lorsqu'au contraire le temps écoulé atteint la durée de temporisation déterminée, alors la demande d'établissement d'appel est interrompue et le navigateurWhen, on the contrary, the elapsed time reaches the determined timeout period, then the call establishment request is interrupted and the browser
BRW1 est redirigé automatiquement (étape S25) vers une adresse web de messagerieBRW1 is automatically redirected (step S25) to a web mail address
WebRTC hébergée par le serveur de messagerie VMS.WebRTC hosted by the VMS mail server.
Une page web provenant de la messagerie est alors affichée par le navigateur BRW1, cette page web restitue alors (étape S26) un message enregistré au préalable par l'utilisateur destinataire de l'appel (utilisateur U2), de la même façon qu'un répondeur de téléphonie classique. Cependant ce message peut être avantageusement enregistré, au choix de l'utilisateur (U2), sous différentes formes : message audio, vidéo ou textuel, ou audio et textuel, ou vidéo et textuel.A web page originating from the messaging system is then displayed by the browser BRW1, this web page then restores (step S26) a message recorded beforehand by the user to whom the call is to be made (user U2), in the same way as a classic telephone answering machine. However, this message can advantageously be recorded, at the choice of the user (U2), in different forms: audio, video or text message, or audio and text, or video and text.
La page web de messagerie affichée par le navigateur BRW1 de l'utilisateur U1 offre également à ce dernier la possibilité de déposer un message (étape S27), lequel message peut également déposer sous différentes formes : message audio, vidéo ou textuel ou audio et textuel, ou vidéo et textuel.The messaging web page displayed by the browser BRW1 of the user U1 also offers the latter the possibility of posting a message (step S27), which message can also post in different forms: audio, video or text or audio and text message. , or video and text.
Enfin, suite au dépôt d'un message par l'utilisateur U1, le serveur de messagerie VM_S transmet alors, à l'étape S28, à destination d'un terminal de communication (PC, terminal de téléphonie mobile, fixe, ...) associé au second utilisateur (U2), une notification indicative de la réception du message déposé par le premier utilisateur (U1).Finally, following the submission of a message by the user U1, the messaging server VM_S then transmits, in step S28, to a communication terminal (PC, mobile telephone terminal, landline, etc. ) associated with the second user (U2), a notification indicative of the receipt of the message submitted by the first user (U1).
Dans le mode de réalisation décrit, le ou les terminaux associés au second utilisateur U2 vers lesquels transmettre une notification de réception d'un message, ainsi que le type de notification, peuvent être configurés au préalable par le second utilisateur comme paramètres associés à sa messagerie, gérée par le serveur de messagerie. Par exemple, l'utilisateur U2 peut configurer qu'une telle notification soit transmise à un identifiant de téléphonie mobile qui lui est propre, ainsi l'utilisateur U2 pourra recevoir cette notification sous forme de message textuel SMS ou MMS (Short Message Service, Multimedia Messaging Service) sur son terminal T2.In the embodiment described, the terminal or terminals associated with the second user U2 to which to transmit a notification of receipt of a message, as well as the type of notification, can be configured beforehand by the second user as parameters associated with his messaging system. , managed by the mail server. For example, the user U2 can configure that such a notification is sent to a mobile telephone identifier which is specific to him, so the user U2 can receive this notification in the form of an SMS or MMS (Short Message Service, Multimedia) text message. Messaging Service) on his terminal T2.
La figure 3 est un diagramme représentant les échanges entre les différentes entités représentées à la figure 1 selon un exemple de mise en œuvre d'un procédé de communication selon l'invention.FIG. 3 is a diagram representing the exchanges between the different entities represented in FIG. 1 according to an exemplary implementation of a communication method according to the invention.
Comme représenté à la figure 3, les échanges ont lieu entre les différentes entités exposées en relation avec la figure 1 : les deux navigateurs BRW1, BRW2, le serveur d'application AS, le serveur de messagerie VM_S, et le serveur de stockage de messages MSG_S. La ligne verticale correspondant au navigateur BRW2 est représentée initialement en pointillé indiquant que le navigateur BRW2 n'est pas actif vis-à-vis de service de communication RTC fourni par le serveur AS — soit que le navigateur n'est pas connecté au serveur AS, soit qu'il n'est pas ouvert dans le terminal associé, soit que le terminal lui-même n'est pas connecté au réseau NW.As represented in FIG. 3, the exchanges take place between the different entities exposed in relation with FIG. 1: the two browsers BRW1, BRW2, the application server AS, the messaging server VM_S, and the message storage server MSG_S. The vertical line corresponding to the BRW2 browser is initially represented in dotted lines indicating that the BRW2 browser is not active with respect to the PSTN communication service provided by the AS server - or that the browser is not connected to the AS server , either that it is not open in the associated terminal, or that the terminal itself is not connected to the network NW.
Selon le premier mode de réalisation introduit plus haut dans la description, les fonctionnalités de détermination d'un temps écoulé depuis l'envoi d'une demande d'établissement d'appel et de redirection automatique vers une messagerie vocale, lorsque le temps écoulé atteint une durée déterminée, sont mises en œuvre par l'application web chargée dans un navigateur avec la page web fournie par le serveur d'application AS.According to the first embodiment introduced above in the description, the functionalities for determining an elapsed time since the sending of a request for establishment of a call and for automatic redirection to a voice mailbox, when the elapsed time reaches a fixed period, are implemented by the web application loaded in a browser with the web page provided by the application server AS.
En pratique l'application web (APP, figure 1) est une application Javascript, et celle-ci peut être enrichie dans ce mode de réalisation d'une fonction du type défini par le pseudo code suivant, donné à titre d'exemple :In practice, the web application (APP, FIG. 1) is a Javascript application, and it can be enriched in this embodiment with a function of the type defined by the following pseudo code, given by way of example:
SetTimeout (function()) {SetTimeout (function ()) {
Si pas de réponse lors de l'appel alors Redirection vers URL_MES avec paramètres (identifiant de l'appelé (adresse email, etc.) }If no response during the call then Redirection to URL_MES with parameters (called party ID (email address, etc.)}
Ainsi dans ce mode de réalisation si, suite au déclenchement de l'appel, il s'écoule une durée (définie par la fonction SetTimeout) sans réponse de l'appelé, alors une redirection du navigateur est automatiquement effectuée vers l'adresse URL_MES de la messagerie, avec en paramètre en particulier l'identifiant de l'appelé utilisé lors de l'appel, par exemple une adresse de courrier électronique (email).Thus in this embodiment if, following the triggering of the call, a period of time (defined by the SetTimeout function) elapses without a response from the called party, then a browser redirection is automatically carried out to the URL_MES address of messaging, with in particular the identifier of the called party used during the call, for example an electronic mail address (email).
Selon le mode de réalisation choisi, d'autres informations peuvent être jointes en paramètres lors de l'opération de redirection, par exemple le type de terminal utilisé par l'utilisateur appelant (U1).Depending on the embodiment chosen, other information can be attached as parameters during the redirection operation, for example the type of terminal used by the calling user (U1).
Selon le second mode de réalisation introduit plus haut dans la description, la détermination d'un temps écoulé depuis l'envoi d'une demande d'établissement d'appel, et de redirection automatique vers une messagerie vocale, sont mises en œuvre par une interface de programmation (API) incorporée nativement dans les navigateurs. En pratique, les nouvelles fonctionnalités apportées par la présente invention sont implémentées dans l'interface API RTCPeerConnection.According to the second embodiment introduced above in the description, the determination of a time elapsed since the sending of a request for establishment of a call, and for automatic redirection to a voice mailbox, are implemented by a programming interface (API) natively incorporated into browsers. In practice, the new functionalities provided by the present invention are implemented in the RTCPeerConnection API interface.
Plus précisément, selon les spécifications WebRTC/RTCWEB, lors de l'établissement d'une communication WebRTC entre deux navigateurs, il se produit un échange de messages selon un modèle d'offre /réponse (offer/answer) dans le cadre du protocole SDP (Session Description Protocol).More precisely, according to the WebRTC / RTCWEB specifications, when establishing a WebRTC communication between two browsers, there is an exchange of messages according to an offer / answer model within the framework of the SDP protocol. (Session Description Protocol).
Dans ce contexte, selon le second mode de réalisation, on prévoit de modifier l'interface API RTCPeerConnection, en y introduisant une nouvelle fonction, désignée dans cet exemple par SetRedirectionMevo(noanswer) (en gras ci-après), de redirection vers une messagerie en cas de non réponse du navigateur appelé, et cela avec récupération de l'identifiant de l'appelé, et le cas échéant, d'autres informations, pour permettre le dépôt de messages sur sa messagerie :In this context, according to the second embodiment, provision is made to modify the RTCPeerConnection API interface, by introducing a new function, designated in this example by SetRedirectionMevo (noanswer) (in bold below), for redirection to a messaging system. in the event of no response from the called browser, and this with recovery of the called party's identifier, and, if applicable, other information, to allow messages to be posted on their mailbox:
Caller transition:Caller transition:
• new PeerConnection(): stable • setLocal(offer): have-local-offer • SetRedirectionMevo(noanswer): caller has no answer from callee « setRemote(pranswer): have-remote-pranswer • setRemote(answer): stable • closeQ: closed• new PeerConnection (): stable • setLocal (offer): have-local-offer • SetRedirectionMevo (noanswer): caller has no answer from callee “setRemote (pranswer): have-remote-pranswer • setRemote (answer): stable • closeQ : closed
Pour obtenir plus d'informations concernant l'interface RTCPeerConnection, on pourra consulter le document : WebRTC 1.0: Real-time Communication Between Browsers -W3C Editor's Draft 22 March 2013 ; à l'adresse web suivante :For more information about the RTCPeerConnection interface, see the document: WebRTC 1.0: Real-time Communication Between Browsers -W3C Editor's Draft 22 March 2013; at the following web address:
http://dev.w3.org/2011/webrtc/editor/webrtc.html#rtcpeerconnection-interface (en particulier, voir section 4.4.1 RTCPeerState Enum).http://dev.w3.org/2011/webrtc/editor/webrtc.html#rtcpeerconnection-interface (in particular, see section 4.4.1 RTCPeerState Enum).
Dans ce mode de réalisation, les navigateurs BRW1 et BRW2 sont configurés au préalable par leur utilisateur, de sorte à paramétrer l'adresse de la messagerie vers laquelle rediriger le navigateur en cas de non réponse de l'appelé, ainsi que la durée sans réponse de l'appelé, à partir de laquelle la redirection doit être déclenchée.In this embodiment, the browsers BRW1 and BRW2 are configured beforehand by their user, so as to configure the e-mail address to which the browser should be redirected in the event of no response from the called party, as well as the duration of no response. of the called party, from which the redirection should be triggered.
La configuration d'un navigateur selon ce mode de réalisation est illustrée par la figure 4 qui représente une boîte de dialogue ouverte dans un navigateur, permettant de paramétrer l'adresse de renvoi vers une messagerie et le délai de temporisation avant renvoi. Sur la figure 4, on peut voir que l'adresse web (URL) de redirection est voicewebrtc.orange.com sur le port 80, et que le délai de temporisation est paramétré à 5 secondes.The configuration of a browser according to this embodiment is illustrated by FIG. 4 which represents a dialog box opened in a browser, making it possible to configure the forwarding address to a messaging system and the timeout period before forwarding. In Figure 4, we can see that the redirect web address (URL) is voicewebrtc.orange.com on port 80, and the timeout is set to 5 seconds.
De plus, chaque utilisateur ayant souscrit au service WebRTC selon l'invention a configuré au préalable sa messagerie personnelle, directement auprès du serveur de messagerie VM_S, ou indirectement, par l'intermédiaire du serveur d'application AS. Cette configuration préalable consiste notamment, d'une part, à enregistrer un ou plusieurs messages (vocal, vidéo et/ou textuel) destinés à être restitués en cas d'indisponibilité de l'utilisateur lors d'un appel entrant, et d'autre part, le cas échéant, à choisir un espace de stockage pour stocker en particulier les messages qui sont destinés à l'utilisateur en provenance d'autres utilisateurs du service WebRTC selon l'invention. Cet espace de stockage peut être hébergé directement par le serveur de 5 messagerie VM_S, ou bien par un serveur de stockage dédié MSG_S, ou encore être un espace de stockage propre à l'utilisateur, souscrit auprès d'un autre fournisseur de service, tel que par exemple Dropbox™ de la société Dropbox, ou Le Cloud d'Orange™ de la société Orange. La configuration par l'utilisateur auprès de fournisseurs d'espaces de stockage distants est effectuée par l'intermédiaire 10 d'interfaces API spécifiques fournis par ces fournisseurs.In addition, each user who has subscribed to the WebRTC service according to the invention has previously configured his personal messaging, directly with the VM_S messaging server, or indirectly, through the application server AS. This prior configuration consists in particular, on the one hand, of recording one or more messages (voice, video and / or text) intended to be returned in the event of the user's unavailability during an incoming call, and on the other part, where appropriate, in choosing a storage space to store in particular the messages which are intended for the user from other users of the WebRTC service according to the invention. This storage space can be hosted directly by the messaging server VM_S, or else by a dedicated storage server MSG_S, or even be a storage space specific to the user, subscribed to another service provider, such as for example, Dropbox ™ from the company Dropbox, or Le Cloud d'Orange ™ from the Orange company. User configuration with remote storage providers is performed through specific API interfaces provided by these providers.
De retour à la figure 3, à l'étape S301, l'utilisateur U1 du navigateur BRW1 se connecte au service WebRTC selon l'invention, fourni par le serveur AS, selon une procédure propre au service lui-même, qui peut inclure une opération d'authentification de l'utilisateur. On peut envisager une procédure de connexion au serveur AS, du type 15 de celle offerte par Facebook® avec les APIs Facebook Connect. Cette étape inclut le chargement par le navigateur de la page web contenant l'application Javascript du service WebRTC.Returning to FIG. 3, in step S301, the user U1 of the browser BRW1 connects to the WebRTC service according to the invention, provided by the server AS, according to a procedure specific to the service itself, which may include a user authentication operation. It is possible to envisage a procedure for connecting to the AS server, of the type 15 of that offered by Facebook® with the Facebook Connect APIs. This step includes the loading by the browser of the web page containing the Javascript application of the WebRTC service.
Ensuite (étape S303), l'utilisateur U1 déclenche via son navigateur un appel (par exemple vidéo) à destination de l'utilisateur U2 du navigateur BRW2, et reçoit en 20 retour (étape S305) un message textuel dans son navigateur lui indiquant que l'appel est en cours. En parallèle, le serveur AS essaie de joindre le navigateur BRW2 pour lui transmettre la demande d'appel (étape S307), le navigateur BRW2 étant alors inactif (ligne en pointillé).Then (step S303), the user U1 initiates via his browser a call (for example video) to the user U2 of the browser BRW2, and receives in return (step S305) a text message in his browser indicating to him that the call is in progress. In parallel, the server AS tries to reach the browser BRW2 to send it the call request (step S307), the browser BRW2 then being inactive (dotted line).
Dans le premier navigateur BRW1, l'envoi de la demande d'établissement 25 déclenche l'étape de temporisation S309 conforme à l'invention. Le temps d'attente étant écoulé sans que l'appel soit établi avec le navigateur BRW2, lors de l'étape S311, le navigateur BRW1 est automatiquement redirigé, conformément à l'invention, vers le serveur de messagerie VM_S. Par ailleurs, le navigateur BRW1 transmet au serveur AS une commande de coupure de l'appel en cours (étape S313).In the first browser BRW1, the sending of the establishment request 25 triggers the timing step S309 according to the invention. The waiting time having elapsed without the call being established with the browser BRW2, during step S311, the browser BRW1 is automatically redirected, in accordance with the invention, to the messaging server VM_S. Moreover, the browser BRW1 transmits to the server AS a command to cut off the call in progress (step S313).
A l'étape S315, le navigateur BRW1 charge, à partir du serveur de messagerieIn step S315, the browser BRW1 loads, from the mail server
VM_S, la page web affichant le répondeur de l'utilisateur U2 destinataire de l'appel non abouti, et restitue automatiquement le message d'indisponibilité de cet utilisateur (message vidéo par exemple).VM_S, the web page displaying the answering machine of the user U2 recipient of the unsuccessful call, and automatically reproduces the unavailability message of this user (video message for example).
Suite à la restitution du message d'indisponibilité de l'utilisateur U2, au cours de 35 l'étape S317, l'utilisateur U1 enregistre un message à l'attention de l'utilisateur U2 (un message vocal par exemple). L'étape S317.utilise en particulier, selon le mode de réalisation choisi, ΓΑΡΙ MediaStream (encore désignée par getUserMedia) du navigateur BRW1, ou bien une fonction de l'application web (Javascript) contenue dans la page web fournie par le serveur de messagerie VM_S, par exemple une primitive WebRTC désignée par RecordRTC.Following the restitution of the unavailability message of the user U2, during step S317, the user U1 records a message for the attention of the user U2 (a voice message for example). Step S317. Uses in particular, depending on the embodiment chosen, ΓΑΡΙ MediaStream (also designated by getUserMedia) of the browser BRW1, or else a function of the web application (Javascript) contained in the web page provided by the server of VM_S messaging, for example a WebRTC primitive denoted by RecordRTC.
A l'étape suivante S319, le message enregistré par l'utilisateur U1 est transmis au serveur de messagerie VM_S. Ce dernier, transmet alors ce message (étape S321) au serveur de stockage de messages MSG_S.In the next step S319, the message recorded by the user U1 is transmitted to the messaging server VM_S. The latter then transmits this message (step S321) to the message storage server MSG_S.
Ensuite à l'étape S323, le serveur de messagerie consulte les données de configuration de la messagerie de l'utilisateur U2, et détermine un identifiant de l'utilisateur U2 (ou d'un terminal, par exemple une adresse IP), et un format de notification, afin de transmettre à l'utilisateur U2 une notification l'informant de l'arrivée d'un nouveau message. Dans cet exemple l'identifiant est une adresse email, et lorsque l'utilisateur U2 se connectera (étape S325) au réseau NW avec son terminal (un PC par exemple) il pourra alors consulter sa messagerie électronique et prend connaissance du message de notification.Then in step S323, the messaging server consults the messaging configuration data of the user U2, and determines an identifier of the user U2 (or of a terminal, for example an IP address), and a notification format, in order to send the user U2 a notification informing him of the arrival of a new message. In this example, the identifier is an email address, and when the user U2 connects (step S325) to the network NW with his terminal (a PC for example) he can then consult his email and read the notification message.
A l'étape S327, l'utilisateur U2 se connecte via le navigateur BRW2 — par exemple en cliquant sur un lien URL présent dans le message de notification — au serveur de messagerie VM_S, et prend connaissance du nouveau message. Le serveur VM_S, à partir d'un identifiant de l'utilisateur U2, met à jour, en se connectant (étape S329) au serveur de stockage MSG_S, une interface -graphique de messagerie associée à l'utilisateur U2 avec les liens (URL) d'accès aux nouveaux messages.In step S327, the user U2 connects via the browser BRW2 - for example by clicking on a URL link present in the notification message - to the messaging server VM_S, and takes note of the new message. The VM_S server, from an identifier of the user U2, updates, by connecting (step S329) to the storage server MSG_S, a messaging graphical interface associated with the user U2 with the links (URL ) access to new messages.
Enfin, à l'étape S331, l'utilisateur U2 via l'interface de messagerie affichée par son navigateur (BRW2) peut en cliquant sur les liens correspondants déclencher la restitution en mode streaming des nouveaux messages, et en particulier celle du message déposé par l'utilisateur U1.Finally, in step S331, the user U2 via the messaging interface displayed by his browser (BRW2) can, by clicking on the corresponding links, trigger the playback in streaming mode of the new messages, and in particular that of the message submitted by user U1.
On donne en référence aux figures 5 à 7, des exemples d'interfaces graphiques obtenues par connexion d'un navigateur web à un serveur de messagerie WebRTC selon l'invention.With reference to FIGS. 5 to 7, examples of graphical interfaces obtained by connecting a web browser to a WebRTC messaging server according to the invention are given.
La figure 5 représente un exemple d'interface graphique obtenue par un navigateur d'un utilisateur après connexion à un serveur de messagerie WebRTC selon l'invention, permettant à l'utilisateur de consulter les messages qu'il a reçus. Dans cet exemple, seuls des messages vocaux sont représentés.FIG. 5 represents an example of a graphical interface obtained by a user's browser after connection to a WebRTC messaging server according to the invention, allowing the user to consult the messages he has received. In this example, only voice messages are shown.
La figure 6 représente un exemple d'interface graphique obtenue par un navigateur d'un utilisateur après connexion à un serveur de messagerie WebRTC selon l'invention, afin de permettre à l'utilisateur de configurer sa messagerie personnelle. Dans cet exemple, seul un message textuel de réponse a été configuré par l'utilisateur.FIG. 6 represents an example of a graphical interface obtained by a user's browser after connection to a WebRTC messaging server according to the invention, in order to allow the user to configure his personal messaging. In this example, only a response text message was configured by the user.
La figure 7 représente un exemple d'interface, exemple d'interface graphique obtenue par un navigateur d'un premier utilisateur après redirection vers un serveur de messagerie WebRTC selon l'invention, suite à l'absence de réponse à un appel à destination d'un second utilisateur.FIG. 7 represents an example of an interface, an example of a graphical interface obtained by a browser from a first user after redirection to a WebRTC messaging server according to the invention, following the absence of response to a call to the destination of 'a second user.
Sur l'interface représentée, on peut voit le message textuel d'absence du second utilisateur : Bonjour (...) vidéo quand vous voulez ; ainsi que, en dessous, la fenêtre affichant la vidéo en cours d'enregistrement qui correspond au message déposé par le premier utilisateur.On the interface shown, we can see the text message of absence of the second user: Hello (...) video whenever you want; as well as, below, the window displaying the video being recorded which corresponds to the message submitted by the first user.
Claims (17)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1354444 | 2013-05-17 |
Publications (1)
Publication Number | Publication Date |
---|---|
OA19745A true OA19745A (en) | 2021-04-08 |
Family
ID=
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2997714B1 (en) | Method for real-time communication between web browsers | |
US8311038B2 (en) | Instant internet browser based VoIP system | |
EP3119060B1 (en) | Method and device for establishing webrtc communications | |
EP1946523B1 (en) | Method and server for invoking application servers in a sip network | |
EP2772035B1 (en) | Method for managing a communication intended for a user, and application server | |
EP3087706B1 (en) | Method and system for communication between web browsers, using a unified communication environment | |
WO2009047457A2 (en) | Device for processing applicative notifications | |
WO2008084056A2 (en) | Signalling method for taking into account the reason of a call | |
WO2016083751A1 (en) | Method of communication between a terminal equipped with a web rtc client and a terminal accessible via an ims network core | |
OA19745A (en) | Real-time communication process between web browsers. | |
EP2594038B1 (en) | Detection of an upnp control module | |
EP2533496B1 (en) | Method for voice over IP communication, associated system and server | |
FR3121808A1 (en) | Methods and devices for enriching and processing a signaling message | |
FR2991537A1 (en) | LOCAL SERVER FOR DISPLAY DEVICE | |
WO2009007585A1 (en) | Proxy message transmission | |
FR2919142A1 (en) | METHOD FOR CONTROLLING A SERVICE PROVIDER FROM A MOBILE TERMINAL | |
FR3020539A1 (en) | METHOD AND DEVICE FOR ESTABLISHING A COMMUNICATION | |
EP2192748A2 (en) | Kommunikationsverfahren und entsprechender Server | |
EP1865696A2 (en) | Signalling method comprising an operation of converting a message coming from a calling terminal | |
EP2060105A2 (en) | Method and server for notifying a call in a network | |
FR2895863A1 (en) | Call managing device for proxy server, has middleware selecting local terminal and redirecting call to interface for communicating with selected terminal for establishing communication link between sending terminal and selected terminal | |
EP2207325A1 (en) | Method for providing user presence information in a network | |
WO2009030869A2 (en) | Method and device for managing the deregistration of a terminal from an entity in a telecommunication network | |
FR2973635A1 (en) | METHOD FOR MANAGING VOICE MESSAGES OBTAINED FROM AN SET OF AT LEAST TWO DIFFERENT VOICE MESSAGING SYSTEMS | |
EP2137924A2 (en) | Method and server for routing a call for a first terminal towards a target terminal |