Patent Description:
Any delay between a time when a phone number begins experiencing a problem and remediation of the problem is undesirable. Any such delays are inconvenient and can prove costly to consumers of telephony services who rely on functional phone numbers to conduct business. Service providers also need to provide reliable service to maintain their customer relationships.

The <CIT> and <CIT> represent examples of background art.

An illustrative example embodiment of a method of monitoring a plurality of phone numbers includes, for each phone number, detecting call activity involving the phone number during a detection period having a preselected duration, determining an answer seizure ratio (ASR) during the detection period from the call activity, determining a difference between the ASR during the detection period and an ASR from at least one previous detection period, determining that the difference satisfies at least one preselected criterion, and instigating a procedure to investigate or repair the phone number when the difference satisfies the at least one preselected criterion. The method may be executed by a computing device including at least one processor and memory associated with the at least one processor. The method may be part of a computer program which may be stored on a memory device. The steps above of detecting and determining may be performed automatically.

In an example embodiment having at least one of the features of the method of the previous paragraph, the at least one previous detection period has a duration that equals the preselected duration.

In an example embodiment having at least one of the features of the method of any of the previous paragraphs, the at least one previous detection period comprises a plurality of previous detection periods each having the duration, each of the plurality of previous detection periods has an associated ASR, and automatically determining the difference between the ASR during the detection period and the ASR from the at least one previous detection period comprises determining the difference between an average ASR of the ASRs of the plurality of previous detection periods and the ASR during the detection period.

In an example embodiment having at least one of the features of the method of any of the previous paragraphs, the preselected duration is one hour and the plurality of previous detections periods are a most recent twenty-four hours prior to the detection period.

In an example embodiment having at least one of the features of the method of any of the previous paragraphs, the detection period occurs during an identified time of one day and the at least one previous detection period occurred during the identified time of at least one other day prior to the one day.

In an example embodiment having at least one of the features of the method of any of the previous paragraphs, the detection period is one hour and the at least one previous detection period is an hour immediately preceding the one hour.

In an example embodiment having at least one of the features of the method of any of the previous paragraphs, the method includes determining a machine-learned model of ASRs for each of a plurality of sets of detection periods and selecting the at least one previous detection period using the machine-learned model.

In an example embodiment having at least one of the features of the method of any of the previous paragraphs, the method includes determining a machine-learned model of ASRs for each of a plurality of sets of detection periods. The at least one preselected criterion is based on the machine-learned model.

In an example embodiment having at least one of the features of the method of any of the previous paragraphs, the at least one preselected criterion is satisfied when the ASR of the detection period is less than approximately <NUM>% of the ASR of the at least one previous detection period.

In an example embodiment having at least one of the features of the method of any of the previous paragraphs, the method includes determining a standard deviation of the ASR of a plurality of previous detection periods and wherein the at least preselected criterion is satisfied when the ASR of the detection period is less than the ASR of the at least one previous detection period by an amount equal to at least one standard deviation.

An illustrative example embodiment of a system for monitoring phone numbers includes a computing device having at least one processor and memory associated with the processor. A telephone network supports a plurality of telephone numbers. For each of the phone numbers, the computing device is configured to detect call activity involving the phone number during a detection period having a preselected duration, determine an answer seizure ratio (ASR) for the phone number during the detection period from the call activity, determine a difference between the ASR during the detection period and an ASR from at least one previous detection period for the phone number. When the difference satisfies at least one preselected criterion, the computing device instigates a procedure to investigate or repair the phone number.

In an example embodiment having at least one of the features of the system of the previous paragraph, the at least one previous detection period has a duration that equals the preselected duration.

In an example embodiment having at least one of the features of the system of any of the previous paragraphs, the at least one previous detection period comprises a plurality of previous detection periods each having the duration, each of the plurality of previous detection periods has an associated ASR, and automatically determining the difference between the ASR during the detection period and the ASR from the at least one previous detection period comprises determining the difference between an average ASR of the ASRs of the plurality of previous detection periods and the ASR during the detection period.

In an example embodiment having at least one of the features of the system of any of the previous paragraphs, the preselected duration is one hour and the plurality of previous detections periods are a most recent twenty-four hours prior to the detection period.

In an example embodiment having at least one of the features of the system of any of the previous paragraphs, the detection period occurs during an identified time of one day and the at least one previous detection period occurred during the identified time of at least one other day prior to the one day.

In an example embodiment having at least one of the features of the system of any of the previous paragraphs, the detection period is one hour and the at least one previous detection period is an hour immediately preceding the one hour.

In an example embodiment having at least one of the features of the system of any of the previous paragraphs, the computing device is configured to determine a machine-learned model of ASRs for each of a plurality of sets of detection periods and select the at least one previous detection period using the machine-learned model.

In an example embodiment having at least one of the features of the system of any of the previous paragraphs, the computing device is configured to determine a machine-learned model of ASRs for each of a plurality of sets of detection periods and determine the at least one preselected criterion using the machine-learned model.

In an example embodiment having at least one of the features of the system of any of the previous paragraphs, the computing device is configured to determine that the at least one preselected criterion is satisfied when the ASR of the detection period is less than approximately <NUM>% of the ASR of the at least one previous detection period.

In an example embodiment having at least one of the features of the system of any of the previous paragraphs, the computing device is configured to determine a standard deviation of the ASR of a plurality of previous detection periods and determine that the at least preselected criterion is satisfied when the ASR of the detection period is less than the ASR of the at least one previous detection period by an amount equal to at least one standard deviation.

The various features and advantages of an example embodiment will become apparent to those skilled in the art from the following detailed description.

Embodiments of this invention provide automated phone number monitoring based on an answer seizure ratio (ASR) during a detection period, which is the number of answered calls to a phone number divided by the total number of calls to that phone number. Automatically monitoring the ASR facilitates proactively detecting problems or potential problems with a phone number even before a customer may notice such a problem.

An example embodiment of a system <NUM> that is configured to monitor phone numbers is schematically shown in <FIG>. A computing device <NUM>, which is particularly configured or programmed to be part of a telephony platform, includes at least one processor <NUM> and memory <NUM> associated with the processor <NUM>. The computing device <NUM> is schematically illustrated as a single device for discussion purposes. Some embodiments include multiple devices, such as a plurality of processors that are part of a cloud computing network.

The computing device <NUM> is linked to or otherwise has access to a telephone network <NUM> that includes known equipment to facilitate calls in a known manner. The telephone network <NUM> supports a plurality of phone numbers <NUM>.

The computing device <NUM> monitors each of the phone numbers <NUM> to determine whether any of the phone numbers <NUM> is malfunctioning. The computing device <NUM> obtains data directly from the telephone network <NUM> and uses that data to determine the call activity for each of the phone numbers <NUM>. The call activity corresponds to information or data that may be included in call detail records, such as the calling number, the called number, whether the call was answered, and call duration. In some embodiments, the computing device <NUM> is configured or programmed to determine the call activity by operating like at least one of a session border controller or a session initiation protocol (SIP) application server.

The data obtained by the computing device <NUM> corresponds to actual call activity for each phone number <NUM> during a detection period having a preselected duration. The computing device <NUM> determines the ASR for each phone number during the detection period and uses information regarding the ASR from at least one previous detection period to determine whether the phone number <NUM> may be malfunctioning in a way that requires repair.

<FIG> is a flowchart diagram <NUM> summarizing an example method implemented by the computing device <NUM> for monitoring each of the phone numbers <NUM>. At <NUM>, the computing device <NUM> detects call activity involving the phone number <NUM> during a detection period having a preselected duration. In this example embodiment, the detection period lasts for one hour. Other detection period durations are useful in some embodiments.

The call activity will typically include a number of calls placed to the phone number, a number of calls to the phone number that were answered, a duration of each answered call, and other information. The computing device <NUM> uses the information regarding the number of placed calls and the number of answered calls to determine the ASR during the detection period at <NUM>.

At <NUM>, the computing device <NUM> determines a difference between the ASR of the detection period and an ASR of at least one previous detection period. In some embodiments, the previous ASR is from an immediately preceding detection period. For example, when the detection period is from <NUM> o'clock to <NUM> o'clock, the previous ASR is from <NUM> o'clock to <NUM> o'clock.

In some embodiments, the previous ASR used at <NUM> is based on when the detection period occurs. For example, when the detection period is during the afternoon on one day, the previous ASR is selected from the same time during the afternoon on a previous day, which may be an immediately preceding day or another previous day, such as the same day of the week or a most recent day that is considered relevant. This approach avoids differences that are expected to occur depending on the day, such as the difference in expected call activity on a weekend compared to a week day, from impacting the determinations made by the computing device <NUM>.

In some embodiments, the previous ASR used for determining the difference at <NUM> is based on a plurality of previous detection periods. For example, when the detection period duration is one hour, the computing device <NUM> determines an average ASR of a selected set of preceding one-hour detection periods. One example set includes the immediately preceding <NUM> hours. Another example set includes the hour during the same time of day over a span of several days or weeks. The computing device <NUM> determines the difference between the average ASR of the set and the ASR of the detection period at <NUM>.

The computing device determines, at <NUM>, whether the difference determined at <NUM> satisfies at least one preselected criterion. When the criterion is satisfied, that indicates a problem or potential problem with the phone number <NUM>.

In some embodiments, the criterion is a threshold difference. For example, the criterion is satisfied when the ASR of the detection period determined at <NUM> is less than the previous ASR by an amount that exceeds the threshold. The threshold in some embodiments is based on a percentage of the previous ASR. For example, when the ASR determined at <NUM> is less than <NUM>% of the previous ASR, the criterion is satisfied. In other words, when the ASR of the detection period is less than the previous ASR and the difference determined at <NUM> is more than <NUM>% of the previous ASR, the criterion is satisfied.

Another example threshold is based on a standard deviation of the ASR. The computing device <NUM> in such an embodiment determines a standard deviation of the ASR over time using the ASRs from a selected set of previous detection periods. The criterion used at <NUM> equals one standard deviation in some embodiments such that when the ASR of the detection period determined at <NUM> is less than the previous ASR by at least one standard deviation indicates a problem or potential problem.

When the determination at <NUM> is positive, the computing device <NUM> instigates an investigation or repair procedure at <NUM>. In some embodiments, the computing device <NUM> generates a report, an alert, or communicates with another portion of the telephone network <NUM> to initiate the investigation or repair.

When the ASR does not deviate from the previous ASR sufficiently to satisfy the criterion, the phone number is working as expected. The computing device <NUM> updates the database of call activity and ASR information to include such information from the detection period at <NUM>. A next detection period begins at <NUM> and the computing device <NUM> again performs the method steps indicated at <NUM>-<NUM>.

In some example embodiments, the computing device <NUM> is configured to use machine learning when selecting a previous detection period for purposes of determining a difference between the ASRs of the detection period and a previous detection period. The computing device uses machine learning to recognize a pattern of ASRs over time and uses that pattern to select at least one previous detection period that provides a useful ASR comparison. For example, when a phone number regularly receives a large call volume during certain times and a low call volume during other times, the machine learning model indicates which times are expected to have low or high call volumes. The computing device <NUM> determines where a detection period currently being considered fits with the machine learning model. If the detection period fits with the times during which the phone number regularly receives large call volumes, then an ASR from such times is used for determining the difference that may indicate a problem with the phone number.

Other example embodiments include machine learning for determining the criterion used to determine whether the difference in ASRs indicates a problem with the phone number. For example, the machine learning model indicates a pattern that the ASR for a phone number follows over time. If the model indicates that the ASR typically drops at a certain time of day, a threshold difference used by the computing device to determine whether there is a problem with the phone number can be increased to accommodate the expected increase in that difference at that time of day.

Given this description and known machine learning techniques, those skilled in the art will realize how such models can be used to determine useful, recognizable patterns in call activity for phone numbers to meet the needs of their particular situation.

The example disclosed system and method provide automated phone number monitoring based on ASR that is fully automated and improves the economies associated with identifying and remedying problems with individual phone numbers.

Claim 1:
A method of monitoring a plurality of phone numbers, the method comprising, for each phone number:
detecting (<NUM>) call activity involving the phone number during a detection period having a preselected duration;
determining (<NUM>) an answer seizure ratio ASR during the detection period from the call activity;
determining (<NUM>) a difference between the ASR during the detection period and an ASR for the phone number from at least one previous detection period; and
determining (<NUM>) that the difference satisfies at least one preselected criterion and instigating a procedure to investigate or repair (<NUM>) the phone number when the difference satisfies the at least one preselected criterion.