IP Library Granted Patent US 10,819,755
Granted Patent B1
US 10,819,755 · App. 15/267,149 · Granted Oct 27, 2020

Communications apparatus, systems, and methods for preventing and/or minimizing session data clipping

Inventor: Tolga Asveren (Bordentown, NJ)
Assignee: Ribbon Communications Operating Company, Inc.
H04L65/1069H04L61/2567H04L61/2575H04L65/1006H04L65/608H04L67/14
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 10,819,755
App. No.
15/267,149
Granted
Oct 27, 2020
Kind
B1
Abstract

The present invention is directed to communications apparatus, systems, and methods for preventing and/or minimizing session data clipping/loss when using the ICE protocol procedures on a session border controller. An exemplary method embodiment of operating a Session Border Controller (SBC) includes, receiving, at the SBC, an initial offer message from a first user equipment device directed to a second user equipment device, said initial offer message including one or more candidate addresses for the first user equipment device; and establishing a data path between the SBC and the second user equipment device in response to receiving said initial offer message prior to establishing a data session between the first user equipment device and the session border controller.

Claims (65)

1. A method of operating a session border controller, the method comprising:

receiving, at the session border controller, a first initial offer message from a first user equipment device directed to a second user equipment device, said first initial offer message including one or more candidate addresses for the first user equipment device;

establishing a data path between the session border controller and the second user equipment device in response to receiving said first initial offer message prior to establishing a data session between the first user equipment device and the session border controller, said establishing a data path between the session border controller and the second user equipment device including: (i) identifying a first candidate address for the session border controller, (ii) generating a list of session border controller and second user equipment device candidate address pairs, and (iii) performing a successful connectivity check on one or more of the candidate address pairs included in the generated list of candidate address pairs;

prior to completing said establishing a data path between the session border controller and the second user equipment device, sending, from the session border controller, to the first user equipment device an answer message in response to the first initial offer message, said answer message including a second candidate address for the session border controller;

waiting, by the session border controller, to respond to any connectivity check messages received by the session border controller from the first user equipment device prior to the completing of said establishing a data path between the session border controller and the second user equipment device as part of establishing the data session between the first user equipment device and the session border controller;

sending, from the session border controller, to one of the one or more candidate addresses for the first user equipment device a response to a connectivity check message from the first user equipment device after establishing the data path between the session border controller and the second user equipment device; and

establishing the data session between the first user equipment device and the session border controller after establishing the data path between the session border controller and the second user equipment device.

2. The method of claim 1 wherein said establishing a data path between the session border controller and the second user equipment device further includes:

sending, from the session border controller, to the second user equipment device a second initial offer message, said second initial offer message including the first candidate address for the session border controller;

receiving, at the session border controller, a first response message from the second user equipment device in response to the second initial offer message, the first response message including one or more second candidate addresses for the second user equipment device; and

using one of the one or more second candidate addresses for the second user equipment device to direct messages to the second user equipment device.

3. The method of claim 2 wherein said establishing a data path between the session border controller and the second user equipment device further includes identifying from the one or more candidate addresses for the second user equipment device an address to use for communications with the second user equipment device for the data path.

4. The method of claim 1 wherein connectivity checks are performed for each of the candidate address pairs in parallel.

5. The method of claim 1 wherein said establishing a data session between the session border controller and the first user equipment device includes using a candidate address for the first user equipment device selected by the first user equipment device.

6. The method of claim 5 further including receiving data at the session border controller from the first user equipment device and relaying said data to the second user equipment device over said data path established between the session border controller and the second user equipment device.

7. The method of claim 1 wherein said establishing a data path between the session border controller and the second user equipment device includes:

sending, from the session border controller, to the second user equipment device a second initial offer message, said second initial offer message including a proxy candidate address for the session border controller for each candidate address for the first user equipment device received in the first initial offer message, said first candidate address for the session border controller being a first proxy candidate address for the session border controller for a first candidate address for the first user equipment device received in the first offer message;

receiving, at the session border controller, a first response message from the second user equipment device in response to the second initial offer message, the first response message including one or more second candidate addresses for the second user equipment device; and

using one of the one or more second candidate addresses for the second user equipment device to direct messages to the second user equipment device.

8. The method of claim 7 wherein said establishing a data path between the session border controller and the second user equipment device further includes identifying from the one or more candidate addresses for the second user equipment device an address to use for communications with the second user equipment device for the data path.

9. The method of claim 7 wherein said answer message to the first initial offer message from the first user equipment device includes a proxy candidate address for the session border controller for each candidate address for the second user equipment device received in the first response message from the second user equipment device, said second candidate address for the session border controller being a second proxy candidate address for the session border controller for one of the one or more second candidate addresses for the second user equipment device received in the first response message from the second user equipment device.

10. The method of claim 1 ,

wherein said first user equipment device and said second user equipment device are Interactive Connectivity Establishment (ICE) endpoint devices, ICE endpoint devices being endpoint devices which support the ICE protocol.

11. The method of claim 10 ,

wherein said first initial offer message is a first Session Description Protocol (SDP) offer message included in a first Session Initiation Protocol (SIP) Invite message; and

wherein said answer message is a second Session Description Protocol (SDP) message included in a SIP 18 X message.

12. A session border controller comprising:

a first receiver;

a first transmitter; and

a processor configured to control said session border controller to:

receive, by said first receiver, a first initial offer message from a first user equipment device directed to a second user equipment device, said first initial offer message including one or more candidate addresses for the first user equipment device;

establish a data path between the session border controller and the second user equipment device in response to receiving said first initial offer message prior to establishing a data session between the first user equipment device and the session border controller, said establish a data path between the session border controller and the second user equipment device including: (i) identifying a first candidate address for the session border controller, (ii) generating a list of session border controller and second user equipment device candidate address pairs, and (iii) performing a successful connectivity check on one or more of the candidate address pairs included in the generated list of candidate address pairs;

prior to completing said establish a data path between the session border controller and the second user equipment device, send, from the session border controller, to the first user equipment device an answer message in response to the first initial offer message, said answer message including a second candidate address for the session border controller;

wait to respond to any connectivity check messages received by the session border controller from the first user equipment device prior to the completing of said establishing a data path between the session border controller and the second user equipment device as part of establishing the data session between the first user equipment device and the session border controller;

transmit, from the first transmitter, to one of the one or more candidate addresses for the first user equipment device a response to a connectivity check message from the first user equipment device after establishing the data path between the session border controller and the second user equipment device; and

establish the data session between the first user equipment device and the session border controller after establishing the data path between the session border controller and the second user equipment device.

13. The session border controller of claim 12 further comprising:

a second receiver; and

wherein said processor as part of being configured to control said session border controller to establish a data path between the session border controller and the second user equipment device includes being configured to control said session border controller to:

transmit, from said first transmitter, to the second user equipment device a second initial offer message, said second initial offer message including the first candidate address for the session border controller;

receive, at the second receiver, a first response message from the second user equipment device in response to the second initial offer message, the first response message including one or more second candidate addresses for the second user equipment device; and

use one of the one or more second candidate addresses for the second user equipment device to direct messages to the second user equipment device.

14. The session border controller of claim 13 wherein said processor as part of being configured to control said session border controller to establish a data path between the session border controller and the second user equipment device includes being configured to control said session border controller to identify from the one or more candidate addresses for the second user equipment device an address to use for communications with the second user equipment device for the data path.

15. The session border controller of claim 12 wherein said processor is further configured to control said session border controller to perform connectivity checks for each of the candidate address pairs in parallel.

16. The session border controller of claim 12 , wherein said processor is further configured to control said session border controller as part of establishing a data path between the session border controller and the second user equipment device to:

send, from the session border controller, to the second user equipment device a second initial offer message, said second initial offer message including a proxy candidate address for the session border controller for each candidate address for the first user equipment device received in the first initial offer message, said first candidate address for the session boarder controller being a first proxy candidate address for the session border controller for a first candidate address for the first user equipment device received in the first offer message;

receiving, at the session border controller, a first response message from the second user equipment device in response to the second initial offer message, the first response message including one or more second candidate addresses for the second user equipment device; and

using one of the one or more second candidate addresses for the second user equipment device to direct messages to the second user equipment device.

17. The session border controller of claim 12 wherein said to establish a data session between the session border controller and the first user equipment device includes using a candidate address for the first user equipment device selected by the first user equipment device.

18. The session border controller of claim 12 ,

wherein said first initial offer message is a first Session Description Protocol (SDP) offer message included in a first Session Initiation Protocol (SIP) Invite message;

wherein said answer message is a second Session Description Protocol (SDP) message included in a SIP 18 X message; and

wherein said first user equipment device and said second user equipment device are Interactive Connectivity Establishment (ICE) endpoint devices, ICE endpoint devices being endpoint devices which support the ICE protocol.

19. A non-transitory computer readable medium including a first set of computer executable instructions which when executed by a processor of a session border controller cause the session border controller to:

receive a first initial offer message from a first user equipment device directed to a second user equipment device, said first initial offer message including one or more candidate addresses for the first user equipment device;

establish a data path between the session border controller and the second user equipment device in response to receiving said first initial offer message prior to establishing a data session between the first user equipment device and the session border controller, said establish a data path between the session border controller and the second user equipment device including: (i) identifying a first candidate address for the session border controller, (ii) generating a list of session border controller and second user equipment device candidate address pairs, and (iii) performing a successful connectivity check on one or more of the candidate address pairs included in the generated list of candidate address pairs;

prior to completing said establish a data path between the session border controller and the second user equipment device, send, from the session border controller, to the first user equipment device an answer message in response to the first initial offer message, said answer message including a second candidate address for the session border controller;

wait, by the session border controller, to respond to any connectivity check messages received by the session border controller from the first user equipment device prior to the completing of said establishing a data path between the session border controller and the second user equipment device as part of establishing the data session between the first user equipment device and the session border controller;

send, from the session border controller, to one of the one or more candidate addresses for the first user equipment device a response to a connectivity check message from the first user equipment device after establishing the data path between the session border controller and the second user equipment device; and

establish the data session between the first user equipment device and the session border controller after establishing the data path between the session border controller and the second user equipment device.

20. The non-transitory computer readable medium of claim 19 ,

wherein said to establish a data path between the session border controller and the second user equipment device further includes:

sending, from the session border controller, to the second user equipment device a second initial offer message, said second initial offer message including the first candidate address for the session border controller;

receiving, at the session border controller, a first response message from the second user equipment device in response to the second initial offer message, the first response message including one or more second candidate addresses for the second user equipment device; and

using one of the one or more second candidate addresses for the second user equipment device to direct messages to the second user equipment device.

Assignments (7)
SHORT-FORM PATENTS SECURITY AGREEMENT Recorded Sep 5, 2024
From: RIBBON COMMUNICATIONS OPERATING COMPANY, INC.
To: HPS INVESTMENT PARTNERS, LLC, AS ADMINISTRATIVE AGENT
Reel/Frame 068857/0290 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT R/F 044978/0801 Recorded Dec 6, 2021
From: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
To: RIBBON COMMUNICATIONS OPERATING COMPANY, INC. (F/K/A GENBAND US LLC AND SONUS NETWORKS, INC.)
Reel/Frame 058949/0497 →
CHANGE OF NAME Recorded Jan 16, 2019
From: SONUS NETWORKS, INC.
To: RIBBON COMMUNICATIONS OPERATING COMPANY, INC.
Reel/Frame 048078/0036 →
SECURITY INTEREST Recorded Jan 2, 2018
From: GENBAND US LLC; SONUS NETWORKS, INC.
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 044978/0801 →
CHANGE OF NAME Recorded Dec 24, 2017
From: SONUS, INC.
To: SONUS NETWORKS, INC.
Reel/Frame 044957/0213 →
MERGER AND CHANGE OF NAME Recorded Dec 24, 2017
From: SOLSTICE SAPPHIRE, INC.; SONUS NETWORKS, INC.; SONUS NETWORKS, INC.
To: SONUS, INC.
Reel/Frame 044957/0243 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 13, 2016
From: ASVEREN, TOLGA
To: SONUS NETWORKS, INC.
Reel/Frame 040011/0008 →
Cited By (3)
US 12,218,989 US 12,425,516 US 12,652,324