Method of dynamic selection, by a caller, from a plurality of terminals of a callee
11418635 · 2022-08-16
Assignee
Inventors
Cpc classification
International classification
G06F15/173
PHYSICS
Abstract
Some embodiments relate to a selection method enabling a first user of an IP network to select one client device from a plurality of client devices of a second user connected to the IP network. The method comprises the client device of the first user sending a request to the second user the request being of a dedicated type or having a header containing a dedicated indicator. At least one of the client devices of the second user that has received the request responds to the first user message via a request indicating the technical capabilities of the client device of the second user and requests the client device of the first user to supply the technical capabilities of that client device of the first user. The method may have applications to IMS networks.
Claims
1. A selection method enabling a first user of an IP network to select one client device from a plurality of client devices of a second user connected to the IP network, the IP network using a session control protocol using signaling messages comprising request-type messages and response-type messages used to respond to request-type messages, the method comprising: sending, by a client device of the first user to the second user, a preliminary request-type message mentioning a service that the first user seeks to obtain during a session that is being set up and an initial request-type message, the preliminary request-type message being sent prior to the initial request-type message, the second user having a plurality of client devices connected to the IP network, the plurality of client devices of the second user sharing a common IP multimedia public identity of the second user, the initial request-type message having a header containing a dedicated indicator and being transmitted to all of the client devices of the second user that are connected to the IP network; for each of the plurality of client devices of the second user that has received the initial request-type message: detecting, by the client device of the second user that has received the initial request-type message, the presence of the dedicated indicator in the initial request-type message; and responding to the initial request-type message by the client device of the second user by sending a subsequent request-type message in place of a response-type message, the sending of the subsequent request-type message as a response to the initial request-type message being triggered by the detection of the presence of the dedicated indicator in the initial request-type message by the by the client device, the subsequent request-type message indicating technical capabilities of the by the client device of the second user and requesting the client device of the first user to supply technical capabilities of that client device of the first user to enable the client device of the first user to select a client device of the second user from among the plurality of client devices of the second user; selecting, by the client device of the first user after receiving the subsequent request-type messages sent by client devices of the second user, one of those client devices of the second user at least on the basis of technical capability information contained in those subsequent request-type messages; sending, by the client device of the first user, to the selected client device a favorable response to the subsequent request-type message sent by the selected client device; and in addition to sending a favorable response to the subsequent request-type message sent by the selected client device, sending, by the client device of the first user, an unfavorable response to the subsequent request-type messages sent by the client devices of the second user that are not selected.
2. The selection method of claim 1, further comprising entering into a session by the client device of the first user and the selected client device.
3. The selection method of claim 1 wherein: the subsequent request-type message sent by each respective client device of the second user during process b) includes a respective identifier of that client device; and the client device of the first user inserts the identifier of the selected client device in the response sent to the selected client device.
4. The selection method of claim 1, wherein the initial request-type message sent by the client device of the first user mentions a service that the first user seeks to obtain during the session that is being set up.
5. The selection method of claim 1, wherein, if none of the client devices of the second user which have sent a subsequent request-type message indicating its technical capabilities is technically suitable for providing a service desired by the first user, then, during the selection by the client device of the first user of one of the client devices of the second user, the client device of the first user selects from among the client devices of the second user the client device that is the most suitable for supplying a service of reduced quality to the first user.
6. A client device of a first user of an IP network, the IP network using a session control protocol using signaling messages comprising request-type messages and response-type messages used to respond to request-type messages, the client device being configured to take account of a subsequent request-type message received from at least one client device of a plurality of client devices of a second user of the IP network, the plurality of client devices of the second user sharing a common IP multimedia public identity of the second user, the subsequent request-type message indicating technical capabilities of the at least one client device of the plurality of client devices of the second user and requesting the client device of the first user to supply technical capabilities of the client device of the first user; wherein the client device of the first user is configured to: send to the second user a preliminary request-type message mentioning a service that the first user seeks to obtain during a session that is being set up; and after sending the preliminary request-type message, send an initial request-type message to the second user, the initial request-type message being transmitted to all of the client devices of the second user that are connected to the IP network, the initial request-type message including a header containing a dedicated indicator, the dedicated indicator configured to trigger, upon detection of the presence of the dedicated indicator in the initial request-type message, any client device of the IP network that has received the first request-type message to send a subsequent request-type message as a response to the initial request-type message instead of a response-type message; select, after receiving the subsequent request-type messages sent by client devices of the second user, one of those client devices of the second user at least on the basis of technical capability information contained in those subsequent request-type messages; send to the selected client device a favorable response to the subsequent request-type message sent by the selected client device; and in addition to sending a favorable response to the subsequent request-type message sent by the selected client device, send an unfavorable response to the subsequent request-type messages sent by the client devices of the second user that are not selected.
7. A client device of a second user of an IP network, the IP network using a session control protocol using signaling messages comprising request-type messages and response-type messages used to respond to request-type messages, wherein the client device is configured to: receive a preliminary request-type message sent by a client device of a first user mentioning a service that the first user seeks to obtain during a session that is being set up; receive, after reception of the preliminary request-type message, an initial request-type message sent by the client device of the first user of the IP network, the initial request-type message including a header containing a dedicated indicator, the initial request-type message having been transmitted to all of the client devices of the second user that are connected to the IP network; detect the presence of the dedicated indicator in the initial request-type message; send a subsequent request-type message in response to the initial request-type message in place of a response-type message, the sending of the subsequent request-type message as a response to the initial request-type message being triggered by the detection of the presence of the dedicated indicator in the initial request-type message, the subsequent request-type message indicating its own technical capabilities and requesting the client device of the first user to supply technical capabilities of the client device of the first user to enable the client device of the first user to select a client device of the second user from among a plurality of client devices of the second user, the plurality of client devices of the second user sharing a common IP multimedia public identity of the second user; and if the client device of the first user selects the client device of the second user on the basis of technical capability information contained in the subsequent request-type message, receive from the client device of the first user a favorable response to the subsequent request-type message sent by the client device of the second user; or if the client device of the first user does not select the client device of the second user, receive from the client device of the first user an unfavorable response to the subsequent request-type message sent by the client device of the second user.
8. A non-transitory computer readable medium having stored thereon, instructions, which when executed by a processor, cause the processor to perform a selection method enabling a first user of an IP network to select one client device from a plurality of client devices of a second user connected to the IP network, the IP network using a session control protocol using signaling messages comprising request-type messages and response-type messages used to respond to request-type messages, wherein the method comprises: sending, by a client device of the first user to the second user, a preliminary request-type message mentioning a service that the first user seeks to obtain during a session that is being set up and an initial request-type message, the preliminary request-type message being sent prior to the initial request-type message, the second user having a plurality of client devices connected to the IP network, the plurality of client devices of the second user sharing a common IP multimedia public identity of the second user, the initial request-type message having a header containing a dedicated indicator and being transmitted to all of the client devices of the second user that are connected to the IP network; for each of the plurality of client devices of the second user that has received the initial request-type message: detecting, by the client device of the second user that has received the initial request-type message, the presence of the dedicated indicator in the initial request-type message; and responding to the initial request-type message by the client device of the second user by sending a subsequent request-type message in place of a response-type message, the sending of the subsequent request-type message as a response to the initial request-type message being triggered by the detection of the presence of the dedicated indicator in the initial request-type message by the by the client device, the subsequent request-type message indicating technical capabilities of the by the client device of the second user and requesting the client device of the first user to supply technical capabilities of that client device of the first user to enable the client device of the first user to select a client device of the second user from among the plurality of client devices of the second user; selecting, by the client device of the first user after receiving the subsequent request-type messages sent by client devices of the second user, one of those client devices of the second user at least on the basis of technical capability information contained in those subsequent request-type messages; sending, by the client device of the first user, to the selected client device a favorable response to the subsequent request-type message sent by the selected client device; and in addition to sending a favorable response to the subsequent request-type message sent by the selected client device, sending, by the client device of the first user, an unfavorable response to the subsequent request-type messages sent by the client devices of the second user that are not selected.
9. A computer comprising a processor and a memory, the memory having stored thereon instructions which when executed by the processor, cause the computer to perform a selection method enabling a first user of an IP network to select one client device from a plurality of client devices of a second user connected to the IP network, the IP network using a session control protocol using signaling messages comprising request-type messages and response-type messages used to respond to request-type messages, wherein the method comprises: sending, by a client device of the first user to the second user, a preliminary request-type message mentioning a service that the first user seeks to obtain during a session that is being set up and an initial request-type message, the preliminary request-type message being sent prior to the initial request-type message, the second user having a plurality of client devices connected to the IP network, the plurality of client devices of the second user sharing a common IP multimedia public identity of the second user, the initial request-type message or having a header containing a dedicated indicator and being transmitted to all of the client devices of the second user that are connected to the IP network; detecting, by at least one of the plurality of client devices of the second user that has received the initial request-type message, the presence of the dedicated indicator in the initial request-type message; and for each of the plurality of client devices of the second user that has received the initial request-type message: detecting, by the client device of the second user that has received the initial request-type message, the presence of the dedicated indicator in the initial request-type message; and responding to the initial request-type message by the client device of the second user by sending a subsequent request-type message in place of a response-type message, the sending of the subsequent request-type message as a response to the initial request-type message being triggered by the detection of the presence of the dedicated indicator in the initial request-type message by the by the client device, the subsequent request-type message indicating technical capabilities of the by the client device of the second user and requesting the client device of the first user to supply technical capabilities of that client device of the first user to enable the client device of the first user to select a client device of the second user from among the plurality of client devices of the second user; selecting, by the client device of the first user after receiving the subsequent request-type messages sent by client devices of the second user, one of those client devices of the second user at least on the basis of technical capability information contained in those subsequent request-type messages; sending, by the client device of the first user, to the selected client device a favorable response to the subsequent request-type message sent by the selected client device; and in addition to sending a favorable response to the subsequent request-type message sent by the selected client device, sending, by the client device of the first user, an unfavorable response to the subsequent request-type messages sent by the client devices of the second user that are not selected.
10. The method of claim 1, wherein the subsequent request-type message is the first message sent by the at least one of the plurality of client devices of the second user to the client device of the first user after receipt of the initial request-type message from the client device of the first user.
Description
BRIEF DESCRIPTION OF THE FIGURES
(1) Other aspects and advantages of the invention appear on reading the following detailed description of particular implementations given as non-limiting examples. The description refers to the accompanying figures, in which:
(2)
(3)
DETAILED DESCRIPTION
(4) Although the present invention relates to IP networks in general, consideration is given below by way of implementation example to a network architecture of IMS type, as described briefly above. This architecture is shown in
(5) The multimedia services made available by the IMS network 1 may comprise the following services: telephone, videotelephone, content sharing, presence, instant messaging, or television. These services are available to the user of a client device (also known as “user equipment”, or UE) 10 forming part of the network 1 that enables the client device 10 to exchange multimedia streams and session control signals in compliance with the SIP protocol, e.g. with the client device (not shown) of a user forming part of a SIP network (not shown) connected to the network 1.
(6) The client device 10 may be a fixed or mobile terminal, or a residential or business gateway, having SIP signaling means and potentially having means for playing back an audiovisual content.
(7) As shown in
(8) The voice messaging (VM) server 25, the instant messaging (IM) server 26, and the telephony application server (TAS) 29 are all examples of application servers (AS).
(9) Certain services, such as those of the VM server 25 and of the instant messaging (IM) server 26 are based on the terminal 10 having a subscription to predetermined events, as explained above.
(10) Several implementations of the invention are described below with reference to
(11) In a first implementation, the following steps are performed.
(12) During a step E1, the terminal of the first user A sends an OPTIONS type SIP request to the second user B. This request comprises a header containing an indicator of the invention (referred to herein as a “reversecap”); by way of example, this indicator may be inserted in a “Require” header of the request.
(13) As explained above with reference to
(14) During a step E2, because of the presence of the “reversecap” indicator in the request sent by the first user A, each respective terminal of the second user B (i.e. B1 to B4) responds to the OPTIONS request sent by the first user by sending in turn to the first user A an OPTIONS request indicating the technical capabilities and including a respective identifier (e.g. the conventional “+sip.instance” label) of the respective terminal.
(15) During a step E3, the terminal of the first user A analyzes the information about technical capabilities contained in the OPTIONS requests, and selects one of them on the basis of that information and optionally of predetermined criteria. Preferably, the terminal of the first user A selects the terminal of the second user B that is most suitable for rendering a service in compliance with predetermined criteria; thus, in the present example, the terminal of the first user A might select the terminal B3 since that terminal (and only that terminal) is compatible with an HD audio and HD video session, assuming that these characteristics are desirable for the first user A compared with an audio or video session of standard or low definition.
(16) During a step E4, the terminal of the first user A sends an INVITE request to the selected terminal (in the present example, to the terminal B3), by using the “+sip.instance” label in the INVITE request in conventional manner for specifying the selected terminal.
(17) Finally, during a step E5, the terminal of the first user A and the terminal B3 engage in an HD audio-video session.
(18) In a second implementation, the following steps are performed:
(19) During a step E′1, the terminal of the first user A sends an INVITE type SIP request to the second user B. This request has a header containing the “reversecap” indicator of the invention.
(20) This request also mentions a service (in the present example an audio and video session) that the user A seeks to obtain during the session that is being set up. To do this, and as defined in IETF documents RFC 3840 and RFC 3841, the terminal of the first user A inserts the featuretag “audio” and the featuretag “video” designating the desired services, e.g. in the “Contact” and “Accept-contact” headers of the request. Where appropriate the featuretag “mmtel” designating a telephone service, the featuretag “sip-im” designating an instant messaging service, etc. may be inserted in like manner.
(21) During a step E′2, the INVITE request sent by the terminal of the first user A is transmitted to the server S-CSCFA and then to the I-CSCF server, and finally to the server S-CSCFB. However, in compliance with the specifications of IETF document RFC 3841, the server S-CSCFB forwards the request only to the terminals of the second user B that are technically suitable for an audio and video session; thus, the terminals B2, B3, and B4 receive the request, but the terminal B1 does not receive it since this terminal is technically suitable for an audio session, but not for a video session.
(22) During a step E′3, because of the presence of the “reversecap” indicator in the request sent by the first user A, each of the terminals of the second user B that receives the INVITE request sent by the first user A (specifically the terminals B2, B3, and B4) responds to the first user A by means of an OPTIONS type request indicating its own technical capabilities.
(23) The step E′4 is analogous to the step E3 described above with reference to the first implementation.
(24) During a step E′5, the terminal of the first user A responds: favorably (a SIP 200 OK response) to the OPTIONS request sent by the selected terminal (B3 in this present example), which will continue to present the call (e.g. by ringing); and unfavorably (e.g. by means of an error code specific to the present invention) to the OPTIONS requests sent by the other terminals of the second user B (B2 and B4 in the present example), which then respond to the INVITE request received during step E′2 by specifying they are terminating the current call (e.g. by sending a SIP 487 code).
(25) During the stage of selecting one of the terminals of the second user B, provision may be made for all of the terminals of the second user B that have received the INVITE request during step E′2 to ring, or on the contrary provision may be made for none of them to ring (e.g. as a result of detecting the presence of the “reversecap” indicator in the “Require” header), so that only the terminal that is selected starts ringing (after receiving the 200 OK response sent by the first user A).
(26) Finally, during a step E′6, the terminal of the first user A and the terminal B3 enter into an HD audio-video session.
(27) In a third implementation, the following steps are performed.
(28) During a step E″1, the terminal of the first user A sends an INVITE type SIP request to the second user B. This request mentions a service (in the present example an audio and video session) that the user A seeks to obtain during the session that is being set up, e.g. by inserting the “audio” featuretag and the “video” featuretag in the “Contact” and “Accept-contact” headers of its request.
(29) However, unlike the first and second implementations, this first request sent by the first user A does not contain the indicator of the invention.
(30) Step E″2 is analogous to step E′2 described with reference to the second implementation.
(31) During a step E″3, the first user A receives “provisional” type responses (SIP codes 100 to 199) from each of the terminals of the second user B that has received the INVITE request sent by the first user A (specifically the terminals B2, B3, and B4).
(32) During a step E″4, the first user A sends a second SIP request, e.g. an UPDATE type request having a header containing the “reversecap” indicator of the invention, or a request of a type specific to the present invention (referred to herein as “REVOPTIONS”) to each of the terminals that has responded (specifically the terminals B2, B3, and B4).
(33) During a step E″5, each of the terminals of the second user B that has received the second request sent by the first user A (specifically the terminals B2, B3, and B4) thus responds to the first user A with an OPTIONS type request specifying its own technical capabilities.
(34) Thereafter, steps E″6 to E″8 are performed, which are analogous respectively to the steps E′4 to E′6 described above with reference to the second implementation.
(35) In the example described above in application of three implementations, it is assumed not only that the second user B has several terminals suitable for rendering the service desired by the first terminal A, but also that one of the terminals (namely B3) is suitable for rendering a high quality service (HD audio and HD video).
(36) However, under other circumstances, it might naturally happen that none of the terminals of the second user B is suitable for rendering the service desired by the first user A. Under such circumstances, provision may be made for the terminal of the first user A to select the terminal of the user B that is the most suitable for providing the first user A with a service of reduced quality, in application of predetermined criteria. The terminal of the first user A is suitable for making this selection as a result of receiving the capabilities of the terminals B, as described above.
(37) In general, the present invention may be performed within nodes of an IP network, e.g. client devices, by using software and/or hardware components.
(38) The software components may be incorporated in a conventional computer program for managing a network node. That is why, as mentioned above, the present invention also provides a computer system. The computer system comprises in conventional manner a central processor unit using signals to control a memory and an output unit and an input unit. Furthermore, the computer system may be used to execute a computer program including instructions for performing any of the selection methods of the invention.
(39) Specifically, the invention also provides a computer program downloadable from a communications network and including instructions for executing steps of a selection method of the invention when executed on a computer. The computer program may be stored on a computer-readable medium and may be executable by a microprocessor.
(40) The program may use any programming language, and be in the form of source code, object code, or code intermediate between source code and object code, such as in a partially compiled form, or in any other desirable form.
(41) The invention also provides a data medium that may be non-removable, or partially or totally removable, that is computer-readable and that includes instructions of a computer program as mentioned above.
(42) The data medium may be any entity or device capable of storing the program. For example, the medium may comprise storage means such as a read-only memory (ROM), e.g. a compact disk (CD) ROM or a microelectronic circuit ROM, or magnetic recording means, such as a hard disk, or indeed a universal serial bus (USB) flash drive.
(43) Furthermore, the data medium may be a transmissible medium such as an electrical or optical signal, which may be conveyed by electrical or optical cable, by radio, or by other means. The computer program of the invention may in particular be downloaded from an Internet type network.
(44) In a variant, the data medium may be an integrated circuit in which the program is incorporated, the circuit being adapted to execute or to be used in the execution of any of the selection methods of the invention.