IP Library Granted Patent US 9,628,540
Granted Patent B2
US 9,628,540 · App. 14/509,479 · Granted Apr 18, 2017

Systems and methods for handling multiple concurrent session initiation protocol transactions

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 9,628,540
App. No.
14/509,479
Granted
Apr 18, 2017
Kind
B2
Abstract

Systems and methods for handling the processing of multiple SIP transactions that have been requested at substantially the same time can involve establishing a priority order for processing the SIP transactions, and then individually processing the SIP transactions based on the established priority order. One or more SIP transactions having a lower priority can be held in a SIP processing queue of a software application until the processing of SIP transactions having a higher priority has been completed. Each time that the processing of a higher priority SIP transaction is completed, the next-highest priority SIP transaction in the queue is submitted for processing. Also, where possible, two or more SIP transactions in the queue may be consolidated into a single SIP transaction.

Claims (24)

1. A method of handling multiple session initiation protocol (SIP) transactions during a SIP dialog, a SIP transaction including at least a SIP request message and a SIP response message, comprising:

receiving requests for the processing of two SIP transactions using at least one processor;

determining whether the two SIP transactions can be consolidated into a single SIP transaction using at least one processor;

consolidating the two SIP transactions into a single SIP transaction when it is determined that the two SIP transactions can be consolidated into a single SIP transaction, and thereafter initiating the processing of the consolidated SIP transaction;

determining, when the two SIP transactions cannot be consolidated into a single SIP transaction, a prioritization order for processing the two SIP transactions using at least one processor;

initiating the processing of a first of the two SIP transactions that was determined to have a higher priority order;

determining when processing of the first SIP transaction has been completed; and

initiating the processing of the second of the two SIP transactions that was determined to have a lower priority order after processing of the first SIP transaction is determined to have been completed.

2. The method of claim 1 , wherein the requests for the processing of two SIP transactions are received from a core application layer of the software application, and wherein initiating the processing of the first and second SIP transactions comprises passing first and second SIP transaction requests to a SIP processing layer of the software application.

3. The method of claim 1 , wherein determining when processing of the first SIP transaction has been completed comprises determining that a dialog object that holds the first SIP transaction has discarded the first SIP transaction.

4. The method of claim 1 , wherein determining when processing of the first SIP transaction has been completed comprises determining that a SIP processing layer of the software application has sent a message to a core application layer of the software application indicating that the first transaction has been completed.

5. The method of claim 1 , wherein determining when processing of the first SIP transaction has been completed comprises determining when an acknowledgment message is sent in reaction to receiving a response message from a second software application to which the first SIP transaction request was originally directed.

6. A non-transitory computer readable medium that contains instructions which, when performed by one or more processors, cause the one or more processors to perform a method for handling multiple session initiation protocol (SIP) transactions during a SIP dialog, a SIP transaction including at least a SIP request message and a SIP response message, the method comprising:

receiving requests for the processing of two SIP transactions;

determining whether the two SIP transactions can be consolidated into a single SIP transaction;

consolidating the two SIP transactions into a single SIP transaction when it is determined that the two SIP transactions can be consolidated into a single SIP transaction, and thereafter initiating the processing of the consolidated SIP transaction;

determining a prioritization order for processing the two SIP transactions;

initiating the processing of a first of the two SIP transactions that was determined to have a higher priority order;

determining when processing of the first SIP transaction has been completed; and

initiating the processing of the second of the two SIP transactions that was determined to have a lower priority order after processing of the first SIP transaction is determined to have been completed.

7. The non-transitory computer readable medium of claim 6 , wherein the requests for the processing of two SIP transactions are received from a core application layer of a software application, and wherein initiating the processing of the first and second SIP transactions comprises passing first and second SIP transaction requests to a SIP processing layer of the software application.

8. The non-transitory computer readable medium of claim 6 , wherein determining when processing of the first SIP transaction has been completed comprises determining that a dialog object that holds the first SIP transaction has discarded the first SIP transaction.

9. The non-transitory computer readable medium of claim 6 , wherein determining when processing of the first SIP transaction has been completed comprises determining that a SIP processing layer of the software application has sent a message to a core application layer of the software application indicating that the first transaction has been completed.

10. The non-transitory computer readable medium of claim 6 , wherein determining when processing of the first SIP transaction has been completed comprises determining when an acknowledgment message is sent in reaction to receiving a response message from a second software application to which the first SIP transaction request was originally directed.

Assignments (6)
RELEASE OF SECURITY INTEREST Recorded Jul 28, 2022
From: JPMORGAN CHASE BANK, N.A.
To: VONAGE AMERICA INC.; VONAGE HOLDINGS CORP.; VONAGE BUSINESS INC.; NEXMO INC.; TOKBOX, INC.
Reel/Frame 061002/0340 →
CHANGE OF NAME Recorded Jun 8, 2022
From: VONAGE AMERICA INC.
To: VONAGE AMERICA LLC
Reel/Frame 060313/0447 →
SECURITY INTEREST Recorded Nov 12, 2018
From: VONAGE AMERICA INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 047502/0628 →
MERGER Recorded Mar 31, 2016
From: VONAGE NETWORK LLC
To: VONAGE AMERICA INC.
Reel/Frame 038320/0327 →
SECURITY INTEREST Recorded Jul 29, 2015
From: VONAGE HOLDINGS CORP.; VONAGE AMERICA INC.; VONAGE BUSINESS SOLUTIONS, INC.; VONAGE NETWORK LLC
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 036205/0485 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 17, 2014
From: BIANCO, ITAY; YEDIDIM, REUT; OSHER, GIL; SALFATI, RONI; MACHLIN, SAGIE
To: VONAGE NETWORK, LLC
Reel/Frame 033972/0766 →