IP Library › Granted Patent US 10,834,256
Granted Patent B1
US 10,834,256 · App. 16/584,248 · Granted Nov 10, 2020

Delivering content during a hold

Inventors: Abhilash Chandrasekharan Nair (Bothell, WA); Namendra Kumar (Redmond, WA); Adit Abhay Dalvi (Seattle, WA); Joel Harodi Marquez Catano (Redmond, WA); Anuraag Veturi (Seattle, WA); Anand Srinivasan (Woodinville, WA); Pramod Jaisalmeria (Redmond, WA); Pallavi Mahajan (Redmond, WA)
Assignee: Microsoft Technology Licensing, LLC
H04M3/4285
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,834,256
App. No.
16/584,248
Granted
Nov 10, 2020
Kind
B1
Abstract

Disclosed are systems, methods, and non-transitory computer-readable media for delivering content to a client device placed on hold. A communication system establishes a communication session between a client device placed on hold and a content delivery service, during which the content delivery service streams content to the client device via the established communication session. The communication session between the client device that initiated the hold and the client devices that are placed on hold is terminated, thereby allowing the client device that initiated the hold to establish communication sessions other client devices if so desired. A unique identifier generated to reference the hold is provided to the client device that initiated the hold, which the client device may then use to reference the hold to execute a desired action, such as ending the hold, terminating the communication session, retrieving a status of the hold, etc.

Claims (71)

1. A method for delivering content to a device placed on hold, the method comprising:

receiving, from a first device, a hold command to place a hold on a first communication session between the first device and a second device;

allocating a unique identifier to the hold;

establishing a second communication session between the second device and a content delivery service, the content delivery service providing content to the second device via the second communication session during the hold;

updating a record associated with the unique identifier to include data identifying the second communication session;

transmitting the unique identifier to the first device, the unique identifier enabling the first device to reference the hold;

terminating the first communication session while the second communication session is active;

receiving, from the first device, a command to execute a first action in relation to the hold, the command including the unique identifier;

identifying the second communication session based on the record associated with the unique identifier included in the command; and

executing the command based on the second communication session.

2. The method of claim 1 , wherein the first action is to end the hold, and executing the command comprises:

establishing a third communication session between the first device and the second device; and

terminating the second communication session.

3. The method of claim 2 , wherein establishing the third active communication session comprises:

replacing the content delivery service with the first device, yielding the third active communication session between the first device and the second device.

4. The method of claim 3 , wherein replacing the content delivery service with the first device comprises:

transmitting a call replacement command to the second device;

in response to receiving a call replacement acceptance from the second device, establishing the third active communication session between the first device and the second device; and

deallocating the unique identifier from the hold.

5. The method of claim 1 , wherein establishing the second active communication session between the second device and the content delivery service comprises:

transmitting a call transfer command to the second device, the call transfer command including the unique identifier, wherein after receiving the call transfer command the second device transmits a call invitation command to establish the second active communication session with the content delivery service.

6. The method of claim 5 , further comprising:

receiving, from the second device, a transfer confirmation indicating that the second active communication session between the second device and the content delivery service has been established, wherein the second active communication session is terminated in response to receiving the transfer confirmation.

7. The method of claim 1 , wherein the first action is to provide a status of the hold, and executing the command comprises:

determining a current status of the second active communication session; and

returning the current status of the second active communication session to the first device.

8. The method of claim 1 , wherein the first action is to terminate the hold, and executing the command comprises:

terminating the second active communication session.

9. The method of claim 1 , wherein the content delivery service provides a music stream.

10. The method of claim 1 , wherein the content delivery service provides a video stream.

11. A system for delivering content to a device placed on hold, the system comprising:

one or more computer processors; and

one or more computer-readable mediums storing instructions that, when executed by the one or more computer processors, cause the system to perform operations comprising:

receiving, from a first device, a hold command to place a hold on a first communication session between the first device and a second device;

allocating a unique identifier to the hold;

establishing a second communication session between the second device and a content delivery service, the content delivery service providing content to the second device via the second communication session during the hold;

updating a record associated with the unique identifier to include data identifying the second communication session;

transmitting the unique identifier to the first device, the unique identifier enabling the first device to reference the hold;

terminating the first communication session while the second communication session is active;

receiving, from the first device, a command to execute a first action in relation to the hold, the command including the unique identifier;

identifying the second communication session based on the record associated with the unique identifier included in the command; and

executing the command based on the second communication session.

12. The system of claim 11 , wherein the first action is to end the hold, and executing the command comprises:

establishing a third communication session between the first device and the second device; and

terminating the second communication session.

13. The system of claim 12 , wherein establishing the third active communication session comprises:

replacing the content delivery service with the first device, yielding the third active communication session between the first device and the second device.

14. The system of claim 13 , wherein replacing the content delivery service with the first device comprises:

transmitting a call replacement command to the second device;

in response to receiving a call replacement acceptance from the second device, establishing the third active communication session between the first device and the second device; and

deallocating the unique identifier from the hold.

15. The system of claim 11 , wherein establishing the second active communication session between the second device and the content delivery service comprises:

transmitting a call transfer command to the second device, the call transfer command including the unique identifier, wherein after receiving the call transfer command the second device transmits a call invitation command to establish the second active communication session with the content delivery service.

16. The system of claim 15 , the operations further comprising:

receiving, from the second device, a transfer confirmation indicating that the second active communication session between the second device and the content delivery service has been established, wherein the second active communication session is terminated in response to receiving the transfer confirmation.

17. The system of claim 11 , wherein the first action is to provide a status of the hold, and executing the command comprises:

determining a current status of the second active communication session; and

returning the current status of the second active communication session to the first device.

18. The system of claim 11 , wherein the first action is to terminate the hold, and executing the command comprises:

terminating the second active communication session.

19. The system of claim 11 , wherein the content delivery service provides a music stream.

20. A machine-readable medium storing instructions that, when executed by one or more computer processors of one or more computing devices, cause the one or more computing devices to perform operations for delivering content to a device placed on hold, the operations comprising:

receiving, from a first device, a hold command to place a hold on a first communication session between the first device and a second device;

allocating a unique identifier to the hold;

establishing a second communication session between the second device and a content delivery service, the content delivery service providing content to the second device via the second communication session during the hold;

updating a record associated with the unique identifier to include data identifying the second communication session;

transmitting the unique identifier to the first device, the unique identifier enabling the first device to reference the hold;

terminating the first communication session while the second communication session is active;

receiving, from the first device, a command to execute a first action in relation to the hold, the command including the unique identifier;

identifying the second communication session based on the record associated with the unique identifier included in the command; and

executing the command based on the second communication session.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 1, 2019
From: NAIR, ABHILASH CHANDRASEKHARAN; KUMAR, NAMENDRA; DALVI, ADIT ABHAY; MARQUEZ CATANO, JOEL HARODI; VETURI, ANURAAG; SRINIVASAN, ANAND; JAISALMERIA, PRAMOD; MAHAJAN, PALLAVI
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 050581/0143 →
Cited By (2)
US 12,231,475 US 12,231,725