Abstract:
A call between a caller using a telephone device for the deaf (TDD) and another including a TDD user is connected by automatically prompting the TDD caller for calling information, parsing the received calling information to determine a forward number, and routing the call to one of a number of communication assistants. One embodiment involves storing the forward number before routing the call so the communications assistant can press a single button to connect the call. Another embodiment entails connecting the call automatically routing the call to the communications assistant.

Description:
BACKGROUND OF THE INVENTION 
     This invention relates to methods and means for relaying calls between hearing impaired telephone callers using TDD (Telecommunications Device for the Deaf) or ASCII (a computer protocol) technology and other users including voice users, and particularly to automatically connecting and completing such relay calls. 
     In present systems, a communications assistant (CA) at a relay station provides telecommunication relay service (TRS) by translating signals from a hearing-impaired caller using a TDD or ASCII and another party using voice. 
     With current technology, a hearing impaired person initiates a TDD call with a keyboard having a liquid crystal (LCD) display or a printer and the call arrives at a relay center. A PBX (post branch exchange) routes the call to a CA, i.e. a communications assistant or a communications attendant or operator, who now stops all other work. A modem at the CA position auto-answers and attempts to synchronize with the caller. After synchronization, the modem plays a prompt such as &#34;TRS HERE CA 1234 GA&#34;. The latter identifies the communication assistant&#39;s number such as 1234 and gives a signal such as GA meaning &#34;go ahead&#34;. This process consumes about ten seconds on the average, and wastes ten seconds of the communication assistant&#39;s time. The caller now supplies the forward number, i.e. the number to call, plus special billing information, if any. A typical caller response would be &#34;PLEASE CALL 708 555-1212 GA&#34;. On the average, it takes twenty to 30 seconds for the caller to type this information. The fastest callers complete this initial transaction in about five seconds. The slowest can take several minutes. The communication assistant can do nothing until the caller types &#34;GA&#34;. This involves a waste of the CA&#39;s time. 
     After the caller types &#34;GA&#34; the CA types the forward number and billing information into a billing record and then manually dials the call. This constitutes the first useful work that the CA has done on this call. A minimum of fifteen seconds has been wasted, but on the average about 30 to 40 seconds are wasted waiting for the caller&#39;s &#34;GA&#34;. This occurs on every ASCII or TDD originated call. The total accumulated time wasted in connected calls is substantial. 
     It is only after the communications assistant receives the GA signal that communication assistant performs the useful work of translating between TDD signals and voice signals. 
     U.S. Pat. No. 5,157,559 discloses a text-to-speech synthesizer that grammatically parses the text received from a hearing impaired party after the operator or CA has connected the call. This system is quite complex and still requires the operator for connecting the call. 
     An object of the invention is to improve methods and means for handling such calls. 
     Another object of the invention is to avoid the aforementioned difficulties. 
     SUMMARY OF THE INVENTION 
     According to an aspect of the invention, these objects are attained by automatically prompting a TDD caller for calling information, grammatically parsing received calling information to determine a forward number, and thereafter routing the forward number to one of a number of calling assistants for automatic dialing by the assistant. 
     According to another aspect of the invention, the parser program or subroutine looks for a signal that the grammatical input has been terminated by a go ahead signal, for example &#34;GA&#34;, and when finding one, signals to route the call to the next available assistant. 
     These and other features of the invention are pointed out in the claims. Other objects and advantages of the invention will become evident from the following detailed description when read in light of the accompanying drawings. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a block diagram of the architecture of a relay station embodying features of the invention. 
     FIG. 2 is a flow chart of steps performed by the structure in FIG. 1 for operating on a relay call in accordance with an embodiment of the invention. 
     FIG. 3 is a flow diagram of steps performed by the system of FIG. 1 for parsing messages from a caller. 
     FIG. 4 is a flow diagram of steps performed in the structure of FIG. 1 for automation of voice originated relay calls according to an embodiment of the invention. 
     FIG. 5 is a flow diagram of steps performed by the structure of FIG. 1 for automation of a forward call in accordance with an embodiment of the invention. 
    
    
     DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS 
     FIG. 1 illustrates the architecture of a telecommunications relay system embodying features of the invention. Here, a PBX X1 receives calls and passes them along a number of analog lines AL1 to a modem pool MP1 which may, for example, have 128 modems. A network communication platform CP1 in the form of a set of processors receives data from and sends data to the modem pool MP1. After processing the data, the network communications platform CP1 passes data to the lines LN1 of a local area network to a number of CA positions PO1 in the form of processors with displays DI1 and voice sets VO1. The platform CP1 also receives data from the PBX X1 through a line LN2. 
     The network communications platform CP1 routes the calls between the analog lines AL1, the modems of the modem pool MP1, the line LN1, and the CA positions PO1, as well as back from the positions PO1 to the modem pool and the analog lines. The line LN2 controls the PBX and causes it to route calls. The PBX X1 also connects the voice sets VO1 at the CA positions PO1 directly with outside callers&#39; voice sets VO2 for voice communication with voice callers. 
     In FIG. 1, a TDD or ASCII call arrives at the PBX X1. The network communications platform CP1 routes the call to the modem pool MP1. The network communications platform CP1 then automatically answers the line and plays a prompt such as &#34;TRS here GA&#34;. This means that the telecommunications relay service is answering &#34;please go ahead&#34;. In contrast to existing technology, the network communications platform CP1 does not display a CA identification because it is not yet known which CA will receive the call. Moreover, the automatic prompt does not specifically request particular information. Callers already know after the greeting that they should indicate whom they wish to call. This avoids intimidation of the caller with questions and interactive computer transactions which may lead to error and frustration. The system allows the callers to provide the information about what they want in their own way. However, this freedom on the part of the caller results in the information which may not follow any specific pattern. 
     In response, the caller types back billing and forward number information such as &#34;PLS CALL 708 555 1212 GA&#34;. Each character enters an input buffer BU1 in the network communications platform CP1. The processor of the communications platform CP1 invokes a parser program or subroutine which parses the present content of the input buffer BU1 after every character that is typed. The parser program looks for a &#34;grammatical&#34; input terminated by &#34;GA&#34;. When it finds one it signals the platform CP1 and the platform routes the call to the next available CA position PO1. 
     If the parser program has successfully parsed the input, the CA need only press a single &#34;dial&#34; button and the communications platform CP1 automatically dials the forward number. The platform automatically types the CA identification number and a dialing message back to the caller. A typical transaction here reads &#34;CA 1234 DIALING . . . &#34;. After the call is complete, the relay proceeds in the usual manner with the CA translating between the calling party and the called party. 
     A parser program stores a lexicon of words which the system expects the caller or other user to employ together with the parts of speech each word or &#34;token&#34; represents. The parsing program also contains a built-in grammar based upon expected use of the word. The parsing program determines whether a given input conforms to that grammar, i.e. whether the input is grammatical. It accomplishes this by matching the cases of the words or tokens of the input to the grammar. Accordingly, the parser program must initially store a grammar suited for the particular expected input text. To accomplish this storage, we establish a context free grammar that describes the type of expected input. Parser programs and their use are known and are described, for example, in &#34;Principles of Compiler Design&#34; by Alfred V. Aho and Jeffrey D. Ullman, published by Addison-Wesely, Reading Mass., copyright by Bell Laboratories, Inc. An off-the-shelf parsing program is called &#34;yacc&#34; and is part of the tool distribution that accompanies the system called UNIX. Another is called &#34;lex&#34;. U.S. Pat. Nos. 5,157,559; 5,146,405; 5,129,013; 5,056,104; 5,020,112; 4,636,939; and 4,446,341 also disclose parsing systems. The aforementioned Aho and Ullman publication, the yacc and lex programs, and the aforementioned patents are hereby made a part of this disclosure as if fully recited herein. 
     FIG. 2 illustrates detailed steps performed by the platform CP1 in FIG. 1. There, in step 204, the hearing impaired caller calls the relay center of FIG. 1. In step 207, the call arrives at the PBX. In step 210, the platform CP1 then routes the call to a modem in the modem pool MP1. In step 214, the platform CP1 then automatically answers the phone and plays a prompt such as &#34;TRS here GA&#34;. In step 217, the caller then responds by typing a request such as &#34;PLS CALL 708 555 1212 GA&#34;. In step 220, the caller&#39;s input message then goes into the parsing subroutine or program for analysis. Thereafter, in step 224, the platform CP1 routes the call to a calling attendant CA with billing information automatically supplied by the parsing program. Then, in step 227, the platform CP1 through the analog lines AL1 prompts the caller with a message such as &#34;CA 1234 DIALING . . . &#34;. In step 230, the CA dials with a single button. In step 234, the call is answered and the CA performs the usual relay translation. 
     To create the parser program requires collecting a corpus of sample input text based upon expected transactions with customers. Collecting the sample input text requires eliminating actual names and phone numbers to preserve privacy. For example, expected transactions such as &#34;PLS CALL DAVE AT (708) 713-5260 OK GA&#34; is transcribed as &#34;PLS CALL PNAME AT (XOX) XXX-XXXX OK GA&#34; to preserve anonymity. The corpus is analyzed to create a context free grammar. The parser subroutine, such as disclosed in the aforementioned Aho and Ullman book and the previously mentioned patents, operates on this context free grammar that accounts for most of the corpus collected. The parser subroutine parses the context free grammar and is in the form of standard compiler tools, such as lex or yacc. A typical rule in the grammar is: S→CALL --  VERB TO --  NUMBER GA TO --  NUMBER→AREA --  CODE-NXX-XXX 
     Another embodiment of the invention uses a finite state grammar instead of a context free grammar to describe this subset of English. However, a context free grammar is intrinsically more powerful. 
     The parser subroutine takes the form of lex, yacc, or other C codes and takes as input a buffer of text and produces as output a &#34;success&#34; or &#34;failure&#34; indication. In the case of success, it populates a billing record with all the information it extracted. The grammar looks for forward and back numbers, although back numbers hardly ever occur. It looks for key words such as &#34;collect&#34;, &#34;person-to-person&#34;, &#34;credit card&#34;, etc. It looks for credit card numbers. The format of all credit cards normally accepted are known. A valid credit card number always permits determination of the issuer, e.g. Visa, Amex, Diners, etc. of card. Phone numbers which exist have seven digits, ten digits, (seven plus area code), eleven digits (seven plus area code plus 1) or multi-digit international numbers which start with 011. The parser subroutine accepts all methods of presentation such as combinations of spaces, dashes, parentheses, etc. The grammar is easily updated to cover cases that have been missed or to add new applications. 
     FIG. 3 illustrates the steps of the parsing process in step 220 of FIG. 2. Here, in step 304 the parser matches the input against the stored lexicon. This is called &#34;tokenization&#34;. In step 307 it determines whether the token or word is valid, i.e. in the lexicon. If not, the parsing stops and the program routes the call to the CA. If valid, in step 310, it asks whether the token fits into the syntactic rules of the grammar. If not, the parsing stops and the call is routed to the CA; if it fits, the program goes to step 314. Here, the subroutine looks for and tags a forward number. The number may be seven, ten, or eleven digits, or may be international. All valid combinations are accepted such as 555-1212, 555 1212, 1 708 5551212, 1 (708) 555 1212, etc. In step 314, the parser subroutine also looks for and tags an alternate billing number and looks for and tags a credit card, collect, person-to-person, and third number. The parser subroutine in step 314 also looks for and tags a &#34;calling from&#34; number which is usually supplied by the PBX, and looks for a terminator such as &#34;GA&#34;. 
     In step 314, when the parser subroutine looks for the &#34;calling from&#34; number which originated the call, the latter is usually supplied automatically by the PBX. In step 317, the parser subroutine determines if this is a complete sentence as decided by the grammar. If not it returns to step 304 for the next entry. If it is a complete sentence, it goes to step 320 and retrieves all tagged items. It then populates a billing record with the forward number, the billing method, the credit card number, and calling number if present. In step 324 the program connects the call to the CA, and the process proceeds with steps 224 to 234. If the parsing is unsuccessful, the call is routed to a CA for attention. 
     According to another embodiment of the invention, in step 324, the program automatically places the call by dialling the forward number. Then, instead of continuing with steps 224 to 234 of FIG. 2, the platform CP1 proceeds as shown in FIG. 4. In step 404, the platform CP1 automatically dials the number in the billing record. Thereafter, in step 407, the platform CP1 monitors the call progress tones automatically for ringing, busy, reorder, etc. 
     In step 410, the platform CP1 then asks whether the call has been answered. If yes, the call proceeds to step 414 and the platform CP1 bridges a CA at one of the positions PO1 onto the call to perform the relay. If the answer is no, that is, the line is busy, out of order, or gives no answer, the platform CP1 in step 417 informs the caller automatically and no CA is needed unless requested. Because a large number of calls are either busy or give no answer, the use of the steps in FIG. 4 reduces the overall work time by avoiding use of the CA&#39;s for calls that cannot be completed. 
     In FIG. 4, when the operation is successful, the system automatically dials the forward number and places a &#34;call progress tone detector&#34; on the line. In the case of a busy, the platform automatically informs the caller that the line is busy. This is also so, in the case of no answer. In the case of an answer, the platform CP1 recognizes the answer and method of answer, e.g. voice or baudot or ASCII. Baudot is a communication protocol used by TDD&#39;s and constitutes a series of tones with no carrier. ASCII is a modem to modem communication protocol. In the case of a baudot or ASCII answer, the platform CP1 plays a greeting to the forward party and then connects a communication assistant to the line. In the case of voice answer, the platform will connect a CA to the line immediately. 
     The system according to the invention is completely invisible to subscribers as long as the parsing works correctly. The arrangement requires no explicit cooperation or concession on the part of subscribers. If the system is loaded to the point that there are no CA&#39;s available but there are available modems, the connection will take place, but after the caller types &#34;GA&#34; a delay occurs in getting an operator. If this delay exceeds a certain threshold, the platform CP1 plays a &#34;please hold&#34; message. 
     FIG. 5 illustrates the steps when a voice caller calls the relay center. Here, in step 504 calls the relay center. Thereafter, in step 507, the call is routed to the PBX. Then, in step 510, the PBX routes the call to the platform CP1 which answers the call and plays a prompt. The latter may be a dial tone or a voice prompt. 
     Then, in step 512, the customer dials or speaks the number. Thereafter, the platform CP1 collects the number and populates the billing record in step 517. Then, in step 520, the platform CP1 routes the call to the CA who identifies himself or herself and dials the number with a single button push. 
     The following are a number of variations of the arrangements available for use according to the invention. 
     Here, the CA or communications attendant may also be referred to as a communication assistant, call attendant, or a call agent. The relay may also be called a relay center. 
     Up-front Automation to Relay Center for TDD users: 
     Method 
     1. User dials into center. 
     2. User is prompted to type. 
     3. User types into buffer, completes with &#34;GA&#34;. 
     4. Buffer is parsed, forward number and additional information determined. 
     5. Call is routed to agent, with forward number pre-identified for agent. 
     6. Agent handles the call. 
     Up-front Automation to Relay Center for TDD users: 
     Method 
     1. User dials into center. 
     2. User is prompted for calling information. 
     3. User types into buffer, completes with &#34;GA&#34;. 
     4. Buffer is parsed, forward number determined. 
     5. Call is routed to agent, with forward number pre-identified for agent. 
     6. Agent confirms that forward number is correct, floats the call. 
     7. System dials forward number. 
     8. When call is answered, call is directed to an available agent. 
     9. Second agent handles the actual call. 
     Up-front Automation to Relay Center for TDD users: 
     Method 
     1. User dials into center. 
     2. User is prompted for calling information. 
     3. User types into buffer, completes with &#34;GA&#34;. 
     4. Buffer is parsed, forward number determined. 
     5. Forward number played to caller for confirmation. 
     6. Caller confirms or corrects forward number. 
     7. System dials forward number. 
     8. When call is answered, call is directed to an available agent. 
     9. Agent handles the actual call. 
     Up-front Automation to Relay Center for TDD users: 
     Method 
     1. User dials into center. 
     2. User is prompted for typing by user; prompt allows for special billing (Credit Card, CCC, 3rd party, collect, etc.); prompt is interactive, one question at a time input is via TDD. text is parsed, billing record prepared, forward number determined. 
     3. System dials forward number. 
     4. When call is answered, call is directed to an available agent. 
     5. Agent handles the call. 
     Up-front Automation to Relay Center for TDD users: 
     Method 
     1. User dials into center. 
     2. User is prompted for calling information prompt allows for special billing (Credit Card, CCC, 3rd party, collect, etc.) prompt is interactive, one question at a time input is via DTMF (Dual tone, multiple frequency) text is parsed, billing record prepared, forward number determined. 
     3. System dials forward number. 
     4. When call is answered, call is directed to an available agent. 
     5. Agent handles the call. 
     Up-front Automation to Relay Center for VOICE users: 
     Method 
     1. User dials into center. 
     2. User is prompted by system using TTS for forward number. 
     3. User enters number using DTMF. 
     4. Forward number determined. 
     5. Call is routed to agent, with forward number pre-identified for agent. 
     6. Agent handles the call. 
     Up-front Automation to Relay Center for VOICE users: 
     Method 
     1. User dials into center. 
     2. User is prompted for call information prompt allows for special billing (Credit Card, CCC, 3rd party, collect, etc.) prompt is interactive, one question at a time input is via DTMF text is parsed, billing record prepared, forward number determined. 
     3. System dials forward number. 
     4. When call is answered, call is directed to an available agent. 
     5. Agent handles the call. 
     Up-front Automation to Relay Center for Voice users: 
     Method 
     1. User dials in to center. 
     2. User is prompted (via recording) for calling information. 
     3. User speaks response - forward number collected by ASR (automatic speech recognition). 
     4. Forward number dialed. 
     Up-front Automation to Relay Center for both Baudot and Voice callers: 
     Method 
     1. Play announcement to caller in voice that also has Baudot embedded in the announcement. 
     2. System listens for response (announcement may be barge-in-able). 
     3. If response is DTMF, assume that caller is voice, and collect digits. 
     4. If response is Baudot, collect text. 
     5. If response is voice (speaker independent, connected digit recognizer) collect voice. 
     6. Dial forward number. 
     Automation for Relay Calls (general) using an automated operator: Callers who dial 0 are prompted to say &#34;operator&#34; &#34;collect&#34; &#34;third party&#34;, &#34;person&#34; etc. The recognizer recognizes the call type, then places the call. The recognizer must recognize call progress signals (ringing, reorder, busy, dead line, and even answering machines and fax lines, etc.). A call is routed to CA as soon as ringing or answer occurs. 
     For Data calls, the system prompts the called party with a modem even before we have an operator on the line. This back-end automation is the flip of front end automation. In front end automation, voice in is harder but the back end automation is easier, since a call occurs to a data device, whereas when the front end automation is for data call in, the call to the forward party is to voice. 
     Dialing Plan for Relay Center for all users: 
     Method 
     1. Collect digits by one of various methods outlined above. 
     2. If 7 digits entered, assume call is local to caller area code. 
     3. If forward number is 10 digits, assume 1+. 
     4. If forward number is 11 digits, scan first digit 
     if 1, treat as 1+ 
     if 0, assume special billing, user gets additional prompts 
     Name-announce feature for TDD to Voice relay calls: 
     Method 
     when TDD user calls into center, one of optional prompts is to type in name of calling, and/or called party. 
     when call is answered, answering party hears TTS voice announcing who the call is from, and who the call is for. 
     live agent comes on line to handle the call. 
     Name-announce feature for TDD to Voice relay calls with answer response feature: 
     Method 
     1. when TDD user calls into center, one of optional prompts is to type in name of calling, and/or called party. 
     when call is answered, answering party hears TTS voice announcing who the call is from, and who the call is for. 
     answering party has options via DTMF 1=I am that party. 2=that party is not here. 3=hold please, I will get that party. 
     live agent comes on line to handle the call, based on response by answering party. 
     While embodiments of the invention have been described in detail, it will be evident to those skilled in the art that the invention may be embodied otherwise without departing from its spirit and scope.