IP Library › Granted Patent US 10,911,594
Granted Patent B2
US 10,911,594 · App. 15/980,836 · Granted Feb 2, 2021

Handling calls on a shared speech-enabled device

Inventors: Vinh Quoc Ly (Millbrae, CA); Raunaq Shah (San Francisco, CA); Okan Kolak (Sunnyvale, CA); Deniz Binay (San Francisco, CA); Tianyu Wang (Mountain View, CA)
Assignee: GOOGLE LLC
H04M3/42008G06F3/167G10L15/1822G10L15/22G10L15/30G10L17/00H04L61/1594H04L65/1096H04M3/42059G10L2015/223G10L2015/225G10L2015/227
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,911,594
App. No.
15/980,836
Granted
Feb 2, 2021
Kind
B2
Abstract

In some implementations, a determination that a first party has spoken a query for a voice-enabled virtual assistant during a voice call between the first party and a second party is made, in response to the determination that the first party has spoken the query for the voice-enabled virtual assistant during the voice call between the first party and the second party, the voice call between the first party and the second party is placed on hold, a determination that the voice-enabled virtual assistant has resolved the query is made, and in response to the determination that the voice-enabled virtual assistant has handled the query, the voice call between the first party and the second party is resumed from hold.

Claims (69)

1. A computer-implemented method, the method comprising:

determining that a first party has spoken a query for a voice-enabled virtual assistant during a voice call between the first party and a second party;

in response to determining that the first party has spoken the query for the voice-enabled virtual assistant during the voice call between the first party and the second party, placing the voice call between the first party and the second party on hold;

providing the query and an indication that the voice call is ongoing on a speech-enabled device to the voice-enabled virtual assistant;

receiving, from the voice-enabled virtual assistant, a response to the query and an indication whether the voice-enabled virtual assistant has resolved the query;

providing the response to the query for audible output to the first party;

determining that the indication that was received with the response indicates that the voice-enabled virtual assistant has not resolved the query; and

in response to determining that the indication indicates that the voice-enabled virtual assistant has not resolved handled the query, determining that the voice-enabled virtual assistant has resolved the query based on additional words spoken both by the first party and after the response to the query for audible output was provided to the first party; and

in response to determining that the voice-enabled virtual assistant has resolved the query based on the additional words, resuming the voice call between the first party and the second party from hold.

2. The method of claim 1 , wherein determining that a first party has spoken a query for a voice-enabled virtual assistant during a voice call between the first party and a second party comprises:

determining, by the speech-enabled device, that a hotword was spoken by the first party during the voice call.

3. The method of claim 1 , wherein placing the voice call between the first party and the second party on hold comprises:

providing an instruction to a voice call provider to place the voice call on hold.

4. The method of claim 1 , wherein placing the voice call between the first party and the second party on hold comprises:

routing audio from a microphone to the voice-enabled virtual assistant instead of a voice server; and

routing audio from the voice-enabled virtual assistant to a speaker instead of audio from the voice server.

5. The method of claim 1 , wherein receiving, from the voice-enabled virtual assistant, a response to the query and an indication whether the voice-enabled virtual assistant has resolved the query comprises:

receiving audio to be output as the response to the query and a binary flag with a value that indicates whether the query is resolved.

6. The method of claim 1 , wherein the voice-enabled virtual assistant is configured to:

identify a command corresponding to the query;

determine that the command can be executed during a voice call; and

in response to determining that the command can be executed during a voice call, determine the response to indicate an answer to the command.

7. The method of claim 1 , wherein the voice-enabled virtual assistant is configured to:

identify a command corresponding to the query;

determine that the command cannot be executed during a voice call; and

in response to determining that the command cannot be executed during a voice call, determine the response to indicate that the command cannot be executed.

8. The method of claim 7 , wherein determine that the command cannot be executed during a voice call comprises:

obtaining a list of commands that can be executed normally during a voice call; and

determining that the command identified is not in the list of commands.

9. The method of claim 7 , wherein determine that the command cannot be executed during a voice call comprises:

obtaining a list of commands that cannot be executed normally during a voice call; and

determining that the command identified is in the list of commands.

10. The method of claim 1 , wherein resuming the voice call between the first party and the second party from hold in response to determining that the indication indicates that the voice enabled virtual assistant has handled the query, resuming the voice call between the first party and the second party from hold comprises:

providing an instruction to a voice call provider to resume the voice call from hold.

11. The method of claim 1 , wherein resuming the voice call between the first party and the second party from hold in response to determining that the indication indicates that the voice enabled virtual assistant has handled the query, resuming the voice call between the first party and the second party from hold comprises:

routing audio from a microphone to a voice server instead of the voice-enabled virtual assistant; and

routing audio from the voice server to a speaker instead of audio from the voice-enabled virtual assistant.

12. The method of claim 1 , wherein resuming the voice call between the first party and the second party from hold in response to determining that the indication indicates that the voice enabled virtual assistant has handled the query, resuming the voice call between the first party and the second party from hold comprises:

receiving an instruction from the voice-enabled virtual assistant to produce dual-tone multi-frequency signals; and

in response to receiving an instruction from the voice-enabled virtual assistant to produce dual-tone multi-frequency signals, providing a second instruction to a voice call provider to produce the dual-tone multi-frequency signals after providing the instruction to the voice call provider to resume the voice call from hold.

13. The method of claim 12 , wherein the voice-enabled assistant is configured to:

determine that the query indicates a command to generate one or more dual-tone multi-frequency signals and one or more numbers corresponding to the one or more dual-tone multi-frequency signals.

14. A system comprising:

one or more computers; and

one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising:

determining that a first party has spoken a query for a voice-enabled virtual assistant during a voice call between the first party and a second party;

in response to determining that the first party has spoken the query for the voice-enabled virtual assistant during the voice call between the first party and the second party, placing the voice call between the first party and the second party on hold;

providing the query and an indication that the voice call is ongoing on a speech-enabled device to the voice-enabled virtual assistant;

receiving, from the voice-enabled virtual assistant, a response to the query and an indication whether the voice-enabled virtual assistant has resolved the query;

providing the response to the query for audible output to the first party;

determining that the indication that was received with the response indicates that the voice-enabled virtual assistant has not resolved the query; and

in response to determining that the indication indicates that the voice-enabled virtual assistant has not resolved handled the query, determining that the voice-enabled virtual assistant has resolved the query based on additional words spoken both by the first party and after the response to the query for audible output was provided to the first party; and

in response to determining that the voice-enabled virtual assistant has resolved the query based on the additional words, resuming the voice call between the first party and the second party from hold.

15. The system of claim 14 , wherein determining that a first party has spoken a query for a voice-enabled virtual assistant during a voice call between the first party and a second party comprises:

determining, by the speech-enabled device, that a hotword was spoken by the first party during the voice call.

16. The system of claim 14 , wherein placing the voice call between the first party and the second party on hold comprises:

providing an instruction to a voice call provider to place the voice call on hold.

17. The system of claim 14 , wherein placing the voice call between the first party and the second party on hold comprises:

routing audio from a microphone to the voice-enabled virtual assistant instead of a voice server; and

routing audio from the voice-enabled virtual assistant to a speaker instead of audio from the voice server.

18. A non-transitory computer-readable medium storing software comprising instructions executable by one or more computers which, upon such execution, cause the one or more computers to perform operations comprising:

determining that a first party has spoken a query for a voice-enabled virtual assistant during a voice call between the first party and a second party;

in response to determining that the first party has spoken the query for the voice-enabled virtual assistant during the voice call between the first party and the second party, placing the voice call between the first party and the second party on hold;

providing the query and an indication that the voice call is ongoing on a speech-enabled device to the voice-enabled virtual assistant;

receiving, from the voice-enabled virtual assistant, a response to the query and an indication whether the voice-enabled virtual assistant has resolved the query;

providing the response to the query for audible output to the first party;

determining that the indication that was received with the response indicates that the voice-enabled virtual assistant has not resolved the query; and

in response to determining that the indication indicates that the voice-enabled virtual assistant has not resolved handled the query, determining that the voice-enabled virtual assistant has resolved the query based on additional words spoken both by the first party and after the response to the query for audible output was provided to the first party; and

in response to determining that the voice-enabled virtual assistant has resolved the query based on the additional words, resuming the voice call between the first party and the second party from hold.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 24, 2018
From: LY, VINH QUOC; SHAH, RAUNAQ; KOLAK, OKAN; BINAY, DENIZ; WANG, TIANYU
To: GOOGLE LLC
Reel/Frame 046693/0755 →
Continuity (2)
Provisional Application 62506805 · May 16, 2017
Related Publication 20180337962A1 · Nov 22, 2018
Cited By (1)
US 12,375,602