IP Library Granted Patent US 10,951,669
Granted Patent B2
US 10,951,669 · App. 15/939,517 · Granted Mar 16, 2021

Reverse call forking

Inventors: Jozef Saniga (Zilina, SK); Jeffrey Adams (Lafayette, CO); Eric Nylander (Westminster, CO)
Assignee: Polycom, Inc.
H04L65/403H04L65/1083H04L65/605H04L67/2823H04M7/0024H04N7/152H04L67/142H04L67/143H04L67/2819
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,951,669
App. No.
15/939,517
Granted
Mar 16, 2021
Kind
B2
Abstract

A technique for merging conference session dialogs allows presenting content and media streams from a non-Skype endpoint to a Skype multipoint control unit (MCU), so that they present a single caller in a conference with both media and content. A signaling adapter intercepts session dialogs and merges or other modifies. When adding the non-Skype endpoint, requests from a content server are dropped while requests from the MCU handling non-Skype media streams are forwarded to the Skype MCU. Responses to the request from the MCU are also forwarded to the content server. When creating subscription dialogs, requests from the content server are modified to appear as if they came from the MCU, while responses go back to the proper requester. Conference notifications are forked to go to both the content server and the MCU. Because Skype uses separate media and content dialogs, merging of audio/video and content dialogs may be omitted. By merging dialogs, user experience is improved.

Claims (112)

1. A conferencing method for connecting endpoints of one type to a conference of another type, comprising:

receiving, from a first multipoint control unit of a first type by a signaling adapter, a first request being sent to a second multipoint control unit of a second type to add a participant for a media stream;

sending, by the signaling adapter, the received first request to the second multipoint control unit;

receiving, from a content server by the signaling adapter, a second request being sent to the second multipoint control unit to add the participant for a content stream;

dropping the second request by the signaling adapter;

receiving, from the second multipoint control unit by the signaling adapter, responses to the first request; and

sending received responses to the first request, by the signaling adapter, to the first multipoint control unit and the content server.

2. The conferencing method of claim 1 , wherein the media stream and the content stream originate from a single endpoint of the first type.

3. The conferencing method of claim 1 , further comprising:

receiving, from the first multipoint control unit by the signaling adapter, a first session refresh request being sent to the second multipoint control unit;

sending, by the signaling adapter, the received first session refresh request to the second multipoint control unit;

receiving, from the second multipoint control unit by the signaling adapter, a response to the first session refresh request;

sending, by the signaling adapter, the received response to the first session refresh request to the first multipoint control unit;

storing, by the signaling adapter, the received response to the first session refresh request;

receiving, from the content server by the signaling adapter, a second session refresh request being sent to the second multipoint control unit;

dropping, by the signaling adapter, the second session refresh request; and

responding, by the signaling adapter, to the second session refresh request with the stored response to the first session refresh request.

4. The conferencing method of claim 1 , further comprising:

intercepting, by the signaling adapter, a first subscription dialog for conference information between the first multipoint control unit and the second multipoint control unit;

forwarding, by the signaling adapter, the intercepted first subscription dialog for conference information between the first multipoint control unit and the second multipoint control unit;

intercepting, by the signaling adapter, a second subscription dialog for conference information from the content server to the second multipoint control unit;

modifying, by the signaling adapter, the second subscription dialog to appear as if the second subscription dialog is between the first multipoint control unit and the second multipoint control unit;

sending, by the signaling adapter, the modified second subscription dialog to the second multipoint control unit; and

forwarding, by the signaling adapter, responses from the second multipoint control unit in the second subscription dialog to the content server instead of the first multipoint control unit.

5. The conferencing method of claim 1 , further comprising:

intercepting, from the content server by the signaling adapter, a dialog termination request; and

responding, by the signaling adapter, to the dialog termination request from the content server instead of forwarding the dialog termination request to the second multipoint control unit.

6. The conferencing method of claim 5 , further comprising:

forwarding, from the first multipoint control unit by the signaling adapter, a dialog termination request from the first multipoint control unit to the second multipoint control unit without waiting for a dialog termination request from the content server.

7. The conferencing method of claim 1 , further comprising:

intercepting, by the signaling adapter, a first subscription dialog request for conference information from the first multipoint control unit to the second multipoint control unit;

forwarding, by the signaling adapter, the intercepted first subscription dialog request for conference information to the second multipoint control unit;

intercepting, by the signaling adapter, a second subscription dialog request for conference information from the content server to the second multipoint control unit;

dropping, by the signaling adapter, the second subscription dialog request;

intercepting and storing, by the signaling adapter, a conference information response from the second multipoint control unit to the first multipoint control unit;

forwarding, by the signaling adapter, the intercepted conference information response to the first multipoint control unit; and

responding, by the signaling adapter, to the second subscription dialog request with the stored conference information response.

8. A non-transitory machine readable storage medium on which is stored software for connecting endpoints of one type to a conference of another type, comprising instructions that when executed by a signaling adapter, cause the signaling adapter to:

receive, from a first multipoint control unit of a first type, a first request being sent to a second multipoint control unit of a second type to add a participant for a media stream;

send the received first request to the second multipoint control unit;

receive, from a content server, a second request being sent to the second multipoint control unit to add the participant for a content stream

drop the second request;

receive, from the second multipoint control unit, responses to the first request;

send received responses to the first request from the second multipoint control unit to the first multipoint control unit and the content server; and

fork conference notifications to the content server and the first multipoint control unit.

9. The non-transitory machine readable storage medium of claim 8 , wherein the instructions further comprise instructions that when executed by the signaling adapter, cause the signaling adapter to:

receive, from the first multipoint control unit, a first session refresh request being sent to the second multipoint control unit;

send the first session refresh request to the second multipoint control unit;

receive a response to the first session refresh request;

send the received response to the first session refresh request to the first multipoint control unit;

store the received response to the first session refresh request;

receive a second session refresh request from the content server;

drop the second session refresh request; and

respond to the second session refresh request with the stored response to the first session refresh request.

10. The non-transitory machine readable storage medium of claim 8 , wherein the instructions further comprise instructions that when executed by the signaling adapter, cause the signaling adapter to:

intercept a first subscription dialog for conference information between the first multipoint control unit and the second multipoint control unit;

forward the intercepted first subscription dialog for conference information between the first multipoint control unit and the second multipoint control unit;

intercept a second subscription dialog for conference information from the content server to the second multipoint control unit;

modify the second subscription dialog to appear as if the second subscription dialog is between the first multipoint control unit and the second multipoint control unit;

sending the modified second subscription dialog to the second multipoint control unit; and

forward responses from the second multipoint control unit in the second subscription dialog to the content server instead of the first multipoint control unit.

11. The non-transitory machine readable storage medium of claim 8 , wherein the instructions further comprise instructions that when executed by the signaling adapter, cause the signaling adapter to:

intercept, from the content server, a dialog termination request; and

respond to the dialog termination request from the content server instead of forwarding the dialog termination request to the second multipoint control unit.

12. The non-transitory machine readable storage medium of claim 11 , wherein the instructions further comprise instructions that when executed by the signaling adapter, cause the signaling adapter to:

forward, from the first multipoint control unit, a dialog termination request to the second multipoint control unit without waiting for a dialog termination request from the content server.

13. The non-transitory machine readable storage medium of claim 8 , wherein the instructions further comprise instructions that when executed by the signaling adapter, cause the signaling adapter to:

intercept a first subscription dialog request for conference information from the first multipoint control unit to the second multipoint control unit;

forward the intercepted first subscription dialog request for conference information to the second multipoint control unit;

intercept a second subscription dialog request for conference information from the content server to the second multipoint control unit;

drop the second subscription dialog request;

intercept and store a conference information response from the second multipoint control unit to the first multipoint control unit;

forward the intercepted conference information response to the first multipoint control unit; and

respond to the second subscription dialog request with the stored conference information response.

14. A signaling adapter for connecting endpoints of one type to a conference of another type, comprising:

a hardware processing element; and

software for connecting endpoints of one type to a conference of another type, stored on a memory connected to the hardware processing element, comprising instructions that when executed cause the hardware processing element to:

receive, from a first multipoint control unit of a first type, a first request being sent to a second multipoint control unit of a second type to add a participant for a media stream;

send the received first request to the second multipoint control unit;

receive, from a content server, a second request being sent to the second multipoint control unit to add the participant for a content stream;

drop the second request, from a content server, to add the participant for a content stream being sent to the second multipoint control unit; and

send responses to the first request from the second multipoint control unit to the first multipoint control unit and the content server.

15. The signaling adapter of claim 14 , wherein the media stream and the content stream originate from a single endpoint of the first type.

16. The signaling adapter of claim 14 , wherein the instructions further comprise instructions that when executed by the hardware processing element, cause the hardware processing element to:

receive, from the first multipoint control unit, a first session refresh request being sent to the second multipoint control unit;

send the first session refresh request to the second multipoint control unit;

receive a response to the first session refresh request;

send the received response to the first session refresh request to the first multipoint control unit;

store the received response to the first session refresh request;

receive a second session refresh request from the content server;

drop the second session refresh request; and

respond to the second session refresh request with the stored response to the first session refresh request.

17. The signaling adapter of claim 14 , wherein the instructions further comprise instructions that when executed by the hardware processing element, cause the hardware processing element to:

intercept a first subscription dialog for conference information between the first multipoint control unit and the second multipoint control unit;

forward the intercepted first subscription dialog for conference information between the first multipoint control unit and the second multipoint control unit;

intercept a second subscription dialog for conference information from the content server to the second multipoint control unit;

modify the second subscription dialog to appear as if the second subscription dialog is between the first multipoint control unit and the second multipoint control unit;

sending the modified second subscription dialog to the second multipoint control unit; and

forward responses from the second multipoint control unit in the second subscription dialog to the content server instead of the first multipoint control unit.

18. The signaling adapter of claim 14 , wherein the instructions further comprise instructions that when executed by the hardware processing element, cause the hardware processing element to:

intercept, from the content server, a dialog termination request; and

respond to the dialog termination request from the content server instead of forwarding the dialog termination request to the second multipoint control unit.

19. The signaling adapter of claim 18 , wherein the instructions further comprise instructions that when executed by the hardware processing element, cause the hardware processing element to:

forward, from the first multipoint control unit, a dialog termination request to the second multipoint control unit without waiting for a dialog termination request from the content server.

20. The signaling adapter of claim 14 , wherein the instructions further comprise instructions that when executed by the hardware processing element, cause the hardware processing element to:

intercept a first subscription dialog request for conference information from the first multipoint control unit to the second multipoint control unit;

forward the intercepted first subscription dialog request for conference information to the second multipoint control unit;

intercept a second subscription dialog request for conference information from the content server to the second multipoint control unit;

drop the second subscription dialog request;

intercept and store a conference information response from the second multipoint control unit to the first multipoint control unit;

forward the intercepted conference information response to the first multipoint control unit; and

respond to the second subscription dialog request with the stored conference information response.

Assignments (5)
NUNC PRO TUNC ASSIGNMENT Recorded Jun 22, 2023
From: POLYCOM, INC.
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 064056/0947 →
RELEASE OF PATENT SECURITY INTERESTS Recorded Aug 30, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: PLANTRONICS, INC.; POLYCOM, INC.
Reel/Frame 061356/0366 →
SUPPLEMENTAL SECURITY AGREEMENT Recorded Mar 6, 2019
From: PLANTRONICS, INC.; POLYCOM, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 048515/0306 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 30, 2018
From: ADAMS, JEFFREY; NYLANDER, ERIC; SANIGA, JOZEF
To: POLYCOM, INC.
Reel/Frame 045934/0755 →
SECURITY INTEREST Recorded May 21, 2018
From: POLYCOM, INC.
To: MACQUARIE CAPITAL FUNDING LLC
Reel/Frame 045862/0967 →
Continuity (2)
Provisional Application 62479290 · Mar 30, 2017
Related Publication 20180288111A1 · Oct 4, 2018