A method for analyzing Voice over Internet Protocol communications and a system for implementing it.

JP7912613B2Active Publication Date: 2026-08-28RAKUTEN MOBILE INC
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2024566273
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-10-21
Publication Date
2026-08-28
Estimated Expiration
2042-10-21

Smart Images

  • Figure 0007912613000001
    Figure 0007912613000001
  • Figure 0007912613000002
    Figure 0007912613000002
  • Figure 0007912613000003
    Figure 0007912613000003
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] The present specification relates to a method for analyzing voice over internet protocol (VOIP) communication and a system for implementing the same. [Background Art]

[0002] Voice over internet protocol (VOIP) communication includes wireless voice and / or visual communications. Unlike standard telephone communication, VOIP communication is implemented using a communication application installed on a mobile device. For example, a mobile device such as a mobile phone utilizes a communication application to communicate with other users of the communication application. Communication is performed using a telecommunication network in some cases.

[0003] Since communication is performed using a communication application that utilizes internet protocol (IP) via a telecommunication network, the performance of the telecommunication network affects the experience of users who use VOIP communication. However, the inclusion of a communication application increases the complexity of determining whether the root cause of experienced communication problems lies within the telecommunication network or has another cause. [Summary of the Invention]

[0004] One aspect of this specification relates to a method for performing call analysis. The method comprises initiating a call on a mobile device, wherein the mobile device is connected to a network, and the call is initiated on a communication application run 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 this specification relates to a method for performing call analysis. The method includes receiving call data, which includes the duration of a call made using a network-connected mobile device, the location of the mobile device during the call, call information data, and call performance data. The method further includes processing the call data, which includes correlating call performance data with network performance data based on call information data. The method further includes generating at least one visualization based on the processed call data. The method further includes displaying at least one visualization. The method further includes determining network performance during a call based on at least one visualization.

[0006] One aspect of this specification relates to a system for performing call analysis. The system includes a non-temporary computer-readable medium configured to store instructions. The system further includes a processor connected to the non-temporary computer-readable medium. The processor is configured to execute instructions for receiving call data. The call data includes the duration of a call made using a network-connected mobile device, the location of the mobile device during the call, call informational data, and call performance data. The processor is further configured to execute instructions for processing the call data, which includes correlating call performance data with network performance data based on the call informational 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 at least one visualization. The processor is further configured to execute instructions for determining network performance during a call based on at least one visualization.

[0007] The aspects of this disclosure will be best understood from the following detailed description when read in conjunction with the accompanying figures. Note that, in accordance with standard industry practice, various features are not depicted to a constant scale. In practice, the dimensions of various features may be increased or decreased as appropriate for the sake of clarity in the discussion. [Brief explanation of the drawing]

[0008] [Figure 1] This is a schematic diagram of a telecommunications network according to several embodiments. [Figure 2] This is a flowchart illustrating a method for collecting communication data from VoIP communication according to several embodiments. [Figure 3] This is a flowchart illustrating a method for determining whether data collection can be started, based on several embodiments. [Figure 4] This is a flowchart of a method for analyzing VoIP communication according to several embodiments. [Figure 5] This diagram shows a user interface (UI) for displaying VOIP performance data according to several embodiments. [Figure 6] This is a diagram of a UI for displaying VOIP performance data according to several embodiments. [Figure 7] This is a block diagram of a system for implementing VOIP communication analysis according to several embodiments. [Modes for carrying out the invention]

[0009] The following disclosure provides many different embodiments or examples for implementing different features of the subject matter provided. For the sake of simplicity, specific examples of components, values, behaviors, materials, arrangements, etc., are described below. Naturally, these are merely examples and are not intended to be limiting. Other components, values, behaviors, materials, arrangements, etc., are contemplated. For example, the formation of a first feature above or on a second feature in the following description may include embodiments in which the first and second features are formed in direct contact, and may also include embodiments in which additional features may be formed between the first and second features so that they are not in direct contact. In addition, the disclosure may repeat reference numerals and / or letters in various examples. This repetition is for the sake of brevity and clarity and does not in itself prescribe relationships between the various embodiments and / or configurations described.

[0010] Furthermore, spatially relative terms such as “beneath,” “below,” “lower,” “above,” and “upper” may be used herein to facilitate explanations of the relationship between one element or feature and another element or feature, 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 in other orientations), and the spatially relative descriptors used herein may be interpreted accordingly.

[0011] Voice over Internet Protocol (VOIP) communication is implemented using communication applications. Examples of communication applications include Skype®, Teams®, WeChat®, Line®, and WhatsApp®. These communication applications are installed on mobile devices that can connect to telecommunications networks, sometimes also called networks. Communication applications can perform voice and / or video communication, sometimes called calls, by exchanging data over telecommunications networks.

[0012] Since telecommunications networks are used to transfer data between mobile devices running communication applications and call recipients, the performance of the telecommunications network affects the quality of communication. In some cases, users of communication applications experience poor communication quality and attribute the problem to insufficient telecommunications network performance. However, in other cases, the mobile device or other components in the communication are the cause of the poor communication quality. To monitor telecommunications network performance in conjunction with communication quality for VoIP calls, current applications include methods for incorporating key performance indicators (KPIs) of the mobile device and data related to the communication application's KPIs to help determine the root cause of poor communication performance.

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

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

[0015] Figure 1 is a schematic diagram of a telecommunications network 100 according to several embodiments. The telecommunications network 100 includes a plurality of base stations 110, each base station 110 having a corresponding coverage area 115. In some examples, the coverage areas 115 of adjacent base stations 110 overlap to define an overlapping coverage area 120. In some cases, there is a gap 125 between the coverage areas 115 of adjacent base stations 110. A mobile device 130 within the telecommunications network 100 can connect to one or more base stations 110 when the mobile device 130 is within the coverage area 115 corresponding to the base station 110. In some cases, the mobile device 130 runs one or more communication applications used for VoIP communication. Location and other KPI data of the mobile device 130 are captured to assist in the analysis of VoIP calls. 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 known as a network provider, is responsible for maintaining base stations 110 and 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 mobile devices 130. In some embodiments, the service provider recognizes connectivity issues through communication with users of mobile devices 130. In some embodiments, the service provider recognizes connectivity issues through monitoring KPIs within the telecommunications network 100 or through other monitored parameters. If a mobile device 130 is in a gap 125, the service provider is likely to issue orders for inspection or maintenance of one or more base stations 110 adjacent to the gap 125 in order to reduce or eliminate the gap 125 from the telecommunications network 100.

[0017] However, if mobile device 130 is determined to be the root cause of poor communication quality for a VoIP call, requiring the dispatch of an inspection or maintenance team to one of the base stations 110, then the cause of the poor communication quality is not attributable to the telecommunications network 100, and therefore represents a waste of time or resources. In some embodiments, a service provider may use information collected from mobile device 130, for example, using method 200 (Figure 2), to determine the root cause of poor communication quality in order to make a more informed decision about whether to dispatch an inspection or maintenance team.

[0018] Figure 2 is a flowchart of Method 200 for collecting communication data from VoIP communications, according to several 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 VoIP calls. In some embodiments, parts of Method 200 are implemented on a device outside the mobile device.

[0019] In operation 205, a call is initiated. The call is a VoIP call. The call is initiated using a communication application on a mobile device, for example, mobile device 130 (Figure 1). In some embodiments, the call is an audio-only call. In some embodiments, the call is a video-only call. In some embodiments, the call includes both audio 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 act 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 initiate data collection, the program is granted access to information within the communication application and / or other components within the mobile device, such as the global positioning system, a clock, or other suitable components. In some embodiments, a user approves the start of data collection. In some embodiments, once the user approves the start of data collection, the data collection remains started for each subsequent call initiation until the user revokes the approval or unless the user revokes the approval. In some embodiments, act 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 act 215. In response to a determination that data collection has been started, method 200 proceeds to act 220.

[0022] In act 215, data capturing is prohibited. In some embodiments, prohibiting data capturing means that KPI data associated with the call initiated in act 205 is not collected. In some embodiments, prohibiting data capturing means that KPI data associated with the call initiated in act 205 is collected, but is not transmitted outside of the mobile device without separate approval from the user. In some embodiments, act 215 includes providing a notification to the user regarding the prohibition of data capturing. 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 acquired. The network data includes network KPIs that can be used to determine network performance at the location of the mobile device. In some embodiments, operation 220 is performed based on data detected at the mobile device. In some embodiments, operation 220 is performed by a device external to the mobile device, for example a network server, based on the time of the call initiated in operation 205, the duration of the call, and the position 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, call technology such as wireless fidelity (WiFi), fourth generation (4G), fifth generation (5G), long term evolution (LTE), or other suitable technologies. In some embodiments, the network KPI includes cell global identity (CGI) of a base station connected to the mobile device during a call. In some embodiments, the KPI is the network date and time of the call. In some embodiments, the network KPI includes physical cell identification (PCI) of the base station connected to the mobile device. In some embodiments, the network KPI includes reference signal received power (RSRP) of the base station connected to the mobile device. In some embodiments, the network KPI further tracks 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 about the type of call and information about the mobile device. In some embodiments, the call information is obtained by querying the communication application and / or the operating system of the mobile device. The call information is useful for analysis by identifying commonalities from calls experiencing poor communication quality. For example, a situation in which both video calls and voice calls experience similar poor communication quality indicates a gap in the network, e.g., gap 125.

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

[0027] The following examples of mobile device information can be collected individually 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 a call. In some embodiments, the mobile device information includes the temperature level of the mobile device at various times during a call.

[0028] In operation 230, call performance information is obtained from the communication application. The call performance information includes data about 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 operating system of the mobile device.

[0029] The following examples of call performance information can be collected individually or in any combination. In some embodiments, call performance information includes the mean opinion score (MOS). MOS is a rating on the range of 1 to 5 and is used to determine the overall quality of a call. In some embodiments, an MOS rating of 4 or higher is considered good. An MOS rating of 3.1 to 4 is considered average, and an MOS rating below 3.1 is considered poor. In some embodiments, to save processing load, analysis is performed only on calls with poor MOS ratings. In some embodiments, to save processing load, analysis is performed only on calls with average or poor MOS ratings. In some embodiments, analysis is performed on all calls regardless of MOS rating. In some embodiments, call performance information includes a call token that uniquely identifies a call for correlation of collected data. In some embodiments, call performance information includes packet loss during the call. In some embodiments, call performance information includes the number of packets transmitted during the call. In some embodiments, call performance information includes jitter. In some embodiments, call performance information includes 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 call time, duration, and mobile device location to enable the server to obtain network data from a server-accessible log based on the call time and mobile device location.

[0031] In some embodiments, operation 235 is performed after the call has ended. In some embodiments, operation 235 is performed during a 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 call identification formation, 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 above a threshold battery level. In some embodiments, the threshold battery level is approximately 20% charge. In some embodiments, the trigger event includes a mobile device or a WiFi network connection. In some embodiments, the trigger event includes a mobile device having a threshold level for connection to a telecommunications network. By delaying the transmission of call data until a trigger event occurs, method 200 can collect data for analyzing VOIP calls without significantly impacting the performance of the user's mobile device, which may in some cases reduce customer satisfaction.

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

[0033] In some embodiments, method 200 includes additional actions. For example, in some embodiments, method 200 includes an authorization action that grants the user access to a communication application to allow the user to retrieve data from the communication application. In some embodiments, at least one action of method 200 is omitted. For example, in some embodiments, no network data is captured during method 200. Instead, network data is retrieved by the server based on the time and location of the mobile device during the call. In some embodiments, the order of the actions of method 200 is adjusted. For example, in some embodiments, action 225 is performed after action 230.

[0034] Figure 3 is a flowchart of method 300 for determining whether data collection can be started, according to several embodiments. In some embodiments, method 300 can be used to implement operation 210 of method 200 (Figure 2). In some embodiments, method 300 can be used independently of method 200 (Figure 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] Operation 310 determines whether location collection is permitted. In some embodiments, the location collection determination is based on user approval. In some embodiments, a prompt is displayed on the mobile device in response to the execution of operation 305, which requests approval to collect location data, and the determination is based on the detected response to the prompt. In some embodiments, user approval is requested before the execution of operation 305, such as when a call analysis application is installed on the mobile device. In some embodiments, the determination is based on a query to the mobile device's system to determine whether the user previously approved location collection while using the communication application launched in operation 305.

[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] Operation 315 determines whether device status data collection is permitted. Device status data includes information about the mobile device, such as brand, operating system, battery level, and temperature. In some embodiments, the determination regarding device status data collection is based on user approval. In some embodiments, a prompt is displayed on the mobile device in response to the execution of operation 305, which requests approval to collect device status data, and the determination is based on the detected response to the prompt. In some embodiments, user approval is requested before execution of operation 305, such as when a call analysis application is installed on the mobile device. In some embodiments, the determination is based on a query to the mobile device's system to determine whether the user previously approved device status data collection while the communication application launched in operation 305 was in use. In some embodiments, the prompt used to request approval in operation 310 is used to request approval simultaneously in operation 315. In some embodiments, separate prompts are used for operation 310 and operation 315.

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

[0040] In operation 320, a determination is made as to whether the mobile device's global positioning system (GPS) or other appropriate location detection component is enabled. In some embodiments, the determination as to whether GPS is enabled is based on a query to the system on the mobile device. In some embodiments, the determination as to whether GPS is enabled is based on whether the mobile device has sufficient network connectivity to determine the mobile device's location. In some embodiments, a prompt is displayed on the mobile device in response to a determination that GPS is not enabled, to request the user to enable GPS, and the determination is made based on the detected response to the prompt. In some embodiments, the prompt used to request GPS enablement is also used to request approval in operation 310 or in operation 315. In some embodiments, separate prompts are used for operations 320, 310, and 315.

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

[0042] In operation 325, data collection has not been initiated. Failure to initiate data collection means that no data will be collected from any communication application associated with any VoIP calls initiated or received by the communication application.

[0043] In operation 330, data collection has been initiated. The initiation of data collection means that data is collected from the communication application for at least a VoIP call corresponding to the initiation of the communication application in operation 305. In some embodiments, method 300 is repeated each time the communication application is initiated. In some embodiments, method 300 is performed at the initial initiation 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 actions. For example, in some embodiments, method 300 includes providing a notification to the user regarding whether data collection has been initiated. In some embodiments, at least one action of method 300 is omitted. For example, in some embodiments, if approval has been received in advance from the user, action 310 or action 315 is omitted. In some embodiments, the order of the actions of method 300 is adjusted. For example, in some embodiments, action 310 is performed simultaneously with action 315, or action 310 is performed before or after action 315.

[0045] Figure 4 is a flowchart of method 400 for analyzing VoIP communications in several embodiments. In some embodiments, method 400 uses call data from method 200 (Figure 2). In some embodiments, method 400 uses call data other than the call data from method 200 (Figure 2).

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

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

[0048] In operation 415, call data is processed. The call data is processed using a processor connected to the memory where the call data is stored. Processing the call data includes associating the stored call data with the call data to identify the root cause of the problem if a problem exists. Processing 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, processed call data can be used to determine holes in network coverage, e.g., gap 125 (Figure 1). In some embodiments, processed call data can be used to determine a partial network outage. In some embodiments, processed call data can be used to determine the load on the network at various times of day. In some embodiments, processed call data can be used to determine whether a large number of calls were interrupted at a particular location within the network. In some embodiments, processed call data can be used to determine whether the MOS evaluation in a particular area of ​​the network is normal or poor. In some embodiments, processed call data can be used to determine whether a device in the network is malfunctioning. In some embodiments, processed call data can be used to determine whether a particular brand of mobile device or the operating system of a particular mobile device experiences a higher percentage of problems than other brands or operating systems using the network.

[0050] In some embodiments, call data is processed only if the call's MOS evaluation is poor. In some embodiments, call data is processed only if the call's MOS evaluation is poor or average. In some embodiments, call data is processed regardless of the call's MOS evaluation.

[0051] Operation 420 further processes call data using a 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 improve efficiency in identifying the root cause of a problem. SQL is processed using a processor. In some embodiments, SQL is processed using the same processor as used in operation 415. In some embodiments, SQL is processed using a different processor than the one 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 determine network performance 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 what kind of visualization is desired, e.g., map, graphic, table, and one or more parameters of the call data to be displayed, e.g., MOS rating, interrupted call, call type, etc. The network monitor can select different combinations of call data parameters for the visualization to help determine network performance.

[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 seen by the network monitor. Several examples of dashboards are described below with reference to Figures 5 and 6 in some embodiments.

[0054] Operation 435 performs call analysis. Call analysis identifies whether a problem is likely to exist within the network. Using visualizations and call data, the processor can identify locations within the network that are likely to be experiencing problems such as hardware failures, power outages, or antenna misalignment. For example, in response to a determination that the number of interrupted calls within an area of ​​the network exceeds a threshold, the processor may determine that a problem is likely to exist at a base station providing service to that area of ​​the network. In some embodiments, repair / maintenance personnel may be dispatched to the base station to determine whether the repair or replacement of the base station equipment is covered under warranty. In some embodiments, the network monitor may attempt to remotely diagnose or resolve problems within the base station by remotely accessing the base station and resetting its components, for example.

[0055] In some embodiments, call analysis can be used to determine how to enhance the network. For example, in some embodiments, additional base stations are accepted to support high call volumes by selecting locations with high call volume. Furthermore, in some embodiments, a determination is made regarding the network's ability to continue supporting the network's current performance based on trends in MOS evaluation over time. As a result, in some cases, the network can be efficiently expanded or enhanced based on its historical performance and usage to provide the network with higher customer satisfaction. Those skilled in the art will understand that the above examples of call analysis are merely illustrative, and other analyses of call data and visualizations 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 within the network than other brands. This information allows network providers to determine whether to adjust components within the network. This information also enables customer service representatives to provide feedback to customers regarding complaints about mobile device performance. This information is also useful for mobile device providers to facilitate software or hardware updates within mobile devices.

[0057] In optional operation 440, the processor provides network recommendations. The processor provides network recommendations based on visualizations and call data to help resolve network problems or extend / enhance network performance. In some embodiments, the processor generates an alert to the network monitor in response to a determination of a bad MOS rating in a specific area where the network is poor. In some embodiments, alerts are generated for other reasons, such as a large number of interrupted calls, a high RTT, a large amount of packet loss, or other appropriate criteria. In some embodiments, the alerts include voice or visual alerts. In some embodiments, the alerts further include recommendations for resolving network problems. For example, in some embodiments, the alerts include recommendations for remotely restarting network components. In some embodiments, the alerts are sent to a device accessible by the network monitor. In some embodiments, the alerts are sent wirelessly. In some embodiments, the alerts are sent via a wired connection. Those skilled in the art will understand that the above examples of network recommendations are merely illustrative and that other recommendations based on call data and visualizations 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 a 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, optional operation 440 is omitted to reduce processing load. In some embodiments, the order of operations of method 400 is adjusted. For example, in some embodiments, operations 415 and 420 are performed simultaneously.

[0059] Figure 5 shows a user interface (UI) 500 for displaying VoIP performance data according to several embodiments. The UI 500 can be used to provide a visual representation of processed call data for a network monitor to access network performance. In some embodiments, the UI 500 is a dashboard displayed on 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] UI500 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 in the first window 510 is useful for enabling the network monitor to determine the number of different types of calls being made by users on the network. The information in 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 predict future demand on the network.

[0061] UI500 includes a second window 520 that displays a graph of the number and types of interrupted calls in the network. Knowing the number of interrupted calls in the network helps the network monitor determine whether or not an outage is likely occurring in the network. The types of interrupted calls also help determine whether the network has sufficient resources to handle communications that utilize more bandwidth, such as video calls.

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

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

[0064] Figure 6 shows a UI600 for displaying VOIP performance data according to several embodiments. The UI600 can be used to provide a visual representation of processed call data for a network monitor to access network performance. In some embodiments, the UI600 is a dashboard displayed on 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 different device than the UI500.

[0065] UI600 includes a first window 610 that displays line graphs of performance parameters for different days. Performance parameters include MOS, RTT, and packet loss. The average MOS rating for calls on the network over the displayed period is above 4, which is likely considered good. However, RTT and packet loss show a sudden spike on the date May 29th. Based on this information, the network monitor can identify potential problems, such as network outages, that occurred on May 29th.

[0066] UI600 includes a second window 620 that displays a visual representation of the types of devices that have accessed the network over a certain period of time. This data is useful in determining how to enhance the network to adapt to the brands of devices popular with subscribers to the network, in order to increase customer satisfaction. This data can also, in some cases, help determine the brands of devices that are experiencing 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 illustrative, and that other combinations of visualizations and parameters are within the scope of this specification.

[0068] Figure 7 is a block diagram of a system 700 for implementing call analysis according to several embodiments. The system 700 includes a hardware processor 702 and a non-temporary computer-readable storage medium 704 that stores computer program code 706, i.e., a set of executable instructions, i.e., encoded therein. 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 via 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 so that the processor 702 and the computer-readable storage medium 704 can connect to external elements via the network 714. The processor 702 is configured to execute computer program code 706 encoded in a computer-readable storage medium 704 so that it can be used to cause the system 700 to perform some or all of the operations described in Method 200 (Figure 2), Method 300 (Figure 3), and Method 400 (Figure 4) in order to generate UI 500 (Figure 5) or UI 600 (Figure 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 diskette, random-access memory (RAM), read-only memory (ROM), rigid magnetic recording disk, and / or optical disk. In some embodiments using 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 (Figure 2), Method 300 (Figure 3), and Method 400 (Figure 4) in order to generate UI 500 (Figure 5) or UI 600 (Figure 6). In some embodiments, the storage medium 704 also stores information for performing some or all of the operations described in Method 200 (Figure 2), Method 300 (Figure 3), Method 400 (Figure 4) to generate UI 500 (Figure 5) or UI 600 (Figure 6), and information generated while performing some or all of the operations described in Method 200 (Figure 2), Method 300 (Figure 3), Method 400 (Figure 4) to generate UI 500 (Figure 5) or UI 600 (Figure 6), such as device location parameter 716, network data parameter 718, call information parameter 720, call performance parameter 722, SQL parameter 724, and / or a set of executable instructions for performing some or all of the operations described in Method 200 (Figure 2), Method 300 (Figure 3), Method 400 (Figure 4) to generate UI 500 (Figure 5) or UI 600 (Figure 6).

[0072] In some embodiments, the storage 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 an external device in order to generate UI500 (Figure 5) or UI600 (Figure 6), and to effectively perform some or all of the operations described in Method 200 (Figure 2), Method 300 (Figure 3), and Method 400 (Figure 4).

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

[0074] System 700 also includes a network interface 712 coupled to 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 wireless network interfaces such as BLUETOOTH®, WIFI, WiMAX, GPRS, or WCDMA®, or wired network interfaces such as ETHERNET, USB, or IEEE-1394. In some embodiments, some or all of the operations described in Method 200 (Figure 2), Method 300 (Figure 3), and Method 400 (Figure 4) are implemented in two or more systems 700 to generate UI 500 (Figure 5) or UI 600 (Figure 6), and information is exchanged between different systems 700 via the network 714.

[0075] One aspect of this specification relates to a method for performing call analysis. The method includes initiating a call on a mobile device, wherein the mobile device is connected to a network, and the call is initiated on a communication application run 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 device status information collection is permitted, determining whether the mobile device's Global Positioning System (GPS) is enabled, and determining that data collection for the communication application has been initiated in response to all of the following: location collection is permitted, device status information is permitted, and GPS is enabled. In some embodiments, determining whether data collection for a communication application is initiated includes determining that data collection for a communication application has not been initiated in response to location collection not being permitted, device status information not being permitted, or GPS not being enabled. In some embodiments, the method includes acquiring network performance data from a mobile device and transmitting the network performance data to the mobile device in response to the determination that data collection for a communication application has been initiated. In some embodiments, initiating a call includes receiving an incoming call on a mobile device.In some embodiments, initiating a call includes making a call on a mobile device using a communication application. In some embodiments, acquiring call performance data includes acquiring an average opinion score (MOS) rating for the call. In some embodiments, transmitting includes transmitting the location of the mobile device, the time the call was initiated, call information data, and call performance data in response to the detected termination of the call.

[0076] One aspect of this specification relates to a method for performing call analysis. The method includes receiving call data, which includes the duration of a call made using a network-connected mobile device, the location of the mobile device during the call, call information data, and call performance data. The method further includes processing the call data, which includes correlating call performance data with network performance data based on call information data. The method further includes generating at least one visualization based on the processed call data. The method further includes displaying at least one visualization. The method further includes determining network performance during the call based on 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 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 at least one visualization includes generating at least one graphical representation of the processed call data. In some embodiments, processing call data includes correlating data based on a unique call identifier received in the call data. In some embodiments, the method further includes changing at least one visualization to a second visualization in response to receiving input from a user. In some embodiments, the method further includes generating recommendations for network enhancements based on the determined network performance during a call.

[0077] One aspect of this specification relates to a system for performing call analysis. The system includes a non-temporary computer-readable medium configured to store instructions. The system further includes a processor connected to the non-temporary 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 network-connected mobile device, the location of the mobile device during the call, call informational 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 call performance data with network performance data based on the call informational 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 at least one visualization. The processor is further configured to execute instructions for determining network performance during a call based on 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 acquired from a communication application, the call including 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 enhancements based on the determined network performance during the call.

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

Claims

1. A method for performing call analysis, Initiating a call on a mobile device, wherein the mobile device is connected to a network, and the call is initiated on a communication application run by the mobile device; Determining whether data collection for the aforementioned communication application has started, In response to determining that data collection for the aforementioned communication application has started, To provide users with a notification that the aforementioned data collection has begun, The location of the aforementioned mobile device is captured, To capture the time of the aforementioned commenced call, Obtaining call information data from the aforementioned communication application, To obtain call performance data from the aforementioned communication application, Transmitting the location of the mobile device, the time of the initiated call, the call information data, and the call performance data, In response to determining that data collection for the communication application has not been initiated, the system prohibits data acquisition from the communication application and provides the user with a notification regarding the prohibition of data acquisition. Includes, The aforementioned call information data includes information about the type of call and information about the mobile device, The method wherein the information relating to the type of call includes at least one of whether the call was a voice call and / or a video call, the duration of the call, or how the call was terminated, and the information relating to the mobile device includes at least one of the operating system of the mobile device, the brand and / or model information of the mobile device, the battery level of the mobile device at various times during the call, or the temperature level of the mobile device at various times during the call.

2. Determining whether data collection for the aforementioned communication application has started is: To determine whether location collection is permitted, To determine whether it is permitted to collect device status information, To determine whether the Global Positioning System (GPS) of the aforementioned mobile device is enabled, Determining that data collection for the communication application has been initiated in response to all of the following: location collection is permitted, device status information is permitted, and GPS is enabled; The method according to claim 1, including the method described in claim 1.

3. Determining whether the data collection for the aforementioned communication application has been initiated is: Determining that data collection for the communication application has not been initiated in response to any of the following: location collection is not permitted, device status information is not permitted, or GPS is not enabled. The method according to claim 2, including the method described in claim 2.

4. The acquisition of network performance data from the aforementioned mobile device, In response to the determination that data collection for the aforementioned communication application has started, the network performance data is transmitted to the mobile device. The method according to claim 1, further comprising:

5. The method according to claim 1, wherein initiating the call includes receiving an incoming call on the mobile device.

6. The method according to claim 1, wherein initiating 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 the transmission includes transmitting the location of the mobile device, the time of the initiated call, the call information data, and the call performance data in response to the detected termination of the call.

9. A method for performing call analysis, In response to the initiation of a communication application for data collection, the mobile device receives call data related to the communication application, wherein the call data is The time of a call made using the mobile device connected to the network, The location of the mobile device during the aforementioned call, Call information data and, Call performance data and, Receiving call data, including, Processing the aforementioned call data, wherein processing the aforementioned call data includes correlating the aforementioned call performance data with the aforementioned call performance data based on the aforementioned call information data, To generate at least one visualization based on the processed call data, Displaying at least one of the aforementioned visualizations, Determining the network performance during the call based on at least one of the aforementioned visualizations, In response to determining that data collection for the aforementioned communication application has started, the system provides the user with a notification that data collection has started. In response to determining that data collection for the communication application has not been initiated, the system prohibits data acquisition from the communication application and provides the user with a notification regarding the prohibition of data acquisition. Includes, The aforementioned call information data includes information about the type of call and information about the mobile device, The method wherein the information relating to the type of call includes at least one of whether the call was a voice call and / or a video call, the duration of the call, or how the call was terminated, and the information relating to the mobile device includes at least one of the operating system of the mobile device, the brand and / or model information of the mobile device, the battery level of the mobile device at various times during the call, or the temperature level of the mobile device at various times during the call.

10. The method of claim 9, further comprising obtaining 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 the 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 the processing of the call data includes correlating the 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 input from a user.

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

16. A system for performing call analysis, A non-temporary computer-readable medium configured to store instructions, A processor connected to the non-temporary computer-readable medium, wherein the processor is In response to the initiation of a communication application for data collection, the mobile device receives call data related to the communication application, wherein the call data is The time of a call made using the mobile device connected to the network, The location of the mobile device during the aforementioned call, Call information data and, Call performance data and, Receiving call data, including, Processing the aforementioned call data, wherein processing the aforementioned call data includes correlating the aforementioned call performance data with the aforementioned call performance data based on the aforementioned call information data, To generate at least one visualization based on the processed call data, Commanding the display to display at least one of the aforementioned visualizations, Determining the network performance during the call based on at least one of the aforementioned visualizations, In response to determining that data collection for the aforementioned communication application has started, the system provides the user with a notification that data collection has started. In response to determining that data collection for the communication application has not been initiated, the system prohibits data acquisition from the communication application and provides the user with a notification regarding the prohibition of data acquisition. A processor configured to execute the aforementioned instructions, Equipped with, The aforementioned call information data includes information about the type of call and information about the mobile device, The system includes, the information relating to the type of call includes at least one of whether the call was a voice call and / or a video call, the duration of the call, or how the call was terminated, and the information relating to the mobile device includes at least one of the operating system of the mobile device, the brand and / or model information of the mobile device, the battery level of the mobile device at various times during the call, or the temperature level of the mobile device at various times during the call.

17. The system according to claim 16, wherein the processor is further configured to execute the 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 the instructions for receiving the call data obtained from the 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 the instructions for processing the call data by correlating the data based on a unique call identifier in the received call data.

20. The system according to claim 16, wherein the processor is configured to execute the instructions for generating recommendations for improving 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