FR2952262A1 - Autorisation d'etablissement d'appels simultanes - Google Patents

Autorisation d'etablissement d'appels simultanes Download PDF

Info

Publication number
FR2952262A1
FR2952262A1 FR1052360A FR1052360A FR2952262A1 FR 2952262 A1 FR2952262 A1 FR 2952262A1 FR 1052360 A FR1052360 A FR 1052360A FR 1052360 A FR1052360 A FR 1052360A FR 2952262 A1 FR2952262 A1 FR 2952262A1
Authority
FR
France
Prior art keywords
session
identifier
user
value
session manager
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
FR1052360A
Other languages
English (en)
Inventor
Francois-Joseph Levee
Sarah Tronet
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
France Telecom SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by France Telecom SA filed Critical France Telecom SA
Priority to FR1052360A priority Critical patent/FR2952262A1/fr
Publication of FR2952262A1 publication Critical patent/FR2952262A1/fr
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • H04L65/1104Session initiation protocol [SIP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management

Abstract

La présente invention se rapporte à l'autorisation d'établissement de sessions, dans un réseau de communication, sur réception d'une requête émise depuis un terminal à disposition d'un utilisateur. Un gestionnaire de session, associé à l'utilisateur, autorise l'établissement de la session, si un paramètre de nombre de sessions actuellement en cours relatives à l'utilisateur est inférieur à un nombre de sessions autorisées, ledit paramètre étant compris dans le gestionnaire de session. L'invention s'applique notamment aux sessions, établies selon le protocole d'initialisation de session, plus communément désigné par l'acronyme anglais « SIP » pour « Session Initiation Protocol », pour le transfert de données multimédia, et en particulier pour la téléphonie par Internet.

Description

Autorisation d'établissement d'appels simultanés La présente invention se rapporte de manière générale à l'établissement de sessions dans un système de communication. En particulier, l'invention a trait à la gestion des autorisations d'établissement de sessions d'appels simultanés initiées ou reçues par un même utilisateur, en fonction des services auxquels ce dernier a souscrit. L'invention s'applique notamment aux sessions, établies selon le protocole d'initialisation de session, plus communément désigné par l'acronyme anglais «SIP » pour « Session Initiation Protocol », pour le transfert de données multimédia, et en particulier pour la téléphonie par Internet. Les services de communication basés sur le protocole SIP, notamment les services de voix sur réseau IP, permettent à un même terminal d'établir plusieurs sessions simultanément. Or, le fournisseur de services peut souhaiter restreindre le nombre maximum de sessions simultanées autorisées pour chaque terminal, en fonction par exemple des abonnements auxquels ce dernier a souscrit et/ou des caractéristiques du système de communication. Afin d'autoriser ou refuser l'établissement d'une session, il convient alors de comptabiliser le nombre de sessions en cours pour chaque terminal, puis de le comparer au nombre maximum de sessions simultanées autorisés pour ledit terminal. Les figures la et lb représentent, par un synoptique, une architecture connue pour permettre un tel comptage. Un premier utilisateur UA dispose d'un premier terminal SIP 12, par exemple un téléphone portable, et d'un deuxième terminal SIP 14, par exemple un ordinateur, apte à se connecter à un réseau 10. Un troisième terminal SIP 16 adapté à se connecter au réseau 10 appartient à un deuxième utilisateur UB. Un quatrième terminal SIP 17 adapté à se connecter au réseau 10 appartient à un troisième utilisateur UC. Pour établir une première session d'appel Cl à la demande du premier utilisateur UA entre le premier terminal SIP 12 et le troisième terminal 16 du deuxième utilisateur UB, un serveur applicatif 18 interroge 26 un serveur de base de données 20, pour obtenir le nombre de sessions d'appel NS_UA NB actuellement ouvertes pour le premier utilisateur UA. Typiquement le serveur de base de données 20 est un système externe de gestion de base de données connecté via un réseau local au serveur applicatif 18. Le serveur de base de données 20 peut également être une base de données interne incluse dans le même contexte que celui du serveur d'application 18, par exemple un système arborescent d'annuaire implémentant une interface de programmation « JNDI » ou « Java Naming and Directory Interface » en anglais.
Sur réponse 27 du serveur de base de données 20, le serveur applicatif 18 compare le nombre de sessions d'appel NS_UA_NB pour le premier utilisateur UA au nombre maximum NS_UA_MAX de sessions d'appel simultanées autorisées pour le premier utilisateur UA. Dans l'exemple des figures la et lb, le nombre maximum NS_UA_MAX est choisi égal à 1. Aussi, comme représenté sur la figure la, le serveur applicatif 18 autorise et établit la première session d'appel Cl, car le nombre de session d'appel NS_UA_NB est égal à 0, aucune autre session d'appel n'étant en cours pour le premier utilisateur UA. Une fois établie, le serveur applicatif 18 transmet au serveur de base de données 20 une demande de mise à jour 28 du nombre de sessions d'appel NS_UA NB pour le premier utilisateur UA.
Une fois la première session d'appel Cl établie, comme représenté sur la figure lb, le premier utilisateur UA souhaite établir une deuxième session d'appel C2 entre son deuxième terminal SIP 14 et le quatrième terminal SIP 17 du troisième utilisateur UC. Après requête 26 auprès du serveur de base de données 20, le serveur applicatif 18 va refuser l'établissement de la deuxième session d'appel C2, car après établissement de la deuxième session d'appel C2, le nombre de sessions d'appel NS_UA_NB serait alors supérieur au nombre maximum NS_UA_MAX pour le premier utilisateur UA. Dans une telle architecture, une indisponibilité du serveur de base de données 20 engendre une indisponibilité de la fonctionnalité de vérification du nombre maximum de sessions simultanées autorisées pour les utilisateurs souhaitant établir ou recevoir une session. Une telle indisponibilité peut résulter notamment d'un dysfonctionnement matériel et/ou logiciel ou encore d'une perte de connectivité entre le serveur d'application 18 et le serveur de base de données 20. Le serveur de base de données 20 ne peut alors dans pareille situation fournir le nombre de sessions en cours pour l'utilisateur concerné. Le serveur applicatif 18 ne peut plus autoriser ou refuser l'établissement d'une session selon ce critère, et doit alors par exemple prendre une décision par défaut quant à l'établissement de nouvelles sessions. En outre, lorsque le serveur de base de données 20 est à nouveau disponible, le nombre de sessions en cours pour chaque utilisateur n'est plus nécessairement correct, les données stockées pouvant être erronées. Le serveur de base de données 20 doit donc être resynchronisé. La gestion d'accès concurrents au nombre de sessions en cours pour chaque utilisateur est également problématique, notamment dans le cas où le serveur applicatif 18 est une grappe de serveurs d'application chacun susceptible de mettre à jour en parallèle pour un même utilisateur le nombre de sessions en cours. La présente invention vise à améliorer la situation. Selon un premier aspect, il est proposé un procédé d'autorisation d'établissement d'une session, dans un réseau de communication, sur réception d'une requête émise depuis un terminal à disposition d'un utilisateur. Il comporte l'étape suivante, mise en oeuvre par un gestionnaire de session associé à l'utilisateur : • autoriser l'établissement de la session si un paramètre de nombre de sessions actuellement en cours relatives à l'utilisateur est inférieur à un nombre de sessions autorisées, ledit paramètre étant compris dans le gestionnaire de session.35 Le procédé propose une solution ne nécessitant pas l'emploi d'un serveur de base de données interne ou externe pour suivre le nombre de session en cours pour chaque utilisateur. En effet, un même gestionnaire de session gère l'établissement d'appel sur réception des requêtes émises par l'utilisateur. Ainsi le gestionnaire de session peut accéder au paramètre de nombre de sessions actuellement en cours pour l'utilisateur et le comparer au nombre de sessions autorisées. Or ce paramètre est compris dans le gestionnaire de session. De fait, le procédé ne dépend plus de la disponibilité d'un serveur de base de données ou d'un annuaire pour remplir sa fonction d' autorisation.
Dans un mode de réalisation, l'établissement de la session est autorisée, en: calculant un identifiant unique propre à l'utilisateur à partir d'une information d'identification de l'utilisateur comprise dans la requête; recherchant, parmi un groupe comportant des gestionnaires de session munis chacun d'un compteur, un gestionnaire de session associé à l'identifiant ; • si un gestionnaire de session associé à l'identifiant est présent dans le groupe, sélectionner ledit gestionnaire de session associé à l'identifiant ; • dans le cas contraire, créer, dans le groupe, un gestionnaire de session associé à l'identifiant en initialisant la valeur de son compteur à zéro; comparant la valeur du compteur du gestionnaire de session associé à l'identifiant à la valeur d'un seuil, • si la valeur du compteur du gestionnaire de session associé à l'identifiant est supérieure ou égale à la valeur du seuil, rejetant la requête; • dans le cas contraire, autorisant l'établissement de la session, et : incrémentant la valeur du compteur du gestionnaire de session associé à l'identifiant, si la session est établie; décrémentant la valeur du compteur du gestionnaire de session associé à l'identifiant, en fin de session. En particulier, la requête et son traitement peuvent être conformes au protocole « Session Initiation Protocol ».
Dans ce dernier mode de réalisation, chaque fois qu'une requête est émise par un des utilisateurs, ce dernier est identifié puis le gestionnaire correspondant est sélectionné dans le groupe, ou, au besoin, créé. Il suffit alors de comparer la valeur du compteur du gestionnaire sélectionné, mise à jour à chaque établissement ou terminaison d'une session initiée par l'utilisateur, pour autoriser ou non l'établissement d'une session.
Pour répondre à d'autres exigences, l'information d'identification de l'utilisateur peut être un numéro de téléphone associé au terminal. Cette information présente l'avantage d'être généralement directement disponible dans la requête et facilement utilisable pour identifier un même utilisateur, même si ce dernier utilise différents terminaux sous un même abonnement souscrit auprès de son fournisseur de service. La valeur du seuil peut être fonction de l'utilisateur. Il devient alors possible de configurer de manière individualisée pour chaque utilisateur le nombre de sessions autorisées, en particulier en fonction des abonnements ou services souscrits. Selon un deuxième aspect, l'invention vise aussi des programmes d'ordinateur sur un support d'informations, ces programmes étant susceptibles d'être mis en oeuvre respectivement dans un ordinateur, ces programmes comportant respectivement des instructions adaptées à la mise en oeuvre des étapes des procédés selon le premier aspect. 15 Ces programmes peuvent utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable. Selon un troisième aspect, il est proposé un support d'informations lisible par un ordinateur, 20 et comportant des instructions d'un programme d'ordinateur selon le deuxième aspect. Le support d'informations peut être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique, par exemple une disquette (floppy disc) ou un disque dur. 25 D'autre part, le support d'informations peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d'autres moyens. Le programme selon l'invention peut être en particulier téléchargé sur un réseau de type Internet. Alternativement, le support d'informations peut être un circuit intégré dans lequel le 30 programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution des procédés en question. Selon un quatrième aspect, il est proposé un dispositif d'autorisation d'établissement d'une10 session, dans un réseau de communication, sur réception d'une requête émise depuis un terminal à disposition d'un utilisateur. Il comporte un module applicatif adapté pour héberger un gestionnaire de session associé à l'utilisateur, le gestionnaire de session étant configuré pour: • autoriser l'établissement de la session si un paramètre de nombre de sessions actuellement en cours relatives à l'utilisateur est inférieur à un nombre de sessions autorisées, ledit paramètre étant compris dans le gestionnaire de session. Dans un mode de réalisation, le module applicatif est adapté pour : calculer un identifiant unique propre à l'utilisateur à partir de l'information d'identification de l'utilisateur ; rechercher, parmi un groupe comportant des gestionnaires de sessions munis chacun d'un compteur, un gestionnaire de session associé à l'identifiant ; • si un gestionnaire de session associé à l'identifiant est présent dans le groupe, sélectionner ledit gestionnaire de session associé à l'identifiant ; • dans le cas contraire, créer, dans le groupe, un gestionnaire de session associé à l'identifiant en initialisant la valeur de son compteur à zéro; comparer la valeur du compteur du gestionnaire de session associé à l'identifiant à la valeur d'un seuil, • si la valeur du compteur du gestionnaire de session associé à l'identifiant est supérieure ou égale à la valeur du seuil, rejeter la requête; • dans le cas contraire, autoriser l'établissement de la session, et : incrémenter la valeur du compteur du gestionnaire de session associé à l'identifiant, si la session est établie; décrémenter la valeur du compteur du gestionnaire de session associé à l'identifiant, en fin de session. L'information d'identification de l'utilisateur est par exemple un numéro de téléphone associé au terminal. La valeur du seuil peut être fonction de l'utilisateur. Dans un mode de réalisation, la requête et son traitement peuvent être conformes au protocole Session Initiation Protocol SIP. En particulier, le module applicatif peut comprendre un 30 conteneur adapté pour accueillir au moins une servlet SIP pour mettre en oeuvre la signalisation SIP, la Servlet SIP implémentant l'interface logicielle de programmation SIP Servlet selon la spécification JSR-000289. Selon un cinquième aspect, il est proposé un système de communication comportant : 35 • un réseau de communication, 20 25 • au moins un terminal appartenant à un utilisateur et adapté pour émettre, afin d'établir une session, une requête comportant au moins une information d'identification de l'utilisateur ; • un dispositif selon le quatrième aspect couplé au réseau de communication pour traiter la requête. D'autres aspects, buts et avantages de l'invention apparaîtront à la lecture de la description d'un de ses modes de réalisation. L'invention sera également mieux comprise à l'aide des dessins, sur lesquels : - les figure la et lb, précédemment décrites, illustrent, par un synoptique, une architecture selon l'état de l'art pour gérer l'établissement de sessions d'appel ; - la figure 2, illustre, par un synoptique, un procédé, selon un mode de réalisation de l'invention, de gestion d'autorisation des sessions; - la figure 3 montre, par un schéma de principe, un système de communication comportant un serveur applicatif de gestion de session selon un mode de réalisation de l'invention. Un exemple d'un procédé de gestion d'autorisation de sessions selon un mode de réalisation, illustré sur la figure 2, va maintenant être décrit. Dans une étape 110, une requête INVITE d'établissement d'une session Cl est reçue. En particulier, la session Cl peut être une session d'appel. La requête INVITE est émise par un premier terminal appartenant à un premier utilisateur UA. La requête INVITE comporte notamment des informations INF_UA permettant d'identifier l'émetteur de ladite requête, c'est-à-dire le premier utilisateur UA. Les informations INF_UA sont par exemple un numéro d'appelant, ou un identifiant unique propre au premier utilisateur UA. La requête INVITE comprend des informations INFDEST permettant d'identifier un deuxième terminal, pour permettre l'établissement de la session Cl entre le premier terminal et le deuxième terminal. Les informations INF_DEST sont par exemple un numéro de destinataire, un identifiant unique propre au deuxième utilisateur UA, ou encore un identifiant unique propre au deuxième terminal. Dans une étape 120, un identifiant ID unique propre à l'utilisateur UA est calculé à partir des informations INF_UA. A titre d'exemple non limitatif, l'identifiant ID peut être égal ou équivalent aux informations INF_UA. Alternativement, l'identifiant ID peut être obtenu en calculant le résultat d'une fonction de hachage pour tout ou partie des informations INF_UA, la fonction de hachage étant choisie de sorte à rendre négligeable le risque de collision.
Dans une étape 130, on recherche s'il existe, parmi un groupe G de gestionnaires de session, un gestionnaire de session G_SESSION associé à l'identifiant ID. Dans la négative, dans une étape 140, un gestionnaire de session G SESSION est créé dans le groupe G et on associe ledit gestionnaire de session G_SESSION à l'identifiant ID.
Dans l'affirmative, dans une étape 150, le gestionnaire de session G_SESSION associé à l'identifiant ID est localisé dans le groupe G. On parle alors de gestionnaire de session G_SESSION_SEL sélectionné pour désigner, en fonction du résultat obtenu au cours de l'étape 130, soit le gestionnaire de session G_SESSION créé au cours de l'étape 140, soit alternativement le gestionnaire de session G_SESSION localisé au cours de l'étape 150. Chaque gestionnaire de session G_SESSION du groupe G comporte un compteur INF NB APPEL, dont la valeur est susceptible d'être incrémentée ou décrémentée, dont la valeur est initialisée à zéro lors de la création dudit gestionnaire de session. La valeur du compteur INF NB APPEL est initialisée à zéro lors de la création du gestionnaire de session. Le compteur INF NB APPEL est destiné à comptabiliser le nombre de sessions en cours pour l'utilisateur correspondant à l'identifiant ID associé au gestionnaire de session G_SESSION. La valeur du compteur INF NB APPEL du gestionnaire de session G_SESSION_SEL est lue, dans une étape 160, puis comparée dans une étape 170 à la valeur d'un seuil INF NBAPPEL MAX. La valeur du seuil INFNBAPPEL MAX peut être spécifique au premier utilisateur UA. Si la valeur du compteur INF NB APPEL est supérieure ou égale à celle du seuil INF NB APPEL MAX, la requête INVITE d'établissement d'une session est rejetée dans une étape 180. Un message peut être notifié à l'utilisateur UA pour l'informer du rejet de sa requête INVITE, éventuellement complété par une information relative aux raisons de ce rejet. A l'issue de l'étape 180, il est alors mis fin au procédé. Si la valeur du compteur INF NB APPEL est inférieure à celle du seuil INF NBAPPEL MAX, la requête INVITE d'établissement d'une session est acceptée, dans une étape 190. Un message peut être notifié à l'utilisateur UA et/ou à une unité chargée de l'établissement effectif de la session pour informer de l'autorisation de la requête INVITE.
Dans une étape 200, on attend la réception d'un message de statut MSG_STAT_C1 relatif à la session Cl. Le message de statut MSG_STAT_C1 est émis par l'unité en charge de la gestion des sessions. Dans une étape 210, on lit le contenu message de statut MSGSTATC1. Si le message de statut MSGSTATCl comporte une information indiquant l'échec de l'établissement effectif de la session Cl, il est mis fin au procédé à l'issue de l'étape 210. Si le message de statut MSG_STAT_C1 comporte une information confirmant l'établissement effectif de la session Cl, la valeur du compteur 1NF NB APPEL du gestionnaire de session G_SESSION_SEL sélectionné est incrémentée d'une unité au cours d'une étape 220.
Puis, on attend, dans une étape 230, un deuxième message de statut MSG2_STAT_C1 comportant une information confirmant la fin de la session Cl, émis par l'unité en charge de la gestion des sessions lorsqu'il est mis fin à la session Cl. Lorsque le deuxième message de statut MSG2STATCl est reçu, la valeur du compteur INF NB APPEL du gestionnaire de session G_SESSION_SEL sélectionné est décrémentée d'une unité au cours de l'étape 230. Il est mis fin au procédé à l'issue de l'étape 230. Ainsi, le gestionnaire de session G_SESSION_SEL sélectionné, associé à l'utilisateur, sur réception de la requête INVITE émise depuis le premier terminal à disposition du premier utilisateur UA à disposition d'un utilisateur, autorise l'établissement de la session Cl, si un paramètre de nombre de sessions actuellement en cours relatives à l'utilisateur, ici le compteur INF NB APPEL, est inférieur à un nombre de sessions autorisées, ici le seuil INF NBAPPEL MAX, ledit paramètre étant compris dans le gestionnaire de session G SESSION SEL sélectionné. Il est à noter que plusieurs instances du procédé ainsi décrits peuvent être exécutées en parallèle de sorte à traiter simultanément une pluralité de requêtes d'établissement de sessions émises pour une pluralité d'utilisateurs. Il convient alors de mettre en oeuvre des moyens de gestion d'accès concurrents au compteur INF_NB_APPEL pour chacun des gestionnaires de sessions G_SESSION, en particulier au cours des étapes 160, 220 et 230.
Dans la suite de la présente description, on considère l'exemple non limitatif de l'établissement de sessions conforme au protocole SIP, notamment les services de voix sur réseau IP. Toutefois, d'autres protocoles permettant l'établissement pour un même utilisateur d'une pluralité de sessions simultanées pourraient convenir également La figure 3 représente, par un synoptique, un système de communication selon un mode de réalisation. Un premier utilisateur UA dispose d'un premier terminal SIP 312, par exemple un téléphone portable, et d'un deuxième terminal SIP 314, par exemple un ordinateur, aptes à se connecter à un réseau 310. Un deuxième utilisateur UB est en possession d'un troisième terminal SIP 316 adapté à se connecter au réseau 310. Un quatrième terminal SIP 317 adapté à se connecter au réseau 310 appartient à un troisième utilisateur UC. Le système comporte un serveur applicatif 318. Le serveur applicatif 318 comporte par exemple une grappe composée d'au moins un ordinateur couplé au réseau 310. Le serveur applicatif est adapté pour mettre en oeuvre un environnement logiciel dans lequel un module applicatif 320 est exécuté. Le module applicatif 320 est par exemple une application de gestion de communications comprenant un conteneur logiciel pour accueillir au moins une servlet SIP 322 implémentant l'interface logicielle de programmation « SIP Servlet» dans sa version 1.1, définie dans le document « JSR-000289 SIP Servlet 1.1 ». La Servlet SIP 322 est un composant adapté pour mettre en oeuvre la signalisation SIP. La Servlet SIP 322 permet de retourner des messages de réponses SIP aux requêtes SIP émises par des terminaux SIP couplée au réseau 310. Le module applicatif 320 est configuré notamment pour mettre en oeuvre le procédé de gestion d'autorisation des sessions. Sur l'exemple de la figure 3, le premier terminal 312 de l'utilisateur UA émet une requête INVITE pour établir une session entre le premier terminal 312 et le deuxième terminal 316. La requête INVITE est reçue par la Servlet SIP 322 du serveur applicatif 318. La Servlet SIP 322 calcule alors un identifiant ID spécifique à l'utilisateur UA. Pour cela, la Servlet SIP 322 peut comporter un module de génération d'identifiant 324. Un squelette d'un mode de réalisation du module de génération d'identifiant 324 adapté pour être mis en oeuvre lorsque la Servlet SIP 322 implémentant l'interface logicielle de programmation «SIP Servlet» dans sa version 1.1, définie dans le document «JSR-000289 SIP Servlet 1.1 » est donné ci-après : @SipApplicationKey Public static String sessionKey(SipServletRequest request){ [CODE POUR CALCULER L 'INDENTIFIANT ID A PARTIR DES INFORMATIONS COMPRISES DANS LA REQUETE requestJ return (ID) } L'annotation « @SipApplicationKey », définie dans le document « JSR-000289 SIP Servlet 1.1 » permet de définir une méthode statique, dénommée "sessionKey", appelée par l'application logicielle 320 lors de la réception d'une requête INVITE.
A titre d'exemple non limitatif, l'identifiant ID retourné par le module de génération d'identifiant 324 est le numéro de téléphone du premier terminal 312. Le module applicatif 320 cherche alors s'il existe un gestionnaire de session Q SESSION associé à l'identifiant ID. Typiquement, dans la terminologie de l'interface logicielle de programmation «SIP Servlet », un gestionnaire de session correspond à un module dénommé « SipApplicationSesssion ». S'il n'existe pas de gestionnaire session G_SESSION associé à l'identifiant ID, le module applicatif. 320 créé un nouveau gestionnaire de session G_SESSION dans le groupe G, associe ledit gestionnaire de session G_SESSION à l'identifiant ID, et le sélectionne. S'il existe un gestionnaire de session G_SESSION associé à l'identifiant ID, la Servlet SIP 322 le sélectionne. Le gestionnaire de session G_SESSION_SEL sélectionné est donc soit le nouveau gestionnaire de session G_SESSION, soit le gestionnaire de session G_SESSION identifié. Chaque gestionnaire de session G_SESSION comporte un espace mémoire pour stocker une valeur de compteur INF NB_APPEL, et des moyens pour accéder à un seuil INF NBAPPEL MAX. Le seuil INF NBAPPEL MAX est par exemple stocké dans un espace mémoire du gestionnaire de session G_SESSION, et est initialisé lors de la création dudit gestionnaire, en fonction de l'identifiant Id ou de l'utilisateur correspondant et des services et/ou abonnements auxquels ce dernier a souscrit.
Le module applicatif 320 appelle le module d'établissement de session 326 pour établir la session correspondant au gestionnaire de session G_SESSION sélectionné. Dans la terminologie de l'interface logicielle de programmation « SIP Servlet », le module d'établissement de sessions 326 correspond à une méthode dénommée « dolnvite », implémentée par la servlet SIP 322 et invoquée par le module applicatif 320 sur réception d'une requête INVITE. Le module d'établissement de sessions 326 compare la valeur du seuil INF NBAPPEL MAX à la valeur de compteur INF NB APPEL du gestionnaire de session G_SESSION_SEL sélectionné. Si la valeur du compteur INF NB APPEL est supérieure ou égale à celle du seuil INF NB APPEL MAX, le module d'établissement de sessions 326 rejette la requête INVITE. Le module d'établissement de sessions 326 peut notifier à l'utilisateur à l'origine de la requête INIVTE le rejet de sa requête INVITE, éventuellement complété par une information relative aux raisons de ce rejet. Une telle situation est illustrée sur la figure 3, où une requête d'établissement d'une deuxième session C2 émis l'utilisateur UA est rejetée, car une autre session Cl est en cours et la valeur du seuil INF NB_APPEL_MAX est égale à 1. Si la valeur du compteur INF NB_APPEL est inférieure à celle du seuil INF NB APPEL MAX, le module d'établissement de sessions 326 autorise la requête INVITE, afin d'établir la session. Si la session a pu être effectivement établie, la valeur du compteur INF NB APPEL du gestionnaire de session G_SESSION_SEL sélectionné est incrémentée d'une unité par la Servlet SIP 322. Une fois la session terminée, la valeur du compteur INF NB APPEL du gestionnaire de session G_SESSION_SEL sélectionné est décrémentée d'une unité par le module d'établissement de sessions 326. Le cas d'utilisation présenté jusqu'ici a trait à l'autorisation d'un nombre maximum de session pour un utilisateur donné. Cependant, l'invention peut également être appliquée à l'ensemble des services de communications pour lesquels plusieurs sessions simultanées peuvent être ouvertes à la demande d'un même utilisateur, comme par exemple : • les services de gestion de double appel ou « Call Waiting » en anglais ; • les services de limitation d'appel simultanés ; • les services de transfert d'appels, par exemple le service de continuité d'appel vocal ou « Voice Call Continuity » en anglais.

Claims (12)

  1. REVENDICATIONS1. Procédé d'autorisation d'établissement d'une session (Cl, C2), dans un réseau de communication (310), sur réception (110) d'une requête émise depuis un terminal (312, 314, 316, 317) à disposition d'un utilisateur, caractérisé en ce qu'il comporte l'étape suivante, mise en oeuvre par un gestionnaire de session associé (120, 130, 140, 150) à l'utilisateur : • autoriser (190) l'établissement de la session si un paramètre de nombre de sessions actuellement en cours relatives à l'utilisateur est inférieur (160, 170) à un nombre de sessions autorisées, ledit paramètre étant compris dans le gestionnaire de session.
  2. 2. Procédé selon la revendication 1 dans lequel l'établissement de la session est autorisé en : calculant (120) un identifiant unique propre à l'utilisateur à partir d'une information d'identification de l'utilisateur comprise dans la requête; recherchant (130), parmi un groupe comportant des gestionnaires de session munis chacun d'un compteur, un gestionnaire de session associé à l'identifiant ; • si un gestionnaire de session associé à l'identifiant est présent dans le groupe, sélectionnant (150) ledit gestionnaire de session associé à l'identifiant ; • dans le cas contraire (130), créant (140), dans le groupe, un gestionnaire de session associé à l'identifiant en initialisant la valeur de son compteur à zéro; comparant (160, 170) la valeur du compteur du gestionnaire de session associé à l'identifiant à la valeur d'un seuil, • si la valeur du compteur du gestionnaire de session associé à l'identifiant est supérieure ou égale à la valeur du seuil, rejetant (180) la requête; • dans le cas contraire, autoriser (190) l'établissement de la session, et : ^ incrémentant (220) la valeur du compteur du gestionnaire de session associé à l'identifiant, si la session est établie (200, 210); ^ décrémentant (230) la valeur du compteur du gestionnaire de session associé à l'identifiant, en fin de session.
  3. 3. Procédé selon la revendication 2, dans lequel la valeur du seuil est fonction de l'utilisateur.
  4. 4. Procédé selon l'une quelconque des revendications précédentes, dans lequel la requête et son traitement sont conformes au protocole « Session Initiation Protocol ».
  5. 5. Programme d'ordinateur comportant des instructions pour la mise en oeuvre du procédé selon l'une quelconque des revendications 1 à 4 lorsque ce programme est exécuté par un processeur.
  6. 6. Support d'informations lisible par un ordinateur, et comportant des instructions d'un programme d'ordinateur selon la revendication 5.
  7. 7. Dispositif d'autorisation d'établissement d'une session (Cl, C2), dans un réseau de communication (310), sur réception (110) d'une requête émise depuis un terminal (312, 314, 316, 317) à disposition d'un utilisateur, caractérisé en ce qu'il comporte un module applicatif (320) adapté pour héberger un gestionnaire de session associé à l'utilisateur, le gestionnaire de session étant configuré pour: • autoriser l'établissement de la session si un paramètre de nombre de sessions actuellement en cours relatives à l'utilisateur est inférieur à un nombre de sessions autorisées, ledit paramètre étant compris dans le gestionnaire de session.
  8. 8. Dispositif selon la revendication 7, dans lequel le module applicatif (320) est adapté pour : calculer un identifiant unique propre à l'utilisateur à partir de l'information d'identification de l'utilisateur ; rechercher, parmi un groupe comportant des gestionnaires de session munis chacun d'un compteur, un gestionnaire de session associé à l'identifiant ; • si un gestionnaire de session associé à l'identifiant est présent dans le groupe, sélectionner ledit gestionnaire de session associé à l'identifiant ; • dans le cas contraire, créer, dans le groupe, un gestionnaire de session associé à l'identifiant en initialisant la valeur de son compteur à zéro; comparer la valeur du compteur du gestionnaire de session associé à l'identifiant à la valeur d'un seuil, • si la valeur du compteur du gestionnaire de session associé à l'identifiant est supérieure ou égale à la valeur du seuil, rejeter la requête; • dans le cas contraire, autoriser l'établissement de la session, et : ^ incrémenter la valeur du compteur du gestionnaire de session associé à l'identifiant, si la session est établie; ^ décrémenter la valeur du compteur du gestionnaire de session associé à l'identifiant, en fin de session.
  9. 9. Dispositif selon la revendication 8, dans lequel la valeur du seuil est fonction de l'utilisateur.
  10. 10. Dispositif selon l'une quelconque des revendications 7 à 9, dans lequel la requête et son traitement sont conformes au protocole Session Initiation Protocol, SIP. 25 30 35
  11. 11. Dispositif selon la revendication 10, dans lequel le module applicatif (320) comprend un conteneur adapté pour accueillir au moins une servlet SIP (322) pour mettre en oeuvre la signalisation SIP, la Servlet SIP implémentant l'interface logicielle de programmation SIP Servlet selon la spécification JSR-000289.
  12. 12. Système de communication comportant : • un réseau de communication (310), • au moins un terminal (312, 314, 316, 317) appartenant à un utilisateur et adapté pour émettre, afin d'établir une session, une requête comportant au moins une information d'identification de l'utilisateur; • un dispositif selon l'une quelconque des revendications 7 à 11 couplé au réseau de communication (310) pour traiter la requête.
FR1052360A 2010-03-30 2010-03-30 Autorisation d'etablissement d'appels simultanes Pending FR2952262A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR1052360A FR2952262A1 (fr) 2010-03-30 2010-03-30 Autorisation d'etablissement d'appels simultanes

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1052360A FR2952262A1 (fr) 2010-03-30 2010-03-30 Autorisation d'etablissement d'appels simultanes

Publications (1)

Publication Number Publication Date
FR2952262A1 true FR2952262A1 (fr) 2011-05-06

Family

ID=43385761

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1052360A Pending FR2952262A1 (fr) 2010-03-30 2010-03-30 Autorisation d'etablissement d'appels simultanes

Country Status (1)

Country Link
FR (1) FR2952262A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115118760A (zh) * 2022-06-24 2022-09-27 深圳证券信息有限公司 会话连接控制方法、会话连接控制装置及计算机存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2564125A1 (fr) * 2006-10-16 2008-04-16 Telefonaktiebolaget Lm Ericsson (Publ) Systeme et methode pour la correlation de sessions de communication
EP2063619A1 (fr) * 2007-11-21 2009-05-27 NEC Corporation Appareil d'accommodation d'abonné, procédé de contrôle de transfert, système de communication et produit de programme
US20100077084A1 (en) * 2008-09-24 2010-03-25 Zhi Guo Gao Processing sip messages based on multiple cores

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2564125A1 (fr) * 2006-10-16 2008-04-16 Telefonaktiebolaget Lm Ericsson (Publ) Systeme et methode pour la correlation de sessions de communication
EP2063619A1 (fr) * 2007-11-21 2009-05-27 NEC Corporation Appareil d'accommodation d'abonné, procédé de contrôle de transfert, système de communication et produit de programme
US20100077084A1 (en) * 2008-09-24 2010-03-25 Zhi Guo Gao Processing sip messages based on multiple cores

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115118760A (zh) * 2022-06-24 2022-09-27 深圳证券信息有限公司 会话连接控制方法、会话连接控制装置及计算机存储介质

Similar Documents

Publication Publication Date Title
EP3417591B1 (fr) Procédé et serveur de sélection d'un serveur d'entrée d'un réseau de communication ims
FR2931330A1 (fr) Procede et systeme d'enregistrement automatique d'une session de communication
EP2920942B1 (fr) Selection de periodes de rafraichissement dans un reseau ip
FR2994302A1 (fr) Procede d'authentification d'un dispositif pour l'acces a un service
FR2952262A1 (fr) Autorisation d'etablissement d'appels simultanes
EP1484859B1 (fr) Procédé de contrôle avec gestion d'un identifiant opaque d'utilisateur de la livraison complète d'un service utilisant un ensemble de serveurs
EP2659722B1 (fr) Procédé et serveur de mediation pour un service de geolocalisation dans un reseau
WO2014041278A1 (fr) Gestion de l'utilisation d'une passerelle par une pluralité de terminaux
EP1744508A2 (fr) Procédé de mise en relation interpersonnelle
EP3800874A1 (fr) Procédé et dispositif de redirection d'une requête de communication
EP2446360A1 (fr) Technique de determination d'une chaine de fonctions elementaires associee a un service
EP3808060A1 (fr) Procédé de traitement de messages par un dispositif d'un réseau de voix sur ip
EP2446608B1 (fr) Technique de contrôle d'accès par une entité cliente à un service
FR3059862B1 (fr) Traitement d'une communication par un agent conversationnel automatise
EP4115579A1 (fr) Procédé de gestion d'une requête d'accès à un site internet depuis un dispositif d'accès
EP4258137A1 (fr) Procédé de distribution de fichier entre systèmes 3gpp mcdata interconnectés
EP4248637A1 (fr) Optimisation du declenchement de communications telephoniques
WO2015128561A1 (fr) Procede et dispositif de decouverte des capacites de communication relatives a un utilisateur d'un terminal
EP2801178B1 (fr) Procédé dynamique de détermination d'une liste de services dans un réseau sip
FR2992128A1 (fr) Gestion de l'acces d'un terminal a un reseau de communication par le biais d'une passerelle
EP2434726B1 (fr) Terminal et procédé de collecte d'informations non déclaratives mis en oeuvre par un terminal de télécommunications
FR3082381A1 (fr) Procede de mise a jour d'une base de donnees d'un reseau de voix sur ip
FR3121808A1 (fr) Procédés et dispositifs d’enrichissement et de traitement d’un message de signalisation
FR3057373A1 (fr) Securisation d'une base de donnees d'authentification par un reseau
FR2962287A1 (fr) Procede et dispositif de generation d'un identifiant de communication