IP Library Granted Patent US 9,762,741
Granted Patent B2
US 9,762,741 · App. 15/219,177 · Granted Sep 12, 2017

Robust DTMF detection in an unreliable voice-over-IP (VoIP) environment

Inventors: Christopher M. Rienzo (Waltham, MA); Brian P. Davis (Arlington, MA)
Assignee: GENESYS TELECOMMUNICATIONS LABORATORIES, INC.
H04M7/1295H04L65/608H04Q1/453H04M3/5158
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,762,741
App. No.
15/219,177
Granted
Sep 12, 2017
Kind
B2
Abstract

A method to discriminate a signal as a DTMF digit is operative in a service provider having a VoIP-based media server. The media server accepts both in-band DTMF and RTP telephone events. A digit detection module receives as input a data stream that may include one or more DTMF digits. The module processes the input data stream and provides, as output, an indication of what digit(s) have been detected and from what source (e.g., in-band audio, an RTP 2833 telephone event, of both). The output is then further processed by a discrimination algorithm to make a final digit determination. If RTP telephone events are detected, the algorithm prefers them and ignores in-band DTMF until the call ends or the media is re-negotiated. The approach detects when duplicate digits of differing types are initially received and only accepts one of them, regardless of spacing or duration.

Claims (32)

1. A system for detecting user input in a data stream comprising:

a processor;

a memory, wherein the memory includes instructions that, when executed by the processor, cause the processor to:

receive a data stream for a call from a telephony carrier;

monitor the data stream for one or more in-band dual-tone multi-frequency (DTMF) events corresponding to a digit;

monitor the data stream for one or more real-time transport protocol (RTP) events corresponding to the digit;

in response to detecting one of the one or more in-band DTMF events corresponding to the digit prior to detecting one of the one or more RTP events corresponding to the digit, identify a user input associated with the digit based on the one or more in-band DTMF events corresponding to the digit and discard any of the one or more RTP events corresponding to the digit; and

in response to detecting one of the one or more RTP events corresponding to the digit prior to detecting one of the one or more in-band DTMF events corresponding to the digit, identify the user input associated with the digit based on the one or more RTP events corresponding to the digit and discard any of the one or more in-band DTMF events corresponding to the digit; and

a switch coupled to the processor for establishing a telephony connection for the call.

2. The system of claim 1 , wherein the instructions further cause the processor to discard a duplicate of an in-band DTMF event corresponding to the digit conditioned upon a gap between the duplicate and the in-band DTMF event is below a threshold.

3. The system of claim 1 , wherein the instructions further cause the processor to detect a mismatch when the data stream contains an in-band DTMF event corresponding to a first digit and an RTP event corresponding to a second digit different than the first digit.

4. The system of claim 1 , wherein the instructions further cause the processor to transmit a signal to the switch to initiate the call as part of an outgoing call campaign, and wherein the switch establishes the telephony connection for the call in response to the signal.

5. The system of claim 4 , wherein the switch establishes the telephony connection between a customer and a media server, and wherein the instructions further cause the processor to play a message to the customer prompting the customer to provide the user input associated with the digit.

6. The system of claim 1 , wherein the instructions further cause the processor to, in response to detecting one of the one or more RTP events corresponding to the digit at substantially the same time as detecting one of the one or more in-band DTMF events corresponding to the digit, identify the user input associated with the digit based on the one or more RTP events corresponding to the digit and discard any of the one or more in-band DTMF events corresponding to the digit.

7. The system of claim 1 , wherein the telephony carrier is a Voice over IP (VoIP) based carrier.

8. The system of claim 1 , wherein the instructions further cause the processor to detect that the telephony carrier has agreed to send in-band DTMF events.

9. The system of claim 1 , wherein the instructions further cause the processor to detect that the telephony carrier has agreed to send RTP events.

10. A method for detecting user input in a data stream comprising:

receiving, by a processor, a data stream for a call from a telephony carrier;

monitoring, by a processor, the data stream for one or more in-band dual-tone multi-frequency (DTMF) events corresponding to a digit;

monitoring, by the processor, the data stream for one or more real-time transport protocol (RTP) events corresponding to the digit;

in response to detecting one of the one or more in-band DTMF events corresponding to the digit prior to detecting one of the one or more RTP events corresponding to the digit, identifying, by the processor, a user input associated with the digit based on the one or more in-band DTMF events corresponding to the digit and discarding, by the processor, any of the one or more RTP events corresponding to the digit; and

in response to detecting one of the one or more RTP events corresponding to the digit prior to detecting one of the one or more in-band DTMF events corresponding to the digit, identifying, by the processor, the user input associated with the digit based on the one or more RTP events corresponding to the digit and discarding, by the processor, any of the one or more in-band DTMF events corresponding to the digit; and

establishing, by a switch coupled to the processor, a telephony connection for the call.

11. The method of claim 10 , further comprising discarding, by the processor, a duplicate of an in-band DTMF event corresponding to the digit conditioned upon a gap between the duplicate and the in-band DTMF event is below a threshold.

12. The method of claim 10 , further comprising detecting, by the processor, a mismatch when the data stream contains an in-band DTMF event corresponding to a first digit and an RTP event corresponding to a second digit different than the first digit.

13. The method of claim 10 , further comprising transmitting, by the processor, a signal to the switch to initiate the call as part of an outgoing call campaign, wherein the switch establishes the telephony connection for the call in response to the signal.

14. The method of claim 13 , wherein the switch establishes the telephony connection between a customer and a media server, and wherein the method further comprises playing, by the processor, a message to the customer prompting the customer to provide the user input associated with the digit.

15. The method of claim 10 , further comprising, in response to detecting one of the one or more RTP events corresponding to the digit at substantially the same time as detecting one of the one or more in-band DTMF events corresponding to the digit, identifying, by the processor, the user input associated with the digit based on the one or more RTP events corresponding to the digit and discarding, by the processor, any of the one or more in-band DTMF events corresponding to the digit.

16. The method of claim 10 , wherein the telephony carrier is a Voice over IP (VoIP) based carrier.

17. The method of claim 10 , further comprising detecting that the telephony carrier has agreed to send in-band DTMF events.

18. The method of claim 10 , further comprising detecting that the telephony carrier has agreed to send RTP events.

Assignments (7)
NOTICE OF SUCCESSION OF SECURITY INTERESTS AT REEL/FRAME 04814/0387 Recorded Feb 5, 2025
From: BANK OF AMERICA, N.A., AS RESIGNING AGENT
To: GOLDMAN SACHS BANK USA, AS SUCCESSOR AGENT
Reel/Frame 070115/0445 →
NOTICE OF SUCCESSION OF SECURITY INTERESTS AT REEL/FRAME 040815/0001 Recorded Feb 3, 2025
From: BANK OF AMERICA, N.A., AS RESIGNING AGENT
To: GOLDMAN SACHS BANK USA, AS SUCCESSOR AGENT
Reel/Frame 070498/0001 →
CHANGE OF NAME Recorded May 13, 2024
From: GENESYS TELECOMMUNICATIONS LABORATORIES, INC.
To: GENESYS CLOUD SERVICES, INC.
Reel/Frame 067391/0093 →
SECURITY AGREEMENT Recorded Feb 22, 2019
From: GENESYS TELECOMMUNICATIONS LABORATORIES, INC.; ECHOPASS CORPORATION; GREENEDEN U.S. HOLDINGS II, LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 048414/0387 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 11, 2017
From: RIENZO, CHRISTOPHER M.; DAVIS, BRIAN P.
To: SOUNDBITE COMMUNICATIONS, INC.
Reel/Frame 042339/0801 →
MERGER Recorded May 11, 2017
From: SOUNDBITE COMMUNICATIONS, INC.
To: GENESYS TELECOMMUNICATIONS LABORATORIES, INC.
Reel/Frame 042339/0889 →
SECURITY AGREEMENT Recorded Dec 5, 2016
From: GENESYS TELECOMMUNICATIONS LABORATORIES, INC., AS GRANTOR; ECHOPASS CORPORATION; INTERACTIVE INTELLIGENCE GROUP, INC.; BAY BRIDGE DECISION TECHNOLOGIES, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 040815/0001 →
Continuity (2)
Continuation 13717209 · Dec 17, 2012
Related Publication 20160337524A1 · Nov 17, 2016