Title of Invention

A METHOD AND SYSTEM TO STOP CALL LOOPING

Abstract A system to stop call looping in a communications network comprises a switch (12) to receive incoming calls, a server (14) operatively connected to the switch, and a call control function (18) running on the server. The call control function is programmed to determine if incoming calls, received at the switch and directed to a called number, are possible looped calls. If the call control function determines that a given incoming call is a possible looped call of a previous call, then it delays the forwarding of the incoming call to the called number.
Full Text FORM 2
THE PATENTS ACT, 1970 (39 of 1970)
&
The Patents Rules, 2003 PROVISIONAL / COMPLETE SPECIFICATION
(See section 10 and rule 13)
1. TITLE OF THE INVENTION :
"AVOIDING CALL LOOPS IN CONNECTIONS WITH CALL
FORWARDING"
2. APPLICANT (S)
(a) NAME : TELEFONAKTIEBOLAGET LM ERICSSON (publ)
(b) NATIONALITY : SE
(c) ADDRESS Telefonplan, S-126 25 Stockholm, Sweden.


3. PREAMBLE TO THE DESCRIPTION
PROVISIONAL COMPLETE
The following specification describes the invention The following specification particularly describes the invention and the manner in which it is to performed.
4.DESCRIPTION (Description shall start from next page)

5. Claims (not applicable for provisional specification. Claims should start with the preamble-“1/we claim” on separate page)

6.DATE AND SIGNATURE (to be given at the end of last page of specification on separate page)

7. ABSTRACT OF THE INVENTION ( to be given along with complete specification on separate page)


WO 2004/086740 PCT/IB2004/000919
2-
A SYSTEM AND METHOD TO STOP CALL LOOPING
BACKGROUND OF THE INVENTION
The present invention relates generally to communications networks, and 5 in particular, to communications networks that employ methods to control call looping.
Communications networks often include a variety of subscriber services, such as call forwarding. Although these services offer convenience to subscribers, they also introduce some complexities for service providers. For
10 example, call-forwarding can result in "call looping." Call looping occurs when a call is forwarded multiple times between endpoints without terminating, and results in wasted resources and trunk congestion. By way of example, consider the situation where the subscriber mistakenly configures his/her service profile such that all incoming calls to his/her mobile number are forwarded
15 unconditionally to his/her landline number, and all incoming calls into his/her landline number are forwarded unconditionally to his/her mobile number. A looped call may occur when a caller dials either number. In these situations, the incoming call merely bounces back and forth between the mobile network and the landline network.
20 There have been past attempts at detecting and preventing call looping.
One method is to impose a hard limit at the switch that specifies the maximum number of simultaneous forwarded calls. Other methods examine message data to detect looped calls. These methods have not been completely successful at eradicating call looping, and further, do not adequately address the question of
25 wasted resources. Moreover, service providers cannot always rely upon the validity of the message data for comparison. Thus, these methods may result in the caller becoming frustrated and the subscriber may never be aware that a problem exists. Accordingly, there is a need for an improved system and method of detecting and preventing call looping in communications networks.
CONFIRMATION COPY

WO 2004/086740 PCT/IB2004/000919
2T-
SUMMARY OF THE INVENTION
A system and method to prevent call looping in a communications
network comprises a switch to receive incoming calls, a server operatively
connected to the switch, and a call control function running on the server. The
5 call control function is programmed to determine if incoming calls, received at the
switch and directed to a called number, are possible looped calls. If the call
control function determines that a given incoming call is a possible looped call of
a previously received call currently being processed, then it deliberately delays
the forwarding of the incoming call to the called number. The delay is long
10 enough to ensure that any previous unanswered calls to the same called number
terminate before the incoming call is forwarded. If the delayed call is a looped
call, then it will be terminated when the original unanswered call is terminated. If
the delayed call is not a looped call, it will be processed at the end of the
predetermined delay period.
15
BRIEF DESCRIPTION OF THE DRAWINGS
Figure 1 illustrates a possible configuration of a communications network according to one embodiment of the present invention.
Figure 2 illustrates an alternate configuration of a communications 20 network according to one embodiment of the present invention.
Figure 3 illustrates a broad overview of a typical call flow.
Figures 4A-4B illustrate in more detail the method of one embodiment of the present invention.
25 DETAILED DESCRIPTION OF THE INVENTION
Referring now to Figure 1, an exemplary communications network that employs the loop-stopper functionality of the present invention is shown therein and indicated generally by the number 10. Network 10 comprises a switch 12 and a server 14. In one embodiment, switch 12, server 14, and their associated
30 functionality are part of customer premises equipment. However, it should be understood that the loop stopper functionality of the present invention is not

WO 2004/086740 PCT/IB2004/000919

limited to use in customer premises equipment, and may in fact be used in both private and public networks.
End users may communicate with server 14 via an Ethernet connection, such as over Local Area Network (LAN) 24, using a desktop computer 26.
5 Provisioning computers 20 and 22 operatively connect to switch 12 and server 14. Provisioning computers 20 and 22 are used by systems operators, for example, to provision services and data, and/or monitor the operation of switch 12 and server 14. Although Figure 1 shows computers 20, 22 as separate entities, those skilled in the art will realize that this is not required. Computers
10 20, 22 may or may not be a single, computer, and further, may connect to switch 12 and server 14 directly, or over a network.
Switch 12 connects to another switch, such as Centrex Switch 28, in the Public Switched Telephone NetWork (PSTN) via T1/E1/PRI lines (13). A plurality of landline telephones 38 may connect to the Centrex Switch 28, as does a voice
15 mail system 36 and a Public Land Mobile Network (PLMN) 30. One or more cell sites 32 within the PLMN 30 permit wireless users to communicate using a mobile terminal 34 or similar wireless enabled device. Both the PSTN and the PLMN 30 are well-known communications networks, and as such, are not described in detail. However, the loop-stopper functionality of the present
20 invention is able to handle multiple types of calls from a variety of interconnected communications networks.
Server 14 can be any computing device known in the art, and may comprise one or more microprocessors (not shown), hard drives (not shown), and/or CD-ROM drives (not shown). Further, server 14 includes functionality
25 typically included on telecommunications servers, such as operating system, memory management, and fault tolerance, as well as applications for providing subscriber services, for example, call-forwarding, call-detail recording, and one-number type services. A call control function 18 stored in memory 16 communicates with switch 12 such that call-control function 18 processes both
30 incoming and outgoing calls.

WO 2004/086740 PCT/IB2004/000919
An alternative configuration of network 10 is shown in Figure 2. In this configuration, a Private Branch Exchange (PBX) 42 is operatively disposed between switch 12 and PSTN 40, and may connect to one or more landline telephones 39. Additionally, PBX 42 connects subscribers to voice mail system
5 37. As in the network configuration of Figure 1, system personnel can provision and/or maintain switch 12 and server 14 using computers 20, 22, while end-users may communicate with server 14 using computer 26 via LAN 24. Of course, PSTN 40 and PLMN 30 are interconnected, thereby permitting wireless subscribers using mobile telephone 34 and cell site 32 to communicate with
10 subscribers using landline telephones 38, 39.
Although not specifically shown in the Figures, the present invention also contemplates the interconnection of other networks as well. For example, private wireless networks and satellite networks are just two types of networks that may enjoy the benefits offered by the present invention. In fact, the present
15 invention may be employed in any network susceptible to the possibility of call looping. Whatever the type of network or network configuration used, however, call control function 18 communicates with switch 12 to process both incoming and outgoing calls.
Some prior art systems have attempted to prevent call looping by setting
20 a maximum limit on the number of calls that a given switch may forward to a called number, or by imposing certain restrictions on subscribers at provisioning time. Still other systems examine message data associated with incoming calls and data associated with on-going calls to try to detect and positively identify looped calls. While they have met with some success, these methods have not
25 adequately addressed the problem of network congestion, and have often required complex coding in order to detect a looped call. Further, these methods may forward a call whether or not it is a looped call. Thus, these systems are limited in their abilities.
The call-control function 18 of the present invention is designed to prevent
30 call looping in communications networks by not immediately forwarding a call. This approach is more passive than those of the prior art. To illustrate this

WO 2004/086740 . PCT/IB2004/000919

approach, an exemplary call flow using the loop-stopper functionality is shown in
Figure 3. It should be noted that the loop-stopper functionality described herein
is provided by the call-control function 18, and thus, the terms may be used
interchangeably.
5 The method shown in Figure 3 begins with an incoming call received at
switch 12 (box 100). Optionally, various types of call screening (box 110) may be employed by some systems as a "cut-off' to prevent unnecessary call processing. Other types of call processing, such as call detail recording, may also be executed here, if so desired. It should be understood, however, that call
10 screening and call detailing functionality are not part of the present invention, and thus, are not described in any detail. They are shown in the Figures merely to illustrate some of the functionality that may be used in conjunction with the present invention.
Once the call is received and any optional functionality performed, the call
15 passes to the loop-stopper functionality of the present invention (box 120). Here, the call control function 18 on server 14 will attempt to detect and prevent call looping using a process that is described later in more detail below. However, it is sufficient to note that the incoming call received by switch 12 will either continue to be processed (box 130) by additional call functionality, or will have
20 been terminated, after the loop-stopper functionality is complete. In any case, the present invention prevents the incoming call from continuously looping throughout the network, and thus, saves valuable network resources.
Figures 4A-4B illustrate one possible embodiment of the loop-stopper functionality 120 of the present invention. Upon receiving the incoming call, call
25 control function 18 will attempt to determine if a previously received call to the same called number is currently being processed, or has not yet been answered by the subscriber (box 150). If there are no previously received calls to the same called number being processed, or if there are no previous calls not yet answered by the subscriber, then the procedure will return to normal call
30 processing (box 152). Otherwise, the call control function 18 may compare the

WO 2004/086740 PCT/IB/2004/0009119

calling party number of the current incoming call with the calling party numbers of any previous calls still waiting for the subscriber (box 154).
If the calling party number information does not match any of the previously received calls Waiting, for the subscriber, then an optional "waif
5 announcement can be played to the caller (box 156), if the subscriber wants the caller to wait. The incoming call is then placed in a pending call list (box 160). However, if the subscriber does not want the caller to wait, the incoming call is sent to a destination number to which calls are sent when the subscriber is unavailable (box 158). This type of "unavailable" destination number may be
10 provisioned by the subscriber, and preferably rings a destination that will not forward the call. That is, once the call is received at the "unavailable" destination number, it is either answered or terminated. One example of this type of destination number is voice mail.
It should be noted that step 154 is optional. While this step may provide
15 some measure of protection against looped calls, its implementation may be complex, and is dependent on call parameter data received with the incoming call message. As stated above; some networks may not propagate the expected calling party number information from message to message, or the calling party information may contain the information for a trunk line as opposed to a
20 subscriber line. Therefore, even though a given incoming call message may contain calling party number information, it may not be reliable enough to positively determine if the incoming call is a looped call. Accordingly, it is not possible to positively identify any given call as a looped call at this point.
However, the present invention does not require positively identifying an
25 incoming call as being a looped call, but rather, attempts only to determine if a given incoming call is a possible looped call,' If there are previously received calls waiting for the subscriber, and the optional parameter check of step 154 reveals possible duplicate calling or called party numbers, then the incoming call is identified by the call control function 18 as a possible looped call. That is, the
30 incoming call may or may not be a looped call of a previously received call, and as such, is placed on the pending call list (box 160) to wait. The present

WO 2004/086740 PCT/IB2004/000919
invention does not originate any outbound call legs, but instead, purposefully
delays forwarding the incoming call to the called number. This wait or delay in
forwarding the call permits the present invention to prevent continuous looped
calls.
5 When the incoming call is placed on the pending call list (box 160), the
call control function 18 starts a call timer associated with the incoming call (box 162) as shown in Figure 4B. The value of the call timer defines a duration that is long enough to ensure that any previous calls already on the pending list have stopped ringing the called number. By way of example, consider a previous call
10 already on the pending list, and an incoming call being placed on the pending list. Further, consider that these two calls have associated call timers T0 and Ti, respectively. In one embodiment, the value of Ti is set such that it is slightly longer (e.g., 3 seconds) than the initial value of T0. Thus, if the initial value for T0 is 30 seconds, then Ti would be set to To + 3 seconds, or 33 seconds. In an
15 alternate embodiment, the value Ti is set to be slightly longer than the time remaining on call timer To. Thus, if the previous call still has 5 seconds left on its associated call timer, the value Ti would be TO + 3 seconds, or 8 seconds. However, those skilled in the art will readily appreciate that the value of the call timer may be chosen appropriately with respect to network considerations, and
20 further, may be determined by the system operators, or customized through subscriber provisioning: Alternately, the call timer may be varied dynamically according to the traffic dependent call setup delays.
In addition to starting the call timer, the call control function 18 of the present invention' may cause an announcement to be played to the caller,
25 indicating that they are waiting (box 162). In one embodiment, a switch or an intelligent peripheral in the network may play this announcement. Those skilled in the art will appreciate that a caller would hear the announcement played in step 162 if the incoming call is not a looped call. However, if the incoming call is a looped call, there may be no caller on the other end. In these cases, the
30 announcement may simply be played with no one on the other end to hear it.

WO 2004/086740 PCT/IB2004/000919

Calls are removed from the pending call list responsive to an expired timer, or the receipt of a call abandon message (box 164). The abandon message, or disconnect indication,, received by the call control function 18 may be generated when the caller hangs up, or when switch 12 sends the call to an
5 "unavailable" destination. In the case where the incoming call is a looped call and the call control function 18 receives an abandon message, the looped call will be removed from the pending call list (box 168). That is, when the caller hangs up the phone or the switch sends the call to the subscriber's "unavailable" destination, the resultant disconnect message will propagate through each leg in
10 the network 10, and terminate existing connections.
If the call timer has expired, the call control function will once again determine if a previously received call to the subscriber is currently being processed or has not yet been answered by the subscriber (box 170). If a call is either being processed or not yet answered by the subscriber, the call control
15 function 18 will send the call whose timer has expired to the "unavailable" destination number provisioned by the subscriber (box 172). This is to prevent long waits for the caller. As described above, the "unavailable" destination number preferably leads to voice mail, for example, or to a number that will not forward a call. Thus, call looping is prevented. However, if no other previously
20 received calls are waiting for the subscriber, the call cannot be a looped call, and may be sent to normal call processing (box 174). These calls can be positively identified as not being looped calls, because any looped calls would have been terminated responsive to the disconnect message received when the calling party hung up, or was sent to the "unavailable" destination number.
25 Therefore, the present invention prevents call looping by delaying the
forwarding of possible looped calls to the called number long enough for any previous calls to be terminated,- or answered. This method may be used in various types of networks, and further, may be used to stop call looping in networks that use various types of call forwarding to forward calls. For example,
30 some networks forward calls from phone to phone. That is, first the network rings phone A. If the subscriber does not answer phone A, or phone A is busy,

WO 2004/086740 PCT/IB2004/000919

then the network will forward the call to phone B. Other networks employ the simultaneous ringing of a plurality of phones. In these situations, the network rings both phones A and B, and forwards the call if the subscriber fails to answer either phone, or if either phone is busy. Regardless of the type of network or call
5 forwarding used, however, the system and method of the present invention can be used to prevent call looping.
Those skilled in the art will readily appreciate that the present invention may be implemented using either hardware, or software, or both, and further, software implementations may vary Using different languages and data
10 structures. In one embodiment, for example, the loop-stopper functionality 120 of the present invention is developed in C/C++, and the pending call list is implemented as a First-In-First-Out (FIFO) queue. However, the present invention is not limited to a specific language and/or class of languages, nor is it limited to any single data structure implantation. Additionally, it should be noted
15 that the present invention prevents call looping on calls where both the calling and the called parties share the same switch, or where the calling and called parties employ a connection that spans multiple switches.
The present invention may of course, be carried out in other specific ways than those herein set forth without departing from the essential characteristics of
53
20 the invention. The present embodiments are, therefore, to be considered in all respects as illustrative and not restrictive and all changes coming within the meaning and equivalency ranqe of the appended claims are intended to be embraced therein.
25

WO 2004/086740 PCT/IB2004/000919

WHAT IS CLAIMED IS:
1. A method to stop call looping compnsing:
receiving a first call directed to a called number;
5 receiving a second call directed to said called number after said first
call has been received at said called number; determining if said second call is a possible looped call; and delaying the forwarding of said second call if said second call is a possible looped call. 10
2. The method of claim 1 wherein determining if said second call is a
possible looped call comprises determining if said first call is ringing said called
number.
15 3. The method of claim 1 wherein determining if said second call is a possible looped call comprises determining if said first call is waiting to ring said called number.
4. The method of claim 1 wherein determining if said second call is a
20 possible looped call comprises checking if said first call is on a list of pending
unanswered calls.
5. The method of claim 4 wherein checking if said first call is on a list of
pending unanswered calls comprises comparing the calling number of said first
25 call with the calling number of said second call.
6. The method of claim 1 wherein delaying the forwarding of said second call
comprises storing information associated with said second call on a list of
pending unanswered calls.

WO 2004/086740 PCT/IB2004/000919

7. The method of claim 1 wherein delaying forwarding said second call
further comprises starting a call timer associated with said second call.
8. The method of claim 7 further comprising sending said second call to an
5 unavailable destination number upon expiration of said call timer if other pending
calls directed to said called number are being processed.
9. The method of claim 7 further comprising removing said second call from
a pending call list upon receiving a disconnect indication.
10
10. A system for stopping looped calls, the system comprising:
a server operatively connected to a switch; and
a call control function running on said server, said call control function
programmed to:
15 determine if an incoming call directed to a called number is a
possible looped call of a previous call directed to said called number; arid
delay the forwarding of said incoming call to said called number
if said incomina call is a Dossible looped call of said previous
20 call.
11 The system of claim 10 wherein said call control function is further programmed to determine if said previous call is being processed.
25 12. The system of claim 11 further comprising memory, and wherein said call control function is further programmed to store information associated with said incoming call in said memory if said previous call is being processed.
13. The system of claim. 12 wherein said call control function is further
30 programmed to start a call timer associated with said incoming call in said memory.

WO 2004/086740 PCT/IB2004/000919

14. The system of claim 12 wherein said call control function is further programmed to remove said information associated with said incoming call from said memory if said call control function receives a disconnect indication.
5 15. The system of claim 13 wherein said call control function is further programmed to send said incoming call to an unavailable destination number upon expiration of said call timer if other pending calls directed to said called number are being processed.
17. 15
10 16. The system of claim 10 further comprising a PBX operatively connected to said call control function.
A system to stop call looping,comprising: a call control function programmed to:
receive a first call directed to a called number; receive a second call directed to said called number after said first call is being processed, said second call being a looped call of said first call; and
delay connecting said second call with said called number. 20
18. The system of claim 17 wherein said call control function is further programmed to store information associated with said second call on a pending unanswered call list.
25 19. The system of claim 18 wherein said call control function is further programmed to delete said information from said pending unanswered call list upon receiving a disconnect indication.
20. The system of claim 18 wherein said call control function is further 30 programmed to start a call timer associated with said second call when said call control function stores said information.

WO 2004/086740 PCTYIB2004/000919

21. The system of claim 20 wherein said call control function is further
programmed to send said second call to an unavailable destination number upon
expiration of said call timer if other pending calls directed to said called number
are being processed.
5
22. A communications network configured to stop call looping, the network
comprising:
a switch for receiving calls;
a server operatively connected to said switch;
10 a call control function running on said server and programmed to:
determine if ah incoming call directed to a called number is a possible looped call of a previous call directed to said called number; and
delay the sending of a connect message to connect said
15 incoming call with said called number if said incoming call is a
possible looped call of said previous call.
23. The communications network of claim 22 wherein said call control
function is further programmed to' remove said incoming call from a pending
20 unanswered call list upon receiving a disconnect indication.
24. The communications network of claim 22 wherein said call control
function is further programmed to send said incoming call to said called number
if said previous call is not being processed.
25
25. The communications network of claim 22 further comprising a PBX operatively connected to said call control function.
26. A method to stop call looping comprising:
30 receiving a first call directed to a called number;

WO 2004/086740 PCT/IB2004/000919

receiving a second call directed to said called number after said first call has been received at said called number; delaying the forwarding of said second call to said called number if said second call is a possible looped call.
27. A method to stop call looping, a system for stopping looped calls and a communications network configured to stop call looping, substantially as herein described with reference to the accompanying drawings.
(fijjs&a^
ANUPAM TRIVEDI
OF K & S PARTNERS AGENT FOR THE APPLICANTS
Dated this 10th day of September 2005


ABSTRACT
A system to stop call looping in a communications network comprises a switch (12) to receive incoming calls, a server (14) operatively connected to the switch, and a call control function (18) running on the server. The call control function is programmed to determine if incoming calls, received at the switch and directed to a called number, are possible looped calls. If the call control function determines that a given incoming call is a possible looped call of a previous call, then it delays the forwarding of the incoming call to the called number.

Documents:

1008-mumnp-2005-abstract(01-01-2008).doc

1008-mumnp-2005-abstract(1-1-2008).pdf

1008-mumnp-2005-abstract-1.jpg

1008-mumnp-2005-abstract.pdf

1008-mumnp-2005-cancelled page(1-1-2008).pdf

1008-mumnp-2005-claims(granted)(01-01-2008).doc

1008-mumnp-2005-claims(granted)-(1-1-2008).pdf

1008-mumnp-2005-claims.pdf

1008-mumnp-2005-correspondance-received.pdf

1008-mumnp-2005-correspondence(10-1-2008).pdf

1008-mumnp-2005-correspondence(ipo)-(18-1-2008).pdf

1008-mumnp-2005-description (complete).pdf

1008-mumnp-2005-drawing(1-1-2008).pdf

1008-mumnp-2005-drawings.pdf

1008-mumnp-2005-form 1(1-1-2008).pdf

1008-mumnp-2005-form 1(14-9-2005).pdf

1008-mumnp-2005-form 18(9-3-2006).pdf

1008-mumnp-2005-form 2(granted)-(01-01-2008).doc

1008-mumnp-2005-form 2(granted)-(1-1-2008).pdf

1008-mumnp-2005-form 3(1-1-2008).pdf

1008-mumnp-2005-form 3(10-9-2005).pdf

1008-mumnp-2005-form 3(2-11-2005).pdf

1008-mumnp-2005-form 3(4-1-2008).pdf

1008-mumnp-2005-form 3(7-1-2008).pdf

1008-mumnp-2005-form 5(1-1-2008).pdf

1008-mumnp-2005-form pct-isa-210(14-9-2005).pdf

1008-mumnp-2005-form-1.pdf

1008-mumnp-2005-form-18.pdf

1008-mumnp-2005-form-3.pdf

1008-mumnp-2005-form-5.pdf

1008-mumnp-2005-form-pct-ib-304.pdf

1008-mumnp-2005-form-pct-ipea-409.pdf

1008-mumnp-2005-form-pct-ipea-416.pdf

1008-mumnp-2005-form-pct-separate sheet-409.pdf

1008-mumnp-2005-pct-search report.pdf

1008-mumnp-2005-power of attorney(1-1-2008).pdf

1008-mumnp-2006-abstract.doc

1008-mumnp-2006-form-2.doc

abstract1.jpg


Patent Number 214168
Indian Patent Application Number 1008/MUMNP/2005
PG Journal Number 13/2008
Publication Date 28-Mar-2008
Grant Date 05-Feb-2008
Date of Filing 14-Sep-2005
Name of Patentee TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
Applicant Address SE- 126 25 STOCKHOLM, SWEDEN
Inventors:
# Inventor's Name Inventor's Address
1 TAFF LOUIS MICHAEL 204 CHESAPEAKE WAY, CHAPEL HILL, NORTH CAROLINA 27516, USA
2 NORDIN, Hans Nibblebacken72, S-146 52 Tulllinge
3 TAFFFONAKTIEBOLAGET Telefonplan, S-126 25 Stockholm
PCT International Classification Number H04M3/54
PCT International Application Number PCT/IB2004/000919
PCT International Filing date 2004-03-26
PCT Conventions:
# PCT Application Number Date of Convention Priority Country
1 10/402,511 2003-03-28 U.S.A.