IP Library Granted Patent US 7,688,804
Granted Patent B2
US 7,688,804 · App. 11/053,396 · Granted Mar 30, 2010

Method of providing fault tolerance in a SIP based contact handling environment

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,688,804
App. No.
11/053,396
Granted
Mar 30, 2010
Kind
B2
Abstract

A method and apparatus are provided for processing a contact with a client within a contact distributor. The method includes the steps of providing a primary SIP back-to-back user agent and an associated secondary SIP back-to-back user agent for each resource of a plurality of resources of the contact distributor and setting up a communication connection between the client and a resource of the plurality of resources through the provided primary back-to-back user agent of the resource. The method further includes the steps of an availability server monitoring the communication connection between the client and the resource, the availability server detecting a failure of the primary back-to-back user agent and the availability server transferring the connection from the primary back-to-back user agent to the associated secondary back-to-back user agent of the resource when the primary back-to-back user agent fails.

Claims (44)

1. A method of processing a contact with a client at least partially through on Internet within a contact distributor, such method comprising:

providing a primary SIP back-to-back user agent processor and an associated different secondary SIP back-to-back user agent processor for each resource of a plurality of resources of the contact distributor wherein each user agent processor receives SIP messages addressed to a first address and reroutes them to a second address to conceal agent addresses from the client;

setting up a communication connection between the client and a resource of the plurality of resources through the provided primary back-to-back user agent processor of the resource;

an availability SIP server monitoring the communication connection between the client and the resource and transferring a SIP INVITE message with an inserted RECORD ROUTE header to the user agent processors in order to monitor availability of each user agent processor;

the availability SIP server detecting a failure of the primary back-to-back user agent processor; and

the availability SIP server transferring the connection from the primary back-to-back user agent processor to the associated secondary back-to-back user agent processor of the resource by routing subsequent SIP messages to the secondary back-to-back user agent processor when the primary back-to-back user agent processor fails.

2. The method of processing the contact with the client as in claim 1 wherein the step of setting up the communication connection further comprises the availability server receiving a SIP INVITE requesting set up of the connection.

3. The method of processing the contact with the client as in claim 1 further comprising the availability server activating a SIP RECORD ROUTE function during set up of the connection between the client and the resource of the contact distributor.

4. The method of processing the contact with the client as in claim 1 further comprising the availability server modifying a SIP INVITE by activating a SIP RECORD ROUTE function during set up of the connection between the client and the resource of the contact distributor.

5. The method of processing the contact with the client as in claim 4 further comprising the availability server routing the modified SIP INVITE to a primary back-to-back user agent processor during contact set up.

6. The method of processing the contact with the client as in claim 1 wherein the step of detecting the failure of the primary back-to-back user agent processor further comprises detecting a time out of a SIP message associated with the message connection.

7. The method of processing the contact with the client as in claim 1 wherein the step of detecting the failure of the primary back-to-back user agent processor further comprises pinging the primary back-to-back user agent processor and failing to detect a response.

8. The method of processing the contact with the client as in claim 1 wherein the step of detecting the failure of the primary back-to-back user agent processor further comprises periodically sending a heartbeat message from the primary back-to-back user agent processor to the availability server.

9. The method of processing the contact with the client as in claim 1 wherein the step of transferring the contact to the secondary back-to-back user agent processor further comprises the availability server intercepting a message of the connection and upon detecting the failure of the primary back-to-back user agent processor substituting a universal resource indicator of the secondary back-to-back user agent processor in place of a universal resource indicator of the primary back-to-back user agent processor.

10. The method of processing the contact with the client as in claim 1 further comprising synchronizing a data set of the secondary back-to-back user agent processor with a data set of the primary back-to-back user agent processor.

11. The method of processing the contact with the client as in claim 1 further comprising locating the primary and secondary back-to-back user agent processor on different servers.

12. An apparatus for processing a contact at least partially through an Internet with a client within a contact distributor, such apparatus comprising:

means for providing a primary SIP back-to-back user agent processor and an associated different secondary SIP back-to-back user agent processor for each resource of a plurality of resources of the contact distributor wherein each user agent processor receives SIP messages addressed to a first address and reroutes them to a second address to conceal agent addresses from the client;

means for setting up a communication connection between the client and a resource of the plurality of resources through the provided primary back-to-back user agent processor of the resource;

means within an availability SIP server for monitoring the communication connection between the client and the resource and for transferring a SIP INVITE message with an inserted RECORD ROUTE header to the user agent processors in order to monitor availability of each agent processor;

means within the availability SIP server for detecting a failure of the primary back-to-back user agent processor; and

means within the availability server for transferring the connection from the primary back-to-back user agent processor to the associated secondary back-to-back user agent of the resource by routing subsequent SIP messages to the secondary back-to-back user agent processor when the primary back-to-back user agent processor fails.

13. The apparatus for processing the contact with the client as in claim 12 wherein the means for setting up the communication connection further comprises means within the availability server for receiving a SIP INVITE requesting set up of the connection.

14. The apparatus for processing the contact with the client as in claim 12 further comprising means within the availability server the activating a SIP RECORD ROUTE function during set up of the connection between the client and the resource of the contact distributor.

15. The apparatus for processing the contact with the client as in claim 12 further comprising means within the availability server for modifying a SIP INVITE by activating a SIP RECORD ROUTE function during set up of the connection between the client and the resource of the contact distributor.

16. The apparatus for processing the contact with the client as in claim 15 further comprising means within the availability server for routing the modified SIP INVITE to a primary back-to-back user agent processor during contact set up.

17. The apparatus for processing the contact with the client as in claim 12 wherein the means for detecting the failure of the primary back-to-back user agent processor comprises means for detecting a time out of a SIP message associated with the message connection.

18. The apparatus for processing the contact with the client as in claim 12 wherein the means for detecting the failure of the primary back-to-back user agent processor further comprises means for pinging the primary back-to-back user agent processor and failing to detect a response.

19. The apparatus for processing the contact with the client as in claim 12 wherein the means for detecting the failure of the primary back-to-back user agent processor further comprises means for periodically sending a heartbeat message from the primary back-to-back user agent processor to the availability server.

20. The apparatus for processing the contact with the client as in claim 12 wherein the means for transferring the contact to the secondary back-to-back user agent processor further comprises means within the availability server for intercepting a message of the connection and upon detecting the failure of the primary back-to-back user agent processor substituting a universal resource indicator of the secondary back-to-back user agent processor in place of a universal resource indicator of the primary back-to-back user agent processor.

21. The apparatus for processing the contact with the client as in claim 12 further comprising means for synchronizing a data set of the secondary back-to-back user agent processor with a data set of the primary back-to-back user agent processor.

22. The apparatus for processing the contact with the client as in claim 12 further comprising means for locating the primary and secondary back-to-back user agent processor on different servers.

23. An apparatus for processing a contact at least partially through an Internet with a client within a contact distributor, such apparatus comprising:

a primary SIP back-to-back user agent processor and an associated different secondary SIP back-to-back user agent processor for each resource of a plurality of resources of the contact distributor wherein each user agent processor receives SIP messages addressed to a first address and reroutes them to a second address to conceal agent addresses from the client;

a call setup processor that sets up a communication connection between the client and a resource of the plurality of resources through the provided primary back-to-back user agent processor of the resource;

an availability SIP server that monitors the communication connection between the client and the resource, that transfers a SIP INVITE with an inserted RECORD ROUTE header to the user agent processors in order to monitor availability of each user agent processor and that detects a failure of the primary back-to-back user agent processor; and

a call transfer processor within the availability server that transfers the connection from the primary back-to-back user agent processor to the associated secondary back-to-back user agent processor of the resource by routing subsequent SIP messages to the secondary back-to-back user agent processor when the primary back-to-back user agent processor fails.

24. The apparatus for processing the contact with the client as in claim 23 further comprising a SIP INVITE from the client that the call setup processor sends to the primary back-to-back user agent processor for purposes of setting up the connection.

25. The apparatus for processing the contact with the client as in claim 24 further comprising a SIP RECORD ROUTE header that the call setup processor inserts into the SIP INVITE.

26. The apparatus for processing the contact with the client as in claim 23 wherein the availability server further comprises a fault detection processor.

27. The apparatus for processing the contact with the client as in claim 26 wherein the fault detection processor further comprises a timer that detects a time-out of a SIP message associated with the message connection.

28. The apparatus for processing the contact with the client as in claim 26 wherein the fault detection processor further comprises a pinging processor that pings the primary back-to-back user agent processor to detect failure.

29. The apparatus for processing the contact with the client as in claim 26 wherein the fault detection processor further comprises a heartbeat processor that detects a heartbeat message from the primary back-to-back user processor.

30. The apparatus for processing the contact with the client as in claim 23 Luther comprising a communication link that synchronizes a data set of the secondary back-to-back user agent with a data set of the primary back-to-back user agent processor.

Assignments (17)
SECURITY INTEREST Recorded Oct 27, 2025
From: ALVARIA, INC.
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 073360/0564 →
ASSIGNMENT Recorded Oct 27, 2025
From: ALVARIA CAYMAN (WEM); ALVARIA CAYMAN (CXIP); NOBLE SYSTEMS, LLC
To: ALVARIA, INC.
Reel/Frame 073360/0481 →
RELEASE OF SECURITY INTEREST Recorded Oct 27, 2025
From: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
To: ALVARIA CAYMAN (WEM); ALVARIA CAYMAN (CXIP)
Reel/Frame 073360/0209 →
RELEASE OF SECURITY INTEREST Recorded Mar 20, 2024
From: JEFFRIES FINANCE LLC
To: ALVARIA, INC.; NOBLE SYSTEMS, LLC
Reel/Frame 066850/0428 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 20, 2024
From: ALVARIA INC.
To: ALVARIA CAYMAN (CX)
Reel/Frame 066850/0285 →
RELEASE OF SECURITY INTEREST Recorded Mar 20, 2024
From: JEFFRIES FINANCE LLC
To: ALVARIA, INC.; NOBLE SYSTEMS, LLC
Reel/Frame 066850/0384 →
PATENT SECURITY AGREEMENT Recorded Mar 20, 2024
From: ALVARIA CAYMAN (WEM); ALVARIA CAYMAN (CXIP)
To: JEFFERIES FINANCE LLC
Reel/Frame 066850/0334 →
MERGER AND CHANGE OF NAME Recorded Mar 12, 2024
From: FIRSTPOINT CONTACT TECHNOLOGIES, LLC; ASPECT SOFTWARE, INC.
To: ASPECT SOFTWARE, INC.
Reel/Frame 066737/0047 →
CHANGE OF NAME Recorded Mar 12, 2024
From: ROCKWELL ELECTRONIC COMMERCE TECHNOLOGIES, LLC
To: FIRSTPOINT CONTACT TECHNOLOGIES, LLC
Reel/Frame 066798/0363 →
CHANGE OF NAME Recorded Mar 12, 2024
From: ASPECT SOFTWARE, INC.
To: ALVARIA, INC.
Reel/Frame 066801/0607 →
RELEASE OF SECURITY INTEREST Recorded Jun 4, 2021
From: WILMINGTON TRUST, NATIONAL ASSOCIATION
To: ASPECT SOFTWARE PARENT, INC.; ASPECT SOFTWARE, INC.; DAVOX INTERNATIONAL HOLDINGS LLC; VOICEOBJECTS HOLDINGS INC.; VOXEO PLAZA TEN, LLC
Reel/Frame 057254/0363 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded May 6, 2021
From: NOBLE SYSTEMS CORPORATION; ASPECT SOFTWARE, INC.
To: JEFFERIES FINANCE LLC
Reel/Frame 057674/0664 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded May 6, 2021
From: NOBLE SYSTEMS CORPORATION; ASPECT SOFTWARE, INC.
To: JEFFERIES FINANCE LLC
Reel/Frame 057261/0093 →
SECURITY INTEREST Recorded Jun 16, 2016
From: ASPECT SOFTWARE PARENT, INC.; ASPECT SOFTWARE, INC.; DAVOX INTERNATIONAL HOLDINGS LLC; VOICEOBJECTS HOLDINGS INC.; VOXEO PLAZA TEN, LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 039052/0356 →
RELEASE OF SECURITY INTEREST Recorded Jun 14, 2016
From: WILMINGTON TRUST, NATIONAL ASSOCIATION
To: ASPECT SOFTWARE, INC.
Reel/Frame 039013/0015 →
RELEASE OF SECURITY INTEREST Recorded Jun 14, 2016
From: U.S. BANK NATIONAL ASSOCIATION
To: ASPECT SOFTWARE, INC.
Reel/Frame 039012/0311 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 20, 2014
From: JPMORGAN CHASE BANK, N.A.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
Reel/Frame 034281/0548 →