Method for Analyzing Voice over Internet Protocol Communication and System for Implementing the Same

The method and system for analyzing VOIP communications by capturing and processing call data on mobile devices effectively address the challenge of determining the root cause of communication issues, enhancing network performance and user experience.

JP2025516565AActive Publication Date: 2025-05-30RAKUTEN MOBILE INC
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2024566273
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2022-10-21
Publication Date
2025-05-30
Estimated Expiration
2042-10-21

AI Technical Summary

Technical Problem

Existing methods for analyzing Voice over Internet Protocol (VOIP) communications face challenges in determining the root cause of communication problems, as they often attribute issues to the telecommunications network without considering the mobile device or other components.

Method used

A method and system for performing call analysis that involves initiating a call on a mobile device connected to a network, determining if data collection for the communication application has been initiated, capturing relevant data including location, time, call information, and performance data, and transmitting this data for processing and visualization to determine network performance.

Benefits of technology

This approach enables accurate identification of the root cause of communication issues, allowing network providers to determine whether network maintenance is needed or if the problem lies with the mobile device, thereby optimizing resource allocation and improving user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025516565000001_ABST
    Figure 2025516565000001_ABST
Patent Text Reader

Abstract

A method for performing call analysis includes initiating a call on a mobile device, where the mobile device is connected to a network and the call is initiated on a communication application executed by the mobile device. The method further includes determining whether data collection for the communication application has been initiated. In response to determining that data collection for the communication application has been initiated, the method further includes capturing the location of the mobile device, capturing the time of the initiated call, obtaining call information data from the communication application, obtaining call performance data from the communication application, and transmitting the location of the mobile device, the time of the initiated call, the call information data, and the call performance data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This specification relates to a method for analyzing Voice over Internet Protocol (VOIP) communications and a system for implementing the same.

Background Art

[0002] Voice over Internet Protocol (VOIP) communications include wireless voice and / or visual communications. Different from standard telephone communications, VOIP communications are implemented using communication applications installed on mobile devices. For example, a mobile device such as a mobile phone utilizes a communication application to communicate with other users of the communication application. The communication is sometimes carried out using a telecommunications network.

[0003] Since the communication is carried out using a communication application that utilizes the Internet Protocol (IP) via a telecommunications network, the performance of the telecommunications network affects the experience of users who utilize VOIP communications. However, including the communication application increases the complexity for determining whether the experience of communication problems has a root cause within the telecommunications network or whether there is another cause.

Summary of the Invention

[0004] One aspect of the present specification relates to a method of performing call analysis. The method includes initiating a call on a mobile device, where the mobile device is connected to a network and the call is initiated on a communication application executed by the mobile device. The method further includes determining whether data collection for the communication application has been initiated. In response to determining that data collection for the communication application has been initiated, the method further includes capturing the location of the mobile device, capturing the time of the initiated call, obtaining call information data from the communication application, obtaining call performance data from the communication application, and transmitting the location of the mobile device, the time of the initiated call, the call information data, and the call performance data.

[0005] One aspect of the present specification relates to a method of performing call analysis. The method includes receiving call data. The call data includes the time of a call made using a mobile device connected to a network, the location of the mobile device during the call, call information data, and call performance data. The method further includes processing the call data, and processing the call data includes correlating the call performance data with network performance data based on the call information data. The method further includes generating at least one visualization based on the processed call data. The method further includes displaying the at least one visualization. The method further includes determining the network performance during the call based on the at least one visualization.

[0006] One aspect of the present specification relates to a system for performing call analysis. The system includes a non-transitory computer-readable medium configured to store instructions. The system further includes a processor connected to the non-transitory computer-readable medium. The processor is configured to execute instructions for receiving call data. The call data includes the time of a call made using a mobile device connected to a network, the location of the mobile device during the call, call information data, and call performance data. The processor is further configured to execute instructions for processing the call data, and processing the call data includes correlating the call performance data with network performance data based on the call information data. The processor is further configured to execute instructions for generating at least one visualization based on the processed call data. The processor is further configured to execute instructions for instructing a display to display the at least one visualization. The processor is further configured to execute instructions for determining network performance during a call based on the at least one visualization.

[0007] Aspects of the present disclosure are best understood from the following detailed description when read in conjunction with the accompanying drawings. Note that various features are not drawn to scale in accordance with standard practice in the industry. In fact, the dimensions of various features may be arbitrarily increased or decreased for clarity of discussion.

Brief Description of the Drawings

[0008]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

[0009] The following disclosure provides many different embodiments or examples for implementing different features of the provided subject matter. To simplify the present disclosure, specific examples of components, values, operations, materials, arrangements, etc. are described below. Of course, these are merely examples and are not intended to be limiting. Other components, values, operations, materials, arrangements, etc. are contemplated. For example, the formation of the first feature above or on the second feature in the following description can include embodiments in which the first feature and the second feature are formed in direct contact, and can also include embodiments in which additional features are formed between the first feature and the second feature so that the first feature and the second feature cannot be in direct contact. Additionally, the present disclosure may repeat reference numerals and / or letters in various examples. This repetition is for the purpose of simplicity and clarity and does not itself define the relationship between the various embodiments and / or configurations being described.

[0010] Furthermore, spatially relative terms such as "beneath", "below", "lower", "above", "upper", etc. may be used herein to facilitate descriptions of the relationship of one element or feature to another element(s) or feature(s) as shown in the figures. Spatially relative terms are intended to encompass different orientations of the device in use or operation in addition to the orientation shown in the figures. The device may be oriented in other directions (rotated 90 degrees or at other orientations), and the spatially relative descriptors used herein may be interpreted accordingly as well.

[0011] Voice over Internet Protocol (VOIP) communications are implemented using a communication application. Examples of communication applications include Skype (registered trademark), Teams (registered trademark), WeChat (registered trademark), Line (registered trademark), WhatsApp (registered trademark), etc. These communication applications are installed on mobile devices that can be connected to a telecommunications network, which is sometimes also referred to as a network. The communication application can perform voice and / or visual communications, sometimes also referred to as calls, by exchanging data via the telecommunications network.

[0012] Since a telecommunications network is used to transfer data between a mobile device running a communication application and a call recipient, the performance of the telecommunications network affects the quality of the communication. In some cases, users of communication applications experience poor communication quality and assume that the problem is the result of insufficient telecommunications network performance. However, in some cases, the mobile device or other components in the communication are the cause of the poor communication quality. To monitor telecommunications network performance in combination with the quality of service for VOIP calls, current applications include ways to capture data related to key performance indicators (KPIs) of the mobile device and KPIs of the communication application to help determine the root cause of poor communication performance.

[0013] This method includes receiving information such as the location of the mobile device, the type of call, packet loss, latency, and other relevant data for determining how the telecommunications network was performing during the call. Once a determination is made regarding the performance of the telecommunications network, the network provider can determine whether repairs or maintenance should be performed on the network, whether a new site location should be added to the network, whether the root cause of the poor communication quality is the mobile device, or other appropriate feedback to the user of the mobile device to improve future communication.

[0014] In some embodiments, the method further includes displaying the call analysis on a network monitor. In some embodiments, the method further includes generating a user interface (UI) to assist the network monitor in evaluating network performance. In some embodiments, the method further includes generating recommendations for improving network performance based on the call analysis.

[0015] FIG. 1 is a schematic diagram of a telecommunications network 100 according to some embodiments. The telecommunications network 100 includes a plurality of base stations 110, and each base station 110 has a corresponding coverage area 115. In some examples, the coverage areas 115 of adjacent base stations 110 overlap each other to define overlapping coverage areas 120. In some cases, there are gaps 125 between the coverage areas 115 of adjacent base stations 110. Mobile devices 130 within the telecommunications network 100 can connect to one or more base stations 110 when the mobile devices 130 are within the coverage area 115 corresponding to the base stations 110. In some cases, the mobile devices 130 execute one or more communication applications used in VOIP communication. To assist in the analysis of VOIP calls, the location of the mobile devices 130 and other KPI data are captured. The location and other KPI data are analyzed to determine the performance of the telecommunications network 100 during VOIP calls.

[0016] A telecommunications service provider, also referred to as a network provider, maintains the base stations 110 and is responsible for minimizing the size and number of gaps 125 within the coverage area 115 of the telecommunications network 100. In some embodiments, the service provider recognizes connectivity issues with the mobile devices 130. In some embodiments, the service provider recognizes connectivity issues through communication with the users of the mobile devices 130. In some embodiments, the service provider recognizes connectivity issues through monitoring of KPIs within the telecommunications network 100 or through other monitored parameters. When the mobile device 130 is within the gap 125, the service provider is likely to provide instructions for inspection or maintenance of one or more base stations 110 adjacent to the gap 125 to reduce or eliminate the gap 125 from the telecommunications network 100.

[0017] However, if the mobile device 130 is determined to be the root cause of insufficient communication quality for a VOIP call that dispatches a inspection or maintenance team to any base station 110, since the cause of the insufficient communication quality does not originate from the telecommunication network 100, it is a waste of time or resources. In some embodiments, the service provider can determine the root cause of the insufficient communication quality in order to make a more informed decision regarding whether to dispatch an inspection or maintenance team, using, for example, the information collected from the mobile device 130 using method 200 (FIG. 2).

[0018] FIG. 2 is a flowchart of a method 200 for collecting communication data from VOIP communication according to some embodiments. Method 200 can be used to collect data related to communication quality and network performance in order to evaluate the root cause of problems related to VOIP calls. In some embodiments, method 200 is fully implemented on a mobile device such as a mobile phone used to make a VOIP call. In some embodiments, a part of method 200 is implemented on a device external to the mobile device.

[0019] In operation 205, a call is initiated. The call is a VOIP communication. The call is initiated using a communication application on a mobile device, for example, mobile device 130 (FIG. 1). In some embodiments, the call is a voice-only call. In some embodiments, the call is a video-only call. In some embodiments, the call includes voice and video. In some embodiments, the call is an outgoing call, i.e., a call initiated by the user of the mobile device. In some embodiments, the call is an incoming call, i.e., a call received by the mobile device from an external source.

[0020] In operation 210, a determination is made as to whether data collection has been started. In some embodiments, data collection is implemented by a mobile device using a program other than a communication application. To start data collection, the program is granted access to information within the communication application and / or other components within the mobile device, such as a global positioning system, a clock, or other suitable components. In some embodiments, the user approves the start of data collection. In some embodiments, when the user approves the start of data collection, data collection remains started for each subsequent call initiation until the user cancels the approval or unless the user cancels the approval. In some embodiments, operation 210 is implemented using method 300 (FIG. 3) described below.

[0021] In response to a determination that data collection has not been started, method 200 proceeds to operation 215. In response to a determination that data collection has been started, method 200 proceeds to operation 220.

[0022] In operation 215, data capture is prohibited. In some embodiments, the prohibition of data capture means that KPI data related to the call initiated in operation 205 is not collected. In some embodiments, the prohibition of data capture means that KPI data related to the call initiated in operation 205 is collected but not transmitted outside the mobile device without a separate approval from the user. In some embodiments, operation 215 includes providing the user with a notification regarding the prohibition of data capture. In some embodiments, the notification includes an audio alert, such as a tone, or a visual alert, such as text or an icon.

[0023] In operation 220, network data is captured. The network data includes network KPIs that can be used to determine the performance of the network at the location of the mobile device. In some embodiments, operation 220 is performed based on data detected in the mobile device. In some embodiments, operation 220 is performed by a device external to the mobile device, such as a network server, based on the time of the call initiated in operation 205, the duration of the call, and the location of the mobile device during the call.

[0024] The following examples of network KPIs can be collected alone or in any combination with each other. In some embodiments, the network KPIs include, for example, the technology of the call, such as wireless fidelity (WiFi), fourth generation (4G), fifth generation (5G), long term evolution (LTE), or other suitable technologies. In some embodiments, the network KPIs include the cell global identity (CGI) of the base station connected to the mobile device during the call. In some embodiments, the KPI of the network date and time of the call. In some embodiments, the network KPIs include the physical cell identification (PCI) of the base station connected to the mobile device. In some embodiments, the network KPIs include the reference signal received power (RSRP) of the base station connected to the mobile device. In some embodiments, the network KPIs further track the handover of the mobile device between different base stations during the call.

[0025] In operation 225, call information is obtained from the communication application. The call information includes information regarding the type of call and information regarding the mobile device. In some embodiments, the call information is obtained by querying the communication application and / or querying the operating system of the mobile device. The call information is useful for analysis by identifying commonalities from calls that experience poor communication quality. For example, a situation where both a video call and an audio call experience similar poor communication quality indicates a gap within the network, such as gap 125.

[0026] The following examples of call types can be collected alone or in any combination with each other. In some embodiments, the type of call information includes whether the call is incoming or outgoing. In some embodiments, the type of call information includes whether the call was a voice call and / or a video call. In some embodiments, the type of call information includes the duration of the call. In some embodiments, the type of call information includes how the call ended, e.g., normally or was disconnected.

[0027] The following examples of mobile device information can be collected alone or in any combination with each other. In some embodiments, the mobile device information includes the operating system of the mobile device. In some embodiments, the mobile device information includes the brand and / or model information of the mobile device. In some embodiments, the mobile device information includes the battery level of the mobile device at various times during the call. In some embodiments, the mobile device information includes the temperature level of the mobile device at various times during the call.

[0028] In operation 230, call performance information is obtained from the communication application. The call performance information includes data regarding the quality of the call and information that can be used to identify the call. In some embodiments, the call performance information is obtained by querying the communication application and / or the operating system of the mobile device.

[0029] The following examples of call performance information can be collected individually or in any combination with each other. In some embodiments, the call performance information includes a mean opinion score (MOS). The MOS is a rating in the range of 1 to 5 and is used to determine the overall quality of the call. In some embodiments, an MOS rating of 4 or higher is considered good. An MOS rating of 3.1 to 4 is considered fair, and an MOS rating of less than 3.1 is considered poor. In some embodiments, to conserve processing load, analysis is performed only on calls with a poor MOS rating. In some embodiments, to conserve processing load, analysis is performed only on calls with a fair or poor MOS rating. In some embodiments, analysis is performed on all calls regardless of the MOS rating. In some embodiments, the call performance information includes a call token that uniquely identifies the call for correlation of the collected data. In some embodiments, the call performance information includes packet loss during the call. In some embodiments, the call performance information includes the number of packets transmitted during the call. In some embodiments, the call performance information includes jitter. In some embodiments, the call performance information includes a round trip time (RTT).

[0030] In operation 235, call data is sent to the server. The call data includes call information and call performance information. In some embodiments, the call data further includes network data obtained from the mobile device. In some embodiments, the call data further includes the call time, duration, and mobile device location in order to enable the server to obtain network data from logs accessible by the server based on the call time and the location of the mobile device.

[0031] In some embodiments, operation 235 is performed after the call has ended. In some embodiments, operation 235 is performed during the call so that multiple transmissions of call data for the same call are made. These multiple transmissions of call data can be correlated based on a call identifier such as a call token. In some embodiments, the call data is stored on the mobile device and the transmission of the call data is performed in response to the detection of a trigger event. In some embodiments, the trigger event includes a mobile device having a battery level that exceeds a threshold battery level. In some embodiments, the threshold battery level is a charge of about 20%. In some embodiments, the trigger event includes a connection of the mobile device or a WiFi network. In some embodiments, the trigger event includes a mobile device having a threshold level of connection to a telecommunications network. By delaying the transmission of the call data until the trigger event occurs, method 200 can collect data for analyzing VOIP calls without significantly affecting the performance of the user's mobile device, which may otherwise reduce customer satisfaction.

[0032] In some embodiments, the call data is sent to the server using wireless communication, for example, using a telecommunications network. In some embodiments, the call data is sent to the server using a wired connection. When the call data is sent to the server, the server can perform an analysis on the call data to determine the performance of the network and identify the root cause of potential problems that occurred during the call.

[0033] In some embodiments, method 200 includes additional operations. For example, in some embodiments, method 200 includes an approval operation that grants access to a communication application in order for a user to permit data acquisition from the communication application. In some embodiments, at least one operation of method 200 is omitted. For example, in some embodiments, network data is not captured during method 200. Instead, network data is obtained by a server based on the time and location of the mobile device during a call. In some embodiments, the order of the operations of method 200 is adjusted. For example, in some embodiments, operation 225 is performed after operation 230.

[0034] FIG. 3 is a flowchart of a method 300 for determining whether data collection can be initiated, according to some embodiments. In some embodiments, method 300 can be used to implement operation 210 of method 200 (FIG. 2). In some embodiments, method 300 can be used separately from method 200 (FIG. 2).

[0035] In operation 305, a communication application is launched. The communication application is launched by a mobile device accessible to the user. The communication application can make VOIP calls. In some embodiments, the communication application is launched in response to receiving an incoming call. In some embodiments, the communication application is launched in response to a detected interaction between the user and the mobile device, such as the user selecting the communication application on the mobile device.

[0036] In operation 310, a determination is made as to whether location collection is permitted. In some embodiments, the determination regarding location collection is based on approval from the user. In some embodiments, in response to the execution of operation 305 that requests approval to collect location data, a prompt is displayed on the mobile device, and the determination is made based on the detected response to the prompt. In some embodiments, approval from the user is requested prior to the execution of operation 305, such as when a call analysis application is installed on the mobile device. In some embodiments, the determination is made based on a query to the system of the mobile device to determine whether the user has previously approved location collection while the communication application launched in operation 305 is in use.

[0037] In response to a determination that location collection is permitted, method 300 proceeds to operation 320. In response to a determination that location collection is not permitted, method 300 proceeds to operation 325.

[0038] In operation 315, a determination is made as to whether collection of device state data is permitted. Device state data includes information about a mobile device such as brand, operating system, battery level, temperature, and the like. In some embodiments, the determination regarding collection of device state data is based on approval from the user. In some embodiments, in response to execution of operation 305 that requests approval to collect device state data, a prompt is displayed on the mobile device, and the determination is made based on the detected response to the prompt. In some embodiments, approval from the user is requested prior to execution of operation 305, such as when a call analysis application is installed on the mobile device. In some embodiments, the determination is made based on a query to the system of the mobile device to determine whether the user has previously approved device state data collection while the communication application launched in operation 305 is in use. In some embodiments, the prompt used to request approval in operation 310 is used to simultaneously request approval in operation 315. In some embodiments, separate prompts are used for operation 310 and operation 315.

[0039] In response to a determination that collection of device state data is permitted, method 300 proceeds to operation 320. In response to a determination that collection of device state data is not permitted, method 300 proceeds to operation 325.

[0040] In operation 320, a determination is made as to whether the global position system (GPS) or other suitable location detection components of the mobile device are active. In some embodiments, the determination as to whether the GPS is active is based on a query to the system of the mobile device. In some embodiments, the determination as to whether the GPS is active is based on whether the mobile device has a connection to a network sufficient for the mobile device to determine its location. In some embodiments, in response to a determination that the GPS is not active, a prompt is displayed on the mobile device to request that the user enable the GPS, and the determination is made based on the detected response to the prompt. In some embodiments, the prompt used to request enabling the GPS is used to also request approval in operation 310 or to request approval in operation 315. In some embodiments, separate prompts are used for operation 320, operation 310, and operation 315.

[0041] In response to a determination that the GPS is active, method 300 proceeds to operation 330. In response to a determination that the GPS is not active, method 300 proceeds to operation 325.

[0042] In operation 325, data collection has not been started. Failure to start data collection means that no data is collected from the communication application associated with any VOIP call initiated or received by the communication application.

[0043] In operation 330, data collection has been started. Starting data collection means that data is collected from the communication application for at least the VOIP call corresponding to the activation of the communication application in operation 305. In some embodiments, method 300 is repeated for each activation of the communication application. In some embodiments, method 300 is executed at the initial activation of the communication application, and the user's preference regarding whether to start data collection is saved.

[0044] In some embodiments, method 300 includes additional operations. For example, in some embodiments, method 300 includes providing a user with a notification regarding whether data collection has been initiated. In some embodiments, at least one operation of method 300 is omitted. For example, in some embodiments, if approval has been previously received from the user, operation 310 or operation 315 is omitted. In some embodiments, the order of the operations of method 300 is adjusted. For example, in some embodiments, operation 310 is performed simultaneously with operation 315, or operation 310 is performed before or after operation 315.

[0045] FIG. 4 is a flowchart of a method 400 for analyzing VOIP communications, according to some embodiments. In some embodiments, method 400 uses call data from method 200 (FIG. 2). In some embodiments, method 400 uses call data other than the call data from method 200 (FIG. 2).

[0046] In operation 405, call data is received. In some embodiments, the call data is received from a mobile device involved in the call. In some embodiments, the call data is received from an intermediate device between the mobile device and the server. In some embodiments, the call data is received wirelessly. In some embodiments, the call data is received via a wired connection. In some embodiments, the call data includes the time and location information of the mobile device used during the call. In some embodiments, the call data includes call performance data as described above. In some embodiments, the call data includes network performance data as described above. In some embodiments, the call data includes mobile device information as described above.

[0047] In operation 410, call data is saved. The call data is saved in non-volatile memory. In some embodiments, the call data is saved in a table based on a unique call identifier such as a call token. In some embodiments, all of the saved call data is received in operation 405. In some embodiments, a portion of the saved call data is received in operation 405, and a portion of the saved call data is obtained from a network log that stores network performance data based on the time and location information received in operation 405. In some embodiments, the call data is saved in the same device that receives the call data in operation 405. In some embodiments, the call data is saved in a device different from the device that receives the call data in operation 405.

[0048] In operation 415, the call data is processed. The call data is processed using a processor connected to the memory in which the call data is stored. Processing of the call data includes associating the saved call data to identify the root cause of a problem, if one exists, based on the call data. Processing of the call data facilitates determining the performance of the network that carried the call and the quality of the call experienced by the user.

[0049] In some embodiments, the processed call data can be used to determine holes within the network coverage, such as gap 125 (FIG. 1). In some embodiments, the processed call data can be used to determine a partial outage of the network. In some embodiments, the processed call data can be used to determine the network load at various times of the day. In some embodiments, the processed call data can be used to determine whether a large number of calls are interrupted at a specific location within the network. In some embodiments, the processed call data can be used to determine whether the MOS evaluation in a specific area of the network is normal or poor. In some embodiments, the processed call data can be used to determine whether a device within the network is malfunctioning. In some embodiments, the processed call data can be used to determine whether a particular brand of mobile device or a particular mobile device's operating system experiences a higher percentage of problems than other brands or operating systems using the network.

[0050] In some embodiments, the call data is processed only when the MOS evaluation of the call is poor. In some embodiments, the call data is processed only when the MOS evaluation of the call is poor or normal. In some embodiments, the call data is processed regardless of the MOS evaluation of the call.

[0051] In operation 420, the call data is further processed using structured query language (SQL). SQL can be used to define specific correlations between call data parameters of interest to the network monitor in order to increase the efficiency in identifying the root cause of problems. SQL is processed using a processor. In some embodiments, SQL is processed using the same processor as that used in operation 415. In some embodiments, SQL is processed using a processor different from that used in operation 415. In some embodiments, SQL is stored in memory. In some embodiments, SQL is processed concurrently with operation 415. In some embodiments, SQL is processed after operation 415. In some embodiments, SQL is processed based on instructions received from the network monitor.

[0052] In operation 425, a visualization of the processed call data is generated. The visualization helps the network monitor to determine the performance of the network based on the call data. In some embodiments, the visualization includes a graphical representation. In some embodiments, the visualization includes map data overlaid with network performance determined based on the call data. In some embodiments, the visualization includes tabular data. In some embodiments, the visualization is determined based on SQL from operation 425. In some embodiments, the visualization is selectable by the network monitor. For example, in some embodiments, the network monitor can select which type of visualization is desired, e.g., map, graphic, table, and one or more parameters of the call data to be displayed, e.g., MOS evaluation, dropped calls, type of call, etc. The network monitor can select different combinations of call data parameters for the visualization in order to help determine the performance of the network.

[0053] In operation 430, a dashboard view is displayed on the network monitor. The dashboard is a user interface (UI) that can display the visualizations generated in operation 425. The dashboard can also receive input from the network monitor to provide additional visualizations based on a desired combination of parameters viewable by the network monitor. Some examples of dashboards are described below with respect to FIGS. 5 and 6 in some embodiments.

[0054] In operation 435, call analysis is performed. The call analysis identifies whether there is a high likelihood that a problem exists within the network. Using the visualizations and call data, the processor can identify the locations within the network that are likely experiencing problems such as hardware malfunctions, power outages, antenna misalignments, etc. For example, in response to a determination that the number of dropped calls within an area of the network exceeds a threshold, the processor can determine that there is a high likelihood that a problem exists with the base station serving that area of the network. In some embodiments, repair / maintenance personnel can be dispatched to the base station to determine whether the repair or replacement of the base station equipment is covered by the warranty. In some embodiments, the network monitor can attempt to remotely diagnose or solve problems within the base station, such as by remotely accessing the base station and resetting its components.

[0055] In some embodiments, call analytics can be used to determine ways to enhance the network. For example, in some embodiments, locations with high call volumes are selected to accept additional base stations to support a large number of calls. Further, in some embodiments, based on the trend of MOS evaluations over time, a determination is made regarding the network's ability to continue to support the current performance of the network. As a result, in some cases, the network can be efficiently expanded or enhanced based on the network's historical performance and usage patterns to provide a higher customer satisfaction. One of ordinary skill in the art will understand that the above examples of call analytics are merely illustrative, and other analyses of call data and visualization are within the scope of this description.

[0056] Call analytics can also be used to determine whether a particular brand of mobile device is experiencing more problems in the network than other brands of mobile devices. This information can enable the network provider to determine whether to adjust components within the network. This information also enables customer service representatives to provide feedback to customers regarding complaints about the performance of the mobile device. This information is also useful to the mobile device provider to facilitate software or hardware updates within the mobile device.

[0057] In an optional operation 440, the processor provides network recommendations. The processor provides network recommendations based on visualization and call data to assist in network problem solving or network performance enhancement / strengthening. In some embodiments, the processor generates an alert to the network monitor in response to determining a poor MOS evaluation in a particular area with a bad network. In some embodiments, alerts are generated for other reasons, such as a large number of dropped calls, high RTT, a large amount of packet loss, or other suitable criteria. In some embodiments, the alert includes an audio or visual alert. In some embodiments, the alert further includes recommendations for solving problems related to the network. For example, in some embodiments, the alert includes recommendations for remotely restarting network components. In some embodiments, the alert is sent to a device accessible by the network monitor. In some embodiments, the alert is sent wirelessly. In some embodiments, the alert is sent via a wired connection. Those skilled in the art will understand that the above examples of network recommendations are merely illustrative, and other recommendations based on call data and visualization are within the scope of this description.

[0058] In some embodiments, method 400 includes at least one additional operation. For example, in some embodiments, method 400 further includes providing data to the user of the mobile device regarding the performance of different communication applications on the mobile device. In some embodiments, at least one operation of method 400 is omitted. For example, in some embodiments, the optional operation 440 is omitted to reduce the processing load. In some embodiments, the order of operations of method 400 is adjusted. For example, in some embodiments, operations 415 and 420 are executed simultaneously.

[0059] Figure 5 is a diagram of a user interface (UI) 500 for displaying VOIP performance data according to some embodiments. The UI 500 can be used to provide a visual representation of processed call data for a network monitor to access the performance of the network. In some embodiments, the UI 500 is a dashboard that is displayed to the network monitor as part of operation 430 of method 400 (Figure 4). In some embodiments, the UI 500 is generated by a method other than method 400 (Figure 4).

[0060] The UI 500 includes a first window 510 that displays bar graphs of the number of subscribers and the number of calls for various types of calls. The information within the first window 510 is useful for enabling the network monitor to determine the number of types of calls being made by users within the network. The information within the first window 510 is also useful for determining the ratio between the number of subscribers making calls and the total number of calls. This helps the network monitor to predict future demand on the network.

[0061] The UI 500 includes a second window 520 that displays a graph of the number and types of dropped calls within the network. Knowing the number of dropped calls within the network helps the network monitor to determine whether there is a high likelihood of a stoppage occurring within the network. The types of calls that are dropped also help in determining whether the network has sufficient resources to handle communications that utilize more bandwidth, such as video calls.

[0062] The UI500 includes a third window 530 that displays a bar graph of MOS evaluations for different types of calls within the network. The MOS evaluations help the network monitor determine whether the network is providing sufficient service quality to subscribers. For example, the MOS evaluation for a voice call in the third window reaches the threshold line 535. However, the MOS evaluations for video and mixed calls are below the threshold line 535. Based on this information, the network monitor may, in some cases, determine that it is desirable to have additional base stations or upgraded components within the network to improve the quality of more bandwidth-intensive communications such as video calls.

[0063] One of ordinary skill in the art will understand that the types of visualizations in the UI500 and the information displayed in the UI500 are exemplary, and that other combinations of visualizations and parameters are within the scope of this specification.

[0064] Figure 6 is a diagram of a UI600 for displaying VOIP performance data according to some embodiments. The UI600 can be used to provide a visual representation of processed call data for the network monitor to access the performance of the network. In some embodiments, the UI600 is a dashboard that is displayed to the network monitor as part of operation 430 of method 400 (Figure 4). In some embodiments, the UI600 is generated by a method other than method 400 (Figure 4). In some embodiments, the UI600 can be displayed using the same device as the UI500. In some embodiments, the UI600 can be displayed using a device different from the UI500.

[0065] UI600 includes a first window 610 that displays a line graph of performance parameters for different days. The performance parameters include MOS, RTT, and packet loss. The average MOS rating for calls on the network over the displayed period exceeds 4 and is likely to be considered good. However, the RTT and packet loss show a sudden sharp increase on the date of May 29. Based on this information, the network monitor can recognize potential problems such as outages that occurred within the network on May 29.

[0066] UI600 includes a second window 620 that displays a visual representation of the types of devices that accessed the network over a period of time. This data is useful for determining ways to enhance the network to adapt to the brands of popular devices among network subscribers in order to improve customer satisfaction. This data can also, in some cases, assist in determining the brands of devices that experience problems on the network.

[0067] Those skilled in the art will understand that the types of visualizations in UI600 and the information displayed in UI600 are exemplary, and that other combinations of visualizations and parameters are within the scope of this specification.

[0068] FIG. 7 is a block diagram of a system 700 for implementing call analysis according to some embodiments. System 700 includes a hardware processor 702 and a non-transitory computer-readable storage medium 704 that stores, i.e., is encoded with, a set of executable instructions, i.e., computer program code 706. The computer-readable storage medium 704 is also encoded with instructions 707 for interfacing with external devices. The processor 702 is electrically coupled to the computer-readable storage medium 704 via a bus 708. The processor 702 is also electrically coupled to an I / O interface 710 by the bus 708. A network interface 712 is also electrically connected to the processor 702 via the bus 708. The network interface 712 is connected to a network 714 such that the processor 702 and the computer-readable storage medium 704 can be connected to external elements via the network 714. The processor 702 is configured to execute the computer program code 706 encoded in the computer-readable storage medium 704 so as to be usable to cause the system 700 to perform some or all of the operations described in method 200 (FIG. 2), method 300 (FIG. 3), method 400 (FIG. 4) for generating the UI 500 (FIG. 5) or for generating the UI 600 (FIG. 6).

[0069] In some embodiments, the processor 702 is a central processing unit (CPU), a multiprocessor, a distributed processing system, an application specific integrated circuit (ASIC), and / or a suitable processing unit.

[0070] In some embodiments, the computer-readable storage medium 704 is an electronic, magnetic, optical, electromagnetic, infrared, and / or semiconductor system (or apparatus or device). For example, the computer-readable storage medium 704 includes semiconductor or solid state memory, magnetic tape, removable computer diskettes, random access memory (RAM), read-only memory (ROM), rigid magnetic recording disks, and / or optical disks. In some embodiments that use optical disks, the computer-readable storage medium 704 includes compact disk-read only memory (CD-ROM), compact disk-read / write (CD-R / W), and / or digital video disk (DVD).

[0071] In some embodiments, the storage medium 704 stores computer program code 706 configured to cause the system 700 to perform some or all of the operations described in method 200 (FIG. 2), method 300 (FIG. 3), or method 400 (FIG. 4) to generate the UI500 (FIG. 5) or to generate the UI600 (FIG. 6). In some embodiments, the storage medium 704 also stores information for performing some or all of the operations described in method 200 (FIG. 2), method 300 (FIG. 3), or method 400 (FIG. 4) to generate the UI500 (FIG. 5) or to generate the UI600 (FIG. 6), and information generated during performing some or all of the operations described in method 200 (FIG. 2), method 300 (FIG. 3), or method 400 (FIG. 4) to generate the UI500 (FIG. 5) or to generate the UI600 (FIG. 6), such as device location parameters 716, network data parameters 718, call information parameters 720, call performance parameters 722, SQL parameters 724, and / or a set of executable instructions for performing some or all of the operations described in method 200 (FIG. 2), method 300 (FIG. 3), or method 400 (FIG. 4) to generate the UI500 (FIG. 5) or to generate the UI600 (FIG. 6).

[0072] In some embodiments, the memory medium 704 stores instructions 707 for interfacing with an external device. The instructions 707 enable the processor 702 to generate and receive instructions readable by the external device to effectively execute some or all of the operations described in method 200 (FIG. 2), method 300 (FIG. 3), or method 400 (FIG. 4) to generate the UI 500 (FIG. 5) or the UI 600 (FIG. 6).

[0073] System 700 includes an I / O interface 710. The I / O interface 710 is coupled to an external circuit. In some embodiments, the I / O interface 710 includes a keyboard, keypad, mouse, trackball, trackpad, and / or cursor direction keys for communicating information and commands to the processor 702.

[0074] System 700 also includes a network interface 712 coupled to the processor 702. The network interface 712 enables System 700 to communicate with a network 714 to which one or more other computer systems are connected. The network interface 712 includes a wireless network interface such as BLUETOOTH®, WIFI, WIMAX, GPRS, or WCDMA®, or a wired network interface such as ETHERNET, USB, IEEE-1394. In some embodiments, some or all of the operations described in method 200 (FIG. 2), method 300 (FIG. 3), or method 400 (FIG. 4) to generate the UI 500 (FIG. 5) or the UI 600 (FIG. 6) are implemented in two or more systems 700, and information is exchanged between different systems 700 via the network 714.

[0075] One aspect of this specification relates to a method of performing call analysis. The method includes initiating a call on a mobile device, where the mobile device is connected to a network and the call is initiated on a communication application executed by the mobile device. The method further includes determining whether data collection for the communication application has been initiated. In response to determining that data collection for the communication application has been initiated, the method further includes capturing the location of the mobile device, capturing the time of the initiated call, obtaining call information data from the communication application, obtaining call performance data from the communication application, and transmitting the location of the mobile device, the time of the initiated call, the call information data, and the call performance data. In some embodiments, determining whether data collection for the communication application has been initiated includes determining whether location collection is permitted, determining whether collection device status information is permitted, determining whether the global positioning system (GPS) of the mobile device is active, and determining that data collection for the communication application has been initiated in response to all of location collection being permitted, device status information being permitted, and the GPS being active. In some embodiments, determining whether data collection for the communication application has been initiated includes determining that data collection for the communication application has not been initiated in response to any of location collection not being permitted, device status information not being permitted, or the GPS not being active. In some embodiments, the method includes capturing network performance data from the mobile device and transmitting the network performance data to the mobile device in response to determining that data collection for the communication application has been initiated. In some embodiments, initiating a call includes receiving an incoming call on the mobile device.In some embodiments, initiating a call includes generating a call on a mobile device using a communication application. In some embodiments, obtaining call performance data includes obtaining an average opinion score (MOS) evaluation for the call. In some embodiments, transmitting includes transmitting the location of the mobile device, the time of the initiated call, call information data, and call performance data in response to detection of the end of the call.

[0076] One aspect of this specification relates to a method for performing call analysis. The method includes receiving call data. The call data includes the time of a call made using a mobile device connected to a network, the location of the mobile device during the call, call information data, and call performance data. The method further includes processing the call data, and processing the call data includes correlating the call performance data with network performance data based on the call information data. The method further includes generating at least one visualization based on the processed call data. The method further includes displaying the at least one visualization. The method further includes determining the network performance during the call based on the at least one visualization. In some embodiments, the method further includes obtaining network performance data based on the time of the call and the location of the mobile device during the call. In some embodiments, receiving the call data includes receiving call data obtained from a communication application, and the call includes a Voice over Internet Protocol (VOIP) call. In some embodiments, generating the at least one visualization includes generating at least one graphical representation of the processed call data. In some embodiments, processing the call data includes correlating the data based on a unique call identifier received in the call data. In some embodiments, the method further includes changing the at least one visualization to a second visualization in response to receiving an input from a user. In some embodiments, the method further includes generating a recommendation for network enhancement based on the determined network performance during the call.

[0077] One aspect of this specification relates to a system for performing call analysis. The system includes a non-transitory computer-readable medium configured to store instructions. The system further includes a processor connected to the non-transitory computer-readable medium. The processor is configured to execute instructions for receiving call data. The call data includes the time of a call made using a mobile device connected to a network, the location of the mobile device during the call, call information data, and call performance data. The processor is further configured to execute instructions for processing the call data, and processing the call data includes correlating the call performance data with network performance data based on the call information data. The processor is further configured to execute instructions for generating at least one visualization based on the processed call data. The processor is further configured to execute instructions for instructing a display to display the at least one visualization. The processor is further configured to execute instructions for determining network performance during a call based on the at least one visualization. In some embodiments, the processor is further configured to execute instructions for obtaining network performance data based on the time of the call and the location of the mobile device during the call. In some embodiments, the processor is configured to execute instructions for receiving call data obtained from a communication application, and the call includes a Voice over Internet Protocol (VOIP) call. In some embodiments, the processor is configured to execute instructions for processing the call data by correlating the data based on a unique call identifier within the received call data. In some embodiments, the processor is configured to execute instructions for generating recommendations for network enhancement based on the determined network performance during the call.

[0078] The above outlines the features of multiple embodiments so that those skilled in the art can better understand the aspects of the present disclosure. It should be understood that those skilled in the art can readily use the present disclosure as a basis for designing or modifying other processes and structures that perform the same purposes of the embodiments introduced herein and / or achieve the same advantages. Those skilled in the art should also recognize that such equivalent configurations do not depart from the spirit and scope of the present disclosure, and that various changes, substitutions, and modifications can be made herein without departing from the spirit and scope of the present disclosure.

Claims

Claim 1 A method for performing call analysis, comprising: starting a call on a mobile device, wherein the mobile device is connected to a network and the call is started on a communication application executed by the mobile device; determining whether data collection for the communication application has been started; in response to determining that data collection for the communication application has been started, capturing the location of the mobile device; capturing the time of the started call; obtaining call information data from the communication application; obtaining call performance data from the communication application; transmitting the location of the mobile device, the time of the started call, the call information data, and the call performance data; A method comprising the above steps. Claim 2 Determining whether data collection for the communication application has been started includes: determining whether location collection is permitted; determining whether collection of device status information is permitted; determining whether the Global Positioning System (GPS) of the mobile device is active; Determining that data collection for the communication application has been started in response to all of location collection being permitted, collection of device status information being permitted, and the GPS being active; The method according to claim 1, comprising the above steps. Claim 3 Determining whether data collection for the communication application has been started includes: Determining that data collection for the communication application has not been started in response to any of location collection not being permitted, collection of device status information not being permitted, or the GPS not being active; The method according to claim 2, comprising the above steps. Claim 4 Capturing network performance data from the mobile device; Transmitting the network performance data to the mobile device in response to determining that data collection for the communication application has been started; The method according to claim 1, further comprising the above steps. Claim 5 The method according to claim 1, wherein starting the call includes receiving an incoming call on the mobile device.

6. The method according to claim 1, wherein starting the call includes generating the call on the mobile device using the communication application.

7. The method according to claim 1, wherein obtaining the call performance data includes obtaining an average opinion score (MOS) evaluation for the call.

8. The method according to claim 1, wherein transmitting includes transmitting the location of the mobile device, the time of the started call, the call information data, and the call performance data in response to detection of the end of the call.

9. A method of performing call analysis, comprising: receiving call data, wherein the call data includes: the time of a call made using a mobile device connected to a network; the location of the mobile device during the call; call information data; call performance data; receiving call data including the above; processing the call data, wherein processing the call data includes correlating call performance data with network performance data based on the call information data; generating at least one visualization based on the processed call data; displaying the at least one visualization; determining network performance during the call based on the at least one visualization; A method comprising the above.

10. The method according to claim 9, further comprising obtaining the network performance data based on the time of the call and the location of the mobile device during the call.

11. The method according to claim 9, wherein receiving the call data includes receiving call data obtained from a communication application, and the call includes a Voice over Internet Protocol (VoIP) call.

12. The method according to claim 9, wherein generating the at least one visualization includes generating at least one graphical representation of the processed call data.

13. The method according to claim 9, wherein processing the call data includes correlating data based on a unique call identifier received in the call data.

14. The method according to claim 9, further comprising changing the at least one visualization to a second visualization in response to receiving an input from a user.

15. The method according to claim 9, further comprising generating a recommendation for enhancing the network based on the determined network performance during the call.

16. A system for performing call analysis, comprising: A non-transitory computer-readable medium configured to store instructions; and A processor connected to the non-transitory computer-readable medium, the processor being configured to: Receive call data, the call data including: The time of a call made using a mobile device connected to a network; The location of the mobile device during the call; Call information data; Call performance data; Receive call data including the above; Process the call data, which includes correlating the call performance data with network performance data based on the call information data; Generate at least one visualization based on the processed call data; Instruct a display to display the at least one visualization; Determine the network performance during the call based on the at least one visualization; And execute the instructions for the above purposes. A system comprising the above.

17. The system according to claim 16, wherein the processor is further configured to execute instructions for obtaining the network performance data based on the time of the call and the location of the mobile device during the call.

18. The system according to claim 16, wherein the processor is configured to execute instructions for receiving the call data obtained from a communication application, and the call includes a Voice over Internet Protocol (VoIP) call.

19. The system according to claim 16, wherein the processor is configured to execute instructions for processing the call data by correlating data based on a unique call identifier within the received call data.

20. The system of claim 16, wherein the processor is configured to execute the instructions to generate a recommendation for enhancing the network based on the determined network performance during the call.

Citation Information

Patent Citations

  • Mobile station device, base station device, and radio communication system

    JP2011061633A

  • Network quality predictor, network quality prediction method, and program

    JP2017103684A

  • Mobile terminal and method for controlling the same

    US20180189894A1