System and method for accessing voice messaging system data

A second computer accesses voice messaging system data residing on a first computer. The second computer receives a log record range selection from a user interface, creates a log record selection file based on the log record selection, and sends the file to the first computer. The second computer reads a log record file that is received by the second computer in response to sending the file to the first computer. The second computer extracts a log record, receives a log record selection from the user interface, and determines a voice message identification corresponding to the selected log record. The second computer creates a voice message selection file and sends the file to the first computer. The second computer reads a voice message file that is received by the second computer in response to sending the file to the first computer, and extracts a voice message from the file.

FIELD OF THE INVENTION

The present invention generally relates to the field of voice messaging systems. More particularly, the present invention relates to accessing voice messaging system data via a personal computer or other processor.

BACKGROUND OF THE INVENTION

Messaging systems often provide voice processing capabilities that are utilized to both process and simulate human speech. One example of such a messaging system is the Communications Application Platform (CAP) (“the CAP system”) commercially available from UNISYS Corporation (Blue Bell, Pa.). The CAP is a configuration of hardware and software that provides data and voice processing capabilities through applications running on a host computer system. The CAP, in combination with a network interface unit (NIU), provides the interface between these applications, called network applications, and a telephone network. The CAP is implemented on selected UNISYS A Series and CLEARPATH HMP NX computer systems (available from UNISYS Corporation (Blue Bell, Pa.)) running the UNISYS MCP operating system. Further details of the structure and function of the CAP are provided in the following issued patents and pending applications, all of which are hereby incorporated by reference in their entireties:

U.S. Pat. No. 6,058,166, issued May 2, 2000 entitled “Enhanced Multi-Lingual Prompt Management in a Voice Messaging System With Support for Speech Recognition”;

U.S. patent application Ser. No. 09/161/214, filed Sep. 25, 1998, entitled “Multiple Node Messaging System Wherein Nodes Have Shared Access To Message Stores Of Other Nodes”;

U.S. patent application Ser. No. 09/451,077, filed Nov. 30, 1999, entitled “Method and Apparatus for Preventing Hung Calls During Protocol Violations in a Voice Messaging System”;

Site support of a voice messaging system is an important aspect of providing and/or maintaining a voice messaging system. While there are many facets of voice messaging system support, automatic speech recognition (ASR) may be difficult to support without proper tools. This particular functionality is often included in current voice messaging systems.

For example, a voice messaging system may prompt a telephone-based subscriber with a prompt such as “Press or say ‘One’”. In response to such prompt, the telephone based subscriber may press ‘One’ on a telephone keypad. Alternatively, the telephone based subscriber may speak ‘One’ into the telephone which generates a voice signal (i.e., a voice message). The voice messaging system receives the voice message, processes the voice message, and attempts to recognize the voice message as a word. In addition to processing the voice message, the voice messaging system may store the voice message in a voice message data store, and may save a call information log record to a log data store. The log record typically includes a timestamp, a mailbox address, a voice message identification, and the like.

A voice messaging system must deal with many different speech accents, background noise, and other variables. As such, ASR techniques are not always sufficiently accurate. When ASR techniques do not successfully recognize a spoken word, site support personnel desire a tool allowing easy access to stored voice messages and to stored call information. However, direct access to a voice messaging system is often limited for reliability and security purposes because granting such access to multiple users may jeopardize the integrity of the voice messaging system.

Moreover, access to a stored voice message and to a stored log record in a voice messaging system is typically cumbersome. That is, a voice messaging system does not usually include user-friendly graphic interfaces normally associated with personal computers or other processors.

Further, a voice messaging system typically stores voice messages and log records in different data stores. For example, voice messages may be stored in a voice message data store and log records may be stored in a log data store, as described above. The log data store is typically used for billing purposes and the voice message data store is typically used for site support and troubleshooting. Because the log data store and the voice message data store are typically separate data stores, it is often cumbersome to access a particular voice message corresponding to a particular log record.

Additionally, access to each data store is handled by a separate application. Typically, a voice messaging application interfaces with the voice messaging data store and a log record application interfaces with the log data store. As such, with conventional site support tools, a user (e.g., site support technician) interfaces with two applications to receive voice messaging system data.

For example, a user may access a particular log record from log record data store via the log record application. Typically the log record contains a voice message identification field containing a voice message identification of the voice message corresponding to the log record. The user may extract the voice message identification from the log record. The voice message identification is then used to retrieve a corresponding voice message from the voice message data store. However, this typically is accomplished via the voice message application. A user therefore should be familiar with two applications. Additionally, a user manually enters the voice message identification for use by the voice message application rather than the two applications cooperating to provide the voice message.

Moreover, audibly playing a particular voice message may be cumbersome. For example, a previous site support tool required a user to place a phone call to a special application in a voice messaging system in order to listen to the particular voice message.

In view of the above problems, there is a recognized need for a system and method for accessing voice messaging system data via a personal computer or other processor. The present invention satisfies this need.

SUMMARY OF THE PRESENT INVENTION

The present invention is directed to a system and method for accessing voice messaging system data via a personal computer or other processor.

According to an aspect of the present invention, access is provided to voice messaging system data residing on a host computer, via a processor. The voice messaging system data includes a plurality of voice messages and a log record corresponding to each voice message. A log record range selection is received from a user interface of the processor. A log record selection file is created based on the log record range selection. The log record selection file is sent to the host. A log record file is read, the log record file being received by the processor in response to sending the log record selection file to the host. A log record is extracted from the log record file.

According to another aspect of the present invention, a log record selection is received from the user interface. A voice message identification corresponding to the selected log record is determined. A voice message selection file is created based on the voice message identification corresponding to the selected log record. The voice message selection file is sent to the host. A voice message file is read, the voice message file being received by the processor in response to sending the voice message selection file to the host. A voice message is extracted from the voice message file.

According to a further aspect of the present invention, transcription data is received from the user interface and the received transcription data is stored to a data store of the processor.

These and other features of the present invention will be more fully set forth hereinafter.

DETAILED DESCRIPTION OF THE ILLUSTRATIVE EMBODIMENTS

The present invention is directed to a system and method for accessing and integrating voice messaging system data via a personal computer or other processor.

Voice Messaging System

Referring now to the drawings wherein like numerals indicate like elements throughout, there is shown inFIG. 1a block diagram of an exemplary messaging system10in connection with which the present invention may be employed. Voice messaging system (VMS)10comprises host computer11electronically coupled to Network Interface Unit (NIU)15. In turn, NIU15is electronically coupled to Public Switched Telephone Network (PSTN)80that supports telephone-based subscribers90. As shown, host computer11comprises a messaging platform35that executes network applications20and25, respectively. In addition, messaging platform35may allow network applications20and25to cooperate with message store30. Message store30may be used by messaging system10to store data for telephone-based subscribers90. In this example, messaging platform35may comprise the aforementioned Network Applications Platform (CAP) commercially available from UNISYS Corporation (Blue Bell, Pa.), and host computer11on which the CAP runs may comprise a selected UNISYS A Series or CLEARPATH HMP NX computer system. It is understood, however, that the present invention is by no means limited to use with the UNISYS CAP system, but rather can be employed in connection with any messaging platform that performs voice processing using one or more voice processing engines.

Still referring toFIG. 1, NIU15contains a series of interfaces, interface1(INT1), interface2(INT2), and interface3(INT3). One interface, such as INT1, interfaces the NIU15to messaging platform35on the host computer11. Communication between INT1and messaging platform35may, for example, be via a Small Computer Systems Interface (SCSI) bus40. Others of the interfaces, such as INT2and INT3(of which there can be many), interface NIU15to PSTN80. Interfaces such as INT1, INT2, and INT3may be implemented on printed circuit boards housed within the NIU that can communicate with each other via a common bus70, such as a bus that implements the Multibus II (IEEE 1296) open bus standard.

In this example, NIU15further includes an Embedded Services Processor (ESP)50that may comprise a single board computer having its own processor, memory, and operating system executing on the processor, which together provide a general purpose computing capability within NIU15for executing software applications that are otherwise incapable of executing within the NIU. Additionally, ESP50may further comprise a network interface for connection of NIU15to other communications networks external to the messaging system, such as communications network60.

Media Resource Server (MRS)65may be connected to the messaging system via communication network60and the network interface of ESP50of NIU15. In this example, software executing on host computer11, ESP50, and MRS65, enables ESP50to offload selected multi-media processing functions to MRS65, thereby eliminating the need for such processing functions to be performed by the voice messaging platform. For example, certain forms of voice processing may be offloaded to MRS65, such as, Text-to-Speech (TTS) processing and Automatic Speech Recognition (ASR) processing. Any number of MRS units65may be attached to communication network60.

System and Method For Accessing Voice Messaging System Data

The present invention facilitates support of a voice messaging system (VMS) via a personal computer or other processor by accessing a log record and a corresponding voice message from the voice messaging system.

As shown inFIG. 2, host11ofFIG. 1is configured to include voice messaging application120, log record application130, and data retrieval application140. Voice messaging application120interfaces with telephone-based subscribers90(FIG. 1) to provide voice messaging services associated with a telephone call. Voice messaging application120interfaces with VMS voice data store125and log record application130interfaces with VMS log data store135to store voice messaging system data, as described in more detail below.

Host11may provide ASR as one of the voice messaging services. In providing ASR as part of a telephone call, voice messaging application120receives a voice message and attempts to recognize such voice message as a word. Typically, voice messaging application120offloads such ASR to MRS65(FIG.1). The present invention is not limited to ASR functionality, but contemplates any voice processing functionality.

Voice messaging application120stores the received voice message in VMS voice data store125. VMS voice data store125contains a voice message and a corresponding voice message identification among other things. Also, voice messaging application120interfaces with log record application130, such that log record application130stores information in a log record related to the telephone call in VMS log data store135. VMS log data store135may contain the aforementioned voice message identification, a timestamp, a mailbox address, a recognized word, among other things.

Personal computer (PC)170includes support application175and user interface177. The present invention is not intended to be limited to personal computers but contemplates any processor for interfacing with host11. Personal computers and processors are generally know to the relevant public and therefore need not be described herein in any detail. Accordingly, such personal computer170or processor may be any particular personal computer170or processor without departing from the spirit and scope of the present invention.

Support application175interfaces with PC log data store180and PC voice data store185to store data received from voice messaging system10. In one embodiment, PC log data store180is implemented with BORLAND Database Engine version 5.10 available from BORLAND Software Corporation (Scotts Valley, Calif.) and PC voice data store185is implemented with an individual file for each voice message. In the present embodiment, PC log data store180and PC voice data store185are the same data store; however, it is contemplated that different data stores may be used. In other embodiments, PC voice data store185is implemented with a single file containing all voice messages. Other embodiments are contemplated as long as a voice message of PC voice data store185may be mapped to a log record of PC log data store180.

As shown inFIG. 2, host11and personal computer170are interconnected via data link190. Data link190may be a local area network (LAN), wide area network (WAN), wireless network, an intranet, the Internet, and the like. In short, data link190may be any particular data link190without departing from the spirit and scope of the present invention.

The present invention allows a user (not shown) for example, a site support technician, to access voice messaging system data from support application175, rather than directly from voice messaging system10. As such, the user receives the advantages of a user friendly interface177associated with personal computer170or other processor.

In addition, a user of support application175does not require direct access to voice messaging system10or host11. As such, access to voice messaging system10and host11may be limited so as to increase system reliability of such voice messaging system.

Moreover, the present invention allows a user to access voice messaging system data from a single application (e.g., support application175), rather than multiple applications (e.g., voice messaging system120and log record application130), as described above.

To support a voice messaging system having voice processing functionality, a tool for accessing voice messaging system data is desired. For example, a telephone-based subscriber may attempt to use ASR functionality of the voice messaging system by speaking ‘One’ into a telephone. However, the voice messaging system may not recognize the spoken ‘One’ as the word ‘One’. The ASR may not recognize the spoken word for a multitude of reasons as described above.

To troubleshoot and improve the voice messaging system, it is desired that support personnel have easy access to voice messaging system data. For example, a particular telephone-based subscriber may state that the voice recognition functionality of the voice messaging system did not properly recognize the spoken word ‘One’ during several calls. Site support personnel may desire to access all log records and all voice messages for the particular telephone-based subscriber during such week to determine if the ASR functionality is malfunctioning or should be altered or enhanced. The present invention provides a method of accessing such voice messaging data.

FIG. 3is a flow diagram of a method performed in connection with the system ofFIG. 2in accordance with one embodiment of the present invention. As shown inFIG. 3, at step200, support application (SA)175receives log record range selection from user interface177. A user (not shown) may enter such log record selection into user interface177. The log record range selection may comprise a time range and/or a mailbox address range. For example, the log record range selection may comprise a begin date and time, an end date and time, a begin mailbox address, and an end mailbox address. The log record range selection determines the log records to be retrieved from voice messaging system10.FIG. 5shows a screen shot of a log record range selection screen500for the user to input the log record range selection.

At step205, support application175creates a log record selection file150(shown inFIG. 2) based on the received log record range selection. For example, log record selection file150may comprise the begin date and time, the end date and time, the begin mailbox address, and/or the end mailbox address of the log record range selection received from the user interface177.

At step210, support application175sends the created log record selection file150to host11. In one embodiment, support application175sends log record selection file150to host11via File Transport Protocol (FTP). In one embodiment, log record selection file150is converted to a host compatible file format by support application175before being sent to host11. In another embodiment, log record selection file150is converted to a host compatible file format by data retrieval application140after being received by host11.

At step220, data retrieval application (DRA)140at host11retrieves a log record based on log record selection file150after host11receives such file.

At step220a,as shown inFIG. 4a,data retrieval application140detects log record selection file150. In one embodiment, data retrieval application140regularly searches host11for the log record selection file150by searching for a pre-defined filename. In one embodiment, when data retrieval application140detects log record selection file150, data retrieval application140renames log record selection file150to minimize conflicts with other data requests.

At step220b,data retrieval application140reads log record selection file150. At step220c,data retrieval application140requests a range of log records from log record application130, corresponding to detected log record selection file150. For example, if log record selection file contains a begin date and time of Feb. 12, 2001 at 1:00 p.m., an end date and time of Feb. 12, 2001 at 2:00 p.m., and a begin and end mailbox address of 1234, data retrieval application requests all voice messages from Feb. 12, 2001 at 1:00 p.m. to Feb. 12, 2001 at 2:00 p.m. for mailbox address 1234. Log record application130retrieves each log record corresponding to the requested range from VMS log data store135and sends each retrieved log record to data retrieval application140.

At step220d,data retrieval application140receives at least one retrieved log record from log record application130corresponding to the requested range of log records.

At step220e,data retrieval application140creates a log record file155(shown inFIG. 2) including each requested and retrieved log record. In one embodiment, log record file155is converted to a personal computer compatible file format before being transferred to personal computer170. In another embodiment, log record file155is converted to a personal computer compatible file format after being transferred to personal computer170.

At step225, as shown inFIG. 3, support application175reads log record file155as transferred to personal computer170and extracts each log record from log record file155. In the present embodiment, support application175searches, regularly, the host11for the log record file by searching for a pre-defined filename. Also in the present embodiment, log record file155is transferred to personal computer170via FTP. At step230, support application175then stores each extracted log record in PC log data store180.

Support application175may support several VMSs. In one embodiment, support application175reformats the extracted log record from a VMS format to a user defined format before storing the extracted log record in PC log data store180. In particular, such support application175uses a parse parameter file corresponding to the VMS from which the extracted log record was received to map VMS log record fields to user defined log record fields. In this manner, support application175may be used on any of several supplied voice messaging systems.

For example, the parse parameter file may include a plurality of entries, wherein each entry corresponds to a VMS log record field. Each entry may include a report number field, a description field, a starting position field, an ending position field, and a keyword field. The report number field corresponds to a report format that support application175may use to display a log record field on user interface177. The report number field is used for selection of log records. The initial format of a screen for selecting log records, as best seen inFIG. 6, is based on the order of the records in the parse parameter file. As desired, the user may move columns of data via user interface to modify the display format. The description field may be used by support application175to display a log record field description on user interface177. As shown inFIG. 6, the description field is used as the column header. For example inFIG. 6, the first parse parameter file record had a description field of ‘MessageID.’ The starting position field and ending position field may be used by support application175to determine a location of the log record field. The keyword field may be used to indicate a field used by support application175for a particular purpose. For example, if keyword is set to MessageID, this represents that support application175is to use this field as the voice message identification for retrieving a voice message from host11.

After step230, a copy of the extracted log record resides on personal computer170in PC log data store180. However, the voice message corresponding to the log record still resides on host11and has not yet been retrieved for use on personal computer170. The voice message has not yet been retrieved because voice messages are typically stored according to a voice message identification in a data store separate from the log record data store. The voice message identification, standing alone, does not provide information about the call, such as the time, date, and mailbox address of the call. Therefore, given a date, time, and a mailbox address, one cannot correlate to voice message without the log record. As such, a user first selects a log record based on the date, time, and mailbox address of a call and then the system retrieves a voice message based on the voice message identification associated with the selected log record.

To facilitate retrieval of a voice message, support application175may place log records from PC log data store180on the user interface. In this manner, a user may select a log record for retrieval of a corresponding voice message (i.e. a voice message selection).

FIG. 6is a screen shot of a voice message selection screen600. As seen inFIG. 6, the log records displayed on the tenth and eleventh row are selected for voice message retrieval as indicated by ‘Retrieve’ in the ‘Action’ column. As may be appreciated, a user may select and deselect a log record for retrieval of the corresponding voice message by highlighting the log record via a cursor device or the like and then activating the “Retrieve” and “Clear” button, respectively, with the cursor device or the like.

At step240, support application175receives a selection of a log record from user interface177. For example, a log record marked “Retrieve” is selected for retrieval of the corresponding voice message.

At step245, support application175determines the voice message identification (e.g., MessageID ofFIG. 6) corresponding to the selected log record by reading the log record from PC log data store180. In particular, reading the voice message identification field of the log record. As may be appreciated, the voice message identification corresponds to a stored voice message in VMS voice data store125at host11.

At step250, support application175creates a voice message selection file160(shown inFIG. 2) based on the voice message identification corresponding to the selected log record. For example, the voice message selection file160may comprise a list of voice message identification(s) corresponding to the log record selected via the user interface177.

At step255, support application175sends voice message selection file160to host11. In one embodiment, voice message selection file160is sent to host11via FTP. In one embodiment, the voice message selection file160is converted to a host compatible file format before being sent to host11. In another embodiment, voice message selection file160is converted to a personal computer compatible file format after being received at personal computer170

At step260, data retrieval application140of host11retrieves a voice message based on voice message selection file160after host11receives such file.

At step260a,as shown inFIG. 4b,data retrieval application140detects voice message selection file160. In one embodiment, data retrieval application140regularly searches host11for voice message selection file160by searching for a pre-defined filename. In one embodiment, when data retrieval application140detects voice message selection file160, data retrieval application140renames voice message selection file160to minimize conflicts with other data requests.

At step260b,data retrieval application140reads voice message selection file160.

At step260c,data retrieval application140requests each voice message from voice messaging application120, corresponding to detected voice message selection file160. For example, if voice message selection file160contains voice message identification9001and9002, data retrieval application140requests voice messages corresponding to voice message identification9001and9002. Voice messaging application120retrieves each requested voice message from VMS voice data store125and sends each requested and retrieved voice message to data retrieval application140.

At step260d,data retrieval application140receives each requested and retrieved voice message from voice messaging application120.

At step260e,data retrieval application140creates a voice message file165(shown inFIG. 2) for each requested and retrieved voice message; however, in an alternate embodiment, data retrieval application140creates a voice message file165containing each requested and retrieved voice message. In one embodiment, voice message file165is converted to a personal computer compatible file format before being transferred to personal computer170. In another embodiment, voice message file165is converted to a personal computer compatible file format after being transferred to personal computer170.

At step270, support application175reads voice message file165after personal computer170receives such file. In the present embodiment, support application175searches, regularly, host11for the voice message file by searching for a pre-defined filename. Also in the present embodiment, voice message file165is transferred to personal computer170via FTP. If voice message file165contains multiple voice messages, support application175extracts each voice message from voice message file165.

At step275, support application175converts each extracted voice message to a personal computer compatible format. In one embodiment, the voice message is converted to a .wav format although other formats may be employed without departing from the spirit and scope of the present invention.

At step280, support application175stores each converted voice message in PC voice data store185. At this step, both a log record and a corresponding voice message have been copied to and reside on personal computer170. In this manner, the user, which may be a site support technician, may access a log record and a corresponding voice message to support voice messaging system10, as described above. Moreover, the access is accomplished without direct access to host11and without cumbersome manual matching of a log record with a corresponding voice message via a voice message identification.

In addition to providing retrieval of a log record and corresponding voice message, the present invention also provides the ability to play the voice message and to enter and store transcription data to facilitate support of the voice messaging system. In particular, at step285, support application175receives transcription data from user interface177. For example, support application175may display a log record on user interface177as in FIG.7and receive transcription data from user interface177. Transcription data may include a transcriber, a word heard, a dialect, a gender, a phone type, quality, comments, and the like.FIG. 7is a screen shot of a transcription screen700.

At step290, support application175stores the received transcription data to PC log data store180. Transcription data may assist site support personnel to troubleshoot voice processing functionality of a voice messaging system. For example, a spoken ‘One’ from a telephone-based subscriber with a Brooklyn accent may not be recognized as the word ‘One’ by an ASR program. A site support technician may determine that the accent is Brooklyn, the word heard is ‘One’, there was background noise, and the like. This information may be entered as transcription data and stored to PC log data store180.

Transcription data may later be analyzed to determine if a particular ASR program may be altered or improved. If a particular ASR program never recognizes a Brooklyn accent, analysis of the transcription data may lead to the conclusion that the particular ASR should be modified.

Additionally, a user may elect to play the audio of a voice message corresponding to a log record to assist in troubleshooting. For example, on transcription screen700ofFIG. 7, if a user selects ‘Play Voice’, support application175retrieves the voice message corresponding to the displayed log record from PC voice data store185and plays the audio of the voice message, for example, on a speaker of the personal computer170. If the voice message has been converted to a personal computer compatible format, then support application175may use a conventional audio application to play the voice message on the personal computer.

As can been appreciated, the present invention provides a useful system and method of accessing voice messaging data. A user, such as a site support technician, may access a log record and a corresponding voice message based on a begin date and time and an end date and time. Further, the present invention retrieves a voice message for a selected log record and makes the voice message readily available for playback by the user. Moreover, the user may enter transcription data, thereby facilitating troubleshooting, debugging, etc.

The present invention may be embodied in the form of program code (i.e., instructions) stored on a computer-readable medium, such as a magnetic, electrical, or optical storage medium, including without limitation a floppy diskette, CD-ROM, CD-RW, DVD-ROM, DVD-RAM, magnetic tape, flash memory, hard disk drive, or any other machine-readable storage medium, wherein, when the program code is loaded into and executed by a machine, such as a computer, the machine becomes an apparatus for practicing the invention. Additionally, the support application175and the data retrieval application140may be embodied in the form of different portions of the program code. The present invention may also be embodied in the form of program code that is transmitted over some transmission medium, such as over electrical wiring or cabling, through fiber optics, over a network, including the Internet or an intranet, or via any other form of transmission, wherein, when the program code is received and loaded into and executed by a machine, such as a computer, the machine becomes an apparatus for practicing the invention. When implemented on a general-purpose processor, the program code combines with the processor to provide a unique apparatus that operates analogously to specific logic circuits.

It is noted that the foregoing examples have been provided merely for the purpose of explanation and are in no way to be construed as limiting of the present invention. While the invention has been described with reference to preferred embodiments, it is understood that the words which have been used herein are words of description and illustration, rather than words of limitations. Further, although the invention has been described herein with reference to particular structures, methods, materials, and embodiments, the invention is not intended to be limited to the particulars disclosed herein; rather, the invention extends to all structures, methods and uses that are within the scope of the appended claims. Those skilled in the art, having the benefit of the teachings of this specification, may effect numerous modifications thereto and changes may be made without departing from the scope and spirit of the invention, as defined by the appended claims.