Data transmission method and device and storage medium
Patent Information
- Application Number
- CN202310688910.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-06-09
- Publication Date
- 2024-12-10
AI Technical Summary
In the prior art, the PDCP discard timer configured by the network device is unreasonable, resulting in delays or stutters in packet transmission, affecting the user experience.
After receiving the RRC message sent by the network device, the terminal device dynamically adjusts the duration of the PDCP discard timer by looking up the preset relationship table, and configures different discard timers according to the different characteristics of the voice frame and the mute frame to ensure timely transmission of data packets.
It effectively solves the problem of lag caused by unreasonable timer discarding PDCP, and improves user experience and data transmission efficiency.
Smart Images

Figure CN119110344A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of communication technology, and in particular to a data transmission method, device and storage medium. Background Art
[0002] Usually, data is cached in the form of queues at the packet data convergence protocol (PDCP) layer. To prevent buffer overflow, the PDCP layer configures a discard timer. Whenever the PDCP layer receives a new PDCP service data unit (SDU), the PDCP layer starts a discard timer for the PDCP SDU. If the discard timer times out, or the PDCP status report indicates that the PDCP SDU has been successfully sent, the PDCP SDU and the PDCP protocol data unit (PDU) associated with the PDCP SDU are discarded, thereby releasing the occupied channel resources.
[0003] Currently, the PDCP discard timer duration is specified by the network device through the radio resource control (RRC) reconfiguration message. However, in some cases, the PDCP discard timer duration specified by the RRC reconfiguration message may not be reasonable. If the terminal device defines the maximum buffering time of the data packet at the PDCP layer according to the network device configuration, problems such as freezing or single-pass may occur, thereby reducing the user experience. Summary of the invention
[0004] The present application provides a data transmission method, device and storage medium, which solve the technical problem that the duration of the PDCP discard timer configured by the network device for the data radio bearer is unreasonable.
[0005] In order to achieve the above objectives, this application adopts the following technical solutions:
[0006] In a first aspect, an embodiment of the present application provides a data transmission method. The method is applied to a first terminal device. The method may include:
[0007] Receiving an RRC message sent by a network device, the RRC message including a first duration, the first duration being a PDCP discard timer duration corresponding to a voice data radio bearer;
[0008] Receiving a first INVITE message sent by a second terminal device;
[0009] Receive the user's answering operation;
[0010] Acquire a first silence frame; starting from acquiring the first silence frame, not sending the first silence frame to the second terminal device within a second duration; starting from acquiring the first silence frame, not sending the first silence frame to the second terminal device after the second duration; wherein the second duration is less than the first duration;
[0011] Acquire a first voice frame; starting from the acquisition of the first voice frame, do not send the first voice frame within a first time length; starting from the acquisition of the first voice frame, send the first voice frame to the second terminal device within a third time length; wherein the third time length is greater than the first time length.
[0012] Exemplarily, the first duration is 300 ms, the second duration is 100 ms, and the third duration is 500 ms.
[0013] In the above scheme, the voice data radio bearer is used to transmit voice data. The network device configures a PDCP discard timer duration (i.e., the first duration) for the voice data radio bearer, which is applicable to all types of voice data, and different types of voice data have different requirements for the PDCP discard timer duration. The first terminal device can start PDCP discard timers of different durations after obtaining voice frames and silent frames. Compared with silent frames, voice frames carry more useful information, so the duration of the PDCP discard timer started for silent frames is shorter (i.e., the second duration), and the duration of the PDCP discard timer started for voice frames is longer (i.e., the third duration). If the silent frame in the data queue times out, the channel resources can be released by discarding the silent frame, so that the voice frame after the silent frame can be smoothly transmitted, thereby effectively meeting the requirements of different voice types for the PDCP discard timer duration and improving the user's call experience.
[0014] It should be noted that the above scheme is illustrated by taking the first terminal device as the called terminal. In actual implementation, the first terminal device can also be the calling terminal. After the first terminal device sends the first INVITE message to the second terminal device and the second terminal device receives the user's answering operation, the first terminal device starts PDCP discard timers of different lengths for the acquired voice frames and silent frames.
[0015] As an optional implementation method, the transmission of the above-mentioned first voice frame and the first mute frame are both implemented at the PDCP layer of the first terminal device. Data passed from the upper layer (such as the TCP / UDP / IP layer) to the PDCP layer and not yet processed by the PDCP layer is called a PDCP SDU. Data passed to the next layer (such as the RLC layer) after being processed in a specific format by the PDCP layer is called a PDCP PDU. Among them, the first mute frame carries a first identifier for indicating a mute frame, and the first voice frame carries a second identifier for indicating a voice frame. It should be noted that the terminal device can obtain the first time from the log of the PDCP SDU, and the first time is the time when the PDCP layer encapsulates the PDCP SDU to obtain the PDCP SDU. The terminal device can also obtain the second time from the log of the PDCP PDU, and the second time is the time when the PDCP layer encapsulates the PDCP PDU to obtain the PDCP PDU.
[0016] The first mute frame in the above “obtaining the first mute frame” refers to the mute frame obtained by the PDCP layer from the upper layer, which can be called the first PDCP SDU. The first mute frame in “not sending the first mute frame to the second terminal device” refers to the mute frame that is passed to the next layer after being processed in a specific format by the PDCP layer and has not yet been sent from the terminal device, which can be called the first PDCP PDU.
[0017] The first voice frame in the above “obtaining the first voice frame” refers to the voice frame obtained by the PDCP layer from the upper layer, which can be called the second PDCP SDU. The first voice frame in “sending the first voice frame to the second terminal device” refers to the voice frame that is passed to the next layer after being processed in a specific format by the PDCP layer and sent out from the terminal device, which can be called the second PDCP PDU.
[0018] As an optional implementation method, starting from the acquisition of the first silent frame, the first silent frame is not sent to the second terminal device after a second time period, including: starting timing from the acquisition of the first silent frame; based on the timing duration reaching the second time period, the first silent frame is not sent to the second terminal device, and the timing is stopped.
[0019] Exemplarily, the PDCP layer starts from acquiring the first PDCP SDU and starts the first PDCP discard timer according to the first identifier carried by the first PDCP SDU. When the timing duration of the first PDCP discard timer reaches a second duration, the PDCP layer discards the first PDCP SDU and the first PDCP PDU, and the first PDCP discard timer stops timing.
[0020] As an optional implementation method, starting from the acquisition of the first voice frame, the first voice frame is sent to the second terminal device within a third time period, including: starting timing from the acquisition of the first voice frame; successfully sending the first voice frame to the second terminal device within the third time period, and stopping timing.
[0021] Exemplarily, the PDCP layer starts from acquiring the second PDCP SDU and starts the second PDCP discard timer according to the second identifier carried by the second PDCP SDU. If the first PDCP PDU is successfully sent to the second terminal device before the second PDCP discard timer expires, the second PDCP discard timer stops timing.
[0022] As an optional implementation method, after receiving the user's answering operation, the method may also include: obtaining a second voice frame (called a third PDCP SDU); starting from obtaining the second voice frame, within a third time length, not sending the second voice frame to the second terminal device; starting from obtaining the second voice frame, after the third time length, not sending the second voice frame to the second terminal device (called a third PDCP PDU).
[0023] Exemplarily, the PDCP layer starts from acquiring the third PDCP SDU and starts the third PDCP discard timer according to the second identifier carried by the third PDCP SDU. When the timing duration of the third PDCP discard timer reaches the third duration, the PDCP layer discards the third PDCP SDU and the third PDCP PDU, and the third PDCP discard timer stops timing.
[0024] In the above scheme, although the duration of the PDCP discard timer started for the voice frame is long, the voice frame may not be sent out within the third duration in special circumstances such as network congestion. By discarding the voice frame after the PDCP discard timer of the voice frame expires, the channel resources occupied by the voice frame can be released, so that other voice frames located after the voice frame can be transmitted smoothly.
[0025] As an optional implementation method, after receiving the user's answering operation, the method may also include: obtaining a second silent frame (called the fourth PDCP SDU); starting from obtaining the second silent frame, sending a second voice frame (called the fourth PDCP PDU) to the second terminal device within a second time length.
[0026] Exemplarily, the PDCP layer starts from acquiring the fourth PDCP SDU and starts the fourth PDCP discard timer according to the first identifier carried by the fourth PDCP SDU. If the fourth PDCP PDU is successfully sent to the second terminal device before the fourth PDCP discard timer expires, the fourth PDCP discard timer stops timing.
[0027] In the above solution, although the duration of the PDCP discard timer started for the mute frame is short, when the network status is good, the mute frame may also be successfully sent out within the second duration.
[0028] As an optional implementation, both the silence frame and the voice frame carry numbers. The numbers may also be called frame numbers or sequence numbers. For example, the first silence frame carries the first number, the first voice frame carries the second number, the second silence frame carries the third number, and the second voice frame carries the fourth number. The terminal device assigns numbers to each frame, and each frame is transmitted between layers according to the number. The terminal device can distinguish each frame according to the frame number, the frame type, and the frame sending and receiving order.
[0029] As an optional implementation, the length of the same frame before and after the PDCP layer encapsulation is equal or corresponding. For example, the length of the first mute frame before and after the PDCP layer encapsulation is the first length, and the length of the first voice frame before and after the PDCP layer encapsulation is the second length. For another example, the length of the first mute frame before the PDCP layer encapsulation is the first length, and the length of the first mute frame after the PDCP layer encapsulation is the third length, and the difference between the third length and the first length is N bytes; the length of the first voice frame before the PDCP layer encapsulation is the second length, and the length of the first voice frame after the PDCP layer encapsulation is the fourth length, and the difference between the fourth length and the second length is N bytes. Among them, the second length is greater than the first length, and the fourth length is greater than the third length. Since the lengths of the frames are not equal, the terminal device can also distinguish the frames according to the frame length.
[0030] As an optional implementation, after receiving the RRC message and before receiving the first INVITE message, the method may further include: consulting a preset relationship table to obtain a second duration corresponding to a mute frame of the voice data radio bearer and a third duration corresponding to a voice frame of the voice data radio bearer; determining that the third duration is greater than the first duration; configuring the second duration as a PDCP discard timer duration corresponding to a mute frame of the voice data radio bearer, and configuring the third duration as a PDCP discard timer duration corresponding to a voice frame of the voice data radio bearer. The preset relationship table is pre-stored before the terminal device leaves the factory, and may also be obtained by the terminal device from a server during use.
[0031] In the above scheme, the PDCP discard timer duration corresponding to the voice data wireless bearer configured by the network device may not be reasonable, so the terminal device can look up the table to obtain the durations pre-configured for the silent frame and the voice frame, respectively, and then determine whether to overwrite the PDCP discard timer duration corresponding to the first service type by comparing the duration of the voice frame with the duration configured by the network device, and the silent frame can be directly configured according to the table lookup result. As an example, when the duration of the voice frame is greater than the duration configured by the network device, the terminal device defines the PDCP discard timer duration corresponding to the voice frame according to the duration of the voice frame obtained by looking up the table; or, when the duration of the voice frame is less than or equal to the duration configured by the network device, the terminal device defines the PDCP discard timer duration corresponding to the voice frame according to the configuration of the network device. As another example, when the duration of a voice frame is less than the duration configured by the network device, the terminal device defines the duration of the PDCP discard timer corresponding to the voice frame according to the duration of the voice frame obtained by looking up the table; or, when the duration of the voice frame is greater than or equal to the duration configured by the network device, the terminal device defines the duration of the PDCP discard timer corresponding to the voice frame according to the configuration of the network device. It should be understood that no matter which configuration method is adopted, since the terminal device configures the PDCP discard timer duration for voice frames and silent frames respectively, the different demands of voice frames and silent frames are met.
[0032] As an optional implementation, the voice data radio bearer is QCI or 5QI. QCI is an LTE PDN connection parameter, and 5QI is an NR PDU session parameter. Different QCI / 5QI values represent different bearer types. Exemplarily, a data radio bearer with QCI=1 and 5QI=1 is used to transmit voice data.
[0033] As an optional implementation, the RRC message may also include a fourth duration, which is the duration of the PDCP discard timer corresponding to the IMS data radio bearer, and the IMS data radio bearer is used to transmit IMS signaling, such as a 200OK message. Accordingly, after receiving the answering operation and before receiving the voice frame and the silent frame, the method may also include: receiving a second Invitie message sent by the network device; obtaining a 200OK message in reply to the second INVITE message; starting from obtaining the 200OK message, no 200OK message is sent within the fourth duration; starting from obtaining the 200OK message, a 200OK message is sent to the network device within a fifth duration, and the fifth duration is greater than the fourth duration. Among them, the second INVITE message may also be called a Reinvite message, and the Reinvite message is a message resent for the first INVITE message. Different from the first INVITE message, the second INVITE message also includes a label, which can be used to distinguish the first INVITE message from the second INVITE message. Exemplarily, a code segment of the second INVITE message is as follows:
[0034] “To:tel:***********3612; transport=udp; tag=1703227949”. “To” indicates the called device, that is, terminal device 1. “tag=1703227949” is the tag carried by the second INVITE message.
[0035] In the above scheme, the length of the 200OK message is usually large, for example, more than 1500 bytes. When the PDCP discard timer configured by the network device is short, the 200OK message may not be successfully sent out after timeout. For this reason, after obtaining the 200OK message, the terminal device can start a longer PDCP discard timer. Since enough time is reserved after the 200OK message, the 200OK message can be successfully sent out before the timer times out.
[0036] As an optional implementation, after receiving the RRC message and before receiving the first INVITE message, the method may further include: consulting a preset relationship table to obtain a fifth duration corresponding to the IMS data radio bearer; determining that the fifth duration is greater than the fourth duration; and configuring the fifth duration as the PDCP discard timer duration corresponding to the IMS data radio bearer. As another optional implementation, after receiving the RRC message and before receiving the first INVITE message, the method may further include: consulting a preset relationship table to obtain a fifth duration corresponding to the IMS data radio bearer; determining that the fifth duration is less than or equal to the fourth duration; and configuring the fourth duration as the PDCP discard timer duration corresponding to the IMS data radio bearer.
[0037] Exemplarily, the fourth duration is 100 ms, and the fifth duration is 3000 ms or 4000 ms.
[0038] In the above scheme, after the terminal device receives the PDCP discard timer duration configured by the network device, it can first obtain the fifth duration corresponding to the IMS signaling by looking up the table, and then select a larger value from the PDCP discard timer duration configured by the network device and the duration obtained by looking up the table to define the PDCP discard timer corresponding to the IMS signaling. In this way, sufficient time is reserved for the IMS signaling (such as a 200OK message) so that it can be successfully sent out before the timer times out.
[0039] As an optional implementation, the RRC message may further include a sixth duration, which is the duration of the PDCP discard timer corresponding to the Internet data radio bearer, and the Internet data radio bearer is used to transmit Internet data. Accordingly, after receiving the RRC message, the method further includes:
[0040] Acquire a first TCP packet; starting from acquiring the first TCP packet, not sending the first TCP packet to the second terminal device within a seventh time period; starting from acquiring the first TCP packet, not sending the first TCP packet to the second terminal device after the seventh time period; wherein the seventh time period is different from the sixth time period;
[0041] Obtaining a second TCP packet; starting from obtaining the second TCP packet, sending the second TCP packet to the second terminal device within the seventh time period;
[0042] Obtaining a first UDP packet; starting from the acquisition of the first UDP packet, not sending the first UDP packet to the second terminal device within an eighth time period; starting from the acquisition of the first UDP packet, not sending the first UDP packet to the second terminal device after the eighth time period; wherein the eighth time period is less than the seventh time period;
[0043] Obtain a second UDP packet; starting from obtaining the second UDP packet, send the second UDP packet to the second terminal device within an eighth time period.
[0044] Exemplarily, the sixth duration is 1500 ms, the seventh duration is 1000 ms, and the eighth duration is 750 ms.
[0045] In the above scheme, the network device configures a duration for the wireless bearer of Internet data, which is applicable to all types of Internet data, and different types of Internet data have different requirements for the duration of the PDCP discard timer. The terminal device can start PDCP discard timers of different durations after obtaining TCP and UDP. Compared with TCP, UDP requires a shorter delay, so the duration of the PDCP discard timer started for UDP is shorter, and the duration of the PDCP discard timer started for TCP is longer, thereby meeting the requirements of TCP and UDP for the duration of the PDCP discard timer, thereby effectively improving the user's Internet experience.
[0046] As an optional implementation manner, after receiving the RRC message and before receiving the first INVITE message, the method may further include:
[0047] Refer to the preset relationship table to obtain the seventh duration corresponding to the TCP packet of the wireless bearer of the Internet access data and the eighth duration corresponding to the UDP packet of the wireless bearer of the Internet access data;
[0048] Determine that the seventh duration is less than the sixth duration, configure the seventh duration as the PDCP discard timer duration corresponding to the TCP packet of the Internet data radio bearer, and configure the eighth duration as the PDCP discard timer duration corresponding to the UDP packet of the Internet data radio bearer; or,
[0049] Determine that the seventh duration is greater than or equal to the sixth duration, configure the seventh duration as the PDCP discard timer duration corresponding to the TCP packet of the Internet data radio bearer, and configure the eighth duration as the PDCP discard timer duration corresponding to the UDP packet of the Internet data radio bearer; or,
[0050] Determine that the seventh duration is not equal to the sixth duration, configure the seventh duration as the PDCP discard timer duration corresponding to the TCP packet of the Internet data wireless bearer, and configure the eighth duration as the PDCP discard timer duration corresponding to the UDP packet of the Internet data wireless bearer.
[0051] In the above scheme, the PDCP discard timer duration corresponding to the Internet data wireless bearer configured by the network device may not be reasonable, so the terminal device can look up the table to obtain the durations pre-configured for TCP and UDP, and then determine whether to copy the PDCP discard timer duration corresponding to TCP by comparing the TCP duration with the network device configuration duration, while UDP can be directly configured according to the table lookup result. Regardless of which of the above configuration methods is used, since the terminal device configures the PDCP discard timer durations for TCP and UDP respectively, the different demands of TCP and UDP are met.
[0052] In a second aspect, the present application provides a method for adjusting the duration of a PDCP discard timer. The method includes:
[0053] An RRC message sent by a network device is received, the RRC message including a PDCP discard timer duration corresponding to a first DRB; based on a table lookup result of a quality of service identifier of the first DRB, a PDCP discard timer duration corresponding to the first DRB is configured. Specifically, for DRBs with different quality of service identifiers, different PDCP discard timer durations are configured; for different service types of the same DRB, different PDCP discard timer durations are configured; for different usage scenarios of the same service type of the same DRB, different PDCP discard timer durations are configured.
[0054] Exemplarily, the quality of service identifier of the first DRB is QCI, or 5QI.
[0055] In the above-mentioned scheme for dynamically adjusting the duration of the PDCP discard timer, when the PDCP discard timer duration configured by the network device received by the terminal device is too large or too small, the terminal device can configure different PDCP discard timer durations for DRBs of different QCI / 5QIs; configure different PDCP discard timer durations for different service types of the same DRB; and configure different PDCP discard timer durations for different usage scenarios of the same service type. By dynamically adjusting the duration of the PDCP discard timer, the terminal device can effectively meet the demands of various service types / usage scenarios.
[0056] As an optional implementation, the first DRB is one DRB.
[0057] As an optional implementation, the first DRB is a plurality of DRBs, wherein each of the plurality of DRBs corresponds to a PDCP discard timer duration.
[0058] In the above scheme, the specific number of QCI DRBs carried by an RRC reconfiguration message and the corresponding PDCP discard timer duration is determined by the network device. However, no matter how the network device is configured, the terminal device 1 can dynamically adjust the PDCP discard timer duration corresponding to the DRB of the QCI, that is, optimize the PDCP discard timer duration.
[0059] As an optional implementation method, the table lookup result based on the service quality identifier of the first DRB is a duration. Based on the table lookup result of the service quality identifier of the first DRB, the PDCP discard timer duration corresponding to the first DRB is configured, including: if a duration satisfies a first overwrite condition, the PDCP discard timer duration corresponding to the first DRB is overwritten according to a duration, and the overwritten PDCP discard timer duration is configured as the PDCP discard timer duration corresponding to the first DRB; or, if a duration does not satisfy the first overwrite condition, the PDCP discard timer duration from the network device is configured as the PDCP discard timer duration corresponding to the first DRB.
[0060] As an optional implementation method, the above-mentioned first replication condition includes any one of the following: the PDCP discard timer duration from the network device is not equal to a duration; the service quality identifier of the first DRB belongs to the first category, and a duration is greater than or equal to the PDCP discard timer duration from the network device; the service quality identifier of the first DRB belongs to the second category, and a duration is less than or equal to the PDCP discard timer duration from the network device; the PDCP discard timer duration corresponding to the first DRB is received from the network device; the PDCP discard timer duration corresponding to the first DRB is received from the network device, and the service quality identifier of the first DRB belongs to the third category.
[0061] As an optional implementation, the table lookup result based on the service quality identifier of the first DRB includes a first duration and a second duration, the first duration being the PDCP discard timer duration corresponding to the first service type of the first DRB, and the second duration being the PDCP discard timer duration corresponding to the second service type of the first DRB. Accordingly, based on the table lookup result of the service quality identifier of the first DRB, the PDCP discard timer duration corresponding to the first DRB is configured, including: if the first duration satisfies the second replication condition, the first duration is configured as the PDCP discard timer duration corresponding to the first service type, and the second duration is configured as the PDCP discard timer duration corresponding to the second service type; or, if the first duration does not satisfy the second replication condition, the PDCP discard timer duration from the network device is configured as the PDCP discard timer duration corresponding to the first service type, and the second duration is configured as the PDCP discard timer duration corresponding to the second service type.
[0062] As an optional implementation method, the above-mentioned second replication condition includes any one of the following: the PDCP discard timer duration from the network device is not equal to the first duration; the service quality identifier of the first DRB belongs to the first category, and the first duration is greater than or equal to the PDCP discard timer duration from the network device; the service quality identifier of the first DRB belongs to the second category, and the first duration is less than or equal to the PDCP discard timer duration from the network device; the PDCP discard timer duration corresponding to the first DRB is received from the network device; the PDCP discard timer duration corresponding to the first DRB is received from the network device, and the service quality identifier of the first DRB belongs to the third category.
[0063] As an optional implementation, the table lookup result based on the service quality identifier of the first DRB includes a third duration and a fourth duration, the third duration is the PDCP discard timer duration corresponding to the first usage scenario of the third service type, and the fourth duration is the PDCP discard timer duration corresponding to the second usage scenario of the third service type, and the third service type is any service type of the first DRB. Accordingly, based on the table lookup result of the service quality identifier of the first DRB, the PDCP discard timer duration corresponding to the first DRB is configured, including: if the third duration satisfies the third replication condition, the third duration is configured as the PDCP discard timer duration corresponding to the first usage scenario, and the fourth duration is configured as the PDCP discard timer duration corresponding to the second usage scenario; or, if the third duration does not satisfy the third replication condition, the PDCP discard timer duration from the network device is configured as the PDCP discard timer duration corresponding to the first usage scenario, and the fourth duration is configured as the PDCP discard timer duration corresponding to the second usage scenario.
[0064] As an optional implementation method, the above-mentioned third replication condition includes any one of the following: the PDCP discard timer duration from the network device is not equal to the third duration; the service quality identifier of the first DRB belongs to the first category, and the third duration is greater than or equal to the PDCP discard timer duration from the network device; the service quality identifier of the first DRB belongs to the second category, and the third duration is less than or equal to the PDCP discard timer duration from the network device; the PDCP discard timer duration corresponding to the first DRB is received from the network device; the PDCP discard timer duration corresponding to the first DRB is received from the network device, and the service quality identifier of the first DRB belongs to the third category.
[0065] In a third aspect, the present application provides a device, the device comprising a unit for executing the method in the first aspect or the second aspect. The device may correspond to executing the data transmission method described in the first aspect or the second aspect. For the relevant description of the unit in the device, please refer to the description of the first aspect or the second aspect, and for the sake of brevity, it will not be repeated here.
[0066] The method described in the first aspect or the second aspect may be implemented by hardware, or by hardware executing corresponding software. The hardware or software includes one or more modules or units corresponding to the above functions. For example, a processing module or unit, a display module or unit, etc.
[0067] In a fourth aspect, the present application provides a terminal device, the terminal device comprising a memory and one or more processors. The memory is used to store computer program code, and the computer program code comprises computer instructions. When the computer instructions are executed by the processor, the terminal device executes the data transmission method provided in any one of the first aspect or the second aspect.
[0068] In a fifth aspect, the present application provides a computer-readable storage medium. The computer-readable storage medium includes computer instructions. When the computer instructions are executed on a terminal device, the terminal device executes the data transmission method provided in any one of the first aspect or the second aspect.
[0069] In a sixth aspect, the present application provides a computer program product. When the computer program product is run on a computer, the computer is caused to execute the data transmission method provided in any one of the first aspect or the second aspect.
[0070] In a seventh aspect, the present application provides a chip system. The chip system includes one or more interface circuits and one or more processors. The interface circuit and the processor are interconnected by a line. The chip system can be applied to a terminal device including a communication module and a memory. The interface circuit is used to receive a signal from the memory of the terminal device and send the received signal to the processor, the signal including a computer instruction stored in the memory. When the processor executes the computer instruction, the terminal device can execute the data transmission method provided in any one of the first aspect or the second aspect.
[0071] It can be understood that the beneficial effects that can be achieved by the third aspect apparatus, the fourth aspect terminal device, the fifth aspect computer-readable storage medium, the sixth aspect computer program product and the seventh aspect chip system provided above can be referred to as the beneficial effects in any one of the first aspect or the second aspect, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0072] Figure 1A flowchart of a method for PDCP discarding data provided in an embodiment of the present application;
[0073] Figure 2 A schematic diagram comparing the VoLTE connection rate before and after the network device optimizes the PDCP discard timer duration of the QCI5 service for compatibility provided in an embodiment of the present application;
[0074] Figure 3 A schematic diagram of comparing the jitter and packet loss rate of PTP before and after the network device optimizes the PDCP discard timer duration of the QCI5 service for compatibility provided in an embodiment of the present application;
[0075] Figure 4 A schematic diagram of comparing the proportion of MOS values greater than or equal to 3.0 and the MOS average value before and after the network device optimizes the PDCP discard timer duration of the QCI5 service for compatibility provided in an embodiment of the present application;
[0076] Figure 5 An example flow chart of a scenario in which an unreasonable PDCP discard timer configured for a network device causes a service anomaly, provided in an embodiment of the present application;
[0077] Figure 6 A schematic diagram of a communication system provided in an embodiment of the present application;
[0078] Figure 7 A schematic diagram of the structure of a terminal device provided in an embodiment of the present application;
[0079] Figure 8 A flowchart of a method for dynamically adjusting the duration of a PDCP discard timer provided in an embodiment of the present application;
[0080] Fig. 9A One of the schematic diagrams for configuring the PDCP discard timer duration provided in an embodiment of the present application;
[0081] Fig. 9B The second schematic diagram of configuring the PDCP discard timer duration provided in an embodiment of the present application;
[0082] Fig. 10A A third schematic diagram of configuring the duration of the PDCP discard timer provided in an embodiment of the present application;
[0083] Fig. 10B A fourth schematic diagram of configuring the duration of the PDCP discard timer provided in an embodiment of the present application;
[0084] Fig.11A A fifth schematic diagram of configuring the duration of the PDCP discard timer provided in an embodiment of the present application;
[0085] Fig. 11B Schematic diagram 6 of configuring the PDCP discard timer duration provided in an embodiment of the present application;
[0086] Fig. 12A Schematic diagram 7 of configuring the PDCP discard timer duration provided in an embodiment of the present application;
[0087] Fig. 12B Schematic diagram eight of configuring the PDCP discard timer duration provided in an embodiment of the present application;
[0088] Fig.13A A ninth schematic diagram of configuring the duration of the PDCP discard timer provided in an embodiment of the present application;
[0089] Fig. 13B A tenth schematic diagram of configuring the duration of the PDCP discard timer provided in an embodiment of the present application;
[0090] Fig.14 A flowchart of another method for dynamically adjusting the duration of a PDCP discard timer provided in an embodiment of the present application;
[0091] Fig.15 A flowchart of transmitting data in a VoLTE voice service scenario provided in an embodiment of the present application;
[0092] Fig.16 A flowchart of transmitting data in an Internet access scenario provided by an embodiment of the present application;
[0093] Fig.17 A schematic diagram of the hardware structure of a communication device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0094] In order to make the purpose, technical solutions and advantages of the embodiments of the present application clearer, the technical solutions in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments.
[0095] In the description of this application, unless otherwise specified, " / " means or, for example, A / B can mean A or B. In the description of this application, "and / or" is only a way to describe the association relationship of associated objects, indicating that there can be three relationships, for example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone.
[0096] The terms "first" and "second" in the specification and claims of this application are used to distinguish different objects, or to distinguish different treatments of the same object, rather than to describe a specific order of objects. For example, the first duration and the second duration are used to distinguish different durations, rather than to describe a specific order of durations. In the embodiments of this application, "plurality" refers to two or more.
[0097] References to "one embodiment" or "some embodiments" etc. described in the specification of this application mean that one or more embodiments of the present application include specific features, structures or characteristics described in conjunction with the embodiment. Therefore, the statements "in one embodiment", "in some embodiments", "in some other embodiments", "in some other embodiments", etc. that appear in different places in this specification do not necessarily refer to the same embodiment, but mean "one or more but not all embodiments", unless otherwise specifically emphasized in other ways. The terms "including", "comprising", "having" and their variations all mean "including but not limited to", unless otherwise specifically emphasized in other ways.
[0098] To facilitate understanding of the embodiments of the present application, the PDCP discard timer is explained below.
[0099] Layer 2 (L2) of the modem processor is the PDCP layer, the radio link control (RLC) layer, and the media access control (MAC) layer from top to bottom. Each data packet is cached in the form of a queue. When a channel resource is allocated for a data packet, the data packet is sent out through the PDCP layer, RLC layer, and MAC layer in sequence.
[0100] In order to prevent buffer overflow, the relevant protocol proposes a discard mechanism: whenever the PDCP layer receives a new data packet, the discard timer corresponding to this data packet is started. Through the discard timer, it is monitored whether a data packet can be submitted from the PDCP layer to the RLC layer, and then to the MAC layer within the set time, until it is finally sent out. If a data packet is not sent out within the set time, the data packet is cleared from the transmission queue, that is, the data packet is discarded to avoid the data packet occupying too much channel resources.
[0101] Usually, the PDCP entity has only one timer: the PDCP discard timer. The PDCP timer determines the maximum time that the PDCP SDU is allowed to remain in the PDCP layer. Whenever the PDCP layer receives a new PDCP SDU, the PDCP layer starts a PDCP discard timer for each PDCP SDU. If the PDCP discard timer times out, or the PDCP status report indicates that the PDCP SDU has been successfully sent, the PDCP layer discards the PDCP SDU and the PDCP PDU associated with the PDCP SDU. In some cases, if the PDCP SDU has been submitted to the lower layer, the PDCP layer sends a message to the lower layer indicating the discard of the PDCP PDU.
[0102] Currently, both network devices and terminal devices are configured with PDCP discard timers. The duration of the PDCP discard timer is generally a fixed value configured by the manufacturer before the base station leaves the factory. The network device can specify the duration of the PDCP discard timer to the terminal device through the RRC reconfiguration message. According to the protocol, the terminal device needs to follow the network device configuration to define the maximum buffering duration of the data packet at the PDCP layer.
[0103] For example, Figure 1 A schematic diagram of a method for PDCP to discard data is shown. Figure 1 As shown, the method may include the following S101-S103.
[0104] S101. The network device sends an RRC reconfiguration message to the terminal device.
[0105] The network device may send an RRC reconfiguration message to the RRC layer of the terminal device. The RRC reconfiguration message carries the PDCP discard timer duration of a data radio bearer (DRB). The PDCP discard timer duration of the DRB may be a fixed value configured before the base station leaves the factory. For example, the PDCP discard timer duration may be 50ms, 100ms, 150ms, 300ms, 500ms, 750ms, 1500ms or infinity as specified by the protocol.
[0106] S102: After acquiring a data packet corresponding to the DRB, the terminal device starts a PDCP discard timer (ie, starts timing). The encapsulation format of the data packet is PDCP SDU.
[0107] It should be noted that the data transmitted from the upper layer (such as TCP / UDP / IP layer) to the PDCP layer and not yet processed by the PDCP layer is called PDCP SDU. The data transmitted to the next layer (such as RLC layer) after being processed in a specific format by the PDCP layer is called PDCP PDU.
[0108] After the RRC layer of the terminal device obtains the PDCP discard timer length corresponding to a DRB from the RRC reconfiguration message, the RRC layer of the terminal device sends the PDCP discard timer length to the PDCP layer of the terminal device. Accordingly, the PDCP layer of the terminal device saves the PDCP discard timer length. When the terminal device obtains a PDCP SDU corresponding to the DRB based on TCP / UDP / IP protocol encapsulation, it sends the PDCP SDU to the PDCP layer of the terminal device. The PDCP layer of the terminal device receives the PDCP SDU and starts the PDCP discard timer corresponding to the DRB, that is, the PDCP discard timer starts timing.
[0109] S103: If the data packet is sent successfully, or the PDCP discard timer times out, the data packet is cleared from the transmission queue, that is, the data packet is discarded, and the PDCP discard timer is stopped (that is, the timing is stopped).
[0110] Here, "PDCP discard timer timeout" means that the timing duration of the PDCP discard timer reaches the PDCP discard timer duration configured by the network device for the DRB.
[0111] In some embodiments, after the PDCP discard timer is started and the PDCP discard timer has not yet expired, if the PDCP layer of the terminal device obtains an event notification that a data packet has been sent successfully, the PDCP layer clears the data packet from the transmission queue and stops the PDCP discard timer.
[0112] In other embodiments, if the PDCP layer of the terminal device receives a timeout notification of a timer, the PDCP layer clears the data packet from the transmission queue and stops the PDCP discard timer.
[0113] Exemplarily, if the PDCP discard timer times out, the PDCP layer of the terminal device detects whether the PDCP PDU associated with the PDCP SDU has been submitted to the lower layer (such as the RLC layer and the MAC layer, etc.). If the PDCP PDU associated with the PDCP SDU has not been submitted to the lower layer, the PDCP layer of the terminal device discards the PDCP SDU and the PDCP PDU associated with the PDCP SDU. If the PDCP PDU associated with the PDCP SDU has been submitted to the lower layer, the terminal device sends a message to the lower layer indicating the discard of the PDCP PDU.
[0114] It should be noted that Figure 1 The explanation is given by taking the example of the PDCP layer sending a message to the RLC layer indicating the discard of the PDCP PDU, which does not limit the present application. In actual implementation, if the PDCP PDU has been transferred to the MAC layer, the PDCP layer sends a message to the MAC layer indicating the discard of the PDCP PDU.
[0115] However, it may not be reasonable to use the fixed value configured before the base station leaves the factory as the PDCP discard timer duration. In order to solve the problem of service anomalies caused by unreasonable PDCP discard timer duration, the relevant technology proposes a solution for the network device to optimize and compatibly adjust the PDCP discard timer duration.
[0116] For example, taking a call scenario based on an IP multimedia subsystem (IMS) as an example, Figure 2-Figure 4 The diagram shows a comparison of various parameters before and after the network device optimizes and makes compatible the duration of the PDCP discard timer corresponding to the DRB of QCI5 (ie, QCI=5).
[0117] like Figure 2 As shown in the figure, before modifying the PDCP discard timer, the PDCP discard timer was 300ms (milliseconds), and the connection rate of voice over long-term evolution (VoLTE) was 92.18%. After modifying the PDCP discard timer, the PDCP discard timer was infinite, and the connection rate of VoLTE was 96.68%. It can be seen that after modifying the PDCP discard timer from 300ms to infinity, the connection rate of VoLTE has been significantly improved.
[0118] like Figure 3 As shown in FIG. 1 , when the PDCP discard timer duration increases gradually, the jitter of the real time protocol (PTP) first decreases and then increases, and the packet loss rate of PTP decreases slightly. When the PDCP discard timer duration is set to 300ms, the jitter value of PTP is the smallest.
[0119] like Figure 4 As shown in the figure, when the PDCP discard timer duration gradually increases, the proportion of mean opinions core (MOS) values greater than or equal to 3.0 first increases and then decreases, and the average MOS value of VoLTE first increases and then decreases. When the PDCP discard timer duration is set to 300ms, the proportion of MOS values greater than or equal to 3.0 is the highest, and the average MOS value of VoLTE is the highest.
[0120] With reference to the description of the above embodiment, it can be known that when the duration of the PDCP discard timer is adjusted, the VoLTE connection rate, PTP jitter, PTP packet loss rate, MOS value and VoLTE MOS average value will also be adjusted accordingly.
[0121] However, affected by various factors such as the type of service, the number of users using the service, the location where the service is used, and the time when the service is used, the length of the PDCP discard timer after the network equipment is reconfigured may not be reasonable. Let's take the IMS-based call scenario as an example. When the PDCP discard timer specified in the RRC reconfiguration message is too small, the data packet may be discarded quickly, making it impossible for the receiving end to receive the complete data packet. For another example, when the PDCP discard timer specified in the RRC reconfiguration message is too long, call delays and freezes may occur, and the receiving end may have to wait for a long time to receive the voice data packet. In addition, the channel resources occupied by the data packet cannot be released, which will affect the normal transmission of other data packets.
[0122] The following takes QCI5 service as an example. Figure 5 , provides an example scenario in which a service abnormality occurs due to an unreasonable length of the PDCP discard timer configured on a network device.
[0123] This scenario example may include a network device, a terminal device 1, and a terminal device 2. The network device may include a base station and a remote device, the terminal device 1 is a called device, and the terminal device 2 is a calling device. The terminal device 1 is provided with an application processor (application processor, AP) and a modem processor connected to the AP. The modem processor is divided into a session initialization protocol (session initialization protocol, SIP) layer, a transmission control protocol (transmission control protocol, TCP) layer, a user datagram protocol (user datagram protocol, UDP) layer, an Internet protocol (internet protocol, IP) layer, an RRC layer, and a PDCP layer. It should be understood that the terminal device 2 has a similar structural setting to the terminal device 1, which will not be repeated here.
[0124] like Figure 5 As shown, the scenario example may include the following S201-S211.
[0125] S201, the network device sends an RRC reconfiguration message to terminal device 1 and terminal device 2, where the RRC reconfiguration message includes the PDCP discard timer duration of the DRB of the IMS signaling.
[0126] Specifically, the network device may send an RRC reconfiguration message to the RRC layer of the terminal device 1 and the terminal device 2. The RRC reconfiguration message is an instruction sent during the RRC reconfiguration process. The purpose of RRC reconfiguration is to modify the RRC connection, such as establishing, modifying or releasing a radio bearer (RB), performing synchronous reconfiguration, setting, modifying or releasing measurements, adding, modifying or releasing a secondary cell (SCell), adding, modifying or releasing a conditional switching configuration, adding, modifying or releasing a primary serving cell (PCell), etc.
[0127] When the RRC reconfiguration start conditions are met, the network device initiates the RRC reconfiguration process for the terminal device in the RRC-CONNECTED state. The network device sends an RRC reconfiguration message (RRCReconfiguration) to the terminal device, and the RRC reconfiguration message includes: the PDCP discard timer duration of the DRB of the IMS signaling. When the terminal device completes the reconfiguration content, it replies to the network device with a response message (RRCReconfigurationComplete).
[0128] Exemplarily, the above RRC reconfiguration start condition may be any one of the following: detection of a radio link failure of a master cell group (MCG); detection of a radio link failure of an MCG when transmission of a secondary cell group (SCG) is suspended; detection of a radio link failure of an MCG while changing the primary secondary cell (PSCell) of the secondary cell group; receipt of an integrity check failure indication from the lower layer regarding a signaling radio bearer (SRB); RRC connection reconfiguration failure; MCG transmission is suspended due to synchronization failure of the SCG during reconfiguration; SCG change failure while suspending MCG transmission. Of course, there may be other possible RRC reconfiguration start conditions, which will not be described in detail here.
[0129] Table 1 shows the parameters specified by the protocol and set by a certain base station for different quality of service class identifier (QCI) services. Taking QCI5 service as an example, as shown in Table 1, the PDCP packet discard timer specified by the protocol is infinite, and the PDCP packet discard timer specified by a certain base station is 100ms. That is, the PDCP discard timer configured by the network device for the default bearer is 100ms.
[0130] Table 1
[0131]
[0132] S202, terminal device 2 sends a first INVITE message to terminal device 1 through the network device. In response to the first INVITE message, terminal device 1 rings and sends a 180Ringing message to terminal device 2 through the network device. Terminal device 2 starts playing the ringback tone.
[0133] Exemplarily, the session signaling process of the IMS user corresponding to the above S202 is as follows:
[0134] Terminal device 2 sends a first INVITE message to the network device.
[0135] The network device immediately sends a 100Trying response message to terminal device 2 to stop retransmission of the first INVITE message.
[0136] The network device searches for the address of the terminal device 1 in the location server, and after obtaining the address, forwards the first INVITE message to the terminal device 1 .
[0137] The network device sends a 183Trying message to terminal device 2 to indicate the progress of the session.
[0138] Terminal device 2 sends a confirmation (PRACK) message to the network device.
[0139] The network device sends an ACK response message to terminal device 2 to confirm the PRACK request.
[0140] The terminal device 2 sends an Update request to the network device to request an update of information such as the capabilities of the terminal device 2.
[0141] The network device sends an ACK response message to terminal device 2 to confirm the Update request.
[0142] Terminal device 1 rings and sends a 180Ringing message to terminal device 2.
[0143] Terminal device 2 starts playing the color ring tone, ie, the ring back tone.
[0144] S203, in response to the user's answering operation, the terminal device 1 sends a 200OK message in response to the first INVITE message to the network device.
[0145] Specifically, the AP of terminal device 1 receives the user's answering operation. In response to the answering operation, the AP of terminal device 1 sends an answering notification to the SIP layer of terminal device 1. The SIP layer of terminal device 1 sends a 200OK message in response to the first INVITE message to the network device.
[0146] S204, the network device returns an acknowledgment (ACK) message in response to the 200OK message to the terminal device.
[0147] Specifically, the network device may return an ACK message in response to the 200OK message to the SIP layer of the terminal device 1 .
[0148] S205, the network device sends a second INVITE message to terminal device 1.
[0149] Specifically, the network device may send a second INVITE message to the SIP layer of the terminal device 1. The second INVITE message may also be called a Reinvite message, and the Reinvite message is a message resent in response to the first INVITE message.
[0150] Assume that when terminal device 1 receives the first INVITE message, the call ID of the first INVITE message is 255, which is invalid. The terminal device can reassign the call ID to 281. When sending the second INVITE message subsequently, the call ID of the second INVITE message is 281.
[0151] It should be noted that, different from the first INVITE message, the second INVITE message further includes a tag, and the first INVITE message and the second INVITE message can be distinguished by using the tag.
[0152] Exemplarily, a code segment of the second INVITE message is as follows:
[0153] "To:tel:**********3612; transport=udp; tag=1703227949".
[0154] Here, “To” indicates the called device, that is, terminal device 1.
[0155] “tag=1703227949” is the tag carried by the second INVITE message.
[0156] S206, terminal device 1 sends a 100Trying message in response to the second INVITE message to the network device.
[0157] Specifically, the SIP layer of the terminal device 1 sends a 100Trying message in response to the second INVITE message to the network device.
[0158] S207, terminal device 1 sends a 200OK message in response to the second INVITE message to the network device, and starts the PDCP discard timer (ie, starts timing). After the PDCP discard timer times out, terminal device 1 discards the 200OK message and stops the PDCP discard timer (ie, stops timing).
[0159] The 200OK message for the second INVITE message is a UDP packet.
[0160] Specifically, the SIP layer of terminal device 1 sends a 200OK message to the TCP / UDP / IP layer of terminal device 1. The TCP / UDP / IP layer of terminal device 1 determines whether the length of the 200OK message is greater than or equal to the fragmentation threshold. If the length of the 200OK message is greater than or equal to the fragmentation threshold, the TCP / UDP / IP layer of terminal device 1 splits the 200OK message into two data packets and sends the two data packets to the PDCP layer of terminal device 1.
[0161] Compared with voice packets, IMS signaling is usually longer. For example, the length of the 200OK message in response to the second INVITE message may exceed 1500 bytes. According to the chip settings, the fragmentation threshold of the 200OK message in response to the second INVITE message is 1280 bytes or 1232 bytes. Therefore, the 200OK message in response to the second INVITE message needs to be divided into two data packets for transmission. For example, the length of the first data packet of the 200OK message in response to the second INVITE message is 1280 bytes, and the length of the second data packet of the 200OK message for the second INVITE message is x bytes. That is, the length of the 200OK message for the second INVITE message is (1280+x) bytes.
[0162] After the TCP / UDP / IP layer of terminal device 1 splits the 200OK message in response to the second INVITE message into two data packets, the TCP / UDP / IP layer of terminal device 1 first sends the first data packet of the 200OK message in response to the second INVITE message to the PDCP layer, and then sends the second data packet of the 200OK message in response to the second INVITE message to the PDCP layer. It should be noted that since the time interval between sending the first data packet and the second data packet is short, it can be regarded as sending two data packets to the PDCP layer at the same time.
[0163] Exemplarily, part of the code of the 200OK message for the second INVITE message is as follows:
[0164] [2IPv6 Fragments(1540Bytes): #1533(1280), #1534(260)];
[0165] [Frame: 1533, payload: 0-1279 (1280Bytes)];
[0166] [Frame: 1534, payload: 1280-1539 (260Bytes)].
[0167] That is, a 200OK message with a length of 1540 bytes is split into two parts: one is a first data packet with a sequence number of #1533 and a size of 1280 bytes; the other is a second data packet with a sequence number of #1534 and a size of 260 bytes.
[0168] The PDCP layer of terminal device 1 first receives the first data packet of the 200OK message, adds the sequence number PDCP SN#n to the first data packet, and starts the PDCP discard timer 1 corresponding to PDCP SN#n, i.e., starts timing; then receives the second data packet of the 200OK message, adds the sequence number PDCP SN#n+1 to the second data packet, and starts the PDCP discard timer 2 corresponding to PDCP SN#n+1, i.e., starts timing. After adding sequence numbers to the two data packets respectively, PDCP SN#n and PDCP SN#n+1 wait for the network to schedule and send them out. Among them, the duration of PDCP discard timer 1 and the duration of PDCP discard timer 2 are both 100ms configured by the network device. n is a positive integer.
[0169] After scheduling resources for PDCP SN#n, the PDCP layer of terminal device 1 starts to send the first data packet to the network device. Specifically, in the case of network congestion, the first data packet sent is fragmented into dozens or even hundreds of data packets and sent in sequence, which may cause the transmission time of the first data packet to exceed 100ms. Since the TCP / UDP / IP layer of terminal device 1 sends two data packets to the PDCP layer almost simultaneously, the time interval between the first data packet and the second data packet received by the PDCP layer of terminal device 1 is short, for example, the difference is 1ms. After the PDCP layer of terminal device 1 receives each data packet, it will immediately mark the PDCP SN and start the timer corresponding to this data packet. In the case of network congestion, if the transmission time of PDCP SN#n exceeds 100ms, the PDCP discard timer 2 of PDCP SN#n+1 will also time out.
[0170] It should be noted that Figure 5 The example of the PDCP layer of terminal device 1 sending the first data packet to the network device is used for explanation. In actual implementation, PDCP SN#n first reaches the base station, the base station parses the original data of the first data packet, and then the base station sends the first data packet to the remote device based on the wired transmission mode. The first data packet has no SN.
[0171] S208, the network device receives the first data packet, and discards the received first data packet after timeout.
[0172] A timer can be started after the network device receives the first data packet. Since the terminal device 1 will discard the second data packet after the PDCP discard timer times out, the network device still cannot receive the second data packet after the timer times out. At this time, the network device discards the first data packet that has been received. Since the network device cannot receive a complete 200OK message, it will not return a response message to the terminal device 1 in response to the 200OK message.
[0173] It should be noted that, since IMS signaling is usually transmitted using UDP, and UDP does not support notifying the network device to transmit only the second data packet, after the PDCP discard timer 2 of PDCP SN#n+1 times out, the terminal device 1 will start the retransmission mechanism shown in S209-S211 below.
[0174] Exemplarily, in the retransmission mechanism, the timeout retransmission intervals are 2S (seconds), 4S, 8S, ... in sequence.
[0175] S209, after waiting for the timeout retransmission interval of 2S, the terminal device 1 resends the 200OK message in response to the second INVITE message to the network device, and starts the PDCP discard timer (i.e., starts timing). After the PDCP discard timer times out, the terminal device 1 discards the 200OK message and stops the PDCP discard timer (i.e., stops timing).
[0176] Specifically, after waiting for the timeout retransmission interval of 2S, the SIP layer of terminal device 1 re-sends the 200OK message for the second INVITE message to the TCP / UDP / IP layer of terminal device 1. The TCP / UDP / IP layer of terminal device 1 determines whether the length of the 200OK message is greater than or equal to the fragmentation threshold. If the length of the 200OK message is greater than or equal to the fragmentation threshold, the TCP / UDP / IP layer of terminal device 1 splits the 200OK message into two data packets and sends the two data packets to the PDCP layer of terminal device 1. The PDCP layer of terminal device 1 first receives the first data packet of the 200OK message, adds the sequence number PDCP SN#m to the first data packet, and starts the PDCP discard timer 1 corresponding to PDCP SN#m; then receives the second data packet of the 200OK message, adds the sequence number PDCP SN#m+1 to the second data packet, and starts the PDCP discard timer 2 corresponding to PDCP SN#m+1. After adding sequence numbers to the two data packets respectively, PDCP SN#m and PDCP SN#m+1 wait for network scheduling to be sent out.
[0177] After scheduling resources for PDCP SN#m, the PDCP layer of terminal device 1 starts to send the first data packet to the network device. If PDCP SN#m is not sent out within 100ms, the timing duration of PDCP discard timer 2 for PDCP SN#m+1 expires, and the PDCP layer of terminal device 1 discards the second data packet.
[0178] S210, the network device receives a first data packet, and discards the received first data packet after a timeout.
[0179] S211, after the second failure in sending the 200OK message, the terminal device 1 waits for a timeout retransmission interval of 4S, and then resends a 200OK message in response to the second INVITE message to the network device, that is, executes the next retransmission process.
[0180] Although the PDCP layer starts a retransmission mechanism after the PDCP discard timer 2 times out and discards the second data packet, only the first data packet can be sent out, and the second data packet still cannot be sent out.
[0181] It can be seen that when the PDCP discard timer configured by the network device is 100ms, if the terminal device sets the cache time of the data packet at the PDCP layer according to the configuration of the network device, but the network is congested, then the second half of the 200OK message in response to the second INVITE message will be discarded due to the expiration of the PDCP discard timer, resulting in a single-channel problem after the call is answered, thereby reducing the user experience.
[0182] Among them, a single-call after answering a call means that after the user using the called device (such as terminal device 1) answers the call, the called device displays an answering screen, and the user using the called device thinks that the call is successfully connected. However, the calling device (such as terminal device 2) still displays a waiting screen because it has not received the second half of the 200OK message in response to the second INVITE message, and the user using the calling device thinks that the call has not been connected. It should be noted that when a single-call after answering a call occurs, since the calling device and the called device have established a connection, the network device may send the sound collected by the calling device to the called device, or may send the sound collected by the called device to the calling device. Usually, before the called device successfully sends the 200OK message in response to the second INVITE message to the calling device, the network device decides whether to send the sound collected at one end to the other end. As a relatively common scenario, when a call is one-way, the calling device cannot receive the sound collected by the called device, but the called device can hear the sound collected by the calling device, that is, the user using the calling device cannot hear the sound of the other end, and the user using the called device can hear the sound of the other end.
[0183] In view of the above problems, an embodiment of the present application provides a solution for dynamically adjusting the duration of the PDCP discard timer. When the terminal device receives an unreasonable PDCP discard timer duration configured by the network device, the terminal device can look up the table through the QCI / 5QI and overwrite the PDCP discard timer duration in any of the following ways: configure different PDCP discard timer durations for DRBs with different QCI / 5QIs; configure different PDCP discard timer durations for different service types of the same DRB; configure different PDCP discard timer durations for different usage scenarios of the same service type. By dynamically adjusting the PDCP discard timer duration, the terminal device can effectively meet the demands of various service types / usage scenarios and improve the user experience.
[0184] The following describes a solution for dynamically adjusting the duration of a PDCP discard timer provided in an embodiment of the present application.
[0185] The solution for dynamically adjusting the duration of the PDCP discard timer provided in the embodiment of the present application can be applied to Figure 6The communication system shown may be a cellular communication system, a universal mobile telecommunication system terrestrial radio access network (UTRAN) system, an evolved universal mobile telecommunications system (UMTS) terrestrial radio access network (E-UTRAN) system, a long term evolution (LTE) system, etc. It may also be a new radio (NR) system, or other mobile communication systems, such as future mobile communication systems, etc., which are not limited in the embodiments of the present application.
[0186] like Figure 6 As shown, the communication system 00 includes a terminal device 01, an access network 02, a core network 03 and a service platform 04.
[0187] The terminal device 01 is a device with wireless transceiver function. The terminal device 01 can be a mobile terminal device or a non-mobile terminal device. For example, the terminal device 01 can be a user equipment (UE), a user unit, a user station, a mobile station, a mobile station, a remote station, a remote terminal, a mobile device, a terminal, an access terminal, a user terminal, a wireless communication device, a user agent or a user device. Among them, the access terminal can be a cellular phone, a cordless phone, a session initiation protocol (SIP) phone, a wireless local loop (WLL), a personal digital assistant (PAD), a handheld device with wireless communication function, a computer device or other processing equipment connected to a wireless modem, a vehicle-mounted device, a wearable device, a terminal device in a future-evolved public land mobile network (PLMN), etc.
[0188] The access network 02 refers to the network between the core network 03 and the terminal device 01. The access network 02 consists of a series of transmission entities (such as Figure 6 The base station (021) shown in the figure is composed of an implementation system that provides the required transmission bearer capacity for providing telecommunication services and can be configured and managed via a management interface (Q3).
[0189] The functions of the core network 03 are mainly to provide user connection, user management and service bearing, and to provide an interface to the external network as a bearer network. The core network 03 may include an IMS system. The IMS system is a multimedia control / call platform on a packet switch (PS) domain. IMS enables the PS domain to have some functions of the circuit switch (CS) domain, and supports session-type and non-session-type multimedia services. The types of IP media services supported by the IMS system can be divided into: information services, multimedia call voice services, enhanced call management, group services, information sharing and online entertainment, etc. Usually, under the premise that the SIM card is successfully registered with the IMS system, the IMS system can provide the SIM card with call services / call voice services, etc. The core network elements of the IMS system include a proxy-call session control function (P-CSCF), an interrogation-call session control function (I-CSCF), and a serving-call session control function (S-CSCF). Among them, P-CSCF is the first connection point with the terminal device in the IMS system, providing proxy functions, that is, accepting and forwarding service requests. I-CSCF is similar to the gateway node of the IMS system, responsible for allocating S-CSCF, routing query and IMS inter-domain topology hiding, etc. S-CSCF is in the core control position in the IMS system, responsible for registration and authentication of terminal devices, conference control and user data management, etc. It should be understood that the core network 03 can also include other functional entities, such as mobility management entity (mobility management entity, MME) multimedia resource function (multimediaresource function, MRF), home subscriber server (home subscriber server, HSS), media gateway control function (media Gateway Control Function, MGCF), IMS media gateway (IMS MGW) and signaling gateway (signaling gateway, SGW), etc.
[0190] Business Platform 04 is an intermediate layer between business logic applications and the infrastructure platform, solving the interaction and management issues between the business description of application software and the operating system platform and software infrastructure platform.
[0191] In an embodiment of the present application, the terminal device 01, the access network 02, the core network 03 and the service platform 04 can perform data transmission through air interface (radio) resources, and the air interface resources may include at least one of time domain resources, frequency domain resources and code domain resources.
[0192] It should be noted that the embodiments of this application Figure 6 Each device in the embodiment of the present application may be implemented by a device or a functional module in a device, and the present application embodiment does not specifically limit this. It is understandable that the above functions can be network elements in hardware devices, software functions running on dedicated hardware, virtualization functions instantiated on the platform, or chip systems. In the embodiment of the present application, the chip system can be composed of chips, or it can include chips and other discrete devices.
[0193] For example, Figure 7 A schematic diagram of the structure of a terminal device is shown. For example, the terminal device may be Figure 6 The terminal device 01 in the communication system shown. Figure 7 As shown, the terminal device may include an AP, a modem processor connected to the AP, a wireless fidelity (Wi-Fi) module connected to the modem processor, a video processor, an audio processor, and the like.
[0194] AP adopts a layered architecture, and each layer has a clear role and division of labor. The layers communicate with each other through software interfaces. Taking the layered architecture of the Android system as an example, from top to bottom, they are: application layer, framework layer and hardware abstraction layer. Among them, the application layer can include a series of application packages, such as dialer applications, telephony applications, telecomm applications and incall UI applications. When these application packages are running, they can access the various service modules provided by the application framework layer through the application programming interface (API) and execute corresponding intelligent services. The framework layer (framework, FW) is used to support the operation of various applications in the application layer. For example, the framework layer can include a telephony framework module (telephony) and a telecom fw framework module (telecom fw), wherein the telephony framework module (telephony) can include RIL.java, i.e. RILJ. The hardware abstraction layer (HAL) is an interface layer located between the operating system kernel and the hardware circuit. Its purpose is to abstract the hardware. In order to protect the intellectual property rights of hardware manufacturers, it hides the hardware interface details of a specific platform. For example, the hardware abstraction layer may include a radio interface layer module (RILD), which is a bridge between the modem processor and the Android system.
[0195] The modem processor includes: SIP layer, real-time transport protocol (RTP) layer, TCP layer, UDP layer, IP layer, RRC layer, PDCP layer, RLC layer, MAC layer and physical layer, etc.
[0196] The Wi-Fi module is as follows Figure 7 VOWIFI shown. With VOWIF, users can make and receive voice or video calls while using mobile Internet using Wi-Fi access.
[0197] Video processors include VTlib, codecs, cameras, etc.
[0198] The audio processor includes a receiver, a speaker, a codec, and an analog-to-digital conversion module. During a voice call, the audio processor processes the collected audio data to obtain voice frames and silent frames. Among them, a voice frame refers to a frame containing a valid voice signal in the voice data, such as the data collected when the user is speaking is a voice frame; a silent frame refers to a frame containing an invalid voice signal in the voice data, such as the data collected when the user is not speaking is a silent frame.
[0199] Understandably, Figure 7 The illustrated structure does not constitute a specific limitation on the terminal device. In other embodiments, the terminal device may include more or fewer components than shown in the figure, or combine some components, or split some components, or arrange the components differently. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.
[0200] Figure 8 A schematic diagram of a method for dynamically adjusting the duration of a PDCP discard timer is shown. The execution subject of the method may be as follows Figure 6 He Ru Figure 7 The terminal device shown, or one or more functional modules in the terminal device.
[0201] like Figure 8 As shown, the method may include the following S301-S307.
[0202] S301. The terminal device receives an RRC reconfiguration message sent by a network device, where the RRC reconfiguration message includes the duration of a PDCP discard timer corresponding to a DRB of a first QI (referred to as the first DRB for short).
[0203] The first QI is QCI or 5G QoS identifier (5G QoS identifier, 5QI). QCI is an LTE PDN connection parameter, and 5QI is an NR PDU session parameter. Different QCI / 5QI values represent different bearer types.
[0204] For LTE, a DRB of a QCI is used to indicate a type of service. For example, Table 2 shows the service types indicated by DRBs of different QCIs. The service type indicated by the DRB of each QCI is fixed.
[0205] Table 2
[0206]
[0207] For NR, a 5QI DRB is used to indicate a type of service. For example, Table 3 shows the service types indicated by DRBs of different 5QIs. The service type indicated by each 5QI DRB is fixed.
[0208] Table 3
[0209]
[0210] According to the description of the above embodiment, whether it is LTE or NR, DRBs of different QCI / 5QI are used to carry different service types. The network device can configure the PDCP discard timer duration for each DRB of QCI / 5QI according to the characteristics of the service type.
[0211] As an implementation method, the RRC reconfiguration message may include the PDCP discard timer duration corresponding to a DRB of a QCI / 5QI, that is, the first QI is any QCI / 5QI in Table 2 or Table 3. The first DRB is used to transmit data of the service type indicated by the first QI.
[0212] Take Table 2 as an example. The RRC reconfiguration message may include the PDCP discard timer duration corresponding to the DRB with QCI = 1. The DRB with QCI = 1 may be used to transmit voice service data, and the network device may configure the PDCP discard timer duration corresponding to the voice service data to be infinite.
[0213] As another implementation, the RRC reconfiguration message may include a PDCP discard timer duration corresponding to a DRB of multiple QCI / 5QIs, that is, the first QI includes multiple QCI / 5QIs in Table 2 or Table 3. Each DRB in the first DRB corresponds to a PDCP discard timer duration. Each DRB is used to transmit data of a service type indicated by a QCI / 5QI.
[0214] Take Table 2 as an example. The RRC reconfiguration message may include the PDCP discard timer durations corresponding to DRB1 with QCI=1, DRB2 with QCI=2, DRB3 with QCI=9, and DRB4 with QCI=5. Among them, DRB1 with QCI=1 is used to transmit voice service data, and the network device can configure the PDCP discard timer duration corresponding to the voice service data to infinity; DRB2 with QCI=2 is used to transmit video service data, and the network device can configure the PDCP discard timer duration corresponding to the video service data to infinity; DRB3 with QCI=9 is used to transmit Internet access data, and the network device can configure the PDCP discard timer duration corresponding to the Internet access data to 3000ms; DRB4 with QCI=5 is used for IMS signaling, and the network device can configure the PDCP discard timer duration corresponding to the IMS signaling to 100ms.
[0215] It should be noted that whether the RRC reconfiguration message includes the PDCP discard timer length corresponding to a DRB of one QCI / 5QI, or includes the PDCP discard timer length corresponding to DRBs of multiple QCI / 5QIs, is determined by the network device.
[0216] In combination with the description of the above embodiments, affected by various factors such as the service type, the number of users using the service, the location where the service is used and the time when the service is used, the PDCP discard timer configured by the network device may be too large or too small. Therefore, the embodiment of the present application provides a solution for optimizing the compatibility of the PDCP discard timer by the terminal device, that is, executing the following S302-S307.
[0217] S302. The terminal device compares the PDCP discard timer duration corresponding to the first QI in the correspondence table with the PDCP discard timer duration configured by the network device.
[0218] The terminal device can locally store a correspondence table between each QCI and the PDCP discard timer length, as well as a correspondence table between 5QI and the PDCP discard timer length. The correspondence table is pre-stored before the terminal device leaves the factory, or it can be obtained from the server during use by the terminal device. Whenever the terminal device receives an RRC reconfiguration message sent by the network device, the terminal device can look up the table based on the first QI to determine whether it is necessary to overwrite the PDCP discard timer length corresponding to the DRB of the first QI.
[0219] For ease of description, the following embodiments are all described by taking the dynamic adjustment of the PDCP discard timer duration corresponding to the DRB of QCI as an example. It should be understood that the dynamic adjustment method for the PDCP discard timer duration corresponding to the DRB of 5QI is similar to the dynamic adjustment method for the PDCP discard timer duration corresponding to the DRB of QCI.
[0220] The following provides three correspondence tables between QCI and PDCP discard timer durations through three examples.
[0221] Example 1: In the correspondence table, each QCI DRB corresponds to a PDCP discard timer duration.
[0222] Exemplarily, Table 4 shows the PDCP discard timer duration corresponding to each QCI DRB. As shown in Table 4, QCI is divided into 9 levels, namely QCI=1, 2, ..., 9. Each QCI DRB corresponds to a PDCP discard timer duration. For example, for DRB with QCI=5, since the IMS signaling is long, the PDCP discard timer duration can be set to a longer value; for DRB with QCI=1 and 2, since video and voice require shorter delays, the PDCP discard timer duration can be set to a shorter value; for DRB with QCI=9, data services are usually transmitted, and the PDCP discard timer duration is set to 1000ms according to the characteristics of the data service.
[0223] Table 4
[0224] QCI PDCP discard timer duration 1 500ms 2 500ms 3 100ms 4 750ms 5 3000ms 6 1000ms 7 500ms 8 1000ms 9 1000ms
[0225] Example 2: In the corresponding relationship table, each service type of the same QCI corresponds to a PDCP discard timer length.
[0226] Exemplarily, Table 5 shows the PDCP discard timer durations corresponding to each service type of QCI. As shown in Table 5, a QCI may be divided into multiple service types, for example, QCI=1 includes voice frames and silent frames, QCI=6, 8 and 9 include UDP and TCP, and QCI=7 includes voice, video and interactive games. When a QCI is divided into multiple service types, the PDCP discard timer duration can be set according to the characteristics of each service type. For example, for DRBs with QCI=1, voice frames contain more useful data information, and silent frames contain less useful data information, so the PDCP discard timer duration corresponding to voice frames can be set to 500ms, and the PDCP discard timer duration corresponding to silent frames can be set to 100ms. For another example, for DRBs with QCI=6, 8 and 9, UDP requires a shorter delay, so the PDCP discard timer duration corresponding to UDP can be set to 750ms, and the PDCP discard timer duration corresponding to TCP can be set to 1000ms. For example, for DRB with QCI=7, interactive games require a shorter delay, so the PDCP discard timer corresponding to the interactive game can be set to 150ms, and the PDCP discard timer corresponding to voice and video can be set to 500ms.
[0227] It should be noted that, as shown by QCI=2, 3, 4 and 5, one QCI may not be divided into multiple service types, that is, the DRB of one QCI corresponds to only one PDCP discard timer duration.
[0228] Table 5
[0229]
[0230]
[0231] Example 3: In the correspondence table, different usage scenarios of the same service type of the same QCI correspond to different PDCP discard timer durations.
[0232] Exemplarily, Table 6 shows the PDCP discard timer durations corresponding to the same service type of the same QCI in different usage scenarios. As shown in Table 6, a QCI may include at least one service type, and some service types in at least one service type correspond to multiple usage scenarios. When a service type of a QCI is divided into multiple usage scenarios, the terminal device sets the PDCP discard timer duration according to the characteristics of each usage scenario. For example, for DRB with QCI=3, only one service type of real-time games is included. Real-time games can be divided into game periods and non-game periods. Since the game period requires a short delay, the PDCP discard timer duration corresponding to the game period is set to 100ms, and the PDCP discard timer duration corresponding to the non-game period is set to 150ms. For another example, for DRB with QCI=7, three service types of voice, video and interactive games are included. Interactive games can be divided into game periods and non-game periods. Since the game period requires a short delay, the PDCP discard timer duration corresponding to the game period is set to 150ms, and the PDCP discard timer duration corresponding to the non-game period is set to 300ms.
[0233] Table 6
[0234]
[0235] Tables 4 to 6 above show the setting of the corresponding PDCP discard timer duration for DRBs of different QCIs, different service types of the same QCI, and different usage scenarios of the same service type of the same QCI. The terminal device can determine whether it is necessary to overwrite the PDCP discard timer duration corresponding to the first DRB based on any one of the tables in Tables 3 to 5.
[0236] It should be noted that the service types, usage scenarios and PDCP discard timer durations in Tables 4 to 5 are only exemplary and do not limit the present application. In actual implementation, the service type, usage scenario and PDCP discard timer duration can be adjusted according to actual usage requirements.
[0237] In some embodiments, the terminal device may use any of the following methods to determine whether to overwrite the PDCP discard timer duration corresponding to the first DRB.
[0238] (1) Implementation method 1
[0239] The terminal device first looks up the table based on the first QI to determine the PDCP discard timer duration corresponding to the first QI; then, compares the PDCP discard timer duration corresponding to the first QI in the correspondence table with the PDCP discard timer duration configured by the network device. If the two durations are not equal, it is determined that the PDCP discard timer duration corresponding to the DRB of the first QI needs to be copied. If the two durations are equal, it is determined that the PDCP discard timer duration corresponding to the DRB of the first QI does not need to be copied.
[0240] In a scenario example, assume that the corresponding table consulted by the terminal device is Table 3. In Table 3, each QCI DRB corresponds to a PDCP discard timer duration, and the table query result is only one duration. The terminal device can compare the one duration with the size relationship of the PDCP discard timer duration configured by the network device.
[0241] For example, Fig. 9A As shown in FIG. 1 , for the DRB with QCI=5, the PDCP discard timer configured by the network device is 3000ms. The terminal device determines that the PDCP discard timer is 3000ms by referring to Table 3. Since the two time lengths are equal, there is no need to copy the PDCP discard timer corresponding to the DRB with the first QI. Fig. 9B As shown, for the DRB with QCI=5, the PDCP discard timer configured by the network device is 100ms, and the terminal device determines that the PDCP discard timer is 3000ms by referring to Table 3. Since the two durations are not equal, the PDCP discard timer corresponding to the DRB of the first QI needs to be copied.
[0242] In another scenario example, assume that the correspondence table consulted by the terminal device is Table 4 or Table 5. In Table 4 and Table 5, some QCI DRBs correspond to multiple PDCP discard timer durations, and the table lookup result is multiple durations. When the correspondence table configures PDCP discard timer durations for different service types of a QCI or different usage scenarios of the same service type, the PDCP discard timer duration corresponding to the first service type / first usage scenario in the correspondence table can be compared with the PDCP discard timer duration configured by the network device. Among them, the first service type is a preset service type among the multiple service types corresponding to the first QI, and the first usage scenario is a preset usage scenario among the multiple usage scenarios corresponding to a service type of the first QI.
[0243] If the two durations are not equal, it is determined that the PDCP discard timer duration corresponding to the first DRB needs to be overwritten, that is, according to the PDCP discard timer duration corresponding to the first service type / first usage scenario in the correspondence table, the PDCP discard timer duration corresponding to the first service type / first usage scenario of the first DRB is configured.
[0244] If the two durations are equal, it is determined that there is no need to overwrite the PDCP discard timer duration corresponding to the first DRB, that is, according to the PDCP discard timer duration configured by the network device, configure the PDCP discard timer duration corresponding to the first service type / first usage scenario of the first DRB.
[0245] (2) Second Implementation Method
[0246] The terminal device first looks up the table based on the first QI to determine the PDCP discard timer duration corresponding to the first QI; then, compares the PDCP discard timer duration corresponding to the first QI in the correspondence table with the PDCP discard timer duration configured by the network device.
[0247] If the first QI belongs to the first category, and the PDCP discard timer duration corresponding to the first QI in the correspondence table is greater than the PDCP discard timer duration configured with the network device, then it is determined that the PDCP discard timer duration corresponding to the DRB of the first QI needs to be overwritten. Alternatively, if the first QI belongs to the first category, and the PDCP discard timer duration corresponding to the first QI in the correspondence table is less than or equal to the PDCP discard timer duration configured with the network device, then it is determined that the PDCP discard timer duration corresponding to the DRB of the first QI does not need to be overwritten. Among them, the QCI / 5QI of the first category is a QCI / 5QI that allows the actual timing duration of the PDCP discard timer to be greater than the PDCP discard timer duration in the correspondence table, that is, the PDCP discard timer duration in the correspondence table is the minimum timing duration.
[0248] If the first QI belongs to the second category, and the PDCP discard timer duration corresponding to the first QI in the correspondence table is less than the PDCP discard timer duration configured with the network device, then it is determined that the PDCP discard timer duration corresponding to the DRB of the first QI needs to be overwritten. Alternatively, if the first QI belongs to the second category, and the PDCP discard timer duration corresponding to the first QI in the correspondence table is greater than or equal to the PDCP discard timer duration configured with the network device, then it is determined that the PDCP discard timer duration corresponding to the DRB of the first QI does not need to be overwritten. Among them, the QCI / 5QI of the second category is a QCI / 5QI that allows the actual timing duration of the PDCP discard timer to be less than the PDCP discard timer duration in the correspondence table, that is, the PDCP discard timer duration in the correspondence table is the maximum timing duration.
[0249] In a scenario example, assume that the corresponding table consulted by the terminal device is Table 3. In Table 3, each QCI DRB corresponds to a PDCP discard timer duration, and the table query result is only one duration. The terminal device can compare the one duration with the size relationship of the PDCP discard timer duration configured by the network device.
[0250] For example, it is assumed that QCI=5 belongs to the first category of QCI. Fig. 10A As shown in the figure, for the DRB with QCI=5, the PDCP discard timer duration configured by the network device is infinite, and the terminal device determines that the PDCP discard timer duration is 3000ms by referring to Table 3. Since the PDCP discard timer duration configured by the network device is greater than the PDCP discard timer duration 3000ms determined by looking up the table, there is no need to copy the PDCP discard timer duration corresponding to the DRB with the first QI. Fig. 10B As shown, for the DRB with QCI=5, the PDCP discard timer configured by the network device is 2800ms, and the terminal device determines that the PDCP discard timer is 3000ms by referring to Table 3. Since the PDCP discard timer of 2800ms configured by the network device is less than the PDCP discard timer of 3000ms determined by looking up the table, it is necessary to copy the PDCP discard timer corresponding to the DRB of the first QI.
[0251] Exemplarily, it is assumed that QCI=1 belongs to the second category of QCI. Fig.11AAs shown in FIG. 1 , for the DRB with QCI=1, the PDCP discard timer configured by the network device is 300ms, and the terminal device determines that the PDCP discard timer is 500ms by referring to Table 3. Since the PDCP discard timer configured by the network device is 300ms, which is less than the PDCP discard timer determined by looking up the table, it is not necessary to copy the PDCP discard timer corresponding to the DRB with the first QI. Fig. 11B As shown, for the DRB with QCI=1, the PDCP discard timer duration configured by the network device is 750ms, and the terminal device determines that the PDCP discard timer duration is 500ms by referring to Table 3. Since the PDCP discard timer duration of 750ms configured by the network device is greater than the PDCP discard timer duration of 500ms determined by looking up the table, it is necessary to copy the PDCP discard timer duration corresponding to the DRB of the first QI.
[0252] In another scenario example, assume that the correspondence table consulted by the terminal device is Table 4 or Table 5. In Table 4 and Table 5, some QCIs correspond to multiple PDCP discard timer durations, and the table lookup result is multiple durations. When the correspondence table configures PDCP discard timer durations for different service types of a QCI or different usage scenarios of the same service type, the PDCP discard timer duration corresponding to the first service type / first usage scenario in the correspondence table can be compared with the PDCP discard timer duration configured by the network device. Among them, the first service type is a preset service type among the multiple service types corresponding to the first QI, and the first usage scenario is a preset usage scenario among the multiple usage scenarios corresponding to a service type of the first QI.
[0253] If the first QI belongs to the first category, and the PDCP discard timer duration corresponding to the first service type / first usage scenario in the correspondence table is greater than the PDCP discard timer duration configured with the network device, then it is determined that the PDCP discard timer duration corresponding to the DRB of the first QI needs to be overwritten, that is, according to the PDCP discard timer duration corresponding to the first service type / first usage scenario in the correspondence table, the PDCP discard timer duration corresponding to the first service type / first usage scenario of the first DRB is configured. Alternatively, if the first QI belongs to the first category, and the PDCP discard timer duration corresponding to the first service type / first usage scenario in the correspondence table is less than or equal to the PDCP discard timer duration configured with the network device, then it is determined that the PDCP discard timer duration corresponding to the DRB of the first QI does not need to be overwritten, that is, according to the PDCP discard timer duration configured with the network device, the PDCP discard timer duration corresponding to the first service type / first usage scenario of the first DRB is configured.
[0254] If the first QI belongs to the second category, and the PDCP discard timer duration corresponding to the first service type / first usage scenario in the correspondence table is less than the PDCP discard timer duration configured with the network device, then it is determined that the PDCP discard timer duration corresponding to the DRB of the first QI needs to be overwritten, that is, according to the PDCP discard timer duration corresponding to the first service type / first usage scenario in the correspondence table, the PDCP discard timer duration corresponding to the first service type / first usage scenario of the first DRB is configured. Alternatively, if the first QI belongs to the second category, and the PDCP discard timer duration corresponding to the first service type / first usage scenario in the correspondence table is greater than or equal to the PDCP discard timer duration configured with the network device, then it is determined that the PDCP discard timer duration corresponding to the DRB of the first QI does not need to be overwritten, that is, according to the PDCP discard timer duration configured with the network device, the PDCP discard timer duration corresponding to the first service type / first usage scenario of the first DRB is configured.
[0255] For example, take QCI=9, and QCI=9 belongs to the first category as an example for description.
[0256] like Fig. 12A As shown, for the DRB with QCI=9, the PDCP discard timer configured by the network device is 900ms, and the terminal device determines through table lookup that the PDCP discard timer for TCP packets is 1000ms, and the PDCP discard timer for UDP packets is 750ms. Since the PDCP discard timer of 900ms configured by the network device is less than the PDCP discard timer of 1000ms for TCP packets determined through table lookup, the terminal device determines that the replication condition is met, and configures the PDCP discard timer of TCP packets to 1000ms, and the PDCP discard timer of UDP packets to 750ms.
[0257] like Fig. 12B As shown, for the DRB with QCI=9, the PDCP discard timer configured by the network device is 1500ms, and the terminal device determines through table lookup that the PDCP discard timer for TCP packets is 1000ms, and the PDCP discard timer for UDP packets is 750ms. Since the PDCP discard timer of 1500ms configured by the network device is greater than the PDCP discard timer of 1000ms for TCP packets determined through table lookup, the terminal device determines that the replication condition is not met, and configures the PDCP discard timer of TCP packets to 1500ms, and the PDCP discard timer of UDP packets to 750ms.
[0258] For another example, QCI=1 and QCI=9 belonging to the second category are used for explanation.
[0259] like Fig.13A As shown, for the DRB with QCI=1, the PDCP discard timer configured by the network device is 1000ms, and the terminal device determines through table lookup that the PDCP discard timer for voice frames is 500ms, and the PDCP discard timer for mute frames is 100ms. Since the PDCP discard timer of 1000ms configured by the network device is greater than the PDCP discard timer of 500ms for voice frames determined through table lookup, the terminal device determines that the replication condition is met, and configures the PDCP discard timer for voice frames to 500ms, and the PDCP discard timer for mute frames to 100ms.
[0260] like Fig. 13B As shown, for the DRB with QCI=1, the PDCP discard timer configured by the network device is 300ms, and the terminal device determines through table lookup that the PDCP discard timer for voice frames is 500ms, and the PDCP discard timer for mute frames is 100ms. Since the PDCP discard timer of 300ms configured by the network device is less than the PDCP discard timer of 500ms for voice frames determined through table lookup, the terminal device determines that the replication condition is not met, and configures the PDCP discard timer of voice frames to 300ms, and the PDCP discard timer of mute frames to 100ms.
[0261] (3) The third implementation method
[0262] Regardless of the PDCP discard timer duration configured by the network device and the specific level of the first QI, the terminal device directly determines that it is necessary to copy the PDCP discard timer duration corresponding to the DRB of the first QI. That is, the terminal device does not refer to the PDCP discard timer duration configured by the network device, but configures the PDCP discard timer duration according to the copy value provided in the correspondence table.
[0263] (4) The fourth implementation method
[0264] The terminal device determines whether the first QI belongs to the third category. If the first QI belongs to the third category, then no matter how much the PDCP discard timer duration configured by the network device is, the terminal device will determine that it is necessary to overwrite the PDCP discard timer duration corresponding to the DRB of the first QI, that is, the terminal device does not refer to the PDCP discard timer duration configured by the network device, but configures the PDCP discard timer duration according to the overwrite value provided in the correspondence table. If the first QI does not belong to the third category, the terminal device determines whether it is necessary to overwrite the PDCP discard timer duration corresponding to the DRB of the first QI according to the first or second implementation method mentioned above. Among them, the third category of QCI / 5QI is some QCI / 5QI with a smaller error requirement for the PDCP discard timer duration, or a QCI / 5QI with a higher probability that the PDCP discard timer duration configured by the network device is inappropriate, or a QCI / 5QI for which the server will initiate the PDCP discard mechanism.
[0265] The terminal device may use any of the above methods to determine whether it is necessary to overwrite the PDCP discard timer length corresponding to the DRB of the first QI. If it is necessary to overwrite the PDCP discard timer length corresponding to the DRB of the first QI, the terminal device executes the following S303. If it is not necessary to overwrite the PDCP discard timer length corresponding to the DRB of the first QI, the terminal device executes the following S305.
[0266] S303, the terminal device copies the duration of the PDCP discard timer corresponding to the DRB of the first QI.
[0267] In the first scenario example, if the terminal device obtains only one duration based on the first QI table lookup, the terminal device can directly overwrite the PDCP discard timer duration corresponding to the DRB of the first QI according to the one duration.
[0268] For example, Fig. 9B and Fig. 10B As shown, for the DRB with QCI=5, the duration obtained based on the first QI table lookup is 3000ms. The terminal device overwrites the PDCP discard timer duration corresponding to the DRB with QCI=5 according to 3000ms. That is, the PDCP discard timer duration corresponding to the DRB with QCI=5 is configured to 3000ms.
[0269] For example, Fig. 11B As shown, for the DRB with QCI=1, the duration is 500ms based on the first QI table lookup. The terminal device overwrites the PDCP discard timer duration corresponding to the DRB with QCI=1 according to 500ms. That is, the PDCP discard timer duration corresponding to the DRB with QCI=1 is configured to 500ms.
[0270] In the second scenario example, it is assumed that the terminal device obtains multiple durations based on the first QI table lookup, such as the PDCP discard timer duration corresponding to the first service type and the PDCP discard timer duration corresponding to the second service type. If the terminal device determines that the replication condition is met according to the first implementation method or the second implementation method provided in S302 above, the PDCP discard timer duration corresponding to the first service type of the first DRB is configured according to the PDCP discard timer duration corresponding to the first service type in the correspondence table; and the PDCP discard timer duration corresponding to the second service type is configured according to the PDCP discard timer duration corresponding to the second service type in the correspondence table.
[0271] For example, Fig. 12A As shown, for the DRB with QCI=9, the terminal device configures the PDCP discard timer length of the TCP packet to 1000ms and the PDCP discard timer length of the UDP packet to 750ms according to the table lookup result.
[0272] For example, Fig.13A As shown, for the DRB with QCI=1, the terminal device configures the PDCP discard timer length of the voice frame to 500ms and the PDCP discard timer length of the silent frame to 100ms according to the table lookup result.
[0273] In the third scenario example, it is assumed that the terminal device obtains multiple durations based on the first QI table lookup, such as the PDCP discard timer duration corresponding to the first usage scenario of the third service type and the PDCP discard timer duration corresponding to the second usage scenario of the third service type. If the terminal device determines that the replication condition is met according to the first implementation method or the second implementation method provided in S302 above, the PDCP discard timer duration corresponding to the first usage scenario of the first DRB is configured according to the PDCP discard timer duration corresponding to the first usage scenario in the correspondence table; and the PDCP discard timer duration corresponding to the second usage scenario of the first DRB is configured according to the PDCP discard timer duration corresponding to the second usage scenario in the correspondence table. Among them, the third service type is any one of the multiple service types corresponding to the first QI.
[0274] In the fourth scenario example, if the terminal device obtains multiple durations based on the first QI table lookup, such as the PDCP discard timer duration corresponding to the first service type (referred to as duration 1) and the PDCP discard timer duration corresponding to the second service type (referred to as duration 2), then no matter how much the PDCP discard timer duration configured by the network device is, and the specific level of the first QI, the terminal device directly configures the duration 1 obtained by table lookup as the PDCP discard timer duration corresponding to the first service type, and configures the duration 2 obtained by table lookup as the PDCP discard timer duration corresponding to the second service type.
[0275] In the fifth scenario example, if the terminal device obtains multiple durations based on the first QI table lookup, such as the PDCP discard timer duration corresponding to the first usage scenario (referred to as duration 1) and the PDCP discard timer duration corresponding to the second usage scenario (referred to as duration 2), then no matter how much the PDCP discard timer duration configured by the network device is, and what specific level the first QI is, the terminal device directly configures duration 1 obtained by table lookup as the PDCP discard timer duration corresponding to the first usage scenario, and configures duration 2 obtained by table lookup as the PDCP discard timer duration corresponding to the second usage scenario.
[0276] It should be noted that in the above-mentioned scenario examples, the second service type can be one service type or multiple service types. If the second service type is multiple service types, then according to the table lookup result, a PDCP discard timer duration is configured for each of the multiple service types.
[0277] S304: After generating the data packet based on the first QI, start the PDCP discard timer (ie, start timing), and start sending the data packet. The maximum timing duration of the PDCP discard timer is the replicated value.
[0278] If there is only one service type for the first QI, and the service type is not divided into multiple usage scenarios, the terminal device sets the PDCP discard timer duration of the DRB of the first QI according to the copied duration. After generating a data packet based on the first QI, the terminal device starts the PDCP discard timer according to the duration and starts sending the data packet.
[0279] If there are multiple service types for the first QI, or there are multiple usage scenarios for a certain service type, the terminal device sets the PDCP discard timer duration for the first service type / first usage scenario according to the table lookup result, and sets the PDCP discard timer duration for the second service type / second usage scenario according to the table lookup result. After generating a data packet based on the first service type / first usage scenario, the terminal device starts the PDCP discard timer corresponding to the first service type / first usage scenario and starts sending the data packet; or, after generating a data packet based on the second service type / second usage scenario, the terminal device starts the PDCP discard timer corresponding to the second service type / second usage scenario and starts sending the data packet.
[0280] S305, maintaining the PDCP discard timer duration corresponding to the DRB of the first QI configured by the network device. That is, the terminal device defines the PDCP discard timer duration corresponding to the DRB of the first QI according to the configuration of the network device.
[0281] If there is only one service type for the first QI, and the service type is not divided into multiple usage scenarios, the terminal device defines the PDCP discard timer duration of the DRB of the first QI according to the configuration of the network device. After generating a data packet based on the first QI, the terminal device starts the PDCP discard timer according to the duration and starts sending the data packet.
[0282] If there are multiple service types for the first QI, or there are multiple usage scenarios for a certain service type, the terminal device defines the PDCP discard timer duration for the first service type / first usage scenario according to the configuration of the network device, and defines the PDCP discard timer duration for the second service type / second usage scenario according to the table lookup result. After generating a data packet based on the first service type / first usage scenario, the terminal device starts the PDCP discard timer corresponding to the first service type / first usage scenario and starts sending the data packet; or, after generating a data packet based on the second service type / second usage scenario, the terminal device starts the PDCP discard timer corresponding to the second service type / second usage scenario and starts sending the data packet.
[0283] S306, after generating a data packet based on the DRB, the terminal device starts the PDCP discard timer corresponding to the DRB (i.e., starts timing) according to the PDCP discard timer duration configured by the network device, and starts sending the data packet. The maximum timing duration of the PDCP discard timer is the PDCP discard timer duration configured by the network device.
[0284] After S304 and S306, the terminal device may execute the following S307.
[0285] S307, if the duration of the PDCP discard timer reaches the PDCP discard timer duration (ie, the PDCP discard timer times out), and the data packet is not successfully sent out, the terminal device discards the data packet and stops the PDCP discard timer (ie, stops timing).
[0286] In the above-mentioned scheme for dynamically adjusting the duration of the PDCP discard timer, when the PDCP discard timer duration configured by the network device received by the terminal device is too large or too small, the terminal device can configure different PDCP discard timer durations for DRBs of different QCI / 5QIs; configure different PDCP discard timer durations for different service types of the same DRB; and configure different PDCP discard timer durations for different usage scenarios of the same service type. By dynamically adjusting the duration of the PDCP discard timer, the terminal device can effectively meet the demands of various service types / usage scenarios, for example, shortening the duration of freezes or single-pass.
[0287] Combined with the description of the above embodiment, the first QI has only one service type, and the service type is not divided into multiple usage scenarios, so that the DRB of the first QI corresponds to only one duration; or, the first QI has multiple service types or a certain service type has multiple usage scenarios, so that the DRB of the first QI corresponds to multiple durations. Take this example to understand the present application more clearly. Figure 8 On the basis of Fig.14 A schematic flow chart of another method for dynamically adjusting the duration of a PDCP discard timer is shown.
[0288] like Fig.14 As shown, the method may include the following S401-S409.
[0289] S401, the terminal device receives an RRC reconfiguration message sent by the network device, and the RRC reconfiguration message includes the duration of the PDCP discard timer corresponding to the DRB of the first QI.
[0290] Among them, the first QI is QCI or 5QI.
[0291] S402, the terminal device looks up the table based on the first QI to determine whether the first QI corresponds to multiple PDCP discard timer durations.
[0292] If the first QI corresponds to a PDCP discard timer duration, then the following S403 is executed.
[0293] If the first QI corresponds to multiple PDCP discard timer durations (for example, the table lookup result includes a duration corresponding to the first service type and a duration corresponding to the second service type), then execute the following S406.
[0294] S403, the terminal device determines whether it is necessary to overwrite the PDCP discard timer duration corresponding to the DRB of the first QI based on a duration obtained by looking up the table based on the first QI.
[0295] If it is necessary to overwrite the PDCP discard timer length corresponding to the DRB of the first QI, then execute the following S404.
[0296] If there is no need to overwrite the PDCP discard timer length corresponding to the DRB of the first QI, then execute the following S405.
[0297] For the specific implementation of S403, reference may be made to the description of S302 above, which will not be repeated here.
[0298] S404, the terminal device overwrites the PDCP discard timer duration corresponding to the DRB of the first QI according to a duration obtained by looking up the table based on the first QI. That is, the terminal device defines the PDCP discard timer duration corresponding to the DRB of the first QI according to the overwritten value.
[0299] S405, the terminal device maintains the PDCP discard timer duration corresponding to the DRB of the first QI configured by the network device. That is, the terminal device sets the PDCP discard timer duration corresponding to the DRB of the first QI according to the configuration of the network device.
[0300] S406, the terminal device determines whether it is necessary to overwrite the PDCP discard timer length corresponding to the DRB of the first QI based on the PDCP discard timer length corresponding to the first service type.
[0301] The first service type may be a service type among multiple service types of the first QI. The service type is an important service type pre-specified in the correspondence table. For example, for a DRB with QCI=1, which includes voice frames and silence frames, the first service type may be a voice frame.
[0302] If it is necessary to overwrite the PDCP discard timer length corresponding to the DRB of the first QI, then execute the following S407.
[0303] If there is no need to overwrite the PDCP discard timer duration corresponding to the DRB of the first QI, then execute the following S408.
[0304] S407, the terminal device configures the PDCP discard timer duration corresponding to the first service type according to the PDCP discard timer duration corresponding to the first service type in the correspondence table.
[0305] S408, the terminal device configures the PDCP discard timer duration corresponding to the first service type according to the PDCP discard timer duration configured by the network device.
[0306] S409, the terminal device configures the PDCP discard timer duration corresponding to the second service type according to the PDCP discard timer duration corresponding to the second service type in the correspondence table.
[0307] For the specific implementation of S406-S409, reference may be made to the description of the above embodiment, which will not be repeated here.
[0308] In the above-mentioned scheme for dynamically adjusting the duration of the PDCP discard timer, when the first QI corresponds to only one duration, the duration can be compared with the duration configured by the network device to determine whether to overwrite the PDCP discard timer duration corresponding to the DRB of the first QI. When there are multiple durations for the first QI, the duration of the first service type can be compared with the duration configured by the network device to determine whether to overwrite the PDCP discard timer duration corresponding to the first service type, and other service types except the first service type can be directly configured according to the table lookup result. It should be understood that no matter which configuration method is adopted, it can be optimized when the PDCP discard timer duration configured by the network device is unreasonable, so as to meet the requirements of various service types / usage scenarios for the PDCP discard timer duration.
[0309] Below Figure 6 The communication system shown, Figure 7 The terminal equipment shown is based on the individual modules, combined Fig.15 , introduces an example of how to adjust the PDCP discard timer in a VoLTE voice service scenario.
[0310] This scenario example may include a network device, a terminal device 1, and a terminal device 2. The network device may be Figure 6 The base station 021 or other network devices shown, the terminal device 1 is the called device, and the terminal device 2 is the calling device. The terminal device 1 is provided with an AP, a modem processor and an audio processor (such as an ADSP). The modem processor includes a SIP layer, a TCP / UDP / IP layer, an RRC layer and a PDCP layer. It should be understood that the terminal device 2 has a similar structure to the terminal device 1, and will not be described in detail here.
[0311] Usually, VoLTE voice services require the establishment of three bearers: 1. After the terminal device is turned on, the terminal device selects the network to attach to and establishes the first bearer - the default bearer with QCI = 9. 2. VoLTE voice services require the use of SIP signaling for session interaction control. Therefore, before the VoLTE voice service, the second bearer - the default bearer with QCI = 5 is established to support users to complete IMS registration, support SIP signaling bearer, SMS and MMS transmission. 3. After establishing the default bearer with QCI = 9 and the default bearer with QCI = 5, establish a dedicated bearer with QCI = 1 for transmitting voice data. It should be noted that if it is a VoLTE video service, it is also necessary to establish a fourth bearer - a dedicated bearer with QCI = 2 for transmitting video data.
[0312] like Fig.15 As shown, the scenario example may include the following S501-S517.
[0313] S501, terminal device 1 sends an attachment request to a network device in response to a user's power-on operation.
[0314] S502, the network device sends an RRC reconfiguration message to the terminal device 1. The RRC reconfiguration message carries the duration of the PDCP discard timer corresponding to the DRB with QCI=9.
[0315] After the terminal device 1 is turned on, it first selects an access network (such as an IMS network), and then performs evolved packet core (EPC) authentication and registration (i.e., network attachment). During this process, the network device will send an RRC reconfiguration message carrying the PDCP discard timer duration corresponding to the DRB with QCI=9 to the RRC layer of the terminal device 1. Among them, QCI=9 is the LTE default bearer, and the terminal device 1 will reside in QCI=9 when it resides in the network. Then, the RRC layer of the terminal device 1 reports the PDCP discard timer duration corresponding to the DRB with QCI=9 to the AP of the terminal device 1.
[0316] As an example, the RRC layer of terminal device 1 can actively report the PDCP discard timer duration corresponding to the DRB with QCI=9 to the AP of terminal device 1. As another example, the AP of terminal device 1 first sends a query message to the RRC layer of terminal device 1, and then the RRC layer of terminal device 1 responds to the query message and reports the PDCP discard timer duration corresponding to the DRB with QCI=9 to the AP of terminal device 1.
[0317] S503, terminal device 1 looks up a table according to QCI=9, and configures different PDCP discard timer durations for different Internet service types of DRB with QCI=9.
[0318] In the correspondence table, if QCI=9 only divides one service type and the service type does not divide the usage scenario, then the DRB of QCI=9 corresponds to only one PDCP discard timer duration. In this case, the AP of terminal device 1 compares the size relationship between a PDCP discard timer duration obtained by table lookup and the PDCP discard timer duration configured by the network device, and overwrites the PDCP discard timer duration corresponding to the DRB of QCI=9 when the overwrite condition is met.
[0319] In the correspondence table, if QCI=9 divides multiple service types or multiple usage scenarios, then the DRB of QCI=9 corresponds to multiple PDCP discard timer durations. In this case, the AP of terminal device 1 compares the PDCP discard timer duration of the first service type / first usage scenario obtained by table lookup with the PDCP discard timer duration configured by the network device, and copies the PDCP discard timer duration corresponding to the first service type / first usage scenario when the copy condition is met. In addition, the AP of terminal device 1 can also configure the PDCP discard timer duration corresponding to other service types / other usage scenarios of QCI=9 based on the QCI=9 table lookup result.
[0320] For the specific implementation of S503, reference may be made to the description of S401 to S409 above, which will not be repeated here.
[0321] S504, when the RRC reconfiguration start conditions are met, the network device sends an RRC reconfiguration message to terminal device 1 again, and the RRC reconfiguration message carries the PDCP discard timer length corresponding to the DRB of IMS signaling (for example, 100ms), and the PDCP discard timer length corresponding to the DRB with QCI=1 (for example, 750ms).
[0322] Among them, the QCI of IMS signaling=5.
[0323] After the terminal device 1 completes the attachment, when the RRC reconfiguration start condition is met, the network device sends an RRC reconfiguration message to the RRC layer of the terminal device 1 again, and the RRC reconfiguration message carries the PDCP discard timer duration corresponding to the DRB of the IMS signaling and the PDCP discard timer duration corresponding to the DRB of QCI = 1. That is, one RRC reconfiguration message can carry the PDCP discard timer duration corresponding to the DRB of two QCIs.
[0324] As another example, the network device may also carry only the PDCP discard timer duration corresponding to the IMS signaling DRB in the resent RRC reconfiguration message, or only carry the PDCP discard timer duration corresponding to the DRB with QCI = 1. That is, one RRC reconfiguration message may carry the PDCP discard timer duration corresponding to one QCI DRB.
[0325] As another example, the network device may also carry the PDCP discard timer duration corresponding to the DRB of IMS signaling, the PDCP discard timer duration corresponding to the DRB of QCI=1, and the PDCP discard timer duration corresponding to the DRB of QCI=9 in the resent RRC reconfiguration message. That is, one RRC reconfiguration message may carry the PDCP discard timer durations corresponding to the DRBs of three QCIs.
[0326] It should be noted that the specific number of PDCP discard timer durations corresponding to the DRBs of the QCI carried by an RRC reconfiguration message is determined by the network device. However, no matter how the network device is configured, the terminal device 1 can dynamically adjust the PDCP discard timer duration corresponding to the DRB of the QCI, that is, optimize the PDCP discard timer duration.
[0327] S505, terminal device 1 looks up the table based on the QCI (QCI=5) of the IMS signaling, and reconfigures the PDCP discard timer duration (for example, 3000 ms) corresponding to the DRB with QCI=5.
[0328] After the RRC layer of terminal device 1 reconfigures the PDCP discard timer duration for IMS signaling, the RRC layer of terminal device 1 may also send the PDCP discard timer duration configured for IMS signaling to the PDCP layer of terminal device 1.
[0329] S506, terminal device 1 looks up a table based on QCI=1, and configures the PDCP discard timer duration for voice frames and silence frames respectively. For example, the voice frame is set to 500ms, and the silence frame is set to 100ms.
[0330] After the RRC layer of terminal device 1 configures the PDCP discard timer durations for voice frames and silent frames respectively, the RRC layer of terminal device 1 may also send the PDCP discard timer durations configured for voice frames and silent frames respectively to the PDCP layer of terminal device 1.
[0331] It should be noted that the embodiment of the present application does not limit the execution order of S505 and S506. In addition, for the specific implementation of S505 and S506, reference can be made to the description of the above embodiment, which will not be repeated here.
[0332] S507, terminal device 2 sends a first INVITE message to terminal device 1 through the network device. In response to the first INVITE message, terminal device 1 rings and sends a 180Ringing message to terminal device 2 through the network device. Terminal device 2 starts playing the ringback tone.
[0333] For the specific implementation of S507, reference may be made to the description of S202 in the above embodiment, which will not be repeated here.
[0334] S508: In response to the user's answering operation, the terminal device 1 sends a 200OK message in response to the first INVITE message to the network device.
[0335] Specifically, the AP of terminal device 1 receives the user's answering operation. In response to the answering operation, the AP of terminal device 1 sends an answering notification to the SIP layer of terminal device 1. The SIP layer of terminal device 1 sends a 200OK message in response to the first INVITE message to the network device.
[0336] S509: The network device returns an ACK message in response to the 200OK message to the terminal device.
[0337] Specifically, the network device may return an ACK message in response to the 200OK message to the SIP layer of the terminal device 1 .
[0338] S510, the network device sends a second INVITE message to terminal device 1.
[0339] Specifically, the network device may send a second INVITE message to the SIP layer of the terminal device 1. The second INVITE message is also called a Reinvite message, which is a message re-sent for the first INVITE message. Different from the first INVITE message, the second INVITE message also includes a label.
[0340] S511, terminal device 1 sends a 100Trying message in response to the second INVITE message to the network device.
[0341] Specifically, the SIP layer of the terminal device 1 sends a 100Trying message in response to the second INVITE message to the network device.
[0342] S512, terminal device 1 sends a 200OK message in response to the second INVITE message to the network device, and starts the PDCP discard timer (ie, starts timing). If the timing duration of the PDCP discard timer has not expired, terminal device 1 successfully sends the 200OK message to the network device.
[0343] Specifically, the SIP layer of terminal device 1 sends the 200OK message to the TCP / UDP / IP layer of terminal device 1. The TCP / UDP / IP layer of terminal device 1 determines whether the length of the 200OK message is greater than or equal to the fragmentation threshold. If the length of the 200OK message is greater than or equal to the fragmentation threshold, the TCP / UDP / IP layer of terminal device 1 splits the 200OK message into two data packets and sends the two data packets to the PDCP layer of terminal device 1.
[0344] Assume that the fragmentation threshold value of the 200OK message for the second INVITE message is 1280 bytes. The length of the first data packet of the 200OK message for the second INVITE message is 1280 bytes, and the length of the second data packet of the 200OK message for the second INVITE message is x bytes. That is, the length of the 200OK message for the second INVITE message is (1280+x) bytes. The PDCP layer of terminal device 1 first receives the first data packet of the 200OK message, adds the sequence number PDCP SN#n to the first data packet, and starts the PDCP discard timer 1 (for example, 3000ms) corresponding to PDCP SN#n; then receives the second data packet of the 200OK message, adds the sequence number PDCP SN#n+1 to the second data packet, and starts the PDCP discard timer 2 (for example, 3000ms) corresponding to PDCP SN#n+1. After adding sequence numbers to the two data packets respectively, PDCP SN#n and PDCP SN#n+1 wait for the network to schedule and send them out.
[0345] Then, after scheduling resources for PDCP SN#n, the PDCP layer of terminal device 1 sends the first data packet to the network device. As an example, in the case of network congestion, the first data packet is fragmented into dozens or even hundreds of data packets and sent in sequence. Compared with S201-S211, the duration of PDCP discard timer 1 is extended from 100ms to 3000ms, so that PDCP SN#n can be successfully sent to the network device within 3000ms.
[0346] After successfully sending PDCP SN#n, resources are scheduled for PDCP SN#n+1, and the PDCP layer of terminal device 1 starts to send the second data packet to the network device. Compared with S201-S220, the duration of PDCP discard timer 2 is extended from 100ms to 3000ms. After PDCP SN#n is successfully sent, sufficient time is still reserved for PDCP SN#n+1, so PDCP SN#n+1 can also be successfully sent to terminal device 2 within 3000ms.
[0347] It should be noted that Fig.15The example of the PDCP layer of terminal device 1 sending a data packet to the network device is used for explanation. In actual implementation, PDCP SN#n / PDCP SN#n+1 first reaches the base station, the base station parses the original data of the first data packet / second data packet, and then the base station sends the first data packet / second data packet to the remote device based on the wired transmission mode, and the first data packet / second data packet has no SN.
[0348] S513, the network device successfully receives the first data packet and the second data packet, and combines the first data packet and the second data packet into a 200OK message.
[0349] Exemplarily, the network device starts a timer after receiving the first data packet. After the PDCP discard timer of the terminal device 1 is extended to 3000ms, the terminal device 1 can send the second data packet to the network device before the PDCP discard timer times out. Accordingly, before the timer of the network device times out, the network device can receive the first data packet and the second data packet and synthesize them into a complete 200OK message.
[0350] S514, the network device sends a response message to the terminal device 1 in response to the 200OK message.
[0351] Specifically, the network device sends a response message to the RRC layer of the terminal device 1 in response to the 200OK message.
[0352] S515 , the network device sends a 200OK message in response to the first INVITE message to the terminal device 2 .
[0353] So far, terminal device 1 and terminal device 2 have established a default bearer with QCI=5, which supports users to complete IMS registration, supports SIP signaling bearer, and SMS and MMS transmission. It should be understood that compared with S201-S211, in S505, terminal device 1 reconfigures the PDCP discard timer corresponding to the DRB with QCI=5 from 100ms to 3000ms, which reserves enough time for the first data packet and the second data packet, so the second data packet can be successfully sent to the network device within 3000ms.
[0354] After establishing the default bearer of QCI=5, terminal device 1 and terminal device 2 can also establish a dedicated bearer of QCI=1 to transmit voice data. In the embodiment of the present application, for the DRB of QCI=1, different values are set for different frame types. For example, on the DRB of QCI=1, the voice frame is set to 500ms and the mute frame is set to 100ms.
[0355] S516, terminal device 1 obtains the silent frame, sends the silent frame to the network device, and starts the PDCP discard timer (ie, starts timing). After the PDCP discard timer times out, terminal device 1 discards the silent frame and stops the PDCP discard timer (ie, stops timing).
[0356] Specifically, the ADSP of terminal device 1 sends a mute frame to the PDCP layer through the RTP layer. The PDCP layer of terminal device 1 receives the mute frame, adds a sequence number PDCP SN#k to the mute frame, and starts the PDCP discard timer 3 (for example, 100ms) corresponding to PDCP SN#k. PDCP SN#k waits for the network to schedule and send it out. If PDCP SN#k is not sent out within 100ms, the PDCP layer of terminal device 1 discards the mute frame.
[0357] It should be noted that S516 is explained by taking the timeout discarding of the silent frame as an example. The present application also provides another scenario example: the terminal device 1 obtains the silent frame, sends the silent frame to the network device, and starts the PDCP discard timer (i.e., starts timing), and when the timing duration of the PDCP discard timer has not timed out, the terminal device 1 successfully sends the silent frame to the network device.
[0358] S517, terminal device 1 obtains the voice frame, sends the voice frame to the network device, and starts the PDCP discard timer (ie, starts timing). If the timing duration of the PDCP discard timer has not timed out, terminal device 1 successfully sends the voice frame to the network device.
[0359] Specifically, the ADSP of terminal device 1 sends a voice frame to the PDCP layer through the RTP layer. The PDCP layer of terminal device 1 receives the voice frame, adds a sequence number PDCP SN#h to the voice frame, and starts the PDCP discard timer 4 (for example, 500ms) corresponding to PDCP SN#h. PDCP SN#h waits for the network to schedule and send it out. After scheduling resources for PDCP SN#h, the PDCP layer of terminal device 1 sends a voice frame to the network device. Then, the network device forwards the voice frame to terminal device 2. Accordingly, terminal device 2 successfully receives the voice frame.
[0360] It should be noted that S517 is explained by taking the successful sending of a voice frame as an example. The present application also provides another scenario example: the terminal device 1 obtains a voice frame, sends a voice frame to the network device, and starts the PDCP discard timer (i.e., starts timing). After the PDCP discard timer times out, the terminal device 1 discards the voice frame and stops the PDCP discard timer (i.e., stops timing).
[0361] In the above-mentioned scheme for dynamically adjusting the duration of the PDCP discard timer, different values are set for voice frames and silent frames for DRBs with QCI=1. For example, the voice frame is set to 500ms and the silent frame is set to 100ms. On the one hand, for voice data, it is meaningless to have a delay that is too long, so compared with IMS signaling, the PDCP discard timer duration of voice frames and silent frames is set shorter. On the other hand, compared with voice frames, silent frames carry less useful information, so the PDCP discard timer duration of silent frames is set shorter, so that when the silent frame times out, the silent frame is discarded in time to release channel resources, so that the voice frame located after the silent frame can be transmitted smoothly.
[0362] Below Figure 6 The communication system shown, Figure 7 The terminal equipment shown is based on the individual modules, combined Fig.16 , introduces an example of how to adjust the PDCP discard timer in an Internet access scenario.
[0363] This scenario example may include a network device, a terminal device 1 and a service platform. The network device may be Figure 6 The base station 021 or other network devices shown in the figure, the terminal device 1 is a mobile phone, a personal computer (PC) or a tablet used by the user, and the service platform is a game platform or a shopping platform. The terminal device 1 is provided with an AP and a modem processor. The modem processor includes a TCP / UDP / IP layer, an RRC layer, and a PDCP layer.
[0364] Usually, Internet access services need to establish a bearer with QCI = 6, 7, 8 or 9. Take QCI = 9 as an example. Fig.16 As shown, the scenario example may include the following S601-S604.
[0365] S601, the network device sends an RRC reconfiguration message to terminal device 1.
[0366] When the RRC reconfiguration start condition is met, the network device sends an RRC reconfiguration message to the RRC layer of terminal device 1, and the RRC reconfiguration message carries the PDCP discard timer duration corresponding to the DRB with QCI=9. The RRC layer of terminal device 1 reports the PDCP discard timer duration corresponding to the DRB with QCI=9 to the AP of terminal device 1.
[0367] As an example, the RRC layer of terminal device 1 can actively report the PDCP discard timer duration corresponding to the DRB with QCI=9 to the AP of terminal device 1. As another example, the AP of terminal device 1 first sends a query message to the RRC layer of terminal device 1, and then the RRC layer of terminal device 1 responds to the message and reports the PDCP discard timer duration corresponding to the DRB with QCI=9 to the AP of terminal device 1.
[0368] S602, the AP of terminal device 1 looks up the table according to QCI=9, and configures different PDCP discard timer durations for different Internet service types of DRB with QCI=9.
[0369] Assume that in the correspondence table, QCI=9 divides two service types: TCP and UDP. Among them, the PDCP discard timer duration of TCP is set to 1000ms, and the PDCP discard timer duration of UDP is set to 750ms. The AP of terminal device 1 sends the PDCP discard timer duration corresponding to each Internet service type to the PDCP layer of terminal device 1. Accordingly, the PDCP layer of terminal device 1 saves the PDCP discard timer duration corresponding to each Internet service type.
[0370] For the specific implementation of S602, reference may be made to the description of S401 to S409 above, which will not be repeated here.
[0371] S603, terminal device 1 obtains a TCP packet, sends the TCP packet to the network device, and starts the PDCP discard timer (i.e., starts timing). If the timing duration of the PDCP discard timer has not expired, terminal device 1 successfully sends the TCP packet to the network device. The duration of the PDCP discard timer is 1000ms.
[0372] The AP of terminal device 1 sends a TCP packet to the PDCP layer through the TCP / UDP / IP layer. The PDCP layer of terminal device 1 receives the TCP packet, adds the sequence number PDCP SN#n to the TCP packet, and starts the PDCP discard timer 1 (for example, 1000ms) corresponding to PDCP SN#n. PDCP SN#n waits for the network to schedule and send it out. After scheduling resources for PDCP SN#n, the PDCP layer of terminal device 1 sends a TCP packet to the network device. Then, the network device forwards the TCP packet to the service platform.
[0373] S604, terminal device 1 obtains the UDP packet, sends the UDP packet to the network device, and starts the PDCP discard timer (i.e., starts timing). If the timing duration of the PDCP discard timer has not expired, terminal device 1 successfully sends the UDP packet to the network device. The duration of the PDCP discard timer is 750ms.
[0374] The AP of terminal device 1 sends a UDP packet to the PDCP layer through the UDP / IP layer. The PDCP layer of terminal device 1 receives the UDP packet, adds the sequence number PDCP SN#m to the UDP packet, and starts the PDCP discard timer 2 (for example, 750ms) corresponding to PDCP SN#m. PDCP SN#m waits for the network to schedule and send it out. After scheduling resources for PDCP SN#m, the PDCP layer of terminal device 1 sends a UDP packet to the network device. Then, the network device forwards the UDP packet to the service platform.
[0375] In the above-mentioned scheme of dynamically adjusting the PDCP discard timer duration, for DRB with QCI=9, UDP requires a shorter delay. Therefore, the PDCP discard timer duration corresponding to UDP can be set shorter, and the PDCP discard timer duration corresponding to TCP can be set longer, thereby meeting the requirements of different service types / different usage scenarios of the same QCI for the PDCP discard timer duration, thereby effectively improving the user experience when using the terminal device.
[0376] It should be noted that the above embodiments are all described by taking the example of the terminal device dynamically adjusting the PDCP discard timer duration based on the QCI / 5QI table lookup, which does not limit the present application. In actual implementation, the network device can also reconfigure the PDCP discard timer duration based on the QCI / 5QI table lookup. For example, for DRBs with different QCI / 5QI, the network device configures different PDCP discard timer durations for them; for different service types of the same DRB, the network device configures different PDCP discard timer durations for them; for different usage scenarios of the same service type, the network device configures different PDCP discard timer durations for them. It should be understood that the network device can effectively meet the demands of various service types / usage scenarios by dynamically adjusting the PDCP discard timer duration. For the specific implementation method of the network device dynamically adjusting the PDCP discard timer duration based on the QCI / 5QI table lookup, please refer to the relevant description of the above embodiment, which will not be repeated here.
[0377] Fig.17 The hardware structure diagram of a communication device provided in an embodiment of the present application is shown in FIG. Fig.17 As shown, the communication device 10 includes at least one processor 11, a communication line 12 and at least one communication interface 13. Further, the communication device 10 may also include a memory 14 and. Among them, the processor 11, the memory 14 and the communication interface 13 may be connected through the communication line 12. In the embodiment of the present application, at least one may be one, two, three or more, and the embodiment of the present application is not limited.
[0378] The processor 11 may be an AP, a modem processor, a central processing unit (CPU), a general-purpose processor, a network processor (NP), a digital signal processor (DSP), a microprocessor, a microcontroller, a programmable logic device (PLD), or any combination thereof. The processor may also be any other device having a processing function, such as a circuit, a device, or a software module.
[0379] Communications link 12 may include pathways for communicating information between components included in the communications device.
[0380] The communication interface 13 may be used to communicate with other devices or communication networks (such as Ethernet, radio access network (RAN), wireless local area networks (WLAN), etc.) The communication interface 13 may be a module, a circuit, a transceiver or any device capable of achieving communication.
[0381] The memory 14 can be a read-only memory (ROM) or other types of static storage devices that can store static information and / or instructions, or a random access memory (RAM) or other types of dynamic storage devices that can store information and / or instructions, or an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed optical discs, laser discs, optical discs, digital versatile discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and can be accessed by a computer.
[0382] In one possible design, the memory 14 can exist independently of the processor 11, that is, the memory 14 can be a memory outside the processor 11. In this case, the memory 14 can be connected to the processor 11 via the communication line 12 to store instructions or program codes. When the processor 11 calls and executes the instructions or program codes stored in the memory 14, the data transmission method provided in the above embodiment of the present application can be implemented. In another possible design, the memory 14 can also be integrated with the processor 11, that is, the memory 14 can be an internal memory of the processor 11. For example, the memory 14 is a cache that can be used to temporarily store some data and / or instruction information.
[0383] As an implementable manner, the processor 11 may include one or more CPUs, for example Fig.17 As another implementation, the communication device 10 may include multiple processors, such as Fig.17 As another implementation, the communication device 10 may further include an output device 15 and an input device 16. For example, the input device 16 may be a keyboard, a mouse, a microphone, a joystick, or other devices, and the output device 15 may be a display screen or a speaker, or other devices.
[0384] It should be noted that the communication device 10 can be a general-purpose device or a dedicated device. For example, the communication device 10 can be a desktop computer, a portable computer, a network server, a mobile phone, a tablet computer, a wireless terminal, an embedded device, a chip system or a Fig.17 The embodiment of the present application does not limit the type of the communication device 10.
[0385] The embodiment of the present application also provides a computer-readable storage medium, in which a computer instruction is stored. When the computer-readable storage medium is run on a computer, the computer is caused to execute the method shown above. The computer instruction can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instruction can be transmitted from a website site, computer, server or data center to another website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode. The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server, data center, etc. that can be integrated with one or more media. Available media can be magnetic media (e.g., floppy disk, hard disk or tape), optical media or semiconductor media (e.g., solid state drive (SSD)), etc.
[0386] An embodiment of the present application further provides a computer program product, which includes a computer program code. When the computer program code runs on a computer, the computer executes the methods in the above embodiments.
[0387] The embodiment of the present application also provides a chip, which is coupled to a memory, and the chip is used to read and execute a computer program or instruction stored in the memory to perform the methods in the above embodiments. The chip can be a general-purpose processor or a dedicated processor. It should be noted that the chip can be implemented using the following circuits or devices: one or more field programmable gate arrays (field programmable gate array, FPGA), programmable logic devices (programmable logic device, PLD), controllers, state machines, gate logic, discrete hardware components, any other suitable circuits, or any combination of circuits capable of performing the various functions described throughout this application.
[0388] The terminal device, computer-readable storage medium, computer program product and chip provided in the above-mentioned embodiments of the present application are all used to execute the method provided above. Therefore, the beneficial effects that can be achieved can refer to the beneficial effects corresponding to the method provided above, and will not be repeated here.
[0389] Through the description of the above implementation methods, technical personnel in the relevant field can clearly understand that for the convenience and simplicity of description, only the division of the above-mentioned functional modules is used as an example. In actual applications, the above-mentioned functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above.
[0390] In the several embodiments provided in the present application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic, for example, the division of modules or units is only a logical function division, and there may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another device, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0391] The units described as separate components may or may not be physically separated, and the components shown as units may be one physical unit or multiple physical units, that is, they may be located in one place or distributed in multiple different places. Some or all of the units may be selected according to actual needs to achieve the purpose of the present embodiment.
[0392] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
[0393] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a readable storage medium. Based on this understanding, the technical solution of the embodiment of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, which is stored in a storage medium, including several instructions to enable a device (which can be a single-chip microcomputer, chip, etc.) or a processor (processor) to perform all or part of the steps of the various embodiments of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read only memory (ROM), random access memory (RAM), disk or optical disk and other media that can store program code.
[0394] The above contents are only specific implementation methods of the present application, but the protection scope of the present application is not limited thereto. Any changes or substitutions within the technical scope disclosed in the present application shall be included in the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.
Claims
1. A data transmission method, characterized in that: The method is applied to a first terminal device, and the method includes: Receiving a radio resource control RRC message sent by a network device, wherein the RRC message includes a first duration, and the first duration is a packet data convergence protocol PDCP discard timer duration corresponding to a voice data radio bearer; Receiving a first INVITE message sent by a second terminal device; Receive the user's answering operation; Acquire a first silence frame; starting from acquiring the first silence frame, not sending the first silence frame to the second terminal device within a second duration; starting from acquiring the first silence frame, not sending the first silence frame to the second terminal device after the second duration; wherein the second duration is less than the first duration; Acquire a first voice frame; starting from the acquisition of the first voice frame, the first voice frame is not sent within the first time length; starting from the acquisition of the first voice frame, the first voice frame is sent to the second terminal device within a third time length; wherein the third time length is greater than the first time length.
2. The method according to claim 1, characterized in that The step of not sending the first silence frame to the second terminal device after the second duration starting from acquiring the first silence frame includes: Start timing from when the first silence frame is acquired; Based on the timing duration reaching the second duration, the first silent frame is not sent to the second terminal device and the timing is stopped.
3. The method according to claim 1, characterized in that The step of sending the first voice frame to the second terminal device within a third time period starting from acquiring the first voice frame includes: Start timing from when the first speech frame is acquired; Within the third time period, the first voice frame is successfully sent to the second terminal device and the timing is stopped.
4. The method according to any one of claims 1 to 3, characterized in that After receiving the answering operation of the user, the method further includes: Obtain a second voice frame; starting from the acquisition of the second voice frame, within the third time length, the second voice frame is not sent to the second terminal device; starting from the acquisition of the second voice frame, after the third time length, the second voice frame is not sent to the second terminal device.
5. The method according to claim 4, characterized in that The step of not sending the second voice frame to the second terminal device after the third duration starting from acquiring the second voice frame includes: Start timing from when the second voice frame is acquired; Based on the timing duration reaching the third duration, the second voice frame is not sent to the second terminal device and the timing is stopped.
6. The method according to any one of claims 1 to 3, characterized in that After receiving the answering operation of the user, the method further includes: Obtain a second silence frame; starting from obtaining the second silence frame, send the second silence frame to the second terminal device within the second duration.
7. The method according to claim 6, characterized in that The step of starting from acquiring the second silence frame and sending the second silence frame to the second terminal device within the second duration includes: The timing starts from when the second silence frame is acquired; During the second time period, the second silence frame is sent to the second terminal device and the timing is stopped.
8. The method according to any one of claims 1 to 7, characterized in that After receiving the RRC message and before receiving the first INVITE message, the method further includes: Refer to the preset relationship table to obtain the second duration corresponding to the silence frame of the voice data radio bearer and the third duration corresponding to the voice frame of the voice data radio bearer; Determining that the third duration is greater than the first duration; The second duration is configured as the PDCP discard timer duration corresponding to the silent frame of the voice data radio bearer, and the third duration is configured as the PDCP discard timer duration corresponding to the voice frame of the voice data radio bearer.
9. The method according to any one of claims 1 to 8, characterized in that The voice data radio bearer is a service quality category identifier QCI, or the voice data radio bearer is a 5G service quality identifier 5QI.
10. The method according to any one of claims 1 to 9, characterized in that The RRC message also includes a fourth duration, where the fourth duration is the duration of the PDCP discard timer corresponding to the IMS data radio bearer; After receiving the answering operation and before receiving the voice frame and the silence frame, the method further includes: Receiving a second INVITE message sent by the network device; Obtain a 200OK message in response to the second INVITE message; Starting from obtaining the 200OK message, not sending the 200OK message within the fourth time period; Starting from obtaining the 200OK message, the 200OK message is sent to the network device within a fifth time period, and the fifth time period is greater than the fourth time period.
11. The method according to claim 10, characterized in that After receiving the RRC message and before receiving the first INVITE message, the method further includes: Refer to the preset relationship table to obtain the fifth duration corresponding to the IMS data radio bearer; Determining that the fifth duration is greater than the fourth duration; The fifth duration is configured as a PDCP discard timer duration corresponding to the IMS data radio bearer.
12. The method according to any one of claims 1 to 11, characterized in that The RRC message also includes a sixth duration, where the sixth duration is the duration of the PDCP discard timer corresponding to the Internet access data radio bearer; After receiving the RRC message, the method further includes: Acquire a first TCP packet; starting from acquiring the first TCP packet, not sending the first TCP packet to the second terminal device within a seventh time period; starting from acquiring the first TCP packet, not sending the first TCP packet to the second terminal device after the seventh time period; wherein the seventh time period is different from the sixth time period; Acquire a second TCP packet; starting from acquiring the second TCP packet, send the second TCP packet to the second terminal device within the seventh time period; Acquire a first UDP packet; starting from the acquisition of the first UDP packet, not send the first UDP packet to the second terminal device within an eighth time period; starting from the acquisition of the first UDP packet, after the eighth time period, not send the first UDP packet to the second terminal device; wherein the eighth time period is less than the seventh time period; Obtain a second UDP packet; starting from obtaining the second UDP packet, send the second UDP packet to the second terminal device within the eighth time period.
13. The method according to claim 12, characterized in that After receiving the RRC message and before receiving the first IINVITE message, the method further includes: Refer to the preset relationship table to obtain the seventh duration corresponding to the TCP packet of the wireless bearer of the Internet access data, and the eighth duration corresponding to the UDP packet of the wireless bearer of the Internet access data; Determine that the seventh duration is less than the sixth duration, configure the seventh duration as the PDCP discard timer duration corresponding to the TCP packet of the Internet data radio bearer, and configure the eighth duration as the PDCP discard timer duration corresponding to the UDP packet of the Internet data radio bearer; or, Determine that the seventh duration is greater than or equal to the sixth duration, configure the seventh duration as the PDCP discard timer duration corresponding to the TCP packet of the Internet data radio bearer, and configure the eighth duration as the PDCP discard timer duration corresponding to the UDP packet of the Internet data radio bearer; or, Determine that the seventh duration is not equal to the sixth duration, configure the seventh duration as the PDCP discard timer duration corresponding to the TCP packet of the Internet data wireless bearer, and configure the eighth duration as the PDCP discard timer duration corresponding to the UDP packet of the Internet data wireless bearer.
14. A terminal device, characterized in that: The terminal device includes a processor and a memory coupled to the processor; wherein the memory stores instructions, and when the processor executes the instructions, the terminal device executes the data transmission method according to any one of claims 1 to 13.
15. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program; wherein, when the computer program is executed on a terminal device, the terminal device executes the data transmission method according to any one of claims 1 to 13.
Citation Information
Cited By
Data transmission method, device, and storage medium
EP4683379A1
Data transmission method, device, and storage medium
WO2024251284A1
