Call data processing method and device, terminal equipment and storage medium

By obtaining and processing call interface data and calling network data, and sending it to the target server for analysis, the problem of low efficiency in call problem detection in the existing technology is solved, and the call quality is improved.

CN119676222APending Publication Date: 2025-03-21TCL COMM TECH (CHENGDU) LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510031207.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-01-08
Publication Date
2025-03-21

AI Technical Summary

Technical Problem

In the prior art, communication operators are less efficient when troubleshooting call-related problems, which makes it difficult to effectively improve call quality.

Method used

By obtaining and processing call interface data and call network data, it is converted into data that can be identified by the target server and sent to the target server for analysis to identify problems during the call and improve call quality.

Benefits of technology

It realizes data collection and analysis of users during the call process, which can effectively identify and solve problems during the call process, thereby improving the quality of the call.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119676222A_ABST
    Figure CN119676222A_ABST
Patent Text Reader

Abstract

The invention provides a call data processing method and device, terminal equipment and a storage medium. The method comprises the following steps: acquiring call interface data; acquiring call network data; converting the call interface data and the call network data into recognizable data of a target server; and sending the identifiable data to the target server. According to the call data processing method provided by the invention, the call interface data and the call network data in the call process of the user can be collected. According to the method and the device, after collection of the call interface data and the call network data is completed, the call interface data and the call network data can be converted into recognizable data of the target server and sent to the target server, so that the target server can analyze problems occurring in the call process of the user, and the call quality is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of communication technology, and in particular to a call data processing method, apparatus, terminal equipment and storage medium. Background Art

[0002] The voice call function is one of the core functions of Android smart terminals. Communication operators make profits by providing network services for the voice call function of Android smart terminals. As the popularity of mobile phones increases, the number of mobile phone calls is also increasing day by day. Therefore, the pressure on operators' base stations, servers and other equipment is also increasing. In the prior art, operators usually only conduct troubleshooting of related problems when communication-related problems occur. This method of troubleshooting is relatively inefficient. Summary of the invention

[0003] The present application provides a call data processing method that can effectively improve call quality.

[0004] In a first aspect, the present application provides a call data processing method, the method comprising:

[0005] Get call interface data;

[0006] Get call network data;

[0007] Converting the call interface data and the call network data into identifiable data for a target server;

[0008] The identifiable data is sent to the target server.

[0009] In some embodiments of the present application, the call network data includes call status data, and the acquiring of the call network data includes:

[0010] Detect the current call status;

[0011] If the current call status changes, the call status data is obtained.

[0012] In some embodiments of the present application, the call network data includes network status data, and the acquiring of the call network data includes:

[0013] Detect the current network packet loss rate;

[0014] If the current network packet loss rate is greater than the target packet loss rate threshold, the network transmission data is sampled to obtain the network status data.

[0015] In some embodiments of the present application, the call network data includes network status change data, and the acquiring of the call network data includes:

[0016] Detect call network;

[0017] If the call network status changes, the network status change data is obtained.

[0018] In some embodiments of the present application, the call network data includes first target call type attribute data, and the acquiring of the call network data includes:

[0019] Detect the current call type;

[0020] If the current call type is the first target call type, first target call type attribute data corresponding to the first target call type is acquired.

[0021] In some embodiments of the present application, the call network data includes package name data, and obtaining the call network data includes:

[0022] Detect the current dialing status;

[0023] If the current dialing state is the first dialing state, the package name data is acquired; the first dialing state represents dialing start.

[0024] In some embodiments of the present application, the call network data includes call setting data, and the acquiring of the call network data includes:

[0025] Detect the current call status;

[0026] If the current call state is a first call state, the call setting data is acquired; the first call state represents making a call or receiving an incoming call.

[0027] In some embodiments of the present application, the call network data includes timer data, and obtaining the call network data includes:

[0028] Detect the current call type;

[0029] If the current call type is the second target call type, then the timer data corresponding to the second target call type is obtained.

[0030] In some embodiments of the present application, the call network data includes server configuration data, and the acquiring of the call network data includes:

[0031] Detect the current call status;

[0032] If the current call state is a first call state, the server configuration data is acquired; the first call state represents making a call or receiving an incoming call.

[0033] In some embodiments of the present application, converting the call interface data and the call network data into identifiable data of the target server includes:

[0034] Configuring corresponding target interface data for the call interface data and the call network data;

[0035] The call interface data and the call network data are respectively configured with corresponding identifiers that match the corresponding target interface data to obtain identifiable data of the target server.

[0036] In a second aspect, the present application further provides a call data processing device, the device comprising:

[0037] The first acquisition module is used to acquire call interface data;

[0038] A second acquisition module is used to acquire call network data;

[0039] A processing module, used for converting the call interface data and the call network data into identifiable data of a target server;

[0040] A communication module is used to send the identifiable data to the target server.

[0041] In a third aspect, the present application also provides a terminal device, comprising a processor, a memory, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the steps in any one of the call data processing methods.

[0042] In a fourth aspect, the present application further provides a computer-readable storage medium, on which a computer program is stored, and the computer program is executed by a processor to implement the steps in any one of the call data processing methods.

[0043] The call data processing method provided in the present application can collect the call interface data and call network data during the user's call process. After the call interface data and call network data are collected, they can be converted into identifiable data of the target server and sent to the target server, so that the target server can analyze the problems that occur during the user's call, thereby improving the call quality. BRIEF DESCRIPTION OF THE DRAWINGS

[0044] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative work.

[0045] Figure 1 is a scenario diagram of a call data processing system provided in an embodiment of the present application;

[0046] Figure 2 This is a flowchart of an embodiment of a method for processing call data in an embodiment of the present application;

[0047] Figure 3 This is a flowchart of an embodiment of a method for processing call data in an embodiment of the present application;

[0048] Figure 4 It is a functional module diagram of a call data processing device in an embodiment of the present application;

[0049] Figure 5 It is a schematic diagram of the structure of the terminal device in the embodiment of the present application. DETAILED DESCRIPTION

[0050] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of this application.

[0051] In the description of the present application, it should be understood that the terms "first" and "second" are used for descriptive purposes only and should not be understood as indicating or implying relative importance or implicitly indicating the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of the feature. In the description of the present application, "plurality" means two or more, unless otherwise clearly and specifically defined.

[0052] In this application, the word "exemplary" is used to mean "used as an example, illustration or description". Any embodiment described as "exemplary" in this application is not necessarily to be construed as being more preferred or advantageous than other embodiments. At the same time, it is to be understood that in the specific implementation of this application, when user information, user data and other related data are involved, when the above embodiments of this application are applied to specific products or technologies, user permission or consent is required, and the collection, use and processing of relevant data shall comply with relevant laws, regulations and standards of relevant countries and regions.

[0053] In order to enable any person skilled in the art to implement and use the present application, the following description is provided. In the following description, details are listed for the purpose of explanation. It should be understood that those of ordinary skill in the art will recognize that the present application can be implemented without using these specific details. In other examples, known structures and processes will not be elaborated in detail to avoid unnecessary details that make the description of the present application obscure. Therefore, the present application is not intended to be limited to the embodiments shown, but is consistent with the widest range of principles and features disclosed in the present application.

[0054] The present application provides a call data processing method, apparatus, device and storage medium, which are described in detail below.

[0055] See also Figure 1 , Figure 1 The scene diagram of the call data processing system provided in the embodiment of the present application is as follows. The call data processing system may include a terminal device 100 and a terminal device 200. The terminal device 200 may communicate with the terminal device 100 to transmit data. Figure 1 The terminal device 100 can obtain the data of the call with the terminal device 200 to execute the call data processing method in this application.

[0056] In the embodiment of the present application, the terminal device 100 and the terminal device 200 may include but are not limited to a desktop computer, a portable computer, a network server, a PDA (Personal Digital Assistant), a tablet computer, a wireless terminal device, an embedded device, a mobile phone, etc.

[0057] In the embodiments of the present application, communication between the terminal device 100 and the terminal device 200 can be achieved through any communication method, including but not limited to mobile communications based on the 3rd Generation Partnership Project (3GPP), Long Term Evolution (LTE), and Worldwide Interoperability for Microwave Access (WiMAX), or computer network communications based on the TCP / IP Protocol Suite (TCP / IP), User Datagram Protocol (UDP), etc.

[0058] It should be noted that Figure 1The scenario diagram of the call data processing system shown is merely an example. The call data processing system and scenario described in the embodiment of the present application are intended to more clearly illustrate the technical solution of the embodiment of the present application, and do not constitute a limitation on the technical solution provided in the embodiment of the present application. A person of ordinary skill in the art can appreciate that with the evolution of the call data processing system and the emergence of new business scenarios, the technical solution provided in the embodiment of the present application is equally applicable to similar technical problems.

[0059] like Figure 2 As shown, Figure 2 This is a flow chart of an embodiment of a method for processing call data in an embodiment of the present application. The method for processing call data may include the following steps 201 to 204:

[0060] 201. Obtain call interface data.

[0061] In the embodiment of the present application, in order to improve the call quality, it is necessary to collect the call data of the user during the call. It should be noted that the call data in the embodiment of the present application is not the call content data of the user, but the attribute data during the call.

[0062] In the embodiment of the present application, the attribute data of the call includes call interface data. Taking a mobile phone as an example, when the user's mobile phone interface is the main interface, if you want to dial or answer a call, you need to switch to the call interface. Therefore, if the call interface appears, it can be determined that the user is in a waiting state, or when the call interface is changed to a call, it can be determined that the user is in a call state, etc. Therefore, obtaining the call interface data can effectively correspond to each call stage, which is convenient for corresponding to the specific interface when collecting call network data.

[0063] The embodiment of the present application can collect call interface data through the Telecomm module. This module is a data collection source, one of the necessary components of the Android smart terminal, a resident memory process, and runs in the system process of the Android system.

[0064] The call interface data can be found in Table 1, which is as follows:

[0065]

[0066] Table 1

[0067] 202. Obtain call network data.

[0068] In the embodiment of the present application, the call network data refers to the network data related to the communication network during the user's call, including network signal strength, call setting parameters, etc. If the call network data can be collected, it can be known whether the network is abnormal during the user's call, and then the specific problem that occurred during the call can be determined according to whether the abnormality occurs and the specific type of abnormality, and then the relevant personnel can be helped to troubleshoot the problem to enhance the user's call experience.

[0069] In the embodiment of the present application, a Modem module can be used to collect call network data, wherein the module is also a data collection source and is a protocol module of an Android smart terminal.

[0070] 203. Convert the call interface data and the call network data into identifiable data of the target server.

[0071] After obtaining the relevant call data according to the above steps, it needs to be sent to the operator's server. Only after sending it to the server can relevant data analysis be performed. In order to avoid leakage of call data, the data needs to be encrypted. After encryption, the server also needs corresponding decryption means, so the collected call data needs to be encrypted, that is, in the embodiment of the present application, the collected call interface data and call network data are converted into identifiable data of the target server. Specifically, if the server can only decrypt data by target decryption method, the terminal will encrypt the collected call interface data and call network data in target encryption method, that is, convert them into identifiable data of the target server.

[0072] It should be noted that in the embodiments of the present application, the target encryption method and the target decryption method are not limited.

[0073] 204. Send the identifiable data to the target server.

[0074] After the encryption of the data is completed, the identifiable data can be sent to the target server through any network means, and the embodiments of the present application are not limited to this.

[0075] The call data processing method provided in the present application can collect the call interface data and call network data during the user's call process. After the call interface data and call network data are collected, they can be converted into identifiable data of the target server and sent to the target server, so that the target server can analyze the problems that occur during the user's call, thereby improving the call quality.

[0076] In order to better implement the embodiment of the present application, in one embodiment of the present application, the call network data includes call status data, and obtaining the call network data includes:

[0077] Detect the current call status; if the current call status changes, obtain the call status data.

[0078] In the embodiment of the present application, the call state data may be detailedCallState, wherein detailedCallState may also include multiple types of data. For details, please refer to Table 2, which is as follows:

[0079]

[0080]

[0081] Table 2

[0082] If the current call status changes, the corresponding call network data in Table 2 can be obtained according to the specific changed status type.

[0083] The purpose of collecting call status data is that if there is an abnormal change in the call status, the server can analyze the specific call status data to determine the specific problem of the abnormal change in the call status.

[0084] In order to better implement the embodiment of the present application, in one embodiment of the present application, the call network data includes network status data, and obtaining the call network data includes:

[0085] Detect the current network packet loss rate; if the current network packet loss rate is greater than the target packet loss rate threshold, sample the network transmission data to obtain network status data.

[0086] In the embodiment of the present application, if the user is in a call, the call data may be lost due to network fluctuations. Therefore, if the current network packet loss rate is too high, there may be a problem with the network. Therefore, it is necessary to collect network status data, and the network status data can be RTPDLStat. Among them, Table 3 shows the specific parameters related to the network status data, as shown in Table 3:

[0087]

[0088]

[0089] Table 3

[0090] If the current packet loss rate exceeds a certain threshold, sampling can be performed on each network status data listed in Table 2. The specific sampling method is not limited in the embodiment of the present application.

[0091] In order to better implement the embodiment of the present application, in one embodiment of the present application, the call network data includes network status change data, and obtaining the call network data includes:

[0092] Detect the call network; if the call network status changes, obtain the network status change data.

[0093] In the embodiment of the present application, it is also considered that when a user makes a call through the network, the network may switch, such as switching from 4G to 5G, or from 5G to 4G, etc. In the process of network switching, abnormal calls may also occur. Therefore, it is also necessary to collect network status change data. Among them, the network status change data can be found in Table 4, and the specific Table 4 is as follows:

[0094]

[0095] Table 4

[0096] In order to better implement the embodiment of the present application, in one embodiment of the present application, the call network data includes first target call type attribute data, and acquiring the call network data includes:

[0097] Detect the current call type; if the current call type is the first target call type, obtain the first target call type attribute data corresponding to the first target call type.

[0098] In the embodiment of the present application, it is also considered that during the user's call process, there are different types of calls, such as ordinary calls or IMS calls. Therefore, in order to enable the user to maintain a normal call under the IMS call, the embodiment of the present application also needs to collect relevant call data for different call types. Therefore, in the embodiment of the present application, the first target call type is the IMS call. The first target call type attribute data is the relevant call data during the IMS call process. Among them, the relevant data of the IMS call can refer to Table 5, and the specific Table 5 is as follows:

[0099]

[0100]

[0101] Table 5

[0102] In order to better implement the embodiment of the present application, in one embodiment of the present application, the call network data includes package name data, and obtaining the call network data includes:

[0103] Detect the current dialing state; if the current dialing state is the first dialing state, obtain the package name data; the first dialing state represents the start of dialing.

[0104] In the embodiment of the present application, it is also considered that the process of the user making a call includes active calls and passive calls. Specifically, active calls can be understood as actively making calls, and passive calls can be understood as answering calls. It should be noted that in the embodiment of the present application, the first dialing state refers to the state when the user starts dialing, that is, the state of actively making a call.

[0105] It should be noted that actively making a call and answering a call belong to different call scenarios. Therefore, in order to determine whether the call problem specifically occurs in an active call or a passive call, the embodiment of the present application also needs to collect package name data during the call process. For details, please refer to Table 6, which is shown as follows:

[0106]

[0107] Table 6

[0108] In order to better implement the embodiment of the present application, in one embodiment of the present application, the call network data includes call setting data, and obtaining the call network data includes:

[0109] Detect the current call state; if the current call state is the first call state, obtain call setting data; the first call state represents making a call or receiving an incoming call.

[0110] In the embodiment of the present application, different call setting parameters are also taken into account, which will also affect the call quality. Therefore, in order to make the analysis of the problem more accurate during the subsequent data analysis, the present application also needs to collect the call setting data of the user terminal. The call setting data is related to the call, so the call setting data can be collected while the user is on the call. Therefore, when collecting the call setting data, there is no need to consider whether the user is currently on an active call or a passive call. Therefore, in the embodiment of the present application, the first call state can represent making a call and receiving an incoming call. Specifically, the call setting data can be found in Table 7, which is shown as follows:

[0111]

[0112]

[0113] Table 7

[0114] In order to better implement the embodiment of the present application, in one embodiment of the present application, the call network data includes timer data, and obtaining the call network data includes:

[0115] Detect the current call type; if the current call type is the second target call type, obtain the timer data corresponding to the second target call type.

[0116] The above embodiment provides a method for collecting call data related to IMS call types. However, in actual application scenarios, call types also include emergency calls. Emergency calls are usually very important, so this type of call requires a higher guarantee of call quality. Therefore, the embodiment of the present application also needs to obtain relevant data during emergency calls. Based on this, in the embodiment of the present application, the second target call type is the emergency call type, and the counter data is the relevant call data during emergency calls, which can be specifically shown in Table 8:

[0117]

[0118] Table 8

[0119] In order to better implement the embodiment of the present application, in one embodiment of the present application, the call network data includes server configuration data, and obtaining the call network data includes:

[0120] Detect the current call state; if the current call state is the first call state, obtain server configuration data; the first call state represents making a call or receiving an incoming call.

[0121] During the actual call process, the operator's server also needs to participate in the call process. Therefore, the communication quality of the server will also affect the final call quality. The server's configuration parameters for different terminals during the call are also different. Therefore, in the embodiment of the present application, the server configuration data can refer to the configuration value of the operator's server for the terminal. Specifically, you can refer to Table 9, which is as follows:

[0122]

[0123] Table 9

[0124] In summary, the embodiment of the present application can obtain at least 9 different types of call data when the user is on a call. The acquisition timing of different types of call data has been described above. The acquisition timing of different types of call data is also summarized here, which can be specifically shown in Table 10:

[0125]

[0126]

[0127] Table 10

[0128] In order to better implement the embodiment of the present application, in one embodiment of the present application, the call interface data and the call network data are converted into identifiable data of the target server, including:

[0129] The call interface data and the call network data are configured with corresponding target interface data; the call interface data and the call network data are respectively configured with corresponding identifiers that match the corresponding target interface data to obtain identifiable data of the target server.

[0130] The above embodiment provides a solution for data transmission by encryption or decryption. However, this method is different from the general conventional server communication between the call terminal and the operator's server. The operator's server receives data, which is more suitable for data transmission by broadcasting. Therefore, the embodiment of the present application also provides a solution for data transmission by broadcasting.

[0131] In order to avoid the confidentiality of the broadcast data, the embodiments of the present application also need to perform certain processing. Specifically, corresponding interfaces can be set for the terminal device and the target server, and broadcasting can be performed through unique interfaces to avoid the problem of data leakage. At the same time, after completing the interface settings, different identification identifiers need to be set for different interfaces to determine which specific category the broadcast data belongs to. Therefore, for the connection data and identification data, you can refer to Table 11, and the specific Table 11 is as follows:

[0132]

[0133] Table 11

[0134] The specific interface calling method can be as follows:

[0135] S1. When the Android smart terminal makes a voice call and the user clicks the dial button, Telecomm sends a broadcast with the call status of "CALL_PRESSED" to VoiceMetrics. After receiving the broadcast, VoiceMetrics' mBroadcastReceiver calls the send2103Broadcast() interface to format the data and then broadcasts the "UICallState" data to the operator's third-party applications.

[0136] S2. When the Android smart terminal makes a voice call, and the voice call status is "CONNECTING", Telecomm sends a broadcast of the call status "CONNECTING" to VoiceMetrics. After receiving the broadcast, VoiceMetrics' mBroadcastReceiver calls the send2103Broadcast() interface to format the data, and then broadcasts the "UICallState" data to the operator's third-party applications.

[0137] S3. When the Android smart terminal makes a voice call and the modem reports the call status as "ATTEMPTING" to VoiceMetrics via "EDMFAPP:3,2102", the parseAtCmd() interface is called to parse the data. Then, the send2103Broadcast(), send2106Broadcast(), send2109Broadcast(), and send2102Broadcast() interfaces are called to format the data. send2103Broadcast() is used to broadcast "UICallState" data; send2106Broadcast() is used to broadcast "AppTriggeredCall" data; send2109Broadcast() is used to broadcast "carrierConfig" data; and send2102Broadcast() is used to broadcast "detailedCallState" data.

[0138] S4. The Android smart terminal makes a voice call. The modem reports the "CallSetting" data through "EDMFAPP:3,2107", calls the parseAtCmd() interface to parse the data, calls the send2107Broadcast() interface to format the data, and then broadcasts the "CallSetting" data to the operator's third-party applications.

[0139] S5. After the voice dial of the Android smart terminal is answered, the modem reports through "EDMFAPP:3,2102" that the call status has changed to "ESTABLISHED", calls the parseAtCmd() interface to parse the data, calls send2102Broadcast(), and sends the "detailedCallState" data.

[0140] S6. After the voice dial of the Android smart terminal is answered, the modem reports the call status as "CONNECTED" through "EDMFAPP:3,2102", calls the parseAtCmd() interface to parse the data, calls the send2102Broadcast() interface to format the data, and then broadcasts the "detailedCallState" data to the operator's third-party applications.

[0141] S7. After the voice dial of the Android smart terminal is answered, Telecomm sends a broadcast with the call interface status of "CALL_CONNECTED" to VoiceMetrics. After receiving the broadcast, VoiceMetrics' mBroadcastReceiver calls the send2103Broadcast() interface format data and broadcasts the "detailedCallState" data to the operator's third-party applications.

[0142] S8. The voice dial of the Android smart terminal is answered. When the voice call status in the Telephony service changes to PRECISE_CALL_STATE_ACTIVE, the Telephony service calls back the onCallAttributesChanged() method of the mTelephonyCallback object, starts a timer, and queries the fields contained in the RTPDLStat type data from the modem every 5 seconds. After the modem returns the data, it calls the parse2101() method to parse the data, calls the send2101Broadcast() interface to format the data, and broadcasts the "RTPDLStat" data to the operator's third-party applications. When the voice call status changes to other states, stop sending send2101Broadcast().

[0143] During a voice call on an S9.Android smart terminal, the user clicks the mute button on the call interface, and Telecomm sends a broadcast with the call interface status of "UNMUTE_PRESSED" or "UNMUTE_PRESSED" to VoiceMetrics. After receiving the broadcast, VoiceMetrics' mBroadcastReceiver calls the send2103Broadcast() interface format data and broadcasts the "detailedCallState" data to the operator's third-party applications.

[0144] S10. During a voice call on an Android smart terminal, when the voice call is muted or unmuted, the modem reports the call status as "MUTED" or "UNMUTED" through "EDMFAPP:3,2102", calls the parseAtCmd() interface to parse the data, calls the send2102Broadcast() interface to format the data, and then broadcasts the "UICallState" data to the operator's third-party applications.

[0145] S11. During a voice call on an Android smart terminal, the user clicks the hold button on the call interface, and Telecomm sends a broadcast to VoiceMetrics with the call interface status of "HOLD_PRESSED" or "UNHOLD_PRESSED". After receiving the broadcast, VoiceMetrics' mBroadcastReceiver calls the send2103Broadcast() interface to format the data, and then broadcasts the "detailedCallState" data to the operator's third-party applications.

[0146] S12. During a voice call on an Android smart terminal, when the voice call is held, the modem reports the call status as "HELD" through "EDMFAPP:3,2102", calls the parseAtCmd() interface to parse the data, calls the send2102Broadcast() interface to format the data, and then broadcasts the "detailedCallState" data to the operator's third-party applications.

[0147] S13. During a voice call on an Android smart terminal, when the terminal screen is off or on, VoiceMetrics's mBroadcastReceiver receives a broadcast with a string identifier of "ACTION_SCREEN_ON" or "ACTION_SCREEN_OFF", calls the send2103Broadcast() interface format data, and then broadcasts the "UICallState" data to the operator's third-party applications.

[0148] S14. During a voice call on an Android smart terminal, when a channel connected to the core network is transferred or switched to another channel, the modem reports the INTER_HO_STARTED, INTER_HO_FAILED or INTER_HO_SUCCESSFUL status to VoiceMetrics through "EDMFAPP:3,2104", calls the parseAtCmd() interface to parse the data, calls the send2104Broadcast() interface to format the data, and then broadcasts the "VoiceRadioBearerHandoverState" data to the operator's third-party applications.

[0149] S15. During a voice call on an Android smart terminal, when the terminal's network mode is reduced from 4G / 5G to 2G / 3G, the modem reports the "CSFB_STARTED", "CSFB_SUCCESSFUL", and "CSFB_FAILED" status to VoiceMetrics through "EDMFAPP:3,2102", calls the parseAtCmd() interface to parse the data, calls the send2102Broadcast() interface to format the data, and then broadcasts the "detailedCallState" data to the operator's third-party applications.

[0150] S16. During a voice call on an Android smart terminal, when the terminal network mode is reduced from 4G / 5G to 2G / 3G, the voice call status will also change. When the modem reports the "SRVCC_STARTED", "SRVCC_SUCCESSFUL" or "SRVCC_FAILED" status to VoiceMetrics via "EDMFAPP:3,2102", or reports the "ASRVCC_STARTED", "ASRVCC_SUCCESSFUL" or "ASRVCC_FAILED" status to VoiceMetrics, the parseAtCmd() interface is called to parse the data, and the send2102Broadcast() interface is called to format the data, and then the "detailedCallState" data is broadcast to the operator's third-party applications.

[0151] S17. During dialing and voice calls on Android smart terminals, when the terminal network mode is 4G / 5G, the modem reports IMS SIP messages and other related information to VoiceMetrics through "EDMFAPP:3,2105", calls the parseAtCmd() interface to parse the data, calls the send2105Broadcast() interface to format the data, and then broadcasts the "ImsSignallingMessage" data to the operator's third-party applications.

[0152] S18. During a voice call on an Android smart terminal, when the user clicks the hang-up button, Telecomm sends a broadcast with the call interface status "END_PRESSED" to VoiceMetrics. After receiving the broadcast, VoiceMetrics' mBroadcastReceiver calls the send2103Broadcast() interface format data and broadcasts the "UICallState" data to the operator's third-party applications.

[0153] S19. After the voice call on the Android smart terminal is hung up, when the voice call status changes to "DISCONNECTING", Telecomm sends a broadcast with the call interface status of "DISCONNECTING" to VoiceMetrics. After receiving the broadcast, VoiceMetrics' mBroadcastReceiver calls the send2103Broadcast() interface format data and broadcasts the "UICallState" data to the operator's third-party applications.

[0154] S20. After the voice call on the Android smart terminal is hung up, the modem reports the call status as "DISCONNECTING" through "EDMFAPP:3,2102", calls the parseAtCmd() interface to parse the data, calls the send2102Broadcast() interface to format the data, and then broadcasts the "detailedCallState" data to the operator's third-party applications.

[0155] S21. After the voice call on the Android smart terminal is hung up, when the voice call status changes to "DISCONNECTED", Telecomm sends a broadcast with the call interface status of "CALL_DISCONNECTED" to VoiceMetrics. After receiving the broadcast, VoiceMetrics' mBroadcastReceiver calls the send2103Broadcast() interface format data and broadcasts the "UICallState" data to the operator's third-party applications.

[0156] S22.After the voice call on the Android smart terminal is hung up, the modem reports the call status as "ENDED" through "EDMFAPP:3,2102", calls the parseAtCmd() interface to parse the data, calls the send2102Broadcast() interface to format the data, and then broadcasts the "detailedCallState" data to the operator's third-party applications.

[0157] S23. When the Android smart terminal receives an incoming voice call or video call, Telecomm sends a broadcast with the call interface status as "RINGING" to VoiceMetrics. After receiving the broadcast, VoiceMetrics' mBroadcastReceiver calls the send2103Broadcast() interface format data and broadcasts the "UICallState" data to the operator's third-party applications.

[0158] S24. When the Android smart terminal receives an incoming voice call or video call, the modem reports the call status "INCOMING" to VoiceMetrics through "EDMFAPP:3,2102", calls the parseAtCmd() interface to parse the data, calls the send2102Broadcast() interface to format the data, and then broadcasts the "detailedCallState" data to the operator's third-party applications.

[0159] S25. When the Android smart terminal receives an incoming voice call or video call, the Telephoy service calls back the onCallStateChanged method of the mPhoneStateListener object. If the call state is CALL_STATE_RINGING, it calls the send2109Broadcast() interface format data and broadcasts the "carrierConfig" data to the operator's third-party applications.

[0160] S26. When the Android smart terminal makes an emergency call, the modem reports the emergency dial timer information to VoiceMetrics through "EDMFAPP:3,2108", calls the send2108Broadcast() interface to format the data, and then broadcasts the "emergencyCallTimerState" data to the operator's third-party applications.

[0161] It should be noted that there is no sequence between S1-S26. When the collected data is of a specific type, it can be sent using the corresponding interface.

[0162] According to the description of the above embodiment, the overall processing flow of the terminal device of the present application can be as follows: Figure 3 shown.

[0163] It should be noted that if the system is used for the first time or after it is turned on, the system needs to perform the following steps:

[0164] When the S1 is turned on, the Android system loads the Phone process, starts the Telephony application, and begins loading the SIM card. When the SIM card is loaded, VoiceMetrics is started and initialized according to the slot number of the Sim card.

[0165] S2 executes the initialization logic, obtains the system Telephony service, and calls the registerAtUrcInd() interface of the service to register an IOemHookCallback callback for receiving data from the Modem.

[0166] S3 registers a broadcast receiver mReceiver and specifies a string identifier set of {outgoing="android.intent.action.NEW_OUTGOING_CALL"} for receiving broadcast data for starting dialing sent by Telecomm.

[0167] S4 registers a listener (mPhoneStateListener) to monitor changes in the voice call status and attributes of the Telephony service.

[0168] S5 registers a callback object (mTelephonyCallback) with the system service TelephonyManager. When the voice call attributes change, TelephonyManager calls the onCallAttributesChanged method of the callback object to transmit the call status.

[0169] S6 registers a broadcast receiver (mBroadcastReceiver) and specifies the string identifier set as {ACTION_TELECOMM_CALL_STATE_CHANGED = "com.android.server.telecomm.MTK_CALL_STATE_CHANGED",

[0170] ACTION_SCREEN_ON = "android.intent.action.SCREEN_ON", ACTION_SCREEN_OFF = "android.intent.action.SCREEN_OFF"}, used to receive the call interface status data sent by Telecomm, as well as the device screen on and off status.

[0171] In order to better implement the call data processing method in the embodiment of the present application, in addition to the call data processing method, the embodiment of the present application also provides a call data processing device, such as Figure 4 As shown, the device 300 includes:

[0172] The first acquisition module 301 is used to acquire call interface data;

[0173] The second acquisition module 302 is used to acquire call network data;

[0174] The processing module 303 is used to convert the call interface data and the call network data into identifiable data of the target server;

[0175] The communication module 304 is used to send the identifiable data to the target server.

[0176] The call data processing device provided by the present application can collect the call interface data and call network data during the user's call process through the first acquisition module 301 and the second acquisition module 302. After completing the collection of the call interface data and the call network data, the processing module 303 can convert them into identifiable data of the target server and send them to the target server through the communication module 304, so that the target server can analyze the problems that occur during the user's call, thereby improving the call quality.

[0177] In some embodiments of the present application, the call network data includes call status data, and the second acquisition module 302 is specifically used to:

[0178] Detect the current call status;

[0179] If the current call status changes, get the call status data.

[0180] In some embodiments of the present application, the call network data includes network status data, and the second acquisition module 302 is further configured to:

[0181] Detect the current network packet loss rate;

[0182] If the current network packet loss rate is greater than the target packet loss rate threshold, the network transmission data is sampled to obtain network status data.

[0183] In some embodiments of the present application, the call network data includes network status change data, and the second acquisition module 302 is further configured to:

[0184] Detect call network;

[0185] If the call network status changes, obtain the network status change data.

[0186] In some embodiments of the present application, the call network data includes first target call type attribute data, and the second acquisition module 302 is further configured to:

[0187] Detect the current call type;

[0188] If the current call type is the first target call type, first target call type attribute data corresponding to the first target call type is obtained.

[0189] In some embodiments of the present application, the call network data includes package name data, and the second acquisition module 302 is further used to:

[0190] Detect the current dialing status;

[0191] If the current dialing state is the first dialing state, the package name data is obtained; the first dialing state represents dialing start.

[0192] In some embodiments of the present application, the call network data includes call setting data, and the second acquisition module 302 is further configured to:

[0193] Detect the current call status;

[0194] If the current call state is the first call state, the call setting data is obtained; the first call state represents making a call or receiving an incoming call.

[0195] In some embodiments of the present application, the call network data includes timer data, and the second acquisition module 302 is further configured to:

[0196] Detect the current call type;

[0197] If the current call type is the second target call type, then the timer data corresponding to the second target call type is obtained.

[0198] In some embodiments of the present application, the call network data includes server configuration data, and the second acquisition module 302 is further configured to:

[0199] Detect the current call status;

[0200] If the current call state is the first call state, the server configuration data is obtained; the first call state represents making a call or receiving an incoming call.

[0201] In some embodiments of the present application, the processing module 303 is specifically used to:

[0202] Configure corresponding target interface data for call interface data and call network data;

[0203] The call interface data and the call network data are respectively configured with corresponding identifiers that match the corresponding target interface data to obtain identifiable data of the target server.

[0204] The present application also provides a terminal device, which includes a processor, a memory, and a computer program stored in the memory and executable on the processor, and the processor executes the computer program to implement the steps in any one of the call data processing methods in the present application. The terminal device integrates any one of the call data processing methods provided in the present application. Figure 5 As shown, it shows a schematic diagram of the structure of the terminal device involved in the embodiment of the present application, specifically:

[0205] The terminal device may include one or more processing core processors 401, one or more computer-readable storage media memories 402, a power supply 403, an input unit 404 and other components. Those skilled in the art will appreciate that Figure 5 The terminal device structure shown in the figure does not constitute a limitation on the terminal device, and may include more or fewer components than shown in the figure, or combine certain components, or arrange the components differently. Among them:

[0206] The processor 401 is the control center of the terminal device, and uses various interfaces and lines to connect various parts of the entire terminal device. By running or executing software programs and / or modules stored in the memory 402, and calling data stored in the memory 402, the processor 401 executes various functions of the terminal device and processes data, thereby monitoring the terminal device as a whole. Optionally, the processor 401 may include one or more processing cores; the processor 401 may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or the processor may also be any conventional processor, etc. Preferably, the processor 401 may integrate an application processor and a modem processor, wherein the application processor mainly processes the operating system, the user interface and the application program, etc., and the modem processor mainly processes wireless communication. It is understandable that the above-mentioned modem processor may not be integrated into the processor 401.

[0207] The memory 402 can be used to store software programs and modules. The processor 401 executes various functional applications and data processing by running the software programs and modules stored in the memory 402. The memory 402 may mainly include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application required for at least one function (such as a sound playback function, an image playback function, etc.), etc.; the data storage area may store data created according to the use of the terminal device, etc. In addition, the memory 402 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, or other volatile solid-state storage devices. Accordingly, the memory 402 may also include a memory controller to provide the processor 401 with access to the memory 402.

[0208] The terminal device also includes a power supply 403 for supplying power to each component. Preferably, the power supply 403 can be logically connected to the processor 401 through a power management system, so as to manage charging, discharging, power consumption management and other functions through the power management system. The power supply 403 can also include any components such as one or more DC or AC power supplies, recharging systems, power failure detection circuits, power converters or inverters, and power status indicators.

[0209] The terminal device may further include an input unit 404, which may be used to receive input digital or character information and generate keyboard, mouse, joystick, optical or trackball signal input related to user settings and function control.

[0210] Although not shown, the terminal device may further include a display unit, etc., which will not be described in detail herein. Specifically in this embodiment, the processor 401 in the terminal device will load the executable files corresponding to the processes of one or more application programs into the memory 402 according to the following instructions, and the processor 401 will run the application programs stored in the memory 402, thereby realizing various functions, such as:

[0211] Get call interface data;

[0212] Get call network data;

[0213] Convert call interface data and call network data into identifiable data for the target server;

[0214] Sends identifiable data to the target server.

[0215] A person of ordinary skill in the art will appreciate that all or part of the steps in the various methods of the above embodiments may be completed by instructions, or by controlling related hardware through instructions. The instructions may be stored in a computer-readable storage medium and loaded and executed by a processor.

[0216] To this end, an embodiment of the present application provides a computer-readable storage medium, which may include: a read-only memory (ROM), a random access memory (RAM), a disk or an optical disk, etc. A computer program is stored thereon, and the computer program is loaded by a processor to execute the steps in any call data processing method provided in the embodiment of the present application. For example, the computer program loaded by the processor can execute the following steps:

[0217] Get call interface data;

[0218] Get call network data;

[0219] Convert call interface data and call network data into identifiable data for the target server;

[0220] Sends identifiable data to the target server.

[0221] In the above embodiments, the description of each embodiment has its own emphasis. For parts that are not described in detail in a certain embodiment, please refer to the detailed description of other embodiments above, and will not be repeated here.

[0222] In specific implementation, the above units or structures can be implemented as independent entities, or can be arbitrarily combined to be implemented as the same or several entities. The specific implementation of the above units or structures can refer to the previous method embodiments, which will not be repeated here.

[0223] The specific implementation of the above operations can be found in the previous embodiments, which will not be described in detail here.

[0224] The above is a detailed introduction to a call data processing method and device provided in an embodiment of the present application. Specific examples are used in this article to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only used to help understand the method of the present application and its core idea; at the same time, for technical personnel in this field, according to the idea of ​​the present application, there will be changes in the specific implementation method and application scope. In summary, the content of this specification should not be understood as a limitation on the present application.

Claims

1. A call data processing method, characterized in that: The method comprises: Get call interface data; Get call network data; Converting the call interface data and the call network data into identifiable data for a target server; The identifiable data is sent to the target server.

2. The call data processing method according to claim 1, characterized in that: The call network data includes call status data, and the acquiring of the call network data includes: Detect the current call status; If the current call status changes, the call status data is obtained.

3. The call data processing method according to claim 1, characterized in that: The call network data includes network status data, and the acquiring of the call network data includes: Detect the current network packet loss rate; If the current network packet loss rate is greater than the target packet loss rate threshold, the network transmission data is sampled to obtain the network status data.

4. The call data processing method according to claim 1, characterized in that: The call network data includes network status change data, and the acquiring of the call network data includes: Detect call network; If the call network status changes, the network status change data is obtained.

5. The call data processing method according to claim 1, characterized in that: The call network data includes first target call type attribute data, and the acquiring of the call network data includes: Detect the current call type; If the current call type is the first target call type, first target call type attribute data corresponding to the first target call type is acquired.

6. The call data processing method according to claim 1, characterized in that: The call network data includes package name data, and the acquiring of the call network data includes: Detect the current dialing status; If the current dialing state is the first dialing state, the package name data is acquired; the first dialing state represents dialing start.

7. The call data processing method according to claim 1, characterized in that: The call network data includes call setting data, and the acquiring of the call network data includes: Detect the current call status; If the current call state is a first call state, the call setting data is acquired; the first call state represents making a call or receiving an incoming call.

8. The call data processing method according to claim 1, characterized in that: The call network data includes timer data, and acquiring the call network data includes: Detect the current call type; If the current call type is the second target call type, then the timer data corresponding to the second target call type is obtained.

9. The call data processing method according to claim 1, characterized in that: The call network data includes server configuration data, and the acquiring of the call network data includes: Detect the current call status; If the current call state is a first call state, the server configuration data is acquired; the first call state represents making a call or receiving an incoming call.

10. The call data processing method according to claim 1, characterized in that: The converting the call interface data and the call network data into identifiable data of a target server includes: Configuring corresponding target interface data for the call interface data and the call network data; The call interface data and the call network data are respectively configured with corresponding identifiers that match the corresponding target interface data to obtain identifiable data of the target server.

11. A call data processing device, characterized in that: The device comprises: The first acquisition module is used to acquire call interface data; A second acquisition module is used to acquire call network data; A processing module, used for converting the call interface data and the call network data into identifiable data of a target server; A communication module is used to send the identifiable data to the target server.

12. A terminal device, characterized in that: The terminal device includes a processor, a memory, and a computer program stored in the memory and executable on the processor, and the processor executes the computer program to implement the steps in the call data processing method according to any one of claims 1 to 10.

13. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and the computer program is executed by a processor to implement the steps in the call data processing method according to any one of claims 1 to 10.