WO2020239358A1 - Routage d'appels automatiques dans un réseau de communications - Google Patents
Routage d'appels automatiques dans un réseau de communications Download PDFInfo
- Publication number
- WO2020239358A1 WO2020239358A1 PCT/EP2020/062124 EP2020062124W WO2020239358A1 WO 2020239358 A1 WO2020239358 A1 WO 2020239358A1 EP 2020062124 W EP2020062124 W EP 2020062124W WO 2020239358 A1 WO2020239358 A1 WO 2020239358A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- calls
- call
- time series
- numbers
- features
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/436—Arrangements for screening incoming calls, i.e. evaluating the characteristics of a call before deciding whether to answer it
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M7/00—Arrangements for interconnection between switching centres
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1076—Screening of IP real time communications, e.g. spam over Internet telephony [SPIT]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/50—Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
- H04M3/53—Centralised arrangements for recording incoming messages, i.e. mailbox systems
- H04M3/533—Voice mail systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2201/00—Electronic components, circuits, software, systems or apparatus used in telephone systems
- H04M2201/12—Counting circuits
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2203/00—Aspects of automatic or semi-automatic exchanges
- H04M2203/15—Aspects of automatic or semi-automatic exchanges related to dial plan and call routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2215/00—Metering arrangements; Time controlling arrangements; Time indicating arrangements
- H04M2215/01—Details of billing arrangements
- H04M2215/0188—Network monitoring; statistics on usage on called/calling number
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/22—Arrangements for supervision, monitoring or testing
Definitions
- the present invention relates to a method of routing calls in a communications network, and in particular to a method of routing calls by classifying a plurality of telephone calls made from a set of one or more numbers to indicate whether those calls include automated calls.
- Automated telephone calls are calls which are initiated by a computer dialler (or robot dialler or automatic dialler) as opposed to human-generated calls which are dialled (or otherwise initiated) by a human operator.
- the computer dialler will play a pre-recorded message to the called party.
- the computer dialler will connect the called party to a human operator (or agent) once the automated telephone call has been answered.
- the computer dialler playing a pre-recorded message and then connecting the call to a human operator. It will be understood that a bank of computer diallers can generate a significant number of calls within a limited period of time.
- a method of routing calls in a communications network comprising: obtaining data representing a plurality of calls previously made from a set of one or more numbers; generating a call frequency time series for the set of numbers from the data by determining a respective number of calls made from the set of numbers during each of a plurality of time intervals; classifying the plurality of calls based, at least in part, on one or more features of the call frequency time series, the classification indicating whether the plurality of calls from the set of numbers includes automated calls; routing further calls from the set of numbers in accordance with the classification of the plurality of calls.
- the set of numbers may comprise a plurality of numbers.
- the one or more features may be derived from one or more characteristic variations in call frequency over time and, optionally, may comprise one, or both, of: transitions from quiet periods to busy periods; and transitions from busy periods to quiet periods, wherein an average number of during time intervals within a quiet period is lower than an average number of calls during time intervals within a busy period.
- the classification may be based, at least in part, on the durations of the transitions.
- a sliding window detector may be used to generate a respective measure of similarity between each of a plurality of windowed portions of the call frequency time series and one or more detector functions representing the one or more features.
- the measure of similarity may comprise the Mahalanobis distance, wherein a low Mahalanobis distance indicates a high measure of similarity and a high Mahalanobis distance indicates a low measure of similarity.
- the one or more detector functions may comprise one or both of: a step function which transitions from a low state to a high state, the step function representing a transition from a quiet period to a busy period; and a step function which transitions from a high state to a low state, the step function representing a transition from a busy period to a quiet period.
- the classification of the plurality of calls is based, at least in part, on an average of the respective measures of similarity for any windows having a measure of similarity that is higher than a predetermined threshold.
- Classifying the plurality of calls may comprise classifying the plurality of calls as automated calls if the average is above a predetermined threshold.
- the method may further comprise determining a number of occurrences of the one or more features in the call frequency time series during a predetermined time period and the classification may be based, at least in part, on the number of occurrences of the one or more features.
- a computer system comprising a processor and a memory storing computer program code for performing the method set out above.
- a computer program which, when executed by one or more processors, is arranged to carry out the method set out above.
- a call management device for use in a communications network, the call management device being configured to: obtain a classification of one or more lines as carrying automated call attempts, the classification being derived in dependence upon a call frequency time series representative of a variation in the frequency of calls made from the set of one or more lines; and prevent a call attempt received on one of the one or more lines from being routed to a destination indicated by the call attempt.
- Figure 1 is a schematic depiction of an exemplary telephone network within which embodiments of the invention may operate.
- Figure 2 shows a flowchart describing how a method according to the present invention can be implemented
- Figure 3A is a chart illustrating an exemplary call frequency time series generated from call data for a set of numbers in which a computer dialler has been in operation;
- Figure 3B is a chart illustrating an exemplary call frequency time series generated from call data for a set of numbers from which only human-generated calls originated;
- Figure 4A shows an exemplary detector function for detecting ramp-up transition features of the call frequency time series
- Figure 4B shows an exemplary detector function for detecting ramp-down transition features of the call frequency time series
- Figures 5A shows the Mahalanobis distances calculated using the detector functions illustrated in figures 4A and 4B as part of a sliding window detector over the call frequency time series illustrated in figure 3A;
- Figure 5B shows the Mahalanobis distances calculated using the detector functions illustrated in figures 4A and 4B as part of a sliding window detector over the call frequency time series illustrated in figure 3B.
- FIG. 1 is a schematic depiction of an exemplary telephone network 100 within which embodiments of the invention may operate.
- the exemplary telephone network 100 is a conventional telephone network comprising a plurality of core exchanges 1 10, a plurality of local exchanges 120, a plurality of customer telephony terminals 130, one or more domestic gateways 140, one or more international gateways 150, one or more voicemail servers 160, one or more call data stores 170 and one or more analyst terminals 180.
- the core exchanges 1 10 are interconnected by a plurality of communications links 190.
- Each of the plurality of core exchanges 1 10 are further connected to one or more local exchanges by further communications links 190 (although, for the sake of clarity, not all of the core exchanges 1 10 illustrated in figure 1 are shown as being connected to local exchanges 120).
- the local exchanges 120 are each connected to a respective core exchange 1 10 via a respective communication link 190. Each of the local exchanges 120 is also connected to a respective subset of the customer telephony terminals 130 via yet further communications links 190 (although again, for the sake of clarity, this is not shown for each of the local exchanges 120 in figure 1 ).
- the customer telephony terminals 130 are each connected to a respective local exchange 120 via a respective communication link 190.
- the customer telephony terminals 130 can include devices such as telephones, private branch exchanges (PBX), conference phones, computer diallers, fax machines, modems, answering machines and so on.
- PBX private branch exchanges
- the domestic gateways 140 are each connected to one or more other telephony networks (not shown) in the same country.
- the domestic gateways 140 enable calls to be routed between the telephone network 100 and the other telephony networks. That is to say, the domestic gateways 140 enable the customer telephony terminals 130 within the telephone network 100 to place calls to and/or receive calls from telephony terminals within the other telephony networks.
- the international gateways 150 are each connected to one or more other international telephony networks (not shown).
- the international gateways 150 enable calls to be routed between the telephone network 100 and the other international telephony networks. That is to say, the international gateways 150 enable the customer telephony terminals 130 within the telephone network 100 to place calls to and/or receive calls from telephony terminals within the other international telephony networks.
- the voicemail servers 160 are connected to the telephone network 100 via respective communications links 190. They may be connected at any point in the telephone network 100, such as at core exchange 1 10 as shown in figure 1. Although not illustrated in figure 1 , voicemail servers 160 may also or alternatively be connected to a local exchange 120. Each of the voicemail servers 160 provides a voicemail facility to a plurality of customers of the telephone network 100. For example, a voicemail server 160 connected to a local exchange 120 might provide a voicemail facility for the customers whose telephony terminals 130 are directly connected to that local exchange 120. Of course it will be appreciated that a multitude of other arrangements are possible.
- the call data stores 170 each store a plurality of call data records representing some or all of the telephony calls made over the telephone network 100 for a given period of time. Each call data record will comprise the telephone number used by the calling party, the telephone number of the called party, the time that the call started and the time that the call was terminated (or a time that the call started or ended and a duration of the call).
- the call data is provided periodically to the data stores by the one or more local exchanges 120 (and/or, in some embodiments, by the core exchanges 1 10) as calls are placed, connected and terminated in the telephone network 100.
- the provision of the call data is provided to the data stores 170 using any appropriate means of communication, such as by using a data network that is separate from the telephone network 100. As will be appreciated, each data store, may receive data from different sets of local exchanges 170, such that call data for the network 100 as a whole is spread across the data stores 170.
- the analyst terminals 180 are computer systems which a can access the data stored in the data stores 170 (or, at least, in some of the data stores 170). Programs may run on the analyst terminals 180 to analyse the call data stored in the data stores 170 including, for example, to classify whether particular callers are a source of automated telephone calls, in accordance with embodiments of this invention.
- calls made by a customer telephony terminal 130 are initially handled by the local exchange 120 to which the terminal 130 is connected via its respective
- the destination of the call is another terminal 130 that is connected to the same local exchange 120, that local exchange 120 can route the call directly to its destination without involving any of the other components of the telephone network 100. Otherwise, if the destination terminal 130 is not on the same local exchange 120, the local exchange 120 routes the call to the respective core exchange 1 10 to which it is connected to handle the further routing of the call. If the call is destined for another terminal 130 on the network, the core exchange 1 10 routes the call, possibly via one of the other core exchanges 1 10, to the local exchange 120 to which that terminal 130 is connected. However, if the call is destined for a terminal on another network, the core exchange 1 10 routes the call to one of gateways for onward routing to that network.
- the telephone network 100 can instead route a call to one of the voicemail servers 160 which provides a voicemail facility for that customer. The caller can then leave a message which will be recorded by the voicemail server 160 and can later be replayed by the customer at a time convenient to them. If a call is routed to the voicemail a notification such as a computer or smartphone notification, an SMS message and/or an email will be sent to the customer informing them of the presence of an unheard voicemail on the voicemail server 160.
- a notification such as a computer or smartphone notification
- the decision to route a call to one of the voicemail servers 160 may be made if, for example, there is no answer from the customer’s telephony terminal 160 after a predetermined number of rings or if a customer has specified that all calls should be redirected to their voicemail.
- the telephone network 100 illustrated in figure 1 is merely exemplary and that various modifications may be made according to the needs of a specific telephone network.
- various components described above may be absent from the telephone network 100.
- the network may not include domestic gateways 140 and/or international gateways 150 if such connectivity to other networks is not required.
- the telephone network 100 may not include voicemail servers 160 if no voicemail service is offered to customers of the network.
- voicemail servers 160 if no voicemail service is offered to customers of the network.
- a wide range of other components not illustrated in figure 1 may be present in the telephone network 100. Indeed, in general, it will be appreciated that there are many different forms that telephone network 100 may take using different combinations, numbers, types and arrangements of these components.
- Figure 2 shows a flowchart describing how a method 200 according to the present invention can be implemented.
- the method 200 starts with an operation 210.
- the method 200 obtains call data for a set of numbers.
- the selection of the set of telephone numbers to be analysed can be done in any appropriate manner.
- an analyst terminal 180 performing the method 200 may simply try different combinations of numbers in sets that are randomly or methodically chosen.
- other factors may be used to help guide the selection of sets of telephone numbers to be analysed. For example, where telephone numbers for which complaints have been received indicating that (unwanted) automated calls are being made from particular telephone numbers, those telephone numbers may be prioritised for analysis.
- other features of the calls from particular telephone numbers such as average durations, or variations in average durations, may be used to help prioritise different telephone numbers as being candidates to be analysed.
- numbers belonging to entities which are known to be making large numbers of automated calls in a responsible manner for genuine purposes may be added to a whitelist. Numbers on the whitelist may not be included in any of the sets of telephone numbers selected for analysis.
- the call data for the set of numbers represents a plurality of calls that have previously been made from the set of numbers during a preceding time period.
- the call data represents calls made during the previous 24 hours.
- the call data may cover any desired time period, whether greater or smaller than this.
- the call data need not necessarily contain all of the calls that might have been made by the set of numbers during the preceding time period. Indeed, where some or all of the calls from telephone numbers in the set of numbers originate from another network this may not be available (especially for calls to telephone numbers that are also in other networks).
- the call data is retrieved from one or more, or all, of the call data stores 170. Flaving obtained the call data, the method 200 proceeds to an operation 220.
- the method 200 generates a call frequency time series from the call data.
- the call frequency time series is generated by using the call data to determine a respective number of calls made from the set of numbers during each of a plurality of time intervals.
- Figures 3A and 3B show a charts illustrating two exemplary call frequency time series generated for two different sets of numbers. Both of these call frequency time series were generated with a temporal resolution of 1 minute (i.e. by counting the calls made during 1 minute time intervals). However, it will be appreciated that any other suitable time interval, whether greater or less than 1 minute, may be used instead, provided it gives sufficient temporal resolution to allow various features to be represented, as discussed further below.
- the time interval is in the range of between 10 seconds and 10 minutes, so as to provide a suitably granular temporal resolution to enable various features of the call frequency time series to be detected.
- the time interval that is used may fall outside of this range.
- Generating a call frequency time series with a temporal resolution of 1 minute results in a time series having 1440 call frequency data points over a period of 24 hours, with each data point corresponding to the number of calls that are made in the corresponding minute of the day from the set of numbers under consideration.
- the time series may cover a period shorter or longer than 24 hours. For example, the time series shown in figures 3A and 3B cover a period of 10 hours.
- the number of calls in each time interval was calculated by counting the number of calls that were initiated during that time interval. Accordingly, any calls that were initiated in a previous time interval that are still ongoing in a subsequent time interval are ignored when determining the number of calls for the subsequent time interval.
- other methods of calculating the number of calls for each time interval may be used instead. For example, the total number of calls that are in progress during each time interval, including any that were initiated in a previous time interval, can be counted. Alternatively, as a further example, the total number of calls that were terminated during the time interval, including any calls that were initiated in a previous time interval but ignoring any calls that were still ongoing after the time interval, may be counted instead.
- the call frequency provides a measure of the level of activity of the set of numbers during each time interval. Accordingly, the call frequency time series allows changes in the level of activity of the set of numbers during the time period to be analysed.
- the generated time series is filtered prior to further use using a low- pass filter.
- This filtering may help to reduce the level of noise that may be present in the time series.
- the unfiltered time series being shown with a lighter line and the filtered time series is shown with a darker line.
- the filtering performed in this case was to apply a 10 min moving average throughout the time series.
- any other suitable time frame or filtering technique may be used instead, as will be known to those skilled in the art.
- the method 200 proceeds to an operation 230.
- the method 200 classifies the calls from the set of numbers based on features of the call frequency time series (although the classification may also be based on other factors as well).
- the classification indicates whether the plurality of calls includes automated calls (or not). That is to say, the classification indicates whether a computer dialler is involved in placing calls from the set of numbers under consideration.
- the call frequency time series can be used to detect computer diallers even in the face of such issues.
- a computer dialler will typically cycle through distinct periods of activity levels. This results in distinctive temporal variations in the call frequency data providing features within the call frequency time series that can be used to detect the computer dialler.
- the typical operation of a computer dialler tends to cycle through four distinctive periods (or phases), as follows:
- the computer dialler starts off in an inactive state (e.g. where it is switched off).
- this period which will be referred to as a quiet (or dormant) period 310
- the call volume is likely to be relatively low. That is to say, the call volume is likely to be zero or close to zero (at least relative to call volumes during other periods). It is possible that some human generated traffic may still be placed using the numbers, meaning that the call volume may not be absolutely zero. However, this human-generated traffic is likely to pale into insignificance compared to automated calls generated in later periods.
- the call frequency increases from the relatively low level during the quiet period until it reaches a higher level of call frequency when the computer dialler is in full operation.
- the period over which this transition which will be referred to as a ramp-up transition (or phase), occurs is typically very short and generally occurs over the course of several minutes. It is also observed that there is a further difference that can generally be expected to occur between the ramp-up transition that occurs for a caller that is using a computer dialler to place legitimate calls and that which occurs for a caller that is using a computer dialler to place nuisance calls.
- a computer dialler placing legitimate calls will typically require a“warm-up” phase in which the dialler learns the characteristics of the operators that are handling calls. This is needed in order to eliminate (or at least reduce) the risk of the dialler placing a call for which no operator is available to handle if the call were to be answered, which may result in a so-called“silent call”.
- the difficulty of this task may be increased for legitimate callers as the variance in call duration may be expected to be much greater than for automated nuisance calls.
- Legitimate callers are typically keen to avoid these“silent calls” being placed. Therefore, the volume of calls placed by the computer dialler that is being used to make legitimate calls will slowly increase during this“warm-up” phase to minimise the risk of placing“silent calls”.
- a high level of calls are placed resulting in a period within the call frequency time series which varies noisily about an elevated and sustained mean value. This will be referred to as a busy (or peak) period 320.
- a further difference can generally be expected to occur between the peak period that is reached by a computer dialler being used to place legitimate calls and one that is used to make nuisance calls.
- legitimate calls may be expected to take longer on average and be more varied in their duration. Additionally, these characteristics may be expected to vary more throughout the day due to the variation in willingness for people to engage with the legitimate calls at different times of day.
- the peak period for legitimate calls made by a computer dialler typically tend to start off at a high level and decrease slightly with time as some calls end and there is a delay in connecting subsequent calls whilst other calls are being sustained. This effect can be more pronounced at times of the day when people are more willing to engage with legitimate automated calls, such as in the afternoon.
- these characteristics of legitimate calls also means that the peak period for a computer dialler placing legitimate calls may typically be expected to be lower, noisier and flatter (or more consistent) than the peak period for a computer dialler placing nuisance calls.
- an inactive state e.g.
- the call frequency decreases from the higher level of call frequency of the busy period back down to a relatively low level of another quiet period.
- the period over which this transition which will be referred to as a ramp-down transition (or phase), occurs is again typically very short and generally occurs over the course of several minutes.
- a further difference can generally be expected to occur between the ramp-down transition for a computer dialler that is being used to place legitimate calls and one that is used to make nuisance calls.
- the ramp-down transition for a computer dialler placing legitimate calls may occur over a greater period of time than that for a computer dialler placing nuisance calls as the remaining legitimate calls that are in progress at the end of the computer diallers operation take longer to reach a conclusion.
- This cycle tends to be repeated several times over the course of a given day for a typical computer dialler. It is thought that this is typically due to the computer dialler either being turned on and off or otherwise failing and recovering. This typically yields multiple quiet periods during a day which may correspond to a failure of the computer dialler, with a ramp- up transition back up to a busy period when the computer dialler recovers from the failure. Accordingly, where a computer dialler is present, the call frequency time series may contain multiple quiet periods, multiple busy periods and multiple ramp-up and ramp-down transitions between the quiet periods and the busy periods. Of course, the frequency of calls and durations of the transitions may vary between each occurrence (or instance) of these periods. Nonetheless the distinctive features provided by the activity levels at different points in the time series are indicative of the presence of a computer dialler.
- the call frequency of human-generated call traffic tends to vary to a greater extent over time compared to the call frequency of the automated calls placed by a computer dialler operating during a busy period.
- the call traffic generated by the computer dialler will tend to have an approximately flat call frequency signature in the busy period of operation (particularly where the call simply involves playing a pre-recorded message).
- Quiet periods may be identified by searching through the time series for any periods in which an average call frequency is low or zero (such as by being below a particular predetermined threshold).
- Busy periods of the time series may be identified by searching for any periods in which an average call frequency is high.
- another predetermined threshold can be specified and any periods which have an average call frequency above that predetermined threshold can be identified as being busy periods.
- a further predetermined threshold can be specified to limit the variance of the call frequencies in a busy period to ensure that only those periods where the call frequency is relatively stable are identified as busy periods.
- the ramp-up and ramp-down transitions may be identified as the periods between any identified quiet and busy periods.
- the features of the call frequency time series can be used to classify the calls. As will be discussed further below, some of these techniques need not necessarily involve the explicit identification of the features of the time series. It is also not necessary for all of the features to be identified in order for the calls to be classified - in some embodiments a subset of the features, such as one or more of the features, may be used. Flowever, in other embodiments, all of the features may be used in the classification of the calls. As an example, a number of occurrences of the one or more features (e.g. one or more of quiet periods, ramp-up transitions, busy periods, ramp-down transitions) during a particular predetermined time period can be used to classify the calls.
- a number of occurrences of the one or more features e.g. one or more of quiet periods, ramp-up transitions, busy periods, ramp-down transitions
- the calls may be classified as automated calls if the number of occurrences of one or more of the features exceeds a predetermined threshold within a given time period (such as 24 hours, for example).
- this number of occurrences may be used as one component upon which the classification is made (such as, for example, being inputs to a neural network trained to classify the calls whereby the neural network may consider other inputs as well).
- the time at which each occurrence of the one or more features may be identified (such as the times of the ramp-up and/or ramp down transitions which correspond to the computer dialler being switched on and/or off).
- the times at which the one or more features occurred in the call frequency time series may then be used to classify the calls.
- these times may be provided as one component upon which the classification is made.
- the classification may be based on the durations of those transitions. As discussed above, these transitions are typically relatively short where the calls are being placed by a computer dialler. As an example of how the transition durations might be used, an average of the transition durations may be calculated and the calls may be classified as including automated calls made by a computer dialler if the average transition duration is less than a certain predetermined threshold (in some embodiments, a predetermined threshold of 10 minutes may be used, although of course other thresholds may be used instead).
- a certain predetermined threshold in some embodiments, a predetermined threshold of 10 minutes may be used, although of course other thresholds may be used instead.
- ramp-up and ramp-down transitions may be considered together (for example by calculating a single average transition duration of both types of transition) or separately (for example by calculating an average transition duration for each type of transition and comparing this to a respective predetermined threshold).
- these transition durations may be provided as one component upon which the classification is made (such as, for example, being inputs to a neural network trained to classify the calls whereby the neural network may consider other inputs as well).
- the window covers a portion of the call frequency time series comprising a predetermined number of sequential time intervals.
- the portion of the call frequency time series covered by a particular window may be referred to as the windowed portion (or windowed block or windowed section) of the time series.
- the detector functions each represent a respective one of the one or more features being detected over the same number of time intervals. By comparing the call frequency values at each of the time intervals within the windows to the values of the detector functions at the corresponding time intervals, a respective measure of similarity can be generated between the detector function and that window (or portion) of the call frequency time series.
- the measure of similarity indicates that the window of the time series is similar to one of the detector functions, it can be considered that the feature represented by the detector function is present in the portion of the time series covered by that window. Meanwhile, if the measure of similarity indicates that the window of the call frequency time series is dissimilar to the detector functions, it can be considered that the features represented by the detector functions are not present in that portion of the time series. Therefore, as the window is moved (or slid) across the call frequency time series, a sequence of similarity measures are generated, indicating whether the features represented by the functions are present in each window.
- Figures 4A and 4B show exemplary detector functions.
- Figure 4A shows an exemplary detector function for detecting ramp-up transition features of the call frequency time series (which may accordingly be referred to as an on-detector).
- Figure 4B shows an exemplary detector function for detecting ramp-down transition features of the call frequency time series (which may accordingly be referred to as an off-detector).
- Each of these detector functions covers a total of 40 time intervals. This means that the sliding window detector will have a window size of 40 when using either (or both) of these exemplary detector functions.
- detector functions covering a different number of time intervals may be used resulting in a different window size.
- a first window position wi covers intervals ⁇ ti, ..., t n ⁇ of the time series (i.e. the windowed portion of the time series is ⁇ ti, ..., t n ⁇ ).
- the next window position w 2 covers intervals ⁇ t 2 , ..., t n+i ⁇ of the time series (i.e. the windowed portion of the time series is ⁇ t 2 , ..., t n+i ⁇ ).
- each subsequent window position yields each subsequent window position until a final window position w (i-n ) + 2 which covers intervals ⁇ t (P-n)+i , t p ⁇ of the time series.
- the call frequencies at each of the time intervals within a given window is compared to the value of the detector function at the corresponding time interval. For example, the first call frequency value in a window is compared to the first value of the detector function, the second call frequency in the window is compared to the second value of the detector function and so on. Therefore, as the window is slid across the call frequency time series, each time interval in the call frequency time series is compared to different time intervals of the detector function (i.e.
- the time interval t n of the time series is compared to the last element f n of the detector function, whilst in the n th window position, the time interval t n of the time series is compared to the first element fi of the detector function).
- the detector function may be compared to a subset of the possible window positions such that a measure of similarity is not calculated for every possible window position, but only for some of them.
- the call frequency time series are normalised prior to use with the sliding window detector.
- This normalisation scales the values of the time series such that they fall within some predetermined range (such as between 0 and 1 ).
- This normalisation enables a standard detector function to be created that lies within the same predetermined range (for example, the values of the detector functions shown in figures 4A and 4B lie within the range between 0 and 1 ).
- the standard detector function can be used regardless of the actual call volumes involved.
- normalisation need not be used and the detector functions may be scaled to reflect the actual call volumes that are expected - in this case, such a detector function may not detect functions where a volume of calls is different (either lower or higher) than that expected.
- the measure of similarity is determined by calculating the Mahalanobis distance between the detector functions and the various windows of the time series.
- the Mahalanobis distance is the multivariate equivalent of the z-score for a normally distributed measurement given the standard deviation of the distribution.
- the z-score is given by: c - m
- z is the distance measure
- m is the mean of the distribution and s is the standard deviation of the distribution. This determines a distance between the measurement x and the mean m standardised by the standard deviation of the distribution s. It expresses how many standard deviations a given measurement is away from the mean.
- the Mahalanobis distance is the multivariate generalisation of this concept.
- the Mahalanobis distance characterises the distance (or closeness) between the vectors representing the detector function z d and a window of the call frequency time series z s .
- the distance is standardised by the covariance term ⁇ assigned to the detector function.
- This covariance ⁇ is an n x n matrix where n is the number of elements in the detector function (i.e. the window size).
- the covariance defines the assigned uncertainty (i.e. variance) at each of the n time intervals of the detector function as well as any correlations in the uncertainty between these n points (i.e. covariance).
- the Mahalanobis distance d (or closeness of fit) between the detector function and the window of the call frequency time series is given by:
- the computed Mahalanobis distance will be small (indicating a high measure of similarity).
- the Mahalanobis distance is large (indicating a low measure of similarity).
- the covariance term ⁇ that is used as part of the calculation of the Mahalanobis distance enables an uncertainty to be assigned to each element of the detector function. This uncertainty can be used to characterise the closeness of fit that is required between the call frequency time series and each point of the detector function.
- This covariance ⁇ (or uncertainty) is represented by the shaded area in figures 4A and 4B.
- the assigned uncertainty represented by the covariance ⁇ is high, the detector is less demanding about closeness of fit between the detector function and the call frequency time series and conversely when the assigned uncertainty is low a better fit is demanded.
- the sliding window detector can defined with different sensitivities for different parts of the detector function in order to meet the expected variance of those features in the call frequency time series.
- the assigned uncertainty for the detector function is higher during the ramp-up and ramp-down transition periods and lower in the quiet and busy periods. Accordingly, the closeness of fit demanded between the detector function and the window of the call frequency time series during the quiet period is very strict so that the detector will yield lower distances (higher similarity scores) for time series which are very close to zero during the quiet period preceding the ramp-up transition (or following the ramp-down transition).
- the closeness of fit demanded between the detector function and the window of the call frequency time series during the busy period is also high, meaning that the detector will yield lower distances (higher similarity scores) for time series which match the form of the detector function and have a flat sustained call frequency in the busy period following the ramp-up transition (or preceding the ramp-down transition).
- the closeness of fit demanded by the detector in the ramp-up and ramp-down phases is less stringent, thereby allowing for differences in the time to reach the peak call-frequency activity of a busy period following a quiet period and vice versa.
- an ensemble of candidate features can be assembled from which the detector function and covariance matrix ⁇ can be derived.
- the ensemble of candidate features contains multiple different candidate features which each represent a different example of the feature (such as a ramp- up or ramp-down transition) that the detector function is to detect.
- these candidate features are generated via a hypothesis led approach whereby the ensemble of candidate features are generated via modelling.
- these candidate features are generated based on real data. That is to say, the candidate features may be instances of those features occurring in call frequency time series generated from real call data.
- a detector function for detecting the function represented by the ensemble of candidate features can be generated based on the average values of the candidate features in the ensemble.
- the vector associated with the detector function z d can simply be the interpreted as an estimate of the mean of the call frequency time series based on the ensemble of candidate features.
- the values of the covariance matrix ⁇ for the detector function can also be generated based on the values of the candidate features in the ensemble (whether generated as part of a hypothesis led approach or based on real call data).
- the deviation at each point (i.e. time interval) of the detector function can be considered to be unrelated to the deviation at any other point in the detector function (i.e. there is no covariance between the different time intervals).
- the covariance matrix ⁇ can be reduced to a diagonal matrix containing the variance s 2 for each point of the detector function along the leading (or main, major or principal) diagonal of the matrix.
- the squared Mahalanobis distance corresponds to the value of d when the detector function and the window of the time series are aligned to within the estimated uncertainty.
- n is the number of time intervals in the detector function (i.e. the window size). Accordingly, the squared Mahalanobis distance has an expected value of n:
- the threshold may be adjusted away from the expected value to account for any inaccuracies in the detector function and/or covariance matrix ⁇ , which may not be an entirely true reflection of the true statistics of the call frequency time series (especially when built from an ensemble of features using hypothesis-led approach).
- the threshold may be set higher than the expected value (since the true statistics of the time series may be expected to include more variance than the models from which they are generated, thereby yielding higher Mahalanobis distances (i.e. lower measures of similarity) even where the feature is present).
- Figures 5A and 5B show the Mahalanobis distances calculated using the detector functions illustrated in figures 4A and 4B as part of a sliding window detector over the call frequency time series illustrated in figures 3A and 3B respectively.
- the Mahalanobis distance calculated by an on-detector (or on-filter) that is to say, where the detector function represents a ramp-up transition
- the lighter line represents the Mahalanobis distance calculated by an off-detector (or off-filter), that is to say, where the detector function represents a ramp-down transition.
- the lower the Mahalanobis distance the higher the measure of similarity between a window of the time series at that point in time and the detector function.
- the points in time at which the plots for each detector function are approximately 0 correspond to the points in time that the corresponding features that they are detecting (either the ramp-up or ramp-down transitions) exist in the call frequency time series.
- the Mahalanobis distance for each detector doesn’t drop below a particular value and does not approach 0.
- the Mahalanobis distance provides a useful way of generating a measure of similarity to the detector function, particularly due to its ability to account for the uncertainty at different points in the detector function.
- other methods of generating a measure of similarity may be used instead.
- the highest measure of similarity (e.g. the lowest Mahalanobis distance) may be used to classify the calls. If the highest measure is below a particular threshold (such as the expected value of Mahalanobis distance given the window size), this indicates the presence of at least one feature which is indicative a computer dialler in action. As discussed above, computer diallers typically cycle through the various periods of behaviour multiple times throughout the course of a day. Therefore, in an alternative embodiment, the classification may be based on an average of any measures of similarity which are higher than a predetermined threshold. This predetermined threshold may be set relatively low.
- the average value can provide a measure as to how closely the features in the time series as a whole (or at least for a time period under consideration) match the features that are indicative of a computer dialler.
- this average in embodiments where a higher value for the measure of similarity indicates a closer match, the more likely that a computer dialler is in operation.
- the average may be taken for windows having a measure of similarity that is below a predetermined threshold (which may be set relatively high) and a lower average value indicates that it is more likely that a computer dialler is in operation.
- the calculated series of measures of similarity can also be used to detect the individual instances of the transitions in the call frequency time series. These are indicated by the measure of similarity being relatively high (e.g. where the
- the times of such transitions can be determined based on the calculated measures of similarity.
- the times of such transitions can be determined based on the calculated measures of similarity.
- a transition may be identified where the Mahalanobis distance drops below 200 (although other thresholds could be used instead).
- the identification of transitions may, in some embodiments, further require that no additional transitions can be identified within a certain period of time (e.g. 20 minutes) of a transition that has already been identified.
- the method 200 Having classified the calls at operation 230 based on the features of the call frequency time series, the method 200 proceeds to an operation 240.
- the method 200 routes further calls from the set of numbers in accordance with the classification. That is to say, it configures the network 100 to route calls from those numbers based on the classification.
- the network 100 may maintain an ‘automated caller list’ containing the telephone numbers which are believed to be operating computer diallers to make unwanted automated calls. This list may be consulted when routing calls. Accordingly, adding a telephone number to the‘automated caller list’ may cause further calls from that telephone number to be handled differently by the network 100. If the calls were not classified as including unwanted calls, further calls from that set of numbers will be processed as normal, for example, by delivering any further calls to the called number.
- a particular telephone number is added to the‘automated caller list’ then the owner of that number may be informed by the network operator.
- the network operator may provide a mechanism by which such numbers can be removed from the‘automated caller list’.
- the entities which make large numbers of unwanted robot calls typically lease telephone numbers from third party brokers and thus are likely to move from number to number as they are added to the‘automated caller list’.
- the method 200 may, for example, configure the network 100 to deliver any further calls from those numbers to a voicemail server so that customers are not disturbed by those calls.
- a voicemail server may deliver any further calls from those numbers to a voicemail server so that customers are not disturbed by those calls.
- future calls from numbers added to the‘automated caller list’ may be redirected to voicemail. If a call is routed to the voicemail server then a notification will then be sent to the customer informing them that a calling party attempted to make an automated call to them.
- the customer may be sent an email indicating that an automated call has been received, with a hyperlink which can be activated in order to allow the customer to access the contents of the robot call as and when they wish to do so, a notification may be sent to a computer or smartphone app, an SMS message may be sent, etc.
- a notification may be sent to a computer or smartphone app, an SMS message may be sent, etc.
- any other suitable method of handling further calls from the set of numbers making unwanted automated calls may be used.
- calls from such numbers could simply be blocked instead.
- the communication network may comprise a call management device which is configured to obtain a classification of one or more lines as carrying automated call attempts in the manner discussed above. That is to say, the classification being derived in dependence upon a call frequency time series representative of a variation in the frequency of calls made from the set of one or more lines.
- the call management device then acts within the network to prevent future call attempts attempts from the lines from being routed to their indicated destinations.
- the method 200 ends. However, it will be appreciated that the method may be re-iterated to classify calls from a different set of numbers. Even though the method 200 ends, it will be appreciated that the routing for calls from the set of numbers as configured in operation 240 may continue to have effect.
- the present invention relates to a method of classifying a source of telephone calls to determine whether they can be classified as automated calls or non- automated calls (that is whether they were made by a computer dialler or human-generated). It will be further understood that exact details of how these calls are then processed are not directly relevant to the present invention and that alternative schemes to those outlined above may be used. Some large users of the telephony network (banks, government agencies, etc.) will make many calls each day but that these calls will be in the main non- automated calls or will be a source of legitimate automated calls. As discussed above, the network operator may establish a whitelist of telephone numbers used by such entities which will be generating large numbers of calls. Telephone numbers on this whitelist will not be analysed in accordance with the method described above.
- the method described above requires a call data source which comprises the telephone number used by the calling party, the telephone number of the called party and a time associated with the call (whether a start time or an end time or both). It will be understood that this data could be created solely for the purpose of implementing the method according to the present invention, but it is preferred that an existing source of data can be re-used.
- the billing data which is created for each telephone call could be used.
- additional data which is held in the billing data may be removed before it is made available to the call analyst terminal.
- the call data source will comprise a unique identifier of the calling party which may comprise an email address, a SIP address, a conventional telephone number or other unique identifier.
- the call data source may comprise a unique identifier for the called party, which again may comprise an email address, a SIP address, a conventional telephone number or other unique identifier.
- a software-controlled programmable processing device such as a microprocessor, digital signal processor or other processing device, data processing apparatus or system
- a computer program for configuring a programmable device, apparatus or system to implement the foregoing described methods is envisaged as an aspect of the present invention.
- the computer program may be embodied as source code or undergo compilation for implementation on a processing device, apparatus or system or may be embodied as object code, for example.
- the computer program is stored on a carrier medium in machine or device readable form, for example in solid-state memory, magnetic memory such as disk or tape, optically or magneto-optically readable memory such as compact disk or digital versatile disk etc., and the processing device utilises the program or a part thereof to configure it for operation.
- the computer program may be supplied from a remote source embodied in a communications medium such as an electronic signal, radio frequency carrier wave or optical carrier wave.
- a communications medium such as an electronic signal, radio frequency carrier wave or optical carrier wave.
- carrier media are also envisaged as aspects of the present invention.
- the above disclosure provides a mechanism that allows automated calls made from a set of one or more numbers to be detected and routed in an appropriate manner.
- the calls are classified based, at least in part, on one or more features of a call frequency time series that is generated from data representing a plurality of calls previously made from a set of one or more numbers by determining a respective number of calls made by the set of numbers during each of a plurality of time intervals.
- the classification indicates whether the calls include automated calls. Further calls from the set of numbers are routed in accordance with the classification.
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Telephonic Communication Services (AREA)
Abstract
L'invention concerne un mécanisme qui permet à des appels automatiques effectués à partir d'un ensemble d'un ou plusieurs numéros d'être détectés et acheminés d'une manière appropriée. Les appels sont classifiés sur la base, au moins en partie, d'une ou plusieurs caractéristiques d'une série chronologique de fréquences d'appel qui est générée à partir de données représentant une pluralité d'appels effectués précédemment à partir d'un ensemble d'un ou plusieurs numéros en déterminant un nombre respectif d'appels effectués par l'ensemble de numéros pendant chacun d'une pluralité d'intervalles de temps. La classification indique si les appels comprennent des appels automatiques. D'autres appels à partir de l'ensemble de numéros sont acheminés conformément à la classification.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/613,243 US11991316B2 (en) | 2019-05-24 | 2020-04-30 | Call routing in a communications network |
EP20721264.8A EP3977715A1 (fr) | 2019-05-24 | 2020-04-30 | Routage d'appels automatiques dans un réseau de communications |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP19176597.3 | 2019-05-24 | ||
EP19176597 | 2019-05-24 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020239358A1 true WO2020239358A1 (fr) | 2020-12-03 |
Family
ID=66647336
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/EP2020/062124 WO2020239358A1 (fr) | 2019-05-24 | 2020-04-30 | Routage d'appels automatiques dans un réseau de communications |
Country Status (3)
Country | Link |
---|---|
US (1) | US11991316B2 (fr) |
EP (1) | EP3977715A1 (fr) |
WO (1) | WO2020239358A1 (fr) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2425913A (en) | 2005-05-04 | 2006-11-08 | Arona Ltd | Call Handling |
US20150189082A1 (en) * | 2013-01-11 | 2015-07-02 | Time Warner Cable Enterprises Llc | Generation of phone number lists and call filtering |
US20160036991A1 (en) * | 2009-05-20 | 2016-02-04 | Peerless Network, Inc. | Auto-dialer detector for inter-carrier network switch |
US20190116258A1 (en) * | 2017-10-13 | 2019-04-18 | Soleo Communications, Inc. | Robocall detection |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060291641A1 (en) | 2005-06-02 | 2006-12-28 | Lucent Technologies Inc. | Methods and systems for selective threshold based call blocking |
US20100278325A1 (en) | 2009-05-04 | 2010-11-04 | Avaya Inc. | Annoying Telephone-Call Prediction and Prevention |
US20150003600A1 (en) | 2013-06-28 | 2015-01-01 | Vonage Network, Llc | Systems and methods for blocking undesired automated telephone calls |
US9560198B2 (en) | 2013-09-23 | 2017-01-31 | Ooma, Inc. | Identifying and filtering incoming telephone calls to enhance privacy |
CN106304041A (zh) | 2015-06-12 | 2017-01-04 | 中兴通讯股份有限公司 | 骚扰电话监控方法及装置 |
US11105948B2 (en) * | 2015-09-30 | 2021-08-31 | Schlumberger Technology Corporation | Downhole tool analysis using anomaly detection of measurement data |
GB2560961B (en) | 2017-03-30 | 2020-01-01 | British Telecomm | Communications Network |
US9912688B1 (en) | 2017-05-10 | 2018-03-06 | At&T Intellectual Property I, L.P. | Method and apparatus for protecting consumers and resources in a communication network |
CN107733900B (zh) | 2017-10-23 | 2019-10-29 | 中国人民解放军信息工程大学 | 一种通信网用户异常呼叫行为检测预警方法 |
CN108366173A (zh) | 2018-01-05 | 2018-08-03 | 腾讯科技(深圳)有限公司 | 一种电话识别方法、相关设备及系统 |
-
2020
- 2020-04-30 US US17/613,243 patent/US11991316B2/en active Active
- 2020-04-30 EP EP20721264.8A patent/EP3977715A1/fr active Pending
- 2020-04-30 WO PCT/EP2020/062124 patent/WO2020239358A1/fr unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2425913A (en) | 2005-05-04 | 2006-11-08 | Arona Ltd | Call Handling |
US20160036991A1 (en) * | 2009-05-20 | 2016-02-04 | Peerless Network, Inc. | Auto-dialer detector for inter-carrier network switch |
US20150189082A1 (en) * | 2013-01-11 | 2015-07-02 | Time Warner Cable Enterprises Llc | Generation of phone number lists and call filtering |
US20190116258A1 (en) * | 2017-10-13 | 2019-04-18 | Soleo Communications, Inc. | Robocall detection |
Also Published As
Publication number | Publication date |
---|---|
EP3977715A1 (fr) | 2022-04-06 |
US11991316B2 (en) | 2024-05-21 |
US20220224797A1 (en) | 2022-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11716417B2 (en) | System and method for identifying unwanted communications using communication fingerprinting | |
US10498887B2 (en) | System and method for identifying and handling unwanted callers using a call answering system | |
US9667782B2 (en) | Identifying and filtering incoming telephone calls to enhance privacy | |
CN104735272B (zh) | 一种骚扰电话的拦截方法及系统 | |
US9596578B1 (en) | Voicemail greeting fingerprint matching to differentiate between human and voicemail greetings | |
CN110337059A (zh) | 一种用户家庭关系的分析算法、服务器及网络系统 | |
US9210264B2 (en) | System and method for live voice and voicemail detection | |
CN114169438A (zh) | 一种电信网络诈骗识别方法、装置、设备及存储介质 | |
EP3685570B1 (fr) | Système et procédé d'identification de communications indésirables à l'aide d'empreintes numériques de communication | |
CN108198086B (zh) | 用于依据通信行为特征来识别骚扰源的方法和装置 | |
US20230344932A1 (en) | Systems and methods for use in detecting anomalous call behavior | |
CN105812560A (zh) | 一种来电管理方法及移动终端 | |
US11991316B2 (en) | Call routing in a communications network | |
US10757593B2 (en) | Identifying the network segment responsible for poor audio quality | |
GB2584156A (en) | Call routing in a communications network | |
CN113452829A (zh) | 基于用户存在和偏好的语音消息的实时转录和馈送 | |
EP3119072A1 (fr) | Système et procédé de détection de dérivation disposant d'une analyse de réseau social | |
WO2022207488A1 (fr) | Réseau de communications | |
CN101472254A (zh) | 确定预约号码、控制预约回拨业务的方法和装置 | |
US20170302793A1 (en) | Blocking unwanted communications for a subscriber pool |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20721264 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2020721264 Country of ref document: EP Effective date: 20220103 |