IP Library Granted Patent US 10,291,776
Granted Patent B2
US 10,291,776 · App. 15/091,556 · Granted May 14, 2019

Interactive voice response system crawler

Inventors: Alok Kulkarni (Glen Iris, AU); Geoff Willshire (Greenslopes, AU); Ian Ng (New York, NY); Thomas Fejes (Freshwater, AU)
Assignee: CYARA SOLUTIONS PTY LTD
H04M3/493G10L15/22H04M3/24H04M3/4938H04M7/1295
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,291,776
App. No.
15/091,556
Granted
May 14, 2019
Kind
B2
Abstract

A system for interactive voice response system crawling, comprising an IVR crawler that may be VXML, design specification, DTMF or ASR/NLSR speech-based in nature and traverses an IVR menu to discover possible interaction paths and produces test cases based on those paths, and a database that stores test cases produced by the IVR crawler during operation, and a method for using an IVR crawler to perform a system migration.

Claims (39)

1. A system for interactive voice response system crawling, comprising:

an IVR crawler comprising at least a plurality of programming instructions stored in a memory and operating on a processor of a network-connected computing device, and configured to:

connect to an IVR system via a network;

traverse an IVR menu path by identifying a plurality of available IVR menu options as they are provided audibly by the IVR system and providing a plurality of input choices to the IVR system, the input choices produced based at least in part on the identified available IVR menu options, to progress through the menu;

produce a plurality of IVR test cases based at least in part on the sequence of prompts and inputs utilized in traversing a particular IVR menu path; and

a database comprising at least a plurality of programming instructions stored in a memory and operating on a processor of a computing device, and configured to store test cases produced by an IVR crawler.

2. The system of claim 1 , wherein the IVR crawler is a VXML-based crawler.

3. The system of claim 2 , further comprising a VXML browser comprising a plurality of programming instructions stored in a memory and operating on a processor of a network-connected computing device, and configured to provide a plurality of VXML data to a VXML-based crawler via a network.

4. The system of claim 3 , wherein the VXML-based crawler receives a plurality of VXML data from the VXML browser, and traverses an IVR menu path based in least in part on the received VXML data.

5. The system of claim 1 , wherein the IVR crawler is a design-based crawler.

6. The system of claim 5 , wherein the design-based crawler processes a design specification for an IVR.

7. The system of claim 1 , wherein the IVR crawler is a DTMF-based crawler.

8. The system of claim 7 , wherein the DTMF-based crawler connects to an IVR system by placing a telephone call via a telephony-based network.

9. The system of claim 8 , wherein the DTMF-based crawler provides an input choice to the IVR system by generating a DTMF audio tone.

10. The system of claim 1 , wherein the IVR crawler is an ASR/NLSR speech-based crawler.

11. The system of claim 7 , wherein the ASR/NLSR speech-based crawler connects to an IVR system by placing a telephone call via a telephony-based network.

12. The system of claim 8 , wherein the ASR/NLSR speech-based crawler provides an input choice to the IVR system by generating a plurality of speech utterance audio data.

13. The system of claim 9 , further comprising an automatic speech recognition engine comprising a plurality of programming instructions stored in a memory and operating on a processor of a network-connected computing device, and configured to interpret menu prompts comprising audio data, and to provide interpretation result data to a DTMF or ASR/NLSR speech-based crawler.

14. The system of claim 1 , further comprising a test case execution engine comprising a plurality of programming instructions stored on a memory and operating on a processor of a network-connected computing device, and configured to execute a test case produced by the IVR crawler.

15. The system of claim 11 , wherein the test cases are received directly from the IVR crawler as they are produced.

16. The system of claim 11 , wherein stored test cases are retrieved from the database.

17. The system of claim 11 , further comprising a test results analyzer comprising a plurality of programming instructions stored in a memory and operating on a processor of a network-connected computing device, and configured to analyze the results of test case execution from the test execution engine.

18. The system of claim 14 , wherein the analysis results are stored in the database.

19. The system of claim 14 , wherein the results are provided to a human user for review.

20. A method for interactive voice response system crawling, comprising the steps of:

accessing, via an IVR crawler comprising at least a plurality of programming instructions stored in a memory and operating on a processor of a network-connected computing device, and configured to connect to an IVR system via a network and traverse an IVR menu path by identifying a plurality of available IVR menu options and providing a plurality of input choices to the IVR system to progress through the menu, and configured to produce a plurality of IVR test cases based at least in part on the sequence of prompts and inputs used to traverse a menu path, an IVR system;

reverse engineering the menu paths of the IVR system by identifying a plurality of available IVR menu options as they are provided audibly by the IVR system and providing a plurality of input choices to the IVR system, the input choices produced based at least in part on the identified available IVR menu options, to progress through the menu;

producing a test case based at least in part on the sequence of prompts and input choices used to traverse a menu path; and

storing, in a database comprising at least a plurality of programming instructions stored in a memory and operating on a processor of a computing device, and configured to store test cases produced by an IVR crawler, the test case for future reference.

21. The method of claim 20 , further comprising the steps of:

executing, via a test case execution engine comprising a plurality of programming instructions stored on a memory and operating on a processor of a network-connected computing device, and configured to execute a test case produced by the IVR crawler, the test case;

analyzing, via a test results analyzer comprising a plurality of programming instructions stored in a memory and operating on a processor of a network-connected computing device, and configured to analyze the results of test case execution from the test execution engine, the results of test case execution; and

providing the analysis results.

22. The method of claim 20 , further comprising the step of storing, in a database comprising at least a plurality of programming instructions stored in a memory and operating on a processor of a computing device, and configured to store test cases produced by an IVR crawler, the analysis results for future reference.

23. A method for interactive voice response system migration, comprising the steps of:

accessing, via an IVR crawler comprising at least a plurality of programming instructions stored in a memory and operating on a processor of a network-connected computing device, and configured to connect to an IVR system via a network and traverse an IVR menu path by identifying a plurality of available IVR menu options and providing a plurality of input choices to the IVR system to progress through the menu, and configured to produce a plurality of IVR test cases based at least in part on the sequence of prompts and inputs used to traverse a menu path, an IVR system;

reverse engineering the menu paths of the IVR system by identifying a plurality of available IVR menu options as they are provided audibly by the IVR system and providing a plurality of input choices to the IVR system, the input choices produced based at least in part on the identified available IVR menu options, to progress through the menu;

producing a plurality of VXML data corresponding to at least a portion of the menu paths of the IVR system; and

importing at least a portion of the plurality of VXML data into an IVR system.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 23, 2017
From: FEJES, THOMAS
To: CYARA SOLUTIONS PTY LTD
Reel/Frame 043367/0094 →
CHANGE OF ADDRESS Recorded Jan 25, 2017
From: CYARA SOLUTIONS PTY LTD
To: CYARA SOLUTIONS PTY LTD
Reel/Frame 041482/0064 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2016
From: NG, IAN; WILLSHIRE, GEOFF; KULKARNI, ALOK
To: CYARA SOLUTIONS PTY LTD
Reel/Frame 038999/0330 →
Continuity (2)
Continuation In Part 14590972 · Jan 6, 2015
Related Publication 20160227034A1 · Aug 4, 2016
Cited By (1)
US 12,225,157