Method and system for stream-based voice response and line resource release

By extracting the envelope features and network jitter sequences of voice data packets, a dynamic sliding time window and adaptive reference template are constructed, solving the problem of untimely recovery of line resources in complex network environments and realizing efficient resource management of outbound calling systems.

CN122226754BActive Publication Date: 2026-07-21BEIJING JIUJIA XINTONG TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
BEIJING JIUJIA XINTONG TECH CO LTD
Filing Date
2026-05-19
Publication Date
2026-07-21

Smart Images

  • Figure CN122226754B_ABST
    Figure CN122226754B_ABST
Patent Text Reader

Abstract

The application provides a method and system for streaming voice response and line resource release, and relates to the technical field of voice communication, wherein the method comprises the following steps: after sending an outbound request to a terminal and establishing a voice channel, receiving a continuous voice stream, extracting envelope features of voice data packets to generate a first envelope sequence, and simultaneously extracting a network jitter sequence; taking a starting time stamp as a starting point to construct a dynamic sliding time window, convolving the first envelope sequence to obtain a second envelope sequence, and calculating a first-order difference; according to the difference data, stretching and contracting an initial reference template in the time axis direction to obtain a target reference template; calculating a distribution difference to obtain initial difference data, and according to a jitter change rate compensation step to obtain target difference data; tracking a convergence point to generate a judgment curve, and when the curve is continuously increasing, generating a demolition signaling to improve the timeliness of line resource recovery.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of voice communication technology, and in particular to a method and system for streaming voice response and line resource release. Background Technology

[0002] With the continuous development of artificial intelligence technology, intelligent outbound calling systems are widely used in customer service, marketing follow-ups, and government notifications. Typically, the outbound calling platform initiates call requests and, after establishing a voice channel with the terminal device, transmits information via streaming voice. In these scenarios, line resources are limited shared resources and need to be promptly reclaimed after the call ends so that subsequent outbound calling tasks can reuse the same physical channel, thereby maintaining overall outbound calling concurrency capacity.

[0003] Currently, most mainstream methods for determining call termination rely on the terminal's active hang-up signaling or a fixed silence threshold set by the server. This fixed silence threshold typically indicates that the call has ended when the voice energy level continuously drops below a certain value for a duration exceeding a fixed length. However, in actual outbound call transmission links, network jitter and packet loss frequently occur. These factors can cause short-term drops in voice energy, resulting in false silence. If the termination determination is made directly based on a fixed threshold, it is easy to misinterpret momentary network fluctuations during a normal call as call termination, thus prematurely interrupting the voice channel and affecting the user experience.

[0004] On the other hand, if the silence threshold is relaxed or the judgment time is extended to avoid the aforementioned misjudgments, it will cause actually ended calls to occupy physical lines for an extended period, preventing the media gateway's ports from being released in a timely manner, ultimately affecting the overall turnaround efficiency of the outbound call channel. Therefore, how to accurately identify the true end time of the voice stream in complex network environments and coordinate with the media gateway to promptly reclaim line resources has become a pressing technical problem to be solved in intelligent outbound call scenarios. Summary of the Invention

[0005] This application provides a method and system for streaming voice response and line resource release, which can identify the actual end time in streaming voice in complex network environments and promptly trigger the media gateway to reclaim the physical line resources of the voice channel, thereby improving the timeliness and accuracy of line resource reclamation.

[0006] To address the aforementioned technical problems, in a first aspect, this application provides a method for streaming voice response and line resource release, comprising: Send an outbound call request carrying call signaling to the terminal device, and establish a voice channel after receiving the answer response from the terminal device; Receive the continuous voice stream carried by the voice channel, parse the network transmission protocol of the continuous voice stream to obtain the voice data packets that arrive in sequence, extract the envelope features of each voice data packet and splice them to generate the first envelope sequence, and extract the network jitter sequence of the transmission link. A dynamic sliding time window is constructed starting from the timestamp of the outbound call request. The dynamic sliding time window is continuously moved as the continuous voice stream is received. The convolution of the first envelope sequence currently covered by the dynamic sliding time window is calculated to obtain the second envelope sequence, and the first-order difference of the second envelope sequence is calculated to obtain the differential data. The target reference template is obtained by scaling the differential data along the time axis using a pre-set initial reference template. The initial difference data is obtained by calculating the distribution difference between the second envelope sequence and the target reference template, and the jitter change rate contained in the network jitter sequence is extracted. The target difference data is obtained by compensating the calculation step size of the initial difference data according to the jitter change rate. The convergence point of the target difference data is tracked to generate a decision curve. When the decision curve shows a continuous increasing trend, a teardown signal is generated, which instructs the media gateway to reclaim the physical line resources of the voice channel.

[0007] Optionally, the initial difference data is obtained by calculating the distribution difference between the second envelope sequence and the target reference template, and the jitter change rate contained in the network jitter sequence is extracted. The target difference data is obtained by compensating the calculation step size of the initial difference data according to the jitter change rate, including: Align the time points of the second envelope sequence with the target reference template to calculate the absolute difference between the amplitude of the second envelope sequence and the amplitude of the target reference template at the same time point; The absolute differences at the same time point are combined in chronological order to generate initial difference data; The jitter difference between adjacent nodes in the network jitter sequence is read to generate the jitter change rate, and the step size adjustment coefficient is determined based on the jitter change rate. The target step size is obtained by multiplying the step size adjustment coefficient by the calculation step size of the initial difference data, and the target difference data is generated by resampling the initial difference data according to the target step size.

[0008] Optionally, a dynamic sliding time window is constructed starting from the timestamp of the outbound call request, and the dynamic sliding time window is continuously moved as continuous voice streams are received, including: Configure the initiation timestamp as the starting boundary of the time window, and set the initial span to build a dynamic sliding time window; The number of voice data packets received per unit time is counted, and the initial span is updated proportionally according to the number to obtain the target span. The starting boundary is then translated along the positive direction of the time axis with the target span as the step size.

[0009] Optionally, a target reference template is obtained by scaling a preset initial reference template along the time axis based on the differential data, including: Read the slope values ​​contained in the difference data and obtain the scaling factor corresponding to the slope values; Extract the time axis of the initial reference template, multiply the scale value of the time axis by the scaling factor to obtain the updated scale value, and reconstruct the initial reference template according to the updated scale value to generate the target reference template.

[0010] Optionally, a decision curve is generated by tracking the convergence point of the target difference data, and a demolition signal is generated when the decision curve shows a continuous increasing trend, including: Extract the minimum value nodes from the target difference data, mark the minimum value nodes as convergence points, and connect the convergence points that appear in sequence in the time coordinate system to generate a decision curve; Calculate the slope of adjacent convergence points in the decision curve, and generate a demolition signal when multiple consecutive slopes are positive.

[0011] Optionally, the network jitter sequence of the transmission link is extracted, including: Record the reception time of the voice data packets that arrive in sequence, and calculate the difference between the reception times of two adjacent voice data packets to obtain the actual arrival interval; Obtain the standard interval of arrival specified by the network transmission protocol, calculate the deviation between the actual interval of arrival and the standard interval of arrival, and combine them to generate a network jitter sequence.

[0012] Optionally, the envelope features of each speech data packet are extracted and concatenated to generate a first envelope sequence, including: Parse the voice data packets to obtain the payload data, extract the energy peaks of the payload data, and mark the energy peaks as envelope features; Read the sequence numbers contained in the network transmission protocol, and arrange the envelope features in ascending order of the sequence numbers to generate the first envelope sequence.

[0013] Optionally, before sending an outbound call request carrying call signaling to the terminal device, the method further includes: Obtain the outbound call task identifier to be executed and the preset key data, and concatenate the outbound call task identifier and the preset key data to generate a verification code; Configure the verification code as the outbound call authentication credential, and embed the outbound call authentication credential into the call signaling to generate an outbound call request.

[0014] Secondly, this application provides a streaming voice response and line resource release system, comprising: The sending module is used to send an outbound call request carrying a call signaling to the terminal device, and to establish a voice channel after receiving the answer response from the terminal device. The receiving module is used to receive the continuous voice stream carried by the voice channel, parse the network transmission protocol of the continuous voice stream to obtain the voice data packets that arrive in sequence, extract the envelope features of each voice data packet and splice them to generate the first envelope sequence, and extract the network jitter sequence of the transmission link. The module is used to construct a dynamic sliding time window starting from the timestamp of the outbound call request. The dynamic sliding time window is continuously moved as the continuous voice stream is received. The convolution of the first envelope sequence currently covered by the dynamic sliding time window is calculated to obtain the second envelope sequence, and the first-order difference of the second envelope sequence is calculated to obtain the differential data. The scaling module is used to scale a preset initial reference template along the time axis based on the differential data to obtain the target reference template; The calculation module is used to calculate the distribution difference between the second envelope sequence and the target reference template to obtain the initial difference data, and extract the jitter change rate contained in the network jitter sequence. The calculation step size of the initial difference data is compensated according to the jitter change rate to obtain the target difference data. The generation module is used to track the convergence point of the target difference data and generate a decision curve. When the decision curve shows a continuous increasing trend, a teardown signal is generated, which instructs the media gateway to reclaim the physical line resources of the voice channel.

[0015] Thirdly, this application provides a computer-readable storage medium storing a computer program that, when executed by a processor, can implement the steps of the streaming voice response and line resource release method described in the first aspect above.

[0016] This application provides a method for streaming voice response and line resource release. The method includes: sending an outbound call request carrying call signaling to a terminal device, and establishing a voice channel after receiving an answer response from the terminal device; receiving a continuous voice stream carried by the voice channel, parsing the network transmission protocol of the continuous voice stream to obtain sequentially arriving voice data packets, extracting the envelope features of each voice data packet and concatenating them to generate a first envelope sequence, and extracting the network jitter sequence of the transmission link; constructing a dynamic sliding time window starting from the timestamp of the outbound call request, and continuously moving the dynamic sliding time window as the continuous voice stream is received, to calculate the current coverage of the dynamic sliding time window. The convolution of the first envelope sequence yields the second envelope sequence, and the first-order difference of the second envelope sequence is calculated to obtain differential data. A target reference template is obtained by scaling a preset initial reference template along the time axis based on the differential data. The distribution difference between the second envelope sequence and the target reference template is calculated to obtain initial differential data, and the jitter rate of change contained in the network jitter sequence is extracted. The calculation step size of the initial differential data is compensated according to the jitter rate of change to obtain target differential data. A decision curve is generated by tracking the convergence point of the target differential data. When the decision curve shows a continuous increasing trend, a teardown signaling is generated, which instructs the media gateway to reclaim the physical line resources of the voice channel.

[0017] In this application, by extracting envelope features from streaming speech and network jitter sequences from the transmission link, and using a dynamic sliding time window to convolve and smooth the first envelope sequence, interference caused by short-term spikes can be filtered out. A target reference template is obtained by scaling the initial reference template along the time axis using differential data, ensuring that the comparison benchmark matches the energy change rhythm of the current speech stream. Compensation is provided for the calculation step size of the initial difference data using the jitter change rate, eliminating the effects of false silence caused by network jitter and packet loss, thus obtaining target difference data reflecting the actual end trend of the speech. Finally, a decision curve is generated by tracking the convergence point of the target difference data, and a teardown signaling is triggered when the decision curve shows a continuous increasing trend. This allows for accurate identification of the actual call end time in complex network environments, enabling the media gateway to promptly reclaim physical line resources and improve the turnaround efficiency of line resources. Attached Figure Description

[0018] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0019] Figure 1 This is a schematic diagram of a system architecture for an intelligent outbound calling scenario disclosed in this application; Figure 2 This is a flowchart of a streaming voice response and line resource release method disclosed in this application; Figure 3a and Figure 3b This is a schematic diagram showing the energy bar comparison between a first envelope sequence and a second envelope sequence disclosed in this application; Figure 4a and Figure 4b This is a schematic diagram comparing the amplitude coordinates of an initial reference template and a target reference template disclosed in this application. Figure 5 This is a schematic diagram showing the coordinates of a determination curve and a convergence point disclosed in this application. Figure 6 This is a schematic diagram of the structure of a streaming voice response and line resource release system disclosed in this application. Detailed Implementation

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

[0021] Current mainstream methods for determining the end of a call mostly rely on terminal-side active hang-up signaling or fixed silence thresholds. However, network jitter and packet loss can cause false silences, leading to misjudgments. If the threshold is relaxed, ended calls will occupy physical lines for extended periods. To overcome these technical problems, this application discloses a streaming voice response and line resource release method that can accurately identify the true end time of the voice stream and promptly reclaim line resources.

[0022] See Figure 1 As shown, the system architecture provided in this application includes an outbound call platform 11, a media gateway 12, a terminal device 13, and a voice analysis module 14.

[0023] Outbound calling platform 11 refers to the server that uniformly schedules outbound calling tasks. It is responsible for generating outbound calling requests, managing the outbound calling task queue, and receiving the execution results of outbound calling tasks. Outbound calling platform 11 and media gateway 12 exchange control commands through an internal signaling channel.

[0024] Media gateway 12 refers to the network device responsible for allocating physical line resources and carrying voice channels. Media gateway 12 connects to the public switched telephone network or Internet Protocol network externally, and connects to outbound call platform 11 and voice analysis module 14 internally. When outbound call platform 11 sends outbound call request, media gateway 12 allocates port resources for the call and establishes a voice channel.

[0025] Terminal device 13 refers to the communication terminal used by the called party, including mobile phones, landlines and softphones. After answering a call, terminal device 13 continuously sends a continuous voice stream to media gateway 12 through the voice channel, and at the same time receives the voice content forwarded by outbound calling platform 11 through media gateway 12.

[0026] The voice analysis module 14 is deployed on the media gateway 12 or the outbound call platform 11. It is responsible for receiving the continuous voice stream forwarded by the media gateway 12 and executing all the processing procedures of subsequent steps S101 to S106. Finally, it sends the teardown signaling back to the media gateway 12.

[0027] In the above system architecture, the outbound call platform 11 sends an outbound call request to the media gateway 12. The media gateway 12 forwards the call signaling to the terminal device 13 and allocates physical line resources to establish a voice channel. After the terminal device 13 answers the call, it continuously sends a continuous voice stream to the media gateway 12 through the voice channel. The media gateway 12 forwards the continuous voice stream to the voice analysis module 14. The voice analysis module 14 performs envelope feature extraction, dynamic sliding time window convolution, reference template scaling, difference data compensation, and judgment curve analysis on the continuous voice stream. Finally, after determining that the call has ended, it sends a teardown signaling back to the media gateway 12. The media gateway 12 releases port resources according to the teardown signaling and notifies the outbound call platform 11.

[0028] Based on the above system, this application provides a method for streaming voice response and line resource release, see [link to relevant documentation]. Figure 2 As shown, the method includes: Step S101: Send an outbound call request carrying call signaling to the terminal device, and establish a voice channel after receiving the answer response from the terminal device.

[0029] The purpose of this step is to initiate a call from the outbound calling platform 11 to the terminal device 13 via the media gateway 12 and establish a voice channel, so as to provide a data transmission basis for receiving continuous voice streams in the future.

[0030] The specific implementation process of this step is as follows: First, the outbound calling platform 11 sends an outbound call request carrying call signaling to the terminal device 13. Call signaling refers to the control message sent by the calling party to the called party during the call setup phase. This call signaling includes the calling number, the called number, codec negotiation parameters, and authentication fields. The codec negotiation parameters include the audio encoding format, sampling rate, and packetization period. For example, the audio encoding format is pulse code modulation, the sampling rate is 8000 Hz, and the packetization period is 20 milliseconds. Terminal device 13 refers to the communication terminal used by the called party, including mobile phones or landlines.

[0031] Then, after the terminal device 13 answers the call, the outbound calling platform 11 receives the answer response sent back by the terminal device 13, and establishes a voice channel in collaboration with the media gateway 12 based on the codec negotiation parameters. The voice channel refers to the logical link that carries the bidirectional voice stream. The voice channel relies on the physical line resources allocated by the media gateway 12 for transmission. At this time, the call is in an interactive state.

[0032] Furthermore, before sending the outbound call request to the terminal device 13 in step S101, it is also necessary to perform authentication processing on the outbound call request to prevent the outbound call request from being illegally forged or maliciously replayed.

[0033] The specific implementation process of the authentication process is as follows: First, the outbound call task identifier to be executed and the preset key data are obtained. The outbound call task identifier is a unique number assigned by the outbound call platform 11 to each outbound call task (i.e., the task of the outbound call platform sending an outbound call request to the terminal device 13). The preset key data is the authentication key that is pre-shared between the outbound call platform 11 and the media gateway 12. Both the outbound call task identifier and the key data can be strings of letters and data, which can be set according to the requirements.

[0034] Then, the outbound call task identifier and the preset key data are concatenated into a string in byte order. The concatenated result is then subjected to a one-way hash operation using a hash algorithm to generate a tamper-proof verification code. The hash algorithm refers to an irreversible hash operation method. Since the hash algorithm is a commonly used algorithm, this application will not elaborate on it in detail. Of course, in addition to the hash algorithm, other methods can also be used to combine the outbound call task identifier and key data to generate a verification code, thereby ensuring that even if an attacker intercepts the verification code, it will be difficult to deduce the original key.

[0035] Furthermore, the checksum is configured as the outbound call authentication credential. The outbound call authentication credential is embedded in the extended field of the call signaling to generate an outbound call request. On the media gateway 12 side, the checksum is recalculated according to the same concatenation rules and hash algorithm and compared with the received checksum. If the comparison is consistent, the call is allowed; if the comparison is inconsistent, the call is rejected.

[0036] This step enhances the security of outbound call requests by embedding outbound call authentication credentials in the call signaling and establishing a voice channel after the call is answered.

[0037] After the voice channel is established, the terminal device 13 and the outbound calling platform 11 can conduct bidirectional real-time voice interaction through the media gateway 12. During this interaction, the terminal device 13 continuously sends a continuous voice stream to the media gateway 12, and the media gateway 12 simultaneously forwards the continuous voice stream to the voice analysis module 14 for subsequent processing.

[0038] Step S102: Receive the continuous voice stream carried by the voice channel, parse the network transmission protocol of the continuous voice stream to obtain the voice data packets that arrive in sequence, extract the envelope features of each voice data packet and splice them to generate the first envelope sequence, and extract the network jitter sequence of the transmission link.

[0039] In step S101, a voice channel has been established. Terminal device 13 continuously sends a continuous voice stream to media gateway 12 through this channel. Media gateway 12 synchronously forwards the continuous voice stream to voice analysis module 14. The purpose of this step is for voice analysis module 14 to parse the received continuous voice stream, where the continuous voice stream refers to the real-time voice code stream continuously sent by the terminal device during a call. Simultaneously, two data processing branches are constructed. The first data processing branch extracts the energy features of each voice data packet and concatenates them to generate a first envelope sequence. The first envelope sequence is a basic data sequence formed by sequentially concatenating the original energy peaks of each voice data packet in the continuous voice stream without any smoothing processing. The second data processing branch generates a network jitter sequence reflecting the transmission link status based on the arrival status of the voice data packets. The network jitter sequence is a discrete numerical sequence characterizing the fluctuations in the arrival time of each voice data packet in the transmission link. The outputs of both branches are used together in subsequent steps to identify the actual end time of the voice message.

[0040] The specific implementation process of this step is as follows: First, the continuous voice stream carried by the voice channel is received. Then, the continuous voice stream is de-protocol processed according to the real-time transmission protocol. De-protocol processing refers to reading the data frames in the continuous voice stream one by one, and parsing the version number field, payload type field, sequence number field, and timestamp field in sequence according to the fixed header format of the real-time transmission protocol. The parsed header information is separated from the remaining payload bytes, thereby obtaining the voice data packets that arrive at the media gateway 12 in sequence after stripping the header fields. The voice data packet refers to a single data unit transmitted in the network after protocol encapsulation. Each voice data packet contains a payload data of a fixed duration and a sequence number and timestamp field for sorting. For example, when the packetization period is 20 milliseconds and the sampling rate is 8000 Hz, each voice data packet contains payload data of 160 sampling points, a 16-bit sequence number field, and a 32-bit timestamp field.

[0041] Then, the first data processing branch is executed to parse the voice data packets arriving sequentially at media gateway 12 to obtain payload data. The payload data refers to the byte blocks used to carry voice sample values ​​after removing the protocol header. Then, the amplitude value of each sample point in the payload data is read one by one. The instantaneous power of each sample point is obtained by squaring the amplitude value of each sample point. The one with the largest instantaneous power value among all sample points is selected as the energy peak value of the payload data. The energy peak value refers to the energy value corresponding to the sample point with the highest power in one frame of the voice data packet, and the unit is watts.

[0042] Furthermore, the energy peak and the corresponding frame timestamp are marked as envelope features. Then, the sequence number contained in the network transmission protocol is read. The sequence number is a number assigned by the terminal device 13 in the order in which the voice data packets are generated, which can reflect the absolute position of the voice data packets in the original voice stream.

[0043] The envelope features are arranged in ascending order of sequence number to generate the first envelope sequence. When a sequence number jumps or a packet is lost, the energy peak value of the previous valid voice data packet is used to maintain the continuity of the first envelope sequence on the time axis at the corresponding position.

[0044] Next, the second data processing branch is executed to record the reception time of the sequentially arriving voice data packets, where reception time refers to the arrival time of each voice data packet. Then, the difference between the reception times of two adjacent voice data packets is calculated to obtain the actual arrival interval.

[0045] Furthermore, the standard interval of arrival (SAL) specified by the network transmission protocol is obtained. The SAL is the theoretical interval determined by the sender according to a fixed packet period; for example, when the packet period is 20 milliseconds, the SAL is 20 milliseconds. Then, the deviation between the actual interval of arrival and the SAL is calculated, where the deviation is equal to the actual interval of arrival minus the SAL.

[0046] When the network is unobstructed, the deviation value is close to zero; when there is delay or packet loss, the deviation value is positive; and when voice data packets arrive in clusters, the deviation value is negative. The deviation values ​​are combined sequentially according to their time order and then normalized according to the standard arrival interval to generate a network jitter sequence.

[0047] In practical engineering applications, the sequence numbers of the five voice data packets arriving sequentially at media gateway 12 are 101, 102, 103, 105, and 106, respectively, with a standard arrival interval of 20 milliseconds. Since sequence number 104 is missing, the energy peak corresponding to sequence number 103 is used to fill the fourth position in the first envelope sequence.

[0048] Meanwhile, assuming the reception times of the five voice data packets are 0 milliseconds, 21 milliseconds, 19 milliseconds, 62 milliseconds, and 20 milliseconds, respectively, the corresponding actual arrival intervals are 21 milliseconds, 19 milliseconds, 62 milliseconds, and 20 milliseconds, with deviation values ​​of 1 millisecond, -1 millisecond, 42 milliseconds, and 0 milliseconds, respectively. Assuming that after normalization, these values ​​are 0.05, -0.05, 2.10, and 0.00, then the network jitter sequence obtained by combining them in time order is [0.05, -0.05, 2.10, 0.00]. The above example is only one implementation method of this application.

[0049] This step, by constructing the first envelope sequence and the network jitter sequence separately in the same process, not only preserves the change information of the speech energy itself, but also simultaneously records the fluctuation of the transmission link.

[0050] Step S103: Construct a dynamic sliding time window starting from the timestamp of the outbound call request. As the continuous voice stream is received, the dynamic sliding time window is continuously moved to calculate the convolution of the first envelope sequence currently covered by the dynamic sliding time window to obtain the second envelope sequence, and calculate the first-order difference of the second envelope sequence to obtain the differential data.

[0051] In step S102, the first envelope sequence has been obtained. Since the first envelope sequence is directly spliced ​​together from the original energy peaks of each speech data packet, it inevitably contains noise, such as spikes or momentary drops in false silence. These noises usually only last for one or two speech data packets in time, but directly using this sequence to determine the end of the signal can easily lead to misjudgment. Therefore, this step requires using a dynamic sliding time window to perform convolution smoothing on the first envelope sequence to remove noise.

[0052] The specific implementation process of this step is as follows: First, the initiation timestamp of the outbound call request is configured as the starting boundary of the time window. The initiation timestamp refers to the system time at the moment when the outbound call platform 11 sends the outbound call request. Using the initiation timestamp as the starting boundary of the time window can ensure the consistency of the time base of the entire outbound call link. Then, an initial span is set to construct a dynamic sliding time window. The initial span refers to the length of time covered when the time window is first constructed. In the example, the value is taken as 200 milliseconds.

[0053] Specifically, the dynamic sliding time window is constructed as follows: the initiation timestamp is used as the left endpoint of the time window, and the initiation timestamp plus the initial span is used as the right endpoint. The interval between the left and right endpoints is the coverage area of ​​the time window. All sampling points of the first envelope sequence within the time window participate in subsequent convolution operations. For example, if the initiation timestamp is 0 milliseconds and the initial span is 200 milliseconds, then the time window covers the interval from 0 milliseconds to 200 milliseconds.

[0054] Then, the number of voice data packets received per unit time is counted. The unit time is configured to be the same as the initial span (for example, if the initial span is 200 milliseconds, the number of data packets received within the current 200-millisecond window is counted). The ratio of the actual number of voice data packets received per unit time to the number of standard data packets is used as a scaling factor, where the number of standard data packets refers to the total number of data packets that should theoretically be received within the unit time according to the standard arrival interval specified by the network transmission protocol (for example, when the unit time is 200 milliseconds and the standard arrival interval is 20 milliseconds, the number of standard data packets is 10). The scaling factor is then multiplied by the initial span to obtain the target span.

[0055] The purpose of the aforementioned proportional update is to enable the coverage of the dynamic sliding time window to adaptively match the actual data density of the current link. When the number of voice data packets received per unit time is greater than the number of standard data packets, the target span is expanded accordingly to cover more samples; when the number of voice data packets received is less than the number of standard data packets, the target span is shrunk accordingly to improve response sensitivity, thereby achieving the adaptation of the time window span to the link state.

[0056] Specifically, during adjustment, the starting boundary of the time window configured by the initiation timestamp is translated along the positive direction of the time axis with the target span as the step size. Each time the translation is completed, the starting and ending boundaries of the time window are displaced by the same amount. The length of the time window itself is always based on the target span obtained in the latest calculation.

[0057] At each position of the dynamic sliding time window, a convolution operation is performed on the first envelope sequence currently covered by the dynamic sliding time window and a preset convolution kernel. The convolution kernel is a normalized low-pass convolution kernel of length 5, used to perform weighted averaging of local energy peaks. As a specific example, to achieve a smoothing and de-scratching mean filtering effect, the weight coefficients of the 5 taps of the normalized low-pass convolution kernel are... to The weights can be configured to be 0.2, i.e., the convolution kernel sequence is [0.2,0.2,0.2,0.2,0.2]; or, a Gaussian smooth convolution kernel sequence with high weights in the center and low weights on both sides can be used, as long as the sum of all tap weight coefficients is 1. The convolution operation can be represented as shown in equation (1).

[0058]

[0059] In formula (1): Indicates the second envelope sequence in the th order. The amplitude at a specific point in time, in watts; Indicates that the first envelope sequence is in the th order. The peak original energy at each point in time, in watts; Indicates the convolution kernel at the th... Weighting coefficients for each tap The value range is from 0 to 4; Indicates the time point sequence number.

[0060] As shown in Figure 3, Figure 3 presents the difference in energy sequences before and after convolution smoothing through a comparative method. Among them, Figure 3a This shows the original first envelope sequence, where the height of the bars represents the original energy peak of each speech data packet; by Figure 3a It can be seen that there is a clear upward protrusion of spikes at time point t3, and there is an instantaneous energy trough of downward movement at time point t7.

[0061] Figure 3b This demonstrates the second envelope sequence after convolution smoothing using a dynamic sliding time window; comparison Figure 3a and Figure 3b visible, Figure 3b The energy amplitude in the middle shows a smooth downward trend. Figure 3a Energy spikes and instantaneous energy troughs in Figure 3b All values ​​were effectively filtered out, proving that the method described in this application can completely preserve the long-term energy decay trend of the speech stream while suppressing abnormal fluctuations caused by the network environment. Further, a first-order difference operation is performed on the second envelope sequence. Specifically, the amplitudes of the second envelope sequence at two adjacent time points are subtracted and divided by the corresponding time interval (i.e., the step size of adjacent sampling points) to obtain the difference data.

[0062] For example, such as Figure 3b As shown, the amplitude values ​​of the second envelope sequence corresponding to adjacent time points t5 and t6 are extracted, subtracted, and the difference is divided by the time interval between t5 and t6 (for example, when the system slides in 20ms steps, this interval is 20ms). The resulting difference data physically represents the slope of speech energy change over time, reflecting the rate of energy decrease or increase; a positive difference value indicates an upward trend in energy, a negative difference value indicates a downward trend in energy, and a larger absolute value of the difference value indicates a more drastic energy change. This step obtains the second envelope sequence by convolving the first envelope sequence through a dynamic sliding time window, and then obtains the difference data through first-order differencing, which can suppress short-term spikes while preserving long-term trends.

[0063] Step S104: Obtain the target reference template by scaling the preset initial reference template along the time axis based on the differential data.

[0064] The differential data obtained in step S103 reflects the rate of energy change in the current speech stream. However, the attenuation rhythm of the tail sound before hanging up varies among different calls. Some users pause briefly before hanging up, while others pause for a longer period. If a fixed-rhythm initial reference template is used for comparison, it is difficult to match the actual attenuation rhythm of the current speech stream. Therefore, this step requires scaling the initial reference template along the time axis based on the differential data to obtain a target reference template that matches the rhythm of the current speech stream.

[0065] Referring to Figure 4, the specific implementation process of this step is as follows: Read the slope value contained in the differential data, where the slope value refers to the average slope of all differential data within the current time window coverage (or a preset number of differential data before the current calculation time, such as the most recent 10 differential data), reflecting the steepness of the descent of the current speech stream tail.

[0066] The initial reference template refers to a baseline data model pre-stored by the system, which records the standard form of natural decay of the tail sound at the end of a voice call in a standard scenario. The initial reference template includes an amplitude sequence arranged in chronological order and a corresponding time axis, with the time axis marking the position of each sampling point in milliseconds.

[0067] As shown in Figure 4, Figure 4 presents the adaptive scaling process of the reference template as the slope of the current speech stream changes through comparison.

[0068] Figure 4a The initial reference template is presented in the form of a coordinate graph. As a pre-set baseline data model of the system, it records the standard form of natural decay at the end of a voice call in a standard scenario. For example... Figure 4a As shown, the time axis scale value of the initial reference template is a fixed standard interval (e.g., 20 milliseconds), and the five sampling points are connected in sequence to form a standard decay curve.

[0069] Figure 4b The target reference template is presented in the form of a coordinate graph. (Comparison) Figure 4a and Figure 4b visible, Figure 4b It combines the actual energy change slope of the current speech stream to... Figure 4a The initial reference template shown is stretched along the time axis to create a customized comparison template. For example... Figure 4b As shown, after the time axis is processed by a scaling factor (such as 1.2), the scale values ​​are updated to 24 milliseconds, 48 ​​milliseconds, etc., and the vertical axis magnitude is reconstructed by linear interpolation.

[0070] This comparison clearly demonstrates that the method described in this application can match the comparison benchmark with the energy change rhythm of the current speech stream, thereby improving the accuracy of subsequent difference calculations.

[0071] Then, the scaling factor corresponding to the slope value is obtained through a preset slope-to-scaling factor mapping table. The scaling factor refers to the coefficient used to scale the time axis of the initial reference template. The mapping table is a pre-established correspondence based on historical call samples, using a segmented mapping method. When the absolute value of the slope is between 0 and 0.5 watts / second, the corresponding scaling factor is 1.2; when the absolute value of the slope is between 0.5 and 1.0 watts / second, the corresponding scaling factor is 1.0; and when the absolute value of the slope is greater than 1.0 watts / second, the corresponding scaling factor is 0.8.

[0072] Furthermore, the time axis of the initial reference template is extracted, and the scale value of the time axis is multiplied by the scaling factor to obtain the updated scale value. When the scaling factor is not an integer and the updated scale value after multiplication does not fall on the original sampling point, linear interpolation is used to estimate the new amplitude between two adjacent original sampling points. "Not falling on the original sampling point" means that the time corresponding to the updated scale value does not have a directly recorded amplitude in the initial reference template. In this case, linear interpolation needs to be performed between the two nearest original sampling points before and after the updated scale value to estimate the new amplitude, so as to ensure that the target reference template still has continuous and complete amplitude on the updated time axis.

[0073] The specific operation of linear interpolation is as follows: assuming the updated scale value t falls on the original sampling point. and between, The corresponding amplitude is , The corresponding amplitude is Then the interpolation magnitude at t ,in Indicates updating the scale value Interpolation magnitude at the point, Indicates the original sampling point The corresponding amplitude, Indicates the original sampling point The corresponding amplitude. The target reference template is generated by reconstructing the initial reference template according to the updated scale value. The target reference template is a customized comparison template that is specifically adapted to the current speech stream by stretching or compressing the initial reference template along the time axis, taking into account the actual energy change slope of the current speech stream.

[0074] The lower part of Figure 4 presents the target reference template in coordinate form. The horizontal axis is the updated time axis, with scale values ​​of 0 ms, 24 ms, 48 ​​ms, 72 ms, and 96 ms. The vertical axis is the amplitude after linear interpolation. Connecting the five sampling points sequentially forms a stretched tail decay curve. Compared with the initial reference template in the left half, the time axis is enlarged overall, and the decay process is smoother. In practical engineering applications, let the initial reference template's time axis scale values ​​be 0 ms, 20 ms, 40 ms, 60 ms, and 80 ms, corresponding to amplitudes of 0.90 W, 0.72 W, 0.54 W, 0.36 W, and 0.18 W, respectively. The absolute value of the slope of the current difference data is 0.3, and the corresponding scaling factor in the mapping table is 1.2. Therefore, the updated scale values ​​are as follows: 0 × 1.2 = 0 milliseconds; 20 × 1.2 = 24 milliseconds; 40 × 1.2 = 48 milliseconds; 60 × 1.2 = 72 milliseconds; 80 × 1.2 = 96 milliseconds.

[0075] In summary, linear interpolation is used to estimate the amplitude at 24 milliseconds. Based on the values ​​of 0.72 watts at 20 milliseconds and 0.54 watts at 40 milliseconds, the amplitude corresponding to 24 milliseconds is 0.72 + (24 - 20) ÷ (40 - 20) × (0.54 - 0.72) = 0.72 + 0.2 × (-0.18) = 0.72 - 0.036 = 0.684 watts. This process is repeated for all sampling points to generate the target reference template. The above example is merely one implementation method of this application.

[0076] This step adaptively scales the initial reference template based on the differential data, so that the rhythm of the target reference template matches the energy change rhythm of the current speech stream.

[0077] Step S105: Calculate the distribution difference between the second envelope sequence and the target reference template to obtain the initial difference data, and extract the jitter change rate contained in the network jitter sequence. Compensate the initial difference data with the calculation step size according to the jitter change rate to obtain the target difference data.

[0078] In step S104, a target reference template adapted to the rhythm of the current speech stream has been obtained. However, in actual outbound call links, network jitter and packet loss can cause false silences in the second envelope sequence. If the difference is directly calculated between the second envelope sequence and the target reference template, the calculated difference data will be mixed with false differences caused by network fluctuations. Therefore, this step requires calculating the initial difference data first, and then compensating the calculation step size using the network jitter change rate, finally obtaining target difference data that can reflect the actual end of the speech.

[0079] The specific implementation process of this step is as follows: First, align the time nodes of the second envelope sequence with the target reference template. Considering that the sampling rates or starting points of the two sequences may differ, dynamic time warping is used for alignment. Dynamic time warping refers to a method that searches for the optimal matching path between the two sequences through dynamic programming while allowing local time offsets, so that the two sequences have comparable amplitudes at the same time node.

[0080] The specific operation of dynamic time warping is as follows: Construct a two-dimensional distance matrix, where the rows of the matrix correspond to the time points of the second envelope sequence and the columns correspond to the time points of the target reference template. Each element in the matrix is ​​equal to the square of the difference between the magnitude of the second envelope sequence at the time point of that row and the magnitude of the target reference template at the time point of that column. Then, starting from the top left corner of the matrix, according to the constraint that movement can only be in three directions: right, down, or down-right, a path from the top left corner to the bottom right corner is searched using a dynamic programming algorithm to minimize the sum of all elements on the path. This path is the optimal matching path between the two sequences. Each position on the path associates a certain time point of the second envelope sequence with a certain time point of the target reference template, thereby completing the alignment.

[0081] After alignment, the absolute difference between the amplitude of the second envelope sequence and the amplitude of the target reference template at the same time point is calculated. The absolute difference is the non-negative number obtained by subtracting the two amplitudes and taking the absolute value. The absolute differences at the same time point are combined in chronological order to generate initial difference data. The initial difference data refers to the most primitive deviation comparison result between the envelope features of the current speech stream and the target reference template. At this point, the impact of network stuttering has not yet been considered.

[0082] Furthermore, the jitter difference between adjacent nodes in the network jitter sequence is read. Each node in the network jitter sequence corresponds to the normalized deviation value of a voice data packet. The deviation values ​​of two adjacent nodes are subtracted, and then divided by the standard interval between the two nodes to obtain the change in jitter value per unit time. This change is used as the jitter change rate, which reflects the severity of link fluctuations per unit time, and is expressed in normalized deviation per second.

[0083] Then, the step size adjustment coefficient is determined based on the jitter rate of change. The step size adjustment coefficient is a positive real number coefficient used to scale the sampling interval of the initial difference data. This step size adjustment coefficient is calculated using the following piecewise function: ,in This represents the step size adjustment coefficient. This indicates the rate of change of jitter.

[0084] The piecewise function described above means that a larger jitter rate indicates more severe link fluctuations. In this case, a larger step size is needed to skip the sampling area affected by jitter, thereby reducing the interference of false silence on the difference data. The initial difference data calculation step size refers to the interval used when performing subsequent sampling processing on the initial difference data along the time axis. The initial value of this calculation step size is equal to the sampling interval of the second envelope sequence. The target step size is obtained by multiplying the step size adjustment coefficient by the initial difference data calculation step size.

[0085] Furthermore, the initial difference data is resampled according to the target step size. Specifically, starting from the beginning of the initial difference data, one sampling point is taken at intervals of one target step size. When the target step size is not an integer multiple of the original sampling interval, the sampling position falls between two adjacent original data points. At this point, a new difference value is obtained by linear interpolation based on the difference value between the two preceding and following original data points. All sampling points are extracted in the above manner to finally form the target difference data. Overall, the target difference data skips the dense fluctuation area affected by network jitter by increasing the sampling step size, and retains the long-term difference characteristics that reflect the end trend of real speech, thereby achieving the elimination of false silence interference.

[0086] In a typical scenario of this application, the relationship between the step size adjustment coefficient and the target step size corresponding to different jitter change rate segments is shown in Table 1 below: Table 1. Example of Values

[0087] In practical engineering applications, suppose the amplitudes of the second envelope sequence at three adjacent time points are 0.62 watts, 0.38 watts, and 0.20 watts, respectively, and the amplitudes of the target reference template at the same time points are 0.58 watts, 0.35 watts, and 0.18 watts, respectively. The corresponding absolute differences are: 0.62 - 0.58 = 0.04 watts; 0.38 - 0.35 = 0.03 watts; 0.20 - 0.18 = 0.02 watts.

[0088] In summary, the initial difference data segments obtained by combining them in chronological order are [0.04, 0.03, 0.02].

[0089] Meanwhile, assuming the normalized deviation values ​​of two adjacent nodes in the network jitter sequence are 0.05 and 0.35 respectively, and the standard interval is 20 milliseconds (0.02 seconds), then the jitter change rate is (0.35-0.05)÷0.02=15 seconds per second, corresponding to a step size adjustment coefficient of 1.5. The initial difference data calculation step size is 20 milliseconds, and the target step size is 20×1.5=30 milliseconds. The target difference data is obtained by resampling from the initial difference data according to the target step size of 30 milliseconds. The above example is only one implementation method of this application, and the numerical values ​​can be adjusted according to the actual network environment.

[0090] This step calculates the initial difference data and then compensates for the calculation step size using the jitter change rate to obtain the target difference data. This effectively suppresses the impact of network fluctuations, allowing the difference data to truly reflect the ending trend of the speech stream.

[0091] Step S106: Track the convergence point of the target difference data to generate a judgment curve. When the judgment curve shows a continuous increasing trend, generate a teardown signaling. The teardown signaling instructs the media gateway 12 to reclaim the physical line resources of the voice channel.

[0092] In step S105, target difference data that can truly reflect the differences in voice end has been obtained. The purpose of this step is to extract key features that can characterize the call end trend from the target difference data, and to decide whether to trigger teardown signaling to reclaim physical line resources based on the features.

[0093] See Figure 5 As shown, Figure 5 The relationship between the decision curve and the convergence point is presented in the form of a coordinate graph. Figure 5 The horizontal axis represents time in milliseconds, and the vertical axis represents the magnitude of the target difference data in watts. Figure 5 Four convergence points are marked: convergence point P1 at 480 milliseconds with an amplitude of 0.01 watts, convergence point P2 at 560 milliseconds with an amplitude of 0.02 watts, convergence point P3 at 640 milliseconds with an amplitude of 0.04 watts, and convergence point P4 at 720 milliseconds with an amplitude of 0.07 watts. The decision curve connecting convergence points P1 to P4 shows a continuously increasing trend throughout the entire segment.

[0094] Furthermore, combined Figure 5The convergence point values ​​are marked in the graph. The slope of the decision curve between adjacent convergence points is calculated, and the slope equals the amplitude difference between two adjacent convergence points divided by the time difference. The slope from convergence point P1 to convergence point P2 is (0.02-0.01)÷(560-480)=0.01÷80=0.000125 watts per millisecond, which is positive; the slope from convergence point P2 to convergence point P3 is (0.04-0.02)÷(640-560)=0.02÷80=0.000250 watts per millisecond, which is positive; the slope from convergence point P3 to convergence point P4 is (0.07-0.04)÷(720-640)=0.03÷80=0.000375 watts per millisecond, which is positive.

[0095] Since three consecutive slopes are positive, the condition is met, and a teardown signal is generated at the convergence point P4. In this example, multiple consecutive values ​​of 3 indicate that a teardown signal is generated when three consecutive adjacent slopes are positive. The specific value can be adjusted according to the sensitivity requirements of the outbound call scenario.

[0096] The teardown signal instructs media gateway 12 to reclaim the physical line resources of the voice channel. Upon receiving the teardown signal, media gateway 12 releases the port resources corresponding to the voice channel, clears the cached data, and updates the port status table, so that the released physical line resources can be quickly reused for the next outbound call task.

[0097] This step generates a decision curve by tracking the convergence point of the target difference data, and uses multiple consecutive positive slopes as the criteria for dismantling. This can suppress occasional fluctuations and misjudgments while promptly identifying the actual end time of the call, thereby ensuring the efficient turnover of line resources.

[0098] This application extracts envelope features from streaming speech and network jitter sequences from the transmission link. It then uses a dynamic sliding time window to convolve and smooth the first envelope sequence to filter out interference from short-term spikes. By adaptively scaling the initial reference template along the time axis using differential data, the comparison benchmark matches the energy change rhythm of the current speech stream. The calculation step size of the initial difference data is compensated by the jitter change rate to eliminate the false silence caused by network jitter and packet loss. Finally, a decision curve generated by tracking the convergence point triggers teardown signaling with a continuously increasing trend. This allows for accurate identification of the actual call end time in complex network environments, enabling the media gateway to promptly reclaim physical line resources, improving the timeliness and accuracy of line resource reclamation, and enhancing the overall turnaround efficiency of the outbound calling system.

[0099] Figure 6 A schematic diagram of a streaming voice response and line resource release system provided in this application embodiment is shown below. Figure 6 As shown, the system includes: The sending module 61 is used to send an outbound call request carrying a call signaling to the terminal device, and to establish a voice channel after receiving the answer response from the terminal device.

[0100] The receiving module 62 is used to receive the continuous voice stream carried by the voice channel, parse the network transmission protocol of the continuous voice stream to obtain the voice data packets that arrive in sequence, extract the envelope features of each voice data packet and splice them to generate the first envelope sequence, and extract the network jitter sequence of the transmission link.

[0101] The construction module 63 is used to construct a dynamic sliding time window starting from the timestamp of the outbound call request. The dynamic sliding time window is continuously moved as the continuous voice stream is received to calculate the convolution of the first envelope sequence currently covered by the dynamic sliding time window to obtain the second envelope sequence, and to calculate the first-order difference of the second envelope sequence to obtain the differential data.

[0102] The scaling module 64 is used to scale a preset initial reference template along the time axis based on the differential data to obtain the target reference template.

[0103] The calculation module 65 is used to calculate the distribution difference between the second envelope sequence and the target reference template to obtain the initial difference data, and to extract the jitter change rate contained in the network jitter sequence. The calculation step size of the initial difference data is compensated according to the jitter change rate to obtain the target difference data.

[0104] The generation module 66 is used to track the convergence point of the target difference data and generate a decision curve. When the decision curve shows a continuous increasing trend, a teardown signal is generated, which instructs the media gateway to reclaim the physical line resources of the voice channel.

[0105] The streaming voice response and line resource release system of this application embodiment is used to implement the aforementioned streaming voice response and line resource release method. Therefore, the specific implementation of the streaming voice response and line resource release system can be found in the embodiment section of the streaming voice response and line resource release method above. The specific implementation can be referred to the description of the corresponding embodiment, and will not be repeated here.

[0106] This application also provides a computer-readable storage medium storing a computer program, which, when executed by a processor, implements the steps of any of the above-described streaming voice response and line resource release methods.

[0107] In one exemplary embodiment, the aforementioned computer-readable storage medium may include, but is not limited to, various media capable of storing computer programs, such as USB flash drives, read-only memory, random access memory, portable hard drives, magnetic disks, or optical disks.

[0108] Embodiments of this application also provide a computer program product, which includes a computer program that, when executed by a processor, implements the steps in any of the above embodiments of the streaming voice response and line resource release method.

[0109] Those skilled in the art will further recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of the various examples have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0110] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in one or more embodiments of this specification are all information and data authorized by the user or fully authorized by all parties. Furthermore, the collection, use and processing of related data must comply with relevant laws, regulations and standards, and corresponding operation entry points are provided for users to choose to authorize or refuse.

[0111] The above provides a detailed description of a streaming voice response and line resource release method and system provided in this application. Specific examples have been used to illustrate the principles and implementation methods of this application. The descriptions of the embodiments above are merely for the purpose of helping to understand the method and its core ideas. It should be noted that those skilled in the art can make various improvements and modifications to this application without departing from its principles, and these improvements and modifications also fall within the protection scope of this application.

Claims

1. A method for streaming voice response and line resource release, characterized in that, include: Send an outbound call request carrying call signaling to the terminal device, and establish a voice channel after receiving the answer response from the terminal device; Receive the continuous voice stream carried by the voice channel, parse the network transmission protocol of the continuous voice stream to obtain the voice data packets that arrive in sequence, extract the envelope features of each voice data packet and splice them to generate a first envelope sequence, and extract the network jitter sequence of the transmission link; A dynamic sliding time window is constructed starting from the timestamp of the outbound call request. The dynamic sliding time window is continuously moved as the continuous voice stream is received. The convolution of the first envelope sequence currently covered by the dynamic sliding time window is calculated to obtain the second envelope sequence, and the first-order difference of the second envelope sequence is calculated to obtain the differential data. The target reference template is obtained by scaling the preset initial reference template along the time axis based on the differential data; The initial difference data is obtained by calculating the distribution difference between the second envelope sequence and the target reference template, and the jitter change rate contained in the network jitter sequence is extracted. The target difference data is obtained by compensating the calculation step size of the initial difference data according to the jitter change rate. A decision curve is generated by tracking the convergence point of the target difference data. When the decision curve shows a continuous increasing trend, a teardown signal is generated, which instructs the media gateway to reclaim the physical line resources of the voice channel.

2. The method according to claim 1, characterized in that, The process of calculating the distribution difference between the second envelope sequence and the target reference template to obtain initial difference data, extracting the jitter change rate contained in the network jitter sequence, and compensating the calculation step size of the initial difference data according to the jitter change rate to obtain target difference data includes: Align the time points of the second envelope sequence with the target reference template to calculate the absolute difference between the amplitude of the second envelope sequence and the amplitude of the target reference template at the same time point; The absolute differences at the same time point are combined in chronological order to generate initial difference data; The jitter difference between adjacent nodes in the network jitter sequence is read to generate the jitter change rate, and the step size adjustment coefficient is determined based on the jitter change rate. The target step size is obtained by multiplying the step size adjustment coefficient by the calculation step size of the initial difference data, and the target difference data is generated by resampling the initial difference data according to the target step size.

3. The method according to claim 1, characterized in that, The step of constructing a dynamic sliding time window starting from the timestamp of the outbound call request, and continuously moving the dynamic sliding time window as the continuous voice stream is received, includes: Configure the initiation timestamp as the starting boundary of the time window, and set the initial span to construct a dynamic sliding time window; The number of voice data packets received per unit time is counted, and the initial span is updated proportionally according to the number to obtain the target span. The starting boundary is then translated along the positive direction of the time axis with the target span as the step size.

4. The method according to claim 1, characterized in that, The step of obtaining the target reference template by scaling a preset initial reference template along the time axis based on the differential data includes: Read the slope values ​​contained in the differential data and obtain the scaling factor corresponding to the slope values; Extract the time axis of the initial reference template, multiply the scale value of the time axis by the scaling factor to obtain the updated scale value, and reconstruct the initial reference template according to the updated scale value to generate the target reference template.

5. The method according to claim 1, characterized in that, The process of generating a decision curve by tracking the convergence point of the target difference data, and generating a demolition signal when the decision curve shows a continuous increasing trend, includes: Extract the minimum value nodes from the target difference data, mark the minimum value nodes as convergence points, and connect the convergence points that appear in sequence in the time coordinate system to generate a decision curve; Calculate the slope of adjacent convergence points in the determination curve, and generate a demolition signal when multiple consecutive slopes are positive.

6. The method according to claim 1, characterized in that, The extraction of the network jitter sequence of the transmission link includes: Record the reception time of the voice data packets that arrive in sequence, and calculate the difference between the reception times of two adjacent voice data packets to obtain the actual arrival interval; Obtain the standard interval of arrival specified by the network transmission protocol, calculate the deviation between the actual interval of arrival and the standard interval of arrival, and combine them to generate a network jitter sequence.

7. The method according to claim 1, characterized in that, The step of extracting the envelope features of each of the speech data packets and concatenating them to generate the first envelope sequence includes: The voice data packets are parsed to obtain payload data, and the energy peaks of the payload data are extracted and marked as envelope features. Read the sequence number contained in the network transmission protocol, and arrange the envelope features in ascending order of the sequence number to generate a first envelope sequence.

8. The method according to claim 1, characterized in that, Before sending an outbound call request carrying call signaling to the terminal device, the process also includes: Obtain the outbound call task identifier to be executed and the preset key data, and concatenate the outbound call task identifier and the preset key data to generate a verification code; Configure the verification code as an outbound call authentication credential, and embed the outbound call authentication credential into the call signaling to generate the outbound call request.

9. A streaming voice response and line resource release system, characterized in that, include: The sending module is used to send an outbound call request carrying a call signaling to the terminal device, and to establish a voice channel after receiving the answer response from the terminal device. The receiving module is used to receive the continuous voice stream carried by the voice channel, parse the network transmission protocol of the continuous voice stream to obtain the voice data packets that arrive in sequence, extract the envelope features of each voice data packet and splice them to generate a first envelope sequence, and extract the network jitter sequence of the transmission link. The construction module is used to construct a dynamic sliding time window starting from the timestamp of the outbound call request, and continuously move the dynamic sliding time window as the continuous voice stream is received, so as to calculate the convolution of the first envelope sequence currently covered by the dynamic sliding time window to obtain the second envelope sequence, and calculate the first difference of the second envelope sequence to obtain the differential data. The scaling module is used to scale a preset initial reference template along the time axis based on the differential data to obtain a target reference template; The calculation module is used to calculate the distribution difference between the second envelope sequence and the target reference template to obtain initial difference data, extract the jitter change rate contained in the network jitter sequence, and compensate the calculation step size of the initial difference data according to the jitter change rate to obtain target difference data; The generation module is used to track the convergence point of the target difference data to generate a determination curve. When it is determined that the determination curve shows a continuous increasing trend, a teardown signaling is generated, which instructs the media gateway to reclaim the physical line resources of the voice channel.

10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, enables the implementation of the streaming voice response and line resource release method as described in any one of claims 1 to 8.