Making voice applications available to TDD users

Enabling your Blueworx Voice Response applications to communicate with TDDs makes your services and information available to callers who are unable to use an ordinary telephone.

Blueworx Voice Response can send characters as if it were another TDD. The voice application can recognize and generate TDD characters dynamically.

Figure 1. How Blueworx Voice Response interacts with a TDD
The TDD device is here shown sending and receiving TDD characters while linked to the state table of the Blueworx Voice Response pSeries computer. Blueworx Voice Response is also connected to a data communications network on a LAN.

TDD voice segments and prompts

To make a voice application available to TDD users, you have to add a new language to Blueworx Voice Response. The only TDD language supplied is “U.S. English TDD”. If you want to support TDD users in other languages, you can define other TDD languages. A TDD language is a voice-only language, containing only voice segments, prompts, and voice tables. It does not contain any window text.

Voice segments? Yes, the signals that are transmitted along the voice channel to the caller are stored in exactly the same way as ordinary voice segments. They can be generated automatically from the text descriptions of the default (spoken) voice segments in a custom server using CA_Get_Segment_Info() and CA_TTD_Create-Segment(). This uses the same mechanism as that used for converting text to speech, but TDD characters are generated instead of spoken words. Voice segments are played to the caller using the PlayPrompt action, just as spoken voice segments are.

To add a TDD language to the system, see the Blueworx Voice Response for AIX: Configuring the System information.

The prompts need to be tailored for usability with a TDD. For example, whereas a state table might usually speak “one thousand three hundred and ninety-two dollars”, it would be more appropriate for a TDD user to see “$1,392”. The supplied U.S. English TDD language database includes system prompts tailored in this way

To create tailored versions of prompts, you must create language-specific prompts, in the same way as you would for any other language, as described in the Blueworx Voice Response for AIX: Application Development using State Tables reference manual.

TDD custom server subroutines

There is a set of custom server subroutines for use in applications that work with TDDs:

These subroutines are included in the library /usr/lpp/dirTalk/sw/lib/libtdd.a. To use these subroutines, you must explicitly link in the libtdd.a library in the following way:

  1. Open the Properties window of the custom server that uses the TDD subroutines.
  2. In the Object Libraries pane, add the following entry:
    ${VAE}/sw/lib/libtdd.a

    This puts the libtdd.a reference in the custom server makefile.

For detailed information about the subroutines, see the Custom Servers manual.

There is a sample TDD custom server application that shows you how to use the subroutines. The sample is called TDD_sample; it is supplied as an import file, TDDSample.imp in the samples directory /usr/lpp/dirTalk/sw/samples, and must be imported as described in Importing application objects. The sample application uses a shell script, TDD_talk, which is also supplied.

You can make many of your voice applications enabled for TDD users, but the TDD technology imposes some restrictions :

Valid TDD characters

A TDD has a limited character set consisting of:

the space character

the uppercase alphabet

the digits 0 through 9

- (hyphen)

: (colon)

? (question mark)

$ (dollar)

( (left parenthesis)

+ (plus)

' (single quote)

" (double quote)

. (period)

, (comma)

) (right parenthesis)

/ (slash)

! (exclamation mark)

= (equals)

; (semicolon)

Lowercase alphabetic characters are automatically folded to uppercase.

Your application must send only valid characters to a TDD. The TDD also supports the following control codes :

BACKSPACE

<BS>

LINEFEED

<LF>

CARRIAGE RETURN

<CR>

It is recommended that your application inserts a <CR><LF> sequence after at most 68 printable characters, to help the TDD printer to display the messages properly.