IP Library Granted Patent US 9,813,455
Granted Patent B2
US 9,813,455 · App. 14/509,548 · Granted Nov 7, 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,813,455
App. No.
14/509,548
Granted
Nov 7, 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 (26)

1. A method of handling first and second Session Initiation Protocol (SIP) transaction requests that are requested by first and second software applications, respectively, at approximately the same time while the first and second software applications are engaged in a SIP dialog, comprising:

determining, at one of the first and second software applications, that the first software application has requested the processing of a first SIP transaction at approximately the same time that the second software application has requested the processing of a second SIP transaction;

determining a priority order for processing the first and second SIP transactions;

initiating the processing of the SIP transaction with the higher priority order;

determining when processing of the SIP transaction with the higher priority order has been completed; and

initiating the processing of the SIP transaction with the lower priority order after processing of the SIP transaction with the higher priority order is determined to be complete.

2. The method of claim 1 , wherein the SIP transaction with the lower priority order is held in a SIP queue of one of the first and second software applications while processing of the SIP transaction with the higher priority order is ongoing.

3. The method of claim 1 , wherein the step of determining a priority order for processing of the first and second SIP transactions comprises determining that the SIP transaction requested by the software application that initiated the SIP dialog has a higher priority order than the SIP transaction requested by the software application that did not initiate the SIP dialog.

4. The method of claim 1 , wherein the step of determining a priority order for processing of the first and second SIP transactions comprises determining that the SIP transaction requested by the software application that did not initiate the SIP dialog has a higher priority order than the SIP transaction requested by the software application that initiated the SIP dialog.

5. The method of claim 1 , wherein the step of determining a priority order for processing of the first and second SIP transactions is based on respective types of the first and second SIP transactions.

6. The method of claim 1 , wherein determining when processing of the SIP transaction with the higher priority order has been completed comprises determining that a dialog object that holds the higher priority SIP transaction has discarded the higher priority order SIP transaction.

7. The method of claim 1 , wherein determining when processing of the SIP transaction with the higher priority order has been completed comprises determining that a SIP processing layer of one of the first and second software applications has sent a message to a respective core application layer indicating that the higher priority order SIP transaction has been completed.

8. The method of claim 1 , wherein determining when processing of the SIP transaction with the higher priority order has been completed comprises determining when a SIP processing layer of the software application that initiated the higher priority order SIP transaction sends an acknowledgment message in reaction to receiving a response message from the software application that did not initiate the higher priority order SIP transaction.

9. A non-transitory computer readable medium having instructions thereon which, when performed by one or more processors, cause the one or more processors to perform a method of handling first and second Session Initiation Protocol (SIP) transaction requests that are requested by first and second software applications, respectively, at approximately the same time while the first and second software applications are engaged in a SIP dialog, the method comprising:

determining, at one of the first and second software applications, that the first software application has requested the processing of a first SIP transaction at approximately the same time that the second software application has requested the processing of a second SIP transaction;

determining a priority order for processing the first and second SIP transactions;

initiating the processing of the SIP transaction with the higher priority order;

determining when processing of the SIP transaction with the higher priority order has been completed; and

initiating the processing of the SIP transaction with the lower priority order after processing of the SIP transaction with the higher priority order is determined to be complete.

10. The non-transitory computer readable medium of claim 9 , wherein the SIP transaction with the lower priority order is held in a SIP queue of one of the first and second software applications while processing of the SIP transaction with the higher priority order is ongoing.

11. The non-transitory computer readable medium of claim 9 , wherein the step of determining a priority order for processing of the first and second SIP transactions comprises determining that the SIP transaction requested by the software application that initiated the SIP dialog has a higher priority order than the SIP transaction requested by the software application that did not initiate the SIP dialog.

12. The non-transitory computer readable medium of claim 9 , wherein the step of determining a priority order for processing of the first and second SIP transactions comprises determining that the SIP transaction requested by the software application that did not initiate the SIP dialog has a higher priority order than the SIP transaction requested by the software application that initiated the SIP dialog.

13. The non-transitory computer readable medium of claim 9 , wherein the step of determining a priority order for processing of the first and second SIP transactions is based on respective types of the first and second SIP transactions.

14. The non-transitory computer readable medium of claim 9 , wherein determining when processing of the SIP transaction with the higher priority order has been completed comprises determining that a dialog object that holds the higher priority SIP transaction has discarded the higher priority order SIP transaction.

15. The non-transitory computer readable medium of claim 9 , wherein determining when processing of the SIP transaction with the higher priority order has been completed comprises determining that a SIP processing layer of one of the first and second software applications has sent a message to a respective core application layer indicating that the higher priority order SIP transaction has been completed.

16. The non-transitory computer readable medium of claim 9 , wherein determining when processing of the SIP transaction with the higher priority order has been completed comprises determining when a SIP processing layer of the software application that initiated the higher priority order SIP transaction sends an acknowledgment message in reaction to receiving a response message from the software application that did not initiate the higher priority order SIP transaction.

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 033970/0924 →