CALL QUEUING IN A TELECOMMUNICATIONS NETWORK

Abstract: In a call queuing arrangement for a network defining a call centre, a service control function (10) maintains a record of all calls held in a queue so that the estimated time of answer of each such call by a server at an answer centre (16) can be announced to the calling customer. Each incoming call results in a call record process (14) being created for that call and, if the period for which a customer may have to wait exceeds a predetermined threshold, the customer is given an opportunity to request to be re-called by the network at a time close to an expected server free time. The customer's place is usually maintained in the queue such that each call joining the queue is answered approximately in turn. The method avoids maintaining a network connection to a calling customer who does not have to hold their line whilst their service request to the server centre is queued.

Description: CALL QUEUING IN A TELECOMMUNICATIONS NETWORK The present invention relates to telecommunications networks and more particularly to call queuing arrangements in such networks. In co-pending patent application number EP 95307386.3 there is disclosed a call queuing arrangement in which customers awaiting service are periodically informed of the approximate time for which they may have to wait prior to connection to a customer service operator. Previously, customers were often simply informed that they were held in a queue without any indication of the period of time for which they might be expected to wait. Music or advertising messages are sometimes played and, in some organisations a "queue jockey" is employed to provide entertainment to waiting customers. The queue jockey may have some indication of the total wait being experienced by customers just connected and an indication of the number of people in the queue and will periodically inform the listeners of the approximate expected wait. In other arrangements, queued customers may be given the opportunity to be called back by an operator at a later time which removes the customer from the queue and arranges a call back at a quiet period. Such schemes may have a predetermined time at which the call back occurs or will simply effect call back when the customer reaches the head of the queue. This may result in operators being idle for periods of time, particularly if the called customer at the head of the queue takes time to answer the call and more so if the called customer fails to answer the call. According to the present invention there is provided a telecommunications network including means to calculate approximate queuing times for each of a plurality of customers held in a queue for a call centre, means to announce to each said customer a respective calculated queuing time, means responsive to customer signalling to release the customers connection to the network and control means to cause a connection to a released customer to be re-established when the calculated queuing time for that customer is at or below a predetermined threshold. Preferably the network includes a call queue management process arranged to establish a call record process for each call joining the queue and to co-operate with each call record process to determine respective waiting times for each call record. The announcement means may include means responsive to customer signalling. The call queue management process may be responsive to data identifying the origin of a call to compare the data with data identifying each other call in the queue and to disallow creation of new call records in respect of duplicate calls. According to a feature of the invention there is provided call centre apparatus including means to calculate approximate queuing times for each of a plurality of customers held in a queue for a call centre, means to announce to each said customer a respective calculated queuing time, means responsive to customer signalling to release the customers connection and control means to cause a connection to a released customer to be re-established when the calculated queuing time for that customer is at or below a predetermined threshold. According to a further aspect of the invention there is provided a method of handling queued telephone calls comprising the steps of: for each new call, determining the expected wait period prior to a server connection being effected; determining whether the expected wait period for a current call is longer than a pre determined threshold and, if so, responding to customer signalling to disconnect the current call and to create a respective call back record; for each call back record periodically determining a second wait period before the respective associated call reaches the top of the queue; determining whether the second wait period is shorter than a pre determined ring back threshold and, if so, effecting re-connection of the respective associated call. A telecommunications network in accordance with the invention using the method of the invention and including a call centre in accordance with the feature will now be described by way of example only with reference to the accompanying drawings of which:- Figure 1 is a block schematic diagram of a telecommunications network; Figure 2 is a block schematic diagram of the call queuing system; Figures 3 and 4 is a flow chart showing a Queue & Call Record Management Process of the system of figure 2: Figures 5 to 8 form a flow chart showing a call record process of the system of figure 2; Figure 9 is a flow chart showing a duplicate call macro which is called in figure 5: and Figure 1 0 is a chart showing the probability density functions for two random variables. Referring first to Figure 1 , a public switched telephone network (PSTN) encompassing an intelligent network is represented by Service Switching Points (SSP) 1 and 2 which in a so-called intelligent network have access to at least one Service Control Point (SCP) 3. In a typical intelligent PSTN, SSPs include processing capability which examines digits dialled or signalled by customers and/or forwarded by other nodes within the network. The digits received define a network destination or a network route or a required network service and for calls not requiring IN control may be wholly processed within the receiving SSP. However, certain combinations of functions may require a higher level of processing capability, redirection of the call to specialised resources or customer prompting for example. In such cases application may be made to the SCP 3 with information included in a C7 signalling message defining the origin of the call, the digits received and the like. Accordingly, when the SSP triggers to an event, which may be at the terminating SSP rather than the originating SSP, the SCP 3 returns a signalling message including call handling instructions and/or switching instructions for example. Each of the SSPs 1 and 2 will provide service to a number of customers lines 4, of which only some are shown, and will effect switching through the PSTN in accordance with customer signalling. Calls may be connected rapidly from any SSP to the required destination if necessary by using high capacity trunk interconnection 5 between high level SSPs (e.g. Digital Main Switching Units) Several such routing changes may occur during the course of a single call set up. In particular, a calling customer line 4 may be through connected to a so-called intelligent peripheral 6 anywhere in the network so that specialised facilities can be made readily available throughout the PSTN. Groups of customer lines 7 having a common telephone number (or several telephone numbers defining specific requirements) may be connected to a call centre 8 which provides queuing arrangements to hold calling customers while a free call centre operator line 9 is found. While consideration at this point is of groups of customer line being directed to a single call centre, it is noted that the network operator of the PSTN may provide call queuing facilities based on a distributed call centre capability. In such a case, incoming calls from customer lines 4 are directed sequentially to available call handling personnel on more than one switch, a network service platform 1 3 providing call monitoring and operator availability monitoring functions. Alternatively in an intelligent network solution, SCP's may control the allocation of operators by use of detection points in the call process such as when an operator clears. The system hereinafter described may either be implemented in a network platform providing call centre monitoring capability, within one or more SCPs or within the gateway software of a call centre. Thus, referring now to figure 2 the elements here shown are equivalent to the elements shown in figure 1 and the interchange and sequence of information exchange between the elements will now be discussed. Now within the Service Control block 10 there is a Queue & Call Record Management Process 1 1 (hereinafter abbreviated as the Management Process) which handles calls originating from customers of the network schematically shown at 1 2. For each call originating in the network the Management Process creates a Call Record Process 14 which enables call progress to be monitored and controlled throughout. An Announcement Facility 1 5 is provided, for example as an intelligent peripheral in the network to which caller connection may be effected. A Server Centre 1 6, which as previously mentioned may comprise a number of lines connected to a call centre or a number of lines distributed across the network, is also shown. The exemplary implementation of the invention will be described hereinafter by reference to the system diagram shown in Figure 2 although it will be appreciated that the invention could be implemented in other configurations. Referring now also to Figure 3, on initiation of the system initial values for mean and co-variance values of departure time from queue, the ring back trigger queue position, ring back deferment time, service probabilities and answer time quantile are set. Some of these variables may be set using manual input. However, it is expected that most of the values will be set from known historical performance records. This initialisation is shown as step 300. The Management Process now awaits (305) a signal indicative of one of four possible status changes, these being respectively a call attempt (310), server free indication (31 1 ), call record replace (31 2) or call record remove (31 3). Considering first a call attempt (310), from the network12 the Management Process determines whether any server is currently free (step 31 5) and if so returns a connect to server instruction (31 6) to the network 1 2 which then connects the caller directly to the free server. If there are currently no free servers on receipt of the call attempt then a Call Record Process is created (320) in respect of the current call from the network 1 2. The Call Record Process is described in detail hereinafter. On receipt of a server free signal (31 1 ) the process determines whether a departure time is recorded at step 325, the departure time being indicative of the current handling time of calls and/or an indication of overall call centre inter- departure times. If a departure time is not available then the Management Process skips the next steps and seeks a call record in the final announcement state at step 410, hereinafter referred. Note that, as hereinafter described at step 430, when there is no queue, that is when one or more operators is available to handle calls, no departure time is recorded. Thus inter departure times are only calculated at times when all of the available operators are busy and there are customers in the queue. If a departure time is recorded (which would be the normal status the queue is not empty) the process calculates the inter-departure time from the last recorded departure time (330) and updates the estimates of mean and co-variances of departure times (step 335). Recalculation of the ring back trigger position (used to control the call record process) is carried out (340) and then (referring to Figure 4) a record search of records towards the end of the queue is performed (400) . This record search is for records which are still in an initial announcement state and which have reached a threshold time at which the record process should move to the final announcement state. If such a record is found (405) a final announcement instruction (402) is sent to the respective record process. Once all call records which have reached the threshold time have been located (405) then the first record in the final announcement state (if any) is located (410) and if found (41 5) a time of departure is recorded (420). A server free instruction (425) is sent to the identified call record process. If at step 410/41 5 no record is found in the final announcement state then any time of departure recorded is deleted (430). The Management Process now checks for call records in the ring-back state (435) to determine whether any such records are at or below the ring-back trigger position. Any record process found to be in that state is then sent a ring back notification (440). Once all records at or below the ring-back trigger position have been located and instructed then the Management Process returns to handle further incoming signals. Hereinafter the Call Record Process is described which, up to this point in the description has been considered only as receiving instructions from the Management Process. As will be appreciated each Call Record Process may also forward signals to the Management Process respectively including a "replace record in queue" request and a "remove record from queue" request. In the Management Process, because a replace call record request (31 2) normally arises as a result of a previous ring-back failure, the call record is replaced in the queue (345) immediately above the current ring back trigger position. This ensures that as soon as another call is transferred to a server the current record process receives a ring back instruction (step 440). The remove call record from queue instruction (step 313) normally arises because a caller has replaced the telephone handset and aborted the call whilst there is a connection to an announcement, or because a ring-back attempt has been unsuccessful (755, 780). This results in the call record being removed from the queue (350) in the call Management Process. Turning now to Figure 5, if at step 320 the Management Process spawns a Call Record Process then the Call Record Process causes a connection to be established between the calling party and the Announcement Facility 1 5. A play welcome instruction (500) is sent to the announcement peripheral which will cause a voice output of the form "Welcome to {Service Name}" and will then return an announcement complete signal to the Call Record Process. On receipt of the announcement complete signal (510), the Call Record Process determines (51 5) whether, in regard to the current queue position of the call record, the expected time to reach the ring back trigger position is less than a pre-specified threshold time. If the expected waiting time is not excessive then the Call Record Process sends (520) a play final announcement signal to the Announcement Facility 1 5. The Announcement Facility will now cause an announcement of the form "your expected waiting time is only {estimated waiting time}, please hold for connection to an operator" or a similar message, and the Call Record Process enters the final announcement state (525). In the final announcement state the process awaits a server free signal (from step 425 of the Management Process) and on receipt of such a signal (530) effects a connect to server signal (535) to the network prior to the process terminating. Returning now to step 51 5, if it is determined that the expected time to reach the ring back trigger time is in excess of the pre-determined threshold time, then a check is carried out (540) to determine whether a calling address (calling line identity (CLI)) is available for the current call. If CLI is available then a check is carried out through other call records in the queue (545) to ensure that this is not a duplicate call occurring pending a ring-back. If a matching address is found (550) then a duplicate call macrofhereinafter described) is started (551 ) and the call record process terminates. Now if at step 550 it is determined that this is a unique call record in respect of the CLI then the process causes connection of the calling customer to the announcement facility and instructs an initial announcement (first format) message to be played (555). This message using the prompt and collect facility of an Intelligent Peripheral, may be in the form "Your expected waiting time for connection to an operator is {expected waiting time}. If you would like to be called back later when you will not have to wait long for service please press {key} now". If the caller presses the defined key within a predetermined time-out period then a ring-back instruction signal is passed back to The Call Record Process which (proceeding to Figure 6) replies with a play ring back announcement signal (605) to the Announcement Facility 1 5. The Announcement Facility now plays a further voice message such as "Your ring-back request has been accepted. Your estimated time of ring back is {estimated ring-back time}. Please replace your handset". Following the return of an announcement complete signal (61 5) the Call Record Process provides a force release signal to the network (620) unless it has already received a calling party cleared signal (610) from the Network. If the calling customer does not respond to the ring-back invitation or indicates (by designated key) a preference to hold and/or, if during the course of announcement, a final announcement signals received by the Call Record Process, then as indicated at step 625 the record process will cause the play final announcement message to be played (630) (as herein before described with reference to steps 520 and 525) and will enter the final announcement state, in the final announcement state the customer may be periodically informed of the expected time to answer and may be played suitable messages or "music on hold" for example. Where a customer has not opted for ring-back and remains with an expected delay time greater than the threshold the caller may be offered further opportunities to select the ring-back service. Returning briefly to figure 5, if CLI is not available at step 540, then an enhanced prompt and collect function is required. In this case a "play initial announcement (second format)" signal (560) is sent to the announcement facility. Thus when the calling customer is connected through the network to the facility a voice announcement of the form "Your expected waiting time is {expected waiting time}. If you would like to be called back later, when you will not have to wait long for service, please press {key} followed by your full telephone number" will be given. As previously, if the caller does not make an appropriate response within the timeout period it is assumed that the ring-back facility is not required and the system will step to the final announcement state as indicated at figure 6 step 635 leading to step 630. Now assuming that the customer enters a telephone number to be called (and sanity checks of the entered number (not shown) confirm the probability of the call originating from the given number) a ring back request and the CLI are returned by the Announcement Facility to the Call Record Process. Thus at step 640, The Call Record Process uses the entered information to perform a search (645) for any other call record having a matching called address and if so proceeds to the duplicate call macro definition (hereinafter) (655). If no matching address is found then the process goes to the play ring back announcement step 605 previously mentioned. Once the call through the Network 1 2 has been cleared following the ring back announcement then the process awaits (660) ring-back signal (carrying the deferment time) from the Management Process. On receipt of the ring-back signal (665) the process uses the deferment time to set a "duration 2" (670) and schedules a "timer 2" for the current time plus the set duration 2 (675). The call record process now enters the ring back scheduled state (680). When timer 2 expires (turning to Figure 7, step 700) the process initiates a ring back call attempt (705) to the Network together with the CLI previously recorded. The current time is recorded (710) and a "timer 3" is set to the current time plus a predetermined "duration 3". The ringing back state (720) now awaits interrupt either as a result of an answer (721 ) or engaged (722) signal from the Network 1 2 or as a result of timer 3 expiring (723). On receipt of an answer signal (721 ) timer 3 is cancelled (725) and the time taken to answer calculated (730) to enable an estimate of the answer time distribution quartile to be updated (735). The Announcement Facility is caused to be connected to the caller by sending a re-entry announcement signal to it (740). "Timer 4" is set to the current time plus a predetermined "duration 4" and the re- entry announcement played. The re-entry announcement may be of the form "Welcome back to {Service Name}. Your expected waiting time is now only {estimated waiting time}. Please press {key} to continue awaiting." If the customer confirms, by pressing the defined key, that the call can now be accepted (Figure 8 step 800) then timer 4 is cancelled and a confirmation announcement (for example "thank-you") is played (810). Once the confirmation announcement has been played (81 5) then the process steps to cause the final announcement (as in step 525 figure 5) to be played (820) before entering the final announcement state (825) and subsequent handling of the call as previously described with reference to figure 5. If timer 4 expires (830) without the customer entering the appropriate key or the customer clears the call then the Call Record Process sends a remove record from queue signal (835) to the Management Process. A call clear down message (for example "As you have not confirmed your request we are releasing the call") is instructed and once an announcement complete message is returned by the Announcement Facility (845) a call clear is returned to the Network. A further timer ("timer 6") is set to the current time plus a pre determined duration 6 (855) and a repeat ring back scheduled state is entered (860). Returning to figure 7, and particularly to the ringing back state 720, if the Network 1 2 returns an engaged message, detected at 722, then timer 3 is cancelled (750) and a remove call record from queue signal(755) is sent to the Management Process. A timeout "timer 5" is set to the current time plus a predetermined duration 5 and the process enters the repeat ring-back state 765 pending expiry of timer 5. Again returning to the ringing back state 720, if timer 3 expires (723) without either an answer or an engaged response from the network1 2, the time to answer (duration 3) is calculated (770) and applied to the estimate of the answer time distribution quartile (775). A remove record from queue signals sent to the Management Process (780) and timer 6 is set to the current time plus duration 6 (785) and repeat ring-back scheduled state is entered (790) in the same way as for a non-confirmed connect (830-860). From the repeat ring-back scheduled state, when the previously set timer 5 (865) or timer 6 (870) expires a replace call record in queue signal is sent to the Management Process (875). The Management Process replaces the call record in the queue just above the ring-back trigger point and the Call Record Process re- enters the awaiting ring back state (880). Subsequent progress of the call record will be as herein before described with reference to steps 660 et seq. It is here noted that the number of repeat attempts made to contact a caller may be limited to avoid excessive failures. In this respect durations 5 and 6 may be increased after each failure in respect of a particular call record. Further bounding of the times between which calls may be attempted such that following ring-back failure call attempts are not made after a reasonable late evening or before a reasonable morning time. Having discussed the Call Record Process, consideration of the duplicate call macro referenced at steps 551 and 655 above will now be made with reference to figure 9. As has been noted above, it is undesirable to have more than one call record process running in respect of a single caller address and, on detecting that a call record process is already running in such a case, the detecting process commences the duplicate call macro and then terminates itself. Now, the duplicate call macro causes the Network 1 2 to connect the caller to the Announcement Facility 1 5 and forwards a play duplicate call announcement signal. A voice announcement of the form "We already have a record of your ring back request for {service name}. Your estimated time of ring-back is {estimated ring-back time}. If you would like to cancel your ring back request please press {key}. If you wish your ring-back request to proceed please replace your handset" is instructed to be played. A timeout "timer 1 " is set to the current time plus a response period "duration 1 " (905) so that if the customer neither clears nor presses a key the system can clear the call. Thus in the present waiting state, either the expiry of timer 1 (910) or a clear ring back request (91 1 ) or a calling party clear (91 2) is required. If Timerl expires without the prompt and collect facility of the announcement facility detecting a customer reaction then the process forwards a call clear signal (91 5) to the Network 1 2 which force releases the call. If the Network 1 2 forwards a calling party clear indication (91 2) then the macro cancels timer 1 (920) and terminates. If the customer presses the defined key then the ring back request is forwarded by the prompt and collect facility of the Announcement Facility (91 1 ). Timer 1 is cancelled by the process (925) and a remove call record from queue signal is sent (930) to the Management Process and the Call Record Process is terminated. The Announcement Facility is now instructed to play a cancellation announcement in the form of "Your ring-back request has been cancelled" (935). The process now waits for either an announcement complete indication (940) from the Announcement Facility 1 5 or for a Network indication (945) that the calling party has cleared. If the announcement is completed without a calling party clear being received then the process forwards a force release signal to the Network 1 2 to cause the call to be cleared prior to terminating the macro For the avoidance of doubt it is here noted that if a caller clears down during any of the welcome, Final, Initial, re-entry, confirmation or clear down announcements mentioned above the call record in respect of the particular call is deleted by the management process Having considered the implementation of the invention, the method of calculating ring-back times and the like is considered below in detail. The objective of the method is to ring-back each caller sufficiently in advance so that there is a small probability that a server is available for the caller before the caller has answered the ring-back. If it is not desirable to interrupt call states after the caller has answered but before the call enters the Final Announcement state, including announcements and any dialogue, then the time taken for such announcements or dialogue should be added to the ring-back answer-time distribution. Recall that the δ th quantile of a random variable X (or its probability distribution) is the smallest value x s such Pr{X ≤ x δ } ≥ δ (see Figure 10 where t illustrates the δ 2 th quantile for X 2 ). Thus in Figure 10 if X, and X 2 are two random variables,. Figure 10 illustrates their probability density functions. It is being assumed that the median of X 1 is much less than the median of X 2 . It is desired to get an approximate upper bound for P{X t < X 2 ) vvith respect to two percentiles of the two distributions rather than explicitly calculate where F 1 and F 2 are the distribution functions of X, and X 2 respectively. Consider choosing the percentiles defined by just one value x. {X 2 > x}n{X < x} c: {X 2 > X i } = {X 2 < X t } c Therefore P{X 2 > χ}P{X l < x] ≤ 1 - P{X 2 < X } and P{X 2 < X i ) ≤ δ i + δ 2 -δδ 2 where P X X > x\ = , and P{X 2 < x) = δ 2 By choosing x such that δ, and δ 2 are small then δ,δ 2 will be negligible, and so an approximate bound is δ, + δ 2 . The approach to determination of when to ring-back is to estimate a queue position which gives a δ 2 h quantile for the queuing time distribution, where δ 2 is small (i.e. the lower tail), which is at least as large as the { 1-δ,) th quantile of the ring-back answer time distribution, where δ, is also small (i.e. the upper tail). It is shown below that if these two quantiles are actually equal then the probability that a call comes to the head of the queue before the caller answers is approximately bounded above by δ, + δ 2 , which will be small if both δ, and δ 2 are. Now considering an analysis of queuing time and the ring-back queue position, and assuming that the system is heavily loaded such that there is always an entry in the queue then the inter-departure times (from the queue) T k , where T k is the time between the k ih and the (k + V th calls going into service, form a random process. When there are n calls in the queue the waiting time before being served for the (k + n) th call at the time just after the k th call has just gone into service is ι=k+n-\ ι=k If it is now assumed that the process is weakly stationary (see e.g. §8.2 of "Probability and Random Processes", Grimmet & Stirzaker, Oxford Science Publications 2 nd Edition 1 992), i.e. both the mean and the covariance are constant with respect to arbitrary time shifts: then the mean and variance of the above queuing time becomes (see §2.2 of "Introduction to the Theory of Statistics", Mood, Graybill and Franklin published by McGraw Hill, 3 rd Edition 1 974): var ∑T, ∑var(T,) + 2 ∑cov .T)) ]≤K/≤H The actual distribution of ι = l is unknown. However when n becomes much bigger than 3 we can invoke the Central Limit Theorem (Mood et al §3.3 of ) and assume that it is Normal. In any case the form of the holding time distribution is not known, and when there is more than one server the departure time distribution is not simply related to the holding time distribution. Therefore the distribution of ∑ T t will be approximated by the Normal distribution for any n. Suppose that estimates of T„ T are kept, so that an estimate of ' ι=k+n v„ = var| ∑ T, ι=k can be computed. The estimate of the standard deviation is therefore Now it is desired to relate the a δ 2 l quantile of this distribution to its standard deviation, when it is assumed to be Normal. Let x δ be the δ h quantile of the Unit Normal Distribution which has cumulative distribution function Φ, i.e. satisfying φ( έy ) = δ . For any random variable which is normally distributed with mean μ and standard deviation σthe δ h quantile occurs at (Mood et al §3.2) μ + σx δ Therefore given the estimate t s of the { 1-δ,) th quantile of the ring-back answer time distribution it is necessary to find mm ' i nμ + σ n x, > t s j where μ is the estimate of the mean waiting time (for a call after just reaching the head of the queue). This would be implemented by beginning ring-back each time a call moved into the n th queue position (if ring-back had been invoked). The quantile nμ + σ^^ is actually bigger than required, and so a refinement would be to wait a time + σ^ - t δ after a call has just moved into the n th queue position before beginning ring-back. This is equivalent to shifting the ring-back answer time distribution forward by this amount. In the special case where it is known that there is just one server then the inter-departure times are equal to the service times and they are therefore independent. The queuing time for the n th position in the queue is now the sum of n independent random variables. In particular the co-variances of the inter- departure times are always 0, and it is not necessary to estimate them. It is only necessary to estimate the mean μ and variance σ 2 of the inter-departure (service) time. The δ 2 h quantile for the normal approximation to the queuing time for the /7 th position in the queue is now nμ + jnσx, Given the ( 1-δ,) th quantile of the ring-back answer time distribution it is now necessary to find First solve the equality for non-integral y, i.e. the solution of which is the quadratic μ 2 y 2 - (2μ + σ 2 Xs2 2 y + t δι 2 = 0 and then take the next largest integer n = y) . Callers who fail to answer when rung-back cause under-estimation of the actual queuing time of calls after entering the Ringing-Back state, since they do not go into service. In fact any call records which are taken out of the queue after reaching the ring-back trigger queue position will have this effect. It may be necessary to account for this, particularly if the proportion of calls for which this occurs is significant. This can be done by measuring the proportion of rung-back calls which do not go into service, e.g. because they fail to be answered and are taken out of the queue and thereby estimating the probability p that a rung-back call will go into service. This can be used to modify (in fact decrease) the inter-departure time statistics. As a consequence the queue position which triggers ring-back will be increased appropriately. A relationship between the statistics of the of the waiting time experienced by a call in the n th queue position in terms of the same statistics for calls that go into service (do not leave the queue) is derived as follows: Let S, be the random variable which indicates whether or not the I th call in the queue stays in the queue and goes into service (with probability p), or not, i.e. the call is taken out of the queue because the ring-back fails or the caller abandons. It takes the value 1 if it goes into service or 0 if it does not, i.e. ?r{S, = \} = p Using conditional expectation (Grimmett et al §3.7) the mean time between the I th and the (i+ th going into service is E(T,) = E(T, / S, =\)Pr{S, = ή + E(T,/S l =θ)Pr{S, =0} = E(τχS,=x).p + .(l-p) It is the expectation conditioned on going into service that would in practice be measured as each call departs for service. This means that the mean queuing time for the n xh call in the queue just after a call has gone into service is reduced by a factor of p: ∑E(T,) = p∑E(τχS, = x) The variance of the inter-departure time in terms of the variance of calls which go into service is: 2 T .) =E [( T -- E { T .)) = P E((T, - E(T,)) 2 IS, = \) +P (\-p)(E(τχS, = l)) 2 Similarly the covariance is: 00^,,^) = E^-E^^-E^))) = E(T,T I )-E(T,)E(T J ) = p 2 E[τ,T, l(S, =1)Λ(S, =\))-p 2 E(T, I S, =\)E(T J I S, =1) = P 2 E((T,-E(T,))(T J ~E(T I ))/(S, since T,T j = when S, = 0 or S, = 0. Whenever a caller is rung-back the time is recorded so that on answer the time difference can be computed. If the caller does not answer before the timer expires then the answer time is taken to be the length of the time-out. These times are used to update the estimate of the [1-δ,) th quantile of the ring-back answer time distribution. An example of an estimation procedure is as follows: To estimate the (1-δ,) th quantile of the ring-back answer time distribution, denoted by t (1 _ δ) . Let t be the measured time t, t _ δ be the current estimate of the (1-δ,) th quantile t,' } be the new estimate of the ( 1-δ,) th quantile cbe a specified constant Updating the estimate as follows: has the following properties. If c and the number of updates n made are both small so that Prj r ≤ t,,^ A (where 7 is the answer time) does not change much between updates, and which is currently p approximately, then it can be shown that the expected change in the estimate after n changes is cn((\ - δ,)-p) If p = (\ - δ^) then the estimate is at the true ( 7-<5,) ,h quantile and the expected change is 0. Further if p < (\ - δ^ then the expected change is positive, and if p > (\ - δ l ") then the expected change is negative. In this sense the estimate 'converges' to the true ( 7- ,) th quantile. A timer is used to measure queue inter-departure times. However these must only be measured when there is sufficient demand so that all servers are continuously occupied, i.e. there is at least one call in the queue when a server becomes free. Therefore the timer should only be re-started when a previously queuing call departs for service, or equivalently when a server becomes free and there is a call waiting in the queue. Before re-starting the timer the value it attained is recorded. These times are used to derive departure time distribution statistics which can be used to derive the queue position and time which will activate ring-back. It is necessary to estimate the mean and the variance of the inter- departure time distribution. The following example shows how the mean may be determined: Exponential smoothing (moving average) could be used to estimate the mean inter-departure time μ: μ' = at + (\ - a)μ where μ' is the new estimate of the mean departure time μ is the previous estimate of the mean departure time t is the latest measured inter-departure time a is a constant satisfying 0 < «< 1 (often between 0.1 and 0.3) When there is more than one server it is only possible to decide to trigger ring-back at queue position n or less if estimates of the co-variances up to time lag n are kept. It is therefore necessary to estimate these co-variances. Of course the largest value of n that will be required is not known initially, and therefore if it is found that a value of n is required which is larger than the current maximum covariance lag being estimated, then the trigger queue position should be set to 7 + 1 and recording of the covariance at lag /7 + 1 should begin, in this way the maximum covariance lag may adapt upwards. The natural time to re-compute all estimates is each time a call is answered by a server. It is necessary to initialise all estimates. This is best done with knowledge of the number of servers, and the mean and variance of the service time. In practice only the former may be known with certainty and the latter may have to be derived by experience.

Claims: CLAIMS 1 . A telecommunications network including means to calculate approximate queuing times for each of a plurality of customers held in a queue, announcement means to announce to each said customer a respective calculated queuing time, means responsive to customer signalling to release the customers connection to the network and control means to cause a connection to a released customer to be re-established when the calculated queuing time for that customer is at or below a predetermined threshold. 2. A telecommunications network as claimed in claim 1 including a call queue management process arranged to establish a call record process for each call joining the queue and to co-operate with each call record process to determine respective waiting times for each call record. 3. A telecommunications network as claimed in claim 1 or claim 2 in which the announcement means includes means responsive to customer signalling. 4. A telecommunications network as claimed in any preceding claim including comparison means responsive to data identifying the origin of each incoming call to compare said data with data identifying the origin of each other call in the queue to determine whether the call is already scheduled for subsequent reconnection and to merge call records in respect of duplicate calls. 5. A telecommunications network as claimed in claim 4 in which following merger of a call record the announcement means is caused to inform the customer of the respective current estimated queuing time of the call. 6. A telecommunications network as claimed in claim 5 in which the announcement means includes means responsive to customer response to cancel the subsequent re-connection of the call. 7. Call centre apparatus including means to calculate approximate queuing times for each of a plurality of customers held in a queue for a call centre, means to announce to each said customer a respective calculated queuing time, means responsive to customer signalling to release the customers connection and control means to cause a connection to a released customer to be re-established when the calculated queuing time for that customer is at or below a predetermined threshold. 8. Call centre apparatus as claimed in Claim 7 including a call queue management process arranged to establish a call record process for each call joining the queue and to co-operate with each call record process to determine respective waiting times for each call record. 9. Call centre apparatus as claimed in Claim 7 or Claim 8 in which the announcement means includes means responsive to customer signalling. 10. Call centre apparatus as claimed in Claim 7 or Claim 8 or Claim 9 including comparison means responsive to data identifying the origin of each incoming call to compare said data with data identifying the origin of each other call in the queue to determine whether the call is already scheduled for subsequent reconnection and to merge call records in respect of duplicate calls. 1 1 . A method of handling queued telephone calls comprising the steps of: for each new call, determining the expected wait period prior to a server connection being effected; determining whether the expected wait period for a current call is longer than a pre determined threshold and, if so, responding to customer signalling to disconnect the current call and to create a respective call back record; for each call back record periodically determining a second wait period before the respective associated call reaches the top of the queue; determining whether the second wait period is shorter than a pre determined ring back threshold and, if so, effecting re-connection of the respective associated call.

Inventors: WILLIAMS PHILIP MARK, WILLIAMS, PHILIP, MARK
Applicants: BRITISH TELECOMM, WILLIAMS PHILIP MARK, BRITISH TELECOMMUNICATIONS PUBLIC LIMITED COMPANY, WILLIAMS, PHILIP, MARK
Application year: 1999
Main classification: H04M3
IPC codes: H04M3, H04Q3