Call recording dislocation detection method, device, equipment, medium and program product

By combining and misaligning the call recordings of the calling numbers and called numbers in the virtual number service, the call recording misalignment problem is solved, the detection efficiency and accuracy are improved, the process is simplified and resource consumption is reduced.

CN119135794APending Publication Date: 2024-12-13CHINA MOBILE INTERNET CO LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411290824.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-14
Publication Date
2024-12-13

AI Technical Summary

Technical Problem

Call recording in virtual number service is prone to misalignment problems, which affects the listening and recording experience of intermediate number access customers. The existing detection methods are inefficient and resource consumption are high.

Method used

By combining the call recordings of the calling number and the called number, the non-silent segments in the merged call recording are detected, and whether there is a misalignment problem in the call recording is determined based on the time interval of the non-silent segments, the detection process is simplified, and the detection efficiency is improved.

Benefits of technology

It realizes fast and accurate call recording misalignment detection, reduces resource consumption, and the detection results are closer to customer needs and simplifies the detection process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119135794A_ABST
    Figure CN119135794A_ABST
Patent Text Reader

Abstract

The invention discloses a call recording dislocation detection method and device, equipment, a medium and a program product, which are used for accurately and efficiently detecting whether call recording has a dislocation problem or not. The call recording dislocation detection method comprises the following steps: merging a first call recording of a calling number and a second call recording of a called number to obtain a third call recording; detecting the third call record to obtain a non-mute segment of the third call record; the non-mute fragment comprises a first non-mute fragment belonging to the calling number and a second non-mute fragment belonging to the called number; and based on the time interval of the first non-mute segment and the time interval of the second non-mute segment, determining whether the third call record has a dislocation problem.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of mobile communication technology, and in particular to a call recording misalignment detection method, device, equipment, medium and program product. Background Art

[0002] With the rapid development of mobile communication services, in order to meet the needs of protecting the privacy of both parties, call security, call recording, etc., virtual number (also known as intermediate number) services have emerged. In the virtual number service scenario, the two parties of the call use a temporarily assigned virtual number (Virtual Number) to make a call, so that neither party can see the other party's real number, protecting the privacy of both parties of the call. During the call, the parties of the call can also be recorded to meet the needs of customized functions.

[0003] However, in the above virtual number service, call recording may occasionally be misplaced. For example, the voice that appears at the 30th second of a call between the caller and the caller may be recorded at the 25th second, resulting in the communication content between the caller and the caller not corresponding in time when listening to the call recording. This misalignment will seriously affect the listening experience of customers who access the intermediate number. Therefore, it is necessary to accurately and efficiently detect whether there is a misalignment problem in the call recording. Summary of the invention

[0004] The purpose of the embodiments of the present application is to provide a call recording misalignment detection method, device, equipment, medium and program product for accurately and efficiently detecting whether there is a misalignment problem in the call recording.

[0005] In order to achieve the above objectives, the present application embodiment adopts the following technical solutions:

[0006] In a first aspect, an embodiment of the present application provides a method for detecting misalignment of a call recording, including:

[0007] Merging the first call recording of the calling number and the second call recording of the called number to obtain a third call recording;

[0008] Detecting the third call recording to obtain a non-silent segment of the third call recording; the non-silent segment includes: a first non-silent segment belonging to the calling number and a second non-silent segment belonging to the called number;

[0009] Based on the time interval of the first non-silent segment and the time interval of the second non-silent segment, it is determined whether there is a misalignment problem in the third call recording.

[0010] In a second aspect, an embodiment of the present application provides a call recording misalignment detection device, including:

[0011] A merging unit, used to merge a first call recording of a calling number and a second call recording of a called number to obtain a third call recording;

[0012] a segment detection unit, configured to detect the third call recording to obtain a non-silent segment of the third call recording; the non-silent segment includes: a first non-silent segment belonging to the calling number and a second non-silent segment belonging to the called number;

[0013] The misalignment detection unit is used to determine whether there is a misalignment problem in the third call recording based on the time interval of the first non-silent segment and the time interval of the second non-silent segment.

[0014] In a third aspect, an embodiment of the present application provides an electronic device, including:

[0015] processor;

[0016] a memory for storing instructions executable by the processor;

[0017] The processor is configured to execute the instructions to implement the call recording misalignment detection method as provided in the first aspect.

[0018] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium. When the instructions in the storage medium are executed by a processor of an electronic device, the electronic device can execute the call recording misalignment detection method provided in the first aspect.

[0019] In a fifth aspect, an embodiment of the present application provides a computer program product, which includes a non-transitory computer-readable storage medium storing a computer program, and the computer program is operable to cause a computer to execute some or all of the steps in the call recording misalignment detection method provided in the first aspect.

[0020] At least one of the above technical solutions adopted in the embodiments of the present application can achieve the following beneficial effects:

[0021] Considering that there are often silent segments in the call recording after the combination, the recording segments of the calling number and the called number are usually separated by silent segments. Based on this, by merging the first call recording of the calling number and the second call recording of the called number to obtain a third call recording, and detecting the third call recording, the first non-silent segment belonging to the calling number and the second non-silent segment belonging to the called number in the third call recording can be quickly and accurately determined, and it is helpful to eliminate the influence of environmental noise on the subsequent misalignment detection process, and improve the detection accuracy; further, considering that a voice call is a process of interaction between two parties, the communicating parties not only need to listen to each other's expression, but also need to express their opinions and views in a timely manner. Therefore, the caller and the called party generally do not speak at the same time, so that the probability of the call recordings of the caller and the called party intersecting in time is low. Based on this, based on the time interval of the first non-silent segment and the time interval of the second non-silent segment, it is helpful to accurately judge the intersection of the two non-silent segments in time, and then accurately determine whether there is a misalignment problem in the third call recording. In addition, in actual business scenarios, the recording file provided to the access client side is usually a call recording after the recordings of the calling and called numbers are combined. The method provided in the embodiment of the present application directly performs misalignment detection on the merged third call recording, which not only makes the detection results closer to customer needs, but also eliminates the operation of channel separation of the combined files, thereby simplifying the detection process, improving detection efficiency, and reducing resource consumption. BRIEF DESCRIPTION OF THE DRAWINGS

[0022] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:

[0023] Figure 1 A schematic diagram of an application scenario of the call recording misalignment detection method provided in an embodiment of the present application;

[0024] Figure 2 A flowchart of a method for detecting misalignment of call recordings provided in accordance with an embodiment of the present application;

[0025] Figure 3 A schematic diagram of correcting a first recording segment provided in one embodiment of the present application;

[0026] Figure 4 A schematic diagram of a method for determining an intersection rate provided in accordance with an embodiment of the present application;

[0027] Figure 5 A flowchart of a call recording misalignment detection method according to another embodiment of the present application;

[0028] Figure 6 A schematic diagram of a third time point and a fourth time point provided for an embodiment of the present application;

[0029] Figure 7 A flowchart of a method for detecting misalignment of call recordings provided in accordance with another embodiment of the present application;

[0030] Figure 8 A schematic diagram of the structure of a call recording misalignment detection device provided by an embodiment of the present application;

[0031] Fig. 9 A schematic diagram of the structure of an electronic device provided for one embodiment of the present application. DETAILED DESCRIPTION

[0032] In order to make the purpose, technical solution and advantages of the present application clearer, the technical solution of the present application will be clearly and completely described below in combination with the specific embodiments of the present application and the corresponding drawings. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of the present application.

[0033] The terms "first", "second", etc. in this specification and claims are used to distinguish similar objects, and are not used to describe a particular order or precedence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present application can be implemented in an order other than those illustrated or described herein. In addition, "and / or" in this specification and claims means at least one of the connected objects, and the character " / " generally means that the objects associated with each other are in an "or" relationship.

[0034] As mentioned above, call recordings may occasionally be misplaced in virtual number services, which will seriously affect the listening experience of customers who access the intermediate number. Therefore, it is necessary to accurately and efficiently detect whether there is a misplacement problem in call recordings.

[0035] There are generally two solutions to this problem of recording misalignment:

[0036] The first solution is to use waveform comparison to achieve misalignment detection, that is, after decoding the recording of the calling number, a PCM (Pulse-Code Modulation) stream is generated, and then a waveform of the recording of the calling number is generated based on the PCM stream. The same operation is performed on the recording of the called number to obtain a waveform of the recording of the called number. Finally, image technology is used to determine the cross-display of the two waveforms. If the waveforms cross too much, it is determined that there is a misalignment problem in the call recording. However, the main scenarios for virtual number calls are takeout, express delivery and other scenarios. Calls in such scenarios are noisy, and the waveform is continuous under continuous noise. Misalignment detection based on the intersection of the waveforms of the calling and called numbers is prone to misjudgment. In addition, waveforms are generated for the recordings of both the calling and called numbers, which is not only inefficient, but also has high requirements for the precision of the waveforms. Image detection technology is also time-consuming, resulting in low detection efficiency and the need to consume a lot of resources.

[0037] The first solution is to use speech recognition technology to detect misalignment, that is, to perform speech recognition on the recording of the calling number and the recording of the called number respectively, to obtain the call text of the calling number and the call text of the called number, and to mark the start time and end time of each call text, and to organize all call texts into the form of dialogues in chronological order, and then determine whether there is a misalignment problem in the call recording based on the semantics and start time of the previous and subsequent dialogues. However, this method relies on the accuracy of the recognition engine, which places too high demands on the recognition engine. In addition, the solution is cumbersome to operate and cannot detect recordings of virtual numbers with large daily business volumes.

[0038] The applicant has studied the process of voice calls and found that, on the one hand, voice calls are a process of interaction between two parties. The communicating parties not only need to listen to each other's expressions, but also need to express their opinions and views in a timely manner. Therefore, the caller and the called party generally do not speak at the same time, which makes the probability of the call recordings of the caller and the called party overlapping in time relatively low. Based on this, if there are too many overlapping parts in time between the recording segments of the calling number and the recording segments of the called number in a call recording, it can be determined that there is a misalignment problem in the call recording.

[0039] On the other hand, in actual business scenarios, the recording files provided to the access client are usually the recordings of the calling and called numbers combined. If the dislocation detection is performed directly on the combined call recordings, not only will the detection results be closer to customer needs, but the operation of channel separation of the combined files can be omitted, thereby simplifying the detection process, improving detection efficiency, and reducing resource consumption.

[0040] On the other hand, there are often silent segments in the combined call recordings. The recording segments of the calling number and the called number are usually separated by silent segments. Therefore, the calling and called number recording segments can be quickly and accurately located based on the silent segments. Then, with the help of the temporal intersection of the calling and called number recording segments, it is possible to quickly and accurately determine whether there is a misalignment problem in the combined call recording.

[0041] Taking the above aspects into consideration, an embodiment of the present application proposes a method for detecting misalignment of call recordings, by merging a first call recording of a calling number and a second call recording of a called number to obtain a third call recording, and detecting the third call recording to accurately locate a first non-silent segment belonging to the calling number and a second non-silent segment belonging to the called number in the third call recording; finally, based on the time interval of the first non-silent segment and the time interval of the second non-silent segment, determine whether the third call recording has a misalignment problem.

[0042] It should be understood that the call recording misalignment detection method provided in the embodiment of the present application can be implemented by a media platform acting as an intermediate agent.

[0043] The technical solutions provided by various embodiments of the present application are described in detail below in conjunction with the accompanying drawings.

[0044] In order to facilitate the understanding of the technical solution provided in the embodiments of the present application, firstly Figure 1 , the application scenario of the technical solution provided in the embodiment of the present application is described. It should be understood that the technical solution provided in the embodiment of the present application is applicable to Figure 1 The application scenario shown is only an exemplary description and should not be understood as a limitation on the application scenario of the technical solution.

[0045] like Figure 1 As shown, an application scenario includes a first terminal device 10, a second terminal device 20 and a media platform 30 as an intermediate agent. In a call service based on virtual number technology, the first terminal device 10 and the second terminal device 20 complete media negotiation via signaling based on the intermediate numbers allocated to each other, and then encapsulate their own voice frames into RTP (Real-time Transport Protocol) data packets, and transmit them to the other party through the media platform to realize the call.

[0046] Assume that the first terminal device 10 is the calling party, and the intermediate number assigned to it is called the calling number, and the second terminal device 20 is the called party, and the intermediate number assigned to it is called the called number. The RTP data packet from the calling number is called the first RTP data packet, which carries the first voice frame sent by the calling number to the called number. The RTP data packet from the called number is called the second RTP data packet, which carries the second voice frame sent by the called number to the calling number. In addition, both the first RTP data packet and the second RTP data packet may also include but are not limited to the following information: version number, load type, SEQ (Sequence number), timestamp and other information. Among them, the version number is used to indicate the version of RTP used, and the load type indicates the type of RTP load.

[0047] The media platform 30 also has a call recording function for the calling number and the called number. A recording module is provided in the media platform 30, and the recording module includes two RTP links, one linking the calling number for recording the calling number, and the other linking the called number for recording the called number.

[0048] Specifically, each time the media platform 30 receives a first RTP data packet, it detects whether the first RTP data packet has abnormal conditions such as disorder or abnormal timestamp. If the first RTP data packet has the above abnormal conditions, the write storage process is not executed for the first RTP data packet; if the first RTP data packet does not have the above abnormal conditions, the write storage process is executed for the first RTP data packet, that is, the first RTP data packet is parsed. If the load type in the first RTP data packet does not match the media encoding type in the signaling SDP negotiation, or the size of the load type is inconsistent with the size after parsing, etc., it is determined that the first RTP data packet has a parsing abnormality, and the first voice frame carried in the first RTP data packet is refused to be written into the first storage unit; if it is determined that the first RTP data packet is parsed normally, the first voice frame carried in the first RTP data packet is written into the first storage unit. The above write storage process is the call recording process for the calling number, and the first voice frame in the first storage unit is used to generate the first call recording of the calling number.

[0049] Each time the media platform 30 receives a second RTP data packet, it detects whether the second RTP data packet has abnormal conditions such as disorder or abnormal timestamp. If the second RTP data packet has the above abnormal conditions, the write storage process is not executed on the second RTP data packet; if the second RTP data packet does not have the above abnormal conditions, the write storage process is executed on the first RTP data packet, that is, the second RTP data packet is parsed. If the load type in the second RTP data packet does not match the media encoding type in the signaling SDP negotiation, or the size of the load type is inconsistent with the size after parsing, etc., it is determined that the second RTP data packet has a parsing abnormality, and the second voice frame carried in the second RTP data packet is refused to be written into the second storage unit; if it is determined that the second RTP data packet is parsed normally, the first voice frame carried in the second RTP data packet is written into the second storage unit. The above write storage process is the call recording process for the called number, and the second voice frame in the second storage unit is used to generate the second call recording of the called number.

[0050] In addition, the media platform 30 also merges the first call recording and the second call recording to obtain a third call recording for downloading by the client side.

[0051] Please refer to Figure 2 , is a flow chart of a method for detecting misalignment of call recordings provided by an embodiment of the present application, the method comprising the following steps:

[0052] S202: Merge the first call recording of the calling number and the second call recording of the called number to obtain a third call recording.

[0053] Exemplarily, in a call scenario based on virtual number technology, both the calling number and the called number are intermediate numbers.

[0054] As described above, during a call between a calling number and a called number, the media platform records the voice of the calling number to obtain a first call recording. Exemplarily, the first call recording is generated based on a first voice frame in a first storage unit. Similarly, the media platform also records the voice of the called number to obtain a second call recording. Exemplarily, the second call recording is generated based on a second voice frame in a second storage unit.

[0055] The first call recording and the second call recording may be combined in various appropriate ways. The combined third call recording is the file provided to the client for download and is also the file for subsequent misalignment detection.

[0056] In one embodiment, the channel of the calling number is configured as the first channel, and the channel of the called number is configured as the second channel; based on the first channel and the second channel, the first call recording of the calling number and the second call recording of the called number are merged in chronological order to obtain a third call recording.

[0057] For example, the first channel is the left channel and the second channel is the right channel. After decoding and encoding the first call recording and the second call recording, they are merged according to the channels and time sequence of their respective parties to obtain a third call recording with two channels.

[0058] In the above implementation, the first call recording and the second call recording are merged in order of channels and time, which not only enables the third call recording to intuitively describe the call content between the calling number and the called number, but also facilitates the subsequent misalignment detection process. Without the need to separate the channels of the third call recording, the recording segments belonging to the calling number and the called number can be accurately located, thereby helping to improve the efficiency and accuracy of misalignment detection.

[0059] Of course, it should be understood that the above S202 can also use various voice merging technologies commonly used in the art to merge the first call recording and the second call recording to obtain a third call recording, which is not limited in this embodiment of the present application.

[0060] S204: Detect the third call recording to obtain a non-silent segment of the third call recording.

[0061] The non-silent segment includes: a first non-silent segment belonging to the calling number and a second non-silent segment belonging to the called number.

[0062] In the above S204, the third call recording may be detected in various appropriate ways, which is not limited in this embodiment of the present application.

[0063] In one implementation, noise detection is performed on the third call recording to obtain a non-silent segment of the third call recording.

[0064] Noise detection refers to detecting a segment containing noise in the third call recording.

[0065] Exemplarily, a recording segment in which the signal energy (i.e., amplitude) in the third call recording exceeds a preset energy is determined as a non-silent segment of the third call recording. The preset energy is a noise tolerance preset according to actual needs to reduce the impact of ambient sound on silence detection.

[0066] In another implementation, silence detection is performed on the third call recording to obtain a silent segment of the third call recording, and based on the silent segment, a non-silent segment of the third call recording is determined.

[0067] Silence detection refers to detecting silent segments in the third call recording. Considering that there is often environmental noise in the actual call process, which will affect the misalignment detection process, detecting the silent segments in the third call recording not only helps to eliminate the impact of environmental noise on the subsequent misalignment detection process and improve the detection accuracy, but also because the recording segments of the calling number and the called number are usually separated by silent segments, the recording segments of the calling and called numbers can be quickly and accurately located based on the silent segments, and then, with the help of the time intersection of the recording segments of the calling and called numbers, it is possible to quickly and accurately determine whether there is a misalignment problem in the call recording after the sound is combined.

[0068] In the embodiment of the present application, the above-mentioned silence detection of the third call recording can be implemented in various appropriate ways, and the embodiment of the present application is not limited to this.

[0069] In one implementation, a recording segment in which the signal energy (ie, amplitude) in the third call recording does not exceed a preset energy is determined as a silent segment of the third call recording.

[0070] The preset energy is a noise tolerance preset according to actual needs, which is used to reduce the impact of ambient sound on silence detection.

[0071] Considering that during a call, if the voice is too soft, a certain recording segment in the third call recording may have a signal energy lower than the preset energy, which may cause such recording segments to be misjudged as silent segments, thereby affecting the accuracy of misalignment detection. To this end, in another implementation, a first recording segment in the third call recording whose signal energy does not exceed the preset energy for a period longer than the first preset period is determined; based on the first recording segment, a silent segment of the third call recording is determined.

[0072] The first preset duration refers to the minimum noise detection duration (Silence Duration) preset according to actual needs, which is used to implement interval detection. When the signal energy of a certain recording segment in the third call recording is continuously lower than the preset energy for a long time, the recording segment is determined to be a silence segment.

[0073] After obtaining the first recording segment, as an example, the first recording segment may be determined as a silent segment.

[0074] Taking into account that there may be an error between the first recording segment and the actual silent segment, as another example, a target correction value corresponding to the preset energy is determined from a preset correspondence between energy and correction value; the first recording segment is corrected based on the target correction value to obtain a silent segment of the third call recording.

[0075] Among them, the preset corresponding relationship can be set according to actual needs. For example, before the silence detection is performed on the third call recording, the difference between the start and end time points of the first recording segment in each sample call recording and the start and end time points of the actual silence segment under different preset energies is determined; then, these differences are analyzed using mathematical statistics to obtain the corresponding relationship between energy and correction value.

[0076] Since the waveform of the third call recording is a sine wave, the error can be corrected using a linear set method. Figure 3 As shown, after the target correction value is obtained through the above-mentioned preset corresponding relationship, the starting time point of the first recording segment is moved back by the target correction value to obtain the first time point; the ending time point of the first recording segment is moved by the target correction value to obtain the second time point; the second recording segment in the third call recording located between the first time point and the second time point is used as the silent segment of the third call recording.

[0077] Since the silence detection errors caused by different preset energies are different, the target correction value corresponding to the preset energy is determined from the preset correspondence between the energy and the correction value, so that the first recording segment is corrected based on the target correction value. This can reduce the silence detection error caused by the preset energy, making the final third silence segment more reasonable and more in line with the situation without noise.

[0078] In actual applications, since the third call recording is a dual-channel file, when performing silence detection on the third call recording, the recording segments of the calling number and the called number can be distinguished based on the different stream identifiers (streamId) corresponding to different channels. There is no need to separate the third call recording into a single channel and then perform silence detection. Thus, silence detection can be performed on multiple channels simultaneously, that is, silence detection is performed on the recording segments of each channel using any of the above-mentioned implementation methods.

[0079] Since the recording clips of the calling number and the called number are usually separated by silent clips, the recording clips of the calling and called numbers can be quickly and accurately located based on the silent clips. Then, with the help of the temporal intersection of the recording clips of the calling and called numbers, it can be quickly and accurately determined whether there is a misalignment problem in the third call recording.

[0080] Specifically, the number of silent segments is at least one. Accordingly, the above-mentioned determination of the non-silent segments of the third call recording based on the silent segments of the third call recording includes the following steps: based on the start time point and the end time point of each silent segment, determining at least one non-silent segment from the third call recording, wherein the at least one non-silent segment includes: the third recording segment between two adjacent silent segments, the fourth recording segment before the start time point of the first silent segment, and the fifth recording segment after the end time point of the last silent segment; based on the channel of each non-silent segment, determining the first non-silent segment belonging to the calling number and the second non-silent segment belonging to the called number from at least one non-silent segment.

[0081] For example, since the channel of the calling number is configured as the first channel and the channel of the called number is configured as the second channel, for each non-silent segment, if the channel of the non-silent segment is the first channel, the non-silent segment is determined to be the first non-silent segment; if the channel of the non-silent segment is the second channel, the non-silent segment is determined to be the second non-silent segment.

[0082] S206: Determine whether there is a misalignment problem in the third call recording based on the time interval of the first non-silent segment and the time interval of the second non-silent segment.

[0083] The time interval of the first non-silent segment refers to the interval between the start time point and the end time point of the first non-silent segment in the third call recording. The time interval of the second non-silent segment refers to the interval between the start time point and the end time point of the second non-silent segment in the third call recording.

[0084] As mentioned above, a voice call is a process of interaction between two parties. The communicating parties not only need to listen to each other's expression, but also need to express their opinions and views in a timely manner. Therefore, the caller and the called party generally do not speak at the same time, which makes the probability of the call recordings of the caller and the called party overlapping in time relatively low. Based on this, if the time interval of the first non-silent segment overlaps too much with the time interval of the second non-silent segment, it can be determined that there is a misalignment problem in the third call recording. Otherwise, it can be determined that there is no misalignment problem in the third call recording.

[0085] Specifically, the above S206 includes the following steps: determining the intersection rate between the time interval of the first non-silent segment and the time interval of the second non-silent segment; if the intersection rate is greater than the preset intersection rate, determining that the third call recording has a misalignment problem. Otherwise, determining that the third call recording does not have a misalignment problem.

[0086] In one implementation, determining the intersection rate between the time interval of the first non-silent segment and the time interval of the second non-silent segment includes the following steps: based on the duration of the third call recording, generating multiple time points arranged based on a time sequence, wherein the duration of the interval between two adjacent time points is equal; from the multiple time points, determining target time points that belong to both the time interval of the first non-silent segment and the time interval of the second non-silent segment; determining the ratio between the number of target time points and the total number of the above-mentioned multiple time points, and obtaining the intersection rate between the time interval of the first non-silent segment and the time interval of the second non-silent segment.

[0087] Among them, the duration of the interval between two adjacent time points can be set according to actual needs, and the embodiments of the present application are not limited to this. If the duration of the interval is too short, the accuracy can be improved, but the amount of calculation will increase; if the duration of the interval is too long, the accuracy will be reduced. Therefore, the duration of the interval can be set based on the requirements of accuracy and amount of calculation. In practical applications, the duration of the interval can be a value between 0.1 seconds and 0.6 seconds. Taking values ​​within this range can effectively avoid error reduction and will not bring about excessive amount of calculation.

[0088] Exemplarily, based on the duration of the third call recording and the duration of the above-mentioned interval, a horizontal timeline containing multiple time points is established; then, each time point is traversed in turn, and if the traversed time point is simultaneously located in the time interval of the first non-silent segment and the time interval of the second non-silent segment, the time point is determined as the target time point.

[0089] For example, Figure 4 As shown in FIG. 1 , assuming that there are first non-silent segments 1 to first non-silent segments 3 and second non-silent segments 1 to second non-silent segments 2 in the third call recording, a horizontal timeline containing 21 time points is established according to the duration of the third call recording and the duration of the above intervals, where each circle is a time point. The target time points determined in the above manner are as follows: Figure 4 As shown by the black circle in .

[0090] For the time interval of the first non-silent segment 1 and the time interval of the second non-silent segment 1, the number of target time points belonging to both time intervals is 2, and the intersection rate of the two time intervals = 2 / 21 = 9.5%.

[0091] For the time interval of the first non-silent segment 2 and the time interval of the second non-silent segment 1, the number of target time points belonging to both time intervals is 6, and the intersection rate of the two time intervals = 6 / 21 = 28.6%.

[0092] For the time interval of the first non-silent segment 2 and the time interval of the second non-silent segment 2, the number of target time points belonging to both time intervals is 2, and the intersection rate of the two time intervals = 2 / 21 = 9.5%.

[0093] For the time interval of the first non-silent segment 3 and the time interval of the second non-silent segment 2, the number of target time points belonging to both time intervals is 4, and the intersection rate of the two time intervals = 4 / 21 = 19%.

[0094] In the above implementation, the intersection rate between the time interval of the first non-silent segment and the time interval of the second non-silent segment is calculated by using the number of time points shared by the time interval of the first non-silent segment, which is simple to implement, has low calculation amount and high efficiency.

[0095] In another embodiment, the intersection interval between the time area of ​​the first non-silent segment and the time interval of the second non-silent segment is determined; then, the ratio between the length of the intersection interval and the duration of the third call voice is determined to obtain the intersection rate between the time area of ​​the first non-silent segment and the time interval of the second non-silent segment.

[0096] For example, the time interval of the first non-silent segment 1 is [0,2], and the time interval of the second non-silent segment 1 is [1,3], then the intersection interval between the two time intervals is [1,2], and the length of the intersection interval is 1 second. Assuming that the duration of the third call speech is 5 seconds, the intersection rate between the time interval of the first non-silent segment 1 and the time interval of the second non-silent segment 1 = 1 / 5 = 20%.

[0097] The embodiment of the present application has only partially realized the method of determining the intersection rate of two time intervals at this time. Of course, it should be understood that the intersection rate of two time intervals can also be realized by other methods, and the embodiment of the present application is not limited to this.

[0098] The method for detecting misalignment of call recordings provided in the embodiment of the present application takes into account that there are often silent segments in the call recordings after the combination, and the recording segments of the calling number and the called number are usually separated by silent segments. Based on this, by merging the first call recording of the calling number and the second call recording of the called number to obtain a third call recording, and detecting the third call recording, not only can the first non-silent segment belonging to the calling number and the second non-silent segment belonging to the called number in the third call recording be quickly and accurately determined, but also it helps to eliminate the influence of environmental noise on the subsequent misalignment detection process, thereby improving the detection accuracy. Further, considering that a voice call is an interactive process between two parties, the communicating parties not only need to listen to each other's expression, but also need to express their opinions and views in a timely manner. Therefore, the caller and the called party generally do not speak at the same time, so that the probability of the call recordings of the caller and the called party overlapping in time is low. Based on this, based on the time interval of the first non-silent segment and the time interval of the second non-silent segment, it helps to accurately judge the intersection of the two non-silent segments in time, and then accurately determine whether the third call recording has a misalignment problem. In addition, in actual business scenarios, the recording file provided to the access client side is usually a call recording after the recordings of the calling and called numbers are combined. The method provided in the embodiment of the present application directly performs misalignment detection on the merged third call recording, which not only makes the detection results closer to customer needs, but also eliminates the operation of channel separation of the combined files, thereby simplifying the detection process, improving detection efficiency, and reducing resource consumption.

[0099] Please refer to Figure 5 , is a flow chart of a method for detecting misalignment of call recordings provided by another embodiment of the present application, the method comprising the following steps:

[0100] S502, obtaining a first parsing record of a first real-time transport protocol RTP data packet from a calling number and a second parsing record of a second RTP data packet from a called number.

[0101] When parsing the first RTP data packet, the media platform records the parsing process of the first RTP data packet to obtain a first parsing record. The first parsing record is used to record whether the first voice frame carried by the first RTP data packet is written into the first storage unit.

[0102] Similarly, when parsing the second RTP data packet, the media platform will also record the parsing process of the second RTP data packet to obtain a second parsing record. The second parsing record is used to record whether the second voice frame carried by the second RTP data packet is written into the second storage unit.

[0103] S504: Determine whether there is a call misalignment problem between the calling number and the called number based on the first resolution record and the second resolution record.

[0104] The applicant studied the call process of a large number of calling numbers and called numbers and found that the main reason for the call problems between the two is that due to the compatibility problems of the network elements of the large network and the stability problems of the transmission links of the large network, some RTP data packets are out of order, delayed arrival, missing some data, bad frames of transmission data, and inconsistent media types with negotiations, which in turn leads to data abnormalities in the recording module. When a link recording is abnormal, the subsequent combined audio link will cause the subsequent merged third call recording to be misaligned. In the negotiated media support DTX (Discontinuous Transmission) mode, for SID (Security Identifier), silence compensation needs to be performed in the recording after parsing. Due to network and other reasons, SID may cause over-compensation or even under-compensation in the media service, which will also cause abnormalities in the first call recording and / or the second call recording, and ultimately cause the merged third call recording to be misaligned.

[0105] Based on this, since the first parsing record reflects whether an abnormality occurs during the parsing of the first RTP data packet, and the second parsing record reflects whether an abnormality occurs during the parsing of the second RTP data packet, based on the two, it is possible to preliminarily determine whether there is a misalignment problem between the calling number and the called number.

[0106] In one implementation, the above S504 includes the following steps:

[0107] S541, based on the first parsing record, determine the RTP packet loss rate of the calling number and the number of first voice frames in the first storage unit.

[0108] Specifically, the RTP packet loss rate of the calling number is determined as follows: based on the first parsing record, the target first RTP data packet is determined from the first RTP data packet, and the ratio between the number of target first RTP data packets and the total number of first RTP data packets is determined to obtain the RTP packet loss rate of the calling number.

[0109] Among them, the target first RTP data packet is the first RTP data packet that carries the first voice frame but is not written into the first storage unit. More specifically, the target first RTP data packet includes an abnormal first RTP data packet (such as a first RTP data packet with disorder or timestamp abnormality) and a first RTP data packet with parsing abnormality. In this case, the RTP packet loss rate of the calling number = (callerRtpErrorCnt+CallerRecordErrorCnt) / callerRtpCbt.

[0110] Among them, callerRtpErrorCnt represents the number of abnormal first RTP data packets, CallerRecordErrorCnt represents the number of first RTP data packets with parsing exceptions, and callerRtpCbt represents the total number of first RTP data packets.

[0111] S542: Determine the RTP packet loss rate of the called number and the number of second voice frames in the second storage unit based on the second parsing record.

[0112] Specifically, the RTP packet loss rate of the called number is determined in the following manner: based on the second parsing record, the target second RTP data packet is determined from the second RTP data packet, and the ratio between the number of the target second RTP data packets and the total number of the second RTP data packets is determined to obtain the RTP packet loss rate of the calling number.

[0113] The target second RTP data packet is a second RTP data packet whose carried second voice frame is not written into the second storage unit. More specifically, the target second RTP data packet includes an abnormal second RTP data packet (such as a second RTP data packet with disorder or timestamp abnormality) and a second RTP data packet with parsing abnormality. In this case, the RTP packet loss rate of the called number = (calleeRtpErrorCnt+CalleeRecordErrorCnt) / calleeRtpCbt.

[0114] S543, based on the RTP packet loss rate of the calling number, the RTP packet loss rate of the called number, the number of first voice frames in the first storage unit, and the number of second voice frames in the second storage unit, determine whether there is a call misalignment problem between the calling number and the called number.

[0115] Considering that the call voice is a short-term stable signal, suitable for burst processing, the call interval is 20 milliseconds for one voice frame, and one second is 50 voice frames. Generally, the difference in the number of voice frames obtained by recording the calling number and the called number will not be too large. In addition, starting and shutting down the call during the call are consistent behaviors for the calling number and the called number, so the difference between the recording time of the calling number and the recording time of the called number usually does not exceed a certain x (x>3) seconds. For the first storage unit and the second storage unit, the difference in the number of voice frames in the two storage units usually does not exceed x*50 voice frames. Based on this, if the difference between the number of the first voice frame in the first storage unit and the number of the second voice frame in the second storage unit is greater than the first preset difference, it is determined that there is a call misalignment problem between the calling number and the called number. Of course, this judgment method is a preliminary judgment, and further judgment is required with the help of subsequent steps S508 to S514.

[0116] In addition, considering that the media platform allows a certain amount of discarding in the process of writing the RTP data packet into the corresponding storage unit, for example, the flag bit of the RTP data packet can be set to 1 to identify the first data packet after the RTP data packet is not continuously transmitted during the silence period, and the RTP data packet can be discarded instead of being written into the corresponding storage unit. In actual calls, the situation where the flag bit in the RTP data packet is 1 is far less than 1%, which causes the RTP data packet parsing abnormality to be more caused by the change of the media negotiation encoding and the RTP encoding not being updated synchronously or delayed, etc., which in turn causes the calling number to lose part of the first RTP data packet or the called number to lose part of the second RTP data packet, causing the calling number and the called number to have a call dislocation problem. Based on this, if the RTP packet loss rate of the calling number is too high or the RTP packet loss rate of the called number is too high, it can be preliminarily determined that there is a call dislocation problem between the calling number and the called number. Specifically, if the RTP packet loss rate of the calling number is greater than the preset packet loss rate, or the RTP packet loss rate of the called number is greater than the preset packet loss rate, it is determined that there is a call dislocation problem between the calling number and the called number.

[0117] In another implementation, the above S504 includes the following steps: based on the first parsing record, determining the number of first voice frames in the first storage unit; based on the second parsing record, determining the number of second voice frames in the second storage unit; based on the difference between the number of first voice frames in the first storage unit and the number of second voice frames in the second storage unit, and the difference between the number of first RTP data packets and the number of second RTP data packets, determining whether there is a call misalignment problem between the calling number and the called number.

[0118] Specifically, when a call misalignment occurs, it is often accompanied by an abnormal number of RTP packets or abnormal RTP packet parsing, such as a large difference between the total number of the first RTP packets and the total number of the second RTP packets, or a large difference between the number of the first voice frames in the first storage unit and the number of the second voice frames in the second storage unit. Based on this, if the total number of the first RTP packets and the total number of the second RTP packets are greater than the second preset difference, or the difference between the number of the first voice frames in the first storage unit and the number of the second voice frames in the second storage unit is greater than the first preset difference, it is determined whether there is a call misalignment problem between the calling number and the called number.

[0119] The embodiment of the present application shows a partial implementation of the above S504. Of course, it should be understood that the above S504 can also be implemented in other ways, which are not limited in the embodiment of the present application.

[0120] S506: Determine whether there is a misalignment problem in the recording process of the calling number and the called number based on the state of the first voice frame, the state of the second voice frame, the state of the first recording frame, and the state of the second recording frame.

[0121] If it is determined that there is a misalignment problem in the recording process of the calling number and the called number, the following S508 is executed and then ends, and the obtained third call recording is provided as a file for the client to download. If it is determined that there is no misalignment problem in the recording process of the calling number and the called number, the following S508 to S514 are executed.

[0122] S508: Merge the first call recording of the calling number and the second call recording of the called number to obtain a third call recording.

[0123] Among them, the specific implementation method of S508 is the same as Figure 2 The specific implementation method of S202 in the illustrated embodiment is similar and will not be described in detail.

[0124] S510: Detect the third call recording to obtain a non-silent segment of the third call recording.

[0125] The non-silent segment includes: a first non-silent segment belonging to the calling number and a second non-silent segment belonging to the called number.

[0126] In one implementation, if there is a call misalignment problem between the calling number and the called number, the third call recording is detected to obtain a non-silent segment of the third call recording.

[0127] When testing the third call recording, the entire third call recording may be tested. Alternatively, a recording segment that may have a misalignment problem may be intercepted from the third call recording for testing, so as to reduce the amount of calculation, improve the testing efficiency, and thus improve the efficiency of the entire misalignment detection process.

[0128] As an example, detecting the third call recording to obtain a non-silent segment of the third call recording includes the following steps:

[0129] Step A1, obtaining a third time point and a fourth time point recorded during a call between a calling number and a called number.

[0130] Among them, the third time point refers to the time point when the difference between the number of first RTP data packets and the number of second RTP data packets during the call is greater than the second preset difference. Considering that in an actual call, if the number of first RTP data packets received by the media platform at a certain time point is too different from the number of second RTP data packets, a call misalignment problem may have occurred at that time point, and this misalignment is difficult to correct. Therefore, the merged third call recording also has a misalignment problem for a long time after that time point. Therefore, the third time point is used to indicate the time point when the call between the calling number and the called number may be misaligned.

[0131] The fourth time point refers to the time point during the call when the difference between the number of first voice frames in the first storage unit and the number of second voice frames in the second storage unit is greater than the third preset difference. Considering that in an actual call, if at each time point, the number of first voice frames that the media platform has written into the first storage unit differs too much from the number of second voice frames such as the second storage unit, then a call misalignment problem may have occurred at that time point, and this misalignment is also difficult to correct. Therefore, the merged third call recording also has a misalignment problem for a long time after that time point. Therefore, the fourth time point is also used to indicate the time point when a call between the calling number and the called number may be misaligned.

[0132] For example, Figure 6 The graph shows the number of first RTP data packets received by the media platform changing over time, the number of second RTP data packets changing over time, the number of first voice frames in the first storage unit changing over time, and the number of second voice frames in the second storage unit changing over time during a call between a calling number and a called number. At a third time point, the difference between the number of first RTP data packets and the number of second RTP data packets is greater than a second preset difference; at a fourth time point, the difference between the number of first voice frames in the first storage unit and the number of second voice frames in the second storage unit is greater than a third preset difference.

[0133] Step A2, determining a fifth time point based on the third time point and the fourth time point.

[0134] The fifth time point indicates the time point at which the detection of the third call recording starts.

[0135] As an example, the smaller time point between the third time point and the fourth time point may be determined as the fifth time point. Figure 6 For example, the third time point is determined as the fifth time point to improve the misalignment detection accuracy.

[0136] As another example, the smaller time point between the third time point and the fourth time point can be determined, and the product of the smaller time point and the second preset time length can be used as the fifth time point. Specifically, the interval between adjacent speech frames is usually 20 milliseconds, so the second preset time length is determined to be 20 milliseconds, and the result of multiplying the smaller time point by 20 milliseconds is used as the fifth time point.

[0137] It is worth noting that if the third time point and the fourth time point are not recorded during the call, the larger time point between the end time point of the first call recording and the end time point of the second call recording can be determined, and 1 / 2 of the larger time point can be used as the fifth time point.

[0138] Step A3: extracting a sixth recording segment located after the fifth time point from the third call recording.

[0139] As an example, a recording segment between the fifth time point and the end time point of the third call recording may be captured from the third call recording as the sixth recording segment.

[0140] As another example, a recording segment of a third preset duration from the fifth time point can be intercepted from the third call recording as the sixth recording segment. The third preset duration can be set according to the duration of the third call recording, which is not limited in the present embodiment of the application.

[0141] Step A4: Detect the sixth recording segment to obtain a non-silent segment of the third call recording.

[0142] The specific implementation method of detecting the sixth recording segment is as follows Figure 2 The specific implementation method of S204 in the illustrated embodiment is similar and will not be described in detail.

[0143] Since the third time point and the fourth time point represent the time points at which the calls between the calling and called numbers may be misaligned, based on these two time points, part of the recording clips are intercepted from the third call recording for detection. Compared with detecting the entire third call recording, this can greatly reduce the amount of calculation and improve the detection efficiency while ensuring the accuracy, thereby improving the efficiency of the entire misalignment detection process.

[0144] It is worth noting that in the process of extracting some recording clips from the third call recording, only the recording is copied as it is and no encoding processing is performed.

[0145] S512: Determine whether there is a misalignment problem in the third call recording based on the time interval of the first non-silent segment and the time interval of the second non-silent segment.

[0146] Among them, the specific implementation method of S512 is the same as Figure 2 The specific implementation method of S206 in the illustrated embodiment is similar and will not be described in detail.

[0147] The method for detecting misalignment of call recordings provided in the embodiment of the present application is Figure 2 On the basis of the illustrated embodiment, before merging the first call recording and the second call recording, a preliminary misalignment detection is performed using the first RTP data packet from the calling number and its first parsing record, and the second RTP data packet from the called number and its second parsing record. If the preliminary detection result is a misalignment, a secondary misalignment detection is performed. Since the probability of call misalignment is low, the method of this embodiment can screen out most calls that do not have misalignment, and only perform misalignment detection on the recording results of a small number of calls, which can greatly reduce the amount of calculation and improve the efficiency of misalignment detection. It is suitable for the scenario of misalignment detection of large quantities of calls.

[0148] In order to facilitate the understanding of the call recording misalignment detection method provided in the above embodiment, Figure 7 Provide explanation.

[0149] like Figure 7 As shown, a media prediction module, a recording merging module and a dislocation detection module are deployed in the media platform. Among them, the media prediction module is used to count the first RTP data packet from the calling number and its first parsing record, the second RTP data packet from the called number and its second parsing record during the call, and then perform preliminary dislocation detection based on the statistical results, that is, determine whether there is a call dislocation problem between the calling number and the called number. If there is a call dislocation problem, the fifth time point where the dislocation may begin to occur is determined based on the third time point and the fourth time point recorded by the media platform during the call. After completing the preliminary dislocation detection, the media prediction module sends a merging notification to the recording merging module, and sends the fifth time point and the preliminary detection results to the recording merging module.

[0150] The recording merging module generates a first call recording based on the first voice frame in the first storage unit, and generates a second call recording based on the second voice frame in the second storage unit; then, the first call recording and the second call recording are merged to obtain a third call recording; thereafter, a secondary misalignment detection notification is sent to the misalignment detection module, and the third call recording is sent to the misalignment detection module at a fifth time point.

[0151] The misalignment detection module captures the sixth recording segment after the fifth time point from the third call recording, detects the sixth recording segment, and obtains a first non-silent segment belonging to the calling number and a second non-silent segment belonging to the called number; then, based on the time interval of the first non-silent segment and the time interval of the second non-silent segment, it is determined whether there is a misalignment problem in the sixth recording segment. The misalignment detection result is the misalignment detection result of the third call recording.

[0152] The above is a description of a specific embodiment of the specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recorded in the claims can be performed in an order different from that in the embodiments and still achieve the desired results. In addition, the processes depicted in the drawings do not necessarily require the specific order or continuous order shown to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.

[0153] Figure 8 This is a schematic diagram of the structure of a call recording misalignment detection device provided by an embodiment of the present application. Figure 8 In a software implementation, the call recording misalignment detection device 800 may include: a merging unit 810 , a segment detection unit 820 , and a misalignment detection unit 830 .

[0154] The merging unit 810 is used to merge the first call recording of the calling number and the second call recording of the called number to obtain a third call recording.

[0155] The segment detection unit 820 is used to detect the third call recording to obtain a non-silent segment of the third call recording; the non-silent segment includes: a first non-silent segment belonging to the calling number and a second non-silent segment belonging to the called number.

[0156] The misalignment detection unit 830 is used to determine whether there is a misalignment problem in the third call recording based on the time interval of the first non-silent segment and the time interval of the second non-silent segment.

[0157] Optionally, the misalignment detection unit is used to:

[0158] Determine an intersection rate between a time interval of the first non-silent segment and a time interval of the second non-silent segment;

[0159] If the intersection rate is greater than a preset intersection rate, it is determined that there is a misalignment problem in the third call recording.

[0160] Optionally, the fragment detection unit is used to:

[0161] Performing silence detection on the third call recording to obtain a silence segment of the third call recording, and determining a non-silence segment of the third call recording based on the silence segment; or,

[0162] Noise detection is performed on the third call recording to obtain a non-silent segment of the third call recording.

[0163] Optionally, the fragment detection unit is used to:

[0164] Determine a first recording segment in the third call recording in which the duration during which the signal energy does not exceed the preset energy is greater than the first preset duration;

[0165] Based on the first recording segment, a silent segment of the third call recording is determined.

[0166] Optionally, when the segment detection unit determines the silent segment of the third call recording based on the first recording segment, the segment detection unit performs the following steps:

[0167] Determining a target correction value corresponding to the preset energy from a preset correspondence between energy and correction value;

[0168] The first recording segment is corrected based on the target correction value to obtain a silent segment of the third call recording.

[0169] Optionally, when the segment detection unit corrects the recording segment based on the target correction value to obtain the silent segment of the third call recording, the segment detection unit performs the following steps:

[0170] The starting time point of the first recording segment is shifted back by the target correction value to obtain a first time point;

[0171] The end time point of the first recording segment is moved forward by the target correction value to obtain a second time point;

[0172] A second recording segment between the first time point and the second time point in the third call recording is used as a silent segment of the third call recording.

[0173] Optionally, the number of the silent segments is at least one;

[0174] The fragment detection unit is used for:

[0175] Based on the start time point and the end time point of each of the silent segments, determine at least one non-silent segment from the third call recording, the at least one non-silent segment comprising: a third recording segment between two adjacent silent segments, a fourth recording segment before the start time point of the first silent segment, and a fifth recording segment after the end time point of the last silent segment;

[0176] Based on the channel of each of the non-silent segments, a first non-silent segment belonging to the calling number and a second non-silent segment belonging to the called number are determined from the at least one non-silent segment.

[0177] Optionally, the merging unit is used for:

[0178] The channel of the calling number is configured as the first channel, and the channel of the called number is configured as the second channel;

[0179] Based on the first channel and the second channel, the first call recording of the calling number and the second call recording of the called number are merged in chronological order to obtain a third call recording.

[0180] Optionally, the call recording misalignment detection device further includes:

[0181] an acquiring unit, configured to acquire a first parsing record of a first RTP data packet from the calling number, and a second parsing record of a second RTP data packet from the called number, wherein the first parsing record is used to record whether a first voice frame carried by the first RTP data packet is written into a first storage unit, and the second parsing record is used to record whether a second voice frame carried by the second RTP data packet is written into a second storage unit;

[0182] A second determining unit is configured to determine whether there is a call misalignment problem between the calling number and the called number based on the first resolution record and the second resolution record.

[0183] Optionally, the second determining unit is used to:

[0184] Determine, based on the first parsing record, an RTP packet loss rate of the calling number and a number of first voice frames in the first storage unit;

[0185] Determine, based on the second parsing record, an RTP packet loss rate of the called number and a number of second voice frames in the second storage unit;

[0186] Based on the RTP packet loss rate of the calling number, the RTP packet loss rate of the called number, the number of first voice frames in the first storage unit, and the number of second voice frames in the second storage unit, determine whether there is a call misalignment problem between the calling number and the called number.

[0187] Optionally, the RTP packet loss rate of the calling number is determined by:

[0188] Based on the first parsing record, determine a target first RTP data packet from the first RTP data packet, and determine a ratio between the number of the target first RTP data packets and the total number of the first RTP data packets, to obtain an RTP packet loss rate of the calling number, wherein the target first RTP data packet is a first RTP data packet in which the carried first voice frame is not written into the first storage unit;

[0189] The RTP packet loss rate of the called number is determined by:

[0190] Based on the second parsing record, a target second RTP data packet is determined from the second RTP data packet, and a ratio between the number of the target second RTP data packets and the total number of the second RTP data packets is determined to obtain the RTP packet loss rate of the calling number, wherein the target second RTP data packet is a second RTP data packet that carries a second voice frame but is not written into the second storage unit.

[0191] Optionally, when the second determining unit determines whether there is a call misalignment problem between the calling number and the called number based on the RTP packet loss rate of the calling number, the RTP packet loss rate of the called number, the number of first voice frames in the first storage unit, and the number of second voice frames in the second storage unit, the second determining unit performs the following steps:

[0192] If the RTP packet loss rate of the calling number is greater than the preset packet loss rate, or the RTP packet loss rate of the called number is greater than the preset packet loss rate, or the difference between the number of first voice frames in the first storage unit and the number of second voice frames in the second storage unit is greater than a first preset difference, it is determined that there is a call misalignment problem between the calling number and the called number.

[0193] Optionally, the fragment detection unit is used to:

[0194] If there is a call misalignment problem between the calling number and the called number, the third call recording is detected to obtain a non-silent segment of the third call recording.

[0195] Optionally, when the segment detection unit detects the third call recording and obtains a non-silent segment of the third call recording, the segment detection unit performs the following steps:

[0196] Obtaining a third time point and a fourth time point recorded during a call between the calling number and the called number; wherein the third time point refers to a time point during the call when the difference between the number of the first RTP data packets and the number of the second RTP data packets is greater than a second preset difference; the fourth time point refers to a time point during the call when the difference between the number of the first voice frames in the first storage unit and the number of the second voice frames in the second storage unit is greater than a third preset difference;

[0197] Determining a fifth time point based on the third time point and the fourth time point;

[0198] Extracting a sixth recording segment located after the fifth time point from the third call recording;

[0199] The sixth recording segment is detected to obtain a non-silent segment of the third call recording.

[0200] Optionally, when determining the fifth time point based on the third time point and the fourth time point, the segment detection unit performs the following steps:

[0201] Determine the smaller time point between the third time point and the fourth time point as the fifth time point; or,

[0202] A smaller time point between the third time point and the fourth time point is determined, and a product of the smaller time point and a second preset duration is used as a fifth time point.

[0203] Optionally, when the segment detection unit extracts a sixth recording segment located after the fifth time point from the third call recording, the segment detection unit performs the following steps:

[0204] A sixth recording segment of a third preset duration starting from the fifth time point is captured from the third call recording.

[0205] Optionally, the first call recording is generated based on the first voice frame in the first storage unit after the call is completed, and the second call recording is generated based on the second voice frame in the second storage unit after the call is completed.

[0206] Optionally, the calling number and the called number are intermediate numbers.

[0207] Fig. 9 This is a schematic diagram of the structure of an electronic device according to an embodiment of the present application. Fig. 9At the hardware level, the electronic device includes a processor, and optionally also includes an internal bus, a network interface, and a memory. The memory may include a memory, such as a high-speed random access memory (RAM), and may also include a non-volatile memory (non-volatile memory), such as at least one disk storage. Of course, the electronic device may also include hardware required for other services.

[0208] The processor, network interface and memory can be interconnected through an internal bus, which can be an ISA (Industry Standard Architecture) bus, a PCI (Peripheral Component Interconnect) bus or an EISA (Extended Industry Standard Architecture) bus. The bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Fig. 9 Only one bidirectional arrow is used in the diagram, but this does not mean that there is only one bus or only one type of bus.

[0209] The memory is used to store the program. Specifically, the program may include a program code, and the program code includes a computer operation instruction. The memory may include a memory and a non-volatile memory, and provides instructions and data to the processor.

[0210] The processor reads the corresponding computer program from the non-volatile memory into the memory and then runs it, forming a call recording misalignment detection device at the logical level. The processor executes the program stored in the memory and is specifically used to perform the following operations:

[0211] Merging the first call recording of the calling number and the second call recording of the called number to obtain a third call recording;

[0212] Detecting the third call recording to obtain a non-silent segment of the third call recording; the non-silent segment includes: a first non-silent segment belonging to the calling number and a second non-silent segment belonging to the called number;

[0213] Based on the time interval of the first non-silent segment and the time interval of the second non-silent segment, it is determined whether there is a misalignment problem in the third call recording.

[0214] The above application Figure 2The method performed by the misalignment detection device for call recording disclosed in the illustrated embodiment can be applied to a processor or implemented by a processor. The processor may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by an integrated logic circuit of hardware in the processor or instructions in the form of software. The above processor can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components. The methods, steps and logic block diagrams disclosed in the embodiments of the present application can be implemented or executed. The general-purpose processor can be a microprocessor or the processor can also be any conventional processor, etc. The steps of the method disclosed in the embodiments of the present application can be directly embodied as a hardware decoding processor for execution, or a combination of hardware and software modules in the decoding processor for execution. The software module can be located in a storage medium mature in the art such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, or an electrically erasable programmable memory, a register, etc. The storage medium is located in the memory, and the processor reads the information in the memory and completes the steps of the above method in combination with its hardware.

[0215] The electronic device may also perform Figure 2 Method and device for detecting misalignment of call recording are implemented in Figures 2 to 7 The functions of the illustrated embodiment will not be described in detail in the embodiments of the present application.

[0216] Of course, in addition to software implementation methods, the electronic device of the present application does not exclude other implementation methods, such as logic devices or a combination of software and hardware, etc. That is to say, the execution subject of the following processing flow is not limited to each logic unit, but can also be hardware or logic devices.

[0217] The embodiment of the present application also provides a computer-readable storage medium, which stores one or more programs, wherein the one or more programs include instructions, which, when executed by a portable electronic device including a plurality of application programs, enable the portable electronic device to execute Figure 2 The method of the embodiment shown is specifically used to perform the following operations:

[0218] Merging the first call recording of the calling number and the second call recording of the called number to obtain a third call recording;

[0219] Detecting the third call recording to obtain a non-silent segment of the third call recording; the non-silent segment includes: a first non-silent segment belonging to the calling number and a second non-silent segment belonging to the called number;

[0220] Based on the time interval of the first non-silent segment and the time interval of the second non-silent segment, it is determined whether there is a misalignment problem in the third call recording.

[0221] An embodiment of the present application also provides a computer program product, which includes a non-transitory computer-readable storage medium storing a computer program, and the computer program is operable to cause a computer to execute some or all of the steps in the call recording misalignment detection method provided in the embodiment of the present application.

[0222] In short, the above description is only a preferred embodiment of the present application and is not intended to limit the protection scope of the present application. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application shall be included in the protection scope of the present application.

[0223] The systems, devices, modules or units described in the above embodiments may be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer. Specifically, the computer may be, for example, a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.

[0224] Computer readable media include permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. Information can be computer readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer readable media does not include temporary computer readable media (transitory media), such as modulated data signals and carrier waves.

[0225] It should also be noted that the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, commodity or device. In the absence of more restrictions, the elements defined by the sentence "comprises a ..." do not exclude the existence of other identical elements in the process, method, commodity or device including the elements.

[0226] Each embodiment in this specification is described in a progressive manner, and the same or similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the system embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.

Claims

1. A method for detecting misalignment of call recording, characterized in that: include: Merging the first call recording of the calling number and the second call recording of the called number to obtain a third call recording; Detecting the third call recording to obtain a non-silent segment of the third call recording; The non-silent segment includes: a first non-silent segment belonging to the calling number and a second non-silent segment belonging to the called number; Based on the time interval of the first non-silent segment and the time interval of the second non-silent segment, it is determined whether there is a misalignment problem in the third call recording.

2. The method according to claim 1, characterized in that The determining whether the third call recording has a misalignment problem based on the time interval of the first non-silent segment and the time interval of the second non-silent segment includes: Determine an intersection rate between a time interval of the first non-silent segment and a time interval of the second non-silent segment; If the intersection rate is greater than a preset intersection rate, it is determined that there is a misalignment problem in the third call recording.

3. The method according to claim 1, characterized in that The detecting the third call recording to obtain a non-silent segment of the third call recording includes: Performing silence detection on the third call recording to obtain a silence segment of the third call recording, and determining a non-silence segment of the third call recording based on the silence segment; or, Noise detection is performed on the third call recording to obtain a non-silent segment of the third call recording.

4. The method according to claim 3, characterized in that The performing silence detection on the third call recording to obtain a silence segment of the third call recording includes: Determine a first recording segment in the third call recording in which the duration during which the signal energy does not exceed the preset energy is greater than the first preset duration; Based on the first recording segment, a silent segment of the third call recording is determined.

5. The method according to claim 4, characterized in that The determining, based on the first recording segment, a silent segment of the third call recording includes: Determining a target correction value corresponding to the preset energy from a preset correspondence between energy and correction value; The first recording segment is corrected based on the target correction value to obtain a silent segment of the third call recording.

6. The method according to claim 5, characterized in that The step of correcting the recording segment based on the target correction value to obtain a silent segment of the third call recording includes: The starting time point of the first recording segment is shifted back by the target correction value to obtain a first time point; The end time point of the first recording segment is moved forward by the target correction value to obtain a second time point; A second recording segment between the first time point and the second time point in the third call recording is used as a silent segment of the third call recording.

7. The method according to claim 3, characterized in that The number of the silent segments is at least one; The determining, based on the silent segment, a non-silent segment of the third call recording includes: Based on the start time point and the end time point of each of the silent segments, determine at least one non-silent segment from the third call recording, the at least one non-silent segment comprising: a third recording segment between two adjacent silent segments, a fourth recording segment before the start time point of the first silent segment, and a fifth recording segment after the end time point of the last silent segment; Based on the channel of each of the non-silent segments, a first non-silent segment belonging to the calling number and a second non-silent segment belonging to the called number are determined from the at least one non-silent segment.

8. The method according to claim 1, characterized in that The step of merging the first call recording of the calling number and the second call recording of the called number to obtain a third call recording includes: The channel of the calling number is configured as the first channel, and the channel of the called number is configured as the second channel; Based on the first channel and the second channel, the first call recording of the calling number and the second call recording of the called number are merged in chronological order to obtain the third call recording.

9. The method according to claim 1, characterized in that: Before merging the first call recording of the calling number and the second call recording of the called number to obtain the third call recording, the method further includes: Obtain a first parsing record of a first RTP data packet from the calling number, and a second parsing record of a second RTP data packet from the called number, wherein the first parsing record is used to record whether a first voice frame carried by the first RTP data packet is written into a first storage unit, and the second parsing record is used to record whether a second voice frame carried by the second RTP data packet is written into a second storage unit; Based on the first resolution record and the second resolution record, it is determined whether there is a call misalignment problem between the calling number and the called number.

10. The method according to claim 9, characterized in that The determining, based on the first parsing record and the second parsing record, whether there is a call misalignment problem between the calling number and the called number includes: Determine, based on the first parsing record, an RTP packet loss rate of the calling number and a number of first voice frames in the first storage unit; Determine, based on the second parsing record, an RTP packet loss rate of the called number and a number of second voice frames in the second storage unit; Based on the RTP packet loss rate of the calling number, the RTP packet loss rate of the called number, the number of first voice frames in the first storage unit, and the number of second voice frames in the second storage unit, determine whether there is a call misalignment problem between the calling number and the called number.

11. The method according to claim 10, characterized in that The RTP packet loss rate of the calling number is determined by: Based on the first parsing record, determine a target first RTP data packet from the first RTP data packet, and determine a ratio between the number of the target first RTP data packets and the total number of the first RTP data packets, to obtain an RTP packet loss rate of the calling number, wherein the target first RTP data packet is a first RTP data packet in which the carried first voice frame is not written into the first storage unit; The RTP packet loss rate of the called number is determined by: Based on the second parsing record, a target second RTP data packet is determined from the second RTP data packet, and a ratio between the number of the target second RTP data packets and the total number of the second RTP data packets is determined to obtain the RTP packet loss rate of the calling number, wherein the target second RTP data packet is a second RTP data packet that carries a second voice frame but is not written into the second storage unit.

12. The method according to claim 10, characterized in that The determining whether there is a call misalignment problem between the calling number and the called number based on the RTP packet loss rate of the calling number, the RTP packet loss rate of the called number, the number of first voice frames in the first storage unit, and the number of second voice frames in the second storage unit includes: If the RTP packet loss rate of the calling number is greater than the preset packet loss rate, or the RTP packet loss rate of the called number is greater than the preset packet loss rate, or the difference between the number of first voice frames in the first storage unit and the number of second voice frames in the second storage unit is greater than a first preset difference, it is determined that there is a call misalignment problem between the calling number and the called number.

13. The method according to claim 9, characterized in that The detecting the third call recording to obtain a non-silent segment of the third call recording includes: If there is a call misalignment problem between the calling number and the called number, the third call recording is detected to obtain a non-silent segment of the third call recording.

14. The method according to claim 13, characterized in that The detecting the third call recording to obtain a non-silent segment of the third call recording includes: Obtaining a third time point and a fourth time point recorded during a call between the calling number and the called number; wherein the third time point refers to a time point during the call when the difference between the number of the first RTP data packets and the number of the second RTP data packets is greater than a second preset difference; the fourth time point refers to a time point during the call when the difference between the number of the first voice frames in the first storage unit and the number of the second voice frames in the second storage unit is greater than a third preset difference; Determining a fifth time point based on the third time point and the fourth time point; Extracting a sixth recording segment located after the fifth time point from the third call recording; The sixth recording segment is detected to obtain a non-silent segment of the third call recording.

15. The method according to claim 14, characterized in that The determining the fifth time point based on the third time point and the fourth time point includes: Determine the smaller time point between the third time point and the fourth time point as the fifth time point; or, A smaller time point between the third time point and the fourth time point is determined, and a product of the smaller time point and a second preset duration is used as a fifth time point.

16. The method according to claim 14, characterized in that The extracting a sixth recording segment located after the fifth time point from the third call recording includes: A sixth recording segment of a third preset duration starting from the fifth time point is captured from the third call recording.

17. The method according to claim 9, characterized in that The first call recording is generated based on the first voice frame in the first storage unit after the call is completed, and the second call recording is generated based on the second voice frame in the second storage unit after the call is completed.

18. The method according to any one of claims 1 to 17, characterized in that The calling number and the called number are intermediate numbers.

19. A call recording misalignment detection device, characterized in that: include: A merging unit, used to merge a first call recording of a calling number and a second call recording of a called number to obtain a third call recording; a segment detection unit, configured to detect the third call recording to obtain a non-silent segment of the third call recording; The non-silent segment includes: a first non-silent segment belonging to the calling number and a second non-silent segment belonging to the called number; The misalignment detection unit is used to determine whether there is a misalignment problem in the third call recording based on the time interval of the first non-silent segment and the time interval of the second non-silent segment.

20. An electronic device, characterized in that: include: processor; a memory for storing instructions executable by the processor; The processor is configured to execute the instructions to implement the call recording misalignment detection method as described in any one of claims 1 to 18.

21. A computer-readable storage medium, characterized in that: When the instructions in the storage medium are executed by a processor of an electronic device, the electronic device is enabled to execute the call recording misalignment detection method as described in any one of claims 1 to 18.

22. A computer program product, characterized in that The computer program product includes a non-transitory computer-readable storage medium storing a computer program, and the computer program is operable to cause a computer to execute part or all of the steps in the call recording misalignment detection method according to any one of claims 1 to 18.