IP Library Granted Patent US 11,683,411
Granted Patent B1
US 11,683,411 · App. 17/165,537 · Granted Jun 20, 2023

Processing blocked session initiation protocol (SIP) calls in a contact center call handler

Inventor: Karl H. Koster (Sandy Springs, GA)
Assignee: Noble Systems Corporation
H04M3/42034H04L65/1104H04M3/5158H04M2201/40H04M2203/558
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 11,683,411
App. No.
17/165,537
Granted
Jun 20, 2023
Kind
B1
Abstract

A call handler is configured to originate calls using records stored in a contact list by using various campaign call data comprising a set of calling party numbers or “ANIs” that are to be used when originating calls. Each ANI is associated with a status, which reflects whether a terminating voice service provider has blocked a prior call using that ANI. The call handler is configured to recognize when a call is blocked by examining SIP protocol-based error codes and/or intercept announcements provided by the carrier when the call is blocked. Upon detecting the call is blocked, the call handler will update the status of that ANI and select another ANI value from the campaign call data to use for subsequent call originations of that campaign. A set of ANIs that a carrier has blocked may be stored to facilitate subsequent redress with that carrier.

Claims (60)

1. A call handler configured to:

retrieve a plurality of records from a contact list, wherein each record comprises a respective called party number used to originate a respective call of a calling campaign;

maintain campaign call data in a memory, the campaign call data comprising a set of calling party telephone numbers to be used when originating calls of the calling campaign;

maintain a status table in the memory associating a status of each calling party telephone number in the set of calling party telephone numbers, where the status of a respective calling party telephone number is changed in response to detecting the respective call originated using the respective calling party number is reported as blocked via a SIP error code;

retrieve a first record of the plurality of records from the contact list comprising a first called party number;

originate a first call by transmitting a session initiated protocol (“SIP”) INVITE message to a voice over IP (“VoIP”) carrier, the SIP INVITE message indicating the first called party number and a first calling party telephone number selected from the set of calling party telephone numbers;

receive the SIP error code after originating the first call, wherein the SIP error code indicates the first call was blocked by a terminating voice service provider;

modify a status of the first calling party telephone number in the status table in the memory in response to receiving the SIP error code;

retrieve a second calling party telephone number from the campaign call data, wherein a status of the second calling party telephone number does not reflect having been blocked; and

use the second calling party telephone number to originate a second call to a second called party number using a second record from the contact list.

2. The call handler of claim 1 , wherein the call handler is further configured to:

receive an audio intercept announcement after originating the first call and before receiving the SIP error code, wherein the audio intercept announcement conveys to a listener that the first call was blocked by the terminating VoIP service provider.

3. The call handler of claim 1 , wherein the call handler is further configured to:

ascertain the terminating VoIP service provider by using information conveyed in the SIP error code.

4. The call handler of claim 3 , wherein the call handler is further configured to:

receive along with the SIP error code a virtual contact file (“vCard”) comprising information used to ascertain the terminating VoIP service provider.

5. The call handler of claim 1 , wherein the call handler is further configured to:

flag the first calling party number as a current calling party number prior to receiving the SIP error code; and

reset the flag of the first calling party number as the current calling party number and flag the second calling party number as the current calling party number after receiving the SIP error code.

6. The call handler of claim 1 , wherein the call handler is further configured to:

receive information from a speech analytics system analyzing an audio intercept announcement to identify the terminating VoIP service provider.

7. The call handler of claim 1 , wherein a carrier table is maintained in the memory identifying the terminating VoIP service provider and lists the first calling party telephone number, and wherein the first calling party telephone number is added to the carrier table in response to receiving the SIP error code.

8. The call handler of claim 1 , wherein the value of the SIP error code is 608.

9. A non-transitory computer readable medium storing instructions that when executed cause one or more computer processors to:

retrieve a plurality of records from a contact list, wherein each record comprises a respective called party number used to originate a respective call of a calling campaign;

maintain campaign call data in a memory comprising a set of calling party telephone numbers to be used when originating calls of the calling campaign;

maintain a status table in the memory associating a status of each calling party telephone number in the set of calling party telephone numbers, where the status of a respective calling party telephone number is changed in response to detecting a respective call originated using the respective calling party number is reported as blocked using a SIP error code;

retrieve a first record of the plurality of records from the contact list comprising a first called party number;

originate a first call by transmitting a session initiated protocol (“SIP”) INVITE message to a voice over IP (“VoIP”) carrier, the SIP INVITE message indicating the first called party number and a first calling party telephone number, wherein the first calling party telephone number is in the set of calling party telephone numbers;

receive the SIP error code after originating the first call, wherein the SIP error code indicates the first call was blocked by a terminating VoIP provider;

modify a status of the first calling party telephone number in the status table in the memory in response to receiving the SIP error code;

retrieve a second calling party telephone number from the campaign call data, wherein a status of the second calling party telephone number does not reflect having been blocked; and

use the second calling party telephone number to originate a second call to a second called party number using a second record from the contact list.

10. The non-transitory computer readable medium of claim 9 , wherein the instructions when executed further cause the computer processor to:

receive an audio intercept announcement after originating the first call and before receiving the SIP error cord, wherein the audio intercept announcement conveys to a listener that the first call was blocked by the terminating VoIP service provider.

11. The non-transitory computer readable medium of claim 9 , wherein the instructions when executed further cause the computer processor to:

ascertain the terminating VoIP service provider by using information conveyed in the SIP error code.

12. The non-transitory computer readable medium of claim 11 , wherein the instructions when executed further cause the computer processor to:

receive with the SIP error code a virtual contact file (“vCard”) conveying the information identifying the terminating VoIP service provider.

13. The non-transitory computer readable medium of claim 9 , wherein the instructions when executed further cause the computer processor to:

indicate the second calling party telephone number in the status table as a current calling party telephone number after receiving the SIP error code.

14. The non-transitory computer readable medium of claim 9 , wherein the instructions when executed further cause the computer processor to:

receive information from a speech analytics system identifying the terminating VoIP service provider by analyzing the audio intercept.

15. The non-transitory computer readable medium of claim 9 , wherein the instructions when executed further cause the computer processor to:

maintain a carrier table in the memory associating the terminating VoIP service provider and the first calling party telephone number, wherein the first calling party telephone number is added to the carrier table in response to receiving the SIP error code.

16. The non-transitory computer readable medium of claim 9 , wherein the value of the SIP error code is 608.

17. A method for originating calls by a call handler comprising:

retrieving a plurality of records from a contact list by the call handler, wherein each record comprises a respective called party number used to originate a respective call in a calling campaign;

storing in a memory campaign call data comprising a set of calling party telephone numbers to be used when originating the call of the calling campaign;

storing a status table in the memory associating a status of each calling party telephone number in the set of calling party telephone numbers, where the status of a respective calling party telephone number is changed in response to detecting the respective call originated using the respective called party number is indicated as blocked via a SIP error code;

retrieving a first record of the plurality of records from the contact list comprising a first called party number;

originating a first call by transmitting a session initiated protocol (“SIP”) INVITE message to a voice over IP (“VoIP”) carrier, the SIP INVITE message indicating the first called party number and a first calling party telephone number selected from the set of calling party telephone numbers;

receiving a SIP error code after originating the first call, wherein the SIP error code indicates the first call was blocked by a terminating VoIP service provider;

modifying a status of the first calling party telephone number in the status table in the memory in response to receiving the SIP error code;

retrieving a second calling party telephone number from the campaign call data, wherein a status of the second calling party telephone number does not reflect having been blocked; and

using the second calling party telephone number to originate a second call to a second called party number using a second record from the contact list.

18. The method of claim 17 , further comprising:

receiving an audio intercept announcement after originating the first call and before receiving the SIP error cord, wherein the audio intercept announcement conveys to a listener that the first call was blocked by the terminating VoIP service provider.

19. The method of claim 18 , wherein the SIP error code is a value of 608.

20. The method of claim 17 , wherein the SIP error code is in a message further comprising a virtual contact file (“vCard”).

Assignments (10)
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 →
ASSIGNMENT Recorded Oct 27, 2025
From: ALVARIA CAYMAN (WEM); ALVARIA CAYMAN (CXIP); NOBLE SYSTEMS, LLC
To: ALVARIA, INC.
Reel/Frame 073360/0481 →
SECURITY INTEREST Recorded Oct 27, 2025
From: ALVARIA, INC.
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 073360/0564 →
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 →
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: NOBLE SYSTEMS, LLC
To: ALVARIA CAYMAN (CX)
Reel/Frame 066850/0556 →
CERTIFICATE OF CONVERSION Recorded Mar 12, 2024
From: NOBLE SYSTEMS CORPORATION, A GEORGIA CORPORATION
To: NOBLE SYSTEMS, LLC, A DELAWARE LIMITED LIABILITY COMPANY
Reel/Frame 066794/0435 →
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 →
Continuity (1)
Continuation 16811690 · Mar 6, 2020
Cited By (3)
US 12,418,571 US 12,626,257 US 12,626,258