WO2004100492A1 - Method and device for synchronisation of data streams - Google Patents

Method and device for synchronisation of data streams Download PDF

Info

Publication number
WO2004100492A1
WO2004100492A1 PCT/FR2004/000967 FR2004000967W WO2004100492A1 WO 2004100492 A1 WO2004100492 A1 WO 2004100492A1 FR 2004000967 W FR2004000967 W FR 2004000967W WO 2004100492 A1 WO2004100492 A1 WO 2004100492A1
Authority
WO
WIPO (PCT)
Prior art keywords
network
delay
telephone
asynchronous
client
Prior art date
Application number
PCT/FR2004/000967
Other languages
French (fr)
Inventor
Bertrand Bouvet
Original Assignee
France Telecom
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by France Telecom filed Critical France Telecom
Publication of WO2004100492A1 publication Critical patent/WO2004100492A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate

Definitions

  • the present invention relates to a method and a device for synchronizing data flows.
  • the invention relates to the field of synchronization of at least two streams, for example and without limitation an audio data stream and a video data stream.
  • One of the flows is carried on an asynchronous packet telecommunications network, at least one other of the flows is carried on a synchronous telecommunications network.
  • Audio and video data transfer devices on the same telecommunications network are known.
  • the exchange of data flows between videophones on a PSTN type telecommunications network allows owners of such videophones to be able to communicate by voice and image with their correspondent if the latter of course has an equivalent terminal.
  • Protocols such as the Real Time Protocol (RTP) and Real Time Transfer Control Protocol (RTCP) try to solve the problems associated with using the Internet as a medium. of transmission.
  • RTP Real Time Protocol
  • RTCP Real Time Transfer Control Protocol
  • the RTP protocol provides a uniform means of transmitting data subject to real-time constraints. It identifies the type of information being transported, adding time markers and sequence numbers to the information it carries.
  • multimedia data is transmitted according to the RTP protocol, an RTP channel is established for each of the video and audio streams for each direction of transmission between the parties. Indeed, the RTP protocol is intended to transport only one type of information at a time.
  • Multiplexing, demultiplexing and synchronization of audio and video streams is carried out at the level of the application receiving audio and video streams.
  • the RTCP protocol makes it possible to control the data flows exchanged according to the RTP protocol. It also makes it possible to convey information on the quality of service of the data flows exchanged with the RTP protocol.
  • the invention aims to solve the drawbacks of the prior art by proposing a device for synchronizing a multimedia stream consisting of two separate multimedia streams in a telecommunications network consisting of a synchronous telecommunications network and a network. of asynchronous telecommunication, one of said flows transiting on the asynchronous telecommunication network, the other flux transiting on the synchronous telecommunication network, characterized in that the device comprises:
  • the invention provides a method of synchronizing a multimedia stream consisting of two separate multimedia streams in a telecommunications network consisting of a synchronous telecommunications network and an asynchronous telecommunications network (160, 260), one of said flow passing through the asynchronous telecommunications network, the other flow passing through the synchronous telecommunications network, characterized in that the method comprises the steps of:
  • the invention by using two different networks and their respective specificities makes it possible to transfer a multimedia stream while guaranteeing by synchronization an optimal quality of reception.
  • synchronous telecommunications network a network which guarantees the delay of transmission of the data transmitted on this network.
  • a part of this synchronous telecommunication network may consist of an asynchronous telecommunication network with which there are associated means for controlling the delay in receiving data. This is for example the case of a fixed telephone network of the company France Telecom. More specifically, the asynchronous telecommunications network is connected to a computer device comprising at least one client-client application receiving a video data stream and the synchronous telecommunications network is connected to a telephone handset receiving an audio data stream.
  • a person accustomed to using their telephone handset to communicate does not have to change their habits.
  • the device according to the invention also makes it possible to synchronize audio and video streams received by different devices without these same devices being connected to each other or exchanging information.
  • the computer devices as well as the telephone handsets do not need to be modified to allow the invention to be carried out.
  • the information representative of the transmission delay of the stream passing over the asynchronous network is obtained from control packets of the video data stream passing over the asynchronous network.
  • the information representative of the delay of transmission of the flow passing through the asynchronous network is obtained by memorizing the instants of reception of the control packets of the video data flow passing through the asynchronous network, by reading at least one predetermined field of the packets of control of the video data flow and by calculating the delay from the memorized instants and from the at least one predetermined field read.
  • synchronization is carried out in a simple manner.
  • the transmission delay of the stream passing over the synchronous network is modified by memorizing the data of the audio stream passing over the synchronous network, by determining the address for reading the data from the information. obtained and by transferring, from the determined address, the data stored on the synchronous network to the telephone handset.
  • the synchronization of the audio stream is carried out in a simple manner by determining a memory read address of the data of the stored audio stream.
  • control packets of the video data flow passing over the asynchronous network are received and control packets of the video data flow passing over the asynchronous network are generated.
  • the synchronization device comprises means for receiving at least one call from a telephone handset, means for obtaining at least one identifier for a telephone handset with which the calling telephone handset wishes to establish a telephone communication and means for matching the computer device associated with the user associated with the calling telephone handset with the computer device associated with the user with the telephone handset with which the calling telephone handset wishes to establish a telephone communication.
  • FIG. . 1 shows a first embodiment of the invention in a telecommunications network comprising a service node architecture
  • Fig. 2 represents the service registration algorithm as provided by the invention in the telecommunications network
  • Fig. 3 represents an algorithm describing the kinematics of activation of a client-client type application in parallel with a telephone communication
  • Fig. 1 shows a first embodiment of the invention in a telecommunications network comprising a service node architecture
  • Fig. 2 represents the service registration algorithm as provided by the invention in the telecommunications network
  • Fig. 3 represents an algorithm describing the kinematics of activation of a client-client type application in parallel with a telephone communication
  • Fig. 4 represents an RTCP SR transmitter report packet conforming to the RTCP protocol
  • Fig. 5a represents an algorithm describing the determination of the delay on the packet telecommunications network according to the first embodiment of the invention
  • Fig. 5b represents an algorithm describing the application of the delay on the telephone voice flows carried out by the voice and delay management module
  • Fig. 6 shows a second embodiment of the invention in a telecommunication network comprising a service node architecture within the framework of a service for connecting subscribers in conference
  • Fig. 7 shows an algorithm describing the kinematics of activating a conference call between three subscribers, coupled with a client-client type application managed within the framework of a service node type architecture
  • Fig. 8 represents an algorithm describing the determination of the delay on the packet telecommunications network according to the second embodiment of the invention.
  • Fig. 1 shows a first embodiment of the invention in a telecommunications network comprising a service node architecture.
  • the server connects to the network in the same way as a subscriber terminal.
  • the telecommunications network includes an ASP application service provider noted 190 which is for example associated with a telecommunications operator 140, a switched telephone network 141, a network of mobile telephones 148, of GSM type acronym of Global System Mobile or UMTS type acronym of Universal Mobile Telecommunications System, an ISP 150 network (Internet service provider) and a public Internet network 160.
  • ASP application service provider noted 190 which is for example associated with a telecommunications operator 140, a switched telephone network 141, a network of mobile telephones 148, of GSM type acronym of Global System Mobile or UMTS type acronym of Universal Mobile Telecommunications System, an ISP 150 network (Internet service provider) and a public Internet network 160.
  • the switched telephone network 141, the mobile telephone network 148, of GSM type acronym of Global System Mobile or of UMTS type acronym of Universal Mobile Telecommunications System constitute the synchronous telecommunications network.
  • the public Internet 160 is here the asynchronous telecommunications network.
  • the switched telephone network 141 is associated with a autonomy switch CAA noted 142 allowing the provision of conventional telephone service to a subscriber 100.
  • the switched telephone network 141 is linked to the mobile telephone network 148.
  • the ASP application service provider 190 includes a local area network 184.
  • the local network 184 is also connected to the public Internet network 160 through a Firewall router 185 also ensuring the security of information exchanges between the networks 184 and 160 while ensuring that no intrusion can be carried out in the network 184.
  • a server 170 is connected to this local network 184.
  • the server 170 is also connected to the telephone network 141 via the routing autonomy switch 142.
  • the server 170 is either centralized on a single device, or distributed over different devices placed or not on the same site.
  • the server 170 consists of a service database 171 in which are stored information necessary for the execution of the services according to the invention.
  • This information is, for example and without limitation, information permanently stored such as the subscription profiles of subscribers to the services according to the invention.
  • the database 171 also includes temporary information linked to the subscribers' sessions. This information is, for example and without limitation, the telephone number (s) associated with the service, the Internet address of the subscribers 'computers, the port numbers of the client-client applications available to the subscribers' computers.
  • the server 170 also includes a recording module 172 of the client software of the subscribers to the service. This client software will be described later.
  • the server 170 also includes a module 173 for notification of network events and information from the client software 107 and 124.
  • the server 170 also includes an IP interface 178 of the Ethernet type allowing the server 170 to connect with the local network 184.
  • the server 170 comprises an automatic call module 179 which processes the signaling of incoming and outgoing telephone calls.
  • the server 170 comprises a telephone interface PSTN 180 of the ISUP type (ISDN user signaling protocol), ISDN being the acronym of Digital Network with Services Integration which allows the connection of the server 170 with the telephone network 141 via the CAA 142 of the telecommunications operator 140.
  • ISUP ISDN user signaling protocol
  • ISDN being the acronym of Digital Network with Services Integration which allows the connection of the server 170 with the telephone network 141 via the CAA 142 of the telecommunications operator 140.
  • the interface 180 can also be an interface conforming to the standard SS7 (signaling code 7).
  • the server 170 also includes a module 181 for managing the PSTN telephone voice streams allowing the media channels of the incoming telephone communication and the outgoing telephone communication to be matched.
  • the module 181 also allows the generation of delay between the incoming voice flows and the outgoing voice flows, these delays being able to be different according to the direction of the communication.
  • the server 170 also includes a module 183 called proxy used by client-client type applications (or even client-server type).
  • a proxy is a server that acts as an interface between a subscriber and another remote subscriber.
  • the proxy forwards messages generated by the subscriber to the recipient.
  • the recipient replies to the proxy as if it were the generator of the message.
  • the proxy then forwards the response to the subscriber.
  • the IP media streams according to the Internet protocol may not borrow the module 183.
  • the module 183 can process several types of applications such as video streams encoded according to the formats H323 or SIP.
  • the server 170 also includes a module 182 for analyzing IP media flow control packets passing through the module 183.
  • the video media packets transported according to the RTP protocol may or may not pass through the IP proxy 183.
  • the control packets for video media packets conforming to the RTCP protocol pass through the proxy 183 adapted to this video application.
  • the media flow control packet analysis module extracts the RTCP control packets and analyzes their content.
  • the delay generated by the voice delay module 181 is adapted.
  • the subscriber 100 has equipment such as a telephone handset 103, fixed or mobile, connected directly or by means of a PABX 102 to the switched telephone network 141 via a CAA 142. It is to note that the telephone number can be the telephone number of a telephone handset 103 placed on the same site as the computer device or on a different site.
  • the subscriber 100 also has a computer 104 connected to a local network 105.
  • the local network 105 is connected to an Internet type network 160 by means of a gateway 106 or firewall router capable of routing the data in network 105 and to act as a gateway between network 105 and the Internet 160.
  • the Firewall router 106 can ensure the security of information exchanges between networks 105 and 160 by ensuring that no intrusion can be made into the network 105.
  • the computer 104 has in its memory programs capable of implementing the invention. It includes software 107, and 110.
  • the software 110 is client-client type applications which communicate with a computer 123 via the local network 105, the Firewall router 106, the Internet network 160, the router 151, the ISP network 150 and a modem 121
  • the software 107 said client software is the software which dialogs with the server 170 according to the invention and proposes the activation of one or more client-client applications 110 to the subscriber 100 or automatically activates a client-client application.
  • the subscriber 120 has equipment such as a mobile telephone handset 122 connected to the mobile network 148.
  • the subscriber 120 furthermore has a computer 123 connected by means of a modem 121, to the Internet network 160 by through the network 150 of its Internet service provider, and a router 151.
  • Modem 121 is a conventional PSTN or ISDN modem.
  • Modem 121 can also be an ADSL (Asynchronous Digital Subscriber Line) type modem or a telecommunication device allowing the transfer of information on the cable or satellite broadcasting network or even a Wifi network (high speed wireless local area network).
  • ADSL Asynchronous Digital Subscriber Line
  • the computer 123 has programs 124 and 127 in its memory capable of implementing the invention and offering the same functionalities as the respective software 107 and 110 present on the computer 104 of the subscriber 100.
  • Fig. 2 shows the service registration algorithm as provided by the invention in the telecommunications network.
  • a subscriber to the service wishes to establish the telephone / data coupling according to the invention.
  • the computer 104 of the subscriber 100 executes the client software program 107.
  • the computer 104 connects via the local network 105, the Firewall router 106, the public Internet network 160, the Firewall router 185 and the local network 184 to the client registration module 172 of the server 170 of the ASP 190 .
  • the client software program 107 requests in step E100 its registration with the client software registration module 172.
  • the client software 107 supplies the client registration module 172 with its user name and the password associated with the name of the user previously assigned when the subscriber 100 has registered for the service.
  • the client software 107 also provides the IP address (Internet protocol address) of the computer 104, the telephone number (s) of the telephone handset (s) used to access the service.
  • the telephone number can be the telephone number of a telephone handset 103 placed on the same site as the computer device or on a different site.
  • the client software 107 also provides its user profile, that is to say the port number of the client-client type applications 10 which it has.
  • the profile of the user can also be produced in a predetermined manner by the ASP 190 providing the service.
  • the client software 107 in this variant, no longer has to provide the user profile, this being created by the ASP 190 and stored in the database 171 of the server 170.
  • the client software registration module 172 of the server 170 interrogates the database 171 of the server 170 in step E101 in order to authenticate it. This authentication is performed by checking if the user name is recognized as a client and if their password is correct. If not, the connection is rejected, the program stops.
  • the client software registration module 172 confirms to the client software 107 the registration in step El 02.
  • the server 170 activates a periodic verification procedure for maintaining the connection of the computer 104 to the public Internet network 160.
  • the network event and client software information notification module 173 transmits a request in step E103 to the client software 107.
  • the client software 107 responds to the request by sending to the module for notifying network events and information of the client software 173, in step E1 04, an activity confirmation message.
  • the module for notifying network events and information of client software 173 checks, after having waited for a predetermined period, the reception of the message in step El 05, and in the event of confirmation, returns to step El 03.
  • the module for notification of network events and information from client software 173 stops the current session.
  • connection between the client software 107 and the server of the invention 170 is not permanent.
  • a connection of the TCP (transport control protocol) type is established on the initiative of the client software 107 during the recording phase and is released so as to best share the resources between all of the subscribers.
  • the server 170 when a notification by the server 170 must be transmitted to the client software 107, the server 170 establishes a TCP connection to the client software 107.
  • the method uses the UDP protocol (User Data Protocol) faster than the TCP protocol.
  • UDP protocol User Data Protocol
  • the client software 107 and the server 170 must guarantee this reliability by generating confirmation messages.
  • Fig. 3 represents an algorithm describing the kinematics of activation of a client-client type application in parallel with a telephone communication.
  • the activation of the client-client application is managed by a service node type architecture, with signaling, media flows and control flows of the client-client application media flows passing through of a proxy module 183.
  • the IP application is synchronized with the telephone voice application by performing a delay measurement on the IP network and by applying a similar delay to the voice flow carried by the PSTN network.
  • the subscriber 100 Prior to a telephone call, the subscriber 100 registers for the service as provided by the invention in the network according to the first embodiment.
  • the computer 104 of the subscriber 100 executes the client software program 107.
  • the computer 104 connects via the local network 105, the Firewall router 106, the public Internet network 160, the router 185 and the local network 184 to the client registration module 172 of the server 170 of the ASP 190.
  • the client software program 107, the client software recording module 172 of the server 170 execute the recording algorithm as described previously with reference to FIG. 2.
  • the subscriber 100 picks up, at step E300, his telephone terminal 103 and dials the telephone number of the service allowing the telephony-data application coupling. This telephone number is associated with the telephone interface 180.
  • a message for requesting the establishment of a telephone call is transmitted in step E301 to the automatic call module 179.
  • the automatic call module 179 automatically accepts the incoming telephone call in step E302. As a variant, the automatic call module 179 generates an "Alert” message, or even a message prior to the "Connection" message intended for the telephone terminal 103.
  • the automatic call module 179 in order to check whether the client software 107 of the subscriber 100 is registered at the server 170, generates a request in step E303 to the database 171 using the telephone number calling in as a search key.
  • the call controller 179 requests the activation of the voice management module and delay 181 in step E304.
  • the voice and delay management module 181 being activated in step E305, the call controller 179 requests the broadcast, by the voice and delay management module 181, of a voice announcement in step E306 asking it to enter the telephone number 122 of his correspondent 120 using the voice frequency dialing of his handset 103.
  • the voice announcement first asks the caller to activate its client software 107, and then to enter the telephone number 122 of its correspondent 120.
  • the number is communicated to the automatic call module 179.
  • the automatic call module 179 requests, in step E308, the voice management and delay module 181 to broadcast in step E309 a waiting message to the caller 100.
  • the automatic call module 179 interrogates, in step E310, the database 171, supplying it as primary key the telephone number of the called party 120, in order to check whether the client software 124 is registered.
  • step E311 the automatic call module 179 establishes an outgoing telephone call to the subscriber 120 on his telephone 122 via the CAA 142 and the networks 141 and 148.
  • the automatic call module 179 notifies, at step E313, the voice and delay management module 181 so that the latter broadcasts, at the same step, a voice announcement to subscriber 120.
  • This voice announcement indicates to the called party 120 that the caller 100 wishes to reach him by telephone with the implementation of a client-client application in parallel.
  • the voice message also requests during step E313 the called party 120 to activate its client software 124.
  • the subscriber 120 activates, in step E314, his software 124 in the same manner as that described for the subscriber 100 with the only difference that the operation is carried out via his ISP 150 and the router 151.
  • the subscriber side waiting message 100 is stopped and the voice streams are matched without applying delay in step E315.
  • the client software notification module 173 transfers in step E316 to the client software 124 the following notifications: subscriber telephone number 100, subscriber telephone number 120, computer IP address 104, the one or more port numbers of the client-client applications 110 of the subscriber 100 compatible with those of the subscriber 120 and / or the IP address of the proxy 183, the number (s) of its ports compatible with the applications.
  • the module for notifying network events and information of client software 173 transfers in step E316 to client software 124 the port numbers of client-client applications 110 present on the computer 104 of subscriber 100 .
  • the client software 124 After receiving the event notification sent by the client software notification module 173 in step E316, the client software 124 checks in step E317 using its local configuration stored on the computer 123 the list of actions to be performed . Client software 124 displays on the computer screen 123 at the same stage
  • E317 the list of possible actions, for example displays an invitation to activate a client type application "Activate Microsoft Netmeeting H323", and / or activate "FTR & D eConf SIP".
  • the module for notifying network events and information of client software 173 has transferred in step E316 to client software 124 the port numbers of the client-client applications present on the computer 104 of the subscriber 100
  • the client software 124 further verifies whether the port numbers of the client-client applications 127 are compatible with the port numbers of the client-client applications 110 present on the computer 104 of the subscriber 100.
  • the client software 124 performs for example conditional actions on the compatible port numbers.
  • the client-client applications 127 compatible with the client-client applications 110 can be activated automatically. This operation carried out, the client-client application 127 puts itself on hold on the TCP / UDP port (s) of the computer 123 assigned to this type of application. This is for example the TCP port 1720 for applications conforming to the H323 format or the TCP / UDP port 5060 for SIP type applications. It should be noted that the IP address of the computer 104 and / or the IP address of the proxy 183 previously received makes it possible to filter incoming calls from other computers than the computer 104.
  • the client software registration module 172 informs the client software notification module 173 of the confirmation in step E318.
  • the latter transmits in step E319 to the client software 107 the following information: telephone events "Connection" with the arguments telephone number of the caller, telephone number of the called party, the port number (s) of the client applications compatible client (s) between the caller and the called party and the IP address (es) of the IP proxy (s) 183 compatible with the client-client application (s) and or the IP address of the computer 123.
  • the client software 107 verifies, using its local configuration stored on the computer 104, the list of actions to be performed.
  • step E320 the client software 107 displays on the screen of the computer 104 the list of possible actions, for example displays an invitation to activate an application of the client-client type "Activate Microsoft Netmeeting H323", and / or activate "FTR & D eConf SIP". It should also be noted that the activation of the application can be automatic.
  • the client-client software application 110 When the client-client software application 110 is activated, it sends at step E321 a request depending on the protocol of the client-client application 110 (for example sending a SETUP message H323) to the compatible proxy 183.
  • the proxy 183 On receipt of this request, the proxy 183 interrogates, in step E322, the database 171 in order to obtain the context linked to the IP session between the subscribers 100 and 120. The proxy 183 thus obtains the IP address from computer 123.
  • the proxy 183 uses the IP address of the computer 104 as the search key.
  • the proxy 183 adapted to client-client applications 110 and 127 creates a context comprising the IP address of the computer 104, the original TCP / UDP port number (s) used, the IP address of the computer 123 , the TCP / UDP port number (s) from the IP 183 proxy used.
  • the proxy 183 then extends, in step E323, the request to the subscriber 120 by using the TCP / UDP port number or numbers linked to the client-client application.
  • the client-client application 127 sends a confirmation message, at step E324, to the proxy 183, which extends this confirmation at step E325, to the client-client application 110 , using the information present in the previously created context.
  • the media stream (s) can then transit between client-client applications
  • control stream or streams of media streams must necessarily pass in step E326 through the proxy 183.
  • the control streams are received by the IP proxy 183.
  • the proxy 183 interrogates in step E327, using the IP address of the computers 104 or 123, the database 171 to retrieve the context of the telephony-data session as well as the identifier of the telephone communication and of the voice resources.
  • the information on control of the media flow and of the telephone-data session context is transmitted, in step E328, by the proxy 183 to the packet analysis module 182.
  • the packet analysis module 182 in step E329, analyzes the media flow control packets, obtains information representative of the delay in the media flow, and according to the delay information obtained, generates a request intended for the voice management module and delay 181, so that it applies the same delay previously obtained on the telephone voice flows.
  • the voice and delay management module 181 applies the delay to the voice flows in step E330.
  • This system for analyzing IP media flow control packets and voice delay delay applications is periodic.
  • the delays are calculated by the packet analysis module 182 in the following manner in the case of an H323 or SIP video transmission with an RTCP type protocol: the delay TA of the RTCP packets between the computer 104 and is determined. the proxy 183, the delay TB of the RTCP packets between the proxy 183 and the computer 123 is determined, the delays TA and TB are added and a request is sent to the voice management module and delay 181 so that it applies the sum of the delays on the voice stream transmitted by the telephone 103 transmitted to the telephone 122.
  • the RB delay of the RTCP packets between the computer 123 and the proxy 183 is determined, the RA delay of the RTCP packets between the proxy 183 and the computer 104 is determined, the delays RA and RB are added and a request is sent to the destination of the voice and delay management module 181 so that the latter applies the sum of the delays on the voice flow transmitted by the telephone 122 transmitted to the telephone 103.
  • the voice and delay management module 181 takes into account in the application of the delay, the standard delay of a PSTN telephone communication between the handset 103 and the voice and delay management module 181 and also of the standard delay of PSTN telephone communication between the voice and delay management module 181 and the handset 122.
  • Fig. 4 represents an SR transmitter report packet conforming to the RTCP protocol.
  • the data flow transmitted between subscribers 100 and 120 through the public Internet network 160 conforms to the H323 protocol.
  • the H323 protocol uses the RTP (Real time Transport Protocol) protocol to transport the data stream.
  • RTP Real time Transport Protocol
  • the RTP protocol is a multimedia data transport protocol, it does not provide any guarantee as to the quality of service and is placed above the protocol.
  • the RTP protocol allows an application to reconstruct a sequence of multimedia data, in this case the video signals received by the client-client application software 110 and 127.
  • the RTCP protocol (Real Time Control Protocol) is a protocol which makes it possible to obtain various information on a current RTP session.
  • the RTCP protocol provides information on the quality of data transfer.
  • the RTCP acronym Sender Report SR report packets include information such as reception and transmission statistics of session participants who transfer data over the public Internet 160.
  • the RTCP SR packets according to the invention allow the server to determine the delays on the data flows circulating on the Internet 160.
  • RTCP SR packets consist of several fields, field 600 defines the version number of the RTCP protocol.
  • Field 601 is a field for specifying whether the data bytes have a padding portion.
  • Field 602 is a field intended to contain the number of reports contained in the packet. It should be noted that a report is normally intended for each IT device sending and / or receiving the data stream.
  • Field 603 identifies the type of packet. It should be noted that according to the RTCP protocol there are five different types of packets.
  • the SR, RR (Receiver Report) packets which are used by the server 170 of the invention to determine the delay on the public Internet network 160, the SDES (Source Description) packets which contain a list of information identifying an RTP source, BYE which indicates that a participant is leaving the call and APP (specific to an application).
  • the last three types of packets are not used for synchronization according to the invention.
  • Field 604 indicates the total length of the RTCP packet.
  • Field 605 identifies the source, i.e. the originator of the RTCP packet in question. According to the invention, this field allows the server 170 according to the invention to determine the origin of the RTCP packet.
  • Fields 606 and 607 contain the date and time of sending the message in NTP (Network Time Protocol) format.
  • NTP Network Time Protocol
  • the NTP provides the number of seconds since 1 January 1900 OOHOO.
  • Field 606 contains the most significant bits on 32 bits and representative of the whole part of elapsed seconds
  • field 607 contains the least significant bits on 32 bits and representative of the decimal part of elapsed seconds.
  • These fields 606 and 607 can be used according to the invention to determine the delay in the flows exchanged by computers 104 and 123 on the Internet 160.
  • Field 608 contains the sender's clock for RTP packets sent by the sender.
  • Field 609 includes the total number of payload packets sent by the transmitter from the start of the session until the transmission of the RTCP packet.
  • Field 610 includes the total number of payload bytes transmitted by the transmitter from the start of the session until the transmission of the RTCP packet.
  • the information contained in this field 610 allows the server 170 of the invention to determine the average bit rate of this source.
  • Field 611 identifies the source object of this report, that is to say the transmitter of the RTP data relating to the RTCP packet in question. According to the invention, this field allows the server 170 according to the invention to determine the sender of the RTP packets considered.
  • Field 612 contains statistics on the percentage of packets lost since the last RTCP SR packet was sent.
  • Field 613 contains the cumulative number, since the start of the session, of lost packets coming from the source that sent the packets in question. It should be noted that packets arriving late are not considered as lost packets while duplicate packets are counted at each duplication.
  • Field 614 contains the last received sequence number. This consists of 32 bits, the 16 least significant bits contain the largest sequence number received while the 16 most significant bits contain the number of cycles of past sequence numbers.
  • Field 615 includes an estimate of the variance of the time between the arrival of RTP packets. This calculation is performed by the transmitter of the RTCP SR packet from the information contained in field 608 and from its internal clock.
  • Field 616 LSR (Last Sender Report timestamp) contains the value of the field
  • Field 617 DLSR (Delay Since Last Sender Report) contains the delay between the reception of the last SR packet from the recipient of the RTCP SR packet in question and the transmission of the RTCP SR packet in question.
  • the server 170 uses the field 617 to determine the propagation delay in the network or RTT (Round Trip Time).
  • RTCP SR packets are broadcast to all computers in the session.
  • An RTCP SR packet can contain information for multiple sources. For each other source, fields 611 to 617 are then duplicated in the RTCP SR packet.
  • the RTCP RR packet contains information similar to that contained in an RTCP SR packet, so it will not be described in detail. In the following description, we will only describe the invention with RTCP SR packets, it is understood that the invention also alternatively uses RTCP RR packets in the same way as that which will be described with RTCP packets
  • Fig. 5a represents an algorithm describing the determination of the delay on the public Internet network 160 according to the first embodiment of the invention.
  • the media stream transmitted by a computer as well as the media stream control stream, more particularly the RTCP packets, are transmitted to the proxy 183 of the server 170 which then extends the media stream to the other computer.
  • the computer 104 of the subscriber 100 sends a data stream to the proxy 183, the proxy 183 then extends this data stream to the computer 123 of the subscriber 120.
  • the computer 123 of the subscriber 120 transmits a data stream intended for the proxy 183, the proxy 183 then extends this data stream intended for the computer 104 of the subscriber 100.
  • the algorithm of FIG. 5a describes an exchange of RTCP SR packets between the subscriber 100 and the proxy 183. From this exchange of packets the server 170 according to the invention determines the delay RA of the packets between the proxy 183 and the computer 104. The delay TA of the packets between the computer 104 and the proxy 183 is here considered to be identical to the delay RA.
  • the determination of the delay RB of the packets between the proxy 183 and the computer 123 is carried out in a similar manner, it will therefore not be described in more detail.
  • the delay TB of packets between the computer 123 and the proxy 183 is here considered to be identical to the delay RB.
  • step E501 the proxy 183 generates an RTCP SR packet intended for the computer 104 of the subscriber 100.
  • the proxy 183 inserts into the RTCP SR packet, inter alia, its identifier in field 605, the date and time noted Hl of the sending of the RTCP SR message in fields 606 and 607, the identifier of the computer 104 of subscriber 100 in field 611.
  • the proxy 183 transmits this packet to the computer 104 via the local network 184, the Firewall router 185, the public Internet network 160, the router 106 and the local network 105.
  • the computer 104 receives the RTCP SR packet in step E503. On receipt of the RTCP SR packet, the computer 104 stores in step E504 the time of its internal clock for receiving the packet denoted H2.
  • the computer 104 stores in other things the content of the fields 606 and 607 of the RTCP SR packet received in step E505.
  • Step E506 consists of a waiting loop for the computer 104 to generate an RTCP SR packet for controlling the data flow received from the proxy 183.
  • step E507 the time of its internal clock.
  • the computer 104 inserts in step E508 the content of the field 607 stored in step E505 in the field 616 of the RTCP SR packet to be transmitted.
  • the computer 104 inserts in step E509 the difference in hours H3-H2 stored in steps E504 and E507 in field 617 of the RTCP SR packet to be transmitted.
  • the computer inserts other information into the different fields of the RTCP SR packet, this is not described.
  • the packet thus formed is transmitted in step E510 by the computer 104 of the subscriber 100 to the proxy 183 of the server 170 via the local network 105, the firewall router 106, the public Internet network 160, the firewall router. 185 and the local network 184.
  • the proxy 183 of the server 170 receives the RTCP SR packet in step E511. On receipt of the RTCP SR packet, the proxy 183 queries the database
  • the media flow and telephone-data session context control information is transmitted by the proxy 183 to the packet analysis module 182 in accordance with step E328 of FIG. 3 previously described.
  • the packet analysis module 182 stores in step E512 the time denoted H4 of its internal clock for receiving the packet. This operation performed, the packet analysis module 182, in step E513, stores the content of field 617 of the RTCP SR packet received in step E511.
  • the packet analysis module 182 also stores in step E514 the content of the field 616 of the received RTCP SR packet.
  • the packet analysis module 182 of the server 170 obtains in step E515 the delay of the RTCP packets between the proxy 183 and the computer 104 by subtracting from the time H4 stored in step E512 the contents of the fields 617 and 616 previously stored in the respective steps E513 and E514.
  • the packet delay thus calculated is equal to the sum of the delays TA and RA previously mentioned with reference to FIG. 3.
  • the determination of the RB delay of the RTCP packets between the proxy 183 and the computer 123 is carried out in a similar manner to that described with reference to steps E501 to E516, the RTCP control packets SR are sent by the proxy 183 to the computer 123 from subscriber 120 in step E502 and RTCP SR control packets are sent by computer 123 from subscriber 120 to proxy 183 in step E510.
  • the packet delay thus calculated is equal to the sum of the delays TB and RB previously mentioned with reference to FIG. 3. For the sake of simplicity these are considered to be equal. So
  • the packet analysis module 182 generates in step E516 a request intended for the voice management module and delay 181, so that the latter applies the delays TA + TB previously obtained on the voice flow transmitted from the telephone 103 to the phone 122.
  • the packet analysis module 182 generates in the same way in step E516 a request intended for the voice management module and delay 181, so that the latter applies the delays RA + RB previously obtained on the voice flow transmitted from the phone 122 to phone 103.
  • Fig. 5b represents an algorithm describing the application of the delay on the telephone voice flows carried out by the voice and delay management module.
  • the voice and delay management module 181 controls one or more telephone interface cards, for example of the DTI300SC-E1 type manufactured by the company Dialogic-intel or of the AGS-1000 type of the company Natural Micro System. These cards have an ISDN type B interface at a speed of 64Kbit / s and a signaling channel D at a speed of 64Kbit / s. Cards with T0 / S0 interfaces that have two B channels at a rate of 64Kbit / s and a signaling channel D at a rate of 16Kbit / s can also be used. These cards include buffer memories, for each voice stream and in each direction of the voice stream, which memorize the audio streams received and / or to be transmitted.
  • Each voice stream obtained from the PSTN network 141 is for example stored in a respective circular memory having a storage capacity of the order of 500 milliseconds (ms) or even 1 second of voice stream.
  • ms milliseconds
  • the synchronous speed of a G711 law A type telephone communication being 64 Kbit / s, the data is written and read in the circular memory every 20 ms.
  • the voice management module 181 performs the algorithm of FIG. 5b for each of the voice streams to be processed.
  • the voice and delay management module 181 receives in step E520 from the packet analysis module 182 the delay to be applied to a voice stream. This delay is for example equal to 220 ms. The voice and delay management module 181 obtains in step E521 the address
  • the voice and delay management module 181 determines in step E522 the duration of the voice stream stored in the circular memory by multiplying the address Ptr_ec by 20 ms. For example, the Ptr_ec write pointer being at address 14, the duration of the voice stream stored in the circular memory is 280 ms.
  • the voice and delay management module 181, in step E523, makes the difference between the delay RA received in step E520 and the duration of voice flow stored in the circular memory determined in step E522.
  • the difference Dvx is equal to 60 ms.
  • the voice and delay management module 181, in step E525 transfers the value of the read pointer Ptr_lec to the telephone interface card managing the audio stream on the PSTN network 141.
  • the voice streams transmitted over the switched network 141 are delayed in the same way as the media streams are delayed by the public Internet network 160.
  • Fig. 6 shows a second embodiment of the invention in a telecommunications network comprising a service node architecture or service node in the context of a service for connecting subscribers in conference.
  • the telecommunications network includes an ASP application service provider denoted 290 which can for example be associated with a telecommunications operator 240.
  • the telecommunications network also comprises a switched telephone network 241 and a public Internet network 260.
  • the switched telephone network is here considered to be a synchronous telecommunications network, the public Internet network 260 being the asynchronous telecommunications network.
  • the switched telephone network 241 is associated with a range autonomy switch CAA denoted 242 allowing the provision of conventional telephone service to a subscriber 200 and a subscriber 291.
  • the PSTN network 241 is also associated with a range switch CAA noted 245 allowing the provision of conventional telephone service to a subscriber 220.
  • the ASP 290 application service provider includes a local network 284.
  • the local network 284 is also connected to the public Internet network 260 through a firewall router 285 also ensuring the security of information exchanges between networks 284 and 260 ensuring that no intrusion can be made into network 284.
  • a server 270 is connected to this local network 284.
  • the server 270 or conference bridge is also connected to the telephone network 241 via the routing autonomy switch 242.
  • the server 270 is either centralized on a single device or distributed over different devices placed or not on the same site.
  • the server 270 consists of a service database 271 identical to the database 171 in FIG.
  • the server 270 also includes a recording module 272 of the client software of the subscribers to the service identical to the recording module 172 of the client software of the subscribers of FIG. 1.
  • the server 270 also includes a module 273 for notification of network events and information from client software identical to the module 173 for notification of network events and information from client software in FIG. 1.
  • the server 270 also includes an IP interface 278 of Ethernet type which allows the server 270 to connect with the local network 284.
  • the server 270 includes a telephone answering module 279 which processes the signaling of incoming and outgoing telephone calls and their acceptance.
  • the server 270 comprises a telephone interface PSTN 280 of the ISUP type or of the SS7 type which allows the connection of the server 270 with the telephone network 241 via the CAA 242 of the telecommunications operator 240.
  • the server 270 also includes a module 281 for mixing the PSTN and delay telephone voice flows allowing the generation of delay between the active incoming voice flows and the outgoing voice flows.
  • the delays can be different depending on the direction of the communication.
  • the voice stream of the conference initiator or the voice stream of the conference master can also be considered as the active incoming voice stream in a predetermined manner. This active voice stream can also be defined according to the period of activity or inactivity of the stream.
  • the active voice stream is determined by the module 281 for mixing PSTN and delay voice voice streams.
  • the server 270 also includes a module 282 for mixing analysis of IP media flows, for example of packet type of video RTP type managed by the H323 / SIP protocols. The mixing is dependent on the supported applications.
  • the mixing module 282 extracts and analyzes the IP media flow control packets, for example video RTCP packets of the H323 / SIP type. Among the analyzed information, one can find for each direction of transmission, the delay, the rate of loss of packets, the jitter and the bit rate.
  • the information obtained at the level of mixing module 282 will make it possible to apply delays to the PSTN voice flows via the module 281 for mixing the PSTN telephone voice flows and delay.
  • the server 270 also includes an IP applications responder module 283 which processes the signaling signals of the communications.
  • the IP 283 applications answering module includes a plurality of modules each capable of processing signals (H323 or SIP) by type of application.
  • Subscriber 200 has equipment such as a telephone terminal 203 connected to the switched telephone network 241 through the CAA 242.
  • Subscriber 200 also has a computer 204 connected to the Internet 260.
  • the computer 204 has in its memory programs capable of implementing the invention. It includes software 207 and 210 offering the same functionalities as the respective software 107 and 110 in Fig.l.
  • Subscriber 220 has equipment such as a telephone terminal 222 connected to the switched telephone network 241 via a CAA 245.
  • Subscriber 220 also has a computer 223 connected to the Internet 260.
  • the computer 223 has in its memory programs capable of implementing the invention. It includes software 224 and 227 offering the same functionalities as the respective software 124 and 127 in FIG. 1.
  • the subscriber 291 has equipment such as a telephone terminal 292 connected to the switched telephone network 241 via the CAA 242.
  • the subscriber 291 also has a computer 295 connected to the Internet type network 260.
  • the computer 295 has in its memory programs capable of implementing the invention. It includes software 294 and 293 offering the same functionalities as the respective software 107 and 110 in FIG.
  • Fig. 7 represents an algorithm describing the kinematics of activation of a conference call between three subscribers, coupled with a client-client type application managed within the framework of a service node type architecture in the network of FIG. 6.
  • subscriber 200 Prior to a telephone call, subscriber 200 registers for the service as provided by the invention in the network according to the second embodiment. For this, the computer 204 of the subscriber 200 executes the client software program 207.
  • the computer 204 connects via the public Internet network 260 to the client registration module 272 of the server 270 of the ASP 290.
  • the client software program 207, the client software registration module 272 of the server 270 execute the algorithm. as previously described with reference to FIG. 2.
  • subscriber 200 picks up his telephone terminal 203 and dials, in step E700, the telephone number of the service allowing the telephony-data application coupling. This telephone number is associated with the telephone interface 280.
  • a message for requesting establishment of a telephone call is transmitted, in step E701, to the telephone answering module 279.
  • the telephone answering module 279 automatically accepts the incoming telephone call in step E702.
  • the telephone answering module 279 generates an "Alert" message, prior to the "Connection” message intended for the telephone handset 203.
  • the telephone answering module 279 in order to obtain the context of the session, generates a request, in step E703, to the database 271 which uses the calling telephone number as a search key.
  • the session context includes the voice channel number available for the application as well as the IP address of computer 204.
  • the telephone answering module 279 generates a request to activate the mixer and delay module 281 in step E704.
  • the mixer and delay module 281 being activated, the telephone answering module 279 requests the broadcast, by the mixer and delay 281, of a voice announcement, intended for subscriber 200, on the voice channel of the selected context.
  • This voice announcement is a welcome and wait voice announcement. It is broadcast in step E705.
  • the telephone answering module 279 informs the client software notification module 273 of the call.
  • the latter transmits, in step E706, to the client software 207, the following information: telephone events "Connection" with the arguments telephone number of the caller, telephone number of the telephone answering machine 279, the IP address or addresses of the IP 283 answering machines and the port number (s) of IP283 answering machines compatible with the client-client application (s) of subscriber 200.
  • the client software notification module 273 transmits to the client software the following port numbers 194.254.161.225: 1720, 194.254.161.226: 5060 and 194.254.161.227: 1503.
  • These port numbers are used to indicate to the client software 207 that the server 270 is able to support an H323 answering application if the client software uses the IP address 194.254.161.225, that the server 270 is able to support a SIP application if the client software uses the IP address 194.254.161.226 and the server 270 is capable of supporting an answering application sharing application of the type conforming to the standard T120 if the client software uses the IP address 194.254.161.227.
  • the client software 207 verifies, using its local configuration stored on the computer 204, the list of actions to be performed.
  • the client software 207 displays on the screen of the computer 204 the list of client-client applications compatible with those managed by the conference bridge or server 270, for example displays an invitation to activate a client-client type application "Activate Microsoft Netmeeting H323 ", and / or activate” FTR & D eConf SIP ". Note that the activation of the application can be automatic.
  • the client-client software application 210 issues in step E708 a request dependent on the protocol of the client-client application 210 (example sending a SETUP message H323) to the compatible IP responder module 283.
  • the IP responder module 283 interrogates, in step E709, the database 271 in order to obtain the context linked to the IP session between the subscriber 200 and the server or server conference bridge 270 .
  • the IP responder module uses the IP address of computer 204 as the search key.
  • the IP responder module 283 confirms, in step E710, the IP request generated in step E708 and transmits the IP address or addresses of the mixer module analyzing IP media flows 282 as well as the TCP port (s) / UDP to use.
  • the IP responder module 283 requests, in step E711, the IP media analysis mixer module 282 to put itself on hold for a call.
  • the client-client application 210 then establishes, in step E712, the media channel and IP media control channels with the mixer module analyzing IP media flows 282.
  • the call of the subscriber 200 corresponds to the first call on the conference bridge 270
  • information of the welcome announcement type, of the video on hold type can be broadcast to the subscriber 200 if the application is of client-client video H323 / SIP type.
  • the mixer module for analyzing IP media flows 282 obtains information for controlling IP media flows exchanged with the client-client application 210 and interrogates the database 271 in step E713.
  • the mixer module for analyzing IP media flows 282 thus obtains, using the IP address of computer 204 as a primary key, the context of the session comprising the references of the incoming and outgoing telephone channels.
  • the IP 282 media flow analysis module analyzes the media flow control packets, obtains information representative of the delay, jitter, packet loss of the media flow and, based on this information, controls step E714, the mixer and vocal delay module 281.
  • the telephone voice stream which is for example music on hold, synchronized with the H323 / SIP video transmitted by the server of the invention 270 to the subscriber 200, is more or less delayed. This delay is applied in step E715.
  • the telephone answering module 279 accepts the incoming telephone call in step E717.
  • the telephone answering module 279 consults, in step E718, the database 271 with the primary key calling telephone number in order to obtain the context of the session comprising the number of an available voice channel, and the IP address of computer 223 if client software 224 is enabled. If the client software 224 is not activated, the IP address of the computer 223 of subscriber 220 will not be provided.
  • the telephone answering machine 279 generates a message, intended for the voice delay and mixer module 281 so that the latter broadcasts, in step E720, intended for subscriber 220, a voice announcement. welcome as well as a voice announcement message inviting subscriber 220 to activate his client software 224. The voice connection in conference mode between subscribers 200 and 220 is then activated on the selected voice channel.
  • the client software 224 of subscriber 220 is not activated and registered, the latter is activated and registered.
  • the 224 client software is activated manually or automatically.
  • the IP call signaling is exchanged with the compatible IP 283 answering module.
  • the media channel (s), as well as the IP media control channel (s) are established with the IP media flow analysis mixer module 282 in the same way as that described above for the subscriber 200.
  • Subscriber 220 being the second subscriber to have called the service
  • client-client applications 210 and 227 of subscribers 200 and 220 are connected via the conference bridge or IP 270 server.
  • the mixer module analyzes media flows
  • IP 282 obtains the media flow control information exchanged by client-client applications 210 and 227.
  • the mixer module analyzes IP media flows 282 interrogates the database 271 in step E721 in order to obtain the two session contexts and more particularly the references of the telephone channels of the communications between the subscriber 200 and the server of the invention 270 and between subscriber 220 and the server of invention 270.
  • the IP 282 media flow analysis mixer module analyzes the media flow control packets, obtains information representative of the delay, jitter, packet loss of the media flow, and based on this information, checks to step E722 the mixer and vocal delay module
  • the telephone voice flow transmitted by the server 270 to the subscriber 200 is more or less delayed.
  • the telephone voice flow transmitted by the server 270 to the subscriber 220 is also more or less delayed. More precisely, the delay is applied to the voice stream considered as a slave voice stream, the master voice stream being the voice stream considered to be active.
  • the delays are calculated as follows in the case of an H323 or SIP video transmission with an RTCP type protocol: the TA delay resulting from the RTCP packets between the computer 204 and the mixer module analyzes the IP media flows is determined 282, the delay TB from the RTCP packets is determined between the IP media flow analysis mixer module 282 and the computer 223, the TA and TB delays are added and a request is sent to the voice mixer and delay module 281 so that the latter applies the sum of the delays on the voice stream transmitted by the telephone 203 and transmitted to the telephone 222.
  • the delay RB from the RTCP packets between the computer 223 and the mixer module analyzes the IP media flows 282 is determined, it is determined the delay RA originating from the RTCP packets between the mixer module analyzing IP media flows 282 and the computer 204, adding the delays RA and RB and generating a request intended for the voice mixer module and delay 281 so that this it applies the sum of the delays on the voice flow transmitted by the telephone 222 and transmitted to the telephone 203.
  • the voice and delay mixer module 281 takes into account in the application of the delay, the standard delay of a telephone call.
  • PSTN between handset 203 and voice mixer module and delay 281 and also the standard delay for a PSTN telephone call between voice mixer module and delay 281 and handset 222.
  • the telephone module When a third subscriber dials, via his telephone handset 292, the telephone number associated with the telephone interface 280, the telephone module performs the same operations as those described for calling subscriber 220 to the number associated with the telephone interface 280.
  • the third subscriber 291 activates his client software 294 which registers with the recording module 272.
  • the client-client software 293 is then activated manually or automatically, the IP call signaling is exchanged with the compatible IP responder module 283, the media channel (s), the IP media control channel (s) are established with the IP media flow analysis mixer module 282 in the same way as that described above for subscriber 200. These procedures will therefore not be described further detail.
  • connection in voice conference mode is established for subscribers 200, 220 and 291.
  • the client-client applications 210, 227 and 293 compatible with subscribers 200, 220 and 291 are found in connection through the server or IP 270 conference bridge.
  • the IP 282 media flow analysis mixer module periodically obtains media flow control information exchanged with client-client applications 210, 227 and 293.
  • the mixer module analyzes IP media flows 282 interrogates the database 271 in order to obtain the three session contexts using the IP addresses of computer 204, computer 223 and computer 295 as primary key and more particularly the references of the incoming and outgoing telephone channels of the communications between the subscriber 200 and the server 270, between the subscriber 220 and the server 270 and between the subscriber 291 and the server 270.
  • the mixer module analyzes IP media flows 282 analyzes the media flow control packets, obtains information representative of delay, jitter, loss of packets from the media flow, and as a function of this information, checks in step E723 , the mixer and voice delay module 281.
  • the telephone voice flow transmitted by the server 270 to the subscriber 200 is more or less delayed in step E724.
  • the telephone voice stream sent by the server 270 to the subscriber 220 is more or less delayed in step E725 and the telephone voice stream sent by the server 270 to the subscriber 291 is more or less delayed at step E726.
  • the delays are calculated as follows in the case of an H323 or SIP video transmission with an RTCP protocol:
  • the RAM delay from the RTCP packets between the computer 204 and the IP media stream analysis mixer module 282 is determined, the RMB delay from the RTCP packets between the mixer analysis analysis is determined IP media flow 282 and the computer 223, the RAM and RMB delays are added together and a request is sent to the voice mixer and delay module 281 so that the latter applies the sum of the delays to the voice flow transmitted by the telephone 203 and transmitted to phone 222, the RMC delay resulting from the RTCP packets between the mixer module for analyzing IP media flows 282 and the computer 295 is determined, the RAM and RMC delays are added and a request is sent to the voice mixer and delay module 281 so that it this applies the sum of the delays on the voice flow transmitted by the telephone 203 and transmitted to the telephone 292,
  • the RBM delay from the RTCP packets between the computer 223 and the IP media stream analysis mixer module 282 is determined, the RMA delay from the RTCP packets between the mixer analysis analysis parameters is determined IP media flow 282 and the computer 204, the RBM and RMA delays are added and a request is sent to the voice mixer and delay module 281 so that the latter applies the sum of the delays to the voice flow transmitted by the telephone 222 and transmitted to the telephone 203.
  • the RMC delay resulting from the RTCP packets is determined between the IP media flow analysis mixer module 282 and the computer 295, the RBM and RMC delays are added and a request is sent to the voice mixer module and delay 281 so that the latter applies the sum of the delays on the voice stream transmitted by the telephone 222 and transmitted to the telephone 292,
  • the RCM delay from the RTCP packets between the computer 295 and the IP media stream analysis mixer module 282 is determined
  • the RMA delay from the RTCP packets between the mixer analysis module is determined IP media flow 282 and the computer 204
  • the RCM and RMA delays are added and a request is sent to the voice mixer and delay module 281 so that the latter applies the sum of the delays to the voice flow transmitted by the telephone 292 and transmitted to the telephone 203
  • the RMB delay from the RTCP packets is determined between the IP media flow analysis mixer module 282 and the computer 223
  • the RCM and RMB delays are added and a request is sent to the voice mixer module and delay 281 so that the latter applies the sum of the delays on the voice stream transmitted by the telephone 292 and transmitted to the telephone 222
  • Fig. 8 represents an algorithm describing the determination of the delay on the packet telecommunications network according to the second embodiment of the invention. Since the client-client applications 210 and 227 compatible with subscribers 200 and 220 are connected through the server or IP conference bridge 270, the mixer module for analyzing the IP media flows 282 periodically obtains information for controlling the media flows of the client applications. client 210 and 227.
  • the media flow transmitted by a computer as well as the media flow control flow, more particularly the RTCP packets, are transmitted to the IP media flow analysis mixer module 282 of the server 270 which then extends the media flow to destination other computer (s).
  • the subscriber computer 204 of the subscriber 200 sends a data stream to the IP media stream analysis mixer 282, the IP media analysis mixer module 282 interrogates the database 271 in order to obtain the two session contexts using the IP addresses of computer 204 and computer 223 as primary key and more particularly the references of the incoming and outgoing telephone channels of communications between subscriber 200 and server 270 and between subscriber 220 and the server 270, the mixer analyzes IP media flows 282 then extends this data flow to the computer 223 of subscriber 220.
  • the mixer module analyzing IP media flows 282 receives a media flow control packet, for example an RTCP SR packet sent by the client-client application 210 relating to a transfer of data streams between the client-client application 210 and the mixer module analyzes IP media flows 282.
  • a media flow control packet for example an RTCP SR packet sent by the client-client application 210 relating to a transfer of data streams between the client-client application 210 and the mixer module analyzes IP media flows 282.
  • the mixer module for analyzing IP media flows 282 determines in step E802 the sender of this message by reading the identifier contained in field 605 of the RTCP SR packet shown in FIG. 4. This identifier corresponds, for example, to that of the client-client application 210.
  • the IP media flow analysis mixer module 282 checks in the next step E803 whether it has previously transmitted an RTCP SR packet to the client application. client 210.
  • the IP media flow analysis mixer module 282 goes to step E804. At this stage, the IP media flow analysis mixer module 282 waits, if necessary, for a predetermined time before proceeding to steps E805 to E806. In fact, in order not to have too great a relationship between the control packets and the RTP stream packets, the IP 282 media stream analysis mixer module may have to wait a more or less significant time before generating itself. an RTCP packet. In step E805, the IP media flow analysis mixer module 282 generates an RTCP SR packet intended for the client-client application 210.
  • the IP 282 media flow analysis mixer module inserts in its RTCP SR packet among other things its identifier in field 605, the date and time noted Hi of the sending of the RTCP SR message in fields 606 and 607, the identifier of the computer 204 of the subscriber 200 in the field 611. It should be noted that i is an index associated with the computer 204 and / or with the client-client application 210.
  • the IP media flow analysis mixer module 282 stores the time denoted Hi and proceeds to step E807 to the transfer of the RTCP SR packet previously generated in step E805 via the interface IP 278, local network 284, firewall router 285, and public Internet network 260.
  • the IP media flow analysis mixer module 282 returns to step E801 and receives a new RTCP SR packet at this step.
  • the IP media flow analysis mixer module 282 determines in step E802 the sender of this message by reading the identifier contained in field 605 of the RTCP SR packet, this is for example the identifier of the client application - customer 227.
  • the IP media flow analysis mixer module 282 checks in the next step E803 whether it has previously transmitted an RTCP SR packet to the client-client application 227. In our example, the verification is negative, the flow analysis mixer module IP media 282 performs steps E805 to E807 in the same manner as that previously described, it then stores the corresponding time Hi where i is the index associated with the computer 220 or with the client-client application 227.
  • IP media flow analysis mixer module 282 returns to step E801 and receives at this step a new RTCP SR packet.
  • the IP media flow analysis mixer module 282 determines in step E802 the sender of this message, this is for example the identifier of the client-client application 210.
  • the IP 282 media flow analysis mixer module checks in the next step E803 whether it has previously transmitted an RTCP SR packet to the client-client application 210. In our example, this is the case, one hour Hi, with i computer index 204, was previously stored.
  • the mixer module analyzes IP media flows 282 then goes to step E808 and stores the time Ti at which the packet was received. It should be noted that i is here an index associated with the computer 204 and / or with the client-client application 210.
  • the mixer module analyzes IP media flows 282 reads and stores, in the next step E809, the content of field 617 of the RTCP SR packet shown in FIG. 4. In our example, this corresponds to the time elapsed between the time at which the client-client application 210 received an RTCP SR packet from the IP media flow analysis mixer module 282 and the time at which the client-client application 210 issued the RTCP SR packet being processed.
  • the mixer module analyzes IP media flows 282 calculates in step E810 the propagation delay noted DIP existing between the client-client application in question, in this case the client-client application 210 and the module IP 282 media flow analysis mixer.
  • the IP media flow analysis mixer module 282 calculates the DIP propagation delay by subtracting from the time Ti stored in step E808 the time Hi stored in step E806 as well as the content of the field 617 stored in step E809.
  • the DIP delay thus obtained is thus representative of a round trip of a packet between the client-client application 210 and the mixer module analyzing IP media flows 282 through the Internet network 260, the router 285 and the local network. 284.
  • the DIP delay is equal to the sum of the RMA delays from the RTCP packets between the mixer module for analyzing IP media flows 282 and the computer 204 and RAM from the RTCP packets between the computer 204 and the mixer module IP 282 media flow analysis.
  • each of the RMA and RAM delays is considered equal to half of the DIP delay.
  • step E811 consists in interrogating the database 271 in order to obtain the session contexts using the IP addresses of the computer 204, of the computer 223 as primary key and more particularly the references of the incoming and outgoing telephone channels of the communications between the subscriber 200 and the server 270 and between the subscriber 220 and the server 270.
  • the mixer module analyzes IP media flows 282 knowing the references of the incoming and outgoing telephone channels of communications between subscriber 200 and server 270 and between subscriber 220 and server 270, adds the RAM and RMB delays and generates step E812, a request to the voice mixer and delay module 281 so that the latter applies the sum of the delays on the voice flow transmitted by the telephone 203 and transmitted to the telephone 222.
  • the mixer module analyzes IP media flows 282 adds the RBM and RMB delays and at the same step E812 generates a request for the voice mixer module and delay 281 so that the latter applies the sum of the delays on the voice flow transmitted by the telephone 222 and transmitted to telephone 203. It should be noted here that, as a variant, the mixer module analyzes media flows
  • IP 282 interrogates the voice mixer and delay module 281 so as to determine the active voice flow, that is to say which subscriber is transmitting the voice flow. Depending on the response, if for example the subscriber 200 is speaking, the mixer module analyzes IP media flows 282 generates only one request to the voice mixer module and delay 281 so that the latter applies the sum of the delays on the voice stream transmitted by the telephone 203 and transmitted to the telephone 222.
  • the RBM and RMB delays have not yet been calculated, they are therefore considered to be zero. As a variant, they can be fixed at a predetermined value representative of average delays evaluated during previous sessions.
  • the mixer module analyzes IP media flows 282 returns to step E804 previously described and performs steps E805 to E807 to finally return to step E801 to receive a new packet.
  • the mixer module analyzes IP media flows 282 receives an RTCP SR packet from the application 227 from the computer 223, the latter performs the steps E801 to E803 and E808 to E812 in the same way and determines thus in step E810, the delay equal to the sum of the RMB delays originating from the RTCP packets between the mixer module analyzing IP media flows 282 and the computer 223 and RBM originating from the RTCP packets between the computer 223 and the mixer mixing module IP 282 media streams.
  • These RMB and RBM delays are considered equal to half the DIP delay.
  • the mixer module analyzes IP media flows 282 adds the RAM and RMB delays and generates in step E812 a request to the voice mixer and delay module 281 so that the latter applies the sum of the delays to the voice flow transmitted by the telephone 203 and transmitted to telephone 222. It adds the RBM and RMB delays and generates, at the same step E812, a request intended for the voice mixer and delay module 281 so that the latter applies the sum of the delays on the voice stream transmitted by telephone 222 and transmitted to telephone 203.
  • the mixer module analyzes the IP media flows 282 adds the RAM and RMC delays and at step E812 generates a request intended for the voice mixer and delay module 281 so that the one - this applies the sum of the delays on the voice flow transmitted by the telephone 203 and transmitted to the telephone 292.
  • the mixer module analyzes IP media flows 282 adds the RBM and RMC delays and generates in step E812 a request intended for the voice mixer and delay module 281 so that the latter applies the sum of the delays on the voice flow transmitted by the telephone 222 and transmitted to telephone 292.
  • the delays between RCM and RMC are determined in the same way as that previously described. They will not be described further.
  • the mixer module analyzes IP media flows 282 interrogates the voice mixer module and delays 281 so as to determine the active voice flow, that is to say which subscriber is in the process of play the voice stream.
  • the mixer module analyzes IP media flows 282 only generates two requests to the voice mixer module and delay 281 so that the latter applies the sum delays on the voice stream sent by the phone 203 and transmitted to the phone 222 and so that the latter applies the sum of the delays on the voice stream sent by the phone 203 and transmitted to the phone 292
  • the voice mixer and delay module 281 applies each delay to the telephone voice flows in the same way as that described by the voice management and delay module 181 with reference to FIG. 5b.
  • the voice mixer and delay module 281 applies the delays corresponding to the delays transmitted by the IP media flow analysis mixer module 282 if these delays are to be applied to the active voice flows, or alternatively the voice mixer and delay module 281 applies the corresponding delays delays transmitted by the IP 282 media flow analysis mixer module.
  • the media stream mixing module 282 reads from the RTCP SR packets received the field 615 comprising information on the variance of the time spent between the arrival of the RTP packets. If the variance is relatively large, for example of the order of a hundred milliseconds, the media stream mixing module 282 corrects the delays to be applied as a function thereof. In fact, computers 204, 223 and 295 adjust the size of their respective reception buffers to overcome this problem of variance or jitter, which of course delays the restitution of the video stream.
  • the media stream mixing module 282 on the basis of this variance information then increases the delay on the corresponding audio stream, for example by an additional delay of the order of 40 milliseconds.
  • the audio data stream is transmitted over the asynchronous network while the video data stream is transmitted over the synchronous network.
  • the video stream is then delayed in the same way as that described above. Synchronization as described above is carried out from packets conforming to the RTCP protocol. Of course, other types of packets conforming to other protocols can be used to determine the delay on the asynchronous network.
  • the server according to the invention can also operate with proprietary client-client applications different from the "Microsoft Netmeeting H323", or "FTR & D eConf SIP” applications.
  • the server according to the invention can also use packets of the ICMP (Internet Control and Error Message Protocol) type. To do this, periodically, for example every second, the server generates ICMP packets to subscribers' computers and stores the time at which they are sent. The server also memorizes the time at which each response sent by the computer is received and thus calculates the round trip delay of transfer between the server and each computer. Note that in this case, computers must respond immediately upon receipt of ICMP packets.
  • the invention as described can also synchronize two audio streams, one of the streams being carried on an asynchronous telecommunications network and the other being carried on a synchronous telecommunications network. The invention can also synchronize in the same way two video streams or any type of stream passing over different telecommunication networks.
  • the present invention is not limited to the embodiments described here, but encompasses, quite the contrary, any variant within the reach of ordinary skill in the art.

Abstract

The invention relates to a device for the synchronisation of a multimedia stream, comprising two distinct multimedia streams in a telecommunication network with a synchronous telecommunication network and an asynchronous telecommunication network, one of said streams passing through the asynchronous telecommunication network and the other passing through the synchronous telecommunication network, characterised in that said device comprises means for obtaining delay information representative of the delay in the transmission of the stream passing through the asynchronous network and means for modifying the delay of transmission of the multimedia stream passing through the synchronous network, based on the obtained delay information. The invention further relates to the corresponding synchronisation method.

Description

Procédé et dispositif de synchronisation de flux de données Data stream synchronization method and device
La présente invention concerne un procédé et un dispositif de synchronisation de flux de données.The present invention relates to a method and a device for synchronizing data flows.
Plus précisément, l'invention concerne le domaine de la synchronisation d'au moins deux flux, par exemple et de manière non limitative un flux de données audio et un flux de données vidéo. Un des flux est véhiculé sur un réseau de télécommunication asynchrone de paquets, au moins un autre des flux est véhiculé sur un réseau de télécommunication synchrone.More specifically, the invention relates to the field of synchronization of at least two streams, for example and without limitation an audio data stream and a video data stream. One of the flows is carried on an asynchronous packet telecommunications network, at least one other of the flows is carried on a synchronous telecommunications network.
Sont connus les dispositifs de transfert de données audio et vidéo sur un même réseau de télécommunication. L'échange de flux de données entre des visiophones sur un réseau de télécommunication de type RTC permet aux possesseurs de tels visiophones de pouvoir communiquer par la voix et l'image avec leur correspondant si celui-ci bien sûr possède un terminal équivalent.Audio and video data transfer devices on the same telecommunications network are known. The exchange of data flows between videophones on a PSTN type telecommunications network allows owners of such videophones to be able to communicate by voice and image with their correspondent if the latter of course has an equivalent terminal.
Le transfert de l'image sur un réseau commuté nécessite néanmoins une forte réduction de la qualité de l'image transmise. Ceci pénalise l'utilisation de tels services.The transfer of the image over a switched network nevertheless requires a sharp reduction in the quality of the image transmitted. This penalizes the use of such services.
CQPΕ DE €OWFMATtûi Beaucoup de personnes à travers le monde possèdent des ordinateurs reliés à un réseau tel que le réseau Internet, d'où l'intérêt croissant d'utiliser le réseau Internet comme médium de transmission de flux de données audio vidéo pour des applications de visioconférence. La nature même du réseau Internet fait que celui-ci n'est pas adapté à la transmission de données temps réel. Ce réseau ne garantissant pas une qualité de service, la qualité de transmission reste imparfaite.CQPΕ DE € OWFMATtûi Many people around the world have computers connected to a network such as the Internet, hence the growing interest in using the Internet as a medium for transmitting audio video data streams for video conferencing applications. The very nature of the Internet makes it unsuitable for real-time data transmission. This network does not guarantee a quality of service, the quality of transmission remains imperfect.
Des protocoles tels que le protocole de transmission temps réel de type RTP (Real Time Protocol) et le protocole de contrôle de transmission temps réel RTCP (Real Time Transfert Control Protocol) tentent de résoudre les problèmes liés à l'utilisation du réseau Internet comme médium de transmission.Protocols such as the Real Time Protocol (RTP) and Real Time Transfer Control Protocol (RTCP) try to solve the problems associated with using the Internet as a medium. of transmission.
Le protocole RTP fournit un moyen uniforme de transmission de données soumises à des contraintes temps réel. Il permet d'identifier le type de l'information transportée, d'ajouter des marqueurs temporels ainsi que des numéros de séquences aux informations qu'il transporte. Lorsque des données multimédia sont transmises selon le protocole RTP, un canal RTP est établi pour chacun des flux vidéo et audio pour chaque sens de transmission entre les correspondants. En effet, le protocole RTP est destiné à ne transporter qu'un seul type d'information à la fois.The RTP protocol provides a uniform means of transmitting data subject to real-time constraints. It identifies the type of information being transported, adding time markers and sequence numbers to the information it carries. When multimedia data is transmitted according to the RTP protocol, an RTP channel is established for each of the video and audio streams for each direction of transmission between the parties. Indeed, the RTP protocol is intended to transport only one type of information at a time.
Le multiplexage, le démultiplexage et la synchronisation des flux audio et vidéo est quant à lui effectué au niveau de l'application destinataire des flux audio et vidéo.Multiplexing, demultiplexing and synchronization of audio and video streams is carried out at the level of the application receiving audio and video streams.
Le protocole RTCP permet de contrôler les flux de données échangés selon le protocole RTP. Il permet aussi de véhiculer des informations sur la qualité de service des flux de données échangés avec le protocole RTP.The RTCP protocol makes it possible to control the data flows exchanged according to the RTP protocol. It also makes it possible to convey information on the quality of service of the data flows exchanged with the RTP protocol.
Ces protocoles RTP et RTCP ne garantissent néanmoins pas la qualité de service.However, these RTP and RTCP protocols do not guarantee quality of service.
Sont connus les procédés de transfert de données audio et vidéo dans lesquels le signal audio est transmis sur un réseau téléphonique tandis que la vidéo est transmise par l'intermédiaire du réseau Internet. Ceci est particulièrement le cas lorsque deux correspondants sont en communication téléphonique et échangent en même temps des informations vidéo capturées par leurs caméras vidéo (webcam) de leurs ordinateurs.Methods of transferring audio and video data are known in which the audio signal is transmitted over a telephone network while the video is transmitted via the Internet. This is particularly the case when two correspondents are on a telephone call and at the same time exchange video information captured by their video cameras (webcam) on their computers.
Le problème lié à ces transferts de données utilisant différents médiums de transmission est un manque de synchronisation à la réception des données. Ce problème est d'autant plus important si les abonnées utilisent deux dispositifs différents indépendants l'un de l'autre pour recevoir les flux de données vidéo et les flux de données audio.The problem with these data transfers using different transmission media is a lack of synchronization when receiving data. This problem is all the more important if the subscribers use two different devices independent of each other to receive the video data streams and the audio data streams.
L'invention a pour but de résoudre les inconvénients de l'art antérieur en proposant un dispositif de synchronisation d'un flux multimédia constitué de deux flux multimédia distincts dans un réseau de télécommunication constitué d'un réseau de télécommunication synchrone et d'un réseau de télécommunication asynchrone, un desdits flux transitant sur le réseau de télécommunication asynchrone, l'autre flux transitant sur le réseau de télécommunication synchrone, caractérisé en ce que le dispositif comporte :The invention aims to solve the drawbacks of the prior art by proposing a device for synchronizing a multimedia stream consisting of two separate multimedia streams in a telecommunications network consisting of a synchronous telecommunications network and a network. of asynchronous telecommunication, one of said flows transiting on the asynchronous telecommunication network, the other flux transiting on the synchronous telecommunication network, characterized in that the device comprises:
- des moyens pour obtenir des informations de délai représentatives du délai de transmission du flux transitant sur le réseau asynchrone,means for obtaining delay information representative of the delay in transmitting the flow passing over the asynchronous network,
- des moyens pour modifier le délai de transmission du flux multimédia transitant sur le réseau synchrone à partir des informations de délai obtenues. Corrélativement, l'invention propose un procédé de synchronisation d'un flux multimédia constitué de deux flux multimédia distincts dans un réseau de télécommunication constitué d'un réseau de télécommunication synchrone et d'un réseau de télécommunication asynchrone (160, 260), un desdits flux transitant sur le réseau de télécommunication asynchrone, l'autre flux transitant sur le réseau de télécommunication synchrone, caractérisé en ce que le procédé comporte les étapes de :- Means for modifying the delay of transmission of the multimedia stream transiting on the synchronous network from the delay information obtained. Correlatively, the invention provides a method of synchronizing a multimedia stream consisting of two separate multimedia streams in a telecommunications network consisting of a synchronous telecommunications network and an asynchronous telecommunications network (160, 260), one of said flow passing through the asynchronous telecommunications network, the other flow passing through the synchronous telecommunications network, characterized in that the method comprises the steps of:
- obtention d'informations de délai représentatives du délai de transmission du flux transitant sur le réseau asynchrone,- obtaining delay information representative of the delay in transmitting the flow passing over the asynchronous network,
- modification du délai de transmission du flux multimédia transitant sur le réseau synchrone à partir des informations de délai obtenues.- modification of the delay of transmission of the multimedia stream transiting on the synchronous network from the delay information obtained.
Ainsi, l'invention en utilisant deux réseaux différents et leurs spécificités respectives permet de transférer un flux multimédia tout en garantissant par la synchronisation une qualité de réception optimale.Thus, the invention by using two different networks and their respective specificities makes it possible to transfer a multimedia stream while guaranteeing by synchronization an optimal quality of reception.
Nous entendons par réseau de télécommunication synchrone, un réseau qui garantit le délai de transmission des données transmises sur ce réseau. Une partie de ce réseau de télécommunication synchrone peut être constituée d'un réseau de télécommunication asynchrone auquel sont associés des moyens de contrôle du délai de réception des données. Ceci est par exemple le cas d'un réseau téléphonique fixe de la société France Télécom. Plus précisément, le réseau de télécommunication asynchrone est relié à un dispositif informatique comportant au moins une application client-client recevant un flux de données vidéo et le réseau de télécommunication synchrone est relié à un combiné téléphonique recevant un flux de données audio. Ainsi, une personne habituée à utiliser son combiné téléphonique pour communiquer n'a pas à modifier ses habitudes. En effet, il est difficile pour un individu de parler en face d'un dispositif informatique, le même individu est par contre habitué à se placer devant un dispositif informatique pour visualiser des informations telles que des flux vidéo. De plus, les personnes utilisant des systèmes tels que les visiophones préfèrent en premier lieu établir une communication téléphonique avant de doubler la communication par un flux vidéo.We understand by synchronous telecommunications network, a network which guarantees the delay of transmission of the data transmitted on this network. A part of this synchronous telecommunication network may consist of an asynchronous telecommunication network with which there are associated means for controlling the delay in receiving data. This is for example the case of a fixed telephone network of the company France Telecom. More specifically, the asynchronous telecommunications network is connected to a computer device comprising at least one client-client application receiving a video data stream and the synchronous telecommunications network is connected to a telephone handset receiving an audio data stream. Thus, a person accustomed to using their telephone handset to communicate does not have to change their habits. Indeed, it is difficult for an individual to speak in front of a computer device, the same individual is however used to stand in front of a computer device to view information such as video streams. In addition, people using systems such as videophones prefer first to establish a telephone communication before doubling the communication by a video stream.
Le dispositif selon l'invention permet aussi de synchroniser des flux audio et vidéo reçus par différents dispositifs sans que ces mêmes dispositifs soient reliés entre eux ou échangent des informations. Les dispositifs informatiques ainsi que les combinés téléphoniques n'ont pas besoin d'être modifiés pour permettre la réalisation de l'invention.The device according to the invention also makes it possible to synchronize audio and video streams received by different devices without these same devices being connected to each other or exchanging information. The computer devices as well as the telephone handsets do not need to be modified to allow the invention to be carried out.
Plus particulièrement, les informations représentatives du délai de transmission du flux transitant sur le réseau asynchrone sont obtenues à partir de paquets de contrôle du flux de données vidéo transitant sur le réseau asynchrone.More particularly, the information representative of the transmission delay of the stream passing over the asynchronous network is obtained from control packets of the video data stream passing over the asynchronous network.
Ainsi, la synchronisation est effectuée de façon simple, seuls les paquets de contrôle sont utilisés pour la synchronisation et ainsi le dispositif de synchronisation est simplifié.Thus, synchronization is carried out in a simple manner, only the control packets are used for synchronization and thus the synchronization device is simplified.
Plus précisément, on obtient les informations représentatives du délai de transmission du flux transitant sur le réseau asynchrone en mémorisant les instants de réception des paquets de contrôle du flux de données vidéo transitant sur le réseau asynchrone, en lisant au moins un champ prédéterminé des paquets de contrôle du flux de données vidéo et en calculant le délai à partir des instants mémorisés et du au moins un champ prédéterminé lu. Ainsi, la synchronisation est effectuée de façon simple.More precisely, the information representative of the delay of transmission of the flow passing through the asynchronous network is obtained by memorizing the instants of reception of the control packets of the video data flow passing through the asynchronous network, by reading at least one predetermined field of the packets of control of the video data flow and by calculating the delay from the memorized instants and from the at least one predetermined field read. Thus, synchronization is carried out in a simple manner.
Avantageusement, on modifie le délai de transmission du flux transitant sur le réseau synchrone en mémorisant les données du flux audio transitant sur le réseau synchrone, en déterminant l'adresse de lecture des données à partir des informations obtenues et en transférant, à partir de l'adresse déterminée, les données mémorisées sur le réseau synchrone à destination du combiné téléphonique.Advantageously, the transmission delay of the stream passing over the synchronous network is modified by memorizing the data of the audio stream passing over the synchronous network, by determining the address for reading the data from the information. obtained and by transferring, from the determined address, the data stored on the synchronous network to the telephone handset.
Ainsi, la synchronisation du flux audio est réalisée de façon simple par une détermination d'adresse de lecture mémoire des données du flux audio mémorisées. Avantageusement, on reçoit des paquets de contrôle du flux de données vidéo transitant sur le réseau asynchrone et on génère des paquets de contrôle du flux de données vidéo transitant sur le réseau asynchrone.Thus, the synchronization of the audio stream is carried out in a simple manner by determining a memory read address of the data of the stored audio stream. Advantageously, control packets of the video data flow passing over the asynchronous network are received and control packets of the video data flow passing over the asynchronous network are generated.
Plus précisément, le dispositif de synchronisation comporte des moyens de réception d'au moins un appel issu d'un combiné téléphonique, des moyens d'obtention d'au moins un identifiant d'un combiné téléphonique avec lequel le combiné téléphonique appelant désire établir une communication téléphonique et des moyens de mise en correspondance du dispositif informatique associé à l'utilisateur associé au combiné téléphonique appelant avec le dispositif informatique associé à l'utilisateur au combiné téléphonique avec lequel le combiné téléphonique appelant désire établir une communication téléphonique.More specifically, the synchronization device comprises means for receiving at least one call from a telephone handset, means for obtaining at least one identifier for a telephone handset with which the calling telephone handset wishes to establish a telephone communication and means for matching the computer device associated with the user associated with the calling telephone handset with the computer device associated with the user with the telephone handset with which the calling telephone handset wishes to establish a telephone communication.
Ainsi, l'utilisateur n'a pas besoin de connaître l'adresse électronique du dispositif informatique de son correspondant, seul le numéro de téléphone de celui-ci a besoin d'être connu.Thus, the user does not need to know the electronic address of the computer device of his correspondent, only the telephone number of the latter needs to be known.
Les avantages des procédés étant identiques à ceux mentionnés pour les dispositifs, ceux-ci ne seront pas rappelés.The advantages of the methods being identical to those mentioned for the devices, these will not be recalled.
L'invention concerne aussi le programme d'ordinateur stocké sur un support d'informations, ledit programme comportant des instructions permettant de mettre en œuvre le procédé de traitement précédemment décrit, lorsqu'il est chargé et exécuté par un système informatique. Les caractéristiques de l'invention mentionnées ci-dessus, ainsi que d'autres, apparaîtront plus clairement à la lecture de la description suivante d'un exemple de réalisation, ladite description étant faite en relation avec les dessins joints, parmi lesquels: la Fig. 1 représente un premier mode de réalisation de l'invention dans un réseau de télécommunication comportant une architecture nœud de service ; la Fig. 2 représente l'algorithme d'enregistrement au service tel que fourni par l'invention dans le réseau de télécommunication ; la Fig. 3 représente un algorithme décrivant la cinématique d'activation d'une application de type client-client en parallèle d'une communication téléphonique ; la Fig. 4 représente un paquet de rapport émetteur RTCP SR conforme au protocole RTCP ; la Fig. 5a représente un algorithme décrivant la détermination du retard sur le réseau de télécommunication par paquet selon le premier mode de réalisation de l'invention ; la Fig. 5b représente un algorithme décrivant l'application du retard sur les flux vocaux téléphoniques effectué par le module de gestion vocale et retard ; la Fig. 6 représente un second mode de réalisation de l'invention dans un réseau de télécommunication comportant une architecture nœud de service dans le cadre d'un service de mise en relation d'abonnés en conférence ; la Fig. 7 représente un algorithme décrivant la cinématique d'activation d'une conférence téléphonique entre trois abonnés, couplée avec une application de type client-client gérée dans le cadre d'une architecture de type nœud de service ; la Fig. 8 représente un algorithme décrivant la détermination du retard sur le réseau de télécommunication par paquets selon le second mode de réalisation de l'invention.The invention also relates to the computer program stored on an information medium, said program comprising instructions making it possible to implement the processing method described above, when it is loaded and executed by a computer system. The characteristics of the invention mentioned above, as well as others, will appear more clearly on reading the following description of an exemplary embodiment, said description being made in relation to the accompanying drawings, among which: FIG. . 1 shows a first embodiment of the invention in a telecommunications network comprising a service node architecture; Fig. 2 represents the service registration algorithm as provided by the invention in the telecommunications network; Fig. 3 represents an algorithm describing the kinematics of activation of a client-client type application in parallel with a telephone communication; Fig. 4 represents an RTCP SR transmitter report packet conforming to the RTCP protocol; Fig. 5a represents an algorithm describing the determination of the delay on the packet telecommunications network according to the first embodiment of the invention; Fig. 5b represents an algorithm describing the application of the delay on the telephone voice flows carried out by the voice and delay management module; Fig. 6 shows a second embodiment of the invention in a telecommunication network comprising a service node architecture within the framework of a service for connecting subscribers in conference; Fig. 7 shows an algorithm describing the kinematics of activating a conference call between three subscribers, coupled with a client-client type application managed within the framework of a service node type architecture; Fig. 8 represents an algorithm describing the determination of the delay on the packet telecommunications network according to the second embodiment of the invention.
La Fig. 1 représente un premier mode de réalisation de l'invention dans un réseau de télécommunication comportant une architecture service node. Dans une architecture service node (nœud de service), le serveur se connecte au réseau de la même manière qu'un terminal d'un abonné.Fig. 1 shows a first embodiment of the invention in a telecommunications network comprising a service node architecture. In a service node architecture, the server connects to the network in the same way as a subscriber terminal.
Le réseau de télécommunication comprend un fournisseur de services d'applications ASP noté 190 qui est par exemple associé à un opérateur de télécommunication 140, un réseau téléphonique commuté 141, un réseau de téléphones mobiles 148, de type GSM acronyme de Global System Mobile ou de type UMTS acronyme de Universal Mobile Télécommunication System, un réseau ISP 150 (fournisseur de services Internet) et un réseau Internet public 160.The telecommunications network includes an ASP application service provider noted 190 which is for example associated with a telecommunications operator 140, a switched telephone network 141, a network of mobile telephones 148, of GSM type acronym of Global System Mobile or UMTS type acronym of Universal Mobile Telecommunications System, an ISP 150 network (Internet service provider) and a public Internet network 160.
Le réseau téléphonique commuté 141, le réseau de téléphones mobiles 148, de type GSM acronyme de Global System Mobile ou de type UMTS acronyme de Universal Mobile Télécommunication System constituent le réseau de télécommunication synchrone.The switched telephone network 141, the mobile telephone network 148, of GSM type acronym of Global System Mobile or of UMTS type acronym of Universal Mobile Telecommunications System constitute the synchronous telecommunications network.
Le réseau Internet public 160 est ici le réseau de télécommunication asynchrone. Le réseau téléphonique commuté 141 est associé à un commutateur à autonomie d'acheminement CAA noté 142 permettant la fourniture du service téléphonique classique à un abonné 100.The public Internet 160 is here the asynchronous telecommunications network. The switched telephone network 141 is associated with a autonomy switch CAA noted 142 allowing the provision of conventional telephone service to a subscriber 100.
Le réseau téléphonique commuté 141 est relié au réseau de téléphones mobiles 148.The switched telephone network 141 is linked to the mobile telephone network 148.
Le fournisseur de services d'applications ASP 190 comprend un réseau local 184.The ASP application service provider 190 includes a local area network 184.
Le réseau local 184 est aussi relié au réseau public Internet 160 au travers d'un routeur Firewall 185 assurant aussi la sécurité des échanges d'informations entre les réseaux 184 et 160 tout en veillant à ce qu'aucune intrusion ne puisse être effectuée dans le réseau 184.The local network 184 is also connected to the public Internet network 160 through a Firewall router 185 also ensuring the security of information exchanges between the networks 184 and 160 while ensuring that no intrusion can be carried out in the network 184.
A ce réseau local 184, est connecté un serveur 170. Le serveur 170 est aussi connecté au réseau téléphonique 141 via le commutateur à autonomie d'acheminement 142. Le serveur 170 est soit centralisé sur un seul dispositif, soit réparti sur différents dispositifs placés ou non sur un même site.A server 170 is connected to this local network 184. The server 170 is also connected to the telephone network 141 via the routing autonomy switch 142. The server 170 is either centralized on a single device, or distributed over different devices placed or not on the same site.
Le serveur 170 est constitué d'une base de données du service 171 dans laquelle sont mémorisées des informations nécessaires à l'exécution des services selon l'invention. Ces informations sont, par exemple et de manière non limitative, des informations mémorisées de manière permanente telles que les profils d'abonnement des abonnés aux services selon l'invention.The server 170 consists of a service database 171 in which are stored information necessary for the execution of the services according to the invention. This information is, for example and without limitation, information permanently stored such as the subscription profiles of subscribers to the services according to the invention.
La base de données 171 comporte aussi des informations temporaires liées aux sessions des abonnés. Ces informations sont, par exemple et de manière non limitative, le/les numéros de téléphone associés au service, l'adresse Internet des ordinateurs des abonnés, les numéros de port des applications client-client dont les ordinateurs des abonnés disposent.The database 171 also includes temporary information linked to the subscribers' sessions. This information is, for example and without limitation, the telephone number (s) associated with the service, the Internet address of the subscribers 'computers, the port numbers of the client-client applications available to the subscribers' computers.
Le serveur 170 comporte aussi un module d'enregistrement 172 des logiciels clients des abonnés au service. Ces logiciels clients seront décrits ultérieurement.The server 170 also includes a recording module 172 of the client software of the subscribers to the service. This client software will be described later.
Le serveur 170 comporte aussi un module 173 de notification d'événements réseaux et d'informations des logiciels clients 107 et 124.The server 170 also includes a module 173 for notification of network events and information from the client software 107 and 124.
Le serveur 170 comporte aussi une interface IP 178 de type Ethernet permettant au serveur 170 de se connecter avec le réseau local 184. Le serveur 170 comporte un module automate d'appels 179 qui traite la signalisation des appels téléphoniques entrants et sortants.The server 170 also includes an IP interface 178 of the Ethernet type allowing the server 170 to connect with the local network 184. The server 170 comprises an automatic call module 179 which processes the signaling of incoming and outgoing telephone calls.
Le serveur 170 comporte une interface téléphonique RTC 180 de type ISUP (protocole de signalisation utilisateur RNIS), RNIS étant l'acronyme de Réseau Numérique à Intégration de Services qui permet la connexion du serveur 170 avec le réseau téléphonique 141 via le CAA 142 de l'opérateur de télécommunication 140.The server 170 comprises a telephone interface PSTN 180 of the ISUP type (ISDN user signaling protocol), ISDN being the acronym of Digital Network with Services Integration which allows the connection of the server 170 with the telephone network 141 via the CAA 142 of the telecommunications operator 140.
Il est à remarquer que l'interface 180 peut être aussi une interface conforme à la norme SS7 (code de signalisation 7).It should be noted that the interface 180 can also be an interface conforming to the standard SS7 (signaling code 7).
Le serveur 170 comporte aussi un module 181 de gestion des flux vocaux téléphoniques RTC permettant une mise en correspondance des canaux média de la communication téléphonique entrante et de la communication téléphonique sortante. Le module 181 permet aussi la génération de retard entre les flux vocaux entrants et les flux vocaux sortants, ces retards pouvant être différents selon le sens de la communication. Le serveur 170 comporte aussi un module 183 appelé proxy utilisé par les applications de type client-client (voire de type client-serveur).The server 170 also includes a module 181 for managing the PSTN telephone voice streams allowing the media channels of the incoming telephone communication and the outgoing telephone communication to be matched. The module 181 also allows the generation of delay between the incoming voice flows and the outgoing voice flows, these delays being able to be different according to the direction of the communication. The server 170 also includes a module 183 called proxy used by client-client type applications (or even client-server type).
De manière générale, un proxy est un serveur qui fait office d'interface entre un abonné et un autre abonné distant. Le proxy fait suivre les messages générés par l'abonné au destinataire. Le destinataire répond au proxy comme si celui-ci était générateur du message. Le proxy fait alors suivre la réponse à l'abonné.Generally, a proxy is a server that acts as an interface between a subscriber and another remote subscriber. The proxy forwards messages generated by the subscriber to the recipient. The recipient replies to the proxy as if it were the generator of the message. The proxy then forwards the response to the subscriber.
Les flux de signalisation ainsi que les flux de contrôle des médias selon le protocole Internet vont transiter par ce module. Selon un mode particulier, et pour des aspects de performance, les flux média IP selon le protocole Internet peuvent ne pas emprunter le module 183. Par exemple, le module 183 peut traiter plusieurs types d'applications telles que des flux vidéo codés selon les formats H323 ou SIP.The signaling flows as well as the media control flows according to the Internet protocol will pass through this module. According to a particular mode, and for performance aspects, the IP media streams according to the Internet protocol may not borrow the module 183. For example, the module 183 can process several types of applications such as video streams encoded according to the formats H323 or SIP.
Le serveur 170 comporte aussi un module 182 d'analyse des paquets de contrôle des flux média IP transitant à travers le module 183.The server 170 also includes a module 182 for analyzing IP media flow control packets passing through the module 183.
A titre d'exemple, si la communication de données est de type vidéo sur IP, les paquets média vidéo transportés selon le protocole RTP (protocole de transport en temps réel) peuvent ou non transiter par le proxy IP 183.For example, if the data communication is of the video over IP type, the video media packets transported according to the RTP protocol (real-time transport protocol) may or may not pass through the IP proxy 183.
Les paquets de contrôle des paquets média vidéo conformes au protocole RTCP (protocole de contrôle de transport en temps réel) transitent par le proxy 183 adapté à cette application vidéo. Le module d'analyse des paquets de contrôle des flux média extrait les paquets de contrôle RTCP et analyse leur contenu.The control packets for video media packets conforming to the RTCP protocol (real-time transport control protocol) pass through the proxy 183 adapted to this video application. The media flow control packet analysis module extracts the RTCP control packets and analyzes their content.
Parmi les informations, on peut trouver pour chaque sens de la communication, le délai de transmission, le taux de perte de paquets, le débit et la gigue. Avec ces informations, le retard généré par le module de retard vocal 181 est adapté.Among the information, one can find for each direction of communication, the transmission delay, the packet loss rate, the bit rate and the jitter. With this information, the delay generated by the voice delay module 181 is adapted.
L'abonné 100 dispose d'équipements tels qu'un combiné téléphonique 103, fixe ou mobile, connecté directement ou par l'intermédiaire d'un autocommutateur 102 au réseau téléphonique commuté 141 par l'intermédiaire d'un CAA 142. II est à remarquer que le numéro de téléphone peut être le numéro de téléphone d'un combiné téléphonique 103 placé sur le même site que le dispositif informatique ou sur un site différent.The subscriber 100 has equipment such as a telephone handset 103, fixed or mobile, connected directly or by means of a PABX 102 to the switched telephone network 141 via a CAA 142. It is to note that the telephone number can be the telephone number of a telephone handset 103 placed on the same site as the computer device or on a different site.
L'abonné 100 dispose en outre d'un ordinateur 104 connecté à un réseau local 105. Le réseau local 105 est relié à un réseau de type Internet 160 par l'intermédiaire d'une passerelle 106 ou routeur Firewall apte à assurer le routage des données dans le réseau 105 et à assurer la fonction de passerelle entre le réseau 105 et le réseau Internet 160. Il est à remarquer que le routeur Firewall 106 peut assurer la sécurité des échanges d'informations entre les réseaux 105 et 160 en veillant à ce qu'aucune intrusion ne puisse être effectuée dans le réseau 105. L'ordinateur 104 dispose dans sa mémoire des programmes aptes à mettre en œuvre l'invention. Il comporte des logiciels 107, et 110.The subscriber 100 also has a computer 104 connected to a local network 105. The local network 105 is connected to an Internet type network 160 by means of a gateway 106 or firewall router capable of routing the data in network 105 and to act as a gateway between network 105 and the Internet 160. It should be noted that the Firewall router 106 can ensure the security of information exchanges between networks 105 and 160 by ensuring that no intrusion can be made into the network 105. The computer 104 has in its memory programs capable of implementing the invention. It includes software 107, and 110.
Les logiciels 110 sont des applications de type client-client qui dialoguent avec un ordinateur 123 par l'intermédiaire du réseau local 105, du routeur Firewall 106, du réseau Internet 160, du routeur 151, du réseau ISP 150 et d'un modem 121. Le logiciel 107 dit logiciel client est le logiciel qui dialogue avec le serveur 170 selon l'invention et propose l'activation d'une ou plusieurs applications client-client 110 à l'abonné 100 ou active automatiquement une application client-client.The software 110 is client-client type applications which communicate with a computer 123 via the local network 105, the Firewall router 106, the Internet network 160, the router 151, the ISP network 150 and a modem 121 The software 107 said client software is the software which dialogs with the server 170 according to the invention and proposes the activation of one or more client-client applications 110 to the subscriber 100 or automatically activates a client-client application.
L'abonné 120 dispose d'équipements tels qu'un combiné téléphonique mobile 122 connecté au réseau mobile 148. L'abonné 120 dispose en outre d'un ordinateur 123 connecté par l'intermédiaire d'un modem 121, au réseau Internet 160 par l'intermédiaire du réseau 150 de son fournisseur de services Internet, et d'un routeur 151.The subscriber 120 has equipment such as a mobile telephone handset 122 connected to the mobile network 148. The subscriber 120 furthermore has a computer 123 connected by means of a modem 121, to the Internet network 160 by through the network 150 of its Internet service provider, and a router 151.
Le modem 121 est un modem classique de type RTC ou RNIS. Le modem 121 peut aussi être un modem de type ADSL (Asynchronous Digital Subscriber Line) ou un dispositif de télécommunication permettant le transfert d'informations sur le câble ou réseau de diffusion par satellite voire un réseau Wifi (réseau local sans fils à haut débit).Modem 121 is a conventional PSTN or ISDN modem. Modem 121 can also be an ADSL (Asynchronous Digital Subscriber Line) type modem or a telecommunication device allowing the transfer of information on the cable or satellite broadcasting network or even a Wifi network (high speed wireless local area network).
L'ordinateur 123 dispose dans sa mémoire des programmes 124 et 127 aptes à mettre en œuvre l'invention et offrant les mêmes fonctionnalités que les logiciels respectifs 107 et 110 présents sur l'ordinateur 104 de l'abonné 100.The computer 123 has programs 124 and 127 in its memory capable of implementing the invention and offering the same functionalities as the respective software 107 and 110 present on the computer 104 of the subscriber 100.
La Fig. 2 représente l'algorithme d'enregistrement au service tel que fourni par l'invention dans le réseau de télécommunication.Fig. 2 shows the service registration algorithm as provided by the invention in the telecommunications network.
Un abonné au service, par exemple l'abonné 100 de la Fig. 1, souhaite établir le couplage téléphonique/données selon 1 ' invention.A subscriber to the service, for example subscriber 100 in FIG. 1, wishes to establish the telephone / data coupling according to the invention.
Pour cela, l'ordinateur 104 de l'abonné 100 exécute le programme logiciel client 107.For this, the computer 104 of the subscriber 100 executes the client software program 107.
L'ordinateur 104 se connecte par l'intermédiaire du réseau local 105, du routeur Firewall 106, du réseau Internet public 160, du routeur Firewall 185 et du réseau local 184 au module d'enregistrement client 172 du serveur 170 de l'ASP 190.The computer 104 connects via the local network 105, the Firewall router 106, the public Internet network 160, the Firewall router 185 and the local network 184 to the client registration module 172 of the server 170 of the ASP 190 .
Le programme logiciel client 107 demande à l'étape E100 son enregistrement auprès du module d'enregistrement logiciel client 172.The client software program 107 requests in step E100 its registration with the client software registration module 172.
Pour se faire, le logiciel client 107 fournit au module d'enregistrement client 172, son nom d'utilisateur, le mot de passe associé au nom de l'utilisateur précédemment attribué lorsque l'abonné 100 s'est inscrit au service. Le logiciel client 107 fournit aussi l'adresse IP (adresse protocole Internet) de l'ordinateur 104, le ou les numéros de téléphone du ou des combinés téléphoniques utilisés pour accéder au service.To do this, the client software 107 supplies the client registration module 172 with its user name and the password associated with the name of the user previously assigned when the subscriber 100 has registered for the service. The client software 107 also provides the IP address (Internet protocol address) of the computer 104, the telephone number (s) of the telephone handset (s) used to access the service.
Il est à remarquer que le numéro de téléphone peut être le numéro de téléphone d'un combiné téléphonique 103 placé sur le même site que le dispositif informatique ou sur un site différent.It should be noted that the telephone number can be the telephone number of a telephone handset 103 placed on the same site as the computer device or on a different site.
Le logiciel client 107 fournit aussi son profil d'utilisateur, c'est-à-dire le numéro de ports des applications de type client-client 10 dont il dispose.The client software 107 also provides its user profile, that is to say the port number of the client-client type applications 10 which it has.
Il est à remarquer que, en variante, le profil de l'utilisateur peut aussi être réalisé de façon prédéterminée par l'ASP 190 fournissant le service. Le logiciel client 107, dans cette variante, n'a plus à fournir le profil d'utilisateur, celui-ci étant créé par l'ASP 190 et mémorisé dans la base de données 171 du serveur 170.It should be noted that, as a variant, the profile of the user can also be produced in a predetermined manner by the ASP 190 providing the service. The client software 107, in this variant, no longer has to provide the user profile, this being created by the ASP 190 and stored in the database 171 of the server 170.
Le module enregistrement logiciel client 172 du serveur 170 interroge la base de données 171 du serveur 170 à l'étape E101 afin de l'authentifier. Cette authentification est effectuée en vérifiant si le nom de l'utilisateur est reconnu comme client et si son mot de passe est correct. Dans la négative, la connexion est rejetée, le programme s'arrête.The client software registration module 172 of the server 170 interrogates the database 171 of the server 170 in step E101 in order to authenticate it. This authentication is performed by checking if the user name is recognized as a client and if their password is correct. If not, the connection is rejected, the program stops.
Dans l'affirmative, le module enregistrement logiciel client 172 confirme au logiciel client 107 l'enregistrement à l'étape El 02.In the affirmative, the client software registration module 172 confirms to the client software 107 the registration in step El 02.
A la confirmation de l'enregistrement, le serveur 170 active une procédure de vérification périodique du maintien de la connexion de l'ordinateur 104 au réseau Internet public 160.When the registration is confirmed, the server 170 activates a periodic verification procedure for maintaining the connection of the computer 104 to the public Internet network 160.
Périodiquement, le module de notification d'événements réseaux et d'informations des logiciels clients 173 transmet une requête à l'étape E103 au logiciel client 107. Tant que l'ordinateur 104 est toujours connecté au réseau 160 et le logiciel client 107 est toujours actif, le logiciel client 107 répond à la requête en envoyant au module de notification d'événements réseaux et d'informations des logiciels clients 173, à l'étape El 04, un message de confirmation d'activité. Le module de notification d'événements réseaux et d'informations des logiciels clients 173 vérifie, après avoir attendu un délai prédéterminé, la réception du message à l'étape El 05, et en cas de confirmation, retourne à l'étape El 03.Periodically, the network event and client software information notification module 173 transmits a request in step E103 to the client software 107. As long as the computer 104 is always connected to the network 160 and the client software 107 is always active, the client software 107 responds to the request by sending to the module for notifying network events and information of the client software 173, in step E1 04, an activity confirmation message. The module for notifying network events and information of client software 173 checks, after having waited for a predetermined period, the reception of the message in step El 05, and in the event of confirmation, returns to step El 03.
A la non-réception d'une réponse à une requête transmise à l'étape El 03, le module de notification d'événements réseaux et d'informations des logiciels clients 173 arrête la session en cours.On the non-reception of a response to a request transmitted in step El 03, the module for notification of network events and information from client software 173 stops the current session.
Selon un mode particulier, la connexion entre le logiciel client 107 et le serveur de l'invention 170 n'est pas permanente. Une connexion de type TCP (protocole de contrôle transport) est établie à l'initiative du logiciel client 107 lors de la phase d'enregistrement et est libérée de manière à partager au mieux les ressources entre l'ensemble des abonnés.According to a particular mode, the connection between the client software 107 and the server of the invention 170 is not permanent. A connection of the TCP (transport control protocol) type is established on the initiative of the client software 107 during the recording phase and is released so as to best share the resources between all of the subscribers.
Ainsi, lorsqu'une notification par le serveur 170 doit être transmise au logiciel client 107, le serveur 170 établit une connexion TCP vers le logiciel client 107.Thus, when a notification by the server 170 must be transmitted to the client software 107, the server 170 establishes a TCP connection to the client software 107.
Selon une autre variante, le procédé utilise le protocole UDP (User Data Protocol) plus rapide que le protocole TCP. Dans ce cas, afin de pallier aux problèmes de fiabilité du protocole UDP, le logiciel client 107 et le serveur 170 doivent garantir cette fiabilité en générant des messages de confirmation.According to another variant, the method uses the UDP protocol (User Data Protocol) faster than the TCP protocol. In this case, in order to overcome the reliability problems of the UDP protocol, the client software 107 and the server 170 must guarantee this reliability by generating confirmation messages.
La Fig. 3 représente un algorithme décrivant la cinématique d'activation d'une application de type client-client en parallèle d'une communication téléphonique. Selon cette application, l'activation de l'application client-client est gérée par une architecture de type service node, avec passage de la signalisation, des flux média et des flux de contrôle des flux média de l'application client-client au travers d'un module proxy 183. Dans cet exemple, l'application IP est synchronisée avec l'application vocale téléphonique en effectuant une mesure du retard sur le réseau IP et en appliquant un retard similaire sur le flux vocal véhiculé par le réseau RTC.Fig. 3 represents an algorithm describing the kinematics of activation of a client-client type application in parallel with a telephone communication. According to this application, the activation of the client-client application is managed by a service node type architecture, with signaling, media flows and control flows of the client-client application media flows passing through of a proxy module 183. In this example, the IP application is synchronized with the telephone voice application by performing a delay measurement on the IP network and by applying a similar delay to the voice flow carried by the PSTN network.
Préalablement à un appel téléphonique, l'abonné 100 s'enregistre au service tel que fourni par l'invention dans le réseau conforme au premier mode de réalisation.Prior to a telephone call, the subscriber 100 registers for the service as provided by the invention in the network according to the first embodiment.
Pour cela, l'ordinateur 104 de l'abonné 100 exécute le programme logiciel client 107.For this, the computer 104 of the subscriber 100 executes the client software program 107.
L'ordinateur 104 se connecte par l'intermédiaire du réseau local 105, du routeur Firewall 106, du réseau Internet public 160, du routeur 185 et du réseau local 184 au module d'enregistrement client 172 du serveur 170 de l'ASP 190.The computer 104 connects via the local network 105, the Firewall router 106, the public Internet network 160, the router 185 and the local network 184 to the client registration module 172 of the server 170 of the ASP 190.
Le programme logiciel client 107, le module enregistrement logiciel client 172 du serveur 170 exécutent l'algorithme d'enregistrement tel que décrit précédemment en référence à la Fig. 2.The client software program 107, the client software recording module 172 of the server 170 execute the recording algorithm as described previously with reference to FIG. 2.
L'enregistrement effectué, l'abonné 100 décroche, à l'étape E300, son terminal téléphonique 103 et compose le numéro de téléphone du service permettant le couplage téléphonie-application de données. Ce numéro de téléphone est associé à l'interface téléphonique 180.Once the registration has been made, the subscriber 100 picks up, at step E300, his telephone terminal 103 and dials the telephone number of the service allowing the telephony-data application coupling. This telephone number is associated with the telephone interface 180.
Un message de demande d'établissement d'appel téléphonique est transmis à l'étape E301 vers le module automate d'appel 179.A message for requesting the establishment of a telephone call is transmitted in step E301 to the automatic call module 179.
Le module automate d'appel 179 accepte automatiquement l'appel téléphonique entrant à l'étape E302. En variante, le module automate d'appel 179 génère un message "Alerte", voire un message préalablement au message "Connexion" à destination du terminal téléphonique 103.The automatic call module 179 automatically accepts the incoming telephone call in step E302. As a variant, the automatic call module 179 generates an "Alert" message, or even a message prior to the "Connection" message intended for the telephone terminal 103.
Le module automate d'appel 179, afin de vérifier si le logiciel client 107 de l'abonné 100 est enregistré au niveau du serveur 170, génère une requête à l'étape E303 à la base de données 171 utilisant le numéro de téléphone appelant en tant que clé de recherche.The automatic call module 179, in order to check whether the client software 107 of the subscriber 100 is registered at the server 170, generates a request in step E303 to the database 171 using the telephone number calling in as a search key.
Le logiciel client 107 étant enregistré, l'automate d'appel 179 demande l'activation du module gestion vocale et retard 181 à l'étape E304. Le module de gestion vocale et retard 181 étant activé à l'étape E305, l'automate d'appel 179 demande la diffusion, par le module gestion vocale et retard 181, d'une annonce vocale à l'étape E306 lui demandant de saisir le numéro de téléphone 122 de son correspondant 120 en utilisant la numérotation à fréquence vocale de son combiné 103.The client software 107 being recorded, the call controller 179 requests the activation of the voice management module and delay 181 in step E304. The voice and delay management module 181 being activated in step E305, the call controller 179 requests the broadcast, by the voice and delay management module 181, of a voice announcement in step E306 asking it to enter the telephone number 122 of his correspondent 120 using the voice frequency dialing of his handset 103.
Il est à remarquer que si le logiciel client 107 n'a pas été enregistré au préalable, l'annonce vocale demande d'abord à l'appelant d'activer son logiciel client 107, et ensuite de saisir le numéro de téléphone 122 de son correspondant 120.Note that if the client software 107 has not been previously registered, the voice announcement first asks the caller to activate its client software 107, and then to enter the telephone number 122 of its correspondent 120.
Suite à la saisie du numéro de téléphone de l'abonné 120, par l'abonné 100 à l'étape E307, le numéro est communiqué au module automate d'appel 179.Following the entry of the telephone number of the subscriber 120, by the subscriber 100 in step E307, the number is communicated to the automatic call module 179.
Le module automate d'appel 179 demande, à l'étape E308, au module gestion vocale et retard 181 de diffuser à l'étape E309 un message d'attente vers l'appelant 100.The automatic call module 179 requests, in step E308, the voice management and delay module 181 to broadcast in step E309 a waiting message to the caller 100.
Le module automate d'appel 179 interroge, à l'étape E310, la base de données 171, en lui fournissant comme clé primaire le numéro de téléphone de l'appelé 120, afin de vérifier si le logiciel client 124 est enregistré.The automatic call module 179 interrogates, in step E310, the database 171, supplying it as primary key the telephone number of the called party 120, in order to check whether the client software 124 is registered.
Après confirmation, à l'étape E311, le module automate d'appel 179, établit un appel téléphonique sortant à destination de l'abonné 120 sur son téléphone 122 par l'intermédiaire du CAA 142 et des réseaux 141 et 148. Lorsque l'abonné 120 prend la communication à l'étape E312, le module automate d'appel 179 notifie, à l'étape E313, le module de gestion vocale et retard 181 afin que celui-ci diffuse, à la même étape, une annonce vocale à l'abonné 120.After confirmation, in step E311, the automatic call module 179 establishes an outgoing telephone call to the subscriber 120 on his telephone 122 via the CAA 142 and the networks 141 and 148. When the subscriber 120 takes the call at step E312, the automatic call module 179 notifies, at step E313, the voice and delay management module 181 so that the latter broadcasts, at the same step, a voice announcement to subscriber 120.
Cette annonce vocale indique à l'appelé 120 que l'appelant 100 souhaite le joindre par téléphone avec une mise en oeuvre d'une application client-client en parallèle.This voice announcement indicates to the called party 120 that the caller 100 wishes to reach him by telephone with the implementation of a client-client application in parallel.
Si l'appelé 120 accepte la communication, et si le logiciel client 124 de l'abonné 120 n'est pas enregistré avec le serveur 170, le message vocal demande également lors de l'étape E313 à l'appelé 120 d'activer son logiciel client 124.If the called party 120 accepts the communication, and if the client software 124 of the subscriber 120 is not registered with the server 170, the voice message also requests during step E313 the called party 120 to activate its client software 124.
L'abonné 120 active, à l'étape E314, son logiciel 124 de la même manière que celle décrite pour l'abonné 100 à la seule différence que l'opération est effectuée par l'intermédiaire de son ISP 150 et du routeur 151.The subscriber 120 activates, in step E314, his software 124 in the same manner as that described for the subscriber 100 with the only difference that the operation is carried out via his ISP 150 and the router 151.
Une fois le message diffusé vers l'appelé 120, le message d'attente côté abonné 100 est arrêté et les flux vocaux sont mis en correspondance sans application de retard à l'étape E315. Le module de notification logiciel client 173 transfère à l'étape E316 au logiciel client 124 les notifications suivantes : numéro de téléphone de l'abonné 100, numéro de téléphone de l'abonné 120, adresse IP de l'ordinateur 104, le ou les numéros de ports des applications client-client 110 de l'abonné 100 compatibles avec celles de l'abonné 120 et/ou l'adresse IP du proxy 183, le ou les numéros de ses ports compatibles avec les applications.Once the message broadcast to the called party 120, the subscriber side waiting message 100 is stopped and the voice streams are matched without applying delay in step E315. The client software notification module 173 transfers in step E316 to the client software 124 the following notifications: subscriber telephone number 100, subscriber telephone number 120, computer IP address 104, the one or more port numbers of the client-client applications 110 of the subscriber 100 compatible with those of the subscriber 120 and / or the IP address of the proxy 183, the number (s) of its ports compatible with the applications.
En variante, le module de notification d'événements réseaux et d'informations des logiciels clients 173 transfère à l'étape E316 au logiciel client 124 les numéros de ports des applications client-client 110 présentes sur l'ordinateur 104 de l'abonné 100.As a variant, the module for notifying network events and information of client software 173 transfers in step E316 to client software 124 the port numbers of client-client applications 110 present on the computer 104 of subscriber 100 .
Après réception de la notification d'événements émise par le module de notification logiciel client 173 à l'étape E316, le logiciel client 124 vérifie à l'étape E317 en utilisant sa configuration locale stockée sur l'ordinateur 123 la liste des actions à effectuer. Le logiciel client 124 affiche sur l'écran de l'ordinateur 123 à la même étapeAfter receiving the event notification sent by the client software notification module 173 in step E316, the client software 124 checks in step E317 using its local configuration stored on the computer 123 the list of actions to be performed . Client software 124 displays on the computer screen 123 at the same stage
E317 la liste des actions possibles, par exemple affiche une invitation à activer une application de type client client "Activer Microsoft Netmeeting H323", et/ ou activer " FTR&D eConf SIP".E317 the list of possible actions, for example displays an invitation to activate a client type application "Activate Microsoft Netmeeting H323", and / or activate "FTR & D eConf SIP".
Si conformément à la variante précédemment mentionnée, le module de notification d'événements réseaux et d'informations des logiciels clients 173 a transféré à l'étape E316 au logiciel client 124 les numéros de ports des applications client-client présentes sur l'ordinateur 104 de l'abonné 100, le logiciel client 124 vérifie en outre si les numéros de ports des applications client-client 127 sont compatibles avec les numéros de ports des applications client-client 110 présentes sur l'ordinateur 104 de l'abonné 100. Lorsqu'une compatibilité existe, le logiciel client 124 effectue par exemple des actions conditionnelles aux numéros de ports compatibles.If in accordance with the aforementioned variant, the module for notifying network events and information of client software 173 has transferred in step E316 to client software 124 the port numbers of the client-client applications present on the computer 104 of the subscriber 100, the client software 124 further verifies whether the port numbers of the client-client applications 127 are compatible with the port numbers of the client-client applications 110 present on the computer 104 of the subscriber 100. When compatibility exists, the client software 124 performs for example conditional actions on the compatible port numbers.
Bien entendu, les applications client-client 127 compatibles avec les applications client-client 110 peuvent être activées automatiquement. Cette opération effectuée, l'application client-client 127 se met en attente d'appel sur le/les ports TCP/UDP de l'ordinateur 123 attribué(s) à ce type d'application. C'est par exemple le port TCP 1720 pour les applications conformes au format H323 ou le port TCP/UDP 5060 pour les applications de type SIP. Il est à remarquer que l'adresse IP de l'ordinateur 104 et/ou l'adresse IP du proxy 183 précédemment reçue permet de filtrer les appels entrants d'autres ordinateurs que l'ordinateur 104.Of course, the client-client applications 127 compatible with the client-client applications 110 can be activated automatically. This operation carried out, the client-client application 127 puts itself on hold on the TCP / UDP port (s) of the computer 123 assigned to this type of application. This is for example the TCP port 1720 for applications conforming to the H323 format or the TCP / UDP port 5060 for SIP type applications. It should be noted that the IP address of the computer 104 and / or the IP address of the proxy 183 previously received makes it possible to filter incoming calls from other computers than the computer 104.
Parallèlement à la confirmation d'enregistrement côté appelé 120, le module d'enregistrement logiciel client 172 informe le module de notification logiciel client 173 de la confirmation à l'étape E318. Ce dernier transmet à l'étape E319 au logiciel client 107 les informations suivantes : événements téléphoniques "Connexion" avec les arguments numéro de téléphone de l'appelant, numéro de téléphone de l'appelé, le/les numéros de ports des applications client-client compatible(s) entre l'appelant et l'appelé et la/les adresses IP du/des proxy IP 183 compatible(s) avec la/les applications client-client et ou l'adresse IP de l'ordinateur 123.In addition to the called side registration confirmation 120, the client software registration module 172 informs the client software notification module 173 of the confirmation in step E318. The latter transmits in step E319 to the client software 107 the following information: telephone events "Connection" with the arguments telephone number of the caller, telephone number of the called party, the port number (s) of the client applications compatible client (s) between the caller and the called party and the IP address (es) of the IP proxy (s) 183 compatible with the client-client application (s) and or the IP address of the computer 123.
A la réception de ces informations, le logiciel client 107 vérifie, en utilisant sa configuration locale stockée sur l'ordinateur 104, la liste des actions à effectuer.On receipt of this information, the client software 107 verifies, using its local configuration stored on the computer 104, the list of actions to be performed.
A l'étape E320, le logiciel client 107 affiche sur l'écran de l'ordinateur 104 la liste des actions possibles, par exemple affiche une invitation à activer une application de type client-client "Activer Microsoft Netmeeting H323", et/ ou activer " FTR&D eConf SIP". Il est à remarquer aussi que l'activation de l'application peut être automatique.In step E320, the client software 107 displays on the screen of the computer 104 the list of possible actions, for example displays an invitation to activate an application of the client-client type "Activate Microsoft Netmeeting H323", and / or activate "FTR & D eConf SIP". It should also be noted that the activation of the application can be automatic.
L'application logiciel client-client 110 activée, celle-ci émet à l'étape E321 une requête dépendant du protocole de l'application client-client 110 (par exemple envoi d'un message SETUP H323) vers le proxy compatible 183.When the client-client software application 110 is activated, it sends at step E321 a request depending on the protocol of the client-client application 110 (for example sending a SETUP message H323) to the compatible proxy 183.
A la réception de cette requête, le proxy 183 interroge, à l'étape E322, la base de données 171 afin d'obtenir le contexte lié à la session IP entre les abonnés 100 et 120. Le proxy 183 obtient ainsi l'adresse IP de l'ordinateur 123.On receipt of this request, the proxy 183 interrogates, in step E322, the database 171 in order to obtain the context linked to the IP session between the subscribers 100 and 120. The proxy 183 thus obtains the IP address from computer 123.
Pour se faire, le proxy 183 utilise comme clé de recherche l'adresse IP de l'ordinateur 104.To do this, the proxy 183 uses the IP address of the computer 104 as the search key.
Le proxy 183 adapté aux applications client-client 110 et 127 crée un contexte comprenant l'adresse IP de l'ordinateur 104, le ou les numéros de ports origine TCP/UDP utilisé(s), l'adresse IP de l'ordinateur 123, le ou les numéros de ports TCP/UDP origine du proxy IP 183 utilisé(s).The proxy 183 adapted to client-client applications 110 and 127 creates a context comprising the IP address of the computer 104, the original TCP / UDP port number (s) used, the IP address of the computer 123 , the TCP / UDP port number (s) from the IP 183 proxy used.
Le proxy 183 prolonge ensuite, à l'étape E323, la requête vers l'abonné 120 en utilisant le ou les numéros de ports TCP/UDP lié(s) à l'application client-client. A la réception de cette requête, l'application client-client 127 envoie un message de confirmation, à l'étape E324, à destination du proxy 183, qui prolonge cette confirmation à l'étape E325, vers l'application client-client 110, en utilisant les informations présentes dans le contexte précédemment créé. Le ou les flux média peuvent alors transiter entre les applications client-clientThe proxy 183 then extends, in step E323, the request to the subscriber 120 by using the TCP / UDP port number or numbers linked to the client-client application. On receipt of this request, the client-client application 127 sends a confirmation message, at step E324, to the proxy 183, which extends this confirmation at step E325, to the client-client application 110 , using the information present in the previously created context. The media stream (s) can then transit between client-client applications
127 et 110 à l'étape E326, en passant ou non par le proxy 183. Il est néanmoins à remarquer que le ou les flux de contrôle des flux média doivent transiter nécessairement à l'étape E326 par le proxy 183. Les flux de contrôle, plus précisément les paquets de contrôle de flux, sont reçus par le proxy IP 183. A la réception de ces flux de contrôle, le proxy 183 interroge à l'étape E327, en utilisant l'adresse IP des ordinateurs 104 ou 123, la base de données 171 pour récupérer le contexte de la session téléphonie-données ainsi que l'identifiant de la communication téléphonique et des ressources vocales.127 and 110 in step E326, whether or not passing through the proxy 183. It should nevertheless be noted that the control stream or streams of media streams must necessarily pass in step E326 through the proxy 183. The control streams , more precisely the flow control packets, are received by the IP proxy 183. On receipt of these control flows, the proxy 183 interrogates in step E327, using the IP address of the computers 104 or 123, the database 171 to retrieve the context of the telephony-data session as well as the identifier of the telephone communication and of the voice resources.
Ces informations obtenues, les informations de contrôle des flux média et de contexte de session téléphonie-données sont transmises, à l'étape E328, par le proxy 183 au module d'analyse de paquets 182.Once this information has been obtained, the information on control of the media flow and of the telephone-data session context is transmitted, in step E328, by the proxy 183 to the packet analysis module 182.
Le module d'analyse de paquets 182, à l'étape E329, analyse les paquets de contrôle des flux média, obtient des informations représentatives du retard du flux de média, et en fonction des informations de retard obtenues, génère une requête à destination du module de gestion vocale et retard 181, pour que celui-ci applique le même retard précédemment obtenu sur les flux vocaux téléphoniques.The packet analysis module 182, in step E329, analyzes the media flow control packets, obtains information representative of the delay in the media flow, and according to the delay information obtained, generates a request intended for the voice management module and delay 181, so that it applies the same delay previously obtained on the telephone voice flows.
Le module de gestion vocale et retard 181 applique le retard sur les flux vocaux à l'étape E330.The voice and delay management module 181 applies the delay to the voice flows in step E330.
Ce système d'analyse des paquets de contrôle des flux média IP et d'applications de retard sur les flux vocaux est périodique. Les retards sont calculés par le module d'analyse de paquets 182 de la manière suivante dans le cas d'une transmission de vidéo H323 ou SIP avec un protocole de type RTCP: on détermine le retard TA des paquets RTCP entre l'ordinateur 104 et le proxy 183, on détermine le retard TB des paquets RTCP entre le proxy 183 et l'ordinateur 123, on additionne les retards TA et TB et on génère une requête à destination du module de gestion vocale et retard 181 pour que celui-ci applique la somme des retards sur le flux vocal émis par le téléphone 103 transmis vers le téléphone 122. on détermine le retard RB des paquets RTCP entre l'ordinateur 123 et le proxy 183, on détermine le retard RA des paquets RTCP entre le proxy 183 et l'ordinateur 104, on additionne les retards RA et RB et on génère une requête à destination du module de gestion vocale et retard 181 pour que celui-ci applique la somme des retards sur le flux vocal émis par le téléphone 122 transmis vers le téléphone 103.This system for analyzing IP media flow control packets and voice delay delay applications is periodic. The delays are calculated by the packet analysis module 182 in the following manner in the case of an H323 or SIP video transmission with an RTCP type protocol: the delay TA of the RTCP packets between the computer 104 and is determined. the proxy 183, the delay TB of the RTCP packets between the proxy 183 and the computer 123 is determined, the delays TA and TB are added and a request is sent to the voice management module and delay 181 so that it applies the sum of the delays on the voice stream transmitted by the telephone 103 transmitted to the telephone 122. the RB delay of the RTCP packets between the computer 123 and the proxy 183 is determined, the RA delay of the RTCP packets between the proxy 183 and the computer 104 is determined, the delays RA and RB are added and a request is sent to the destination of the voice and delay management module 181 so that the latter applies the sum of the delays on the voice flow transmitted by the telephone 122 transmitted to the telephone 103.
Il est à remarquer que le module gestion vocale et retard 181 prend en compte dans l'application du retard, le délai standard d'une communication téléphonique RTC entre le combiné 103 et le module gestion vocale et retard 181 et aussi du délai standard d'une communication téléphonique RTC entre le module gestion vocale et retard 181 et le combiné 122.It should be noted that the voice and delay management module 181 takes into account in the application of the delay, the standard delay of a PSTN telephone communication between the handset 103 and the voice and delay management module 181 and also of the standard delay of PSTN telephone communication between the voice and delay management module 181 and the handset 122.
La Fig. 4 représente un paquet de rapport émetteur SR conforme au protocole RTCP . Selon l'invention, le flux de données transmis entre les abonnés 100 et 120 à travers le réseau Internet public 160 est conforme au protocole H323.Fig. 4 represents an SR transmitter report packet conforming to the RTCP protocol. According to the invention, the data flow transmitted between subscribers 100 and 120 through the public Internet network 160 conforms to the H323 protocol.
Le protocole H323 utilise le protocole RTP (Real time Transport Protocol) pour transporter le flux de données.The H323 protocol uses the RTP (Real time Transport Protocol) protocol to transport the data stream.
Le protocole RTP est un protocole de transport de données multimédia, il ne fournit aucune garantie quant à la qualité de service et se place au dessus du protocoleThe RTP protocol is a multimedia data transport protocol, it does not provide any guarantee as to the quality of service and is placed above the protocol.
UDP ou TCP. Le protocole RTP permet à une application de reconstruire une séquence de données multimédia, en l'occurrence les signaux vidéo reçus par les logiciels d'application client-client 110 et 127.UDP or TCP. The RTP protocol allows an application to reconstruct a sequence of multimedia data, in this case the video signals received by the client-client application software 110 and 127.
Le protocole RTCP (Real Time Control Protocol) est un protocole qui permet d'obtenir des informations diverses sur une session RTP en cours. Le protocole RTCP fournit des informations sur la qualité du transfert des données.The RTCP protocol (Real Time Control Protocol) is a protocol which makes it possible to obtain various information on a current RTP session. The RTCP protocol provides information on the quality of data transfer.
Plus particulièrement, les paquets de rapport SR acronyme de Sender Report du protocole RTCP comportent des informations telles que les statistiques de réception et d'émission des participants à une session qui transfèrent des données sur le réseau Internet public 160.More specifically, the RTCP acronym Sender Report SR report packets include information such as reception and transmission statistics of session participants who transfer data over the public Internet 160.
Les paquets RTCP SR selon l'invention permettent au serveur de déterminer les retards sur les flux de données circulant sur le réseau Internet 160.The RTCP SR packets according to the invention allow the server to determine the delays on the data flows circulating on the Internet 160.
Les paquets RTCP SR sont constitués de plusieurs champs, le champ 600 définit le numéro de version du protocole RTCP. Le champ 601 est un champ permettant de spécifier si les octets de données ont une partie de bourrage.RTCP SR packets consist of several fields, field 600 defines the version number of the RTCP protocol. Field 601 is a field for specifying whether the data bytes have a padding portion.
Le champ 602 est un champ destiné à contenir le nombre de rapports contenus dans le paquet. Il est à noter qu'un rapport est normalement destiné à chaque dispositif informatique émettant et/ou recevant le flux de données.Field 602 is a field intended to contain the number of reports contained in the packet. It should be noted that a report is normally intended for each IT device sending and / or receiving the data stream.
Le champ 603 identifie le type de paquet. Il est à remarquer que selon le protocole RTCP il existe cinq types différents de paquets. Les paquets SR, RR (Receiver Report) qui sont utilisés par le serveur 170 de l'invention pour déterminer le délai sur le réseau public Internet 160, les paquets SDES (Source Description) qui contiennent une liste d'informations identifiant une source RTP, BYE qui indique qu'un participant quitte la communication et APP (spécifique à une application). Les trois derniers types de paquets ne sont pas utilisés pour la synchronisation selon l'invention.Field 603 identifies the type of packet. It should be noted that according to the RTCP protocol there are five different types of packets. The SR, RR (Receiver Report) packets which are used by the server 170 of the invention to determine the delay on the public Internet network 160, the SDES (Source Description) packets which contain a list of information identifying an RTP source, BYE which indicates that a participant is leaving the call and APP (specific to an application). The last three types of packets are not used for synchronization according to the invention.
Le champ 604 indique la longueur totale du paquet RTCP. Le champ 605 identifie la source, c'est-à-dire l'émetteur du paquet RTCP en question. Selon l'invention, ce champ permet au serveur 170 selon l'invention de déterminer l'origine du paquet RTCP.Field 604 indicates the total length of the RTCP packet. Field 605 identifies the source, i.e. the originator of the RTCP packet in question. According to the invention, this field allows the server 170 according to the invention to determine the origin of the RTCP packet.
Les champs 606 et 607 contiennent la date et l'heure de l'envoi du message au format NTP (Network Time Protocol). Ce protocole NTP fournit le nombre de secondes écoulées depuis le 1er Janvier 1900 OOHOO. Le champ 606 contient les bits de poids fort sur 32 bits et représentatifs de la partie entière de secondes écoulées, le champ 607 contient les bits de poids faible sur 32 bits et représentatifs de la partie décimale de secondes écoulées.Fields 606 and 607 contain the date and time of sending the message in NTP (Network Time Protocol) format. The NTP provides the number of seconds since 1 January 1900 OOHOO. Field 606 contains the most significant bits on 32 bits and representative of the whole part of elapsed seconds, field 607 contains the least significant bits on 32 bits and representative of the decimal part of elapsed seconds.
Ces champs 606 et 607 peuvent être utilisés selon l'invention pour déterminer le retard des flux échangés par les ordinateurs 104 et 123 sur le réseau Internet 160.These fields 606 and 607 can be used according to the invention to determine the delay in the flows exchanged by computers 104 and 123 on the Internet 160.
Le champ 608 contient l'horloge de l'émetteur pour les paquets RTP envoyés par l'émetteur.Field 608 contains the sender's clock for RTP packets sent by the sender.
Le champ 609 comprend le nombre total de paquets de données utiles (payload) émis par l'émetteur depuis le début de la session et jusqu'à l'émission du paquet RTCP.Field 609 includes the total number of payload packets sent by the transmitter from the start of the session until the transmission of the RTCP packet.
Le champ 610 comprend le nombre total d'octets de données utiles (payload) émis par l'émetteur depuis le début de la session et jusqu'à l'émission du paquet RTCP. Les informations contenues dans ce champ 610 permettent au serveur 170 de l'invention de déterminer le débit moyen de cette source.Field 610 includes the total number of payload bytes transmitted by the transmitter from the start of the session until the transmission of the RTCP packet. The information contained in this field 610 allows the server 170 of the invention to determine the average bit rate of this source.
Le champ 611 identifie la source objet de ce rapport, c'est-à-dire l'émetteur des données RTP relatives au paquet RTCP en question. Selon l'invention, ce champ permet au serveur 170 selon l'invention de déterminer l'émetteur des paquets RTP considérés.Field 611 identifies the source object of this report, that is to say the transmitter of the RTP data relating to the RTCP packet in question. According to the invention, this field allows the server 170 according to the invention to determine the sender of the RTP packets considered.
Le champ 612 contient des statistiques sur le pourcentage de paquets perdus depuis l'envoi du dernier paquet RTCP SR.Field 612 contains statistics on the percentage of packets lost since the last RTCP SR packet was sent.
Le champ 613 contient le nombre cumulé, depuis le début de la session, de paquets perdus provenant de la source ayant émis les paquets en question. Il est à remarquer que les paquets arrivés en retard ne sont pas considérés comme des paquets perdus tandis que les paquets dupliqués sont comptés à chaque duplication.Field 613 contains the cumulative number, since the start of the session, of lost packets coming from the source that sent the packets in question. It should be noted that packets arriving late are not considered as lost packets while duplicate packets are counted at each duplication.
Le champ 614 contient le dernier numéro de séquence reçue. Celui-ci est constitué de 32 bits, les 16 bits de poids faible contiennent le numéro de séquence le plus grand reçu tandis que les 16 bits de poids fort contiennent le nombre de cycles de numéros de séquences passées.Field 614 contains the last received sequence number. This consists of 32 bits, the 16 least significant bits contain the largest sequence number received while the 16 most significant bits contain the number of cycles of past sequence numbers.
Le champ 615 comporte une estimation de la variance du temps passé entre l'arrivée des paquets RTP. Ce calcul est effectué par l'émetteur du paquet RTCP SR à partir des informations contenues dans le champ 608 et de son horloge interne. Le champ 616 LSR (Last Sender Report timestamp) contient la valeur du champField 615 includes an estimate of the variance of the time between the arrival of RTP packets. This calculation is performed by the transmitter of the RTCP SR packet from the information contained in field 608 and from its internal clock. Field 616 LSR (Last Sender Report timestamp) contains the value of the field
607 du dernier paquet RTCP SR émis par le destinataire du paquet RTCP SR en question.607 of the last RTCP SR packet sent by the recipient of the RTCP SR packet in question.
Le champ 617 DLSR (Delay Since Last Sender Report) contient le délai entre la réception du dernier paquet SR provenant du destinataire du paquet RTCP SR en question et l'émission du paquet RTCP SR en question.Field 617 DLSR (Delay Since Last Sender Report) contains the delay between the reception of the last SR packet from the recipient of the RTCP SR packet in question and the transmission of the RTCP SR packet in question.
Le serveur 170 selon l'invention utilise le champ 617 pour déterminer le délai de propagation dans le réseau ou RTT (Round Trip Time).The server 170 according to the invention uses the field 617 to determine the propagation delay in the network or RTT (Round Trip Time).
Il est à remarquer que les paquets RTCP SR sont diffusés à l'ensemble des ordinateurs de la session. Un paquet RTCP SR peut contenir des informations pour plusieurs sources. Pour chaque autre source, les champs 611 à 617 sont alors dupliqués dans le paquet RTCP SR.Note that RTCP SR packets are broadcast to all computers in the session. An RTCP SR packet can contain information for multiple sources. For each other source, fields 611 to 617 are then duplicated in the RTCP SR packet.
Le paquet RTCP RR comporte des informations similaires à celles contenues dans un paquet RTCP SR, il ne sera donc pas décrit en détail. Dans la suite de la description, nous ne décrirons l'invention qu'avec des paquets RTCP SR, il est bien entendu que l'invention utilise aussi en variante des paquets RTCP RR de la même façon que celle qui sera décrite avec les paquets RTCPThe RTCP RR packet contains information similar to that contained in an RTCP SR packet, so it will not be described in detail. In the following description, we will only describe the invention with RTCP SR packets, it is understood that the invention also alternatively uses RTCP RR packets in the same way as that which will be described with RTCP packets
SR par la suite. La Fig. 5a représente un algorithme décrivant la détermination du retard sur le réseau Internet public 160 selon le premier mode de réalisation de l'invention.SR thereafter. Fig. 5a represents an algorithm describing the determination of the delay on the public Internet network 160 according to the first embodiment of the invention.
Selon ce premier mode de réalisation, le flux média transmis par un ordinateur ainsi que le flux de contrôle du flux média, plus particulièrement les paquets RTCP, sont transmis au proxy 183 du serveur 170 qui prolonge ensuite le flux média à destination de l'autre ordinateur.According to this first embodiment, the media stream transmitted by a computer as well as the media stream control stream, more particularly the RTCP packets, are transmitted to the proxy 183 of the server 170 which then extends the media stream to the other computer.
A titre d'exemple, l'ordinateur 104 de l'abonné 100 émet un flux de données à destination du proxy 183, le proxy 183 prolonge ensuite ce flux de données à destination de l'ordinateur 123 de l'abonné 120.By way of example, the computer 104 of the subscriber 100 sends a data stream to the proxy 183, the proxy 183 then extends this data stream to the computer 123 of the subscriber 120.
Aussi l'ordinateur 123 de l'abonné 120 émet un flux de données à destination du proxy 183, le proxy 183 prolonge ensuite ce flux de données à destination de l'ordinateur 104 de l'abonné 100.Also the computer 123 of the subscriber 120 transmits a data stream intended for the proxy 183, the proxy 183 then extends this data stream intended for the computer 104 of the subscriber 100.
L'algorithme de la Fig. 5a décrit un échange de paquets RTCP SR entre l'abonné 100 et le proxy 183. A partir de cet échange de paquets le serveur 170 selon l'invention détermine le retard RA des paquets entre le proxy 183 et l'ordinateur 104. Le retard TA des paquets entre l'ordinateur 104 et le proxy 183 est ici considéré comme identique au retard RA.The algorithm of FIG. 5a describes an exchange of RTCP SR packets between the subscriber 100 and the proxy 183. From this exchange of packets the server 170 according to the invention determines the delay RA of the packets between the proxy 183 and the computer 104. The delay TA of the packets between the computer 104 and the proxy 183 is here considered to be identical to the delay RA.
La détermination du retard RB des paquets entre le proxy 183 et l'ordinateur 123 est effectuée de façon similaire, elle ne sera donc pas décrite plus en détail. De la même façon, le retard TB des paquets entre l'ordinateur 123 et le proxy 183 est ici considéré comme identique au retard RB.The determination of the delay RB of the packets between the proxy 183 and the computer 123 is carried out in a similar manner, it will therefore not be described in more detail. Similarly, the delay TB of packets between the computer 123 and the proxy 183 is here considered to be identical to the delay RB.
A l'étape E501, le proxy 183 génère un paquet RTCP SR à destination de l'ordinateur 104 de l'abonné 100.In step E501, the proxy 183 generates an RTCP SR packet intended for the computer 104 of the subscriber 100.
Le proxy 183 insère dans le paquet RTCP SR entre autres son identifiant dans le champ 605, la date et l'heure notée Hl de l'envoi du message RTCP SR dans les champs 606 et 607, l'identifiant de l'ordinateur 104 de l'abonné 100 dans le champ 611. A l'étape E502 suivante, le proxy 183 transmet ce paquet à l'ordinateur 104 par l'intermédiaire du réseau local 184, du routeur Firewall 185, du réseau public Internet 160, du routeur 106 et du réseau local 105.The proxy 183 inserts into the RTCP SR packet, inter alia, its identifier in field 605, the date and time noted Hl of the sending of the RTCP SR message in fields 606 and 607, the identifier of the computer 104 of subscriber 100 in field 611. In the following step E502, the proxy 183 transmits this packet to the computer 104 via the local network 184, the Firewall router 185, the public Internet network 160, the router 106 and the local network 105.
L'ordinateur 104 reçoit le paquet RTCP SR à l'étape E503. A la réception du paquet RTCP SR, l'ordinateur 104 mémorise à l'étape E504 l'heure de son horloge interne de réception du paquet notée H2.The computer 104 receives the RTCP SR packet in step E503. On receipt of the RTCP SR packet, the computer 104 stores in step E504 the time of its internal clock for receiving the packet denoted H2.
Cette opération effectuée, l'ordinateur 104 mémorise en autres le contenu des champs 606 et 607 du paquet RTCP SR reçu à l'étape E505.This operation carried out, the computer 104 stores in other things the content of the fields 606 and 607 of the RTCP SR packet received in step E505.
L'étape E506 consiste en une boucle d'attente pour l'ordinateur 104 pour générer un paquet RTCP SR de contrôle du flux de données reçu du proxy 183.Step E506 consists of a waiting loop for the computer 104 to generate an RTCP SR packet for controlling the data flow received from the proxy 183.
Lorsque l'ordinateur 104 désire transmettre un paquet RTCP SR, celui-ci mémorise à l'étape E507, l'heure de son horloge interne.When the computer 104 wishes to transmit an RTCP SR packet, this stores in step E507, the time of its internal clock.
L'ordinateur 104 insère à l'étape E508 le contenu du champ 607 mémorisé à l'étape E505 dans le champ 616 du paquet RTCP SR à transmettre. L'ordinateur 104 insère à l'étape E509 la différence des heures H3-H2 mémorisées aux étapes E504 et E507 dans le champ 617 du paquet RTCP SR à transmettre.The computer 104 inserts in step E508 the content of the field 607 stored in step E505 in the field 616 of the RTCP SR packet to be transmitted. The computer 104 inserts in step E509 the difference in hours H3-H2 stored in steps E504 and E507 in field 617 of the RTCP SR packet to be transmitted.
Bien entendu, l'ordinateur insère d'autres informations dans les différents champs du paquets RTCP SR, celle-ci ne sont par décrites. Le paquet ainsi formé est transmis à l'étape E510 par l'ordinateur 104 de l'abonné 100 au proxy 183 du serveur 170 par l'intermédiaire du réseau local 105, du routeur Firewall 106, du réseau public Internet 160, du routeur Firewall 185 et du réseau local 184.Of course, the computer inserts other information into the different fields of the RTCP SR packet, this is not described. The packet thus formed is transmitted in step E510 by the computer 104 of the subscriber 100 to the proxy 183 of the server 170 via the local network 105, the firewall router 106, the public Internet network 160, the firewall router. 185 and the local network 184.
Le proxy 183 du serveur 170 reçoit le paquet RTCP SR à l'étape E511. A la réception du paquet RTCP SR, le proxy 183 interroge la base de donnéesThe proxy 183 of the server 170 receives the RTCP SR packet in step E511. On receipt of the RTCP SR packet, the proxy 183 queries the database
171 pour récupérer le contexte de la session téléphonie-données ainsi que l'identifiant de la communication téléphonique et des ressources vocales associés au flux de données.171 to retrieve the context of the telephony-data session as well as the identifier of the telephone communication and of the voice resources associated with the data flow.
Ces informations obtenues, les informations de contrôle des flux média et de contexte de session téléphonie-données sont transmises par le proxy 183 au module d'analyse de paquets 182 conformément à l'étape E328 de la Fig. 3 précédemment décrite.Once this information has been obtained, the media flow and telephone-data session context control information is transmitted by the proxy 183 to the packet analysis module 182 in accordance with step E328 of FIG. 3 previously described.
Le module d'analyse de paquets 182 mémorise à l'étape E512 l'heure notée H4 de son horloge interne de réception du paquet. Cette opération effectuée, le module d'analyse de paquets 182, à l'étape E513, mémorise le contenu du champ 617 du paquet RTCP SR reçu à l'étape E511.The packet analysis module 182 stores in step E512 the time denoted H4 of its internal clock for receiving the packet. This operation performed, the packet analysis module 182, in step E513, stores the content of field 617 of the RTCP SR packet received in step E511.
Le module d'analyse de paquets 182 mémorise aussi à l'étape E514 le contenu du champ 616 du paquet RTCP SR reçu. Le module d'analyse de paquets 182 du serveur 170 obtient à l'étape E515 le retard des paquets RTCP entre le proxy 183 et l'ordinateur 104 en soustrayant de l'heure H4 mémorisée à l'étape E512 les contenus des champs 617 et 616 mémorisés précédemment aux étapes respectives E513 et E514.The packet analysis module 182 also stores in step E514 the content of the field 616 of the received RTCP SR packet. The packet analysis module 182 of the server 170 obtains in step E515 the delay of the RTCP packets between the proxy 183 and the computer 104 by subtracting from the time H4 stored in step E512 the contents of the fields 617 and 616 previously stored in the respective steps E513 and E514.
Le retard des paquets ainsi calculé, par exemple 200ms, est égal à la somme des retards TA et RA précédemment mentionnés en référence à la Fig. 3.The packet delay thus calculated, for example 200 ms, is equal to the sum of the delays TA and RA previously mentioned with reference to FIG. 3.
Par souci de simplicité ceux-ci sont considérés comme égaux. Ainsi TA=RA=100ms.For the sake of simplicity these are considered to be equal. Thus TA = RA = 100ms.
La détermination du retard RB des paquets RTCP entre le proxy 183 et l'ordinateur 123 est effectuée de façon similaire à celle décrite en référence aux étapes E501 à E516, les paquets de contrôle RTCP SR sont envoyés par le proxy 183 à l'ordinateur 123 de l'abonné 120 à l'étape E502 et les paquets de contrôle RTCP SR sont envoyés par l'ordinateur 123 de l'abonné 120 au proxy 183 à l'étape E510.The determination of the RB delay of the RTCP packets between the proxy 183 and the computer 123 is carried out in a similar manner to that described with reference to steps E501 to E516, the RTCP control packets SR are sent by the proxy 183 to the computer 123 from subscriber 120 in step E502 and RTCP SR control packets are sent by computer 123 from subscriber 120 to proxy 183 in step E510.
Le retard des paquets ainsi calculé, ici de 240ms, est égal à la somme des retards TB et RB précédemment mentionnés en référence à la Fig. 3. Par souci de simplicité ceux-ci sont considérés comme égaux. AinsiThe packet delay thus calculated, here 240ms, is equal to the sum of the delays TB and RB previously mentioned with reference to FIG. 3. For the sake of simplicity these are considered to be equal. So
TB=RB= 120ms.TB = RB = 120ms.
Le module d'analyse de paquets 182 génère à l'étape E516 une requête à destination du module de gestion vocale et retard 181, pour que celui-ci applique les retards TA+TB précédemment obtenus sur le flux vocal émis du téléphone 103 vers le téléphone 122.The packet analysis module 182 generates in step E516 a request intended for the voice management module and delay 181, so that the latter applies the delays TA + TB previously obtained on the voice flow transmitted from the telephone 103 to the phone 122.
Le module d'analyse de paquets 182 génère de la même façon à l'étape E516 une requête à destination du module de gestion vocale et retard 181, pour que celui-ci applique les retards RA+RB précédemment obtenus sur le flux vocal émis du téléphone 122 vers le téléphone 103. La Fig. 5b représente un algorithme décrivant l'application du retard sur les flux vocaux téléphoniques effectué par le module de gestion vocale et retard.The packet analysis module 182 generates in the same way in step E516 a request intended for the voice management module and delay 181, so that the latter applies the delays RA + RB previously obtained on the voice flow transmitted from the phone 122 to phone 103. Fig. 5b represents an algorithm describing the application of the delay on the telephone voice flows carried out by the voice and delay management module.
Le module de gestion vocale et retard 181 contrôle une ou plusieurs cartes interfaces téléphoniques par exemple de type DTI300SC-E1 fabriquées par la société Dialogic-intel ou de type AGS-1000 de la société Natural Micro System. Ces cartes disposent d'une interface RNIS de type B à un débit de 64Kbit/s et un canal de signalisation D à un débit de 64Kbit/s. Des cartes comportant des interfaces T0/S0 qui comportent deux canaux B à un débit de 64Kbit/s et un canal de signalisation D à un débit de 16Kbit/s peuvent aussi être utilisées. Ces cartes comportent des mémoires tampon, pour chaque flux vocal et selon chaque direction du flux vocal, qui mémorisent les flux audio reçus et/ou à transmettre.The voice and delay management module 181 controls one or more telephone interface cards, for example of the DTI300SC-E1 type manufactured by the company Dialogic-intel or of the AGS-1000 type of the company Natural Micro System. These cards have an ISDN type B interface at a speed of 64Kbit / s and a signaling channel D at a speed of 64Kbit / s. Cards with T0 / S0 interfaces that have two B channels at a rate of 64Kbit / s and a signaling channel D at a rate of 16Kbit / s can also be used. These cards include buffer memories, for each voice stream and in each direction of the voice stream, which memorize the audio streams received and / or to be transmitted.
Chaque flux vocal obtenu du réseau RTC 141 est par exemple mémorisé dans une mémoire circulaire respective ayant une capacité de stockage de l'ordre de 500 millisecondes (ms) voire 1 seconde de flux vocal. Par exemple, le débit synchrone d'une communication téléphonique de type G711 loi A étant de 64 Kbit/s, les données sont écrites et lues dans la mémoire circulaire toutes les 20ms.Each voice stream obtained from the PSTN network 141 is for example stored in a respective circular memory having a storage capacity of the order of 500 milliseconds (ms) or even 1 second of voice stream. For example, the synchronous speed of a G711 law A type telephone communication being 64 Kbit / s, the data is written and read in the circular memory every 20 ms.
Nous allons maintenant décrire l'application du retard vocal sur un seul flux vocal, lorsque plusieurs flux vocaux sont simultanément à retarder, le module de gestion vocal 181 effectue l'algorithme de la Fig. 5b pour chacun des flux vocaux à traiter.We will now describe the application of the voice delay to a single voice stream, when several voice streams are simultaneously to be delayed, the voice management module 181 performs the algorithm of FIG. 5b for each of the voice streams to be processed.
Le module de gestion vocale et retard 181 reçoit à l'étape E520 du module d'analyse de paquets 182 le retard à appliquer sur un flux vocal. Ce retard est à titre d'exemple égal à 220ms. Le module de gestion vocale et retard 181 obtient à l'étape E521 l'adresseThe voice and delay management module 181 receives in step E520 from the packet analysis module 182 the delay to be applied to a voice stream. This delay is for example equal to 220 ms. The voice and delay management module 181 obtains in step E521 the address
Ptr_ec du pointeur d'écriture de la mémoire circulaire contenant le flux vocal entrant.Ptr_ec of the write pointer of the circular memory containing the incoming voice stream.
Le pointeur d'écriture mémorisant les données toutes les 20ms, le module de gestion vocale et retard 181 détermine à l'étape E522 la durée de flux vocal mémorisé dans la mémoire circulaire en multipliant l'adresse Ptr_ec par 20 ms. Par exemple, le pointeur d'écriture Ptr_ec étant à l'adresse 14, la durée de flux vocal mémorisé dans la mémoire circulaire est de 280ms.The write pointer storing the data every 20 ms, the voice and delay management module 181 determines in step E522 the duration of the voice stream stored in the circular memory by multiplying the address Ptr_ec by 20 ms. For example, the Ptr_ec write pointer being at address 14, the duration of the voice stream stored in the circular memory is 280 ms.
Le module de gestion vocale et retard 181, à l'étape E523, fait la différence entre le retard RA reçu à l'étape E520 et la durée de flux vocal mémorisé dans la mémoire circulaire déterminée à l'étape E522. Selon notre exemple la différence Dvx est égale à 60 ms.The voice and delay management module 181, in step E523, makes the difference between the delay RA received in step E520 and the duration of voice flow stored in the circular memory determined in step E522. According to our example the difference Dvx is equal to 60 ms.
Le module de gestion vocale et retard 181, à l'étape E524, détermine l'adresse du pointeur de lecture de la mémoire circulaire Ptr_lec en déterminant la partie entière de la division de la différence Dvx par le rythme de lecture de la mémoire circulaire qui est de 20 ms selon notre exemple. Selon notre exemple l'adresse du pointeur de lecture de la mémoire circulaire Ptr_lec est égale à 60ms/20ms soit 3.The voice and delay management module 181, in step E524, determines the address of the pointer for reading the circular memory Ptr_lec by determining the integer part of the division of the difference Dvx by the reading rhythm of the circular memory which is 20 ms according to our example. According to our example, the address of the read pointer of the circular memory Ptr_lec is equal to 60ms / 20ms or 3.
Le module de gestion vocale et retard 181, à l'étape E525 transfère la valeur du pointeur de lecture Ptr_lec à la carte interface téléphonique gérant le flux audio sur le réseau RTC 141.The voice and delay management module 181, in step E525 transfers the value of the read pointer Ptr_lec to the telephone interface card managing the audio stream on the PSTN network 141.
Ainsi, les flux vocaux transmis sur le réseau commuté 141 sont retardés de la même façon que les flux média sont retardés par le réseau public Internet 160.Thus, the voice streams transmitted over the switched network 141 are delayed in the same way as the media streams are delayed by the public Internet network 160.
La Fig. 6 représente un second mode de réalisation de l'invention dans un réseau de télécommunication comportant une architecture service node ou nœud de services dans le cadre d'un service de mise en relation d'abonnés en conférence.Fig. 6 shows a second embodiment of the invention in a telecommunications network comprising a service node architecture or service node in the context of a service for connecting subscribers in conference.
Le réseau de télécommunication comprend un fournisseur de services d'applications ASP noté 290 qui peut être par exemple associé à un opérateur de télécommunication 240. Le réseau de télécommunication comporte aussi un réseau téléphonique commuté 241 et un réseau Internet public 260. Le réseau téléphonique commuté est ici considéré comme un réseau de télécommunication synchrone, le réseau Internet public 260 étant le réseau de télécommunication asynchrone.The telecommunications network includes an ASP application service provider denoted 290 which can for example be associated with a telecommunications operator 240. The telecommunications network also comprises a switched telephone network 241 and a public Internet network 260. The switched telephone network is here considered to be a synchronous telecommunications network, the public Internet network 260 being the asynchronous telecommunications network.
Le réseau téléphonique commuté 241 est associé à un commutateur à autonomie d'acheminement CAA noté 242 permettant la fourniture du service téléphonique classique à un abonné 200 et à un abonné 291. Le réseau RTC 241 est aussi associé à un commutateur à autonomie d'acheminement CAA noté 245 permettant la fourniture du service téléphonique classique à un abonné 220.The switched telephone network 241 is associated with a range autonomy switch CAA denoted 242 allowing the provision of conventional telephone service to a subscriber 200 and a subscriber 291. The PSTN network 241 is also associated with a range switch CAA noted 245 allowing the provision of conventional telephone service to a subscriber 220.
Le fournisseur de services d'applications ASP 290 comprend un réseau local 284. Le réseau local 284 est aussi relié au réseau public Internet 260 au travers d'un routeur Firewall 285 assurant aussi la sécurité des échanges d'informations entre les réseaux 284 et 260 en veillant à ce qu'aucune intrusion ne puisse être effectuée dans le réseau 284.The ASP 290 application service provider includes a local network 284. The local network 284 is also connected to the public Internet network 260 through a firewall router 285 also ensuring the security of information exchanges between networks 284 and 260 ensuring that no intrusion can be made into network 284.
A ce réseau local 284, est connecté un serveur 270. Le serveur 270 ou pont de conférence est aussi connecté au réseau téléphonique 241 via le commutateur à autonomie d'acheminement 242.A server 270 is connected to this local network 284. The server 270 or conference bridge is also connected to the telephone network 241 via the routing autonomy switch 242.
Le serveur 270 est soit centralisé sur un seul dispositif soit réparti sur différents dispositifs placés ou non sur un même site. Le serveur 270 est constitué d'une base de données du service 271 identique à la base de données 171 de la Fig.lThe server 270 is either centralized on a single device or distributed over different devices placed or not on the same site. The server 270 consists of a service database 271 identical to the database 171 in FIG.
Le serveur 270 comporte aussi un module d'enregistrement 272 des logiciels clients des abonnés au service identique au module d'enregistrement 172 des logiciels clients des abonnés de la Fig. 1.The server 270 also includes a recording module 272 of the client software of the subscribers to the service identical to the recording module 172 of the client software of the subscribers of FIG. 1.
Le serveur 270 comporte aussi un module 273 de notification d'événements réseaux et d'informations des logiciels clients identique au module 173 de notification d'événements réseaux et d'informations des logiciels clients de la Fig. 1.The server 270 also includes a module 273 for notification of network events and information from client software identical to the module 173 for notification of network events and information from client software in FIG. 1.
Le serveur 270 comporte aussi une interface IP 278 de type Ethernet qui permet au serveur 270 de se connecter avec le réseau local 284.The server 270 also includes an IP interface 278 of Ethernet type which allows the server 270 to connect with the local network 284.
Le serveur 270 comporte un module répondeur téléphonique 279 qui traite la signalisation des appels téléphoniques entrants et sortants et l'acceptation de ceux-ci.The server 270 includes a telephone answering module 279 which processes the signaling of incoming and outgoing telephone calls and their acceptance.
Le serveur 270 comporte une interface téléphonique RTC 280 de type ISUP ou de type SS7 qui permet la connexion du serveur 270 avec le réseau téléphonique 241 via le CAA 242 de l'opérateur de télécommunication 240.The server 270 comprises a telephone interface PSTN 280 of the ISUP type or of the SS7 type which allows the connection of the server 270 with the telephone network 241 via the CAA 242 of the telecommunications operator 240.
Le serveur 270 comporte aussi un module 281 de mixage des flux vocaux téléphoniques RTC et retard permettant la génération de retard entre les flux vocaux entrants actifs et les flux vocaux sortants. Les retards peuvent être différents selon le sens de la communication. Nous entendons ici comme flux vocal entrant actif, le flux vocal qui comporte des informations représentatives d'une activité supérieure par rapport aux autres flux. C'est par exemple le flux vocal qui comporte le plus haut niveau sonore. Le flux vocal de l'initiateur de la conférence ou le flux vocal du maître de conférence peut aussi être considéré comme le flux vocal entrant actif de manière prédéterminée. Ce flux vocal actif peut aussi être défini en fonction de période d'activité ou d'inactivité du flux. La détermination du flux vocal actif est effectuée par le module 281 de mixage des flux vocaux téléphoniques RTC et retard.The server 270 also includes a module 281 for mixing the PSTN and delay telephone voice flows allowing the generation of delay between the active incoming voice flows and the outgoing voice flows. The delays can be different depending on the direction of the communication. We mean here as active incoming voice stream, the voice stream which contains information representative of a higher activity compared to the other streams. It is for example the voice stream which has the highest sound level. The voice stream of the conference initiator or the voice stream of the conference master can also be considered as the active incoming voice stream in a predetermined manner. This active voice stream can also be defined according to the period of activity or inactivity of the stream. The active voice stream is determined by the module 281 for mixing PSTN and delay voice voice streams.
Le serveur 270 comporte aussi un module 282 de mixage analyse des flux média IP, par exemple de type de paquets de type RTP vidéo gérés par les protocoles H323/SIP. Le mixage est dépendant des applications supportées. Le module de mixage 282 extrait et analyse les paquets de contrôle des flux média IP, par exemple de paquets RTCP vidéo de type H323/SIP. Parmi les informations analysées, on peut trouver pour chaque sens de transmission, le délai, le taux de perte de paquets, la gigue et le débit. Les informations obtenues au niveau du module de mixage 282 vont permettre d'appliquer des retards sur les flux vocaux RTC via le module 281 de mixage des flux vocaux téléphoniques RTC et retard.The server 270 also includes a module 282 for mixing analysis of IP media flows, for example of packet type of video RTP type managed by the H323 / SIP protocols. The mixing is dependent on the supported applications. The mixing module 282 extracts and analyzes the IP media flow control packets, for example video RTCP packets of the H323 / SIP type. Among the analyzed information, one can find for each direction of transmission, the delay, the rate of loss of packets, the jitter and the bit rate. The information obtained at the level of mixing module 282 will make it possible to apply delays to the PSTN voice flows via the module 281 for mixing the PSTN telephone voice flows and delay.
Le serveur 270 comporte aussi un module répondeur applications IP 283 qui traite les signaux de signalisation des communications. Le module répondeur applications IP 283 comporte une pluralité de modules aptes chacun à traiter des signalisations (H323 ou SIP) par type d'application.The server 270 also includes an IP applications responder module 283 which processes the signaling signals of the communications. The IP 283 applications answering module includes a plurality of modules each capable of processing signals (H323 or SIP) by type of application.
L'abonné 200 dispose d'équipements tels qu'un terminal téléphonique 203 connecté au réseau téléphonique commuté 241 par l'intermédiaire du CAA 242.Subscriber 200 has equipment such as a telephone terminal 203 connected to the switched telephone network 241 through the CAA 242.
L'abonné 200 dispose en outre d'un ordinateur 204 connecté au réseau Internet 260.Subscriber 200 also has a computer 204 connected to the Internet 260.
L'ordinateur 204 dispose dans sa mémoire des programmes aptes à mettre en œuvre l'invention. Il comporte des logiciels 207 et 210 offrant les mêmes fonctionnalités que les logiciels respectifs 107 et 110 de la Fig.l.The computer 204 has in its memory programs capable of implementing the invention. It includes software 207 and 210 offering the same functionalities as the respective software 107 and 110 in Fig.l.
L'abonné 220 dispose d'équipements tels qu'un terminal téléphonique 222 connecté au réseau téléphonique commuté 241 par l'intermédiaire d'un CAA 245.Subscriber 220 has equipment such as a telephone terminal 222 connected to the switched telephone network 241 via a CAA 245.
L'abonné 220 dispose en outre d'un ordinateur 223 connecté au réseau Internet 260.Subscriber 220 also has a computer 223 connected to the Internet 260.
L'ordinateur 223 dispose dans sa mémoire des programmes aptes à mettre en œuvre l'invention. Il comporte des logiciels 224 et 227 offrant les mêmes fonctionnalités que les logiciels respectifs 124 et 127 de la Fig.1.The computer 223 has in its memory programs capable of implementing the invention. It includes software 224 and 227 offering the same functionalities as the respective software 124 and 127 in FIG. 1.
L'abonné 291 dispose d'équipements tels qu'un terminal téléphonique 292 connecté au réseau téléphonique commuté 241 par l'intermédiaire du CAA 242.The subscriber 291 has equipment such as a telephone terminal 292 connected to the switched telephone network 241 via the CAA 242.
L'abonné 291 dispose en outre d'un ordinateur 295 connecté au réseau de type Internet 260. L'ordinateur 295 dispose dans sa mémoire des programmes aptes à mettre en œuvre l'invention. Il comporte des logiciels 294 et 293 offrant les mêmes fonctionnalités que les logiciels respectifs 107 et 110 de la Fig.l .The subscriber 291 also has a computer 295 connected to the Internet type network 260. The computer 295 has in its memory programs capable of implementing the invention. It includes software 294 and 293 offering the same functionalities as the respective software 107 and 110 in FIG.
La Fig. 7 représente un algorithme décrivant la cinématique d'activation d'une conférence téléphonique entre trois abonnés, couplée avec une application de type client-client gérée dans le cadre d'une architecture de type service node dans le réseau de la Fig. 6.Fig. 7 represents an algorithm describing the kinematics of activation of a conference call between three subscribers, coupled with a client-client type application managed within the framework of a service node type architecture in the network of FIG. 6.
Préalablement à un appel téléphonique, l'abonné 200 s'enregistre au service tel que fourni par l'invention dans le réseau conforme au second mode de réalisation. Pour cela, l'ordinateur 204 de l'abonné 200 exécute le programme logiciel client 207.Prior to a telephone call, subscriber 200 registers for the service as provided by the invention in the network according to the second embodiment. For this, the computer 204 of the subscriber 200 executes the client software program 207.
L'ordinateur 204 se connecte par l'intermédiaire du réseau Internet public 260 au module d'enregistrement client 272 du serveur 270 de l'ASP 290. Le programme logiciel client 207, le module enregistrement logiciel client 272 du serveur 270 exécutent l'algorithme d'enregistrement tel que décrit précédemment en référence à la Fig. 2.The computer 204 connects via the public Internet network 260 to the client registration module 272 of the server 270 of the ASP 290. The client software program 207, the client software registration module 272 of the server 270 execute the algorithm. as previously described with reference to FIG. 2.
L'enregistrement effectué, l'abonné 200 décroche son terminal téléphonique 203 et compose, à l'étape E700, le numéro de téléphone du service permettant le couplage téléphonie-application de données. Ce numéro de téléphone est associé à l'interface téléphonique 280.Once the registration has been made, subscriber 200 picks up his telephone terminal 203 and dials, in step E700, the telephone number of the service allowing the telephony-data application coupling. This telephone number is associated with the telephone interface 280.
Un message de demande d'établissement d'appel téléphonique est transmis, à l'étape E701, vers le module répondeur téléphonique 279.A message for requesting establishment of a telephone call is transmitted, in step E701, to the telephone answering module 279.
Le module répondeur téléphonique 279 accepte automatiquement l'appel téléphonique entrant à l'étape E702.The telephone answering module 279 automatically accepts the incoming telephone call in step E702.
En variante, le module répondeur téléphonique 279 génère un message "Alerte", préalablement au message "Connexion" à destination du combiné téléphonique 203.As a variant, the telephone answering module 279 generates an "Alert" message, prior to the "Connection" message intended for the telephone handset 203.
Le module répondeur téléphonique 279, afin d'obtenir le contexte de la session, génère une requête, à l'étape E703, à la base de données 271 qui utilise le numéro de téléphone appelant en tant que clé de recherche. Il est à remarquer que le contexte de la session comprend le numéro de canal vocal disponible pour l'application ainsi que l'adresse IP de l'ordinateur 204.The telephone answering module 279, in order to obtain the context of the session, generates a request, in step E703, to the database 271 which uses the calling telephone number as a search key. Note that the session context includes the voice channel number available for the application as well as the IP address of computer 204.
Ce contexte étant obtenu, le module répondeur téléphonique 279 génère une requête d'activation du module mixeur et retard 281 à l'étape E704. Le module de mixeur et retard 281 étant activé, le module répondeur téléphonique 279 demande la diffusion, par le mixeur et retard 281, d'une annonce vocale, à destination de l'abonné 200, sur le canal vocal du contexte sélectionné.This context having been obtained, the telephone answering module 279 generates a request to activate the mixer and delay module 281 in step E704. The mixer and delay module 281 being activated, the telephone answering module 279 requests the broadcast, by the mixer and delay 281, of a voice announcement, intended for subscriber 200, on the voice channel of the selected context.
Cette annonce vocale est une annonce vocale de bienvenue et d'attente. Elle est diffusée à l'étape E705. Parallèlement à l'appel téléphonique, le module répondeur téléphonique 279 informe le module de notification logiciel client 273 de l'appel. Ce dernier transmet, à l'étape E706, au logiciel client 207, les informations suivantes : événements téléphoniques "Connexion" avec les arguments numéro de téléphone de l'appelant, numéro de téléphone du répondeur téléphonique 279, la ou les adresses IP des répondeurs IP 283 et le ou les numéros de ports des répondeurs IP283 compatible(s) avec la ou les applications client-client de l'abonné 200.This voice announcement is a welcome and wait voice announcement. It is broadcast in step E705. In addition to the telephone call, the telephone answering module 279 informs the client software notification module 273 of the call. The latter transmits, in step E706, to the client software 207, the following information: telephone events "Connection" with the arguments telephone number of the caller, telephone number of the telephone answering machine 279, the IP address or addresses of the IP 283 answering machines and the port number (s) of IP283 answering machines compatible with the client-client application (s) of subscriber 200.
Par exemple, le module de notification logiciel client 273 transmet au logiciel client les numéros de ports suivants 194.254.161.225 :1720, 194.254.161.226 :5060 et 194.254.161.227 :1503.For example, the client software notification module 273 transmits to the client software the following port numbers 194.254.161.225: 1720, 194.254.161.226: 5060 and 194.254.161.227: 1503.
Ces numéros de ports permettent de signifier au logiciel client 207 le fait que le serveur 270 est apte à supporter une application répondeur H323 si le logiciel client utilise l'adresse IP 194.254.161.225 , que le serveur 270 est apte à supporter une application SIP si le logiciel client utilise l'adresse IP 194.254.161.226 et le serveur 270 est apte à supporter une application répondeur de partage d'application du type conforme au standard T120 si le logiciel client utilise l'adresse IP 194.254.161.227.These port numbers are used to indicate to the client software 207 that the server 270 is able to support an H323 answering application if the client software uses the IP address 194.254.161.225, that the server 270 is able to support a SIP application if the client software uses the IP address 194.254.161.226 and the server 270 is capable of supporting an answering application sharing application of the type conforming to the standard T120 if the client software uses the IP address 194.254.161.227.
A la réception de ces informations, à l'étape E707, le logiciel client 207 vérifie, en utilisant sa configuration locale stockée sur l'ordinateur 204, la liste des actions à effectuer. Le logiciel client 207 affiche sur l'écran de l'ordinateur 204 la liste des applications client-client compatibles avec celles gérées par le pont de conférence ou serveur 270, par exemple affiche une invitation à activer une application de type client-client "Activer Microsoft Netmeeting H323", et/ ou activer " FTR&D eConf SIP". Il est à remarquer que l'activation de l'application peut être automatique. L'application logiciel client-client 210 activée, celle-ci émet à l'étape E708 une requête dépendante du protocole de l'application client-client 210 (exemple envoi d'un message SETUP H323) vers le module répondeur IP 283 compatible.On receipt of this information, in step E707, the client software 207 verifies, using its local configuration stored on the computer 204, the list of actions to be performed. The client software 207 displays on the screen of the computer 204 the list of client-client applications compatible with those managed by the conference bridge or server 270, for example displays an invitation to activate a client-client type application "Activate Microsoft Netmeeting H323 ", and / or activate" FTR & D eConf SIP ". Note that the activation of the application can be automatic. When the client-client software application 210 is activated, the latter issues in step E708 a request dependent on the protocol of the client-client application 210 (example sending a SETUP message H323) to the compatible IP responder module 283.
A la réception de cette requête, le module répondeur IP 283 interroge, à l'étape E709, la base de données 271 afin d'obtenir le contexte lié à la session IP entre l'abonné 200 et le serveur ou pont de conférence serveur 270.On receipt of this request, the IP responder module 283 interrogates, in step E709, the database 271 in order to obtain the context linked to the IP session between the subscriber 200 and the server or server conference bridge 270 .
Pour se faire, le module répondeur IP utilise comme clé de recherche l'adresse IP de l'ordinateur 204.To do this, the IP responder module uses the IP address of computer 204 as the search key.
De plus, on vérifie en particulier que la communication téléphonique entre l'abonné 200 et le serveur de l'invention 270 est toujours active et que des ressources média IP sont disponibles.In addition, it is verified in particular that the telephone communication between the subscriber 200 and the server of the invention 270 is always active and that IP media resources are available.
Dans l'affirmative, le module répondeur IP 283 confirme, à l'étape E710, la requête IP générée à l'étape E708 et transmet la ou les adresses IP du module mixeur analyse des flux média IP 282 ainsi que le ou les ports TCP/UDP à utiliser. Le module répondeur IP 283 demande, à l'étape E711, au module mixeur analyse de média IP 282 de se mettre en attente d'appel.If so, the IP responder module 283 confirms, in step E710, the IP request generated in step E708 and transmits the IP address or addresses of the mixer module analyzing IP media flows 282 as well as the TCP port (s) / UDP to use. The IP responder module 283 requests, in step E711, the IP media analysis mixer module 282 to put itself on hold for a call.
L'application client-client 210 établit alors, à l'étape E712, le ou les canaux média et de contrôle de média IP avec le module mixeur analyse des flux média IP 282.The client-client application 210 then establishes, in step E712, the media channel and IP media control channels with the mixer module analyzing IP media flows 282.
Il est à remarquer que l'appel de l'abonné 200 correspond au premier appel sur le pont de conférence 270, des informations de type annonce d'accueil, de type vidéo d'attente peuvent être diffusées vers l'abonné 200 si l'application est de type client-client vidéo H323/SIP. Régulièrement, le module mixeur analyse des flux média IP 282 obtient des informations de contrôle des flux média IP échangées avec l'application client-client 210 et interroge la base de données 271 à l'étape E713.It should be noted that the call of the subscriber 200 corresponds to the first call on the conference bridge 270, information of the welcome announcement type, of the video on hold type can be broadcast to the subscriber 200 if the application is of client-client video H323 / SIP type. Regularly, the mixer module for analyzing IP media flows 282 obtains information for controlling IP media flows exchanged with the client-client application 210 and interrogates the database 271 in step E713.
Le module mixeur analyse des flux média IP 282 obtient ainsi, en utilisant l'adresse IP de l'ordinateur 204 comme clé primaire, le contexte de la session comprenant les références des canaux téléphoniques entrants et sortants.The mixer module for analyzing IP media flows 282 thus obtains, using the IP address of computer 204 as a primary key, the context of the session comprising the references of the incoming and outgoing telephone channels.
Ces informations obtenues, le module mixeur analyse des flux média IP 282 analyse les paquets de contrôle des flux média, obtient des informations représentatives du retard, de gigue, de perte de paquets du flux de média et en fonction de ces informations, contrôle, à l'étape E714, le module mixeur et retard vocal 281.Once this information has been obtained, the IP 282 media flow analysis module analyzes the media flow control packets, obtains information representative of the delay, jitter, packet loss of the media flow and, based on this information, controls step E714, the mixer and vocal delay module 281.
Ainsi, le flux vocal téléphonique, qui est par exemple une musique d'attente, synchronisée avec la vidéo H323/SIP émise par le serveur de l'invention 270 vers l'abonné 200, est plus ou moins retardée. Ce retard est appliqué à l'étape E715.Thus, the telephone voice stream, which is for example music on hold, synchronized with the H323 / SIP video transmitted by the server of the invention 270 to the subscriber 200, is more or less delayed. This delay is applied in step E715.
Lorsque l'abonné 220 décroche son terminal téléphonique 222 et compose le numéro de téléphone du service permettant le couplage téléphonie-application de données, ce numéro de téléphone étant associé à l'interface téléphonique 280, un message de demande d'établissement d'appel téléphonique est transmis, à l'étapeWhen subscriber 220 picks up his telephone terminal 222 and dials the telephone number of the service allowing the telephony-data application coupling, this telephone number being associated with the telephone interface 280, a call establishment request message telephone is transmitted, at step
E716, au module répondeur téléphonique 279.E716, to the answering machine module 279.
Le module répondeur téléphonique 279 accepte l'appel téléphonique entrant à l'étape E717.The telephone answering module 279 accepts the incoming telephone call in step E717.
Ensuite, le module répondeur téléphonique 279 consulte, à l'étape E718, la base de données 271 avec la clé primaire numéro de téléphone appelant afin d'obtenir le contexte de la session comprenant le numéro d'un canal vocal disponible, et l'adresse IP de l'ordinateur 223 si le logiciel client 224 est activé. Si le logiciel client 224 n'est pas activé, l'adresse IP de l'ordinateur 223 de l'abonné 220 ne sera pas fournie. Dans ce cas, à l'étape E719, le répondeur téléphonique 279 génère un message, à destination du module mixeur et retard vocal 281 pour que celui-ci diffuse à l'étape E720, à destination de l'abonné 220, une annonce vocale de bienvenue ainsi qu'un message d'annonce vocal invitant l'abonné 220 à activer son logiciel client 224. La connexion vocale en mode conférence entre les abonnés 200 et 220 est alors activée sur le canal vocal sélectionné.Then, the telephone answering module 279 consults, in step E718, the database 271 with the primary key calling telephone number in order to obtain the context of the session comprising the number of an available voice channel, and the IP address of computer 223 if client software 224 is enabled. If the client software 224 is not activated, the IP address of the computer 223 of subscriber 220 will not be provided. In this case, in step E719, the telephone answering machine 279 generates a message, intended for the voice delay and mixer module 281 so that the latter broadcasts, in step E720, intended for subscriber 220, a voice announcement. welcome as well as a voice announcement message inviting subscriber 220 to activate his client software 224. The voice connection in conference mode between subscribers 200 and 220 is then activated on the selected voice channel.
Si le logiciel client 224 de l'abonné 220 n'est pas activé et enregistré, celui-ci s'active, s'enregistre. Le logiciel client 224 est activé manuellement ou automatiquement. La signalisation d'appel IP est échangée avec le module répondeur IP 283 compatible. Le ou les canaux média, ainsi que le ou les canaux de contrôle de média IP sont établis avec le module mixeur analyse des flux média IP 282 de la même façon que celle décrite précédemment pour l'abonné 200.If the client software 224 of subscriber 220 is not activated and registered, the latter is activated and registered. The 224 client software is activated manually or automatically. The IP call signaling is exchanged with the compatible IP 283 answering module. The media channel (s), as well as the IP media control channel (s) are established with the IP media flow analysis mixer module 282 in the same way as that described above for the subscriber 200.
L'abonné 220 étant le second abonné à avoir appelé le service, les applications client-client 210 et 227 des abonnés 200 et 220 se retrouvent en connexion au travers du pont de conférence ou serveur IP 270. Le module mixeur analyse des flux médiaSubscriber 220 being the second subscriber to have called the service, client-client applications 210 and 227 of subscribers 200 and 220 are connected via the conference bridge or IP 270 server. The mixer module analyzes media flows
IP 282 obtient les informations de contrôle des flux média échangées par les applications client-client 210 et 227.IP 282 obtains the media flow control information exchanged by client-client applications 210 and 227.
Le module mixeur analyse des flux média IP 282 interroge la base de données 271 à l'étape E721 afin d'obtenir les deux contextes de sessions et plus particulièrement les références des canaux téléphoniques des communications entre l'abonné 200 et le serveur de l'invention 270 et entre l'abonné 220 et le serveur de l'invention 270.The mixer module analyzes IP media flows 282 interrogates the database 271 in step E721 in order to obtain the two session contexts and more particularly the references of the telephone channels of the communications between the subscriber 200 and the server of the invention 270 and between subscriber 220 and the server of invention 270.
Ces informations obtenues, le module mixeur analyse des flux média IP 282 analyse les paquets de contrôle des flux média, obtient des informations représentatives du retard, de gigue, de perte de paquets du flux de média, et en fonction de ces informations, contrôle à l'étape E722 le module mixeur et retard vocalOnce this information has been obtained, the IP 282 media flow analysis mixer module analyzes the media flow control packets, obtains information representative of the delay, jitter, packet loss of the media flow, and based on this information, checks to step E722 the mixer and vocal delay module
281.281.
Ainsi à cette même étape, le flux vocal téléphonique émis par le serveur 270 vers l'abonné 200 est plus ou moins retardé. De la même façon, le flux vocal téléphonique émis par le serveur 270 vers l'abonné 220 est aussi plus ou moins retardé. Plus précisément, le retard est appliqué sur le flux vocal considéré comme flux vocal esclave, le flux vocal maître étant le flux vocal considéré comme actif. Les retards sont calculés de la manière suivante dans le cas d'une transmission de vidéo H323 ou SIP avec un protocole de type RTCP: on détermine le retard TA issu des paquets RTCP entre l'ordinateur 204 et le module mixeur analyse des flux média IP 282, on détermine le retard TB issu des paquets RTCP entre le module mixeur analyse des flux média IP 282 et l'ordinateur 223, on additionne les retards TA et TB et on génère une requête à destination du module mixeur vocal et retard 281 pour que celui-ci applique la somme des retards sur le flux vocal émis par le téléphone 203 et transmis au téléphone 222. on détermine le retard RB issu des paquets RTCP entre l'ordinateur 223 et le module mixeur analyse des flux média IP 282, on détermine le retard RA issu des paquets RTCP entre le module mixeur analyse des flux média IP 282 et l'ordinateur 204, on additionne les retards RA et RB et on génère une requête à destination du module mixeur vocal et retard 281 pour que celui-ci applique la somme des retards sur le flux vocal émis par le téléphone 222 et transmis au téléphone 203.Thus, at this same stage, the telephone voice flow transmitted by the server 270 to the subscriber 200 is more or less delayed. In the same way, the telephone voice flow transmitted by the server 270 to the subscriber 220 is also more or less delayed. More precisely, the delay is applied to the voice stream considered as a slave voice stream, the master voice stream being the voice stream considered to be active. The delays are calculated as follows in the case of an H323 or SIP video transmission with an RTCP type protocol: the TA delay resulting from the RTCP packets between the computer 204 and the mixer module analyzes the IP media flows is determined 282, the delay TB from the RTCP packets is determined between the IP media flow analysis mixer module 282 and the computer 223, the TA and TB delays are added and a request is sent to the voice mixer and delay module 281 so that the latter applies the sum of the delays on the voice stream transmitted by the telephone 203 and transmitted to the telephone 222. the delay RB from the RTCP packets between the computer 223 and the mixer module analyzes the IP media flows 282 is determined, it is determined the delay RA originating from the RTCP packets between the mixer module analyzing IP media flows 282 and the computer 204, adding the delays RA and RB and generating a request intended for the voice mixer module and delay 281 so that this it applies the sum of the delays on the voice flow transmitted by the telephone 222 and transmitted to the telephone 203.
Il est à remarquer que le module mixeur vocal et retard 281 prend en compte dans l'application du retard, le délai standard d'une communication téléphoniqueIt should be noted that the voice and delay mixer module 281 takes into account in the application of the delay, the standard delay of a telephone call.
RTC entre le combiné 203 et le module mixeur vocal et retard 281 et aussi du délai standard d'une communication téléphonique RTC entre le module mixeur vocal et retard 281 et le combiné 222.PSTN between handset 203 and voice mixer module and delay 281 and also the standard delay for a PSTN telephone call between voice mixer module and delay 281 and handset 222.
Lorsqu'un troisième abonné compose, par l'intermédiaire de son combiné téléphonique 292, le numéro de téléphone associé à l'interface téléphonique 280, le module téléphonique effectue les mêmes opérations que celles décrites pour l'appel de l'abonné 220 au numéro associé à l'interface téléphonique 280.When a third subscriber dials, via his telephone handset 292, the telephone number associated with the telephone interface 280, the telephone module performs the same operations as those described for calling subscriber 220 to the number associated with the telephone interface 280.
Le troisième abonné 291 active son logiciel client 294 qui s'enregistre avec le module d'enregistrement 272. Le logiciel client-client 293 est alors activé manuellement ou automatiquement, la signalisation d'appel IP est échangée avec le module répondeur IP 283 compatible, le ou les canaux média, le ou les canaux de contrôle de média IP sont établis avec le module mixeur analyse des flux média IP 282 de la même façon que celle décrite précédemment pour l'abonné 200. Ces procédures ne seront donc pas décrites plus en détail.The third subscriber 291 activates his client software 294 which registers with the recording module 272. The client-client software 293 is then activated manually or automatically, the IP call signaling is exchanged with the compatible IP responder module 283, the media channel (s), the IP media control channel (s) are established with the IP media flow analysis mixer module 282 in the same way as that described above for subscriber 200. These procedures will therefore not be described further detail.
Alors, la connexion en mode conférence vocale est établie pour les abonnés 200, 220 et 291. S 'agissant du troisième appel sur le pont de conférence IP 270, les applications client-client 210, 227 et 293 compatibles des abonnés 200, 220 et 291 se retrouvent en connexion au travers du serveur ou pont de conférence IP 270.Then, the connection in voice conference mode is established for subscribers 200, 220 and 291. As regards the third call on the IP 270 conference bridge, the client-client applications 210, 227 and 293 compatible with subscribers 200, 220 and 291 are found in connection through the server or IP 270 conference bridge.
Le module mixeur analyse des flux média IP 282 obtient périodiquement des informations de contrôle des flux média échangées avec les applications client-client 210, 227 et 293.The IP 282 media flow analysis mixer module periodically obtains media flow control information exchanged with client-client applications 210, 227 and 293.
Le module mixeur analyse des flux média IP 282 interroge la base de données 271 afin d'obtenir les trois contextes de sessions en utilisant les adresses IP de l'ordinateur 204, de l'ordinateur 223 et de l'ordinateur 295 comme clé primaire et plus particulièrement les références des canaux téléphoniques entrants et sortants des communications entre l'abonné 200 et le serveur 270, entre l'abonné 220 et le serveur 270 et entre l'abonné 291 et le serveur 270.The mixer module analyzes IP media flows 282 interrogates the database 271 in order to obtain the three session contexts using the IP addresses of computer 204, computer 223 and computer 295 as primary key and more particularly the references of the incoming and outgoing telephone channels of the communications between the subscriber 200 and the server 270, between the subscriber 220 and the server 270 and between the subscriber 291 and the server 270.
Le module mixeur analyse des flux média IP 282 analyse les paquets de contrôle des flux média, obtient des informations représentatives de retard, de gigue, de perte de paquets du flux de média, et en fonction de ces informations, contrôle à l'étape E723, le module mixeur et retard vocal 281.The mixer module analyzes IP media flows 282 analyzes the media flow control packets, obtains information representative of delay, jitter, loss of packets from the media flow, and as a function of this information, checks in step E723 , the mixer and voice delay module 281.
Ainsi, le flux vocal téléphonique émis par le serveur 270 vers l'abonné 200 est plus ou moins retardé à l'étape E724.Thus, the telephone voice flow transmitted by the server 270 to the subscriber 200 is more or less delayed in step E724.
De la même façon, le flux vocal téléphonique émis par le serveur 270 vers l'abonné 220 est plus ou moins retardé à l'étape E725 et le flux vocal téléphonique émis par le serveur 270 vers l'abonné 291 est plus ou moins retardé à l'étape E726.In the same way, the telephone voice stream sent by the server 270 to the subscriber 220 is more or less delayed in step E725 and the telephone voice stream sent by the server 270 to the subscriber 291 is more or less delayed at step E726.
Trois abonnés étant en conférence, seulement un des trois abonnés à un instant donné parle. Les deux autres abonnés quant à eux écoutent le flux vocal diffusé par cet abonné. Les retards sont calculés de la manière suivante dans le cas d'une transmission de vidéo H323 ou SIP avec un protocole de type RTCP :Three subscribers being in conference, only one of the three subscribers at a given time speaks. The other two subscribers listen to the voice stream broadcast by this subscriber. The delays are calculated as follows in the case of an H323 or SIP video transmission with an RTCP protocol:
Si l'abonné 200 émet un flux vocal : on détermine le retard RAM issu des paquets RTCP entre l'ordinateur 204 et le module mixeur analyse des flux média IP 282, on détermine le retard RMB issu des paquets RTCP entre le module mixeur analyse des flux média IP 282 et l'ordinateur 223, on additionne les retards RAM et RMB et on génère une requête à destination du module mixeur vocal et retard 281 pour que celui-ci applique la somme des retards sur le flux vocal émis par le téléphone 203 et transmis vers le téléphone 222, on détermine le retard RMC issu des paquets RTCP entre le module mixeur analyse des flux média IP 282 et l'ordinateur 295, on additionne les retards RAM et RMC et on génère une requête à destination du module mixeur vocal et retard 281 pour que celui-ci applique la somme des retards sur le flux vocal émis par le téléphone 203 et transmis vers le téléphone 292,If subscriber 200 transmits a voice stream: the RAM delay from the RTCP packets between the computer 204 and the IP media stream analysis mixer module 282 is determined, the RMB delay from the RTCP packets between the mixer analysis analysis is determined IP media flow 282 and the computer 223, the RAM and RMB delays are added together and a request is sent to the voice mixer and delay module 281 so that the latter applies the sum of the delays to the voice flow transmitted by the telephone 203 and transmitted to phone 222, the RMC delay resulting from the RTCP packets between the mixer module for analyzing IP media flows 282 and the computer 295 is determined, the RAM and RMC delays are added and a request is sent to the voice mixer and delay module 281 so that it this applies the sum of the delays on the voice flow transmitted by the telephone 203 and transmitted to the telephone 292,
Si l'abonné 220 émet un flux vocal : on détermine le retard RBM issu des paquets RTCP entre l'ordinateur 223 et le module mixeur analyse des flux média IP 282, on détermine le retard RMA issu des paquets RTCP entre le module mixeur analyse des flux média IP 282 et l'ordinateur 204, on additionne les retards RBM et RMA et on génère une requête à destination du module mixeur vocal et retard 281 pour que celui-ci applique la somme des retards sur le flux vocal émis par le téléphone 222 et transmis vers le téléphone 203. on détermine le retard RMC issu des paquets RTCP entre le module mixeur analyse des flux média IP 282 et l'ordinateur 295, on additionne les retards RBM et RMC et on génère une requête à destination du module mixeur vocal et retard 281 pour que celui-ci applique la somme des retards sur le flux vocal émis par le téléphone 222 et transmis vers le téléphone 292,If subscriber 220 transmits a voice stream: the RBM delay from the RTCP packets between the computer 223 and the IP media stream analysis mixer module 282 is determined, the RMA delay from the RTCP packets between the mixer analysis analysis parameters is determined IP media flow 282 and the computer 204, the RBM and RMA delays are added and a request is sent to the voice mixer and delay module 281 so that the latter applies the sum of the delays to the voice flow transmitted by the telephone 222 and transmitted to the telephone 203. the RMC delay resulting from the RTCP packets is determined between the IP media flow analysis mixer module 282 and the computer 295, the RBM and RMC delays are added and a request is sent to the voice mixer module and delay 281 so that the latter applies the sum of the delays on the voice stream transmitted by the telephone 222 and transmitted to the telephone 292,
Si l'abonné 291 émet un flux vocal : on détermine le retard RCM issu des paquets RTCP entre l'ordinateur 295 et le module mixeur analyse des flux média IP 282, on détermine le retard RMA issu des paquets RTCP entre le module mixeur analyse des flux média IP 282 et l'ordinateur 204, on additionne les retards RCM et RMA et on génère une requête à destination du module mixeur vocal et retard 281 pour que celui-ci applique la somme des retards sur le flux vocal émis par le téléphone 292 et transmis vers le téléphone 203, on détermine le retard RMB issu des paquets RTCP entre le module mixeur analyse des flux média IP 282 et l'ordinateur 223, on additionne les retards RCM et RMB et on génère une requête à destination du module mixeur vocal et retard 281 pour que celui-ci applique la somme des retards sur le flux vocal émis par le téléphone 292 et transmis vers le téléphone 222,If subscriber 291 transmits a voice stream: the RCM delay from the RTCP packets between the computer 295 and the IP media stream analysis mixer module 282 is determined, the RMA delay from the RTCP packets between the mixer analysis module is determined IP media flow 282 and the computer 204, the RCM and RMA delays are added and a request is sent to the voice mixer and delay module 281 so that the latter applies the sum of the delays to the voice flow transmitted by the telephone 292 and transmitted to the telephone 203, the RMB delay from the RTCP packets is determined between the IP media flow analysis mixer module 282 and the computer 223, the RCM and RMB delays are added and a request is sent to the voice mixer module and delay 281 so that the latter applies the sum of the delays on the voice stream transmitted by the telephone 292 and transmitted to the telephone 222,
La Fig. 8 représente un algorithme décrivant la détermination du retard sur le réseau de télécommunication par paquets selon le second mode de réalisation de l'invention. Les applications client-client 210 et 227 compatibles des abonnés 200 et 220 étant en connexion au travers du serveur ou pont de conférence IP 270, le module mixeur analyse des flux média IP 282 obtient périodiquement des informations de contrôle des flux média des applications client-client 210 et 227. Le flux média transmis par un ordinateur ainsi que le flux de contrôle du flux média, plus particulièrement les paquets RTCP, sont transmis au module mixeur analyse des flux média IP 282 du serveur 270 qui prolonge ensuite le flux média à destination du ou des autres ordinateurs.Fig. 8 represents an algorithm describing the determination of the delay on the packet telecommunications network according to the second embodiment of the invention. Since the client-client applications 210 and 227 compatible with subscribers 200 and 220 are connected through the server or IP conference bridge 270, the mixer module for analyzing the IP media flows 282 periodically obtains information for controlling the media flows of the client applications. client 210 and 227. The media flow transmitted by a computer as well as the media flow control flow, more particularly the RTCP packets, are transmitted to the IP media flow analysis mixer module 282 of the server 270 which then extends the media flow to destination other computer (s).
A titre d'exemple, l'ordinateur 204 de l'abonné 200 émet un flux de données à destination du mixeur analyse des flux média IP 282, le module mixeur analyse média IP 282 interroge la base de données 271 afin d'obtenir les deux contextes de sessions en utilisant les adresses IP de l'ordinateur 204 et de l'ordinateur 223 comme clé primaire et plus particulièrement les références des canaux téléphoniques entrants et sortants des communications entre l'abonné 200 et le serveur 270 et entre l'abonné 220 et le serveur 270, le mixeur analyse des flux média IP 282 prolonge ensuite ce flux de données à destination de l'ordinateur 223 de l'abonné 220.For example, the subscriber computer 204 of the subscriber 200 sends a data stream to the IP media stream analysis mixer 282, the IP media analysis mixer module 282 interrogates the database 271 in order to obtain the two session contexts using the IP addresses of computer 204 and computer 223 as primary key and more particularly the references of the incoming and outgoing telephone channels of communications between subscriber 200 and server 270 and between subscriber 220 and the server 270, the mixer analyzes IP media flows 282 then extends this data flow to the computer 223 of subscriber 220.
A l'étape E801, le module mixeur analyse des flux média IP 282 reçoit un paquet de contrôle de flux média, par exemple un paquet RTCP SR envoyé par l'application client-client 210 relatif à un transfert de flux de données entre l'application client-client 210 et le module mixeur analyse des flux média IP 282.In step E801, the mixer module analyzing IP media flows 282 receives a media flow control packet, for example an RTCP SR packet sent by the client-client application 210 relating to a transfer of data streams between the client-client application 210 and the mixer module analyzes IP media flows 282.
Le module mixeur analyse des flux média IP 282 détermine à l'étape E802 l'émetteur de ce message en lisant l'identifiant contenu dans le champ 605 du paquet RTCP SR représenté en Fig. 4. Cet identifiant correspond par exemple à celui de l'application client-client 210. Le module mixeur analyse de flux média IP 282 vérifie à l'étape suivante E803 s'il a préalablement transmis un paquet RTCP SR à l'application client-client 210.The mixer module for analyzing IP media flows 282 determines in step E802 the sender of this message by reading the identifier contained in field 605 of the RTCP SR packet shown in FIG. 4. This identifier corresponds, for example, to that of the client-client application 210. The IP media flow analysis mixer module 282 checks in the next step E803 whether it has previously transmitted an RTCP SR packet to the client application. client 210.
Dans la négative, le module mixeur analyse de flux média IP 282 passe à l'étape E804. A cette étape, le module mixeur analyse de flux média IP 282 attend si nécessaire un temps prédéterminé avant de passer aux étapes E805 à E806. En effet, afin de ne pas avoir un rapport trop important entre les paquets de contrôle et les paquets du flux RTP, le module mixeur analyse de flux média IP 282 peut être amené à attendre un temps plus ou moins important avant de lui-même générer un paquet RTCP. A l'étape E805, le module mixeur analyse de flux média IP 282 génère un paquet RTCP SR à destination de l'application client-client 210.If not, the IP media flow analysis mixer module 282 goes to step E804. At this stage, the IP media flow analysis mixer module 282 waits, if necessary, for a predetermined time before proceeding to steps E805 to E806. In fact, in order not to have too great a relationship between the control packets and the RTP stream packets, the IP 282 media stream analysis mixer module may have to wait a more or less significant time before generating itself. an RTCP packet. In step E805, the IP media flow analysis mixer module 282 generates an RTCP SR packet intended for the client-client application 210.
Le module mixeur analyse de flux média IP 282 insère dans le paquet RTCP SR entre autres son identifiant dans le champ 605, la date et l'heure notée Hi de l'envoi du message RTCP SR dans les champs 606 et 607, l'identifiant de l'ordinateur 204 de l'abonné 200 dans le champ 611. Il est à remarquer que i est un indice associé à l'ordinateur 204 et/ou à l'application client-client 210.The IP 282 media flow analysis mixer module inserts in its RTCP SR packet among other things its identifier in field 605, the date and time noted Hi of the sending of the RTCP SR message in fields 606 and 607, the identifier of the computer 204 of the subscriber 200 in the field 611. It should be noted that i is an index associated with the computer 204 and / or with the client-client application 210.
A l'étape suivante E806, le module mixeur analyse de flux média IP 282 mémorise l'heure notée Hi et procède à l'étape E807 au transfert du paquet RTCP SR précédemment généré à l'étape E805 par l'intermédiaire de l'interface IP 278, du réseau local 284, du routeur Firewall 285 et du réseau public Internet 260.In the next step E806, the IP media flow analysis mixer module 282 stores the time denoted Hi and proceeds to step E807 to the transfer of the RTCP SR packet previously generated in step E805 via the interface IP 278, local network 284, firewall router 285, and public Internet network 260.
Le transfert effectué, le module mixeur analyse de flux média IP 282 retourne à l'étape E801 et reçoit à cette étape un nouveau paquet RTCP SR.Once the transfer has been made, the IP media flow analysis mixer module 282 returns to step E801 and receives a new RTCP SR packet at this step.
Le module mixeur analyse de flux média IP 282 détermine à l'étape E802 l'émetteur de ce message en lisant l'identifiant contenu dans le champ 605 du paquet RTCP SR, celui-ci est par exemple l'identifiant de l'application client-client 227.The IP media flow analysis mixer module 282 determines in step E802 the sender of this message by reading the identifier contained in field 605 of the RTCP SR packet, this is for example the identifier of the client application - customer 227.
Le module mixeur analyse de flux média IP 282 vérifie à l'étape suivante E803 s'il a préalablement transmis un paquet RTCP SR à l'application client-client 227. Dans notre exemple, la vérification est négative, le module mixeur analyse de flux média IP 282 effectue les étapes E805 à E807 de la même manière que celle précédemment décrite, il mémorise alors l'heure Hi correspondante où i est l'indice associé à l'ordinateur 220 ou à l'application client-client 227.The IP media flow analysis mixer module 282 checks in the next step E803 whether it has previously transmitted an RTCP SR packet to the client-client application 227. In our example, the verification is negative, the flow analysis mixer module IP media 282 performs steps E805 to E807 in the same manner as that previously described, it then stores the corresponding time Hi where i is the index associated with the computer 220 or with the client-client application 227.
Ces opérations effectuées le module mixeur analyse de flux média IP 282 retourne à l'étape E801 et reçoit à cette étape un nouveau paquet RTCP SR. Le module mixeur analyse de flux média IP 282 détermine à l'étape E802 l'émetteur de ce message, celui-ci est par exemple l'identifiant de l'application client- client 210.These operations carried out the IP media flow analysis mixer module 282 returns to step E801 and receives at this step a new RTCP SR packet. The IP media flow analysis mixer module 282 determines in step E802 the sender of this message, this is for example the identifier of the client-client application 210.
Le module mixeur analyse de flux média IP 282 vérifie à l'étape suivante E803 s'il a préalablement transmis un paquet RTCP SR à l'application client-client 210. Dans notre exemple, ceci est le cas, une heure Hi, avec i indice de l'ordinateur 204, a été précédemment mémorisée.The IP 282 media flow analysis mixer module checks in the next step E803 whether it has previously transmitted an RTCP SR packet to the client-client application 210. In our example, this is the case, one hour Hi, with i computer index 204, was previously stored.
Le module mixeur analyse des flux média IP 282 passe alors à l'étape E808 et mémorise l'heure Ti à laquelle le paquet a été reçu. Il est à remarquer que i est ici un indice associé à l'ordinateur 204 et/ou à l'application client-client 210. Le module mixeur analyse des flux média IP 282 lit et mémorise, à l'étape suivante E809, le contenu du champ 617 du paquet RTCP SR représenté en Fig. 4. Celui-ci correspond dans notre exemple au délai passé entre l'instant auquel l'application client-client 210 a reçu un paquet RTCP SR du module mixeur analyse des flux média IP 282 et l'instant auquel l'application client-client 210 a émis le paquet RTCP SR en cours de traitement.The mixer module analyzes IP media flows 282 then goes to step E808 and stores the time Ti at which the packet was received. It should be noted that i is here an index associated with the computer 204 and / or with the client-client application 210. The mixer module analyzes IP media flows 282 reads and stores, in the next step E809, the content of field 617 of the RTCP SR packet shown in FIG. 4. In our example, this corresponds to the time elapsed between the time at which the client-client application 210 received an RTCP SR packet from the IP media flow analysis mixer module 282 and the time at which the client-client application 210 issued the RTCP SR packet being processed.
Cette opération effectuée, le module mixeur analyse des flux média IP 282 calcule à l'étape E810 le délai de propagation noté DIP existant entre l'application client-client en question, en l'occurrence l'application client-client 210 et le module mixeur analyse des flux média IP 282.Once this operation has been completed, the mixer module analyzes IP media flows 282 calculates in step E810 the propagation delay noted DIP existing between the client-client application in question, in this case the client-client application 210 and the module IP 282 media flow analysis mixer.
Le module mixeur analyse des flux média IP 282 calcule le délai de propagation DIP en soustrayant du temps Ti mémorisé à l'étape E808 le temps Hi mémorisé à l'étape E806 ainsi que le contenu du champ 617 mémorisé à l'étape E809.The IP media flow analysis mixer module 282 calculates the DIP propagation delay by subtracting from the time Ti stored in step E808 the time Hi stored in step E806 as well as the content of the field 617 stored in step E809.
Le délai DIP ainsi obtenu est ainsi représentatif d'un trajet aller retour d'un paquet entre l'application client-client 210 et le module mixeur analyse des flux média IP 282 à travers le réseau Internet 260, le routeur 285 et le réseau local 284.The DIP delay thus obtained is thus representative of a round trip of a packet between the client-client application 210 and the mixer module analyzing IP media flows 282 through the Internet network 260, the router 285 and the local network. 284.
Il est à remarquer que le délai DIP est égal à la somme des retards RMA issu des paquets RTCP entre le module mixeur analyse des flux média IP 282 et l'ordinateur 204 et RAM issu des paquets RTCP entre l'ordinateur 204 et le module mixeur analyse des flux média IP 282.It should be noted that the DIP delay is equal to the sum of the RMA delays from the RTCP packets between the mixer module for analyzing IP media flows 282 and the computer 204 and RAM from the RTCP packets between the computer 204 and the mixer module IP 282 media flow analysis.
Par souci de simplification, chacun des retards RMA et RAM est considéré égal à la moitié du délai DIP.For the sake of simplification, each of the RMA and RAM delays is considered equal to half of the DIP delay.
Cette opération effectuée, le module mixeur analyse des flux média IP 282 passe ensuite à l'étape E811 qui consiste à interroger la base de données 271 afin d'obtenir les contextes de sessions en utilisant les adresses IP de l'ordinateur 204, de l'ordinateur 223 comme clé primaire et plus particulièrement les références des canaux téléphoniques entrants et sortants des communications entre l'abonné 200 et le serveur 270 et entre l'abonné 220 et le serveur 270.Once this operation has been completed, the mixer module analyzes IP media flows 282 then goes to step E811 which consists in interrogating the database 271 in order to obtain the session contexts using the IP addresses of the computer 204, of the computer 223 as primary key and more particularly the references of the incoming and outgoing telephone channels of the communications between the subscriber 200 and the server 270 and between the subscriber 220 and the server 270.
Le module mixeur analyse des flux média IP 282 connaissant les références des canaux téléphoniques entrants et sortants des communications entre l'abonné 200 et le serveur 270 et entre l'abonné 220 et le serveur 270, additionne les retards RAM et RMB et génère à l'étape E812 une requête à destination du module mixeur vocal et retard 281 pour que celui-ci applique la somme des retards sur le flux vocal émis par le téléphone 203 et transmis vers le téléphone 222. Le module mixeur analyse des flux média IP 282 additionne les retards RBM et RMB et génère à la même étape E812 une requête à destination du module mixeur vocal et retard 281 pour que celui-ci applique la somme des retards sur le flux vocal émis par le téléphone 222 et transmis vers le téléphone 203. II est à remarquer ici qu'en variante, le module mixeur analyse des flux médiaThe mixer module analyzes IP media flows 282 knowing the references of the incoming and outgoing telephone channels of communications between subscriber 200 and server 270 and between subscriber 220 and server 270, adds the RAM and RMB delays and generates step E812, a request to the voice mixer and delay module 281 so that the latter applies the sum of the delays on the voice flow transmitted by the telephone 203 and transmitted to the telephone 222. The mixer module analyzes IP media flows 282 adds the RBM and RMB delays and at the same step E812 generates a request for the voice mixer module and delay 281 so that the latter applies the sum of the delays on the voice flow transmitted by the telephone 222 and transmitted to telephone 203. It should be noted here that, as a variant, the mixer module analyzes media flows
IP 282 interroge le module mixeur vocal et retard 281 de manière à déterminer le flux vocal actif, c'est-à-dire quel abonné est en train d'émettre le flux vocal. En fonction de la réponse, si par exemple l'abonné 200 est en train de parler, le module mixeur analyse des flux média IP 282 ne génère qu'une seule requête à destination du module mixeur vocal et retard 281 pour que celui-ci applique la somme des retards sur le flux vocal émis par le téléphone 203 et transmis vers le téléphone 222.IP 282 interrogates the voice mixer and delay module 281 so as to determine the active voice flow, that is to say which subscriber is transmitting the voice flow. Depending on the response, if for example the subscriber 200 is speaking, the mixer module analyzes IP media flows 282 generates only one request to the voice mixer module and delay 281 so that the latter applies the sum of the delays on the voice stream transmitted by the telephone 203 and transmitted to the telephone 222.
Il est à remarquer que selon notre exemple, les retards RBM et RMB n'ont pas encore été calculés, ils sont donc considérés comme nuls. En variante ils peuvent être fixés à une valeur prédéterminée représentative de retards moyens évalués lors de sessions précédentes.It should be noted that according to our example, the RBM and RMB delays have not yet been calculated, they are therefore considered to be zero. As a variant, they can be fixed at a predetermined value representative of average delays evaluated during previous sessions.
Cette opération effectuée, le module mixeur analyse des flux média IP 282 retourne à l'étape E804 précédemment décrite et effectue les étapes E805 à E807 pour enfin retourner à l'étape E801 pour recevoir un nouveau paquet.Once this operation has been carried out, the mixer module analyzes IP media flows 282 returns to step E804 previously described and performs steps E805 to E807 to finally return to step E801 to receive a new packet.
Il est à remarquer que lorsque le module mixeur analyse des flux média IP 282 reçoit un paquet RTCP SR de l'application 227 de l'ordinateur 223, celui-ci effectue de la même façon les étapes E801 à E803 et E808 à E812 et détermine ainsi à l'étape E810 le retard égal à la somme des retards RMB issu des paquets RTCP entre le module mixeur analyse des flux média IP 282 et l'ordinateur 223 et RBM issu des paquets RTCP entre l'ordinateur 223 et le module mixeur analyse des flux média IP 282. Ces retards RMB et RBM sont considérés égaux à la moitié du délai DIP.It should be noted that when the mixer module analyzes IP media flows 282 receives an RTCP SR packet from the application 227 from the computer 223, the latter performs the steps E801 to E803 and E808 to E812 in the same way and determines thus in step E810, the delay equal to the sum of the RMB delays originating from the RTCP packets between the mixer module analyzing IP media flows 282 and the computer 223 and RBM originating from the RTCP packets between the computer 223 and the mixer mixing module IP 282 media streams. These RMB and RBM delays are considered equal to half the DIP delay.
Le module mixeur analyse des flux média IP 282 additionne les retards RAM et RMB et génère à l'étape E812 une requête à destination du module mixeur vocal et retard 281 pour que celui-ci applique la somme des retards sur le flux vocal émis par le téléphone 203 et transmis vers le téléphone 222. II additionne les retards RBM et RMB et génère à la même étape E812 une requête à destination du module mixeur vocal et retard 281 pour que celui-ci applique la somme des retards sur le flux vocal émis par le téléphone 222 et transmis vers le téléphone 203. Il est à remarquer ici que, si l'application client-client 227 de l'abonné 220 est une application non active en ce sens qu'elle ne transfère pas un flux vidéo, celle-ci au lieu de générer des paquets RTCP SR génère des paquets RTCP RR (receiver report) qui sont similaires au paquets RTCP SR et traités par le module mixeur analyse des flux média IP 282 de la même manière que les paquets RTCP SR.The mixer module analyzes IP media flows 282 adds the RAM and RMB delays and generates in step E812 a request to the voice mixer and delay module 281 so that the latter applies the sum of the delays to the voice flow transmitted by the telephone 203 and transmitted to telephone 222. It adds the RBM and RMB delays and generates, at the same step E812, a request intended for the voice mixer and delay module 281 so that the latter applies the sum of the delays on the voice stream transmitted by telephone 222 and transmitted to telephone 203. It should be noted here that, if the client-client application 227 of subscriber 220 is a non-active application in the sense that it does not transfer a video stream, this instead of generating RTCP SR packets generates RTCP RR (receiver report) packets which are similar to RTCP SR packets and treated by the IP 282 media stream analysis mixer module in the same way as RTCP SR packets.
Si l'abonné 291 se joint au pont de conférence entre temps, le module mixeur analyse des flux média IP 282 additionne les retards RAM et RMC et génère à l'étape E812 une requête à destination du module mixeur vocal et retard 281 pour que celui- ci applique la somme des retards sur le flux vocal émis par le téléphone 203 et transmis vers le téléphone 292.If the subscriber 291 joins the conference bridge in the meantime, the mixer module analyzes the IP media flows 282 adds the RAM and RMC delays and at step E812 generates a request intended for the voice mixer and delay module 281 so that the one - this applies the sum of the delays on the voice flow transmitted by the telephone 203 and transmitted to the telephone 292.
Le module mixeur analyse des flux média IP 282 additionne les retards RBM et RMC et génère à l'étape E812 une requête à destination du module mixeur vocal et retard 281 pour que celui-ci applique la somme des retards sur le flux vocal émis par le téléphone 222 et transmis vers le téléphone 292. Les retards entre RCM et RMC sont déterminés de la même façon que celle précédemment décrite. Ils ne seront pas plus décrits.The mixer module analyzes IP media flows 282 adds the RBM and RMC delays and generates in step E812 a request intended for the voice mixer and delay module 281 so that the latter applies the sum of the delays on the voice flow transmitted by the telephone 222 and transmitted to telephone 292. The delays between RCM and RMC are determined in the same way as that previously described. They will not be described further.
Il est à remarquer ici que, en variante, le module mixeur analyse des flux média IP 282 interroge le module mixeur vocal et retard 281 de manière à déterminer le flux vocal actif, c'est-à-dire quel abonné est en train d'émettre le flux vocal. En fonction de la réponse, si par exemple l'abonné 200 est en train de parler, le module mixeur analyse des flux média IP 282 ne génère que deux requêtes à destination du module mixeur vocal et retard 281 pour que celui-ci applique la somme des retards sur le flux vocal émis par le téléphone 203 et transmis vers le téléphone 222 et pour que celui-ci applique la somme des retards sur le flux vocal émis par le téléphone 203 et transmis vers le téléphone 292It should be noted here that, as a variant, the mixer module analyzes IP media flows 282 interrogates the voice mixer module and delays 281 so as to determine the active voice flow, that is to say which subscriber is in the process of play the voice stream. Depending on the response, if for example the subscriber 200 is speaking, the mixer module analyzes IP media flows 282 only generates two requests to the voice mixer module and delay 281 so that the latter applies the sum delays on the voice stream sent by the phone 203 and transmitted to the phone 222 and so that the latter applies the sum of the delays on the voice stream sent by the phone 203 and transmitted to the phone 292
Le module mixeur vocal et retard 281 applique chaque retard sur les flux vocaux téléphoniques de la même façon que celle décrite par le module de gestion vocale et retard 181 en référence à la Fig. 5b.The voice mixer and delay module 281 applies each delay to the telephone voice flows in the same way as that described by the voice management and delay module 181 with reference to FIG. 5b.
Le module mixeur vocal et retard 281 applique les retards correspondant aux retards transmis par le module mixeur analyse des flux média IP 282 si ces retards sont à appliquer sur les flux vocaux actifs, ou en variante le module mixeur vocal et retard 281 applique les retards correspondant aux retards transmis par le module mixeur analyse des flux média IP 282. En variante le module de mixage de flux média 282 lit dans les paquets RTCP SR reçus le champ 615 comprenant des informations sur la variance du temps passé entre l'arrivée des paquets RTP. Si la variance est relativement importante, par exemple de l'ordre d'une centaine de millisecondes, le module mixage de flux média 282 corrige les retards à appliquer en fonction de celle-ci. En effet, les ordinateurs 204, 223 et 295 ajustent la taille de leurs buffer de réception respectifs pour pallier à ce problème de variance ou gigue ce qui retarde bien entendu la restitution du flux vidéo.The voice mixer and delay module 281 applies the delays corresponding to the delays transmitted by the IP media flow analysis mixer module 282 if these delays are to be applied to the active voice flows, or alternatively the voice mixer and delay module 281 applies the corresponding delays delays transmitted by the IP 282 media flow analysis mixer module. As a variant, the media stream mixing module 282 reads from the RTCP SR packets received the field 615 comprising information on the variance of the time spent between the arrival of the RTP packets. If the variance is relatively large, for example of the order of a hundred milliseconds, the media stream mixing module 282 corrects the delays to be applied as a function thereof. In fact, computers 204, 223 and 295 adjust the size of their respective reception buffers to overcome this problem of variance or jitter, which of course delays the restitution of the video stream.
Le module de mixage de flux média 282 à partir de ces informations de variance augmente alors le retard sur le flux audio correspondant par exemple d'un retard supplémentaire de l'ordre de 40 millisecondes.The media stream mixing module 282 on the basis of this variance information then increases the delay on the corresponding audio stream, for example by an additional delay of the order of 40 milliseconds.
Selon une autre variante, le flux de données audio est transmis sur le réseau asynchrone tandis que le flux de données vidéo est transmis sur le réseau synchrone. Le flux vidéo est alors retardé de la même façon que celle décrite précédemment. La synchronisation telle que décrite précédemment est effectuée à partir de paquets conformes au protocole RTCP. Bien entendu, d'autres types de paquets conformes à d'autres protocoles peuvent être utilisés pour déterminer le retard sur le réseau asynchrone.According to another variant, the audio data stream is transmitted over the asynchronous network while the video data stream is transmitted over the synchronous network. The video stream is then delayed in the same way as that described above. Synchronization as described above is carried out from packets conforming to the RTCP protocol. Of course, other types of packets conforming to other protocols can be used to determine the delay on the asynchronous network.
A titre d'exemple, le serveur selon l'invention peut aussi fonctionner avec des applications client-client propriétaires différentes des applications "Microsoft Netmeeting H323", ou " FTR&D eConf SIP".By way of example, the server according to the invention can also operate with proprietary client-client applications different from the "Microsoft Netmeeting H323", or "FTR & D eConf SIP" applications.
Le serveur selon l'invention peut aussi utiliser des paquets de type ICMP (Internet Control and Error Message Protocole). Pour cela, périodiquement, par exemple toutes les secondes, le serveur génère des paquets ICMP aux ordinateurs des abonnés et mémorise l'heure à laquelle ils sont envoyés. Le serveur mémorise aussi l'heure à laquelle chaque réponse émise par l'ordinateur est reçue et calcule ainsi le délai aller retour de transfert entre le serveur et chaque ordinateur. Il est à remarquer que dans ce cas, les ordinateurs doivent répondre immédiatement à la réception des paquets ICMP. L'invention telle que décrite peut aussi synchroniser deux flux audio, un des flux étant véhiculé sur un réseau de télécommunication asynchrone et l'autre étant véhiculé sur un réseau de télécommunication synchrone. L'invention peut aussi synchroniser de la même manière deux flux vidéo ou tout type de flux transitant sur des réseaux de télécommunication différents. Bien entendu, la présente invention n'est nullement limitée aux modes de réalisation décrits ici, mais englobe, bien au contraire, toute variante à la portée de l'homme du métier. The server according to the invention can also use packets of the ICMP (Internet Control and Error Message Protocol) type. To do this, periodically, for example every second, the server generates ICMP packets to subscribers' computers and stores the time at which they are sent. The server also memorizes the time at which each response sent by the computer is received and thus calculates the round trip delay of transfer between the server and each computer. Note that in this case, computers must respond immediately upon receipt of ICMP packets. The invention as described can also synchronize two audio streams, one of the streams being carried on an asynchronous telecommunications network and the other being carried on a synchronous telecommunications network. The invention can also synchronize in the same way two video streams or any type of stream passing over different telecommunication networks. Of course, the present invention is not limited to the embodiments described here, but encompasses, quite the contrary, any variant within the reach of ordinary skill in the art.

Claims

REVENDICATIONS
1) Dispositif de synchronisation (190, 290) d'un flux multimédia constitué de deux flux multimédia distincts dans un réseau de télécommunication constitué d'un réseau de télécommunication synchrone (141, 148, 241) et d'un réseau de télécommunication asynchrone (160, 260), un desdits flux transitant sur le réseau de télécommunication asynchrone, l'autre flux transitant sur le réseau de télécommunication synchrone, caractérisé en ce que le dispositif comporte :1) Device for synchronizing (190, 290) a multimedia stream made up of two separate multimedia streams in a telecommunication network made up of a synchronous telecommunication network (141, 148, 241) and an asynchronous telecommunication network ( 160, 260), one of said flows passing through the asynchronous telecommunications network, the other flow passing through the synchronous telecommunications network, characterized in that the device comprises:
- des moyens (182, 183, 282, 283) pour obtenir des informations de délai représentatives du délai de transmission du flux transitant sur le réseau asynchrone,- means (182, 183, 282, 283) for obtaining delay information representative of the delay in transmitting the stream passing over the asynchronous network,
- des moyens pour modifier (181, 281) le délai de transmission du flux multimédia transitant sur le réseau synchrone à partir des informations de délai obtenues.- means for modifying (181, 281) the delay of transmission of the multimedia stream transiting on the synchronous network from the delay information obtained.
2) Dispositif de synchronisation selon la revendication 1 , caractérisé en ce que le réseau de télécommunication asynchrone est relié à un dispositif informatique (104, 123, 204, 223, 295) comportant au moins une application client-client recevant un flux de données vidéo et le réseau de télécommunication synchrone est relié à un combiné téléphonique (103, 122, 203, 222, 292) recevant un flux de données audio.2) synchronization device according to claim 1, characterized in that the asynchronous telecommunications network is connected to a computer device (104, 123, 204, 223, 295) comprising at least one client-client application receiving a stream of video data and the synchronous telecommunications network is connected to a telephone handset (103, 122, 203, 222, 292) receiving an audio data stream.
3) Dispositif selon la revendication 2, caractérisé en ce que les informations représentatives du délai de transmission du flux transitant sur le réseau asynchrone sont obtenues à partir de paquets de contrôle du flux de données vidéo transitant sur le réseau asynchrone.3) Device according to claim 2, characterized in that the information representative of the transmission delay of the stream passing over the asynchronous network is obtained from control packets of the video data stream passing over the asynchronous network.
4) Dispositif selon la revendication 3, caractérisé en ce que les moyens pour obtenir des informations représentatives du délai de transmission du flux transitant sur le réseau asynchrone sont constitués de moyens pour mémoriser les instants de réception des paquets de contrôle du flux de données vidéo transitant sur le réseau asynchrone, de moyens pour lire au moins un champ prédéterminé des paquets de contrôle du flux de données vidéo et de moyens de calcul du délai à partir des instants mémorisés et du au moins un champ prédéterminé lu. 5) Dispositif selon l'une quelconque des revendications 1 à 4, caractérisé en ce que les moyens pour modifier le délai de transmission du flux transitant sur le réseau synchrone comportent des moyens de mémorisation temporaires des données du flux audio transitant sur le réseau synchrone et des moyens de détermination de l'adresse de lecture des données contenues dans les moyens de mémorisation temporaires à partir des informations obtenues et des moyens de transfert, à partir de l'adresse déterminée, des données lues dans les moyens de mémorisation temporaires sur le réseau synchrone à destination du combiné téléphonique.4) Device according to claim 3, characterized in that the means for obtaining information representative of the delay of transmission of the flow passing over the asynchronous network are constituted by means for memorizing the instants of reception of the control packets of the flow of video data flow passing through on the asynchronous network, means for reading at least one predetermined field from video data flow control packets and means for calculating the delay from the instants stored and from the at least one predetermined field read. 5) Device according to any one of claims 1 to 4, characterized in that the means for modifying the transmission delay of the stream passing over the synchronous network comprise means for temporarily storing the data of the audio stream passing over the synchronous network and means for determining the address for reading the data contained in the temporary storage means from the information obtained and means for transferring, from the determined address, the data read in the temporary storage means over the network synchronous to the telephone handset.
6) Dispositif selon l'une quelconque des revendications 2 à 5, caractérisé en ce que le réseau de télécommunication asynchrone est relié à un dispositif informatique comportant au moins une application client-client ( 110, 127, 210, 227, 293) émettant le flux de données vidéo, le réseau de télécommunication synchrone est relié à un combiné téléphonique émettant le flux de données audio.6) Device according to any one of claims 2 to 5, characterized in that the asynchronous telecommunications network is connected to a computer device comprising at least one client-client application (110, 127, 210, 227, 293) transmitting the video data stream, the synchronous telecommunications network is connected to a telephone handset transmitting the audio data stream.
7) Dispositif selon la revendication 6, caractérisé en ce que les moyens pour obtenir des informations représentatives du délai de transmission du flux transitant sur le réseau asynchrone déterminent le délai de transmission entre le dispositif de synchronisation (190, 290) et chacun des dispositifs informatiques (104, 123, 204, 223, 295) reliés au réseau et en ce que un retard est appliqué sur le flux vocal émis par chaque combiné téléphonique vers chaque combiné téléphonique recevant le flux audio.7) Device according to claim 6, characterized in that the means for obtaining information representative of the transmission delay of the flow passing over the asynchronous network determine the transmission delay between the synchronization device (190, 290) and each of the computer devices (104, 123, 204, 223, 295) connected to the network and in that a delay is applied to the voice stream transmitted by each telephone handset to each telephone handset receiving the audio stream.
8) Dispositif selon la revendication 7, caractérisé en ce qu'il comporte en outre des moyens (183, 282) pour recevoir des paquets de contrôle du flux de données vidéo transitant sur le réseau asynchrone et des moyens de génération de paquets de contrôle du flux de données vidéo transitant sur le réseau asynchrone.8) Device according to claim 7, characterized in that it further comprises means (183, 282) for receiving control packets of the video data flow passing over the asynchronous network and means for generating control packets of the video data flow passing through the asynchronous network.
9) Dispositif selon l'une quelconque des revendications 1 à 8, caractérisé en ce qu'il comporte en outre des moyens (171, 271) de mémorisation d'un profil pour chaque utilisateur comprenant entre autres un identifiant de l'utilisateur, au moins un combiné téléphonique associé à l'utilisateur, au moins une adresse d'un dispositif informatique associé à l'utilisateur et au moins un identifiant d'application client- client présente sur le au moins un dispositif informatique associé à l'utilisateur. 10) Dispositif selon la revendication 9, caractérisé en ce qu'il comporte en outre des moyens de réception d'au moins un appel issu d'un combiné téléphonique (180, 280), des moyens d'obtention d'au moins un identifiant d'un combiné téléphonique avec lequel le combiné téléphonique appelant désire établir une communication téléphonique et des moyens de mise en correspondance du dispositif informatique associé à l'utilisateur associé au combiné téléphonique appelant avec le dispositif informatique associé à l'utilisateur au combiné téléphonique avec lequel le combiné téléphonique appelant désire établir une communication téléphonique.9) Device according to any one of claims 1 to 8, characterized in that it further comprises means (171, 271) for storing a profile for each user comprising inter alia an identifier of the user, at at least one telephone handset associated with the user, at least one address of a computing device associated with the user and at least one client-client application identifier present on the at least one computing device associated with the user. 10) Device according to claim 9, characterized in that it further comprises means for receiving at least one call from a telephone handset (180, 280), means for obtaining at least one identifier a telephone handset with which the calling telephone handset wishes to establish a telephone call and means for matching the computer device associated with the user associated with the calling telephone handset with the computer device associated with the user with the telephone handset with which the calling telephone handset wishes to establish a telephone call.
11) Dispositif selon l'une quelconque des revendications 3 à 10, caractérisé en ce que le flux transitant sur le réseau de télécommunication asynchrone est conforme au protocole RTP et les paquets de contrôle du flux de données transitant sur le réseau asynchrone sont conformes au protocole RTCP.11) Device according to any one of claims 3 to 10, characterized in that the flow passing over the asynchronous telecommunication network conforms to the RTP protocol and the control packets of the data flow passing over the asynchronous network conform to the protocol RTCP.
12) Dispositif selon l'une quelconque des revendications 10 à 11 caractérisé en ce que le dispositif est un pont de conférence.12) Device according to any one of claims 10 to 11 characterized in that the device is a conference bridge.
13) Procédé de synchronisation d'un flux multimédia constitué de deux flux multimédia distincts dans un réseau de télécommunication constitué d'un réseau de télécommunication synchrone (141, 148, 241) et d'un réseau de télécommunication asynchrone (160, 260), un desdits flux transitant sur le réseau de télécommunication asynchrone, l'autre flux transitant sur le réseau de télécommunication synchrone, caractérisé en ce que le procédé comporte les étapes de : - obtention (E329, E810) d'informations de délai représentatives du délai de transmission du flux transitant sur le réseau asynchrone,13) Method for synchronizing a multimedia stream made up of two separate multimedia streams in a telecommunication network made up of a synchronous telecommunication network (141, 148, 241) and an asynchronous telecommunication network (160, 260), one of said flows passing through the asynchronous telecommunications network, the other flow passing through the synchronous telecommunications network, characterized in that the method comprises the steps of: - obtaining (E329, E810) delay information representative of the delay transmission of the flow passing through the asynchronous network,
- modification (E330,E812) du délai de transmission du flux multimédia transitant sur le réseau synchrone à partir des informations de délai obtenues.- modification (E330, E812) of the delay of transmission of the multimedia stream transiting on the synchronous network from the delay information obtained.
14) Procédé de synchronisation selon la revendication 13, caractérisé en ce que le réseau de télécommunication asynchrone est relié à un dispositif informatique comportant au moins une application client-client recevant un flux de données vidéo et le réseau de télécommunication synchrone est relié à un combiné téléphonique recevant un flux de données audio. 15) Procédé selon la revendication 14, caractérisé en ce que les informations représentatives du délai de transmission du flux transitant sur le réseau asynchrone sont obtenues à partir de paquets de contrôle du flux de données vidéo transitant sur le réseau asynchrone.14) synchronization method according to claim 13, characterized in that the asynchronous telecommunications network is connected to a computer device comprising at least one client-client application receiving a video data stream and the synchronous telecommunications network is connected to a handset telephone receiving an audio data stream. 15) Method according to claim 14, characterized in that the information representative of the transmission delay of the stream passing over the asynchronous network is obtained from control packets of the video data stream passing over the asynchronous network.
16) Procédé selon la revendication 13, caractérisé en ce que l'étape d'obtention des informations représentatives du délai de transmission du flux transitant sur le réseau asynchrone comprend une étape de mémorisation des instants de réception (E504, E507, E512, E806, E808) des paquets de contrôle du flux de données vidéo transitant sur le réseau asynchrone, une étape de lecture d'au moins un champ prédéterminé des paquets de contrôle du flux de données vidéo (E513, E514, E809) et une étape de calcul (E515, E809, E810)du délai à partir des instants mémorisés et du au moins un champ prédéterminé lu.16) Method according to claim 13, characterized in that the step of obtaining information representative of the delay in transmitting the stream passing over the asynchronous network comprises a step of memorizing the reception times (E504, E507, E512, E806, E808) video data flow control packets passing over the asynchronous network, a step of reading at least one predetermined field of video data flow control packets (E513, E514, E809) and a calculation step ( E515, E809, E810) of the delay from the memorized instants and from the at least one predetermined field read.
17) Procédé selon l'une quelconque des revendications 13 à 16, caractérisé en ce que l'étape de modification de délai de transmission du flux transitant sur le réseau synchrone comporte une étape de mémorisation temporaire des données du flux audio transitant sur le réseau synchrone, une étape de détermination de l'adresse de lecture des données mémorisées à partir des informations obtenues et une étape de transfert, à partir de l'adresse déterminée, des données mémorisées sur le réseau synchrone à destination du combiné téléphonique.17) Method according to any one of claims 13 to 16, characterized in that the step of modifying the delay of transmission of the stream passing over the synchronous network comprises a step of temporary storage of the data of the audio stream passing over the synchronous network , a step of determining the address for reading the stored data from the information obtained and a step of transferring, from the determined address, the data stored on the synchronous network to the telephone handset.
18) Procédé selon l'une quelconque des revendications 14 à 17, caractérisé en ce que le réseau de télécommunication asynchrone est relié à un dispositif informatique comportant au moins une application client-client émettant le flux de données vidéo, le réseau de télécommunication synchrone est relié à un combiné téléphonique émettant le flux de données audio.18) Method according to any one of claims 14 to 17, characterized in that the asynchronous telecommunications network is connected to a computer device comprising at least one client-client application transmitting the video data stream, the synchronous telecommunications network is connected to a telephone handset transmitting the audio data stream.
19) Procédé selon la revendication 18, caractérisé en ce que le procédé est implémenté dans un dispositif de synchronisation d'un opérateur téléphonique et en ce que les informations représentatives du délai de transmission du flux transitant sur le réseau asynchrone déterminent le délai de transmission entre le dispositif de synchronisation et chacun des dispositifs informatiques reliés au réseau et en ce que un retard est appliqué sur le flux vocal émis par un combiné téléphonique vers chaque combiné téléphonique recevant le flux audio.19) Method according to claim 18, characterized in that the method is implemented in a synchronization device of a telephone operator and in that the information representative of the transmission delay of the flow passing over the asynchronous network determines the transmission delay between the synchronization device and each of the computer devices connected to the network and in that a delay is applied to the voice stream transmitted by a telephone handset to each telephone handset receiving the audio stream.
20) Procédé selon la revendication 19, caractérisé en ce qu'il comporte en outre une étape de réception (E801) des paquets de contrôle du flux de données vidéo transitant sur le réseau asynchrone et un étape de génération (E805) de paquets de contrôle du flux de données vidéo transitant sur le réseau asynchrone.20) Method according to claim 19, characterized in that it further comprises a step of receiving (E801) control packets of the video data stream passing over the asynchronous network and a step of generating (E805) control packets of the video data flow passing over the asynchronous network.
21) Procédé selon l'une quelconque des revendications 13 à 20, caractérisé en ce qu'il comporte en outre les étapes de mémorisation d'un profil pour chaque utilisateur comprenant entre autres un identifiant de l'utilisateur, le numéro de téléphone du au moins un combiné téléphonique associé à l'utilisateur, au moins une adresse d'un dispositif informatique associé à l'utilisateur et au moins un identifiant d'application client-client présente sur le au moins un dispositif informatique associé à l'utilisateur.21) Method according to any one of claims 13 to 20, characterized in that it further comprises the steps of memorizing a profile for each user comprising inter alia an identifier of the user, the telephone number from to at least one telephone handset associated with the user, at least one address of a computing device associated with the user and at least one client-client application identifier present on the at least one computing device associated with the user.
22) Procédé selon la revendication 21, caractérisé en ce qu'il comporte en outre les étapes de réception d'au moins un appel issu d'un combiné téléphonique, d'obtention d'au moins un identifiant d'un combiné téléphonique auquel le combiné téléphonique appelant désire établir une communication téléphonique et de mise en correspondance du dispositif informatique associé à l'utilisateur associé au combiné téléphonique appelant avec le dispositif informatique associé à l'utilisateur au combiné téléphonique avec lequel le combiné téléphonique appelant désire établir une communication téléphonique.22) Method according to claim 21, characterized in that it further comprises the steps of receiving at least one call from a telephone handset, of obtaining at least one identifier of a telephone handset to which the the calling telephone handset wishes to establish a telephone communication and to match the computer device associated with the user associated with the calling telephone handset with the computer device associated with the user to the telephone handset with which the calling telephone handset wishes to establish a telephone communication.
23) Procédé selon l'une quelconque des revendications 15 à 22, caractérisé en ce que le flux transitant sur le réseau de télécommunication asynchrone est conforme au protocole RTP et les paquets de contrôle du flux de données transitant sur le réseau asynchrone sont conformes au protocole RTCP.23) Method according to any one of claims 15 to 22, characterized in that the flow passing over the asynchronous telecommunications network conforms to the RTP protocol and the control packets of the data flow passing over the asynchronous network conforms to the protocol RTCP.
24) Programme d'ordinateur stocké sur un support d'informations, ledit programme comportant des instructions permettant de mettre en œuvre le procédé de traitement selon l'une quelconque des revendications 13 à 23, lorsqu'il est chargé et exécuté par un système informatique. 24) A computer program stored on an information medium, said program comprising instructions making it possible to implement the processing method according to any one of claims 13 to 23, when it is loaded and executed by a computer system .
PCT/FR2004/000967 2003-04-29 2004-04-20 Method and device for synchronisation of data streams WO2004100492A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR03/05302 2003-04-29
FR0305302A FR2854523A1 (en) 2003-04-29 2003-04-29 METHOD AND DEVICE FOR SYNCHRONIZING DATA STREAMS

Publications (1)

Publication Number Publication Date
WO2004100492A1 true WO2004100492A1 (en) 2004-11-18

Family

ID=33155558

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2004/000967 WO2004100492A1 (en) 2003-04-29 2004-04-20 Method and device for synchronisation of data streams

Country Status (2)

Country Link
FR (1) FR2854523A1 (en)
WO (1) WO2004100492A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018188418A1 (en) * 2017-04-13 2018-10-18 中兴通讯股份有限公司 Data transmission method, terminal and core network device
CN108768811A (en) * 2018-05-28 2018-11-06 上海航天测控通信研究所 A kind of world audio/video communication synchronous method and system
US20230075191A1 (en) * 2019-02-01 2023-03-09 Comcast Cable Communications, Llc Managing network packet flows based on device information

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5570372A (en) * 1995-11-08 1996-10-29 Siemens Rolm Communications Inc. Multimedia communications with system-dependent adaptive delays
US5953049A (en) * 1996-08-02 1999-09-14 Lucent Technologies Inc. Adaptive audio delay control for multimedia conferencing
EP0984558A2 (en) * 1998-09-03 2000-03-08 Siemens Information and Communication Networks Inc. System and method for automatic synchronization for multimedia presentations
US20020126703A1 (en) * 2001-03-06 2002-09-12 Kovacevic Branko D. System for digitized audio stream synchronization and method thereof

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5570372A (en) * 1995-11-08 1996-10-29 Siemens Rolm Communications Inc. Multimedia communications with system-dependent adaptive delays
US5953049A (en) * 1996-08-02 1999-09-14 Lucent Technologies Inc. Adaptive audio delay control for multimedia conferencing
EP0984558A2 (en) * 1998-09-03 2000-03-08 Siemens Information and Communication Networks Inc. System and method for automatic synchronization for multimedia presentations
US20020126703A1 (en) * 2001-03-06 2002-09-12 Kovacevic Branko D. System for digitized audio stream synchronization and method thereof

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018188418A1 (en) * 2017-04-13 2018-10-18 中兴通讯股份有限公司 Data transmission method, terminal and core network device
CN108924872A (en) * 2017-04-13 2018-11-30 中兴通讯股份有限公司 Data transmission method, terminal and equipment of the core network
CN108924872B (en) * 2017-04-13 2022-03-18 中兴通讯股份有限公司 Data transmission method, terminal and core network equipment
CN108768811A (en) * 2018-05-28 2018-11-06 上海航天测控通信研究所 A kind of world audio/video communication synchronous method and system
CN108768811B (en) * 2018-05-28 2020-11-10 上海航天测控通信研究所 Heaven and earth audio and video communication synchronization method and system
US20230075191A1 (en) * 2019-02-01 2023-03-09 Comcast Cable Communications, Llc Managing network packet flows based on device information
US11888653B2 (en) * 2019-02-01 2024-01-30 Comcast Cable Communications, Llc Managing network packet flows based on device information

Also Published As

Publication number Publication date
FR2854523A1 (en) 2004-11-05

Similar Documents

Publication Publication Date Title
EP1599987B1 (en) Time delay compensation device for the management of multimedia communications via an asynchronous network and a telephone network
US7885187B2 (en) System and method for providing unified messaging system service using voice over internet protocol
CA2442676C (en) Method for managing two-way alternate communication in semi-duplex mode through a packet switching transport network
EP1856901B1 (en) Method and system for supplying information to participants in a telephone conversation
EP3053303B1 (en) Method for subscribing to streams coming from multicast clients
US20040151158A1 (en) Method and apparatus for exchanging voice over data channels in near real time
EP2064900B1 (en) Method for transferring an audio stream between a plurality of terminals
EP3903476B1 (en) Method for processing voice messages, method for deactivating dtmf coding and method for processing a request to deactivate dtmf coding
WO2004100492A1 (en) Method and device for synchronisation of data streams
WO2008046697A1 (en) Enrichment of the signalling in a communication session of “push to talk” type by inserting a business card
CA2593870A1 (en) Recording of communications in a telecommunications network
EP2064855B1 (en) Method of communicating between several terminals
EP1917793A1 (en) Service for personalising communications by processing audio and/or video media flows
EP1113632B1 (en) Method and apparatus for restoring speech signals transmitted at the beginning of a telephonic communication with packet-switching
EP2091201A1 (en) Method and system of transferring a media stream during a communication session
EP3361746B1 (en) Media stream management system
FR2979505A1 (en) Method for inserting intermediate equipment in communication channel connecting e.g. smartphones, of voice over Internet protocol communication system, involves transmitting modified response message to user terminal
EP1555819A1 (en) Method and apparatus for establishing a video telephony session
WO2004100517A2 (en) Automatic connection of applications between telephone users
FR2860371A1 (en) Telephone call processing method for use in e.g. Internet network, involves transferring information and quality conditions of call to speaker, and automatically switching call onto one network if call is established on another network
FR2855703A1 (en) Telephone call management process for providing telecommunications services over Internet, involves sending acknowledgement of reception of voice message to user initiating call before releasing his/her telephone line
FR2849309A1 (en) Voice signal transmission and reception level regulating process for Internet, involves measuring vocal level of voice signal and adjusting level of reception of voice if level is not matched with preset vocal specifications
FR2909501A1 (en) Telecommunication establishing method for allowing two distinct users to access information, involves sending message including user identifier via channel, where identifier of user is obtained from analysis of established communication

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase