Abstract:
A method and apparatus are provided for using voice commands to invoke a mode of operation of a broadband network device used in a broadband communication network implemented with VOIP, such as a communication gateway. The user can interface interactively with the device through voice commands or through touch-tone data entry, and the results of the tasks performed are reported back to the user in voice format.

Description:
BACKGROUND 
     This invention relates to broadband communication networks. More particular, this invention relates to providing a voice aided diagnostic for a voice over Internet protocol (VOIP) based device of the broadband network system. 
     In a traditional broadband network system, such as a cable TV network system, at least one communication gateway (CG) is installed at customer&#39;s premises to operate as a gateway between the customer and the administrator. The system administrator provides video and audio data to the customers and controls the flow traffic of video, audio or data to and from the customer through the CG. For example, referring to  FIG. 1 , an example of a VOIP architecture is shown. In  FIG. 1 , a plurality of residential (CGs)  190   a - 190   d  are connected to subscriber telephone handsets  160   a - 60   d . The CGs  190   a - 190   d  act as cable modems with telephony capability. In one embodiment, each CG  190  contains a data over cable service interface specifications (DOCSIS) based modem for supporting voice, data and possibly video. Each CG  190  supports one or more distinct phone lines and a local Ethernet port for high speed data access. A cable modem termination system (CMTS)  180  connects the HFC network  140  to an Internet Protocol (IP) based network  120 . The CMTS  180  acts as an edge router to convert the cable modem technology of the HFC network  140  to a standard link layer protocol, (such as Ethernet), on the IP network  120 . A trunking gateway  110  provides voice connectivity between the IP network  120  and a public switched telephone network (PSTN)  100 . The trunking gateway  110  performs media transcoding such as codecs and echo cancellation between both networks. As an example, the trunking gateway  110  may transcode an G.729 encoded voice stream originating from the IP network  120  to an ITU G.711 encoded voice stream destined to the PSTN  100 . The references to G.711 and G.729 are standard voice compression algorithms specified by the International Telecommunication Union (ITU) and are known to those skilled in the art. 
     A signaling gateway  130  performs signaling interconnection between the IP network  120  and the PSTN  100 . The trunking gateway  110  and the signaling gateway  130  are controlled by a call agent  150  which is also connected to the IP network  120 . An announcement server  170  is utilized to deliver prerecorded messages to customers. The CG performs decryption on the incoming encrypted data, or checks the subscription of programing by the customer before any program can be viewed or received by the customer&#39;s equipment connected to the CG. A CATV network can have thousands or millions of existing customers and every customer has at least one CG installed in their premesis. Besides carrying the usual video and audio signals, the CATV networks have been increasingly used to communicate over the Internet; and a new use for CATV networks in combination with the Internet is using the network as a carrier for telephone related services. Therefore, VOIP related CATV network implementation is becoming extremely critical. 
     Referring to  FIG. 2 , a CG  190  uses a combination of indicating lights L 1 -L 5  within and indicating light bank  46  to indicate different hardware statues once the equipment is powered on. As shown in  FIG. 2 , the plurality of indicating lights L 1 -L 5  are energized in a particular sequence or configuration to indicate the status of the plurality of components within the CG  190 . For example, L 1  might be lit whenever the CG is energized. L 2  may blink intermittently if a downstream communication is being received but may be lit constantly for an upstream communication. When performing diagnostics, a different configuration of the indicating lights L 1 -L 5  may indicate different problems. The indicating lights L 1 -L 5  are also useful when configuring the CG  190  for a particular customer. 
       FIG. 3  shows a procedure used by a CG  190  when powering up. The CG initiates the power up process by resetting all hardware components of the settop box (step  1  and step  3 ). The system loads a power-on confidence test program (test program) into the RAM (step  5 ), where the system starts to execute the power-on confidence test program (step  7 ). The test program basically tests the validity and operability of major hardware components of the system. Accordingly, the system will selectively energize the indicating lights L 1 -L 5  to reflect the results test program (step  9 ). For example, indicating light  1  (L 1 ) is on to indicate that the system processor functions well, indicating light  2  (L 2 ) is on to indicate that the network interface is operating etc. The system can periodically execute a partial or complete test program to check its internal component and update the corresponding indicating lights accordingly (step  11 ). In case of a component failure, an individual lights or a combination of lights will change color, flash or turn on or off accordingly. 
     Increasing the functionality of a CG  190  generally means more components must be tested for operability, which leads to more indicating lights or combinations thereof. Although system administrators rely upon the correct reading of the indicating lights by customers in order to dispatch service personnel with the proper diagnostic equipment to address the problem components, it is cumbersome and difficult for a customer to interpret the different hardware states represented by different indicating lights. This process therefore, is prone to error, even when service personnel read and interpret the indicating lights. Accordingly, it is essential to provide a more user friendly and easy method to configure and diagnosis a CG for average customers and service personnel. 
     SUMMARY 
     This invention is a method and apparatus for using voice commands to invoke the self diagnostics mode of operation of a CG used in a broadband communication network implemented with VOIP. The user can interface interactively with the self diagnostic module of a CG through voice commands or through touch-tone data entry, and the results of the diagnosis will be reported back to the user in voice format. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is an VOIP implementation network with VOIP type devices. 
         FIG. 2  is a flow chart of a prior art system using indicating lights to indicate hardware statues. 
         FIG. 3  is a flow chart of a prior art system power up diagnostic process. 
         FIG. 4  is a high-level functional block diagram of one embodiment of the present invention. 
         FIG. 5  is a flow chart of the voice interface implementation of the invention. 
         FIG. 6  is a two-level diagnostic menu. 
     
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     The present invention will be described with reference to the drawing Figures where like numerals represent like elements throughout. 
       FIG. 4  shows a high-level functional block diagram for a CG  20  in accordance with the present invention. The CG  20  includes a microprocessor  22 , RAM  26 , read-only memory (ROM)  28 , I/O module  37 , end user interface  38  (to TV or VCR  40 ), and an interface  42  to the CMTS  44  and the broadband network. Additionally, the CG  20  includes a telephone module  31  and at least one telephone interface  34  to be able to provide a VOIP interface between the CG  20  and the customer. 
     The ROM  28  can retain the burn-in instructions and data even without power supply. Therefore, the GC  20 , a microprocessor-based device, will use ROM  28  to store the power on instructions. However, the access time from the processor  22  to a ROM to run regular tasks will be too slow. Therefore, when the GC  20  powers up, the instructions and data stored in the ROM  28  will be automatically loaded into the fast-access RAM  22 , where the microprocessor  22  fetches and executes these instructions from. The I/O module  37  controls all input output communication for the GC  20 . For example, the I/O module  37  and the I/O interface  42  provide connection between the GC  20  and a network system, such as CMTS. 
     The telephone module  31  includes a digital signal processor (DSP)  30 , a codec and SLIC  32  and two telephone interfaces  34 ,  35  which may be connected to a telephone  36 . The DSP  30 , working with the codec  32 , converts analog signals such as the user&#39;s voice into digital signals for transmission over the broadband network to the CMTS  44 , and coverts incoming digital signals from the CMTS  44  to analog format for output to the telephone set  36 . Accordingly, a customer can use the CG  20  in the same manner as a traditional “two-wire” telephone line in order to communicate with any other telephone user through the PSTN  100  connection. The fact that the services are being offered over a CATV system is transparent to the user. However, in accordance with the present invention, the telephone  36  may also be used to configure and diagnose the CG  20  as will be described hereinafter. The I/O interfaces  42 ,  38 ,  34 ,  35  between the CG  20  and the broadband network  42 , the TV/VCR  40  and the phone  36  respectively on the back of the CG  20  are shown in  FIG. 2B . 
     A customer or service personnel may configure or diagnose the CG  20  of the present invention utilizing the procedure shown in  FIG. 5 . The telephone module  31  processes the voice input analog signals and converts these analog signals into digital signals. Meanwhile, using this telephone module  31 , the system can convert files with digital data into voice output and read them to the end user. Additionally, a user can use the keypad of the telephone  36  or the keypad  45  located on the face of the CG  20  as an alternate input device  5 . 
     After the CG  20  is powered on, the microprocessor  22  will load a copy of the power-on confidence test program (test program) from the ROM  28  to the RAM  26 , where the test program will be executed (step  50 ) by the microprocessor  22 . The indicating lights  46  will be energized at predetermined intervals to show various statuses of different hardware components (step  52 ) within the CG  20 . It should be noted that the only CG  20  components in  FIG. 4  are those which may be needed for the operation of the present invention. Those of skill in the art would clearly recognize that a typical CG  20  includes many other components which are essential to the processing of voice, audio and video signals and other data for many different processes. Although there are very few components shown in  FIG. 4  for describing the present invention, it should be understood by those of skill of in the art that many more components within the CG  20  will be diagnosed and configured using the present invention. Those components however, are not shown or described herein. However, those components are typically controlled by a microprocessor, which may be the same or different then microprocessor  22 . In any event, microprocessor  22  will oversee all diagnostic testing within a CG  20 . 
     Referring back to  FIG. 5 , if the test result shows that the components within the CG  20  are functional, then one or more indicating lights  46  will be energized as an indication that the CG  20  and all associated functions including voice data, video and audio communications are working. If there is a problem with a particular component within the CG  20 , the indicating lights  46  are also selectively energized. The microprocessor  22  then loads a voice menu message task program (message task program) into RAM  26  (step  54 ). The particular message task program constantly monitors for a voice input from the telephone interfaces  34 ,  36  (step  56 ) or a data input from the keypad of the telephone set  36  or the keypad  45  on the face of the CG  20 . 
     The message task program is utilized by giving a particular voice command via the telephone set  36 , or by pushing a particular key or a combination of keys on the keypad of the telephone  36  or the CG keypad  45 . This input essentially comprises a keyword for initializing the message task program. The first task of the message task program is to authenticate the user (step  57 ). The authentication process can comprise requiring the user to input a password which is compared to a password stored in memory voiceprint identification by comparing a user&#39;s voice command to a voice file stored in memory. In this manner, the message task program verifies whether the user is a valid user. 
     Once the user has been authenticated, the activated message task program (step  58 ) will read out a first list of possible task selections to the user through the telephone set  36  (step  60 ). Then the message program task program will wait for the user&#39;s selection using a voice command or an input from one of the keypads  45 ,  36  (step  62 ). Once the message task program receives a valid selection from the user for the available tasks, the message task program will perform the selected task and output the result of the executed task in voice format to the user (step  64 ). Next, the message task program can read out an additional list of subtasks (step  66 ), and the user can either further select one of the available subtasks for the message task program to perform by returning to step  62 , or may exit, whereby the program returns to step  56  to wait for a user to enter the authentication process. 
     The message task program and its relevant files can be loaded into the RAM  26  from the ROM  28  or, in order to conserve memory, the message task program may be downloaded from the system administrator through the CATV network. The message task program provides a multi-level list of selectable tasks from which the user may select. Each list of tasks has a corresponding voice file. If the output to the user is selected by the user to be in audible format, the message task program retrieves the corresponding voice file associated with the list of tasks from memory, which will be output through the telephone module  31  to the telephone  36 . Therefore, the user can select a task based on the list of tasks that they heard by responding via a voice command or selecting a key on one of the keypads  45 ,  36 . 
     By providing different access codes to different users, the system can execute different lists of tasks or levels of security for different users. For example, the employees of the CATV network administrator have access codes with the highest level of security to invoke the full extended selections of lists of tasks, while a customer with a regular access code and a low level of security may only be able to invoke a limited number of tasks, or none at all. 
     Referring to  FIG. 6 , the message task program will retrieve a voice file corresponding to the first level diagnostic menu  80 , the voice file is corresponds to the menu  80  in WAV or any other format. Throughout the processing of the menu  80 , a selected option will be output to the user through the telephone  36 . The user will hear a list of selections of different tasks, such as: “1) test RAM, 2) test video output port . . . ” and so on until they hear the particular selection in which they are interested. If the user decides to run a RAM test (option  1 ), the user can respond with either a speaking voice command, such as “option one”, or pushing the number “1” key on one of the keypads  45 ,  36 . In case of voice input, the task program using speech recognition can interpret the user&#39;s voice command and run the RAM test program, thereafter reporting either “OK” or “error” back to the user. The user may also select option  8  which invokes a second level of diagnostics corresponding to the advance diagnostics menu  90 . The task program will also retrieve a corresponding voice file for the advanced diagnostic menu  90  to process and read out all five task selections from the advance diagnostic menu  90  for the user to listen to and select. The task program will either respond to a user&#39;s invalid selection by reporting the list of selections again or just exit when no valid input was received within a predetermined period of time. 
     As hereinbefore discussed, it is possible to assign different access codes to different people. For example, a consumer having an access code with a minimum security level can activate a diagnostic menu, such as the first level diagnostic menu  80 , but without the option to select the advanced diagnostic menu  90 , option  8 . In contrast, a trained technician can run the full extension of the first and the second level diagnostic menus  80 ,  90  or further download more diagnostic programs from the system administrator if such an option is available. 
     Although the CG has been used as an example for explanatory purposes, the invention can be implemented in all devices of the broadband network system. Such devices with the implementation of the present invention, are made much more user friendly, thereby lessening the burden on end users and reducing errors during the diagnosis software or hardware errors. If such devices typically do not have an associated handset, a user can connect a handset, and start to run diagnostic programs by voice command or key selection. The results of the selected diagnostic program will be communicated back in a voice format as aforementioned. It should be noted that although it has been described that hardware diagnostics can be performed using the present invention, any functions performed by software routines may also be diagnosed using the invention.