EP4078905A1 - Method for routing messages, associated network device - Google Patents

Method for routing messages, associated network device

Info

Publication number
EP4078905A1
EP4078905A1 EP20845788.7A EP20845788A EP4078905A1 EP 4078905 A1 EP4078905 A1 EP 4078905A1 EP 20845788 A EP20845788 A EP 20845788A EP 4078905 A1 EP4078905 A1 EP 4078905A1
Authority
EP
European Patent Office
Prior art keywords
node
nodes
response
request
crossed
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
EP20845788.7A
Other languages
German (de)
French (fr)
Inventor
José DOREE
Jean Claude Le Rouzic
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
Orange 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 Orange SA filed Critical Orange SA
Publication of EP4078905A1 publication Critical patent/EP4078905A1/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/34Source routing

Definitions

  • the present invention belongs to the general field of telecommunications. It relates more particularly to a method of routing messages between a sending device and a receiving device separated by a sequence of network equipment, a message corresponding to a request or a response to said request in accordance with a given communication protocol. It also relates to a network entity intended to belong to such a sequence and configured to implement said routing method.
  • the invention finds a particularly advantageous application, although in no way limiting, in the case of messages exchanged in the context of telephony over IP.
  • the telephone operators have mostly chosen to rely on the SIP protocol (Session Initiation Protocol) for sending such messages (SIP request or SIP response to a SIP request) and for the purpose of establishing a communication session between two terminals but also for performing services for them.
  • SIP protocol Session Initiation Protocol
  • This SIP protocol is standardized and standardized by ITETF (Internet Engineering Task Force) as described in document RFC 3261 published by the IETF and entitled “SIP Session Initiation Protocol”, June 2002.
  • the communication network (s) on which are routed messages conforming to said SIP protocol are for example LTE (Long Term Evolution) networks dedicated to the transport of voice (VoLTE), video (ViLTE), etc.
  • the communication network (s) concerned can be based on an IMS (IP Multimedia Subsystem) architecture as defined by the 3GPP standard (Third Generation Partnership Project).
  • IMS IP Multimedia Subsystem
  • This IMS architecture proposes the use of different network equipment, called “nodes”, configured to route messages between said devices, including in particular Proxy type equipment (P-CSCF, I-CSCF, S-CSCF), communication equipment.
  • P-CSCF Proxy type equipment
  • I-CSCF I-CSCF
  • S-CSCF Service-CSCF
  • B2BUA Back-to-Back User Agent
  • B2BUA Back-to-Back User Agent
  • client component such as application servers
  • IBCF Interconnection Border Control Function
  • TRF Transit and Roaming
  • a SIP request for example an INVITE request
  • said request is routed to the receiving device by passing through network equipment such as those mentioned above before, said equipment items being crossed consecutively so as to form an ordered series of network equipment items hereinafter referred to as “sequence”.
  • sequence an ordered series of network equipment items hereinafter referred to as “sequence”.
  • the order associated with the sequence is therefore representative of the direction in which the network devices making up said sequence are crossed consecutively.
  • Such a SIP request necessarily results in the sending of a SIP response to said SIP request. For example, if the SIP request does reach the receiving device and the latter is able to process it, a SIP response confirming that the request has been processed (for example a 200 OK response) is routed to the device. transmitter. According to another example, if the SIP request cannot be correctly routed by one of the nodes of the sequence, a SIP response indicating that the request could not be processed (for example a 500 Server Unavailable response) is sent by the node concerned and routed to the sending device. The nodes of the sequence are then crossed consecutively by said SIP response in the reverse order of said sequence.
  • a SIP request is conventionally provided with a header comprising a stack (ie a list) of Via fields, a new Via field being added at the start of this stack to each new node crossed, so that it is a priori possible to retrace the route followed (ie the network equipment successively crossed) by the SIP request.
  • Via fields are unstacked (that is to say deleted) one by one from the header during the routing of the SIP response to said SIP request, this unstacking being carried out at each node crossing. starting from the start of said stack.
  • Such a loss of information prevents the identification (traceability) of network equipment crossed by a SIP response.
  • the SIP protocol does not currently make it possible to determine material characteristics and / or software relating to the equipment crossed by a SIP response (this observation also being valid with regard to a SIP request, moreover).
  • the SIP protocol proposes to provide characteristics of this type only for the devices for which the messages are intended, by virtue for example of User-Agent or even Server fields contained in the header of a SIP response. Consequently, it is not possible to determine whether the path followed by a SIP response is lawful and / or whether it conforms to a determined load sharing between the network equipment crossed.
  • the SIP protocol as currently known is opposed to the production of relevant and rapid diagnostics of the state of the communication network (s) to which the sender and receiver devices belong from the analysis of SIP responses, which is detrimental as soon as possible. during efficient operation of said network (s).
  • the object of the present invention is to remedy all or part of the drawbacks of the prior art, in particular those set out above, by proposing a solution which makes it possible to route between a transmitter device and a receiver device a response to a request, so as to be able to identify all the network equipment crossed by said response.
  • a solution thus constitutes an aid for the traceability of exchanges between a sending device and a receiving device (for example between two terminals, between a terminal and a server, or more generally between a client and a server), and correlatively, an aid diagnostic of the state of the communication network (s) to which the transmitter and receiver devices belong.
  • the invention relates to a method of routing between a sending device and a receiving device separated by network equipment, called "nodes", of a response to a request sent by the sending device in accordance with a given communication protocol and routed through a plurality of nodes to the receiving device, said nodes being crossed consecutively forming a sequence, said method comprising a routing step, through the nodes of said sequence and intended for the sending device, of the response to said request, said nodes being traversed in an inverse sequence with respect to said sequence, the routing of said response comprising, when traversing a node, the addition a field, called “identification field”, in a header of said response, said identification field comprising at least one item of information representative of a configuration of said node crossed and providing an indication representative of the order of said node crossed within said reverse sequence.
  • nodes network equipment
  • said routing method it is proposed to route a response to a request in the direction of the sending device, this routing being carried out so that the header of the response to the request is completed by a identification field each time a node is crossed.
  • said identification fields are stacked in the header of said response in an order representative of the direction in which said said are crossed consecutively. knots.
  • the term “stacking” refers here to the fact that an identification field of a node which has just been crossed is added at the end, or else at the beginning according to an alternative implementation, of the identification fields respectively. associated with previously crossed nodes.
  • an identification field advantageously (and implicitly) provides, because of its position within the stack (more particularly because of the nodes between which it is positioned within the stack), an indication of the order of a node crossed within the reverse sequence.
  • an identification field it is possible to envisage providing, in the identification field, an explicit indication of the order of the node crossed within the sequence.
  • the fact of adding such identification fields in the header of the response advantageously offers the possibility of identifying the nodes arranged between the transmitter device and the second receiver from the analysis of a response (for example following obtaining such a response via a network probe of a type known per se).
  • this advantage as regards the identification of the nodes is obtained as well in the case where the identification fields are stacked according to the order of crossing of the nodes, as in the case where an explicit indication of the order of a node is provided in the identification field.
  • the traceability of the exchanges between the transmitter and receiver devices is therefore greatly improved in comparison with the solutions of the prior state, the latter offering to date no possibility of identifying all of the nodes crossed by a response to a query.
  • the traceability is improved, it is therefore possible to check whether the path followed by a message is lawful, but also whether the load sharing between the nodes forming this path is carried out correctly.
  • the structure of the identification fields included in the headers of the responses exchanged between the transmitter and receiver devices also makes it possible to identify with certainty, and very quickly, a node at the origin of a anomaly or even unexpected behavior likely to occur in response to a request.
  • the routing method according to the invention therefore offers valuable assistance in diagnosing the state of the network (s) through which the messages pass, and this without it being necessary to tediously examine all the exchanges routed on each.
  • section we refer here to the path followed by a request / response between two nodes.
  • the routing method may further include one or more of the following characteristics, taken in isolation or in any technically possible combination.
  • the routing of the request also comprises, when crossing a node of said sequence, the addition of an identification field in a header of said request, said identification field comprising at least one piece of information representative of a configuration of said node crossed and providing an indication representative of the order of said node crossed within said sequence.
  • Such arrangements therefore consist in applying to the requests sent by the sending device a processing similar to that applied to the responses to said requests as detailed previously. Consequently, the advantages given above with regard to the fact of adding identification fields in the header of a response (improved traceability, diagnostic aid, certain and rapid identification of a anomaly) are still valid with regard to adding identification fields in the header of a request.
  • node crossed may be a node comprising not only a server component but also a client component, such as for example a B2BUA type network equipment item.
  • client component such as for example a B2BUA type network equipment item.
  • said at least one item of information representative of a configuration of said node crossed belongs to the group comprising: a type representative of the hardware configuration of said node, a software version of said node, an identifier of said node , a domain name to which said node belongs.
  • said at least one item of information corresponds to a software version
  • the identification field of a node comprises four pieces of information representative of a configuration of said node crossed and corresponding respectively to a type of said node, a software version of said node, an IP address of said node, a domain name of said node.
  • the identification field comprises said four pieces of information makes it possible to discriminate even more easily between them the nodes crossed by a request or a response to a request.
  • the communication protocol is the SIP protocol, or the http protocol, or the DIAMETER protocol.
  • At least one node crossed during the routing of said request / said response comprises a client component and a server component.
  • Such arrangements typically refer to the crossing of a B2BUA type node.
  • the routing method according to the invention advantageously makes it possible to improve, in comparison with the solutions of the prior art, the traceability of the exchanges between the transmitter and receiver devices as well as the speed of diagnosis of the state. of the communication network (s) when this type of node is physically present between said sender and receiver devices.
  • the number of nodes of this type arranged between said devices is immaterial, the advantages of the invention not depending in any way on this aspect.
  • the response to the request is sent by a node and is representative of a routing failure or a redirection of said request.
  • the invention is not limited to the case where the request is successfully routed to a receiving device.
  • the invention advantageously makes it possible to carry out a rapid diagnosis of such a routing failure or of such a redirection.
  • the communication protocol is the SIP protocol, the response being of type 3xx, 4xx, 5xx or 6xx.
  • the identification field (s) included in a response or a query are deleted before reaching said entity.
  • Such a deletion is for example implemented during the routing of a message (request or response) from a trusted node to a node which is not considered to be trusted. It should be noted that proceeding in this way does not call into question the fact that the invention makes it possible to improve, in comparison with the solutions of the prior art, the traceability of the nodes involved in the exchanges passing between the transmitting devices and receiver. Indeed, it is always possible to examine messages in the course of routing before the identification field (s) they contain are deleted, for example by intercepting them during their journey between two trusted nodes.
  • Such arrangements are particularly advantageous when the transmitter and receiver devices belong to separate networks, so that the messages they exchange pass through a border interface.
  • such provisions are applicable as soon as an identification field is added for only part of the nodes crossed by a message.
  • At least some of the nodes belong to an IMS network.
  • the invention relates to a method of identifying network equipment, called “nodes", arranged between a sending device and a receiving device. Said identification process includes:
  • the invention relates to a computer program comprising instructions for the implementation of a routing method according to the invention or of an identification method according to the invention when said program is executed by a computer.
  • This program can use any programming language, and be in the form of source code, object code, or intermediate code between source code and object code, such as in a partially compiled form, or in n ' any other desirable shape.
  • the invention relates to an information or recording medium readable by a computer on which a computer program according to the invention is recorded.
  • the information or recording medium can be any entity or device capable of storing the program.
  • the medium may comprise a storage means, such as a ROM, for example a CD ROM or a microelectronic circuit ROM, or else a magnetic recording means, for example a floppy disk or a disk. hard.
  • the information or recording medium can be a transmissible medium such as an electrical or optical signal, which can be conveyed via an electrical or optical cable, by radio or by other means.
  • the program according to the invention can in particular be downloaded from an Internet type network.
  • the information or recording medium can be an integrated circuit in which the program is incorporated, the circuit being adapted to execute or to be used in the execution of the method in question.
  • the invention relates to network equipment, called a “node”, intended to be arranged between a sending device and a receiving device.
  • Said node comprises a routing module, configured to route through said node and to the sending device a response to a request sent by the sending device in accordance with a given communication protocol and routed through a plurality of nodes to destination of the receiving device, said nodes being crossed consecutively forming a sequence, said routing module being further configured to add, when passing through said node by said response, a field, called “identification field”, in one in header of said response, said identification field comprising at least one item of information representative of a configuration of said node crossed and providing an indication representative of the order of said node crossed within a sequence reversed with respect to said sequence.
  • the network equipment may further include one or more of the following characteristics, taken in isolation or in any technically possible combination.
  • the network equipment further comprises a routing module configured to route said request through said node to the receiving device as well as to add, when passing through said node by said request , a field, called an “identification field” (Middle-Agent), in a header of said request, said identification field comprising at least one item of information representative of a configuration of said node crossed and providing an indication representative of the order of said node crossed within said sequence.
  • a routing module configured to route said request through said node to the receiving device as well as to add, when passing through said node by said request , a field, called an “identification field” (Middle-Agent), in a header of said request, said identification field comprising at least one item of information representative of a configuration of said node crossed and providing an indication representative of the order of said node crossed within said sequence.
  • said network equipment comprises a client component and a server component.
  • the invention relates to a communication system comprising a sending device, a receiving device and a plurality of network equipment items arranged between said devices, said network equipment items being in accordance with the invention.
  • FIG. 1 schematically represents, in its environment, a particular embodiment of a communication system according to the invention
  • FIG. 2 schematically represents an example of hardware architecture of a node according to the invention configured to implement said routing method
  • FIG. 3 represents, in the form of a flowchart, the main steps of the routing method according to the invention as implemented by the communication system of FIG. 1;
  • FIG. 4 schematically represents a first example of implementation of the routing method of FIG. 3;
  • FIG. 5 schematically represents a second exemplary implementation of the routing method of FIG. 3;
  • FIG. 6 represents, in the form of a flowchart, the main steps of an identification method according to the invention.
  • FIG. 1 schematically shows, in its environment, a particular embodiment of a communication system 10 according to the invention.
  • the communication system 10 comprises two devices, namely a transmitter device UE_A and a receiver device UE_B.
  • the transmitter devices UE_A and receiver UE_B are mobile terminals owned by respective users, such as for example a smart phone or "smartphone", a digital tablet, a computer. laptop, etc.
  • said terminals UE_A, UE_B each host one or more applications of a type known per se (VoLTE, ViLTE, etc.) and based on the functionalities offered by an IP network 15 for transmission, and in particular addressing , messages according to the IP protocol (“IP” being the acronym of the expression “Internet Protocol” in the English literature).
  • IP being the acronym of the expression “Internet Protocol” in the English literature.
  • the messages that can be exchanged between said terminals UE_A, UE_B correspond to requests or responses to said requests, and comply with a given communication protocol.
  • Each message (request / response) comprises a header intended to contain information of various kinds distributed, in a manner known per se, in fields of said header.
  • said IP network 15 implements an IMS architecture implementing a session initiation protocol corresponding to the SIP protocol to which new functionalities are added by the invention, as described in more detail. later.
  • IMS architecture is known to those skilled in the art and described for example in documents 3GPP TS 23.228 and TS 24.229.
  • the fields that may be included in the header of a message correspond, for example, to the Via, User Agent, From, To, Call-ID, CSeq, Content-Length, etc. fields.
  • terminals UE_A and UE_B belong to one and the same IP network 15
  • said IP network 15 also includes network equipment, called “nodes” N_i (i being an integer greater than 1), arranged between the first terminal UE_A and the second terminal UE_B. These nodes N_i therefore contribute to forming said IP network 15 based on the IMS architecture.
  • These nodes N_i correspond for example to proxy type servers (P-CSCF, I-CSCF, S-CSCF), B2BUA type devices (AS application servers for example), IBCF border devices (Interconnection Border Control Function) or TRF (Transit and Roaming Function), etc.
  • proxy type servers P-CSCF, I-CSCF, S-CSCF
  • B2BUA type devices AS application servers for example
  • IBCF border devices Interconnection Border Control Function
  • TRF Transit and Roaming Function
  • the IP network 5 comprises ten nodes NI, ..., N10 which separate the first terminal UE_A from the second terminal UE_B. More particularly, these nodes NI, ..., N 10 correspond respectively to:
  • FIG. 1 is given for purely illustrative purposes, and that no limitation is attached to the total number of nodes of the IP network 15 which can be arranged between the first terminal UE_A and the second UE_B terminal. Thus, nothing excludes having less or more than ten nodes, it being understood that it is of course possible to have less or more than eight proxy servers and / or less or more than two application servers and / or nodes of other types (IBCF, TRF, etc.).
  • said nodes N_i are respectively configured to route, from the first terminal UE_A to the second terminal UE_B and vice versa, SIP requests and SIP responses to said SIP requests, in implementing a method of routing messages detailed later.
  • FIG. 2 schematically represents an example of the hardware architecture of a node N_i according to the invention configured to implement said routing method.
  • a node N_i has the hardware architecture of a computer.
  • a node N_i comprises, in particular, a processor 1, a random access memory 2, a read only memory 3 and a non-volatile memory 4. It also has a communication module 5.
  • the communication module 5 allows in particular the node N_i to communicate with other entities of the IP network 15, including in particular the other nodes as well as the terminals UE_A, UE_B.
  • This communication module 5 comprises for this purpose a stack of protocols including in particular, in accordance with this embodiment, the SIP session initiation protocol as well as one or more protocols defining a given mode of transport for the messages, as by example UDP, TCP, SCTP, etc.
  • the read only memory 3 of the node N_i constitutes a recording medium according to the invention, readable by the processor 1 and on which is recorded a computer program PROG according to the invention, comprising instructions for the execution of steps of the routing method according to the invention.
  • the PROG program defines functional modules of the node N_i, which are based on or control the hardware elements 2 to 5 of the node N_i mentioned above, and which include in particular:
  • a first routing module M1 J configured to route through said node N_i and to the second terminal UE_B, a SIP request sent by the first terminal UE_A, said SIP request being intended to be routed through a plurality of crossed nodes consecutively forming a sequence SEQ, and
  • a second routing module M2J configured to route through said node N_i and to the first terminal UE_A an SIP response to said SIP request, said SIP response being intended to be routed through the nodes of said sequence SEQ following a sequence SEQ_INV inverse with respect to said sequence SEQ.
  • Said first / second routing module M1 J, M2J is further configured to add, when crossing said node N_i by said SIP request / said SIP response, a field, called "identification field" Middle- Agent, in the header of said SIP request / said SIP response, said Middle-Agent identification field comprising at least one item of information representative of a configuration of said node N_i traversed, and called “configuration information”, and providing an indication representative of the order of said node N_i within said sequence SEQ / inverse sequence SEQ_INV, and called “order indication”.
  • sequence we refer here to an ordered series of nodes crossed successively during the routing of a SIP request / SIP response, the order associated with the sequence being representative of the direction in which are crossed consecutively the nodes composing said sequence.
  • said first and second routing modules M1J, M2J are incorporated in one and the same routing module, called "general module".
  • said general module comprises means configured in a hardware and / or software manner to perform the functions associated with each of said first and second routing modules M1 J, M2J.
  • Said at least one configuration item of information provided in the Middle-Agent field is information from which it is possible to identify the node N_i crossed among the other nodes of the IP network 15 and / or to determine the hardware characteristics and / or software relating to said node N_i crossed.
  • said at least one configuration item of information belongs to the group comprising:
  • this type corresponds to P-CSCF, S-CSCF, I-CSCF, AS, IBCF, TRF, etc. ;
  • an identifier of said node N_i such as for example an IP address
  • the Middle-Agent identification field can comprise four configuration information items corresponding respectively to a type, a software version, an identifier, a domain name.
  • the fact of considering these four configuration information in the Middle-Agent identification field makes it possible to identify very efficiently (ie quickly and without risk of error), from the header of a message, all the nodes N_i crossed by this message, in particular when the topology of the path followed by said message is complex (many nodes crossed, several nodes of the same type, crossing one or more B2BUA devices, etc.).
  • the choice of the number of configuration information items and the nature of said configuration information included in said Middle-Agent field only constitutes an implementation variant of the invention.
  • this number of configuration information items and the nature of the configuration information chosen depend in particular on the number of nodes of the IP network 15 sharing configuration information of the same nature (type, software version, etc.), given that the configuration information (s) contained in the Middle-Agent field make it possible to discriminate the node N_i among the other nodes of the IP 15 network.
  • the Middle-Agent field of said at least two nodes must include information of configuration other than a software version in order to discriminate between them.
  • the group to which the said at least one configuration information belongs contains, in replacement or in addition, one or more elements other than a type, a software version, an identifier and a domain name. For example a load rate indicator, a virtual machine identifier, etc.
  • Said order indication provided in the Middle-Agent field is for its part information from which it is possible to determine the order in which of the nodes identified in a header of a SIP request / response.
  • SIP by means of said at least one configuration information, are traversed during the routing of said SIP request / SIP response.
  • said order indication is an additional indication with respect to said at least one configuration item of information.
  • additional reference is made here to the fact that the Middle-Agent field comprises a sub-field for each configuration information item but also a sub-field explicitly including said order indication.
  • said order indication may correspond to a counter incremented when crossing the node N_i or to a time stamp (assuming that the nodes are synchronized with each other, which is generally the case).
  • no limitation is attached to the nature of said indication of the order of the node N_i.
  • said first / second routing module M1 J, M2J is also configured so that the Middle_Agent identification fields respectively associated with two nodes crossed consecutively during the routing of said SIP request / said SIP response are consecutive within said header.
  • said Middle-Agent fields are stacked one after the other in the header in an order representative of the direction in which they are consecutively crossed said nodes.
  • stacking refers to the fact that a Middle-Agent field of a node that has just been crossed is added at the end of the Middle-Agent fields respectively associated with nodes. previously crossed.
  • stacking does not excludes considering a reverse stacking order, that is to say with addition at the start of stacking.
  • the terminals UE_A, UE_B also each have the hardware architecture of a computer (not shown in the figures), and for this purpose include a set of means configured in a hardware and / or software manner for transmitting and receive SIP requests / SIP responses. These aspects are well known to those skilled in the art and are therefore not detailed further here.
  • FIG. 3 represents, in the form of a flowchart, a particular mode of implementation of the routing method according to the invention as implemented by the communication system 10 of FIG. 1.
  • the routing method firstly comprises a step E10 for sending, by the first terminal UE_A, a SIP request (denoted REQ in the figures).
  • the sending of this SIP request corresponds for example to a request aiming to initiate a dialogue (a transaction) between the first terminal UE_A and the second terminal UE_B.
  • said SIP request is an INVITE request.
  • the routing method comprises a step E20 for routing, through a plurality of nodes N_i and to the second terminal UE_B, of said sent INVITE request by the first UE_A terminal.
  • This routing step E20 is implemented by the modules M1J equipping each of the nodes N_i thus crossed during said step E20.
  • the routing step E20 does not necessarily result in an effective transmission of the SIP request to the second terminal UE_B. Indeed, nothing excludes considering a routing failure or a redirection of the SIP request, so that the routing of the latter to the second terminal UE_B is stopped at a node noted N_STOP, as this is described in more detail later in a particular example of implementation.
  • Said plurality of nodes therefore corresponds to nodes crossed successively so as to form the sequence SEQ for routing the SIP request to the second terminal UE_B.
  • sequence SEQ comprises all of the nodes N_1 to N_10, each of said nodes being crossed only once, since such a sequence SEQ makes it possible to route the SIP request to the second terminal UE_B (the cardinal of the sequence SEQ is therefore equal to 10).
  • the same SIP request, sent in two distinct instants, is not necessarily routed to the second terminal UE_B according to the same sequence SEQ.
  • the nodes likely to be crossed at the time when a request is sent depend in particular on the state of the IP network, namely in particular the respective availabilities of the nodes N_i.
  • the routing method also includes a routing step E30, through the nodes N_i of said sequence SEQ and to the first terminal UE_A, of a SIP response (denoted REP in the figures) to said SIP request .
  • This routing step E30 is implemented by the M2J modules equipping each of the nodes thus crossed during said step E30.
  • routing step E30 within the meaning of the present invention, does not necessarily result in an effective transmission of the SIP response to the first terminal UE_A. Indeed, nothing excludes considering a routing failure of the SIP response.
  • the nodes N_i considered during said step E30 are crossed in the reverse order of said sequence SEQ.
  • the nodes N_i considered during said step E30 are identical to the nodes considered during step E20 and form the sequence SEQ_INV which is the reverse of the sequence SEQ.
  • a node N_i, for i fixed, considered during said steps E20 and E30 is traversed an identical number of times in each of said steps E20 and E30.
  • the routing steps E20 and E30 are implemented by the nodes N_i configured according to the invention, more particularly by their respective modules M1J, M2J. Consequently, the SIP request / SIP response comprises a header as described above, namely comprising as many Middle-Agent fields as there are nodes N_i crossed.
  • the Middle-Agent fields of the SIP request / SIP response are stacked one after the other in said header so that the Middle_Agent identification fields respectively associated with two nodes crossed consecutively during the routing of said SIP request / said SIP response are consecutive within said header.
  • the order of stacking of the Middle-Agent fields contained in the header of the SIP response is the reverse of that of the Middle-Agent fields contained in the header of the SIP request.
  • INVITE request INVITE
  • the configuration information contained in a Middle-Agent field are four in number and correspond respectively to a type, a software version, an identifier, a domain name (the order indication is here implicit with regard to the stacking order considered for the Middle-Agent fields, as already mentioned before).
  • REP 200 OK
  • the INVITE request is sent by the terminal UE_A and passes successively, in this order and during step E20, through the nodes: N_l, N_4, N_9, N_4, N_8, N_5, N_10, N_5, N_2, before reaching the second terminal UE_B.
  • the sequence SEQ is written here: N_1 -> N_4 -> N_9 -> N_4 -> N_8 -> N_5 -> N_10 -> N_5 -> N_2, so that seven different nodes are crossed during the step E20.
  • the “version”, “ip” and “domain” configuration information correspond respectively to a software version number, an IP address and a domain name.
  • the second terminal UE_B once the INVITE request has been received, sends said 200 OK response.
  • the latter crosses successively, in this order and during step E30, the nodes: N_2, N_5, N_9, N_5, N_8, N_4, N_10, N_4, N_l.
  • the sequence SEQ_INV is written here: N_2 -> N_5 -> N_9 -> N_5 -> N_8 -> N_4 -> N_10 -> N_4 -> N_l.
  • the invention is particularly advantageous in that it makes it possible to identify all the nodes crossed not only by the SIP request but also, and this is the most important in view of what propose the solutions of the prior art with the establishment of the Via field, by the 200 OK response.
  • FIG. 5 diagrammatically represents a second example of implementation of the routing method of FIG. 3. More particularly, in the example of FIG. 5, the routing of the INVITE request sent by the first terminal UE_A to the second UE_B terminal is a failure. A response 500 Server Unavailable is then sent by a node to the first terminal UE_A.
  • N_9 N_STOP
  • the application server AS_1 (node N_9) is not able to send a new INVITE request to the second terminal UE_B.
  • said application server AS_1 sends, in response to said INVITE request, said 500 Server Unavailable response.
  • the response 500 successively crosses, in this order and during step E30, the nodes: N_9, N_4, N_l.
  • the sequence SEQ_INV is written here: N_9 -> N_4 -> N_l.
  • the response 500 when it is received by the first terminal UE_A, therefore comprises a header which is written for example:
  • the IP address “213.45.6.78” corresponds to the IP address of the first UE_A terminal.
  • the first sender of this response 500 is the application server AS_1. Indeed, it is possible to identify it by This is due, on the one hand, to the fact that it is positioned at the top of the stack formed by the Middle-agent fields, but also, on the other hand, to the fact that its IP address is different from that of the AS_2 server if although the latter cannot be confused.
  • This example of response 500 once again illustrates the advantage provided by the invention in terms of traceability of the nodes involved in the exchanges passing through the IP network 15.
  • the server AS_1 is immediately identified, which cannot be read by the Via field alone.
  • said routing method advantageously provides assistance in diagnosing the state of the IP network 15, without it being necessary to tediously examine, section by section, the whole. exchanges between nodes.
  • section we refer here to the path followed by a SIP request / SIP response between two N J nodes.
  • the response sent by the application server AS_1 is of type 500. It should however be specified that any response corresponding to a routing failure but also to a redirection is possible. Thus, in the present embodiment, the response may for example be of type 3xx, 4xx, 5xx or 6xx within the meaning of the SIP protocol.
  • the routing method has been described so far without considering any restriction concerning the fact that the terminals UE_A, UE_B (respectively the nodes N_i of the IP network 15) can receive an SIP request / SIP response.
  • the above description is implicitly based on the assumption according to which the terminals UE_A, UE_B as well as the nodes N_i are trusted entities.
  • trusted entity we refer here to the fact that such an entity is authorized to receive a SIP request / SIP response, namely therefore that there is no computer security risk in the information contained in such a SIP request / SIP response (such as typically the Middle-Agent identification fields from which it is possible to obtain information as to the topology of the IP network 15) pass through said nodes N_i and are received by the terminals UE_A , UE_B. [0118] This being the case, the invention remains applicable when a terminal UE_A, UE_B / a node NJ is not considered to be a trusted entity.
  • the identification field or fields included in a SIP request or a SIP response are for example deleted before reaching said terminal UE_A, UE_B / crossing said node N_i.
  • Such a deletion is for example implemented during the routing of a message from a trusted node to a node which is not considered to be trusted. It should be noted that proceeding in this way does not call into question the fact that the invention makes it possible to improve, in comparison with the solutions of the prior art, the traceability of the nodes involved in the exchanges passing through the IP network 15. In fact, it is always possible to examine messages in transit before the identification field (s) they contain are deleted, for example by intercepting them during their journey between two trusted nodes.
  • the routing method has been described so far by considering an implementation mode in which Middle-Agent fields are added not only in a SIP request sent by the first terminal UE_A, but also in the SIP response to said SIP request.
  • the invention is not limited to this mode of implementation, and remains applicable to another mode of implementation according to which the addition of Middle-Agent fields is only envisaged for the SIP response.
  • this other mode of implementation inherits the advantages described above in terms of diagnostic aid traceability.
  • the invention also remains applicable in the case where the addition of Middle-Agent fields is only considered for the SIP request. This procedure also improves traceability and provides diagnostic assistance, especially in the case where at least one B2BUA device is included in the IP network 15.
  • the invention also relates to a method for identifying the nodes N_i of the IP network 15.
  • FIG. 6 represents, in the form of a flowchart, the main steps of said identification method. .
  • said identification method firstly comprises a step F10 of obtaining a SIP request or a SIP response to said SIP request routed between the first terminal UE_A and the second UE_B terminal being understood that said SIP request / SIP response includes Middle-Agent fields added according to the routing method of the invention.
  • This obtaining step F10 is for example implemented by means of a network probe of design known per se and making it possible to intercept said SIP request / SIP response.
  • said SIP request / SIP response is obtained by reading the latter via a suitable interface of the first terminal UE_A / second terminal UE_B.
  • a SIP request / SIP response routed according to the routing method of the invention is obtained, the person skilled in the art knowing and being able to use the means necessary for the implementation of step F10.
  • said identification method comprises a step F20 of identifying the nodes N_i crossed by said SIP request / said SIP response from the configuration information contained in the fields d 'Middle-Agent identification included in said SIP request / said SIP response, as well as from the order indications provided by said identification fields.

Abstract

The invention relates to a method for routing, between a sender device (UE_A) and a receiver device (UE_B) that are separated by network devices, called "nodes" (N_i), a response (REP) to a request (REQ) sent (E10) by the sender device and routed (E20) through a plurality of nodes to the receiver device, said nodes forming a sequence. Said method comprising a step (E30) of routing, through the nodes of said sequence and to the sender device, the response to said request, said nodes being passed through in a reverse sequence, the routing of said response comprising, when passing through a node, the addition of a field (Middle-Agent) into a header of said response, said field comprising at least one item of information representative of a configuration of said passed-through node and an item of order information representative of the order of said passed-through node within said reverse sequence.

Description

Description Description
Titre de l'invention : Procédé d'acheminement de messages, équipement réseau associé Title of the invention: Message routing method, associated network equipment
Technique antérieure Prior art
[0001] La présente invention appartient au domaine général des télécommunications. Elle concerne plus particulièrement un procédé d'acheminement de messages entre un dispositif émetteur et un dispositif récepteur séparés par une séquence d'équipements réseau, un message correspondant à une requête ou une réponse à ladite requête conforme à un protocole de communication donné. Elle concerne également une entité réseau destinée à appartenir à une telle séquence et configurée pour mettre en œuvre ledit procédé d'acheminement. L'invention trouve une application particulièrement avantageuse, bien que nullement limitative, dans le cas de messages échangés dans le contexte de la téléphonie sur IP. The present invention belongs to the general field of telecommunications. It relates more particularly to a method of routing messages between a sending device and a receiving device separated by a sequence of network equipment, a message corresponding to a request or a response to said request in accordance with a given communication protocol. It also relates to a network entity intended to belong to such a sequence and configured to implement said routing method. The invention finds a particularly advantageous application, although in no way limiting, in the case of messages exchanged in the context of telephony over IP.
[0002] A ce jour, on connaît différents protocoles de communication permettant d'acheminer des messages correspondant à des requêtes ou à des réponses à ces requêtes entre des dispositifs émetteur et récepteur appartenant à un ou plusieurs réseaux de communication. To date, various communication protocols are known making it possible to route messages corresponding to requests or to responses to these requests between sender and receiver devices belonging to one or more communication networks.
[0003] Ainsi, et à titre d'exemple, les opérateurs de téléphonie ont majoritairement fait le choix de s'appuyer sur le protocole SIP (Session Initiation Protocol) pour l'envoi de tels messages (requête SIP ou bien réponse SIP à une requête SIP) et à des fins d'établissement d'une session de communication entre deux terminaux mais également d'exécution de services pour ces derniers. Ce protocole SIP est normalisé et standardisé par ITETF (Internet Engineering Task Force) ainsi que décrit dans le document RFC 3261 édité par l'IETF et intitulé « SIP Session Initiation Protocol », Juin 2002. Le ou les réseaux de communication sur lesquels sont acheminés des messages conformes audit protocole SIP sont par exemple des réseaux LTE (Long Term Evolution) dédiés au transport de la voix (VoLTE), de la vidéo (ViLTE), etc. [0003] Thus, and by way of example, the telephone operators have mostly chosen to rely on the SIP protocol (Session Initiation Protocol) for sending such messages (SIP request or SIP response to a SIP request) and for the purpose of establishing a communication session between two terminals but also for performing services for them. This SIP protocol is standardized and standardized by ITETF (Internet Engineering Task Force) as described in document RFC 3261 published by the IETF and entitled “SIP Session Initiation Protocol”, June 2002. The communication network (s) on which are routed messages conforming to said SIP protocol are for example LTE (Long Term Evolution) networks dedicated to the transport of voice (VoLTE), video (ViLTE), etc.
[0004] De manière conventionnelle, et afin d'acheminer des messages conformes au protocole SIP entre un dispositif émetteur et un dispositif récepteur, le ou les réseaux de communication concernés peuvent s'appuyer sur une architecture IMS (IP Multimedia Subsystem) telle que définie par le standard 3GPP (Third Génération Partnership Project). Cette architecture IMS propose l'utilisation de différents équipements réseau, dits « nœuds », configurés pour acheminer les messages entre lesdits dispositifs, dont notamment des équipements de type Proxy (P-CSCF, I-CSCF, S-CSCF), des équipements de type B2BUA (Back-to-Back User Agent) comportant à la fois une composante client et une composante serveur (comme par exemple des serveurs d'application), des équipements de frontière IBCF (Interconnection Border Control Function) ou TRF (Transit and Roaming Function), etc. [0005] En pratique, lorsqu'une requête SIP (par exemple une requête INVITE) est émise par un dispositif émetteur à destination d'un dispositif récepteur, ladite requête est acheminée vers le dispositif récepteur en traversant des équipements réseau tels que ceux mentionnés ci-avant, lesdits équipements étant traversés consécutivement de sorte à former une suite ordonnée d'équipements réseau désignée ci-après par « séquence ». L'ordre associé à la séquence est donc représentatif du sens dans lequel sont traversés consécutivement les équipements réseau composant ladite séquence. [0004] Conventionally, and in order to route messages conforming to the SIP protocol between a sending device and a receiving device, the communication network (s) concerned can be based on an IMS (IP Multimedia Subsystem) architecture as defined by the 3GPP standard (Third Generation Partnership Project). This IMS architecture proposes the use of different network equipment, called “nodes”, configured to route messages between said devices, including in particular Proxy type equipment (P-CSCF, I-CSCF, S-CSCF), communication equipment. B2BUA (Back-to-Back User Agent) type comprising both a client component and a server component (such as application servers), IBCF (Interconnection Border Control Function) or TRF (Transit and Roaming) border equipment Function), etc. In practice, when a SIP request (for example an INVITE request) is sent by a sending device to a receiving device, said request is routed to the receiving device by passing through network equipment such as those mentioned above before, said equipment items being crossed consecutively so as to form an ordered series of network equipment items hereinafter referred to as “sequence”. The order associated with the sequence is therefore representative of the direction in which the network devices making up said sequence are crossed consecutively.
[0006] Une telle requête SIP entraîne nécessairement l'émission d'une réponse SIP à ladite requête SIP. A titre d'exemple, si la requête SIP atteint bien le dispositif récepteur et que ce dernier est en mesure de la traiter, une réponse SIP confirmant que la requête a bien été traitée (par exemple une réponse 200 OK) est acheminée vers le dispositif émetteur. Selon un autre exemple, si la requête SIP ne peut être correctement acheminée par un des nœuds de la séquence, une réponse SIP indiquant que la requête n'a pas pu être traitée (par exemple une réponse 500 Server Unavailable) est émise par le nœud concerné et acheminée vers le dispositif émetteur. Les nœuds de la séquence sont alors traversés consécutivement par ladite réponse SIP dans l'ordre inverse de ladite séquence. [0006] Such a SIP request necessarily results in the sending of a SIP response to said SIP request. For example, if the SIP request does reach the receiving device and the latter is able to process it, a SIP response confirming that the request has been processed (for example a 200 OK response) is routed to the device. transmitter. According to another example, if the SIP request cannot be correctly routed by one of the nodes of the sequence, a SIP response indicating that the request could not be processed (for example a 500 Server Unavailable response) is sent by the node concerned and routed to the sending device. The nodes of the sequence are then crossed consecutively by said SIP response in the reverse order of said sequence.
[0007] Considérant cette procédure d'acheminement des requêtes SIP / réponses SIP, il convient de constater qu'il n'existe actuellement aucun moyen d'identifier tous les équipements jusqu'alors traversés par une réponse SIP lorsque celle-ci est interceptée au cours de son acheminement (par exemple grâce à une sonde réseau de type connu en soi) ou bien à son arrivée au niveau du dispositif émetteur. En effet, une requête SIP est classiquement munie d'un en-tête comportant un empilement (i.e. une liste) de champs Via, un nouveau champ Via étant ajouté en début de cet empilement à chaque nouveau nœud traversé, de sorte qu'il est possible a priori de retracer la route suivie (i.e. les équipements réseau successivement traversés) par la requête SIP. Toutefois, ces champs Via sont dépilés (c'est-à-dire supprimés) un à un de l'en-tête lors de l'acheminement de la réponse SIP à ladite requête SIP, ce dépilement s'effectuant à chaque traversée de nœud en partant du début dudit empilement. Une telle perte d'information empêche l'identification (la traçabilité) des équipements réseau traversés par une réponse SIP. Considering this procedure for routing SIP requests / SIP responses, it should be noted that there is currently no way to identify all the equipment hitherto crossed by a SIP response when it is intercepted at the during its routing (for example by means of a network probe of a type known per se) or else upon its arrival at the level of the sending device. Indeed, a SIP request is conventionally provided with a header comprising a stack (ie a list) of Via fields, a new Via field being added at the start of this stack to each new node crossed, so that it is a priori possible to retrace the route followed (ie the network equipment successively crossed) by the SIP request. However, these Via fields are unstacked (that is to say deleted) one by one from the header during the routing of the SIP response to said SIP request, this unstacking being carried out at each node crossing. starting from the start of said stack. Such a loss of information prevents the identification (traceability) of network equipment crossed by a SIP response.
[0008] En conséquence, lorsqu'une anomalie ou bien un comportement inattendu d'un équipement réseau survient au cours de l'acheminement d'une réponse SIP, il n'est pas possible de déterminer quel équipement réseau est à l'origine de ladite anomalie ou bien suit ledit comportement inattendu. Ce constat s'applique d'ailleurs quelle que soit la topologie du réseau (nombre de nœuds, nature des nœuds, etc.). [0008] Consequently, when an anomaly or unexpected behavior of a network equipment occurs during the routing of a SIP response, it is not possible to determine which network equipment is the source of said anomaly or else follows said unexpected behavior. This observation also applies whatever the topology of the network (number of nodes, nature of nodes, etc.).
[0009] Par ailleurs, à cette problématique d'identification s'ajoute également le fait que le protocole SIP ne permet pas actuellement de déterminer de caractéristiques matérielles et / ou logicielles relatives aux équipements traversés par une réponse SIP (ce constat étant également valable en ce qui concerne une requête SIP au demeurant). En effet, le protocole SIP propose de fournir des caractéristiques de ce type uniquement pour les dispositifs auxquels sont destinés les messages, grâce par exemple à des champs User-Agent ou bien Server contenus dans l'en-tête d'une réponse SIP. En conséquence, il n'est pas possible de déterminer si le chemin suivi par une réponse SIP est licite et /ou s'il est conforme à un partage de charge déterminé entre les équipements réseau traversés. [0009] Furthermore, in addition to this identification problem, there is also the fact that the SIP protocol does not currently make it possible to determine material characteristics and / or software relating to the equipment crossed by a SIP response (this observation also being valid with regard to a SIP request, moreover). Indeed, the SIP protocol proposes to provide characteristics of this type only for the devices for which the messages are intended, by virtue for example of User-Agent or even Server fields contained in the header of a SIP response. Consequently, it is not possible to determine whether the path followed by a SIP response is lawful and / or whether it conforms to a determined load sharing between the network equipment crossed.
[0010] En définitive, du fait des problèmes susmentionnés (impossibilité d'identifier un équipement réseau à l'origine d'une anomalie ou ayant un comportement inattendu, impossibilité de déterminer des caractéristiques matérielles et / ou logicielles d'un équipement réseau traversé), le protocole SIP tel que connu actuellement s'oppose à la réalisation de diagnostics pertinents et rapides de l'état du ou des réseaux de communication auxquels appartiennent les dispositifs émetteur et récepteur à partir de l'analyse de réponses SIP, ce qui nuit dès lors à une exploitation efficace du ou desdits réseaux. Ultimately, due to the aforementioned problems (impossibility of identifying network equipment causing an anomaly or having unexpected behavior, impossibility of determining the hardware and / or software characteristics of a network equipment crossed) , the SIP protocol as currently known is opposed to the production of relevant and rapid diagnostics of the state of the communication network (s) to which the sender and receiver devices belong from the analysis of SIP responses, which is detrimental as soon as possible. during efficient operation of said network (s).
[0011] Au surplus, il importe de noter que des problèmes similaires à ceux mentionnés ci-avant, et en conséquence une conclusion similaire à celle obtenue ci-avant (i.e. diagnostics pertinents non réalisables), se rencontrent dans le cadre de protocoles autres que le protocole SIP, comme par exemple le protocole DIAMETER ou bien le protocole HTTP (HyperText Transfer Protocol). [0011] In addition, it should be noted that problems similar to those mentioned above, and consequently a conclusion similar to that obtained above (ie relevant diagnoses not feasible), are encountered in the context of protocols other than the SIP protocol, such as for example the DIAMETER protocol or else the HTTP protocol (HyperText Transfer Protocol).
Exposé de l'invention Disclosure of the invention
[0012] La présente invention a pour objectif de remédier à tout ou partie des inconvénients de l'art antérieur, notamment ceux exposés ci-avant, en proposant une solution qui permette d'acheminer entre un dispositif émetteur et un dispositif récepteur une réponse à une requête, de sorte à pouvoir identifier l'ensemble des équipements réseau traversés par ladite réponse. Une telle solution constitue ainsi une aide à la traçabilité des échanges entre un dispositif émetteur et un dispositif récepteur (par exemple entre deux terminaux, entre un terminal et un serveur, ou plus généralement entre un client et un serveur), et corrélativement, une aide au diagnostic de l'état du ou des réseaux de communication auxquels appartiennent les dispositifs émetteur et récepteur. The object of the present invention is to remedy all or part of the drawbacks of the prior art, in particular those set out above, by proposing a solution which makes it possible to route between a transmitter device and a receiver device a response to a request, so as to be able to identify all the network equipment crossed by said response. Such a solution thus constitutes an aid for the traceability of exchanges between a sending device and a receiving device (for example between two terminals, between a terminal and a server, or more generally between a client and a server), and correlatively, an aid diagnostic of the state of the communication network (s) to which the transmitter and receiver devices belong.
[0013] A cet effet, et selon un premier aspect, l'invention concerne un procédé d'acheminement entre un dispositif émetteur et un dispositif récepteur séparés par des équipements réseau, dits « nœuds », d'une réponse à une requête émise par le dispositif émetteur conformément à un protocole de communication donné et acheminée au travers d'une pluralité de nœuds à destination du dispositif récepteur, lesdits nœuds étant traversés consécutivement formant une séquence, ledit procédé comportant une étape d'acheminement, au travers des nœuds de ladite séquence et à destination du dispositif émetteur, de la réponse à ladite requête, lesdits nœuds étant traversés suivant une séquence inverse par rapport à ladite séquence, l'acheminement de ladite réponse comportant, lors de la traversée d'un nœud, l'ajout d'un champ, dit « champ d'identification », dans un en-tête de ladite réponse, ledit champ d'identification comprenant au moins une information représentative d'une configuration dudit nœud traversé et fournissant une indication représentative de l'ordre dudit nœud traversé au sein de ladite séquence inverse. To this end, and according to a first aspect, the invention relates to a method of routing between a sending device and a receiving device separated by network equipment, called "nodes", of a response to a request sent by the sending device in accordance with a given communication protocol and routed through a plurality of nodes to the receiving device, said nodes being crossed consecutively forming a sequence, said method comprising a routing step, through the nodes of said sequence and intended for the sending device, of the response to said request, said nodes being traversed in an inverse sequence with respect to said sequence, the routing of said response comprising, when traversing a node, the addition a field, called “identification field”, in a header of said response, said identification field comprising at least one item of information representative of a configuration of said node crossed and providing an indication representative of the order of said node crossed within said reverse sequence.
[0014] Ainsi, selon ledit procédé d'acheminement, il est proposé d'acheminer une réponse à une requête en direction du dispositif émetteur, cet acheminement s'effectuant de sorte que l'entête de la réponse à la requête est complétée par un champ d'identification à chaque traversée d'un nœud. De manière préférentielle, pour des nœuds traversés consécutivement lors de l'acheminement d'une réponse à une requête, lesdits champs d'identification sont empilés dans l'en-tête de ladite réponse dans un ordre représentatif du sens dans lequel sont traversés consécutivement lesdits nœuds. Le terme « empilement » fait ici référence au fait qu'un champ d'identification d'un nœud venant d'être traversé est ajouté à la fin, ou bien au début suivant une alternative de mise en œuvre, des champs d'identification respectivement associés à des nœuds précédemment traversés. De cette sorte, un champ d'identification fournit avantageusement (et implicitement), du fait de sa position au sein de l'empilement (plus particulièrement du fait des nœuds entre lesquels il est positionné au sein de l'empilement), une indication de l'ordre d'un nœud traversé au sein de la séquence inverse. En variante, on peut envisager de fournir dans le champ d'identification, une indication explicite de l'ordre du nœud traversé au sein de la séquence. Thus, according to said routing method, it is proposed to route a response to a request in the direction of the sending device, this routing being carried out so that the header of the response to the request is completed by a identification field each time a node is crossed. Preferably, for nodes crossed consecutively during the routing of a response to a request, said identification fields are stacked in the header of said response in an order representative of the direction in which said said are crossed consecutively. knots. The term “stacking” refers here to the fact that an identification field of a node which has just been crossed is added at the end, or else at the beginning according to an alternative implementation, of the identification fields respectively. associated with previously crossed nodes. In this way, an identification field advantageously (and implicitly) provides, because of its position within the stack (more particularly because of the nodes between which it is positioned within the stack), an indication of the order of a node crossed within the reverse sequence. As a variant, it is possible to envisage providing, in the identification field, an explicit indication of the order of the node crossed within the sequence.
[0015] Le fait d'ajouter de tels champs d'identification dans l'en-tête de la réponse offre avantageusement la possibilité d'identifier les nœuds agencés entre le dispositif émetteur et le deuxième récepteur à partir de l'analyse d'une réponse (par exemple suite à l'obtention d'une telle réponse via une sonde réseau de type connu en soi). Bien entendu, cet avantage quant à l'identification des nœuds est obtenu aussi bien dans le cas où les champs d'identification sont empilés suivant l'ordre de traversée des nœuds, que dans le cas où une indication explicite de l'ordre d'un nœud est fournie dans le champ d'identification. The fact of adding such identification fields in the header of the response advantageously offers the possibility of identifying the nodes arranged between the transmitter device and the second receiver from the analysis of a response (for example following obtaining such a response via a network probe of a type known per se). Of course, this advantage as regards the identification of the nodes is obtained as well in the case where the identification fields are stacked according to the order of crossing of the nodes, as in the case where an explicit indication of the order of a node is provided in the identification field.
[0016] En conséquence, la traçabilité des échanges entre les dispositifs émetteur et récepteur est donc fortement améliorée en comparaison avec les solutions de l'état antérieur, ces dernières n'offrant à ce jour aucune possibilité pour identifier l'ensemble des nœuds traversés par une réponse à une requête. La traçabilité étant améliorée, il est dès lors possible de vérifier si le chemin suivi par un message est licite, mais également si le partage de charge entre les nœuds formant ce chemin s'effectue correctement. [0017] Par ailleurs, la structure des champs d'identification compris dans les en-têtes des réponses échangées entre les dispositifs émetteur et récepteur permet également d'identifier de manière certaine, et très rapidement, un nœud à l'origine d'une anomalie ou bien encore un comportement inattendu susceptible de se manifester en réponse à une requête. Le procédé d'acheminement selon l'invention offre donc une aide précieuse au diagnostic de l'état du ou des réseaux par lesquels transitent les messages, et cela sans qu'il soit nécessaire d'examiner fastidieusement l'ensemble des échanges acheminés sur chaque tronçon dudit ou desdits réseaux. Par « tronçon », on fait référence ici au chemin suivi par une requête / réponse entre deux nœuds. Consequently, the traceability of the exchanges between the transmitter and receiver devices is therefore greatly improved in comparison with the solutions of the prior state, the latter offering to date no possibility of identifying all of the nodes crossed by a response to a query. As the traceability is improved, it is therefore possible to check whether the path followed by a message is lawful, but also whether the load sharing between the nodes forming this path is carried out correctly. Furthermore, the structure of the identification fields included in the headers of the responses exchanged between the transmitter and receiver devices also makes it possible to identify with certainty, and very quickly, a node at the origin of a anomaly or even unexpected behavior likely to occur in response to a request. The routing method according to the invention therefore offers valuable assistance in diagnosing the state of the network (s) through which the messages pass, and this without it being necessary to tediously examine all the exchanges routed on each. section of said network (s). By “section”, we refer here to the path followed by a request / response between two nodes.
[0018] Dans des modes particuliers de mise en œuvre, le procédé d'acheminement peut comporter en outre l'une ou plusieurs des caractéristiques suivantes, prises isolément ou selon toutes les combinaisons techniquement possibles. In particular embodiments, the routing method may further include one or more of the following characteristics, taken in isolation or in any technically possible combination.
[0019] Dans des modes particuliers de mise en œuvre, l'acheminement de la requête comporte également, lors de la traversée d'un nœud de ladite séquence, l'ajout d'un champ d'identification dans un en-tête de ladite requête, ledit champ d'identification comprenant au moins une information représentative d'une configuration dudit nœud traversé et fournissant une indication représentative de l'ordre dudit nœud traversé au sein de ladite séquence. In particular embodiments, the routing of the request also comprises, when crossing a node of said sequence, the addition of an identification field in a header of said request, said identification field comprising at least one piece of information representative of a configuration of said node crossed and providing an indication representative of the order of said node crossed within said sequence.
[0020] De telles dispositions consistent donc à appliquer aux requêtes émises par le dispositif émetteur un traitement similaire à celui appliqué aux réponses auxdites requêtes comme détaillé auparavant. Par voie de conséquence, les avantages donnés ci-avant en ce qui concerne le fait d'ajouter des champs d'identification dans l'en-tête d'une réponse (traçabilité améliorée, aide au diagnostic, identification certaine et rapide d'une anomalie) sont encore valables en ce qui concerne le fait d'ajouter des champs d'identification dans l'en-tête d'une requête. [0020] Such arrangements therefore consist in applying to the requests sent by the sending device a processing similar to that applied to the responses to said requests as detailed previously. Consequently, the advantages given above with regard to the fact of adding identification fields in the header of a response (improved traceability, diagnostic aid, certain and rapid identification of a anomaly) are still valid with regard to adding identification fields in the header of a request.
[0021] Par ailleurs, il importe de noter que ces dispositions sont indépendantes de la nature du nœud traversé. En particulier, il peut s'agir d'un nœud comportant non seulement une composante serveur mais également une composante client, comme par exemple un équipement réseau de type B2BUA. Ainsi, quand bien même un tel nœud est traversé par une requête, cette dernière comporte quoiqu'il arrive un champ d'identification selon l'invention, de sorte qu'il est possible de déterminer, par une simple lecture des champs d'identification insérés dans ladite requête, quels sont les nœuds ayant été traversés en amont et en aval dudit nœud comportant une composante serveur et une composante client. Furthermore, it is important to note that these arrangements are independent of the nature of the node crossed. In particular, it may be a node comprising not only a server component but also a client component, such as for example a B2BUA type network equipment item. Thus, even though such a node is crossed by a request, the latter includes whatever happens an identification field according to the invention, so that it is possible to determine, by a simple reading of the identification fields. inserted in said request, which nodes have been crossed upstream and downstream of said node comprising a server component and a client component.
[0022] Cette manière de procéder est donc particulièrement avantageuse en comparaison avec les solutions de l'art antérieur pour lesquelles la problématique d'identification de nœuds traversés par une requête est particulièrement prégnante dans une configuration où au moins un équipement réseau de type B2BUA est agencé entre les dispositifs émetteur et récepteur. En effet, un tel équipement B2BUA est connu pour générer de nouveaux dialogues SIP lorsqu'il reçoit une requête SIP, ces nouveaux dialogues SIP s'accompagnant en règle générale d'une perte d'information quant aux équipements précédemment traversés par ladite requête SIP (par exemple les champs Via précédemment empilés ne sont pas tous repris). Ces inconvénients sont donc ici surmontés. This way of proceeding is therefore particularly advantageous in comparison with the solutions of the prior art for which the problem of identifying nodes crossed by a request is particularly significant in a configuration where at least one B2BUA type network equipment is arranged between the transmitter and receiver devices. In Indeed, such a B2BUA device is known to generate new SIP dialogs when it receives a SIP request, these new SIP dialogues are generally accompanied by a loss of information as to the devices previously traversed by said SIP request (e.g. example not all previously stacked Via fields are included). These drawbacks are therefore overcome here.
[0023] Dans des modes particuliers de mise en œuvre, ladite au moins une information représentative d'une configuration dudit nœud traversé appartient au groupe comprenant : un type représentatif de la configuration matérielle dudit nœud, une version logicielle dudit nœud, un identifiant dudit nœud, un nom de domaine auquel appartient ledit nœud. In particular modes of implementation, said at least one item of information representative of a configuration of said node crossed belongs to the group comprising: a type representative of the hardware configuration of said node, a software version of said node, an identifier of said node , a domain name to which said node belongs.
[0024] De manière plus spécifique, si ladite au moins une information correspond à une version logicielle, il est alors possible de diagnostiquer, en cas d'anomalie d'acheminement ou de comportement inattendu observé et grâce à une convention de nommage appropriée, si la version logicielle d'un nœud traversé représente une régression par rapport à la ou les versions logicielles précédemment mises en œuvre par ce dernier. More specifically, if said at least one item of information corresponds to a software version, it is then possible to diagnose, in the event of a routing anomaly or unexpected behavior observed and using an appropriate naming convention, if the software version of a crossed node represents a regression with respect to the software version (s) previously implemented by the latter.
[0025] Dans des modes particuliers de mise en œuvre, le champ d'identification d'un nœud comprend quatre informations représentatives d'une configuration dudit nœud traversé et correspondant respectivement à un type dudit nœud, une version logicielle dudit nœud, une adresse IP dudit nœud, un nom de domaine dudit nœud. In particular modes of implementation, the identification field of a node comprises four pieces of information representative of a configuration of said node crossed and corresponding respectively to a type of said node, a software version of said node, an IP address of said node, a domain name of said node.
[0026] Le fait que le champ d'identification comporte lesdits quatre informations permet de discriminer encore plus facilement entre eux les nœuds traversés par une requête ou une réponse à une requête. The fact that the identification field comprises said four pieces of information makes it possible to discriminate even more easily between them the nodes crossed by a request or a response to a request.
[0027] Dans des modes particuliers de mise en œuvre, le protocole de communication est le protocole SIP, ou le protocole http, ou le protocole DIAMETER. In particular modes of implementation, the communication protocol is the SIP protocol, or the http protocol, or the DIAMETER protocol.
[0028] Dans des modes particuliers de mise en œuvre, au moins un nœud traversé lors de l'acheminement de ladite requête / ladite réponse comporte une composante client et une composante serveur. In particular modes of implementation, at least one node crossed during the routing of said request / said response comprises a client component and a server component.
[0029] De telles dispositions renvoient typiquement à la traversée d'un nœud de type B2BUA. Comme expliqué auparavant, le procédé d'acheminement selon l'invention permet avantageusement d'améliorer, en comparaison avec les solutions de l'art antérieur, la traçabilité des échanges entre les dispositifs émetteur et récepteur ainsi que la rapidité de diagnostic de l'état du ou des réseaux de communication lorsque ce type de nœud est physiquement présent entre lesdits dispositifs émetteur et récepteur. D'ailleurs, le nombre de nœuds de ce type agencés entre lesdits dispositifs importe peu, les avantages de l'invention ne dépendant nullement de cet aspect. [0030] Dans des modes particuliers de mise en œuvre, la réponse à la requête est émise par un nœud et est représentative d'un échec d'acheminement ou d'une redirection de ladite requête. [0029] Such arrangements typically refer to the crossing of a B2BUA type node. As explained previously, the routing method according to the invention advantageously makes it possible to improve, in comparison with the solutions of the prior art, the traceability of the exchanges between the transmitter and receiver devices as well as the speed of diagnosis of the state. of the communication network (s) when this type of node is physically present between said sender and receiver devices. Moreover, the number of nodes of this type arranged between said devices is immaterial, the advantages of the invention not depending in any way on this aspect. In particular modes of implementation, the response to the request is sent by a node and is representative of a routing failure or a redirection of said request.
[0031] Autrement dit, l'invention ne se limite pas au cas où la requête est acheminée avec succès vers un dispositif récepteur. Comme expliqué auparavant, l'invention permet avantageusement d'effectuer un diagnostic rapide d'un tel échec d'acheminement ou d'une telle redirection. In other words, the invention is not limited to the case where the request is successfully routed to a receiving device. As explained previously, the invention advantageously makes it possible to carry out a rapid diagnosis of such a routing failure or of such a redirection.
[0032] Dans des modes particuliers de mise en œuvre, le protocole de communication est le protocole SIP, la réponse étant de type 3xx, 4xx, 5xx ou 6xx. In particular modes of implementation, the communication protocol is the SIP protocol, the response being of type 3xx, 4xx, 5xx or 6xx.
[0033] Dans des modes particuliers de mise en œuvre, lorsqu'une entité parmi le dispositif émetteur, le dispositif récepteur et un nœud n'est pas considérée comme étant une entité de confiance, le ou les champs d'identification compris dans une réponse ou une requête sont supprimés avant d'atteindre ladite entité. In particular modes of implementation, when an entity from among the sending device, the receiving device and a node is not considered to be a trusted entity, the identification field (s) included in a response or a query are deleted before reaching said entity.
[0034] Une telle suppression est par exemple mise en œuvre lors de l'acheminement d'un message (requête ou réponse) d'un nœud de confiance vers un nœud qui n'est pas considéré comme étant de confiance. Il importe de noter que procéder de la sorte ne remet pas en cause le fait que l'invention permet d'améliorer, en comparaison avec les solutions de l'art antérieur, la traçabilité des nœuds impliqués dans les échanges transitant entre les dispositifs émetteur et récepteur. En effet, il est toujours possible d'examiner des messages en cours d'acheminement avant que le ou les champs d'identification qu'ils contiennent soient supprimés, par exemple en les interceptant lors de leurs parcours entre deux nœuds de confiance. Such a deletion is for example implemented during the routing of a message (request or response) from a trusted node to a node which is not considered to be trusted. It should be noted that proceeding in this way does not call into question the fact that the invention makes it possible to improve, in comparison with the solutions of the prior art, the traceability of the nodes involved in the exchanges passing between the transmitting devices and receiver. Indeed, it is always possible to examine messages in the course of routing before the identification field (s) they contain are deleted, for example by intercepting them during their journey between two trusted nodes.
[0035] Le fait d'envisager une telle suppression permet de préserver la confidentialité d'informations transmises à un nœud qui n'est pas considéré comme étant de confiance, en particulier les informations comprises dans le ou les champs d'identification compris dans l'en tête d'un message. Ces dernières sont en effet révélatrices de la topologie du réseau mais également de détails spécifiques concernant la configuration matérielle et / ou logicielle des nœuds traversés. The fact of considering such a deletion makes it possible to preserve the confidentiality of information transmitted to a node which is not considered to be trusted, in particular the information included in the identification field or fields included in the 'at the top of a message. The latter are indeed revealing of the topology of the network but also of specific details concerning the hardware and / or software configuration of the crossed nodes.
[0036] De telles dispositions sont particulièrement avantageuses lorsque les dispositifs émetteur et récepteur appartiennent à des réseaux distincts, si bien que les messages qu'ils s'échangent transitent par une interface frontière. En outre, il y a lieu de noter que de telles dispositions sont applicables dès lors qu'un champ d'identification est ajouté pour seulement une partie des nœuds traversés par un message. Such arrangements are particularly advantageous when the transmitter and receiver devices belong to separate networks, so that the messages they exchange pass through a border interface. In addition, it should be noted that such provisions are applicable as soon as an identification field is added for only part of the nodes crossed by a message.
[0037] Dans des modes particuliers de mise en œuvre, au moins une partie des nœuds appartient à un réseau IMS. In particular modes of implementation, at least some of the nodes belong to an IMS network.
[0038] Selon un deuxième aspect, l'invention concerne un procédé d'identification d'équipements réseau, dit « nœuds », agencés entre un dispositif émetteur et un dispositif récepteur. Ledit procédé d'identification comporte : According to a second aspect, the invention relates to a method of identifying network equipment, called "nodes", arranged between a sending device and a receiving device. Said identification process includes:
- une étape d'obtention d'une réponse à une requête émise par le dispositif émetteur conformément à un protocole de communication donné et acheminée au travers d'une pluralité de nœuds à destination du dispositif récepteur, lesdits nœuds étant traversés consécutivement formant une séquence, ladite réponse étant acheminée, au travers des nœuds de ladite séquence et à destination du dispositif émetteur, conformément à un procédé d'acheminement selon l'invention, de sorte qu'un en-tête de la réponse comporte des champs d'identification comprenant des informations représentatives de configurations des nœuds traversés par ladite réponse et fournissant des indications représentatives d'ordres des nœuds traversés par ladite réponse, a step of obtaining a response to a request sent by the sending device in accordance with a given communication protocol and routed through a plurality of nodes to the receiving device, said nodes being crossed consecutively forming a sequence, said response being routed, through the nodes of said sequence and to the sending device, in accordance with a routing method according to the invention, so that a header of the response includes identification fields comprising information representative of configurations of nodes crossed by said response and providing indications representative of orders of nodes crossed by said response,
- une étape d'identification des nœuds traversés par ladite réponse à partir desdites informations de configurations et desdites indications d'ordres. a step of identifying the nodes crossed by said response from said configuration information and from said order indications.
[0039] Selon un troisième aspect, l'invention concerne un programme d'ordinateur comportant des instructions pour la mise en œuvre d'un procédé d'acheminement selon l'invention ou d'un procédé d'identification selon l'invention lorsque ledit programme est exécuté par un ordinateur. According to a third aspect, the invention relates to a computer program comprising instructions for the implementation of a routing method according to the invention or of an identification method according to the invention when said program is executed by a computer.
[0040] Ce programme peut 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. This program can use any programming language, and be in the form of source code, object code, or intermediate code between source code and object code, such as in a partially compiled form, or in n ' any other desirable shape.
[0041] Selon un quatrième aspect, l'invention concerne un support d'informations ou d'enregistrement lisible par un ordinateur sur lequel est enregistré un programme d'ordinateur selon l'invention. According to a fourth aspect, the invention relates to an information or recording medium readable by a computer on which a computer program according to the invention is recorded.
[0042] Le support d'informations ou d'enregistrement 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 dise) ou un disque dur. The information or recording medium can be any entity or device capable of storing the program. For example, the medium may comprise a storage means, such as a ROM, for example a CD ROM or a microelectronic circuit ROM, or else a magnetic recording means, for example a floppy disk or a disk. hard.
[0043] D'autre part, le support d'informations ou d'enregistrement 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. On the other hand, the information or recording medium can be a transmissible medium such as an electrical or optical signal, which can be conveyed via an electrical or optical cable, by radio or by other means. . The program according to the invention can in particular be downloaded from an Internet type network.
[0044] Alternativement, le support d'informations ou d'enregistrement peut être un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé en question. [0045] Selon un cinquième aspect, l'invention concerne un équipement réseau, dit « nœud », destiné à être agencé entre un dispositif émetteur et un dispositif récepteur. Ledit nœud comporte un module d'acheminement, configuré pour acheminer au travers dudit nœud et à destination du dispositif émetteur une réponse à une requête émise par le dispositif émetteur conformément à un protocole de communication donné et acheminée au travers d'une pluralité de nœuds à destination du dispositif récepteur, lesdits nœuds étant traversés consécutivement formant une séquence, ledit module d'acheminement étant en outre configuré pour ajouter, lors de la traversée dudit nœud par ladite réponse, un champ, dit « champ d'identification », dans un en-tête de ladite réponse, ledit champ d'identification comprenant au moins une information représentative d'une configuration dudit nœud traversé et fournissant une indication représentative de l'ordre dudit nœud traversé au sein d'une séquence inverse par rapport à ladite séquence. Alternatively, the information or recording medium can be an integrated circuit in which the program is incorporated, the circuit being adapted to execute or to be used in the execution of the method in question. According to a fifth aspect, the invention relates to network equipment, called a “node”, intended to be arranged between a sending device and a receiving device. Said node comprises a routing module, configured to route through said node and to the sending device a response to a request sent by the sending device in accordance with a given communication protocol and routed through a plurality of nodes to destination of the receiving device, said nodes being crossed consecutively forming a sequence, said routing module being further configured to add, when passing through said node by said response, a field, called “identification field”, in one in header of said response, said identification field comprising at least one item of information representative of a configuration of said node crossed and providing an indication representative of the order of said node crossed within a sequence reversed with respect to said sequence.
[0046] Dans des modes particuliers de réalisation, l'équipement réseau peut comporter en outre l'une ou plusieurs des caractéristiques suivantes, prises isolément ou selon toutes les combinaisons techniquement possibles. In particular embodiments, the network equipment may further include one or more of the following characteristics, taken in isolation or in any technically possible combination.
[0047] Dans des modes particuliers de réalisation, l'équipement réseau comporte en outre un module d'acheminement configuré pour acheminer ladite requête au travers dudit nœud à destination du dispositif récepteur ainsi que pour ajouter, lors de la traversée dudit nœud par ladite requête, un champ, dit « champ d'identification » (Middle-Agent), dans un en-tête de ladite requête, ledit champ d'identification comprenant au moins une information représentative d'une configuration dudit nœud traversé et fournissant une indication représentative de l'ordre dudit nœud traversé au sein de ladite séquence. In particular embodiments, the network equipment further comprises a routing module configured to route said request through said node to the receiving device as well as to add, when passing through said node by said request , a field, called an “identification field” (Middle-Agent), in a header of said request, said identification field comprising at least one item of information representative of a configuration of said node crossed and providing an indication representative of the order of said node crossed within said sequence.
[0048] Dans des modes particuliers de réalisation, ledit équipement réseau comporte une composante client et une composante serveur. In particular embodiments, said network equipment comprises a client component and a server component.
[0049] Selon un sixième aspect, l'invention concerne un système de communication comportant un dispositif émetteur, un dispositif récepteur ainsi qu'une pluralité d'équipements réseau agencés entre lesdits dispositifs, lesdits équipements réseau étant conformes à l'invention. According to a sixth aspect, the invention relates to a communication system comprising a sending device, a receiving device and a plurality of network equipment items arranged between said devices, said network equipment items being in accordance with the invention.
Brève description des dessins Brief description of the drawings
[0050] D'autres caractéristiques et avantages de la présente invention ressortiront de la description faite ci-dessous, en référence aux dessins annexés qui en illustrent un exemple de réalisation dépourvu de tout caractère limitatif. Sur les figures : Other characteristics and advantages of the present invention will emerge from the description given below, with reference to the appended drawings which illustrate an exemplary embodiment thereof without any limiting nature. In the figures:
[Fig. 1] la figure 1 représente schématiquement, dans son environnement, un mode particulier de réalisation d'un système de communication selon l'invention ; [Fig. 2] la figure 2 représente schématiquement un exemple d'architecture matérielle d'un nœud selon l'invention configuré pour mettre en œuvre ledit procédé d'acheminement ; [Fig. 1] FIG. 1 schematically represents, in its environment, a particular embodiment of a communication system according to the invention; [Fig. 2] FIG. 2 schematically represents an example of hardware architecture of a node according to the invention configured to implement said routing method;
[Fig. 3] la figure 3 représente, sous forme d'ordinogramme, les principales étapes du procédé d'acheminement selon l'invention telles qu'elles sont mises en œuvre par le système de communication de la figure 1 ; [Fig. 3] FIG. 3 represents, in the form of a flowchart, the main steps of the routing method according to the invention as implemented by the communication system of FIG. 1;
[Fig. 4] la figure 4 représente schématiquement un premier exemple de mise en œuvre du procédé d'acheminement de la figure 3 ; [Fig. 4] FIG. 4 schematically represents a first example of implementation of the routing method of FIG. 3;
[Fig. 5] la figure 5 représente schématiquement un deuxième exemple de mise en œuvre du procédé d'acheminement de la figure 3 ; [Fig. 5] FIG. 5 schematically represents a second exemplary implementation of the routing method of FIG. 3;
[Fig. 6] la figure 6 représente, sous forme d'ordinogramme, les principales étapes d'un procédé d'identification selon l'invention. [Fig. 6] FIG. 6 represents, in the form of a flowchart, the main steps of an identification method according to the invention.
Description des modes de réalisation Description of the embodiments
[0051] La figure 1 représente schématiquement, dans son environnement, un mode particulier de réalisation d'un système 10 de communication selon l'invention. FIG. 1 schematically shows, in its environment, a particular embodiment of a communication system 10 according to the invention.
[0052] Tel qu'illustré par la figure 1, le système 10 de communication comporte deux dispositifs, à savoir un dispositif émetteur UE_A et un dispositif récepteur UE_B. As illustrated by FIG. 1, the communication system 10 comprises two devices, namely a transmitter device UE_A and a receiver device UE_B.
[0053] Pour la suite de la description, on considère de manière nullement limitative que les dispositifs émetteur UE_A et récepteur UE_B sont des terminaux mobiles détenus par des utilisateurs respectifs, comme par exemple un téléphone intelligent ou « smartphone », une tablette numérique, un ordinateur portable, etc. En outre, lesdits terminaux UE_A, UE_B hébergent chacun une ou plusieurs applications de type connu en soi (VoLTE, ViLTE, etc.) et s'appuyant sur les fonctionnalités offerte par un réseau IP 15 pour la transmission, et en particulier l'adressage, de messages suivant le protocole IP (« IP » étant l'acronyme de l'expression « Internet Protocol » dans la littérature anglo-saxonne). For the remainder of the description, it is considered in no way limiting that the transmitter devices UE_A and receiver UE_B are mobile terminals owned by respective users, such as for example a smart phone or "smartphone", a digital tablet, a computer. laptop, etc. In addition, said terminals UE_A, UE_B each host one or more applications of a type known per se (VoLTE, ViLTE, etc.) and based on the functionalities offered by an IP network 15 for transmission, and in particular addressing , messages according to the IP protocol (“IP” being the acronym of the expression “Internet Protocol” in the English literature).
[0054] Il convient toutefois de noter qu'aucune limitation n'est attachée à la nature desdits dispositifs émetteur UE_A et récepteur UE_B dès lors qu'ils sont configurés pour émettre et recevoir des messages sur le réseau IP 15. Ainsi, rien n'exclut que lesdits dispositifs UE_A, UE_B ne soient pas tous les deux des terminaux et fonctionnent suivant un modèle client / serveur. Rien n'exclut non plus qu'au moins un desdits dispositifs UE_A, UE_B corresponde à un serveur d'extrémité (i.e. un serveur apte à mettre fin à un dialogue résultant de l'échange de messages). It should however be noted that no limitation is attached to the nature of said transmitter UE_A and receiver UE_B devices when they are configured to send and receive messages on the IP network 15. Thus, nothing is excludes said devices UE_A, UE_B not both being terminals and operating according to a client / server model. Nothing excludes either that at least one of said devices UE_A, UE_B corresponds to an end server (i.e. a server capable of terminating a dialogue resulting from the exchange of messages).
[0055] Selon l'invention, les messages pouvant être échangés entre lesdits terminaux UE_A, UE_B correspondent à des requêtes ou des réponses auxdites requêtes, et sont conformes à un protocole de communication donné. Chaque message (requête / réponse) comporte un en-tête destiné à contenir des informations de natures diverses réparties, de manière connue en soi, dans des champs dudit en-tête. According to the invention, the messages that can be exchanged between said terminals UE_A, UE_B correspond to requests or responses to said requests, and comply with a given communication protocol. Each message (request / response) comprises a header intended to contain information of various kinds distributed, in a manner known per se, in fields of said header.
[0056] Dans le présent mode de réalisation, ledit réseau IP 15 implémente une architecture IMS mettant en œuvre un protocole d'initiation de session correspondant au protocole SIP auquel sont ajoutées de nouvelles fonctionnalités par l'invention, comme cela est décrit plus en détails ultérieurement. Une telle architecture IMS est connue de l'homme du métier et décrite par exemple dans les documents 3GPP TS 23.228 et TS 24.229. En outre, les champs susceptibles d'être inclus dans l'en-tête d'un message correspondent par exemple aux champs Via, User Agent, From, To, Call-ID, CSeq, Content-Length, etc. In the present embodiment, said IP network 15 implements an IMS architecture implementing a session initiation protocol corresponding to the SIP protocol to which new functionalities are added by the invention, as described in more detail. later. Such an IMS architecture is known to those skilled in the art and described for example in documents 3GPP TS 23.228 and TS 24.229. In addition, the fields that may be included in the header of a message correspond, for example, to the Via, User Agent, From, To, Call-ID, CSeq, Content-Length, etc. fields.
[0057] Il est à noter que le fait de considérer une architecture IMS ne constitue qu'une variante d'implémentation de l'invention, et d'autres architectures peuvent être envisagées, comme par exemple une architecture propriétaire, etc. L'invention ne se limite pas plus à la mise en œuvre d'un protocole s'appuyant sur le protocole SIP, d'autres protocoles pouvant également être envisagés comme par exemple le protocole DIAMETER ou bien le protocole HTTP. It should be noted that the fact of considering an IMS architecture only constitutes an implementation variant of the invention, and other architectures can be envisaged, such as for example a proprietary architecture, and so on. The invention is not limited either to the implementation of a protocol based on the SIP protocol, other protocols can also be envisaged such as for example the DIAMETER protocol or else the HTTP protocol.
[0058] En outre, bien qu'il soit considéré ici que les terminaux UE_A et UE_B appartiennent à un seul et même réseau IP 15, rien n'exclut d'envisager que les terminaux UE_A, UE_B appartiennent à des réseaux IP respectifs distincts, raccordés entre eux de manière connue en soi, dès lors que l'ensemble des éléments formant ces réseaux IP implémentent une architecture apte à l'acheminement de messages entre lesdits terminaux UE_A, UE_B. In addition, although it is considered here that the terminals UE_A and UE_B belong to one and the same IP network 15, nothing excludes considering that the terminals UE_A, UE_B belong to separate respective IP networks, connected together in a manner known per se, since all of the elements forming these IP networks implement an architecture suitable for routing messages between said terminals UE_A, UE_B.
[0059] Selon l'invention, ledit réseau IP 15 comprend également des équipements réseau, dits « nœuds » N_i (i étant un indice entier supérieur à 1), agencés entre le premier terminal UE_A et le deuxième terminal UE_B. Ces nœuds N_i contribuent donc à former ledit réseau IP 15 s'appuyant sur l'architecture IMS. Ces nœuds N_i correspondent par exemple à des serveurs de type Proxy (P-CSCF, I-CSCF, S-CSCF), des équipements de type B2BUA (serveurs d'application AS par exemple), des équipements de frontière IBCF (Interconnection Border Control Function) ou TRF (Transit and Roaming Function), etc. Pour plus de détails concernant les différents nœuds pouvant appartenir à une architecture IMS, l'homme du métier peut consulter les documents 3GPP TS 23.228 et TS 24.229 déjà mentionnés auparavant. According to the invention, said IP network 15 also includes network equipment, called "nodes" N_i (i being an integer greater than 1), arranged between the first terminal UE_A and the second terminal UE_B. These nodes N_i therefore contribute to forming said IP network 15 based on the IMS architecture. These nodes N_i correspond for example to proxy type servers (P-CSCF, I-CSCF, S-CSCF), B2BUA type devices (AS application servers for example), IBCF border devices (Interconnection Border Control Function) or TRF (Transit and Roaming Function), etc. For more details concerning the various nodes which may belong to an IMS architecture, those skilled in the art can consult the 3GPP documents TS 23.228 and TS 24.229 already mentioned previously.
[0060] Dans l'exemple de la figure 1, le réseau IP 5 comporte dix nœuds NI,..., N10 qui séparent le premier terminal UE_A du deuxième terminal UE_B. Plus particulièrement, ces nœuds NI,..., N 10 correspondent respectivement à : In the example of FIG. 1, the IP network 5 comprises ten nodes NI, ..., N10 which separate the first terminal UE_A from the second terminal UE_B. More particularly, these nodes NI, ..., N 10 correspond respectively to:
- huit serveurs proxy P-CSCF_1 (N_l), P-CSCF_2 (N_2), P-CSCF_3 (N_3), S-CSCF_1 (N_4), S- CSCF_2 (N_5), S-CSCF_3 (N_6), I-CSCF_1 (N_7), I-CSCF_2 (N_8) ; - eight proxy servers P-CSCF_1 (N_l), P-CSCF_2 (N_2), P-CSCF_3 (N_3), S-CSCF_1 (N_4), S- CSCF_2 (N_5), S-CSCF_3 (N_6), I-CSCF_1 ( N_7), I-CSCF_2 (N_8);
- deux serveurs d'application AS_1 (N_9), AS_2 (N_10). [0061] Il importe toutefois de noter que l'exemple de la figure 1 est donné à titre purement illustratif, et qu'aucune limitation n'est attachée au nombre total de nœuds du réseau IP 15 pouvant être agencés entre le premier terminal UE_A et le deuxième terminal UE_B. Ainsi, rien n'exclut d'avoir moins ou plus de dix nœuds, étant entendu qu'il est bien sûr possible d'avoir moins ou plus de huit serveurs proxy et / ou moins ou plus de deux serveurs d'application et /ou des nœuds d'autres types (IBCF, TRF, etc.). - two application servers AS_1 (N_9), AS_2 (N_10). However, it should be noted that the example of FIG. 1 is given for purely illustrative purposes, and that no limitation is attached to the total number of nodes of the IP network 15 which can be arranged between the first terminal UE_A and the second UE_B terminal. Thus, nothing excludes having less or more than ten nodes, it being understood that it is of course possible to have less or more than eight proxy servers and / or less or more than two application servers and / or nodes of other types (IBCF, TRF, etc.).
[0062] Dans le mode réalisation décrit ici, conformément à l'invention, lesdits nœuds N_i sont respectivement configurés pour acheminer, du premier terminal UE_A vers le deuxième terminal UE_B et vice versa, des requêtes SIP et des réponses SIP auxdites requêtes SIP, en mettant en œuvre un procédé d'acheminement de messages détaillé ultérieurement. In the embodiment described here, in accordance with the invention, said nodes N_i are respectively configured to route, from the first terminal UE_A to the second terminal UE_B and vice versa, SIP requests and SIP responses to said SIP requests, in implementing a method of routing messages detailed later.
[0063] La figure 2 représente schématiquement un exemple d'architecture matérielle d'un nœud N_i selon l'invention configuré pour mettre en œuvre ledit procédé d'acheminement. FIG. 2 schematically represents an example of the hardware architecture of a node N_i according to the invention configured to implement said routing method.
[0064] Tel qu'illustré par la figure 2, un nœud N_i selon l'invention dispose de l'architecture matérielle d'un ordinateur. Ainsi, un tel nœud N_i comporte, notamment, un processeur 1, une mémoire vive 2, une mémoire morte 3 et une mémoire non volatile 4. Il dispose en outre d'un module de communication 5. As illustrated by FIG. 2, a node N_i according to the invention has the hardware architecture of a computer. Thus, such a node N_i comprises, in particular, a processor 1, a random access memory 2, a read only memory 3 and a non-volatile memory 4. It also has a communication module 5.
[0065] Le module de communication 5 permet notamment au nœud N_i de communiquer avec d'autres entités du réseau IP 15, dont notamment les autres nœuds ainsi que les terminaux UE_A, UE_B. Ce module de communication 5 comprend à cet effet une pile de protocoles incluant notamment, conformément au présent mode de réalisation, le protocole d'initiation de session SIP ainsi qu'un ou plusieurs protocoles définissant un mode de transport donné pour les messages, comme par exemple UDP, TCP, SCTP, etc. The communication module 5 allows in particular the node N_i to communicate with other entities of the IP network 15, including in particular the other nodes as well as the terminals UE_A, UE_B. This communication module 5 comprises for this purpose a stack of protocols including in particular, in accordance with this embodiment, the SIP session initiation protocol as well as one or more protocols defining a given mode of transport for the messages, as by example UDP, TCP, SCTP, etc.
[0066] La mémoire morte 3 du nœud N_i constitue un support d'enregistrement conforme à l'invention, lisible par le processeur 1 et sur lequel est enregistré un programme d'ordinateur PROG conforme à l'invention, comportant des instructions pour l'exécution d'étapes du procédé d'acheminement selon l'invention. Le programme PROG définit des modules fonctionnels du nœud N_i, qui s'appuient ou commandent les éléments matériels 2 à 5 du nœud N_i cités précédemment, et qui comprennent notamment : The read only memory 3 of the node N_i constitutes a recording medium according to the invention, readable by the processor 1 and on which is recorded a computer program PROG according to the invention, comprising instructions for the execution of steps of the routing method according to the invention. The PROG program defines functional modules of the node N_i, which are based on or control the hardware elements 2 to 5 of the node N_i mentioned above, and which include in particular:
- un premier module d'acheminement Ml J, configuré pour acheminer au travers dudit nœud N_i et à destination du deuxième terminal UE_Bune requête SIP émise par le premier terminal UE_A ladite requête SIP étant destinée à être acheminée au travers d'une pluralité de nœuds traversés consécutivement formant une séquence SEQ, et a first routing module M1 J, configured to route through said node N_i and to the second terminal UE_B, a SIP request sent by the first terminal UE_A, said SIP request being intended to be routed through a plurality of crossed nodes consecutively forming a sequence SEQ, and
- un deuxième module d'acheminement M2J, configuré pour acheminer au travers dudit nœud N_i et à destination du premier terminal UE_A une réponse SIP à ladite requête SIP, ladite réponse SIP étant destinée à être acheminée au travers des nœuds de ladite séquence SEQ suivant une séquence SEQ_INV inverse par rapport à ladite séquence SEQ. [0067] Ledit premier / deuxième module d'acheminement Ml J, M2J est en outre configuré pour ajouter, lors de la traversée dudit nœud N_i par ladite requête SIP / ladite réponse SIP, un champ, dit « champ d'identification » Middle-Agent, dans l'en-tête de ladite requête SIP / ladite réponse SIP, ledit champ d'identification Middle-Agent comprenant au moins une information représentative d'une configuration dudit nœud N_i traversé, et dite « information de configuration », et fournissant une indication représentative de l'ordre dudit nœud N_i au sein de ladite séquence SEQ / séquence inverse SEQ_INV, et dite « indication d'ordre ». a second routing module M2J, configured to route through said node N_i and to the first terminal UE_A an SIP response to said SIP request, said SIP response being intended to be routed through the nodes of said sequence SEQ following a sequence SEQ_INV inverse with respect to said sequence SEQ. Said first / second routing module M1 J, M2J is further configured to add, when crossing said node N_i by said SIP request / said SIP response, a field, called "identification field" Middle- Agent, in the header of said SIP request / said SIP response, said Middle-Agent identification field comprising at least one item of information representative of a configuration of said node N_i traversed, and called “configuration information”, and providing an indication representative of the order of said node N_i within said sequence SEQ / inverse sequence SEQ_INV, and called “order indication”.
[0068] Par « séquence », on fait référence ici à une suite ordonnée de nœuds traversés successivement lors de l'acheminement d'une requête SIP / réponse SIP, l'ordre associé à la séquence étant représentatif du sens dans lequel sont traversés consécutivement les nœuds composant ladite séquence. By "sequence", we refer here to an ordered series of nodes crossed successively during the routing of a SIP request / SIP response, the order associated with the sequence being representative of the direction in which are crossed consecutively the nodes composing said sequence.
[0069] Dans un exemple particulier de réalisation, lesdits premier et deuxième modules d'acheminement M1J, M2J sont incorporés dans un seul et même module d'acheminement, dit « module général ». A cet effet, ledit module général comporte des moyens configurés de manière matérielle et / ou logicielle pour réaliser les fonctions associées à chacun desdits premier et deuxième modules d'acheminement Ml J, M2J. In a particular embodiment, said first and second routing modules M1J, M2J are incorporated in one and the same routing module, called "general module". To this end, said general module comprises means configured in a hardware and / or software manner to perform the functions associated with each of said first and second routing modules M1 J, M2J.
[0070] Ladite au moins une information de configuration fournie dans le champ Middle-Agent est une information à partir de laquelle il est possible d'identifier le nœud N_i traversé parmi les autres nœuds du réseau IP 15 et / ou de déterminer des caractéristiques matérielles et / ou logicielles relatives audit nœud N_i traversé. Said at least one configuration item of information provided in the Middle-Agent field is information from which it is possible to identify the node N_i crossed among the other nodes of the IP network 15 and / or to determine the hardware characteristics and / or software relating to said node N_i crossed.
[0071] Par exemple, ladite au moins une information de configuration appartient au groupe comprenant : For example, said at least one configuration item of information belongs to the group comprising:
- un type représentatif de la configuration matérielle dudit nœud N_i. Par exemple, ce type correspond à P-CSCF, S-CSCF, I-CSCF, AS, IBCF, TRF, etc. ; a type representative of the hardware configuration of said node N_i. For example, this type corresponds to P-CSCF, S-CSCF, I-CSCF, AS, IBCF, TRF, etc. ;
- une version logicielle dudit nœud N_i ; - a software version of said node N_i;
- un identifiant dudit nœud N_i, comme par exemple une adresse IP ; an identifier of said node N_i, such as for example an IP address;
- un nom de domaine auquel appartient ledit nœud N_i. a domain name to which said node N_i belongs.
[0072] Ainsi, par exemple, le champ d'identification Middle-Agent peut comprendre quatre informations de configuration correspondant respectivement à un type, une version logicielle, un identifiant, un nom de domaine. Comme cela est détaillé ci-après lors de la description du procédé d'acheminement selon l'invention, le fait de considérer ces quatre informations de configuration dans le champ d'identification Middle-Agent permet d'identifier de manière très efficace (i.e. rapidement et sans risque d'erreur), à partir de l'en-tête d'un message, l'ensemble des nœuds N_i traversés par ce message, en particulier lorsque la topologie du chemin suivi par ledit message est complexe (nombreux nœuds traversés, plusieurs nœuds du même type, traversée d'un ou plusieurs équipements B2BUA, etc.). [0073] Il convient de noter que le choix du nombre d'informations de configuration et de la nature desdits informations de configuration comprises dans ledit champ Middle-Agent ne constitue qu'une variante d'implémentation de l'invention. Cela étant, on comprend néanmoins que ce nombre d'informations de configuration et la nature des informations de configuration choisies dépendent notamment du nombre de nœuds du réseau IP 15 partageant une information de configuration de même nature (type, version logicielle, etc.), étant donné que la ou les informations de configuration contenues dans le champ Middle-Agent permettent de discriminer le nœud N_i parmi les autres nœuds du réseau IP 15. A titre illustratif, si on considère qu'une convention de nommage est définie pour les versions logicielles respectivement associées à plusieurs nœuds du réseau IP 15, et qu'au moins deux de ces nœuds disposent de versions logicielles respectives identiques en termes de nom, on comprend dès lors que le champ Middle-Agent desdits au moins deux nœuds doit comporter une information de configuration autre qu'une version logicielle afin de permettre de discriminer ces derniers entre eux. Thus, for example, the Middle-Agent identification field can comprise four configuration information items corresponding respectively to a type, a software version, an identifier, a domain name. As detailed below during the description of the routing method according to the invention, the fact of considering these four configuration information in the Middle-Agent identification field makes it possible to identify very efficiently (ie quickly and without risk of error), from the header of a message, all the nodes N_i crossed by this message, in particular when the topology of the path followed by said message is complex (many nodes crossed, several nodes of the same type, crossing one or more B2BUA devices, etc.). It should be noted that the choice of the number of configuration information items and the nature of said configuration information included in said Middle-Agent field only constitutes an implementation variant of the invention. This being the case, it is nevertheless understood that this number of configuration information items and the nature of the configuration information chosen depend in particular on the number of nodes of the IP network 15 sharing configuration information of the same nature (type, software version, etc.), given that the configuration information (s) contained in the Middle-Agent field make it possible to discriminate the node N_i among the other nodes of the IP 15 network. By way of illustration, if we consider that a naming convention is defined for the software versions respectively associated with several nodes of the IP network 15, and at least two of these nodes have respective software versions which are identical in terms of name, it is therefore understood that the Middle-Agent field of said at least two nodes must include information of configuration other than a software version in order to discriminate between them.
[0074] En outre, rien n'exclut de considérer que le groupe auquel appartient ladite au moins une information de configuration contient, en remplacement ou bien en complément, un ou plusieurs éléments autres qu'un type, une version logicielle, un identifiant et un nom de domaine. Par exemple un indicateur de taux de charge, un identifiant de machine virtuelle, etc. In addition, nothing excludes considering that the group to which the said at least one configuration information belongs contains, in replacement or in addition, one or more elements other than a type, a software version, an identifier and a domain name. For example a load rate indicator, a virtual machine identifier, etc.
[0075] Ladite indication d'ordre fournie dans le champ Middle-Agent est quant à elle une information à partir de laquelle il est possible de déterminer l'ordre dans lequel des nœuds identifiés dans un en-tête d'une requête SIP / réponse SIP, au moyen de ladite au moins une information de configuration, sont traversés au cours de l'acheminement de ladite requête SIP / réponse SIP. Said order indication provided in the Middle-Agent field is for its part information from which it is possible to determine the order in which of the nodes identified in a header of a SIP request / response. SIP, by means of said at least one configuration information, are traversed during the routing of said SIP request / SIP response.
[0076] Par exemple, ladite indication d'ordre est une indication additionnelle par rapport à ladite au moins une information de configuration. Par « additionnelle », on fait référence ici au fait que le champ Middle-Agent comporte un sous-champ pour chaque information de configuration mais également un sous-champ incluant explicitement ladite indication d'ordre. Un tel exemple de réalisation permet avantageusement de déterminer l'ordre dans lequel des nœuds sont traversés quand bien même les champs Middle-Agent respectivement associés à ces nœuds formeraient une liste non triée suivant ledit ordre. For example, said order indication is an additional indication with respect to said at least one configuration item of information. By “additional”, reference is made here to the fact that the Middle-Agent field comprises a sub-field for each configuration information item but also a sub-field explicitly including said order indication. Such an exemplary embodiment advantageously makes it possible to determine the order in which the nodes are crossed even if the Middle-Agent fields respectively associated with these nodes would form an unsorted list according to said order.
[0077] A titre illustratif, ladite indication d'ordre peut correspondre à un compteur incrémenté lors de la traversée du nœud N_i ou à un horodatage (en supposant que les nœuds sont synchronisés entre eux, ce qui est généralement le cas). De manière générale, aucune limitation n'est attachée à la nature de ladite indication d'ordre du nœud N_i. By way of illustration, said order indication may correspond to a counter incremented when crossing the node N_i or to a time stamp (assuming that the nodes are synchronized with each other, which is generally the case). In general, no limitation is attached to the nature of said indication of the order of the node N_i.
[0078] Selon un autre exemple, ledit premier / deuxième module d'acheminement Ml J, M2J est également configuré de sorte que les champs d'identification Middle_Agent respectivement associés à deux nœuds traversés consécutivement lors de l'acheminement de ladite requête SIP / ladite réponse SIP sont consécutifs au sein dudit en-tête. Dit encore autrement, pour des nœuds traversés consécutivement lors de l'acheminement de ladite requête SIP / ladite réponse SIP, lesdits champs Middle-Agent sont empilés les uns après les autres dans l'en-tête dans un ordre représentatif du sens dans lequel sont traversés consécutivement lesdits nœuds. According to another example, said first / second routing module M1 J, M2J is also configured so that the Middle_Agent identification fields respectively associated with two nodes crossed consecutively during the routing of said SIP request / said SIP response are consecutive within said header. In other words, for nodes crossed consecutively during the routing of said SIP request / said SIP response, said Middle-Agent fields are stacked one after the other in the header in an order representative of the direction in which they are consecutively crossed said nodes.
[0079] Pour la suite de la description, le terme « empilement » fait référence au fait qu'un champ Middle-Agent d'un nœud venant d'être traversé est ajouté à la fin des champs Middle-Agent respectivement associés à des nœuds précédemment traversés. Bien entendu, rien n'exclut d'envisager un ordre d'empilement inverse, c'est-à-dire avec ajout en début d'empilement. For the remainder of the description, the term “stacking” refers to the fact that a Middle-Agent field of a node that has just been crossed is added at the end of the Middle-Agent fields respectively associated with nodes. previously crossed. Of course, nothing excludes considering a reverse stacking order, that is to say with addition at the start of stacking.
[0080] Il est à noter que selon cet autre exemple, ladite indication d'ordre résulte implicitement du fait que les champs Middle-Agent sont empilés de manière consécutive pour des nœuds traversés consécutivement. It should be noted that according to this other example, said order indication implicitly results from the fact that the Middle-Agent fields are stacked consecutively for nodes crossed consecutively.
[0081] Les terminaux UE_A, UE_B disposent également chacun de l'architecture matérielle d'un ordinateur (non représentées sur les figures), et comportent à cet effet d'un ensemble de moyens configurés de manière matérielle et / ou logicielle pour émettre et recevoir des requêtes SIP / réponses SIP. Ces aspects sont bien connus de l'homme du métier et ne sont par conséquent pas détaillés plus avant ici. The terminals UE_A, UE_B also each have the hardware architecture of a computer (not shown in the figures), and for this purpose include a set of means configured in a hardware and / or software manner for transmitting and receive SIP requests / SIP responses. These aspects are well known to those skilled in the art and are therefore not detailed further here.
[0082] La figure 3 représente, sous forme d'ordinogramme, un mode particulier de mise en œuvre du procédé d'acheminement selon l'invention tel qu'il est mis en œuvre par le système 10 de communication de la figure 1. FIG. 3 represents, in the form of a flowchart, a particular mode of implementation of the routing method according to the invention as implemented by the communication system 10 of FIG. 1.
[0083] Tel qu'illustré par la figure 3, le procédé d'acheminement comporte tout d'abord une étape E10 d'émission, par le premier terminal UE_A, d'une requête SIP (notée REQ dans les figures). As illustrated by FIG. 3, the routing method firstly comprises a step E10 for sending, by the first terminal UE_A, a SIP request (denoted REQ in the figures).
[0084] L'émission de cette requête SIP correspond par exemple à une requête visant à initier un dialogue (une transaction) entre le premier terminal UE_A et le deuxième terminal UE_B. A titre d'exemple nullement limitatif, ladite requête SIP est une requête INVITE. The sending of this SIP request corresponds for example to a request aiming to initiate a dialogue (a transaction) between the first terminal UE_A and the second terminal UE_B. By way of non-limiting example, said SIP request is an INVITE request.
[0085] Bien entendu, le choix d'une requête SIP particulière ne constitue qu'une variante d'implémentation de l'invention, aucune limitation n'étant attachée à la requête SIP pouvant être considérée ici. Of course, the choice of a particular SIP request only constitutes a variant of the implementation of the invention, no limitation being attached to the SIP request being able to be considered here.
[0086] A la suite de l'émission de ladite requête SIP, le procédé d'acheminement comporte une étape E20 d'acheminement, au travers d'une pluralité de nœuds N_i et à destination du deuxième terminal UE_B, de ladite requête INVITE émise par le premier terminal UE_A. Cette étape E20 d'acheminement est mise en œuvre par les modules M1J équipant chacun des nœuds N_i ainsi traversés au cours de ladite étape E20. Following the sending of said SIP request, the routing method comprises a step E20 for routing, through a plurality of nodes N_i and to the second terminal UE_B, of said sent INVITE request by the first UE_A terminal. This routing step E20 is implemented by the modules M1J equipping each of the nodes N_i thus crossed during said step E20.
[0087] Il est à noter que l'étape E20 d'acheminement, au sens de la présente invention, n'aboutit pas nécessairement à une transmission effective de la requête SIP au deuxième terminal UE_B. En effet, rien n'exclut d'envisager un échec d'acheminement ou une redirection de la requête SIP, de sorte que l'acheminement de cette dernière à destination du deuxième terminal UE_B soit stoppé au niveau d'un nœud noté N_STOP, comme cela est décrit plus en détail ultérieurement dans un exemple particulier de mise en œuvre. It should be noted that the routing step E20, within the meaning of the present invention, does not necessarily result in an effective transmission of the SIP request to the second terminal UE_B. Indeed, nothing excludes considering a routing failure or a redirection of the SIP request, so that the routing of the latter to the second terminal UE_B is stopped at a node noted N_STOP, as this is described in more detail later in a particular example of implementation.
[0088] Ladite pluralité de nœuds correspond donc à des nœuds traversés successivement de sorte à former la séquence SEQ d'acheminement de la requête SIP vers le deuxième terminal UE_B. Said plurality of nodes therefore corresponds to nodes crossed successively so as to form the sequence SEQ for routing the SIP request to the second terminal UE_B.
[0089] Il importe de noter qu'aucune limitation n'est attachée au nombre de nœuds composant ladite séquence SEQ, ce nombre dépendant de manière connue en soi d'un schéma de routage permettant d'acheminer une requête SIP entre le premier terminal UE_A et le deuxième terminal UE_B. Par exemple, la séquence SEQ comporte l'ensemble des nœuds N_1 à N_10, chacun desdits nœuds étant traversés une seule fois, dès lors qu'une telle séquence SEQ permet acheminer la requête SIP vers le deuxième terminal UE_B (le cardinal de la séquence SEQ est donc égal à 10). It should be noted that no limitation is attached to the number of nodes composing said sequence SEQ, this number depending in a manner known per se on a routing scheme making it possible to route a SIP request between the first terminal UE_A and the second terminal UE_B. For example, the sequence SEQ comprises all of the nodes N_1 to N_10, each of said nodes being crossed only once, since such a sequence SEQ makes it possible to route the SIP request to the second terminal UE_B (the cardinal of the sequence SEQ is therefore equal to 10).
[0090] Au demeurant, il faut aussi comprendre qu'une même requête SIP, émise en deux instants distincts, n'est pas nécessairement acheminée vers le deuxième terminal UE_B suivant une même séquence SEQ. En effet, les nœuds susceptibles d'être traversés au moment où une requête est émise dépendent notamment de l'état du réseau IP, à savoir notamment les disponibilités respectives des nœuds N_i. Moreover, it should also be understood that the same SIP request, sent in two distinct instants, is not necessarily routed to the second terminal UE_B according to the same sequence SEQ. Indeed, the nodes likely to be crossed at the time when a request is sent depend in particular on the state of the IP network, namely in particular the respective availabilities of the nodes N_i.
[0091] Le procédé d'acheminement comporte également une étape E30 d'acheminement, au travers des nœuds N_i de ladite séquence SEQ et à destination du premier terminal UE_A, d'une réponse SIP (notée REP dans les figures) à ladite requête SIP. Cette étape E30 d'acheminement est mise en œuvre par les modules M2J équipant chacun des nœuds ainsi traversés au cours de ladite étape E30. The routing method also includes a routing step E30, through the nodes N_i of said sequence SEQ and to the first terminal UE_A, of a SIP response (denoted REP in the figures) to said SIP request . This routing step E30 is implemented by the M2J modules equipping each of the nodes thus crossed during said step E30.
[0092] Là encore, il convient de noter que l'étape E30 d'acheminement, au sens de la présente invention, n'aboutit pas nécessairement à une transmission effective de la réponse SIP au premier terminal UE_A. En effet, rien n'exclut d'envisager un échec d'acheminement de la réponse SIP. Here again, it should be noted that the routing step E30, within the meaning of the present invention, does not necessarily result in an effective transmission of the SIP response to the first terminal UE_A. Indeed, nothing excludes considering a routing failure of the SIP response.
[0093] Dans la mesure où la réponse SIP est à destination du premier terminal UE_A, les nœuds N_i considérés lors de ladite étape E30 sont traversés dans l'ordre inverse de ladite séquence SEQ. Autrement dit, les nœuds N_i considérés lors de ladite étape E30 sont identiques aux nœuds considérés lors de l'étape E20 et forment la séquence SEQ_INV inverse de la séquence SEQ. Par ailleurs, outre le fait que les nœuds considérés dans les étapes E20 et E30 soient identiques, il convient de noter qu'un nœud N_i, pour i fixé, considéré au cours desdites étape E20 et E30 est parcouru un nombre de fois identique dans chacune desdites étapes E20 et E30. [0094] Tel qu'indiqué ci-avant, les étapes E20 et E30 d'acheminement sont mises en œuvre par les nœuds N_i configurés selon l'invention, plus particulièrement par leurs modules M1J, M2J respectifs. En conséquence, la requête SIP / réponse SIP comporte un en-tête tel que décrit précédemment, à savoir comportant autant de champs Middle-Agent que de nœuds N_i traversés. Insofar as the SIP response is intended for the first terminal UE_A, the nodes N_i considered during said step E30 are crossed in the reverse order of said sequence SEQ. In other words, the nodes N_i considered during said step E30 are identical to the nodes considered during step E20 and form the sequence SEQ_INV which is the reverse of the sequence SEQ. Moreover, besides the fact that the nodes considered in steps E20 and E30 are identical, it should be noted that a node N_i, for i fixed, considered during said steps E20 and E30 is traversed an identical number of times in each of said steps E20 and E30. As indicated above, the routing steps E20 and E30 are implemented by the nodes N_i configured according to the invention, more particularly by their respective modules M1J, M2J. Consequently, the SIP request / SIP response comprises a header as described above, namely comprising as many Middle-Agent fields as there are nodes N_i crossed.
[0095] Pour la suite de la description, on considère de manière nullement limitative, et suivant un exemple de réalisation décrit ci-avant, que les champs Middle-Agent de la requête SIP / réponse SIP sont empilés les uns après les autres dans ledit en-tête de sorte que les champs d'identification Middle_Agent respectivement associés à deux nœuds traversés consécutivement lors de l'acheminement de ladite requête SIP / ladite réponse SIP sont consécutifs au sein dudit en-tête. Eu égard à l'ordre dans lequel sont traversés les nœuds N_i lors desdites étapes E20 et E30, on comprend que l'ordre d'empilement des champs Middle- Agent contenus dans l'en-tête de la réponse SIP est inverse de celui des champs Middle-Agent contenus dans l'en-tête de la requête SIP. For the remainder of the description, it is considered in no way limiting, and according to an exemplary embodiment described above, that the Middle-Agent fields of the SIP request / SIP response are stacked one after the other in said header so that the Middle_Agent identification fields respectively associated with two nodes crossed consecutively during the routing of said SIP request / said SIP response are consecutive within said header. Having regard to the order in which the nodes N_i are crossed during said steps E20 and E30, it will be understood that the order of stacking of the Middle-Agent fields contained in the header of the SIP response is the reverse of that of the Middle-Agent fields contained in the header of the SIP request.
[0096] On décrit désormais deux exemples de mise en œuvre du procédé d'acheminement. Communément à ces deux exemples, il est considéré que la requête SIP émise par le premier terminal UE_A est une requête INVITE (REQ = INVITE), c'est-à-dire une requête visant, de manière connue en soi, à initier une session entre le premier terminal UE_A et le deuxième terminal UE_B. Il est de plus considéré que les informations de configuration contenues dans un champ Middle-Agent sont au nombre de quatre et correspondent respectivement à un type, une version logicielle, un identifiant, un nom de domaine (l'indication d'ordre est ici implicite eu égard à l'ordre d'empilement considéré pour les champs Middle-Agent, comme déjà mentionné auparavant). Two examples of implementation of the routing method are now described. Common to these two examples, it is considered that the SIP request sent by the first UE_A terminal is an INVITE request (REQ = INVITE), that is to say a request aiming, in a manner known per se, to initiate a session. between the first terminal UE_A and the second terminal UE_B. It is also considered that the configuration information contained in a Middle-Agent field are four in number and correspond respectively to a type, a software version, an identifier, a domain name (the order indication is here implicit with regard to the stacking order considered for the Middle-Agent fields, as already mentioned before).
[0097] La figure 4 représente schématiquement un premier exemple de mise en œuvre du procédé d'acheminement de la figure 3. Plus particulièrement, dans l'exemple de la figure 4, la requête INVITE est émise par le premier terminal UE_A à destination du deuxième terminal UE_B, acheminée avec succès, ledit deuxième terminal UE_B émettant alors une réponse 200 OK (REP = 200 OK) à destination du premier terminal UE_A. FIG. 4 schematically represents a first example of implementation of the routing method of FIG. 3. More particularly, in the example of FIG. 4, the INVITE request is sent by the first terminal UE_A to the second terminal UE_B, routed successfully, said second terminal UE_B then sending a 200 OK response (REP = 200 OK) to the first terminal UE_A.
[0098] Tel qu'illustré par la figure 4, la requête INVITE est émise par le terminal UE_A et traverse successivement, dans cet ordre et au cours de l'étape E20, les nœuds : N_l, N_4, N_9, N_4, N_8, N_5, N_10, N_5, N_2, avant d'atteindre le deuxième terminal UE_B. Autrement dit, la séquence SEQ s'écrit ici : N_1 -> N_4 -> N_9 -> N_4 -> N_8 -> N_5 -> N_10 -> N_5 -> N_2, de sorte que sept nœuds différents sont traversés au cours de l'étape E20. As illustrated by FIG. 4, the INVITE request is sent by the terminal UE_A and passes successively, in this order and during step E20, through the nodes: N_l, N_4, N_9, N_4, N_8, N_5, N_10, N_5, N_2, before reaching the second terminal UE_B. In other words, the sequence SEQ is written here: N_1 -> N_4 -> N_9 -> N_4 -> N_8 -> N_5 -> N_10 -> N_5 -> N_2, so that seven different nodes are crossed during the step E20.
[0099] La requête INVITE, lorsqu'elle est réceptionnée par le deuxième terminal UE_B comporte alors un en-tête comprenant, à la suite les uns des autres, les champs Middle-Agent suivants : Middle-Agent: type=P-CSCF ; version=3.07; ip= 172.20.3.56; domain= ims.mnc001.mcc208.3gppnetwork.org The INVITE request, when it is received by the second UE_B terminal then comprises a header comprising, one after the other, the following Middle-Agent fields: Middle-Agent: type = P-CSCF; version = 3.07; ip = 172.20.3.56; domain = ims.mnc001.mcc208.3gppnetwork.org
Middle-Agent: type=S-CSCF ; version=3.5; ip=10.10.1.5; domain= ims.mnc001.mcc208.3gppnetwork.org Middle-Agent: type = S-CSCF; version = 3.5; ip = 10.10.1.5; domain = ims.mnc001.mcc208.3gppnetwork.org
Middle-Agent: type=AS ; version=2.1 beta; ip=10.10.1.2; domain= ims.mnc001.mcc208.3gppnetwork.org Middle-Agent: type = AS; version = 2.1 beta; ip = 10.10.1.2; domain = ims.mnc001.mcc208.3gppnetwork.org
Middle-Agent: type=S-CSCF ; version=3.5; ip=10.10.1.5; domain= ims.mnc001.mcc208.3gppnetwork.org Middle-Agent: type = S-CSCF; version = 3.5; ip = 10.10.1.5; domain = ims.mnc001.mcc208.3gppnetwork.org
Middle-Agent: type=I-CSCF ; version=3.02; ip=10.10.1.1; domain= ims.mnc001.mcc208.3gppnetwork.org Middle-Agent: type = I-CSCF; version = 3.02; ip = 10.10.1.1; domain = ims.mnc001.mcc208.3gppnetwork.org
Middle-Agent: type=S-CSCF ; version=3.5; ip=10.10.1.4; domain= ims.mnc001.mcc208.3gppnetwork.org Middle-Agent: type = S-CSCF; version = 3.5; ip = 10.10.1.4; domain = ims.mnc001.mcc208.3gppnetwork.org
Middle-Agent: type=AS ; version=2.2; ip=10.10.1.3; domain= ims.mnc001.mcc208.3gppnetwork.org Middle-Agent: type = AS; version = 2.2; ip = 10.10.1.3; domain = ims.mnc001.mcc208.3gppnetwork.org
Middle-Agent: type=S-CSCF ; version=3.5; ip=10.10.1.4; domain= ims.mnc001.mcc208.3gppnetwork.org Middle-Agent: type = S-CSCF; version = 3.5; ip = 10.10.1.4; domain = ims.mnc001.mcc208.3gppnetwork.org
Middle-Agent: type=P-CSCF ; version=3.1; ip= 172.20.3.44; domain= ims.mnc001.mcc208.3gppnetwork.org Middle-Agent: type = P-CSCF; version = 3.1; ip = 172.20.3.44; domain = ims.mnc001.mcc208.3gppnetwork.org
[0100] Dans ces champs Middle-Agent, les informations de configuration « version », « ip » et « domain » correspondent respectivement à un numéro de version logicielle, une adresse IP et un nom de domaine. In these Middle-Agent fields, the “version”, “ip” and “domain” configuration information correspond respectively to a software version number, an IP address and a domain name.
[0101] Ainsi, si une telle requête INVITE est lue, via une interface adaptée du deuxième terminal UE_B, comme par exemple un écran d'affichage, il est immédiatement possible de déterminer le chemin suivi par ladite requête INVITE. Une telle conclusion est en outre encore valable si la requête INVITE venait à être interceptée avant sa réception par le deuxième terminal UE_B, par exemple grâce à une sonde réseau de type connu en soi (auquel cas seuls les champs Middle-Agent associés aux nœuds jusqu'alors traversés seraient contenus dans l'en-tête de la requête SIP). Thus, if such an INVITE request is read, via a suitable interface of the second terminal UE_B, such as for example a display screen, it is immediately possible to determine the path followed by said INVITE request. Such a conclusion is also still valid if the INVITE request were to be intercepted before its reception by the second UE_B terminal, for example by means of a network probe of a type known per se (in which case only the Middle-Agent fields associated with the nodes up to 'then traversed would be contained in the header of the SIP request).
[0102] Dans l'exemple de mise en œuvre de la figure 4, le deuxième terminal UE_B, une fois la requête INVITE reçue, émet ladite réponse 200 OK. Cette dernière traverse successivement, dans cet ordre et au cours de l'étape E30, les nœuds : N_2, N_5, N_9, N_5, N_8, N_4, N_10, N_4, N_l. Autrement dit, la séquence SEQ_INV s'écrit ici : N_2 -> N_5 -> N_9 -> N_5 -> N_8 -> N_4 -> N_10 -> N_4 -> N_l. In the exemplary implementation of FIG. 4, the second terminal UE_B, once the INVITE request has been received, sends said 200 OK response. The latter crosses successively, in this order and during step E30, the nodes: N_2, N_5, N_9, N_5, N_8, N_4, N_10, N_4, N_l. In other words, the sequence SEQ_INV is written here: N_2 -> N_5 -> N_9 -> N_5 -> N_8 -> N_4 -> N_10 -> N_4 -> N_l.
[0103] La réponse SIP 200, lorsqu'elle est réceptionnée par le premier terminal UE_A comporte alors un en-tête comprenant, à la suite les uns des autres, les champs Middle-Agent suivants : Middle-Agent: type=P-CSCF ; version=3.1; ip= 172.20.3.44; domain= ims.mnc001.mcc208.3gppnetwork.org Middle-Agent: type=S-CSCF ; version=3.5; ip=10.10.1.4; domain= ims.mnc001.mcc208.3gppnetwork.org The SIP 200 response, when it is received by the first UE_A terminal then comprises a header comprising, one after the other, the following Middle-Agent fields: Middle-Agent: type = P-CSCF ; version = 3.1; ip = 172.20.3.44; domain = ims.mnc001.mcc208.3gppnetwork.org Middle-Agent: type = S-CSCF; version = 3.5; ip = 10.10.1.4; domain = ims.mnc001.mcc208.3gppnetwork.org
Middle-Agent: type=AS ; version=2.2; ip=10.10.1.3; domain= ims.mnc001.mcc208.3gppnetwork.org Middle-Agent: type = AS; version = 2.2; ip = 10.10.1.3; domain = ims.mnc001.mcc208.3gppnetwork.org
Middle-Agent: type=S-CSCF ; version=3.5; ip=10.10.1.4; domain= ims.mnc001.mcc208.3gppnetwork.org Middle-Agent: type = S-CSCF; version = 3.5; ip = 10.10.1.4; domain = ims.mnc001.mcc208.3gppnetwork.org
Middle-Agent: type=I-CSCF ; version=3.02; ip=10.10.1.1; domain= ims.mnc001.mcc208.3gppnetwork.org Middle-Agent: type = I-CSCF; version = 3.02; ip = 10.10.1.1; domain = ims.mnc001.mcc208.3gppnetwork.org
Middle-Agent: type=S-CSCF ; version=3.5; ip=10.10.1.5; domain= ims.mnc001.mcc208.3gppnetwork.org Middle-Agent: type = S-CSCF; version = 3.5; ip = 10.10.1.5; domain = ims.mnc001.mcc208.3gppnetwork.org
Middle-Agent: type=AS ; version=2.1 beta; ip=10.10.1.2; domain= ims.mnc001.mcc208.3gppnetwork.org Middle-Agent: type = AS; version = 2.1 beta; ip = 10.10.1.2; domain = ims.mnc001.mcc208.3gppnetwork.org
Middle-Agent: type=S-CSCF ; version=3.5; ip=10.10.1.5; domain= ims.mnc001.mcc208.3gppnetwork.org Middle-Agent: type = S-CSCF; version = 3.5; ip = 10.10.1.5; domain = ims.mnc001.mcc208.3gppnetwork.org
Middle-Agent: type=P-CSCF ; version=3.07; ip= 172.20.3.56; domain= ims.mnc001.mcc208.3gppnetwork.org Middle-Agent: type = P-CSCF; version = 3.07; ip = 172.20.3.56; domain = ims.mnc001.mcc208.3gppnetwork.org
[0104] Ainsi, là encore, si une telle réponse 200 OK est lue, via une interface adaptée du premier terminal UE_A, comme par exemple un écran d'affichage, il est immédiatement possible de déterminer le chemin suivi par ladite réponse 200 OK. Une telle conclusion est en outre encore valable si la réponse 200 OK venait à être interceptée avant sa réception par le deuxième terminal UE_B, par exemple grâce à une sonde réseau de type connu en soi (auquel cas seuls les champs Middle-Agent associés aux nœuds jusqu'alors traversés seraient contenus dans l'en-tête de la réponse 200 OK). [0104] Thus, here again, if such a 200 OK response is read, via a suitable interface of the first terminal UE_A, such as for example a display screen, it is immediately possible to determine the path followed by said 200 OK response. Such a conclusion is also still valid if the 200 OK response were to be intercepted before its reception by the second UE_B terminal, for example thanks to a network probe of a type known per se (in which case only the Middle-Agent fields associated with the nodes hitherto traversed would be contained in the header of the 200 OK response).
[0105] On comprend donc que l'invention est particulièrement avantageusement en ce qu'elle permet d'identifier l'ensemble des nœuds traversés non seulement par la requête SIP mais aussi, et c'est là le plus important au regard de ce que proposent les solutions de l'art antérieur avec la mise en place du champ Via, par la réponse 200 OK. It is therefore understood that the invention is particularly advantageous in that it makes it possible to identify all the nodes crossed not only by the SIP request but also, and this is the most important in view of what propose the solutions of the prior art with the establishment of the Via field, by the 200 OK response.
[0106] La figure 5 représente schématiquement un deuxième exemple de mise en œuvre du procédé d'acheminement de la figure 3. Plus particulièrement, dans l'exemple de la figure 5, l'acheminement de la requête INVITE émise par le premier terminal UE_A à destination du deuxième terminal UE_B est un échec. Une réponse 500 Server Unavailable est alors émise par un nœud à destination du premier terminal UE_A. FIG. 5 diagrammatically represents a second example of implementation of the routing method of FIG. 3. More particularly, in the example of FIG. 5, the routing of the INVITE request sent by the first terminal UE_A to the second UE_B terminal is a failure. A response 500 Server Unavailable is then sent by a node to the first terminal UE_A.
[0107] Tel qu'illustré par la figure 5, la requête INVITE est émise par le terminal UE_A et traverse successivement, dans cet ordre et au cours de l'étape E20, les nœuds N_1 et N_4, pour finalement atteindre le nœud N_9, l'acheminement de la requête étant stoppé au niveau dudit nœud N_9 (i.e. N_9 = N_STOP). Autrement dit, la séquence SEQ s'écrit ici : N_1 -> N_4 -> N_9. As illustrated by FIG. 5, the INVITE request is sent by the terminal UE_A and successively crosses, in this order and during step E20, the nodes N_1 and N_4, to finally reach the node N_9, the routing of the request being stopped at the level of said node N_9 (ie N_9 = N_STOP). In other words, the sequence SEQ is written here: N_1 -> N_4 -> N_9.
[0108] Dans ce deuxième exemple, le serveur d'application AS_1 (nœud N_9) n'est pas en mesure d'émettre une nouvelle requête INVITE à destination du deuxième terminal UE_B. In this second example, the application server AS_1 (node N_9) is not able to send a new INVITE request to the second terminal UE_B.
[0109] La requête INVITE, lorsqu'elle est réceptionnée par le serveur d'application AS_1 comporte alors un en-tête comprenant, à la suite les uns des autres, les champs Middle-Agent suivants : Middle-Agent: type=P-CSCF ; version=3.1; ip= 172.20.3.44; domain= ims.mnc001.mcc208.3gppnetwork.org The INVITE request, when it is received by the AS_1 application server then includes a header comprising, one after the other, the following Middle-Agent fields: Middle-Agent: type = P- CSCF; version = 3.1; ip = 172.20.3.44; domain = ims.mnc001.mcc208.3gppnetwork.org
Middle-Agent: type=S-CSCF ; version=3.5; ip=10.10.1.4; domain= ims.mnc001.mcc208.3gppnetwork.org Middle-Agent: type = S-CSCF; version = 3.5; ip = 10.10.1.4; domain = ims.mnc001.mcc208.3gppnetwork.org
Middle-Agent: type=AS ; version=2.2; ip=10.10.1.3; domain= ims.mnc001.mcc208.3gppnetwork.org Middle-Agent: type = AS; version = 2.2; ip = 10.10.1.3; domain = ims.mnc001.mcc208.3gppnetwork.org
[0110] Dès lors, ledit serveur d'application AS_1 émet, en réponse à ladite requête INVITE, ladite réponse 500 Server Unavailable. Tel qu'illustré par la figure 5, la réponse 500 traverse successivement, dans cet ordre et au cours de l'étape E30, les nœuds : N_9, N_4, N_l. Autrement dit, la séquence SEQ_INV s'écrit ici : N_9 -> N_4 -> N_l. [0110] From then on, said application server AS_1 sends, in response to said INVITE request, said 500 Server Unavailable response. As illustrated by FIG. 5, the response 500 successively crosses, in this order and during step E30, the nodes: N_9, N_4, N_l. In other words, the sequence SEQ_INV is written here: N_9 -> N_4 -> N_l.
[0111] La réponse 500, lorsqu'elle est réceptionnée par le premier terminal UE_A, comporte dès lors un en-tête qui s'écrit par exemple : The response 500, when it is received by the first terminal UE_A, therefore comprises a header which is written for example:
SIP/2.0 500 Service Unavailable SIP / 2.0 500 Service Unavailable
Via: SIP/2.0/TCP 213.45.6.78:6100;branch=z9hG4bK-524287-l— f9el3c5732becd59;rport;keep;transport=TCP;received=10.10.1.2;rport=6101 From: <sip: 0149145215@ims.mnc001.mcc208.3gppnetwork.org>;tag=e9471567 To: <sip: 0149145216@ims.mnc001.mcc208.3gppnetwork.org>;tag=zIDLflkeEU Call-ID: TdTltDznlGj7GDzk9y2Z6w..@ 10.10.1.2 CSeq: 2 INVITE Via: SIP / 2.0 / TCP 213.45.6.78:6100;branch=z9hG4bK-524287-l— f9el3c5732becd59; rport; keep; transport = TCP; received = 10.10.1.2; rport = 6101 From: <sip: 0149145215@ims.mnc001 .mcc208.3gppnetwork.org>; tag = e9471567 To: <sip: 0149145216@ims.mnc001.mcc208.3gppnetwork.org>; tag = zIDLflkeEU Call-ID: TdTltDznlGj7GDzk9y2Z6w .. @ 10.10.1.2 CSeq: 2 INVITE
Middle-Agent: type=AS ; version=2.1 beta; ip=10.10.1.2; domain= ims.mnc001.mcc208.3gppnetwork.org Middle-Agent: type = AS; version = 2.1 beta; ip = 10.10.1.2; domain = ims.mnc001.mcc208.3gppnetwork.org
Middle-Agent: type=S-CSCF ; version=3.5; ip=10.10.1.5; domain= ims.mnc001.mcc208.3gppnetwork.org Middle-Agent: type = S-CSCF; version = 3.5; ip = 10.10.1.5; domain = ims.mnc001.mcc208.3gppnetwork.org
Middle-Agent: type=P-CSCF ; version=3.1; ip= 172.20.3.44; domain= ims.mnc001.mcc208.3gppnetwork.org Middle-Agent: type = P-CSCF; version = 3.1; ip = 172.20.3.44; domain = ims.mnc001.mcc208.3gppnetwork.org
Content-Length: 0 Content-Length: 0
[0112] Dans cet exemple d'en-tête de la réponse SIP, l'adresse IP « 213.45.6.78 » correspond à l'adresse IP du premier terminal UE_A. In this example of the header of the SIP response, the IP address “213.45.6.78” corresponds to the IP address of the first UE_A terminal.
[0113] On comprend donc bien, à la lecture de ladite réponse 500, que le premier émetteur de cette réponse 500 est le serveur d'application AS_1. En effet, il est possible de l'identifier en raison, d'une part, du fait qu'il est positionné en haut de l'empilement formé par les champs Middle-agent, mais aussi, d'autre part, du fait que son adresse IP est différente de celle du serveur AS_2 si bien que ces dernier ne peuvent être confondus. It is therefore clear, on reading said response 500, that the first sender of this response 500 is the application server AS_1. Indeed, it is possible to identify it by This is due, on the one hand, to the fact that it is positioned at the top of the stack formed by the Middle-agent fields, but also, on the other hand, to the fact that its IP address is different from that of the AS_2 server if although the latter cannot be confused.
[0114] Cet exemple de réponse 500 illustre à nouveau l'avantage procuré par l'invention en termes de traçabilité des nœuds impliqués dans les échanges transitant sur le réseau IP 15. En effet, comme mentionné ci-avant, le serveur AS_1 est immédiatement identifié, ce que ne permet pas la lecture du seul champ Via. En outre, étant donné les informations de configuration associées audit serveur d'application AS_1, il est par exemple possible de circonscrire rapidement le problème étant à l'origine de l'échec de l'acheminement de la requête INVITE. Cela peut être du, par exemple, à la version logicielle dudit serveur d'application AS_1 (il s'agit ici d'une version beta, donc encore en phase de tests, qui peut dès lors représenter une régression par rapport à une version logicielle antérieure). Sinon, cela peut aussi être lié au contenu de la requête INVITE reçue en provenance du serveur proxy S- CSCF_1 (nœud N_4), ce contenu pouvant ne pas être adapté à un traitement par un équipement réseau tel que AS_1. This example of response 500 once again illustrates the advantage provided by the invention in terms of traceability of the nodes involved in the exchanges passing through the IP network 15. Indeed, as mentioned above, the server AS_1 is immediately identified, which cannot be read by the Via field alone. In addition, given the configuration information associated with said application server AS_1, it is for example possible to quickly narrow down the problem causing the failure of the routing of the INVITE request. This may be due, for example, to the software version of said AS_1 application server (this is a beta version, therefore still in the testing phase, which may therefore represent a regression compared to a software version earlier). Otherwise, this may also be linked to the content of the INVITE request received from the proxy server S-CSCF_1 (node N_4), this content possibly not being suitable for processing by network equipment such as AS_1.
[0115] En tout état de cause, ledit procédé d'acheminement fournit avantageusement une aide au diagnostic de l'état du réseau IP 15, et ce, sans qu'il soit nécessaire d'examiner fastidieusement, tronçon par tronçon, l'ensemble des échanges entre les nœuds. Par « tronçon », on fait référence ici au chemin suivi par une requête SIP / réponse SIP entre deux nœuds N J. In any event, said routing method advantageously provides assistance in diagnosing the state of the IP network 15, without it being necessary to tediously examine, section by section, the whole. exchanges between nodes. By “section”, we refer here to the path followed by a SIP request / SIP response between two N J nodes.
[0116] L'exemple de la figure 5 a été décrit en considérant que la réponse émise par le serveur d'application AS_1 est de type 500. Il convient cependant de préciser que toute réponse correspondant à un échec d'acheminement mais également à une redirection est envisageable. Ainsi, dans le présent mode de réalisation, la réponse peut par exemple être de type 3xx, 4xx, 5xx ou 6xx au sens du protocole SIP. The example of FIG. 5 has been described considering that the response sent by the application server AS_1 is of type 500. It should however be specified that any response corresponding to a routing failure but also to a redirection is possible. Thus, in the present embodiment, the response may for example be of type 3xx, 4xx, 5xx or 6xx within the meaning of the SIP protocol.
[0117] Le procédé d'acheminement a été décrit jusqu'à présent en ne considérant aucune restriction concernant le fait que les terminaux UE_A, UE_B (respectivement les nœuds N_i du réseau IP 15) puissent recevoir une requête SIP / réponse SIP. Autrement dit, la description qui précède s'appuie implicitement sur l'hypothèse selon laquelle les terminaux UE_A, UE_B ainsi que les nœuds N_i sont des entités de confiance. Par « entité de confiance », on fait référence ici au fait qu'une telle entité est habilitée à recevoir une requête SIP / réponse SIP, à savoir donc qu'il n'existe aucun risque de sécurité informatique à ce que les informations contenues dans une telle requête SIP / réponse SIP (comme typiquement les champs d'identification Middle-Agent à partir desquels il est possible d'obtenir des renseignements quant à la topologie du réseau IP 15) transitent par lesdits nœuds N_i et soient reçues par les terminaux UE_A, UE_B. [0118] Cela étant, l'invention reste applicable lorsqu'un terminal UE_A, UE_B / un nœud N J n'est pas considéré comme étant une entité de confiance. A cet effet, le ou les champs d'identification compris dans une requête SIP ou une réponse SIP sont par exemple supprimés avant d'atteindre ledit terminal UE_A, UE_B / traverser ledit nœud N_i. Une telle suppression est par exemple mise en œuvre lors de l'acheminement d'un message d'un nœud de confiance vers un nœud qui n'est pas considéré comme étant de confiance. Il importe de noter que procéder de la sorte ne remet pas en cause le fait que l'invention permet d'améliorer, en comparaison avec les solutions de l'art antérieur, la traçabilité des nœuds impliqués dans les échanges transitant sur le réseau IP 15. En effet, il est toujours possible d'examiner des messages en cours d'acheminement avant que le ou les champs d'identification qu'ils contiennent soient supprimés, par exemple en les interceptant lors de leurs parcours entre deux nœuds de confiance. The routing method has been described so far without considering any restriction concerning the fact that the terminals UE_A, UE_B (respectively the nodes N_i of the IP network 15) can receive an SIP request / SIP response. In other words, the above description is implicitly based on the assumption according to which the terminals UE_A, UE_B as well as the nodes N_i are trusted entities. By “trusted entity”, we refer here to the fact that such an entity is authorized to receive a SIP request / SIP response, namely therefore that there is no computer security risk in the information contained in such a SIP request / SIP response (such as typically the Middle-Agent identification fields from which it is possible to obtain information as to the topology of the IP network 15) pass through said nodes N_i and are received by the terminals UE_A , UE_B. [0118] This being the case, the invention remains applicable when a terminal UE_A, UE_B / a node NJ is not considered to be a trusted entity. To this end, the identification field or fields included in a SIP request or a SIP response are for example deleted before reaching said terminal UE_A, UE_B / crossing said node N_i. Such a deletion is for example implemented during the routing of a message from a trusted node to a node which is not considered to be trusted. It should be noted that proceeding in this way does not call into question the fact that the invention makes it possible to improve, in comparison with the solutions of the prior art, the traceability of the nodes involved in the exchanges passing through the IP network 15. In fact, it is always possible to examine messages in transit before the identification field (s) they contain are deleted, for example by intercepting them during their journey between two trusted nodes.
[0119] Par ailleurs, le procédé d'acheminement a été décrit jusqu'à présent en considérant un mode de mise en œuvre dans lequel des champs Middle-Agent sont ajoutés non seulement dans une requête SIP émise par le premier terminal UE_A, mais également dans la réponse SIP à ladite requête SIP. Cela étant, l'invention ne se limite pas à ce mode de mise en œuvre, et reste applicable à un autre mode de mise en œuvre selon lequel l'ajout de champs Middle- Agent n'est envisagé que pour la réponse SIP. Bien entendu, cet autre mode de mise en œuvre hérite des avantages décrits ci-avant en termes de traçabilité d'aide au diagnostic. Furthermore, the routing method has been described so far by considering an implementation mode in which Middle-Agent fields are added not only in a SIP request sent by the first terminal UE_A, but also in the SIP response to said SIP request. This being the case, the invention is not limited to this mode of implementation, and remains applicable to another mode of implementation according to which the addition of Middle-Agent fields is only envisaged for the SIP response. Of course, this other mode of implementation inherits the advantages described above in terms of diagnostic aid traceability.
[0120] Enfin, il faut remarquer que l'invention reste également applicable au cas où l'ajout de champs Middle-Agent n'est envisagé que pour la requête SIP. Cette manière de procéder améliore également la traçabilité et fournit une aide au diagnostic, tout particulièrement dans le cas où au moins un équipement B2BUA est compris dans le réseau IP 15. Finally, it should be noted that the invention also remains applicable in the case where the addition of Middle-Agent fields is only considered for the SIP request. This procedure also improves traceability and provides diagnostic assistance, especially in the case where at least one B2BUA device is included in the IP network 15.
[0121] Par ailleurs, outre le procédé d'acheminement, l'invention concerne également un procédé d'identification des nœuds N_i du réseau IP 15. La figure 6 représente, sous forme d'ordinogramme, les principales étapes dudit procédé d'identification. [0121] Furthermore, in addition to the routing method, the invention also relates to a method for identifying the nodes N_i of the IP network 15. FIG. 6 represents, in the form of a flowchart, the main steps of said identification method. .
[0122] Tel qu'illustré par la figure 6, ledit procédé d'identification comporte dans un premier temps une étape F10 d'obtention d'une requête SIP ou d'une réponse SIP à ladite requête SIP acheminée entre le premier terminal UE_A et le deuxième terminal UE_B étant entendu que ladite requête SIP / réponse SIP comporte des champs Middle-Agent ajoutés selon le procédé d'acheminement de l'invention. [0122] As illustrated by FIG. 6, said identification method firstly comprises a step F10 of obtaining a SIP request or a SIP response to said SIP request routed between the first terminal UE_A and the second UE_B terminal being understood that said SIP request / SIP response includes Middle-Agent fields added according to the routing method of the invention.
[0123] Cette étape F10 d'obtention est par exemple mise en œuvre au moyen d'une sonde réseau de conception connue en soi et permettant d'intercepter ladite requête SIP / réponse SIP. This obtaining step F10 is for example implemented by means of a network probe of design known per se and making it possible to intercept said SIP request / SIP response.
[0124] Alternativement, l'obtention de ladite requête SIP / réponse SIP s'effectue par lecture de cette dernière via une interface adaptée du premier terminal UE_A / deuxième terminal UE_B. [0125] De manière plus générale, aucune limitation n'est attachée à la manière dont une requête SIP / réponse SIP acheminée selon le procédé d'acheminement de l'invention est obtenue, l'homme du métier connaissant et étant en mesure d'utiliser les moyens nécessaires à la mise en œuvre de l'étape F10. [0124] Alternatively, said SIP request / SIP response is obtained by reading the latter via a suitable interface of the first terminal UE_A / second terminal UE_B. [0125] More generally, no limitation is attached to the way in which a SIP request / SIP response routed according to the routing method of the invention is obtained, the person skilled in the art knowing and being able to use the means necessary for the implementation of step F10.
[0126] Enfin, une fois la requête SIP / réponse SIP obtenue, ledit procédé d'identification comporte une étape F20 d'identification des nœuds N_i traversés par ladite requête SIP / ladite réponse SIP à partir des informations de configurations contenues dans les champs d'identification Middle-Agent compris dans ladite requête SIP / ladite réponse SIP, ainsi qu'à partir des indications d'ordres fournies par lesdits champs d'identification. Finally, once the SIP request / SIP response has been obtained, said identification method comprises a step F20 of identifying the nodes N_i crossed by said SIP request / said SIP response from the configuration information contained in the fields d 'Middle-Agent identification included in said SIP request / said SIP response, as well as from the order indications provided by said identification fields.
[0127] Par exemple, lorsque les champs d'identification Middle_Agent respectivement associés à deux nœuds traversés consécutivement lors de l'acheminement de ladite requête SIP / ladite réponse SIP sont consécutifs au sein de l'en-tête, il suffit de lire les informations de configuration des champs d'identification Middle-Agent associés aux nœuds N_i traversés, étant entendu que si cette lecture est effectuée dans l'ordre dans lequel ces champs sont empilés dans l'en-tête de ladite requête SIP / réponse SIP, on accède dès lors à l'ordre dans lequel les nœuds N J ont été traversés. [0127] For example, when the Middle_Agent identification fields respectively associated with two nodes crossed consecutively during the routing of said SIP request / said SIP response are consecutive within the header, it suffices to read the information of configuration of the Middle-Agent identification fields associated with the nodes N_i crossed, it being understood that if this reading is carried out in the order in which these fields are stacked in the header of said SIP request / SIP response, one accesses therefore to the order in which the nodes NJ were crossed.

Claims

Revendications Claims
[Revendication 1] Procédé d'acheminement entre un dispositif émetteur (UE_A) et un dispositif récepteur (UE_B) séparés par des équipements réseau, dits « nœuds » (N_i), d'une réponse (REP) à une requête (REQ) émise (E10) par le dispositif émetteur conformément à un protocole de communication donné et acheminée (E20) au travers d'une pluralité de nœuds à destination du dispositif récepteur, lesdits nœuds étant traversés consécutivement formant une séquence, ledit procédé comportant une étape (E30) d'acheminement, au travers des nœuds de ladite séquence et à destination du dispositif émetteur, de la réponse à ladite requête, lesdits nœuds étant traversés suivant une séquence inverse par rapport à ladite séquence, l'acheminement de ladite réponse comportant, lors de la traversée d'un nœud, l'ajout d'un champ, dit « champ d'identification » (Middle-Agent), dans un en-tête de ladite réponse, ledit champ d'identification comprenant au moins une information représentative d'une configuration dudit nœud traversé et fournissant une indication représentative de l'ordre dudit nœud traversé au sein de ladite séquence inverse. [Claim 1] Method of routing between a sending device (UE_A) and a receiving device (UE_B) separated by network equipment, called “nodes” (N_i), of a response (REP) to a request (REQ) sent (E10) by the sending device in accordance with a given communication protocol and routed (E20) through a plurality of nodes to the receiving device, said nodes being crossed consecutively forming a sequence, said method comprising a step (E30) routing, through the nodes of said sequence and to the sending device, of the response to said request, said nodes being traversed in an inverse sequence with respect to said sequence, routing of said response comprising, during the traversed by a node, the addition of a field, called an “identification field” (Middle-Agent), in a header of said response, said identification field comprising at least one piece of information representative of a configuration of said node crossed and providing an indication representative of the order of said node crossed within said reverse sequence.
[Revendication 2] Procédé selon la revendication 1, dans lequel l'acheminement (E20) de la requête (REQ) comporte également, lors de la traversée d'un nœud (N_i) de ladite séquence, l'ajout d'un champ d'identification (Middle-Agent) dans un en-tête de ladite requête, ledit champ d'identification comprenant au moins une information représentative d'une configuration dudit nœud traversé et fournissant une indication représentative de l'ordre dudit nœud traversé au sein de ladite séquence. [Claim 2] Method according to claim 1, in which the routing (E20) of the request (REQ) also comprises, during the crossing of a node (N_i) of said sequence, the addition of a field d 'identification (Middle-Agent) in a header of said request, said identification field comprising at least one piece of information representative of a configuration of said node crossed and providing an indication representative of the order of said node crossed within said sequence.
[Revendication 3] Procédé selon l'une quelconque des revendications 1 et 2, dans lequel ladite au moins une information représentative d'une configuration dudit nœud traversé appartient au groupe comprenant : un type représentatif de la configuration matérielle dudit nœud, une version logicielle dudit nœud, un identifiant dudit nœud, un nom de domaine auquel appartient ledit nœud. [Claim 3] A method according to any one of claims 1 and 2, wherein said at least one item of information representative of a configuration of said node crossed belongs to the group comprising: a type representative of the hardware configuration of said node, a software version of said node, an identifier of said node, a domain name to which said node belongs.
[Revendication 4] Procédé selon l'une quelconque des revendications 1 à 3, dans lequel le champ d'identification d'un nœud comprend quatre informations représentatives d'une configuration dudit nœud traversé et correspondant respectivement à un type dudit nœud, une version logicielle dudit nœud, une adresse IP dudit nœud, un nom de domaine dudit nœud. [Claim 4] Method according to any one of claims 1 to 3, in which the identification field of a node comprises four pieces of information representative of a configuration of said node crossed and corresponding respectively to a type of said node, a software version of said node, an IP address of said node, a domain name of said node.
[Revendication 5] Procédé selon l'une quelconque des revendications 1 à 4, dans lequel au moins un nœud traversé lors de l'acheminement de ladite requête (REQ) / ladite réponse (REP) comporte une composante client et une composante serveur. [Claim 5] A method according to any one of claims 1 to 4, wherein at least one node traversed during the routing of said request (REQ) / said response (REP) comprises a client component and a server component.
[Revendication 6] Procédé selon l'une quelconque des revendications 1 à 5, dans lequel le protocole de communication est le protocole SIP, ou le protocole http, ou le protocole DIAMETER. [Claim 6] A method according to any one of claims 1 to 5, wherein the communication protocol is the SIP protocol, or the http protocol, or the DIAMETER protocol.
[Revendication 7] Procédé selon l'une quelconque des revendications 1 à 6, dans lequel la réponse (REP) à la requête (REQ) est émise par un nœud (N_STOP) et est représentative d'un échec d'acheminement ou d'une redirection de ladite requête. [Claim 7] A method according to any one of claims 1 to 6, in which the response (REP) to the request (REQ) is sent by a node (N_STOP) and is representative of a routing or delivery failure. a redirection of said request.
[Revendication 8] Procédé selon l'une quelconque des revendications 1 à 7, dans lequel, lorsqu'une entité parmi le dispositif émetteur (UE_A), le dispositif récepteur (UE_B) et un nœud (N_i) n'est pas considérée comme étant une entité de confiance, le ou les champs d'identification (Middle- Agent) compris dans une réponse (REP) ou une requête (REQ) sont supprimés avant d'atteindre ladite entité. [Claim 8] A method according to any one of claims 1 to 7, wherein when an entity among the sending device (UE_A), the receiving device (UE_B) and a node (N_i) is not considered to be a trusted entity, the identification field (s) (MiddleAgent) included in a response (REP) or a request (REQ) are deleted before reaching said entity.
[Revendication 9] Procédé d'identification d'équipements réseau, dit « nœuds » (NJ), agencés entre un dispositif émetteur (UE_A) et un dispositif récepteur (UE_B), ledit procédé d'identification comportant : [Claim 9] A method of identifying network equipment, called “nodes” (NJ), arranged between a sending device (UE_A) and a receiving device (UE_B), said identification method comprising:
- une étape (F10) d'obtention d'une réponse (REP) à une requête émise (E10) par le dispositif émetteur conformément à un protocole de communication donné et acheminée (E20) au travers d'une pluralité de nœuds à destination du dispositif récepteur, lesdits nœuds étant traversés consécutivement formant une séquence, ladite réponse étant acheminée, au travers des nœuds de ladite séquence et à destination du dispositif émetteur, selon un procédé d'acheminement conforme à l'une quelconque des revendications 1 à 8, de sorte qu'un en-tête de la réponse comporte des champs d'identification (Middle-Agent) comprenant des informations représentatives de configurations des nœuds traversés et fournissant des indications représentatives d'ordres des nœuds traversés par ladite réponse, - a step (F10) of obtaining a response (REP) to a request sent (E10) by the sending device in accordance with a given communication protocol and routed (E20) through a plurality of nodes to the receiving device, said nodes being crossed consecutively forming a sequence, said response being routed, through the nodes of said sequence and to the sending device, according to a routing method according to any one of claims 1 to 8, of so that a header of the response includes identification fields (Middle-Agent) comprising information representative of configurations of the nodes crossed and providing indications representative of orders of the nodes crossed by said response,
- une étape (F20) d'identification des nœuds traversés par ladite réponse à partir desdites informations de configurations et desdites informations d'ordres. a step (F20) of identifying the nodes crossed by said response from said configuration information and from said order information.
[Revendication 10] Programme d'ordinateur comportant des instructions pour la mise en œuvre d'un procédé d'acheminement selon l'une quelconque des revendications 1 à 8 ou d'un procédé d'identification selon la revendication 9 lorsque ledit programme est exécuté par un ordinateur. [Claim 10] A computer program comprising instructions for implementing a routing method according to any one of claims 1 to 8 or an identification method according to claim 9 when said program is executed. by a computer.
[Revendication 11] Support d'enregistrement lisible par un ordinateur sur lequel est enregistré un programme d'ordinateur selon la revendication 10. [Claim 11] A computer readable recording medium on which is recorded a computer program according to claim 10.
[Revendication 12] Equipement réseau, dit « nœud » (N_i), destiné à être agencé entre un dispositif émetteur (UE_A) et un dispositif récepteur (UE_B), ledit nœud comportant un module d'acheminement (M2J), configuré pour acheminer au travers dudit nœud et à destination du dispositif émetteur une réponse (REP) à une requête (REQ) émise par le dispositif émetteur conformément à un protocole de communication donné et acheminée au travers d'une pluralité de nœuds à destination du dispositif récepteur, lesdits nœuds étant traversés consécutivement formant une séquence, ledit module d'acheminement étant en outre configuré pour ajouter, lors de la traversée dudit nœud par ladite réponse, un champ, dit « champ d'identification » (Middle- Agent), dans un en-tête de ladite réponse, ledit champ d'identification comprenant au moins une information représentative d'une configuration dudit nœud traversé et fournissant une indication d'ordre représentative de l'ordre dudit nœud traversé au sein d'une séquence inverse par rapport à ladite séquence. [Claim 12] Network equipment, known as a “node” (N_i), intended to be arranged between a sending device (UE_A) and a receiving device (UE_B), said node comprising a routing module (M2J), configured to route to the through said node and to the device sending a response (REP) to a request (REQ) sent by the sending device in accordance with a given communication protocol and routed through a plurality of nodes to the receiving device, said nodes being crossed consecutively forming a sequence, said routing module being further configured to add, when passing through said node by said response, a field, called an “identification field” (Middle-Agent), in a header of said response, said field d identification comprising at least one item of information representative of a configuration of said node crossed and providing an order indication representative of the order of said node crossed within a sequence reversed with respect to said sequence.
[Revendication 13] Equipement réseau selon la revendication 12, ledit équipement réseau comportant en outre un module d'acheminement configuré pour acheminer ladite requête au travers dudit nœud à destination du dispositif récepteur ainsi que pour ajouter, lors de la traversée dudit nœud par ladite requête, un champ, dit « champ d'identification » (Middle-Agent), dans un en-tête de ladite requête, ledit champ d'identification comprenant au moins une information représentative d'une configuration dudit nœud traversé et fournissant une indication d'ordre représentative de l'ordre dudit nœud traversé au sein de ladite séquence. [Claim 13] Network equipment according to claim 12, said network equipment further comprising a routing module configured to route said request through said node to the receiving device as well as to add, when passing through said node by said request , a field, called an “identification field” (Middle-Agent), in a header of said request, said identification field comprising at least one piece of information representative of a configuration of said node crossed and providing an indication of order representative of the order of said node crossed within said sequence.
[Revendication 14] Equipement réseau selon l'une quelconque des revendications 12 et 13, ledit équipement réseau comportant une composante client et une composante serveur. [Claim 14] Network equipment according to any one of claims 12 and 13, said network equipment comprising a client component and a server component.
[Revendication 15] Système (10) de communication comportant un dispositif émetteur (UE_A), un dispositif récepteur (UE_B) ainsi qu'une pluralité d'équipements réseau (N_i) agencés entre lesdits dispositifs, lesdits équipements réseau étant conformes à l'une quelconque des revendications 12 à 14. [Claim 15] Communication system (10) comprising a transmitter device (UE_A), a receiver device (UE_B) as well as a plurality of network equipment (N_i) arranged between said devices, said network equipment conforming to one any of claims 12 to 14.
EP20845788.7A 2019-12-20 2020-12-18 Method for routing messages, associated network device Pending EP4078905A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1915177A FR3105677A1 (en) 2019-12-20 2019-12-20 Message routing method, associated network equipment
PCT/FR2020/052524 WO2021123659A1 (en) 2019-12-20 2020-12-18 Method for routing messages, associated network device

Publications (1)

Publication Number Publication Date
EP4078905A1 true EP4078905A1 (en) 2022-10-26

Family

ID=70154578

Family Applications (1)

Application Number Title Priority Date Filing Date
EP20845788.7A Pending EP4078905A1 (en) 2019-12-20 2020-12-18 Method for routing messages, associated network device

Country Status (3)

Country Link
EP (1) EP4078905A1 (en)
FR (1) FR3105677A1 (en)
WO (1) WO2021123659A1 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2791502A1 (en) * 1999-03-25 2000-09-29 Canon Kk Packet routing determining method, especially in network with interconnected bus portions, receiving broadcast packet at a bridge and comparing destination field information with preset value to determine if intended for bus portion
US7535905B2 (en) * 2004-03-31 2009-05-19 Microsoft Corporation Signing and validating session initiation protocol routing headers
ES2576452T3 (en) * 2006-01-18 2016-07-07 Koninklijke Philips N.V. Improved route determination procedures for a network

Also Published As

Publication number Publication date
FR3105677A1 (en) 2021-06-25
WO2021123659A1 (en) 2021-06-24

Similar Documents

Publication Publication Date Title
EP2080339B1 (en) Method of routing an sip message in case of unavailability of intermediate nodes
FR2898003A1 (en) Data transmitting method for telephony over internet protocol network, involves inserting indicator, representative of type of address associated to user agent, in contact field of session initiation protocol request message
EP3643044B1 (en) Method of activating processes applied to a data session
FR3096533A1 (en) Method for managing a communication between terminals in a communication network, and devices for implementing the method
EP3549368B1 (en) Method of fractioning application messages in an ip network
EP2856732B1 (en) Method and entity for processing a message
FR3030968A1 (en) METHOD AND APPARATUS FOR MAINTAINING TRANSPORT ADDRESS ASSOCIATIONS WITH AN ADDRESS TRANSLATION ENTITY
FR3011423A1 (en) TECHNIQUE FOR RESTORING A SERVICE IN A NETWORK
EP3646554B1 (en) Method for processing a request and server of a multimedia ip network core
EP4078905A1 (en) Method for routing messages, associated network device
EP3560168B1 (en) Classifying and routing control messages for a communications infrastructure
EP3391615B1 (en) Method of communication between a calling terminal and a plurality of called terminals
FR2926179A1 (en) STORING CONTEXTUAL INFORMATION BETWEEN TRANSMISSIONS OF SIGNALING MESSAGES.
EP2507970B1 (en) Method for sending and processing a sip response
WO2014114871A1 (en) Registration of a client device by way of an agent server in a communication network
EP2801178B1 (en) Dynamic method for determining a list of services in an sip network
EP2859704A1 (en) Application server and method for processing a message intended for a public identity shared by a plurality of devices
WO2016156693A1 (en) Method for creating address bindings and address translation entity
FR2958820A1 (en) Session initiation protocol request routing method, involves routing session initiation protocol request by proxy server via branches, and identifying proxy server by session initiation protocol managing interface
FR2988951A1 (en) Method for registering server of multi-media core network in communication system, involves recording request during which each of user agents sends bound request to core network, where request contains contact addresses of user agents
FR2989548A1 (en) METHOD OF PROCESSING A MESSAGE, ENTITY AND HEART OF NETWORK
EP2403213A1 (en) Method and system for adding of a record-route header in a SIP signalling message

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20220621

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)
RAP3 Party data changed (applicant data changed or rights of an application transferred)

Owner name: ORANGE