A network real-time communication method, device and system

By preset the corresponding relationship between different session information and encoding parameters in the controller, dynamically find and send target coding parameters, so that the router performed the adaptive FEC encoding in different application scenarios, solving The problem realizes efficient data transmission in a variety of scenarios.

CN113746602BActive Publication Date: 2025-01-28NEW H3C SECURITY TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111045324.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-09-07
Publication Date
2025-01-28
Estimated Expiration
2041-09-07

AI Technical Summary

Technical Problem

The existing forward error correction technology based on fixed encoding schemes cannot adapt to different application scenarios, resulting in insufficient reliability of data transmission in scenarios such as voice calls between both parties, video calls between both parties or video calls between them.

Method used

By the corresponding relationship between different session information and different encoding parameters in the controller, according to the type and communication link quality in the current session information, dynamically find and send target coding parameters to make the first router and the second second and second seconder The router performed FeC encoding or decoding based on the target encoding parameter.

Benefits of technology

In various application scenarios, the reliability of data transmission is improved, so that the coding parameters used in the real -time call process can meet the specific needs of the current session, and improve the problem of the problem of disorderly order, package loss and duplicate package.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113746602B_ABST
    Figure CN113746602B_ABST
Patent Text Reader

Abstract

The embodiment of the present invention provides a network real-time call method, device and system, which relates to the field of network communication technology and can improve the reliability of data transmission in various application scenarios. The technical solution of the embodiment of the present invention includes: a controller receives current session information sent by a first router, the current session information is obtained by the first router during the process of establishing a session between a calling terminal and a called terminal, and the first router is a router connected to the calling terminal. Then, from the preset correspondence between different session information and different coding parameters, the target coding parameters are searched, and the target coding parameters correspond to the session type included in the current session information and the communication link quality of the communication tunnel carrying the current session. Then, the target coding parameters are sent to the first router and the second router; so that the first router and the second router perform FEC encoding or decoding on the data packets transmitted during the real-time call between the parties to the session based on the target coding parameters.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of network communication technology, and in particular to a method, apparatus and system for real-time network communication. Background Technology

[0002] The Real-time Transport Protocol (RTP) is used for real-time audio and video calls on the Internet. Although RTP has low transmission latency, the reliability of data transmission using RTP is low, and packet out-of-order delivery, packet loss, and packet duplication frequently occur, causing problems such as video distortion and audio delays when the receiving end plays the data.

[0003] Currently, Forward Error Correction (FEC) technology is commonly used to encode the original data packets to be transmitted into redundant packets. These redundant packets are then transmitted via the RTC protocol, reducing issues such as out-of-order packets, packet loss, and packet duplication. The encoding scheme for FEC in routers is fixed and improves data transmission reliability in some application scenarios, but not in others. For example, it may work well for two-way voice calls, but not so well for two-way or three-way video calls.

[0004] It is evident that this method of real-time communication based on a fixed encoding scheme using FEC technology cannot adapt to different application scenarios, and the reliability of data transmission still needs to be improved. Summary of the Invention

[0005] The purpose of this invention is to provide a method, apparatus, and system for real-time network communication to improve the reliability of data transmission in various application scenarios. The specific technical solution is as follows:

[0006] In a first aspect, embodiments of the present invention provide a real-time network call method, applied to a controller, the method comprising:

[0007] The system receives current session information sent by a first router. This current session information is obtained by the first router during the process of establishing a session between the calling terminal and the called terminal, and includes: session type and communication link quality carrying the current session communication tunnel; the first router is a router that is connected to the calling terminal for communication.

[0008] The target encoding parameter is found from the preset correspondence between different session information and different encoding parameters; the target encoding parameter corresponds to the session type and the communication link quality carrying the current session communication tunnel.

[0009] The target encoding parameters are sent to the first router and the second router, where the second router is a router connected to the called terminal. This enables the first router and the second router to perform FEC encoding or decoding on the data packets transmitted during real-time calls between the parties in the session, based on the target encoding parameters.

[0010] Optionally, the method for generating the correspondence between different session information and different encoding parameters includes:

[0011] Simulate sessions for different application scenarios, set different encoding parameters for each application scenario, obtain the packet loss rate corresponding to different encoding parameters, and use the encoding parameter corresponding to the minimum packet loss rate as the encoding parameter for the session information of that application scenario. The session information is different for each application scenario.

[0012] Secondly, embodiments of the present invention provide a real-time network call method, applied to a first router communicating with a calling terminal, the method comprising:

[0013] During the process of establishing a session between the calling terminal and the called terminal, the current session information is obtained, which includes: the session type and the quality of the communication link carrying the current session communication tunnel;

[0014] Send current session information to the controller;

[0015] The controller receives target encoding parameters sent by the controller; the target encoding parameters correspond to the session type and the communication link quality carrying the current session communication tunnel, and are looked up by the controller from the preset correspondence between different session information and different encoding parameters;

[0016] Based on the target encoding parameters, FEC encoding or decoding is performed on the data packets transmitted during real-time calls between the parties in the session.

[0017] Optionally, the step of obtaining current session information during the process of establishing a session between the calling terminal and the called terminal includes:

[0018] Receive a call message sent by the calling terminal, the call message being used to request a real-time call with the called terminal;

[0019] Based on the call message, a session is established with the called terminal, and the current session information is determined.

[0020] Optionally, the step of establishing a session with the called terminal based on the call message and determining the current session information includes:

[0021] The session type of the call message is determined based on the session identifier carried in the call message;

[0022] A session is established with the called terminal, and the communication tunnel between the first router and the second router is determined based on the destination address of the call message, and the communication link quality of the communication tunnel is obtained.

[0023] Optionally, before the step of performing FEC encoding or decoding on the data packets transmitted by the parties in a real-time call based on the target encoding parameters, the method further includes:

[0024] Create the first forwarding policy;

[0025] The matching rule of the first forwarding policy is set to the destination address being the address of the called terminal, and the encoding parameter of the first forwarding policy is set to the target encoding parameter of the received data.

[0026] Thirdly, embodiments of the present invention provide a real-time network call method, applied to a second router communicating with a called terminal, the method comprising:

[0027] The receiver sends target encoding parameters, which correspond to the session type and the communication link quality carrying the current session communication tunnel in the current session information. The controller finds these parameters from a preset correspondence between different session information and different encoding parameters.

[0028] Based on the target encoding parameters, FEC encoding or decoding is performed on the data packets transmitted during real-time calls between the parties in the session.

[0029] Optionally, before the step of performing FEC encoding or decoding on the data packets transmitted by the parties in a real-time call based on the target encoding parameters, the method further includes:

[0030] Create a second forwarding strategy;

[0031] The matching rule for the second forwarding strategy is set to the destination address being the address of the called terminal, and the encoding parameter is set to the target encoding parameter to be received.

[0032] Fourthly, embodiments of the present invention provide a network real-time communication device applied to a controller, the device comprising:

[0033] The receiving module is used to receive current session information sent by the first router. The current session information is obtained by the first router during the process of establishing a session between the calling terminal and the called terminal, and includes: session type and communication link quality carrying the current session communication tunnel; the first router is a router that is connected to the calling terminal for communication.

[0034] The lookup module is used to find the target encoding parameter from the preset correspondence between different session information and different encoding parameters; the target encoding parameter corresponds to the session type and the communication link quality carrying the current session communication tunnel;

[0035] The sending module is used to send the target encoding parameters to the first router and the second router, wherein the second router is a router that is communicatively connected to the called terminal; so that the first router and the second router can perform FEC encoding or decoding on the data packets transmitted by the parties in the real-time call based on the target encoding parameters.

[0036] Optionally, the apparatus further includes a generation module, the generation module being used for:

[0037] Simulate sessions for different application scenarios, set different encoding parameters for each application scenario, obtain the packet loss rate corresponding to different encoding parameters, and use the encoding parameter corresponding to the minimum packet loss rate as the encoding parameter for the session information of that application scenario. The session information is different for each application scenario.

[0038] Fifthly, embodiments of the present invention provide a network real-time calling device, applied to a first router communicating with a calling terminal, the device comprising:

[0039] The acquisition module is used to obtain current session information during the process of establishing a session between the calling terminal and the called terminal. The current session information includes: session type and communication link quality carrying the current session communication tunnel.

[0040] The sending module is used to send the current session information to the controller;

[0041] The receiving module is used to receive the target encoding parameters sent by the controller; the target encoding parameters correspond to the session type and the communication link quality carrying the current session communication tunnel, and are looked up by the controller from the preset correspondence between different session information and different encoding parameters;

[0042] The encoding / decoding module is used to perform FEC encoding or decoding on data packets transmitted during real-time calls between the parties in a session, based on the target encoding parameters.

[0043] Optionally, the acquisition module is specifically used for:

[0044] Receive a call message sent by the calling terminal, the call message being used to request a real-time call with the called terminal;

[0045] Based on the call message, a session is established with the called terminal, and the current session information is determined.

[0046] Optionally, the acquisition module is specifically used for:

[0047] The session type of the call message is determined based on the session identifier carried in the call message;

[0048] A session is established with the called terminal, and the communication tunnel between the first router and the second router is determined based on the destination address of the call message, and the communication link quality of the communication tunnel is obtained.

[0049] Optionally, the device further includes: a creation module and a setting module;

[0050] The creation module is used to create a first forwarding strategy before the step of performing FEC encoding or decoding on the data packets transmitted during real-time calls between the parties in the session based on the target encoding parameters;

[0051] The setting module is used to set the matching rule of the first forwarding policy to the destination address as the address of the called terminal, and to set the encoding parameter of the first forwarding policy to the received target encoding parameter.

[0052] Sixthly, embodiments of the present invention provide a network real-time calling device applied to a second router communicating with a called terminal, the device comprising:

[0053] The receiving module is used to receive target encoding parameters sent by the controller. The target encoding parameters correspond to the session type and the communication link quality carrying the current session communication tunnel in the current session information. The controller finds the target encoding parameters from the preset correspondence between different session information and different encoding parameters.

[0054] The encoding / decoding module is used to perform FEC encoding or decoding on data packets transmitted during real-time calls between the parties in a session, based on the target encoding parameters.

[0055] Optionally, the device further includes: a creation module and a setting module;

[0056] The creation module is used to create a second forwarding strategy before the step of performing FEC encoding or decoding on the data packets transmitted during real-time calls between the parties in the session based on the target encoding parameters;

[0057] The setting module is used to set the matching rule of the second forwarding strategy to the destination address as the address of the called terminal, and to set the encoding parameter as the target encoding parameter to be received.

[0058] In a seventh aspect, embodiments of the present invention provide a real-time network communication system, including a controller, a first router, and a second router, wherein the controller is configured to implement the method described in any of the first aspects, the first router is configured to implement the method described in any of the second aspects, and the second router is configured to implement the method described in any of the third aspects.

[0059] Eighthly, embodiments of the present invention provide an electronic device, including a processor, a communication interface, a memory, and a communication bus, wherein the processor, the communication interface, and the memory communicate with each other through the communication bus;

[0060] Memory, used to store computer programs;

[0061] When a processor executes a program stored in memory, it implements the steps of any of the above-described real-time network calling methods.

[0062] In a ninth aspect, embodiments of the present invention also provide a computer-readable storage medium storing a computer program, wherein the computer program, when executed by a processor, implements the steps of any of the above-described real-time network call methods.

[0063] In a tenth aspect, embodiments of the present invention also provide a computer program product containing instructions that, when run on a computer, cause the computer to execute any of the above-described real-time network call methods.

[0064] The network real-time calling method, apparatus, system, electronic device, and medium provided in this invention embodiment allow for real-time calling between a calling terminal and a called terminal. A first router and a second router forward data packets transmitted between the calling terminal and the called terminal. The controller can search for target encoding parameters from a preset correspondence between different session information and different encoding parameters based on the session type in the current session information and the communication link quality carrying the current session's communication tunnel. This enables the first router and the second router to perform FEC encoding and FEC decoding according to the target encoding parameters. Therefore, the encoding parameters used by the first router and the second router in this invention embodiment are not fixed but determined by the controller according to the application scenario. This ensures that the target encoding parameters used during real-time calling conform to the session type of the current session and the communication link quality carrying the current session's communication tunnel. Thus, this invention embodiment can improve the reliability of data transmission in various application scenarios.

[0065] Of course, implementing any product or method of the present invention does not necessarily require achieving all of the advantages described above at the same time. Attached Figure Description

[0066] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other embodiments can be obtained based on these drawings.

[0067] Figure 1 This is an exemplary schematic diagram of a network real-time call system structure provided in an embodiment of the present invention;

[0068] Figure 2 A flowchart of a real-time network call method provided in an embodiment of the present invention;

[0069] Figure 3a A flowchart of another real-time network call method provided in an embodiment of the present invention;

[0070] Figure 3b A flowchart of another real-time network call method provided in an embodiment of the present invention;

[0071] Figure 3c A flowchart of another real-time network call method provided in an embodiment of the present invention;

[0072] Figure 4a A flowchart of another real-time network call method provided in an embodiment of the present invention;

[0073] Figure 4b A flowchart of another real-time network call method provided in an embodiment of the present invention;

[0074] Figure 5 This is a schematic diagram of the structure of a network real-time communication device provided in an embodiment of the present invention;

[0075] Figure 6 This is a schematic diagram of another network real-time communication device provided in an embodiment of the present invention;

[0076] Figure 7 This is a schematic diagram of another network real-time communication device provided in an embodiment of the present invention;

[0077] Figure 8 This is a schematic diagram of the structure of an electronic device provided in an embodiment of the present invention. Detailed Implementation

[0078] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art based on this application are within the scope of protection of the present invention.

[0079] To improve data transmission reliability in various application scenarios, this invention provides a real-time network communication method. The system in which this method is applied includes a controller, multiple user terminals, and multiple routers. An example of this system is shown below. Figure 1 As shown, the system includes a controller, three user terminals (1-3), and three routers (1-3). Each user terminal is connected to one router, and any one of the routers (router 3 in the diagram) is connected to the controller. The controller and router 3, as well as the terminals and routers, can be connected via wired or wireless means. The routers are connected to each other via the Internet. A management channel can be established between the controller and the routers using Netconf or Secure Shell (SSH) protocol. The controller can manage all the routers in the system through this management channel. Netconf is a network configuration protocol based on Extensible Markup Language (XML).

[0080] To improve data transmission reliability in various application scenarios, this invention provides a real-time network communication method. This method is applied to a controller, such as... Figure 2 As shown, the method includes the following steps:

[0081] S201, Receive current session information sent by the first router.

[0082] The current session information is obtained by the first router during the process of establishing a session between the calling terminal and the called terminal. This information includes the session type and the quality of the communication link carrying the current session's communication tunnel. The first router is the router connected to the calling terminal.

[0083] The session type refers to the type of session established between the calling terminal and the called terminal. For example, session types include: two-party audio, two-party video, three-party audio, and three-party video.

[0084] The aforementioned communication tunnel is a communication tunnel between the first router and the second router used to carry the current session. The quality of the communication link may specifically include: packet loss rate, latency, and / or jitter of the communication tunnel.

[0085] S202, find the target encoding parameter from the preset correspondence between different session information and different encoding parameters.

[0086] Specifically, the target encoding parameters correspond to the session type and the communication link quality carrying the current session's communication tunnel in the current session information. In other words, the target encoding parameters must conform to the session type and the communication link quality carrying the current session's communication tunnel.

[0087] For example, the encoding parameters corresponding to the session information include average packet loss tolerance, encoding timeout, number of encoded block packets, and decoding timeout.

[0088] S203, send target encoding parameters to the first router and the second router, so that the first router and the second router can perform FEC encoding or decoding on the data packets transmitted during the real-time call between the parties in the session based on the target encoding parameters. The second router is a router that is communicatively connected to the called terminal.

[0089] The current session information may include the identifier of the communication tunnel, enabling the controller to determine the second router through the current session information and send target encoding parameters to the first router and the second router respectively.

[0090] In this embodiment, see Figure 1 If the calling terminal is user terminal 1 and the called user terminal is user terminal 2, then router 1, which communicates with user terminal 1, is the first router, and router 2, which communicates with user terminal 2, is the second router. The tunnel carrying the current session communication can be... Figure 1 The communication tunnel between Router 1 and Router 2.

[0091] The real-time network calling method provided in this embodiment of the invention involves a first router and a second router forwarding data packets transmitted between the calling terminal and the called terminal during a real-time call between the calling terminal and the called terminal. The controller can search for target encoding parameters from a preset correspondence between different session information and different encoding parameters based on the session type in the current session information and the communication link quality carrying the current session's communication tunnel. This allows the first router and the second router to perform FEC encoding and FEC decoding according to the target encoding parameters. Therefore, the encoding parameters used by the first router and the second router in this embodiment of the invention are not fixed but determined by the controller according to the application scenario. This ensures that the target encoding parameters used during the real-time call conform to the session type of the current session and the communication link quality carrying the current session's communication tunnel. Thus, this embodiment of the invention can improve the reliability of data transmission in various application scenarios.

[0092] Optionally, the method for generating the correspondence between different session information and different encoding parameters may include: simulating sessions in different application scenarios, setting different encoding parameters for each application scenario, obtaining the packet loss rate corresponding to different encoding parameters, and using the encoding parameter corresponding to the minimum packet loss rate as the encoding parameter corresponding to the session information of that application scenario. The session information is different for each application scenario.

[0093] In one implementation, the controller can send multiple encoding / decoding parameters to two routers for each application scenario. This allows the routers to perform FEC encoding or decoding on the transmitted data packets according to each encoding parameter, obtaining the packet loss rate corresponding to each parameter, and then uploading this packet loss rate to the controller. The controller then selects the encoding parameter with the lowest packet loss rate for each application scenario as the encoding parameter corresponding to the session information for that scenario. This process then establishes the correspondence between various session information items and the encoding parameters.

[0094] This invention can use intelligent analysis system software to simulate session types and communication link quality in real-world scenarios, and optimize and adjust different encoding parameters corresponding to different session information, thereby ensuring data transmission reliability in different scenarios. For example, in a two-way video call with a 20% link impairment, the highest transmission reliability is achieved with an average packet loss tolerance of 30%, an encoding timeout of 200 milliseconds (ms), a 40-packet encoding block, and a decoding timeout of 1000 ms. Even with a 20% link impairment, the FEC decoding side can recover a complete set of original data packets based on the received original data packets and redundant packets.

[0095] For example, the correspondence between different preset session information and different encoding parameters is shown in Table 1.

[0096] Table 1

[0097]

[0098] The session types and link impairments in Table 1 belong to session information, while link impairments can be obtained based on the quality of the communication link. For example, if the packet loss rate is 20%, the link impairment could also be 20%.

[0099] In this embodiment of the invention, messages sent and received between terminals are transmitted in the form of data packets.

[0100] The following provides a detailed explanation of each encoding parameter in Table 1:

[0101] 1. Average Packet Loss Tolerance: This is used to configure the number of redundant packets generated for a set of original data packets in FEC coding technology. A lower average packet loss tolerance results in fewer redundant packets and less bandwidth consumption during transmission; a higher average packet loss tolerance results in more redundant packets and more bandwidth consumption during transmission. The average packet loss tolerance is greater than the packet loss rate of the communication tunnel and greater than link impairment.

[0102] 2. Number of Encoded Block Packets: The number of original data packets in a set of original data packets targeted by FEC encoding. The smaller the number of encoded block packets, the fewer redundant packets generated by FEC encoding. If packet loss occurs during the transmission of this set of original data packets, the delay in recovering the lost data packets on the FEC decoding side is smaller. Conversely, the larger the number of encoded block packets, the more redundant packets generated by FEC encoding. If packet loss occurs during the transmission of this set of original data packets, the delay in recovering the lost data packets on the FEC decoding side is greater.

[0103] For example, when the number of encoded block packets is 40 and the average packet loss resistance rate is 30%, the 40 original data packets are grouped together. For each group of original data packets, FEC encoding generates 40 × 30% = 12 redundant packets.

[0104] 3. Encoding Timeout: The maximum time the FEC encoder takes to perform one FEC encoding operation. The FEC encoder receives and buffers the raw data packets sent by the terminal. If the number of buffered raw data packets reaches the number of encoding blocks within the encoding timeout period, then FEC encoding is performed on the raw data packets of the encoding block number based on the average packet loss tolerance to generate redundant packets. Alternatively, if the number of buffered raw data packets does not reach the number of encoding blocks when the encoding timeout period ends, then FEC encoding is performed on the currently buffered data packets based on the average packet loss tolerance to generate redundant packets. Then, the raw data packets and redundant packets are sent to the FEC decoder.

[0105] 4. Decoding Timeout: The maximum time the FEC decoding side takes to perform one FEC decoding operation. The FEC decoding side receives and buffers the original data packets and redundant packets. If the number of buffered data packets reaches the number of encoded block packets within the decoding timeout period, FEC decoding is performed on the data packets of the encoded block packet number to obtain a set of original data packets; or if the number of buffered data packets does not reach the number of encoded block packets when the decoding timeout period is reached, the received original data packets are retained and the received redundant packets are discarded. The original data packets are then sent to the terminal.

[0106] In addition to the parameters shown in Table 1, the correspondence between different session information and different encoding parameters for video call or video conferencing sessions can also include the camera type. Different camera types generate data packets with different flow rates. Different camera types correspond to different decoding timeouts. The session type also affects the decoding timeout.

[0107] In this embodiment of the invention, after obtaining the correspondence between different session information and different encoding parameters, the correspondence between different session information and different encoding parameters can be configured in the controller. At the same time, the controller can also learn and update the correspondence between different session information and different encoding parameters.

[0108] In this embodiment of the invention, the controller can intelligently and dynamically adjust the FEC encoding and decoding strategy (i.e., the target encoding parameters) according to the session type and the communication link quality of the communication tunnel, so as to achieve the best effect of FEC technology in various application scenarios.

[0109] Based on the same inventive concept, embodiments of the present invention provide a method for real-time network communication, which is applied to a first router connected to a calling terminal, such as... Figure 3a As shown, the method includes the following steps:

[0110] S301, obtain current session information during the process of establishing a session between the calling terminal and the called terminal.

[0111] The current session information includes: the session type and the quality of the communication link carrying the current session communication tunnel.

[0112] In this embodiment of the invention, after receiving a call message sent by a calling terminal, the first router sets an Application Layer Gateway (ALG) service flag on the call message, establishes a session between the calling terminal and the called terminal, and adds a new association entry to the first router's association table. The association entry includes current session information.

[0113] S302 sends the current session information to the controller.

[0114] In one implementation, the controller can subscribe to ALG session establishment events from the first router. Once the first router establishes a session and adds an association entry, it sends the current session information to the controller via Netconf.

[0115] S303 receives the target encoding parameters sent by the controller.

[0116] The target encoding parameters correspond to the session type and the communication link quality carrying the current session communication tunnel, which are included in the current session information. The controller finds these parameters from the preset correspondence between different session information and different encoding parameters.

[0117] S304, based on the target encoding parameters, performs FEC encoding or decoding on the data packets transmitted during real-time calls between the parties in the session.

[0118] In the real-time network call method provided in this embodiment of the invention, when a calling terminal and a called terminal are engaged in a real-time call, a first router and a second router are used to forward data packets transmitted between the calling terminal and the called terminal. The controller can search for target encoding parameters from a preset correspondence between different session information and different encoding parameters based on the session type in the current session information and the communication link quality carrying the current session's communication tunnel. This allows the first router and the second router to perform FEC encoding and FEC decoding according to the target encoding parameters. It is evident that the encoding parameters used by the first router and the second router in this embodiment of the invention are not fixed but determined by the controller according to the application scenario. This ensures that the target encoding parameters used during the real-time call conform to the session type of the current session and the communication link quality carrying the current session's communication tunnel. Therefore, this embodiment of the invention can improve the reliability of data transmission in various application scenarios.

[0119] In embodiments of the present invention, such as Figure 3b As shown, the method by which S301 obtains the current session information during the establishment of a session between the calling terminal and the called terminal can be implemented as follows:

[0120] S3011. Receive a call message sent by the calling terminal. The call message is used to request a real-time call with the called terminal.

[0121] S3012. Based on the call message, establish a session with the called terminal and determine the current session information.

[0122] Optionally, when the conversation type is two-party audio or two-party video, there is one called terminal; when the conversation type is two or more parties audio or two or more parties video, there are multiple called terminals. For example, when the conversation type is three-party video, there are two called terminals.

[0123] In one implementation, the first router can determine the session type of the call packet based on the session identifier of the call packet. Simultaneously, it establishes a session with the called terminal, determines the communication tunnel carrying the current session between the first router and the second router based on the destination address of the call packet, and obtains the communication link quality of the communication tunnel.

[0124] Optionally, the first router can determine the second router connected to the called terminal based on the destination address of the call message, thereby determining the communication tunnel between the first and second routers that carries the current session. Furthermore, it can use a Resilient Intelligent Routing (RIR) module to assess the communication link quality of the tunnel. For example, communication link quality includes packet loss rate, latency, and / or jitter.

[0125] For example, the current session information sent by the first router to the controller is shown in Table 2:

[0126] Table 2

[0127]

[0128]

[0129] The reporting device is the identifier of the first router that sent the current session information, for example, Figure 1 When Router 1 is the first router, its identifier is recorded in the reported device item. The outgoing interface is the outgoing interface through which the first router forwards the packets of this session, the session destination address is the address of the called terminal, and the tunnel number is the number of the communication tunnel between the first router and the second router.

[0130] After the current session information is reported to the controller, the controller retrieves the target encoding parameter corresponding to the current session information from a preset mapping between different session information and different encoding parameters. The target encoding parameter can be understood as the optimal FEC encoding strategy for communication between the first router and the second router. Subsequently, the controller distributes the target encoding parameter to the first router and the second router.

[0131] Before S304 above, see Figure 3c The first router can also be configured with an FEC encoding strategy for transmitting data packets between the calling terminal and the called terminal, including:

[0132] S305, Create the first forwarding strategy.

[0133] S306. Set the matching rule of the first forwarding policy to the destination address as the address of the called terminal, and set the encoding parameter of the first forwarding policy to the received target encoding parameter.

[0134] For example, the process of setting the first forwarding policy is as follows:

[0135] First, create a waas_rtp class of WAAS RTP on the first router (RouterA) using the following code, and create matching rules for User Datagram Protocol (UDP) traffic with a destination address of 2.2.2.2 / 24.

[0136] <routera>system-view

[0137] [RouterA]waas rtp-class waas_rtp

[0138] [RouterA-waasrtpclass-waas_rtp]match udp destination ip-address2.2.2.2 / 24

[0139] Then, using the following code, create a WAAS policy_fec (i.e., the first forwarding policy) on the first router, reference the RTP class waas_rtp, specify the RTP class waas_rtp optimization method as FEC, configure the average packet loss resistance rate as 30%, the encoding timeout as 200 milliseconds, and the number of encoded block packets as 40.

[0140] <routera>system-view

[0141] [RouterA]waas policy Policy_fec

[0142] [RouterA-waaspolicy-policy_fec]rtp-class waas_rtp

[0143] [RouterA-waaspolicy-policy_fec-waas_rtp]optimize fec

[0144] [RouterA-waaspolicy-policy_fec-waas_rtp]fec average-ratio 30

[0145] [RouterA-waaspolicy-policy_fec-waas_rtp]fec encode timeout 200

[0146] [RouterA-waaspolicy-policy_fec-waas_rtp]fec block-size 40

[0147] It should be noted that the average packet loss rate, encoding timeout time and number of encoded blocks mentioned above are the target encoding parameters sent by the controller, and the target encoding parameters sent by the controller are not limited to these.

[0148] Next, apply the WAAS policy policy_fec on the GigabitEthernet1 / 0 / 1 interface of the first router using the following code.

[0149] <routera>system-view

[0150] [RouterA]interface gigabitethernet 1 / 0 / 1

[0151] [RouterA-GigabitEthernet1 / 0 / 1]waas apply policy policy_fec

[0152] Among them, the GigabitEthernet1 / 0 / 1 interface is the outgoing interface on the first router used to forward data packets sent by the calling terminal to the second router. The first router can determine the outgoing interface based on the destination address of the call packet.

[0153] Subsequently, after receiving the data packet sent by the calling terminal, the first router performs RTP-type WAAS policy matching, that is, determines whether the destination address of the data packet meets the matching rules of the first forwarding policy.

[0154] If the destination address of the data packet is the same as the destination address set in the matching rule, then the data packet is determined to match the first forwarding policy. At this time, a fast forwarding table entry for FEC is created, and a fast forwarding service flag is set for the data packet. The created fast forwarding table entry includes: the five-tuple information of the data packet and the target encoding parameters.

[0155] Meanwhile, data packets are transmitted in the form of data packets. The first router receives and buffers the original data packets sent by the calling terminal. If the number of buffered original data packets reaches the number of coded blocks within the encoding timeout period, it performs FEC encoding on the original data packets of the coded block number based on the average packet loss tolerance to generate redundant packets; or if the number of buffered original data packets does not reach the number of coded blocks when the encoding timeout period is reached, it performs FEC encoding on the currently buffered data packets based on the average packet loss tolerance to generate redundant packets. Then, it sends the original data packets and redundant packets to the second router.

[0156] In this embodiment of the invention, the first router can adjust the FEC encoding scheme in a timely manner according to the target encoding parameters issued by the controller, so as to improve the reliability of data transmission.

[0157] Optionally, the called terminal can also send data packets to the second router.

[0158] Based on this, a third forwarding policy can be configured in the second router. The matching rule for the third forwarding policy is that the destination address is the address of the calling terminal, and the encoding parameter is the target encoding parameter. The method for configuring the third forwarding policy in the second router is similar to the method for configuring the first forwarding policy in the first router; refer to the method described above for configuring the first forwarding policy in the first router, and it will not be repeated here.

[0159] This allows the second router, upon receiving a data packet from the called terminal, to perform FEC encoding on the data packet based on the third forwarding strategy and then send the encoded data packet to the first router. Upon receiving the encoded data packet, the first router performs FEC decoding on the data packet using the target encoding parameters and then sends the FEC-decoded data packet to the calling terminal.

[0160] Based on the same inventive concept, embodiments of the present invention provide a method for real-time network communication, which is applied to a second router that is communicatively connected to the called terminal, such as... Figure 4a As shown, the method includes the following steps:

[0161] S401 receives the target encoding parameters sent by the controller.

[0162] The target encoding parameters correspond to the session type and the communication link quality carrying the current session communication tunnel in the current session information. The controller looks them up from the preset correspondence between different session information and different encoding parameters.

[0163] S402, based on the target encoding parameters, performs FEC encoding or decoding on the data packets transmitted during real-time calls between the parties in the session.

[0164] In the real-time network call method provided in this embodiment of the invention, when a calling terminal and a called terminal are engaged in a real-time call, a first router and a second router are used to forward data packets transmitted between the calling terminal and the called terminal. The controller can search for target encoding parameters from a preset correspondence between different session information and different encoding parameters based on the session type in the current session information and the communication link quality carrying the current session's communication tunnel. This allows the first router and the second router to perform FEC encoding and FEC decoding according to the target encoding parameters. It is evident that the encoding parameters used by the first router and the second router in this embodiment of the invention are not fixed but determined by the controller according to the application scenario. This ensures that the target encoding parameters used during the real-time call conform to the session type of the current session and the communication link quality carrying the current session's communication tunnel. Therefore, this embodiment of the invention can improve the reliability of data transmission in various application scenarios.

[0165] Before S402 above, such as Figure 4b As shown, the second router can also be configured with an FEC decoding policy for transmitting data packets between the calling terminal and the called terminal, including:

[0166] S403, Create a second forwarding strategy.

[0167] S404. Set the matching rule of the second forwarding policy to the destination address as the address of the called terminal, and set the encoding parameter to the target encoding parameter to be received.

[0168] For example, the process of setting the second forwarding policy is as follows:

[0169] First, create a waas_rtp class of WAAS RTP on the second router (RouterB) using the following code, and create matching rules for UDP traffic destined for address 2.2.2.2 / 24.

[0170] <routerb>system-view

[0171] [RouterB]waas rtp-class waas_rtp

[0172] [RouterB-waasrtpclass-waas_rtp]match udp destination ip-address2.2.2.2 / 24

[0173] Then, using the following code, create a WAAS policy_fec (i.e., the second forwarding policy) on the second router, reference the RTP class waas_rtp, specify the optimization method of the RTP class waas_rtp as FEC, configure the decoding timeout to 1000 milliseconds, and the number of encoded block packets to 40.

[0174] <routerb>system-view

[0175] [RouterB]waas policy policy_fec

[0176] [RouterB-waaspolicy-policy_fec]rtp-class waas_rtp

[0177] [RouterB-waaspolicy-policy_fec-waas_rtp]optimize fec

[0178] [RouterB-waaspolicy-policy_fec-waas_rtp]fec decode timeout 1000

[0179] [RouterB-waaspolicy-policy_fec-waas_rtp]fec block-size 40

[0180] It should be noted that the above decoding timeout time and number of encoded block packets are the target encoding parameters sent by the controller, and the target encoding parameters sent by the controller are not limited to these.

[0181] Next, apply the WAAS policy policy_fec on the GigabitEthernet1 / 0 / 1 interface of the second router using the following code.

[0182] <routerb>system-view

[0183] [RouterB]interface gigabitethernet 1 / 0 / 1

[0184] [RouterB-GigabitEthernet1 / 0 / 1]waas apply policy policy_fec

[0185] Among them, the GigabitEthernet1 / 0 / 1 interface is the interface on the second router used to receive data packets sent by the first router.

[0186] Subsequently, after receiving the data packet sent by the first router, the second router performs RTP-type WAAS policy matching, that is, determines whether the destination address of the data packet meets the matching rules of the second forwarding policy.

[0187] If the destination address of the data packet is the same as the destination address set in the matching rule, it is determined that the data packet matches the second forwarding policy. At this time, the received data packet is FEC decoded using the decoding timeout time and the number of encoded block packets configured in the second forwarding policy.

[0188] Data packets are transmitted in the form of data packets. The second router receives and buffers the original data packets and redundant packets sent by the first router. If the number of buffered data packets reaches the number of encoded block packets within the decoding timeout period, FEC decoding is performed on the data packets of the encoded block packet number to recover the lost original data packets, resulting in a complete set of original data packets. This set of original data packets is then sent to the called terminal. Alternatively, if the number of buffered data packets does not reach the number of encoded block packets when the coding timeout period expires, the received original data packets are retained, and the received redundant packets are discarded. The retained original data packets are then sent to the called terminal.

[0189] Optionally, the second router can also send the packet loss rate and average decoding time to the controller based on the FEC decoding results. The controller, through intelligent analysis software, can then update the target encoding parameters corresponding to the current session information based on these parameters. This results in target encoding parameters that better match the current session information, reducing packet loss and improving data transmission reliability.

[0190] Optionally, the called terminal can also send data packets to the second router. The second router performs FEC encoding on the data packets according to the third forwarding policy and forwards the encoded data packets to the first router.

[0191] Based on this, a fourth forwarding policy can also be configured in the first router. The matching rule for the fourth forwarding policy is that the destination address is the address of the calling terminal, and the encoding parameter is the target encoding parameter. The method for configuring the fourth forwarding policy in the first router is similar to the method for configuring the second forwarding policy in the second router; please refer to the above description of configuring the second forwarding policy in the second router, which will not be repeated here.

[0192] This enables the first router to perform FEC decoding on the data packet after receiving it from the second router, based on the fourth forwarding policy, and then send the decoded data packet to the calling terminal.

[0193] It should be noted that the descriptions of the same steps in the three network real-time calling methods provided in the embodiments of the present invention can be referred to each other.

[0194] The real-time network calling system provided in this invention can be applied to enterprise networks with branch offices. See also... Figure 1 In this embodiment, user terminal 1 and router 1 can be located in a branch office of the enterprise network; in this case, router 1 can be called a branch router. Similarly, user terminal 2 and router 2 can be located in another branch office of the enterprise network; router 2 can also be called a branch router. User terminal 3 and router 3 can be located in yet another branch office of the enterprise network. Alternatively, user terminal 3 and router 3 can be located in the headquarters of the enterprise network; in this case, router 3 can also be called the headquarters router. By setting up the real-time network communication system provided in this embodiment of the invention in the enterprise network, enterprise users can communicate through various user terminals, branch routers, and the headquarters router, ensuring the reliability of data transmission for different session types such as two-way voice calls, three-way voice calls, voice conferencing, two-way video calls, and video conferencing.

[0195] Based on the same inventive concept, and corresponding to the method embodiment applied to a controller, this embodiment of the invention provides a network real-time communication device applied to a controller, such as... Figure 5 As shown, the device includes: a receiving module 501, a searching module 502, and a sending module 503;

[0196] The receiving module 501 is used to receive current session information sent by the first router. The current session information is obtained by the first router during the process of establishing a session between the calling terminal and the called terminal, and includes: session type and communication link quality carrying the current session communication tunnel; the first router is a router that is connected to the calling terminal for communication.

[0197] The lookup module 502 is used to look up the target encoding parameter from the preset correspondence between different session information and different encoding parameters; the target encoding parameter corresponds to the session type and the communication link quality carrying the current session communication tunnel;

[0198] The sending module 503 is used to send target encoding parameters to the first router and the second router, the second router being a router that is communicatively connected to the called terminal; so that the first router and the second router, based on the target encoding parameters, perform FEC encoding or decoding on the data packets transmitted by the parties in the real-time call.

[0199] Optionally, the device may further include a generation module, which is used for:

[0200] Simulate sessions for different application scenarios, set different encoding parameters for each application scenario, obtain the packet loss rate corresponding to different encoding parameters, and use the encoding parameter corresponding to the minimum packet loss rate as the encoding parameter for the session information of that application scenario. The session information is different for each application scenario.

[0201] Based on the same inventive concept, and corresponding to the method embodiment applied to the first router, this embodiment of the invention provides a network real-time calling device applied to a first router that is communicatively connected to a calling terminal, such as... Figure 6 As shown, the device includes: an acquisition module 601, a transmission module 602, a receiving module 603, and an encoding / decoding module 604;

[0202] The acquisition module 601 is used to obtain current session information during the process of establishing a session between the calling terminal and the called terminal. The current session information includes: session type and communication link quality carrying the current session communication tunnel.

[0203] The sending module 602 is used to send current session information to the controller;

[0204] The receiving module 603 is used to receive the target encoding parameters sent by the controller. The target encoding parameters correspond to the session type and the communication link quality carrying the current session communication tunnel. The controller looks them up from the preset correspondence between different session information and different encoding parameters.

[0205] The encoding / decoding module 604 is used to perform FEC encoding or decoding on data packets transmitted during real-time calls between the parties in a session, based on the target encoding parameters.

[0206] Optionally, module 601 is used to obtain:

[0207] Receive call messages sent by the calling terminal, which are used to request a real-time call with the called terminal;

[0208] Based on the call message, a session is established with the called terminal, and the current session information is determined.

[0209] Optionally, module 601 is used to obtain:

[0210] The session type of the call message is determined based on the session identifier carried in the call message;

[0211] Establish a session with the called terminal, determine the communication tunnel between the first router and the second router based on the destination address of the call message, and obtain the communication link quality of the communication tunnel.

[0212] Optionally, the device may also include: a creation module and a setting module;

[0213] A module is created to create a first forwarding strategy before the step of performing FEC encoding or decoding on data packets transmitted during real-time calls between the parties in a session based on target encoding parameters.

[0214] The setting module is used to set the matching rule of the first forwarding policy to the address of the called terminal as the destination address, and to set the encoding parameter of the first forwarding policy to the target encoding parameter of the received data.

[0215] Based on the same inventive concept, and corresponding to the method embodiment applied to a second router, this embodiment of the invention provides a network real-time calling device applied to a second router that is communicatively connected to the called terminal, such as... Figure 7 As shown, the device includes: a receiving module 701 and an encoding / decoding module 702;

[0216] The receiving module 701 is used to receive the target encoding parameters sent by the controller. The target encoding parameters correspond to the session type and the communication link quality carrying the current session communication tunnel in the current session information. The controller looks them up from the preset correspondence between different session information and different encoding parameters.

[0217] The encoding / decoding module 702 is used to perform FEC encoding or decoding on data packets transmitted during real-time calls between the parties in a session, based on the target encoding parameters.

[0218] Optionally, the device may also include: a creation module and a settings module;

[0219] A module is created to create a second forwarding strategy before the step of performing FEC encoding or decoding on data packets transmitted during real-time calls between the parties in a session based on target encoding parameters.

[0220] The configuration module is used to set the matching rule of the second forwarding strategy to the address of the called terminal as the destination address, and to set the encoding parameters to the target encoding parameters to be received.

[0221] Based on the same inventive concept, and corresponding to the above method embodiments, this invention provides a real-time network call system, including a controller, a first router, and a second router, wherein the controller is used to implement the method executed by the controller, the first router is used to implement the method executed by the first router, and the second router is used to implement the method executed by the second router.

[0222] This invention also provides an electronic device, such as... Figure 8 As shown, it includes a processor 801, a communication interface 802, a memory 803, and a communication bus 804. The processor 801, communication interface 802, and memory 803 communicate with each other via the communication bus 804.

[0223] Memory 803 is used to store computer programs;

[0224] The processor 801, when executing the program stored in the memory 803, implements the method steps in the above method embodiments.

[0225] The communication bus mentioned in the above electronic devices can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. This communication bus can be divided into address bus, data bus, control bus, etc. For ease of illustration, only one thick line is used to represent it in the diagram, but this does not mean that there is only one bus or one type of bus.

[0226] The communication interface is used for communication between the aforementioned electronic devices and other devices.

[0227] The memory may include random access memory (RAM) or non-volatile memory (NVM), such as at least one disk storage device. Optionally, the memory may also be at least one storage device located remotely from the aforementioned processor.

[0228] The processors mentioned above can be general-purpose processors, including central processing units (CPUs), network processors (NPs), etc.; they can also be digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components.

[0229] In another embodiment of the present invention, a computer-readable storage medium is also provided, wherein a computer program is stored therein, and when the computer program is executed by a processor, it implements the steps of any of the above-described real-time network call methods.

[0230] In another embodiment of the present invention, a computer program product containing instructions is also provided, which, when run on a computer, causes the computer to perform any of the network real-time call methods described above.

[0231] In the above embodiments, implementation can be achieved entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of the present invention are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid state disk (SSD)).

[0232] It should be noted that, in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0233] The various embodiments in this specification are described in a related manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, the apparatus embodiments are basically similar to the method embodiments, so the description is relatively simple; relevant parts can be referred to the descriptions of the method embodiments.

[0234] The above description is merely a preferred embodiment of the present invention and is not intended to limit the scope of protection of the present invention. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention are included within the scope of protection of the present invention.< / routerb> < / routerb> < / routerb> < / routera> < / routera> < / routera>

Claims

1. A network real-time communication method, characterized in that: Applied to a controller, the method comprises: receiving current session information sent by a first router, wherein the current session information is obtained by the first router during a process of establishing a session between a calling terminal and a called terminal, and includes: a session type and a quality of a communication link carrying a communication tunnel of the current session; the first router is a router connected to the calling terminal for communication; Searching for a target encoding parameter from a preset correspondence between different session information and different encoding parameters; the target encoding parameter corresponds to the session type and the quality of a communication link carrying a communication tunnel of the current session; Sending the target coding parameter to the first router and the second router, where the second router is a router connected to the called terminal for communication; so that the first router and the second router perform FEC encoding or decoding on data packets transmitted during the real-time call between the parties to the session based on the target coding parameter; Before the first router and the second router perform FEC encoding or decoding on the data packets transmitted during the real-time call between the parties to the session based on the target encoding parameter, the first router and the second router create a first forwarding strategy; the first router and the second router set the matching rule of the first forwarding strategy to the destination address being the address of the called terminal, and set the encoding parameter of the first forwarding strategy to the received target encoding parameter; The encoding parameters include average packet loss resistance rate, encoding timeout, number of encoding block packets and decoding timeout.

2. The method according to claim 1, characterized in that The generation method of the correspondence between the different session information and the different encoding parameters includes: Simulate sessions of different application scenarios, set different encoding parameters for each application scenario, obtain packet loss rates corresponding to different encoding parameters, and use the encoding parameter corresponding to the minimum packet loss rate as the encoding parameter corresponding to the session information of the application scenario, wherein the session information of each application scenario is different.

3. A network real-time communication method, characterized in that: Applied to a first router in communication connection with a calling terminal, the method comprising: During the process of establishing a session between the calling terminal and the called terminal, current session information is obtained, wherein the current session information includes: a session type and a quality of a communication link carrying a communication tunnel of the current session; Send current session information to the controller; receiving a target encoding parameter sent by the controller; the target encoding parameter corresponds to the session type and the quality of the communication link carrying the current session communication tunnel, and is found by the controller from a preset correspondence between different session information and different encoding parameters; Based on the target encoding parameters, FEC encoding or decoding is performed on data packets transmitted during a real-time call between the parties to the conversation; Before the step of performing FEC encoding or decoding on the data packets transmitted during the real-time call between the parties to the session based on the target encoding parameter, the method further includes: Creating a first forwarding strategy; Setting the matching rule of the first forwarding strategy to a destination address as the address of the called terminal, and setting the encoding parameter of the first forwarding strategy to a received target encoding parameter; The encoding parameters include average packet loss resistance rate, encoding timeout, number of encoding block packets and decoding timeout.

4. The method according to claim 3, characterized in that The step of obtaining current session information during the process of establishing a session between the calling terminal and the called terminal includes: receiving a call message sent by the calling terminal, wherein the call message is used to request a real-time conversation with the called terminal; Based on the call message, a session is established with the called terminal, and current session information is determined.

5. The method according to claim 4, characterized in that The step of establishing a session with the called terminal based on the call message and determining current session information includes: Determining a session type of the call message according to the session identifier carried by the call message; A session is established with the called terminal, and according to the destination address of the call message, a communication tunnel between the first router and the second router is determined, and a communication link quality of the communication tunnel is obtained.

6. A network real-time communication method, characterized in that: Applied to a second router in communication connection with a called terminal, the method comprising: receiving a target encoding parameter sent by the controller, wherein the target encoding parameter corresponds to the session type in the current session information and the quality of the communication link carrying the communication tunnel of the current session, and is found by the controller from a preset correspondence between different session information and different encoding parameters; Based on the target encoding parameters, FEC encoding or decoding is performed on data packets transmitted during a real-time call between the parties to the conversation; Before the step of performing FEC encoding or decoding on the data packets transmitted during the real-time call between the parties to the session based on the target encoding parameter, the method further includes: Create a second forwarding strategy; Setting the matching rule of the second forwarding strategy to a destination address as the address of the called terminal, and setting the encoding parameter as the received target encoding parameter; The encoding parameters include average packet loss resistance rate, encoding timeout, number of encoding block packets and decoding timeout.

7. A network real-time communication device, characterized in that: Applied to a controller, the device comprises: a receiving module, configured to receive current session information sent by a first router, wherein the current session information is obtained by the first router during a process of establishing a session between a calling terminal and a called terminal, and includes: a session type and a communication link quality of a communication tunnel carrying the current session; the first router is a router connected to the calling terminal for communication; A search module, used to search for a target coding parameter from a preset correspondence between different session information and different coding parameters; the target coding parameter corresponds to the session type and the quality of a communication link carrying a communication tunnel of the current session; A sending module, configured to send the target coding parameter to the first router and the second router, wherein the second router is a router connected to the called terminal for communication; so that the first router and the second router perform FEC encoding or decoding on the data packets transmitted during the real-time call between the parties to the conversation based on the target coding parameter; Before the first router and the second router perform FEC encoding or decoding on the data packets transmitted during the real-time call between the parties to the session based on the target encoding parameter, the first router and the second router create a first forwarding strategy; the first router and the second router set the matching rule of the first forwarding strategy to the destination address being the address of the called terminal, and set the encoding parameter of the first forwarding strategy to the received target encoding parameter; The encoding parameters include average packet loss resistance rate, encoding timeout, number of encoding block packets and decoding timeout.

8. The device according to claim 7, characterized in that The device further comprises a generating module, wherein the generating module is configured to: Simulate sessions of different application scenarios, set different encoding parameters for each application scenario, obtain the packet loss rates corresponding to different encoding parameters, and use the encoding parameters corresponding to the minimum packet loss rate as the encoding parameters corresponding to the session information of the application scenario. The session information of each application scenario is different.

9. A network real-time communication device, characterized in that: A first router connected to a calling terminal for communication, the device comprising: An acquisition module, used to obtain current session information during the process of establishing a session between the calling terminal and the called terminal, wherein the current session information includes: a session type and a communication link quality of a communication tunnel carrying the current session; A sending module, used for sending current session information to the controller; A receiving module, configured to receive a target encoding parameter sent by the controller; the target encoding parameter corresponds to the session type and the quality of the communication link carrying the communication tunnel of the current session, and is found by the controller from a preset correspondence between different session information and different encoding parameters; A coding and decoding module, configured to perform FEC coding or decoding on data messages transmitted during a real-time call between the parties to the conversation based on the target coding parameters; Wherein, the device further comprises: a creation module and a setting module; The creation module is used to create a first forwarding strategy before the step of performing FEC encoding or decoding on the data packets transmitted during the real-time call between the parties to the session based on the target encoding parameters; The setting module is used to set the matching rule of the first forwarding strategy to a destination address as the address of the called terminal, and to set the encoding parameter of the first forwarding strategy to a received target encoding parameter; The encoding parameters include average packet loss resistance rate, encoding timeout, number of encoding block packets and decoding timeout.

10. The device according to claim 9, characterized in that The acquisition module is specifically used for: receiving a call message sent by the calling terminal, wherein the call message is used to request a real-time conversation with the called terminal; Based on the call message, a session is established with the called terminal, and current session information is determined.

11. The device according to claim 10, characterized in that The acquisition module is specifically used for: Determining a session type of the call message according to the session identifier carried by the call message; A session is established with the called terminal, and according to the destination address of the call message, a communication tunnel between the first router and the second router is determined, and a communication link quality of the communication tunnel is obtained.

12. A network real-time communication device, characterized in that: A second router connected to a called terminal for communication, the device comprising: A receiving module, used for receiving a target encoding parameter sent by the controller, wherein the target encoding parameter corresponds to the session type in the current session information and the quality of the communication link carrying the communication tunnel of the current session, and is found by the controller from the preset correspondence between different session information and different encoding parameters; A coding and decoding module, configured to perform FEC coding or decoding on data messages transmitted during a real-time call between the parties to the conversation based on the target coding parameters; Wherein, the device further comprises: a creation module and a setting module; The creation module is used to create a second forwarding strategy before the step of performing FEC encoding or decoding on the data packets transmitted during the real-time call between the parties to the session based on the target encoding parameters; The setting module is used to set the matching rule of the second forwarding strategy to a destination address as the address of the called terminal, and to set the encoding parameter as a received target encoding parameter; The encoding parameters include average packet loss resistance rate, encoding timeout, number of encoding block packets and decoding timeout.

13. A network real-time communication system, characterized in that: It includes a controller, a first router and a second router, wherein the controller is used to implement the method described in claim 1 or 2, the first router is used to implement the method described in any one of claims 3-5, and the second router is used to implement the method described in claim 6.

Citation Information

Patent Citations

  • Adaptive information delivery system using FEC feedback

    CN101124728A

  • Monitoring video code stream dynamic route selection method and device

    CN105450651A