how to program using ROCKWELL's Voice/Fax/Data


This document describes how to program using ROCKWELL's Voice/Fax/Data
chipset. The Zoltrix 14,400bps Fax/14,400 Modem with voice uses this chipset.

This document was converted to text using BitFax Pro's OCR capabilities. The
document this information came from is as follows:

ROCKWELL INTERNATIONAL
AT Command Reference Manual
for RC32ACW, RC32ACL, and
RC96V24AC Modem Families
ORDER NO. 833, Revision 1 July 2, 1993


                                            
8. VOICE COMMANDS

The modem may be configured in response to AT voice commands to provide enhanced
Adaptive Differential Pulse Code Modulation (ADPCM) coding and decoding for the
compression and decompression of digitized voice. ADPCM compression supports the
efficient storage of voice messages, while optional coder silence deletion and
decoder silence interpolation significantly increase compression rates.

The ADPCM Voice Mode Supports three sub modes once a voice connection is
established (see #CLS command): Online Voice Command Mode, Voice Receive Mode,
and Voice Transmit Mode.

8.1. VOICE SUBMODES
8.1.1. Online Voice Command Mode

Online Voice Command Mode is the default Voice sub mode entered when the #CLS=8
command is issued, and may also be entered from Voice Receive Mode or Voice
Transmit Mode. Entry Into Online Voice Command Mode is indicated to the DTE via
the VCON message, after which AT commands can be entered without aborting the
telephone line connection.
        
If the modem is the answerer, it enters Online Voice Command Mode immediately
after going off-hook, and can report instances of DTMF tones and calling tones
to the DTE. If the modem is the originator, it enters Online Voice Command Mode
based on detection of the ringback cadence going away, upon expiration at the
ringback never came timer, or upon detection of answer tone, and the modem can
report DTMF tones, answer tones, busy tone, and dial tone to the DTE.
(Note that DTMF tone reporting is supported in this mode if DTMF reporting is
enabled via the #VTD command.)

When this mode is entered as a result of going off-hook with the D or A command,
VCON is always sent to the DTE, after which the modem accepts commands. If this
mode is entered from Voice Transmit Mode, the DTE has issued the ,
and the modem responds with VCON. If this mode is entered from the Voice Receive
Mode because of a key abort, the modem issues the  followed by VCON.

If the #VLS command has switched in a handset or other device in place of the
telephone line, Online Voice Command Mode is immediately entered, whereas if
the telephone line is selected, a physical connection with another station
must occur before entering this mode.

8.1.2. Voice Receive Mode

Voice Receive Mode is entered when the DTE issues the #VRX command because it
wants to receive voice data. This typically occurs when either recording a
greeting message, or when recording voice messages from a remote station.

In Voice Receive Mode, voice samples from the modem analog-to-digital converter
(ADC) are sent to the ADPCM codec for compression, and can then be read by the
host. AT commands control the codec bits-per-sample rate and select (optional)
silence deletion including adjustment at the silence detection period.

In this mode, the modem detects and reports DTMF, dial tone, busy tone cadence,
and inactivity (periods of silence) as enabled by the #VTD and #VSS commands,
respectively. The modem can exit the Voice Receive Mode only via a DTE Key Abort,
or via Deadman Timer expiration (S30).

8.1.3. Voice Transmit Mode

Voice Transmit Mode is entered when the DTE issues the #VTX command because it
wants to transmit voice data. In this mode, the modem continues to detect and
report DTMF and calling tones if enabled by the #VTD command. This mode is
typically used when playing back greeting messages or previously
received/recorded messages.

In this mode, voice decompression is provided by the codec, and decompressed
data is reconstituted into analog voice by the DAC at the original voice
compression quantization sample-per-bits rate. Optional silence interpolation
is enabled if silence deletion was selected for voice compression.

8.2. VOICE CAPABILITIES
8.2.1. Call establishment - Originate
Directed Originate (Dial as a specific modem type)

For most call originations, it is known ahead of time what type of call is being
attempted, and it is acceptable to disconnect if the remote side of the
connection does not cooperate. In this case, the modem can be configured ahead
of time with the existing +FCLASS (and +FAA) or the #CLS command to be a data,
fax, or voice modem. For Data and Fax Modes, the modem subsequently either
succeeds with the desired type of connection, or eventually hangs up. For the
Voice Mode, the DTE has the option of hanging up if there are indications that
the remote station has not answered in voice, thus implementing a directed
originate for voice. The following are the three connection type choices:

VOICE

The modem dials and reports call progress to the DTE, which reduces to
reporting NO DIALTONE, or BUSY.

The modem allows the DTE to program a time period, which if elapsed after any
ringback is detected, forces the modem to assume the remote has gone off-hook.
A secondary time period (safety valve) can define a maximum elapsed time after
dialing for receiving no ringback before the modem assumes that the remote has
gone off-hook. This safety valve is devised in case the remote picks up the
telephone before any ringback is generated, and no other tones are detected.
In this mode, the modem is attempting to make a voice connection only and
therefore, while waiting for ringback to disappear, it is also feasible to
disconnect upon detection something which is definitely not Voice from the
remote, such as any answer tone. The modem  provides detection of "ringback"
went away or never came.

FAX

The modem dials and reports call progress to the DTE as in all modes. A fax
Class 1 or Class 2 handshake is pursued according to the current configuration.

DATA

The modem dials and reports call progress to the DTE as in all modes. A data
handshake is pursued according to the current  configuration.

Adaptive Originate (Dial with Voice/Data/Fax Discrimination)

The DTE may wish to originate a call which adapts to the remote answerer. For
instance, the user may wish to send a voice message if a human picks up the
telephone, but a facsimile if a fax machine answers. The modem can facilitate
this type of adaptive originate by extending what it does for the directed
originate modes. Alter determining that the remote station has picked up the
line, the modem goes back to Online Voice Command Mode, thus terminating the
"connecting state." Once in this mode, the modem reports what it receives from
the answerer via specific result codes to the DTE. The DTE can then have the
option of pursuing a data, fax, or voice connection.

8.2.2 Call Establishment - Answer
Directed Answer (Answer as a specific modem type)

If the DTE wants to be only one kind of answerer (i.e., voice, fax, or data),
it can configure the modem to answer exclusively in the chosen mode.

VOICE

The modem is configured to answer in Voice Mode only and assumes the caller will
cooperate. After going off-hook, the voice VCON is issued, no answer tone is
generated, and the modem is immediately placed In Online Voice Command Mode.
The DTE typically responds by sending a greeting message of some type, and DTMF
tone recognition/reporting can be enabled. Eventually, an Incoming voice
message can be recorded by the host. (Unpredictable results occur if the caller
is not prepared for a voice call.)         

FAX
The modem is configured to answer in Class 1 or Class 2 Fax Mode only, and it
assumes the caller is going to cooperate. This configuration has the effect of
disabling Voice Mode, forcing +FCLASS to either 1 or 2, and forcing both +FAA
and +FAE to 0.

DATA

The modem is configured to answer in Data Mode only and assumes the caller is
going to cooperate. This configuration has the effect of disabling Voice Mode,
forcing +FCLASS=0, and forcing both +FAA and +FAE to 0.
         
Adaptive Answer (Answer with Voice/Data/Fax Discrimination)

In normal operation, it is desirable for a modem supporting fax and voice to
provide the ability to discriminate between the two when answering unsolicited
or unattended calls. (It is most often the case that a fax is received or a
Voice message recorded when nobody is present.)
         
DATA/FAX Discrimination

If the DTE wishes to allow for a data or fax call, the +FCLASS and +FAA or +FAE
commands can be configured for adaptive answer between data and Class 1 or
Class 2 fax.

Voice/Fax Discrimination

This is the most important discrimination capability needed from the users
standpoint. The modem must be configured for Voice (#CLS=8), causing the modem
to enter Online Voice Command Mode immediately upon going off-hook. In Voice
Mode, the DTE automatically receives indications of DTMF tones and Calling
Tones. The DTE can now switch to Voice Transmit Mode in order to play a greeting
message, perhaps one which instructs the caller how to enter specific DTMF
sequences to switch modes. The DTE can then react to the response, or the lack
thereof, to such a message. The modem supports switching to a Class 1 or Class 2
answer mode by virtue of the #CLS=1 or 2 commands, and if such a switch is made
and fails, the modem reports the failure but does not hang up, allowing the DTE
further experimentation time. If the user wishes to switch to Class 1 or 2, but
also wants the DTE to indeed hang up the line if the fax fails, the +FCLASS
command should be used instead of the #CLS command. The only difference between
these commands is that issuing +FCLASS cancels the modems memory of voice, where
as #CLS causes the modem to remain off-hook, even if a fax or data handshake
fails, until it receives an H command.
         
Voice/Data/Fax Discrimination

The DTE can try data modem operation after an answer by changing the #CLS
setting to 0. A data handshake attempt can be added based upon DTMF responses or
lack thereof.
         
8.2.3. Voice Data Transfer

A significant area of concern when handling the transfer of voice data is the
data transfer rate on the modem/DTE interface. Data transfer rates can be
expressed as the number of interrupts which must be serviced per time period to
keep up. This is a function of the sampling rate and compression method (if any)
used by the modem, and the DTE interface speed required to handle the data flow
on the telephone line side.

Table 8-1 demonstrates the relationship between the sampling rate, interrupt
rate, and DTE speed necessary for the modem to support various compression
ratios. The 16C550 UART is strongly recommended to support Voice Mode operation,
and is essential for MS Windows environments.

                       Table 8-1. 7.2 KHZ Sample Rate DTE Speeds
                                            
Modem Samples per    Required Asynchronous DTE    Implied DTE Speed Supported
8-bit Byte           Speed (8N1 Format)

2 (4-bits)              36,000 bps                38.4 kbps
2.66 (3-bits)           27,000 bps                38.4 kbps
4 (2-bits)              18,000 bps                19.2 kbps

Note: The current exclusive sampling rate Is 7.2 kHz.

8.2.4. Tone and Status Monitoring-- Shielded  Statuses

The modem can detect specific tones and other status information, and report
these to the DTE while in any of the three voice submodes. The modem
simultaneously looks for 1300 and 1100 Hz calling tones when answering, and for
CCITT and Bell answer tones when originating. The modem can also detect dial or
busy tones in any of the three voice submodes. All detected tones, as well as
certain other statuses addressed In Table 8-2 such as silence and
"teleset off-hook" (i.e., handset off-hook) are reported as shielded codes.

When in Online Voice Command Mode or Voice Transmit Mode, the codes in Table 8-2
are sent to the DTE immediately upon verification by the modem of the associated
tone, status, or cadence. In this mode, the 2-character code is not buffered,
nor does the DTE have the ability to stop the code with flow control. If the
DTE has started (but not completed) sending any AT command, the Tone Monitoring
function is disabled until the command has been received and processed.

The modem can discriminate between single and multiple DTMF tones received. If
calling tone, dial tone, busy tone, or answer tone is detected, this detection
is reported repeatedly (at reasonable intervals) if the DTE takes no action,
and the tone continues to be detected.


Table 8-2. Shielded Codes Sent to the DTE
         
Code Sent to DTE        Meaning

0-9,          DTMF. Digits 0 through 9, *, #, or A through D detected
*,#,          by the modem, i.e., user has pressed a key on a local or
A-D           remote telephone. The modem sends only one  code
                        per DTMF button pushed.

a                  Answer Tone (CCITT). Send to the DTE when the V.25/T.30
                        2100 Hz Answer Tone (Data or Fax) is detected. If the
                        DTE fails to react to the code, and the modem continues
                        to detect Answer tone, the code is repeated as often as
                        once every half second.

b                  Busy. Sent in Voice Receive Mode when the busy cadence
                        is detected, after any remaining data in the voice
                        receive buffer. The modem sends the busy b code
                        every 4 seconds if busy continues to be detected and the
                        DTE does not react. This allows the DTE the flexibility
                        of ignoring what could be a false busy detection.

c                  Calling Tone. Sent when the T.30 1100 Hz Calling Tone
                        (Fax Modem) is detected in any of the voice operating
                        modes. The modem assumes that the calling tone is valid
                        and sends this code only after 4 seconds of proper
                        cadence has been detected. If the DTE does not react to
                        the c, and calling tone continues, the code is sent
                        again as often as once every 4 seconds.

d                  Dialtone. Sent In Voice Receive Mode when dial tone is
                        detected after any remaining data in the voice receive
                        buffer. The modem sends the j code every 3 seconds
                        if dial tone continues to be detected and the DTE does
                        not react. This allows the DTE the flexibility of
                        ignoring what could be a false dial tone detection.

e                  European Data Modem Calling Tone. Sent when the V.25
                        1300 Hz Calling Tone (Data Modem) is detected in a voice
                        submode. The modem assumes that the calling tone is
                        valid, and sends this code only after 4 seconds of
                        proper cadence has been detected. If the DTE does not
                        react to the e and calling tone continues, the code
                        is sent again as often as once every 4 seconds.

f                  Bell Answer Tone. Sent when Bell 2225 Hz Answer Tone
                        (Data) is detected. It the DTE falls to react to the
                        code and the modem continues to detect Answer tone, the
                        code is repeated as often as every 1/2 second.

h                  Hung Up Handset. Sent immediately when the modem detects
                        that the local handset has hung-up (i.e., has
                        transitioned from off-hook to on-hook) while in any of
                        the three voice sub modes.

o                  Overrun. Sent In Voice Receive Mode if the voice receive
                        data buffer overflows, in which case, the latest data is
                        lost in favor of retaining the oldest data in the
                        buffer. (The DTE may not have been reading data from the
                        modem lately.) The modem inserts the o at the end
                        of the buffer, thus marking the location where data was
                        lost by the DTE. The modem does not append  o
                        codes to the buffer contiguously. If more than one data
                        byte is lost before the DTE begins reading again, there
                        is only on o code in the data stream. However, if
                        the DTE resumes reading, and then once again allows the
                        buffer to overflow, a new o is appended to the data
                        by the modem. Thus, the   o does not indicate
                        how many bytes of contiguous data has been lost, but may
                        report multiple gaps of lost data in the data stream.

q                  Quiet. Sent in Voice Receive Mode following any
                        remaining data in the receive voice buffer when the
                        silence detection timer (#VSP) expires and there has
                        been voice data passed to the DTE. Note that with
                        #VSS=0, the Quiet message never occurs. But with silence
                        deletion turned on, #VSS may not in itself be sufficient
                        since "cracks and pops" for a short duration directly
                        after a connection should not be considered Voice. In
                        general, q is sent if first there was sound, and
                        now there is no sound, and means that somebody has
                        stopped talking, and according to the criteria selected
                        in the #VSP and #VSS settings, is probably not going to
                        start again. If the DTE ignores the q code, the
                        modem automatically resets its timer and sends the code
                        again if the #VSP time period again expires. This allows
                        the DTE time to react to what may be a false silence
                        detection.

Table 8-2. Shielded Codes Sent to the DTE (Cont'd)
         
Code Sent to DTE        Meaning

s                  Silence. Sent In Voice Receive Mode after the silence
                        detection timer (#VSP) expires and if valid voice has
                        not been detected (#VSS). In general, s is sent if
                        no sound was detected at all. This differs slightly
                        from Quiet (q) in that it can be used by the DTE
                        in its discrimination algorithms as a means of
                        determining if anything at all is coming from the
                        remote station. If the DTE ignores the s code,
                        the modem automatically resets its timer and sends the
                        code again if the #VSP time period again expires. This
                        allows the DTE time to react to what may be a false
                        detection of silence.

t                  Handset Off-Hook. Sent one time when the local handset
                        transition from on-hook to off-hook is detected in any
                        of the three voice submodes.

u                  Underrun. Sent in Voice Transmit Mode when the voice
                        transmit buffer becomes empty without receiving a
                           or  command first. The modem
                        remains in transmit mode, but issues the u to
                        indicate that silence is being generated. When the DTE
                        resumes sending bytes, the modem allows a small number
                        of bytes to build up in the buffer before re-enabling
                        the transmitter to avoid repeated underruns. However,
                        with the underrun condition, the modem does not wait
                        for the XOFF threshold (or timer) to be met before
                        resuming, as it does on an initial transmit or resume
                        operation because the remote listener may be unaware
                        of the underrun, and keeping the silence short may
                        serve to mask the underrun altogether.

              End of Stream.  is sent to denote the end of
                        a voice data stream, similar to fax Class1 and 2. This
                        occurs in Voice Receive Mode only after the DTE issues
                        the key abort.
         
8.2.5. Shielded  Commands from the DTE

Most commands issued for voice are implemented as extensions to the AT command
set, and are accepted only if the modem is in a valid command mode, such as
Online Voice Command Mode. However, there are some operations which are
available to the DTE without necessitating a switch to Online Voice Command
Mode. The most obvious of these is the   which the DTE issues during
Voice Transmit Mode to terminate an output message. Table 8-3 lists shielded
 commands recognized by the modem.
           
8.2.6. Voice Record

To effect recording of a message received via a handset or microphone, the DTE
must configure the modem for Voice Mode (#CLS=8), and select the proper relay
setup (#VLS) to instruct the modem whether to use the auxiliary device. The
modem responds to the #VLS command by issuing a relay activate command to select
the input device. When a device other than the telephone line is selected, the
modem immediately enters Online Voice Command Mode (indicated by VCON). DTMF
detection is therefore enabled as soon as the DTE selects the device, such as
a handset, although the user still needs to physically pick up the telephone
and "press buttons." Even if the DTE has not entered Voice Receive or Transmit
Modes (#VTX or #VRX), those DTMF tones are delivered via shielded codes
identically to when a physical telephone connection exists but the DTE has not
yet commanded receive or transmit.

When the DTE decides to record the message, it issues the #VRX  command and
upon command receipt, the modem immediately switches to Voice Receive Mode.
Since the microphone or handset is switched in, the modem immediately issues
the CONNECT message indicating that the modem has switched to Voice Receive
Mode and is beginning the transfer of ADPCM voice data as well as shielded
DTMF tones, and other tones and statuses.

In this recording state, the modem (if so configured) monitors for line silence.
If the #VSP period expires, the modem sends the q or s code to the
DTE.

Recording can be canceled only via two events:
1.      The DTE sends any character to the modem. This is the key abort, and is
        the normal method of terminating the receive mode.
2.      The S30 deadman timer expires, which is generally an undesired event.

Table 8-3.  Shielded DTE Codes
         
Code Sent to    Meaning
  Modem

      Terminate. Sent during Voice Transmit Mode to indicate that the
                DTE has finished transmitting a Voice message. The modem
                completes transmission of any remaining data in the Voice
                transmit buffer before responding with the VCON message and
                entering Online Voice Command Mode. (This command is ignored
                by the modem when not in Voice Transmit Mode.)

      Cancel. Sent during Voice Transmit Mode to indicate that the
                DTE has finished transmitting a Voice message and wants the
                modem to discard any remaining data in the voice transmit
                buffer. The modem immediately purges its buffer, and then
                responds with the VCON message entering online Voice Command
                Mode. (This command is ignored by the modem when not in Voice
                Transmit Mode.)

p          Pause. Sent during Voice Transmit Mode to force the modem to
                suspend sending Voice data to the selected output device(s).
                Any data currently in the Voice transmit buffer is saved until
                either a resume (r), or cancel , is received,
                in which case the data is lost. If a  is received
                during the paused state, the modem processes it normally, and
                also automatically resumes transmission of the data left in the
                buffer (appended with ). Any other data received from
                the DTE while in this paused state is placed in the transmit
                buffer according to available space, with flow control active.
                (This command is ignored in other Voice submodes.)

r          Resume. Sent during Voice Transmit Mode to force the modem to
                resume sending voice data to the selected output device(s).
                Any data currently in the Voice transmit buffer is now played.
                (This command is ignored in other Voice modes.) The pause and
                resume commands are different than a simple suspension of data;
                data in the buffer is "frozen" and not played when the DTE
                pauses.
8.2.7. Voice Playback

To effect playback of a message recorded via a handset or microphone, or of a
message recorded during a voice call, the DTE must configure the modem for
Voice Mode (#CLS=8) and select the proper relay setup (#VLS) to instruct the
modem whether to use the handset or speaker. The modem responds to the #VLS
command by issuing a relay activate command to select the input device. The
hardware must provide a means of selecting a handset and/or microphone instead
of the telephone line, as this input device. When a device other that the
telephone line is selected, the modem immediately enters Online Voice Command
Mode (indicated by VCON). DTMF detection is thus enabled as soon as the DTE
selects the device, such as a handset, although the user still needs to
physically pick up the telephone before he can issue DTMF tones. Once selected,
however, the user can indeed pick up the telephone and "press buttons." Even
if the DTE has not entered Voice Receive or Transmit Modes (#VTX or #VRX),
these DTMF tones are delivered via shielded codes, identically to when a
physical telephone connection exists but the DTE has not yet commanded receive
nor transmit.
            
When the DTE decides to play the message, it issues the #VTX command, and the
modem immediately switches to Voice Transmit Mode. Since the speaker or handset
is already switched in, the modem immediately issues the CONNECT message
indicating that the modem is in Voice Transmit Mode and is expecting Voice data
from the DTE.

A subsequent  has to be issued to switch back to Online Voice Command
Mode.
       
8.2.8. Voice Call Termination
Local Disconnect

The DTE can disconnect from a telephone call by commanding a mode change to
Online Voice Command Mode (if not already in it), and by issuing the H command.

Remote Disconnect Detection

When In Voice Receive Mode, the modem sends the proper shielded  code when
loop break, dial tone, or busy tone is detected. The modem stays in Voice
Receive Mode, however, until the DTE issues a key abort to force Online Voice
Command Mode. The DTE must issue the H command if it wishes to hang up.

8.2.9. Mode Switching
Voice to Fax

If the modem is in Online Voice Command Mode (i.e. it has gone off-hook with
#CLS=8 in effect), the DTE can attempt a fax handshake by setting #CLS=1 or
#CLS=2 followed by the A or D command corresponding to fax receive or send.
This has the effect of beginning a fax Class 1 or Class 2 handshake
(see #CLS command).
           
Unsuccessful Fax Connection Attempt to Voice

A fax handshake which does not succeed, attempted as the result of the DTE
modifying the #CLS setting from voice (8) to fax (1 or 2) does not result in
the modem hanging up, allowing the DTE the flexibility of commanding a switch
back to Voice Mode with #CLS=8.
           

Voice to Data

If the modem is in the Online Voice Command Mode the DTE can attempt a data
handshake by setting #CLS=0 followed by the A or D command. This has the effect
of beginning a Data Mode handshake according to the current Data Mode
S-register and command settings.
           
Unsuccessful Data Connection Attempt to Voice

A data handshake which does not succeed attempted as the result of the DTE
modifying the #CLS setting from voice (8) to data (0), does not result in the
modem hanging up, allowing the DTE the flexibility of commanding a switch back
to Voice Mode with #CLS=8.
           
8.2.10. Caller ID (Not supported on Zoltrix Models)

The modem supports Caller ID by passing the information received in Bell 202
FSK format to the DTE after the first RING detect. The modem supports both
formatted and unformatted reporting of Caller ID information received in ICLID
(Incoming Call Line ID) format as supported in certain areas of the U.S. and
Canada. The DTE enables this feature via the #CID command.
           
8.3. AT VOICE COMMAND SUMMARY

Table 8-4 provides a complete summary of the AT voice commands described in
detail in Sections 8.3.1 and 8.3.2.
           
8.3.1. Global AT Command Set Extensions

The AT commands in the following section are global meaning that they can be
issued in any appropriate mode (i.e., any #CLS setting).

For consistency, the command set is divided into action commands and parameters
(non-action commands). Those commands which are action commands
(i.e., those which cause some change in the current operating behavior of the
modem) are identified as such, and the remaining commands are parameters.
           
ATA - Answering In Voice

The answer action command works analogously to the way it works in Data and Fax
Modes except for the following:

1.      When configured for Voice Mode (#CLS=8), the modem enters Online Voice
        Command Mode immediately after going off-hook. When the #CLS=8 command
        is issued, the modem can be programmed to look for 1100 and 1300 Hz
        calling tones (see #VTD), thus eliminating the need to do so as part of
        A command processing. After the VCON message is issued the modem
        re-enters Online Voice Command Mode while sending any incoming DTMF or
        Calling Tone indications to the DTE as described In Section 8.2.5.

2.      After answering in Voice Mode (#CLS=8) the DTE, as part of its call
        discrimination processing can decide to change the #CLS setting to
        attempt receiving a fax in Class 1 or to make a data connection. In 
        such a case the DTE commands the modem to proceed with the data or fax
        handshake via the A command even though the modem is already off-hook.          

Result Code:
VCON            Issued in Voice Mode (#CLS=8) immediately after going off-hook.
Table 8-4. AT Voice Command
Command Function
A               Answering in Voice Mode.
D               Dial command in Voice Mode.
H               Hang up in Voice Mode.
Z               Reset from Voice Mode.
#BDR            Select baud rate (turn off auto baud).
#CID            Enable Caller ID detection and select reporting format.
#CLS            Select data fax or voice
#MDL?           Identify model.
#MFR?           Identify manufacturer.
#REV?           Identify revision level.
#VBQ?           Query buffer size.
#VBS            Bits per sample (ADPCM).
#VBT            Beep tone timer.
#VCI?           Identify compression method (ADPCM).
#VLS            Voice line select (ADPCM).
#VRA            Ringback goes away timer (originate).
#VRN            Ringback never came timer (originate).
#VRX            Voice Receive Mode (ADPCM).
#VSD            Silence deletion tuner (voice receive ADPCM).
#VSK            Buffer skid setting.
#VSP            Silence detection period (voice receive ADPCM)
#VSR            Sampling rate selection (ADPCM).
#VSS            Silence deletion tuner (voice receive)
#VTD            DTMF/tone reporting capability.
#VTX            Voice Transmit Mode (ADPCM).
         
ATD     Dial Command In Voice

The dial action command works analogously to the way it works in Data or Fax
modes. When In Voice Mode (#CLS=8):

1.      The modem attempts to determine when the remote has picked up the
        telephone line and once this determination has been made, the VCON
        message is sent to the DTE. This determination is initially made based
        upon ringback detection and disappearance. (See #VRA and #VRN commands.)

2.      Once connected in Voice Mode the modem immediately enters the command
        state and switches to Online Voice Command Mode which enables
        unsolicited reporting of DTMF and answer tones to the DTE.
             
Parameters:     Same as Data and Fax modes.
Result Codes:
VCON            Issued in Voice Mode (#CLS=8) when the modem determines that
                the remote modem or handset has gone off-hook, or when
                returning to the Online Voice Command Mode. (See #VRA and #VRN.)

NO ANSWER       Issued in Voice Mode (#CLS=8) when the modem determines that
                the remote has not picked up the line before the S7 timer
                expires.
                 
ATH - Hang Up In Voice

This command works the same as in Data and Fax modes by hanging up
(disconnecting) the telephone line. There are, however, some specific
considerations when in Voice Mode:

1.      The H command forces #CLS=0 but does not destroy any of the voice
        parameter settings such as #VBS, #VSP, etc. Therefore if the DTE
         wishes to issue an H command and then pursue another voice call it
        must issue a subsequent #CLS=8 command, but it needn't reestablish the
        voice parameter settings again unless a change in the settings is
        desired.

2.      The #BDR setting is forced back to 0, re-enabling auto baud.

3.      If the #VLS setting is set to select a device which is not, or does not
        include the telephone line (such as a local handset or microphone),
        the H command deselects this device and reselects the normal default
        setting (#VLS=0). Normally, the DTE should not issue the H command
        while connected to a local device each as a handset, because merely
        selecting this device results in VCON. The normal sequence of
        terminating a session with such a device is to use the #VLS command to
        select the telephone line, which by definition makes sure it is on-hook.

Parameters:     Same as Data and Fax modes.
Result Codes:   Same as Data and Fax modes.
         
ATZ  Reset from Voice Mode

This command works the same as in Data and Fax modes. In addition, the Z
command resets all voice related parameters to default states, forces the
#BDR=0 condition (autobaud enabled), and forces the telephone line to be
selected with the handset on-hook. No voice parameters are stored in NVRAM so
the profile loaded does not affect the voice aspects of this command.

Parameter:      Same as Data and Fax modes.
Result Codes:   Same as Data and Fax modes.

#BDR     Select Baud Rate (Turn off Autobaud)

This command forces the modem to select a specific DTE/modem baud rate without
further speed sensing on the interface. When a valid #BDR=n command is entered,
the OK result code is sent at the current assumed speed. After the OK has been
sent, the modem switches to the speed indicated by the #BDR=n command it has
just received.

        When In Online Voice Command Mode and the #BDR setting is nonzero
(no autobaud selected), the modem supports a full duplex DTE interface. This
means that the DTE can enter commands at any time, even if the modem is in the
process of sending a shielded code indicating DTMF detection to the DTE. When
in Online Voice Command Mode and the #BDR setting is zero (autobaud selected),
shielded code reporting to the DTE is disabled. [Note that when #BDR has been
set nonzero, the modem employs the S30 Deadman Timer, and this timer starts at
the point where #BDR is set nonzero. If this period expires (nominally 60
seconds) with no activity on the DTE interface, the modem reverts to #BDR=0
and #CLS=0.

Parameters:     n = 0 - 48 (New baud rate is n*2400 bps)
Default:                0
Result Codes:
    OK          If n=0-48.
    ERROR       Otherwise.
         
Command options:
#BDR?   Returns the current setting of the #BDR command as an ASCII decimal
        value in result code format.       
#BDR=?  Returns a message indicating the speeds that are supported.
#BDR=0  Enables autobaud detection on the DTE interface.
#BDR=n  Where 1 ; pairs, separated by s. Within
each line, the  is left justified, and is separated from the  by the
semicolon character and separated from the bits-per-sample string by another
semicolon. 
Parameters:     None
Command option:
#VCI?           Returns the message, ROCKWELL;ADPCM;8.
               
#VLS  Voice Line Select

This action command can be used to select which devices are routed through the
modem.
Parameters:     n = 0,1,2,3, or 4 [This is the device position number
                (not device number) as reflected in response to #VLS=?]
Default:        0
Result Codes:
OK      If n=0,1,2,3,or 4.
VCON    If device selected does not connect to the telephone line.
        (A speaker is such a device, but a telephone line with speaker ON is
        not such a device, and generates OK.)
ERROR   If n does not equal 0, 1, 2, 3, or 4, or if already off-hook.
Command options:
#VLS?   This query returns the current setting at the #VLS command as an ASCII
        decimal value in result code format.
#VLS=?  This query requests a report of the device types available for
        selection. The response is a series of numbers separated by commas,
        and each number indicates a device position number. Currently device
        position numbers do happen to correspond to device type numbers as
        shown in Table 8-5, but this correlation is not required
        (i.e., 0's could be placed in the first few device position number
        locations to correspond to multiple telephone line connections).
#VLS=0  The default option on the modem. This command instructs the modem that
        when entering any of the three Voice operating submodes
        (Online Command, Transmit, or Receive), that the telephone line
        interface should be routed through the modem. The OK response is sent
        to the DTE, and any  previous connection is lost
        (i.e., the modem ends up on-hook as a result of issuing this command
        to connect to the telephone line).
#VLS=1  This command instructs the modem to route only the handset through the
        modem. This setting can be chosen before recording a greeting message.
#VLS=2  This command instructs the modem to route only the speaker through the
        modem. This setting can be chosen before playing back any message. The
        modem immediately switches to Online Voice Command Mode, and the VCON
        response is generated for completeness. However, since this is an
        Output only device, nothing of consequence can happen until the DTE
        sends the #VTX command.
#VLS=3  This command instructs the modem that only the auxiliary input device
        (microphone) should be routed through the modem. This setting can be
        chosen before recording a greeting message.
#VLS=4  This command is the same as #VLS=0, except that the modem enables the
        internal speaker as well as the telephone line/handset circuit.
Table 8-5. Device Types Supported by #VLS
         
ASCII Digit     Device Type and Considerations
0               Telephone Line with Telephone handset. This is the default
                device selected. In this configuration, the user can pick up a
                handset which is connected to the same telephone line as the
                modem, and * record both sides of a conversation with a remote
                station. The modem currently supports one telephone
                line/handset, which is in the first position of the #VLS=?
                response. (Note that the modem can interface to multiple
                telephone lines by having "0"'s in multiple positions in the
                #VLS? response.) I telephone line is selected, the modem must
                be on-hook or it hangs up. The OK message is generated.

1               Transmit/Receive Device (other than telephone line). This is a
                handset, headset, or speaker-phone powered directly by the
                modem. When such a device is selected, the modem immediately
                enters Online Voice Command Mode, DTMF monitoring is enabled
                if applicable, and the VCON response is sent. The modem
                supports one such device as the second device listed in the
                #VLS=? response.

2               Transmit Only Device. Normally, this is the onboard speaker.
                When this device is selected, the modem immediately enters
                Online Voice Command Mode, and the VCON response is sent. The
                modem supports selection of the internal speaker as the third
                device listed in #VLS=? response.

3               Receive Only Device. Normally, this is a microphone. When such
                a device is selected, the modem immediately enters Online Voice
                Command Mode, DTMF monitoring is enabled if applicable, and the
                VCON response is sent. The modem supports one microphone as the
                fourth element returned in the #VLS=? response.

4               Telephone line with Speaker ON and handset. This device type
                can be used to allow the DTE to select the telephone
                line/handset (if picked up) with the modem speaker also turned
                ON. This can be used by the DTE to allow the user to monitor
                an incoming message as it is recorded.
               
#VRA    Ringback Goes Away Timer (Originate)

This command can be used, when originating a Voice call (#CLS=8) to set the
"Ringback Goes Away" timer value, i.e., an amount of time (in units of 100 ms)
measured from when the ringback cadence stops once detected. If ringback is
not detected within this period, the modem assumes that the remote has picked
up the line and switches to Online Voice Command Mode. Every time a ringback
cycle is detected, this timer is reset.
Parameters:     n = 0 - 255 (0 - 2.55 seconds)
Default:        70
Result Code:
OK              If n = O - 255.
ERROR           Otherwise.

Command options:
#VRA?   Returns the current setting of the #VRA command as an ASCII decimal
        value in result code format.
#VRA=?  Returns the message, "0-255".
#VRA=0  Turns off the ringback goes away timer. After one ring back, the
        dialing modem sends VCON and enters Online Voice Command Mode
        immediately.
#VRA=n  Where n defines the period without ringback (after at least one
        ringback has been detected) in 100 ms units.

#VRN - Ringback Never Came Timer (Originate)

This command can be used when originating a voice call (#CLS=8) to set the
Ringback Never Came timer value, i.e., an amount of time (in units of 100 ms)
measured from completion of dialing. If ringback is not detected within this
period, the modem assumes the remote has picked up the line and switches to
Online Voice Command Mode.
Parameters:     n = 0 - 255 (0 - 2.55 seconds)
Default:        100
Result Code:
OK              If n = 0 - 255.
ERROR           Otherwise.
Command options:
#VRN?   Returns the current setting of the #VRN command as an ASCII decimal
        value in result code format.
#VRN=?  Returns the message, "0-255" .
#VRN=0  Turns off the "ringback never came timer". After dialing, the modem
        sends VCON and immediately enters Online Voice Command Mode.
#VRN=n  Where n defines the period without ringback after dialing in 100 ms
        units.
         
#VRX    Voice Receive

This action command is only valid if the modem is in the Online Voice Command
Mode (indicated previously with the VCON message), and is the switch to the
Voice Receive Mode. This command is used when a voice file is to be received
from the line, microphone, or handset. The #VLS command should have been
previously issued to select the input source.
Parameters:     None
Result Codes:
Connect         When voice transfer from modem to DTE can begin.
ERROR           If #VLS=0 and not connected to any input device.
            
#VSD - Enable Silence Detection (Voice Receive)

This command is used to enable or disable Voice Receive Mode silence deletion.
Parameters:     n = 0 or 1
Default:        0 or 1
Result Code:
OK              If n = 1.
ERROR           Otherwise.
Command options:
#VSD?   Returns the current setting of the #VSP command as an ASCII decimal
        value in result code format.
#VSD=?  Returns the message, "1".
#VSD=0  Turns off the silence deletion.
#VSD=1  Turns on the silence deletion if the silence sensitivity setting #VSS
        is nonzero. The aggressiveness of the silence deletion is controlled
        by #VSS.

#VSK    Buffer Skid Setting

This command queries and sets the number of bytes of spare space, after the
XOFF threshold is reached, in the modems buffer during Voice Transmit Mode.
This equates to the "skid" spare buffer space, or the amount of data the DTE
can continue to send after being told to stop sending data by the modem, before
the modem voice transmit buffer overflows.
Parameter:      n = 255 (Number of bytes of skid spare buffer space)
Default:        255
Result Code:
OK              If n = 255
ERROR           Otherwise.
Command options:
#VSK?   Returns the current setting of the #VSK command as an ASCII decimal
        value in result code format.
#VSK=?  Returns the message, "255".
#VSK=n  n defines the 255 unused bytes remaining in the modem voice transmit
        buffer after an XOFF is sent to the DTE.
         
#VSP    Silence Detection Period (Voice Receive)

This command sets the Voice Receive Mode silence detection period
(inactivity timer) value. The parameter, in units of 100 ms can be used when
receiving voice data. This is an amount of time which if elapsed without
receiving any ADPCM data, causes the modem to send the s or q codes
after insuring that the buffer is empty. There are two cases:

1.      With the modems silence deletion feature enabled, the #VSP setting is
        in effect an inactivity timer. The modem must reset this timer on every
        byte of voice data received.
2.      With the modems silence deletion feature disabled the modem determines
        what constitutes silence. This involves monitoring and debouncing the
        modem value for average energy. If this debounced value is less than an
        arbitrary  threshold constituting the modems definition of silence for
        a period greater than that defined by the #VSP setting, the modem sends
        the q or s shielded code to the DTE.
Parameters:     n = 0 - 255 (0 - 25.5 seconds)
Default:        55
Result Code:
OK              If n = 0 - 255.
ERROR           Otherwise,
Command options:
#VSP?   Returns the current setting of the #VSP command as an ASCII decimal
        value in result code format.
#VSP=?  Returns the message, "0-255".
#VSP=0  Turns off the silence period detection timer.
#VSP=n  Where n defines the period without received voice data in 100 ms units.
         
#VSR    Sampling Rate Selection

This parameter, along with the bits per sample (#VSS) command, determines the
necessary DTE interface speed to transmit and receive in the Voice Mode.
Parameter:      n = 7200 (7200 Hz sampling rate)
Default:        7200
Result Codes:
OK              If n = 7200.
ERROR           Otherwise.

Command options.
#VSR?           Returns the current setting of the #VSR command as an ASCII decimal
                value in result code format.
#VSR=?          Returns the message, "7200".
#VSR=7200       Default.
               
#VSS    Silence Detection Tuner (Voice Receive)
        This command enables or disables the Voice Receive mode silence
        detection, and controls the sensitivity employed by the modem in
        compressing periods of silence.
Parameters:     n = 0 - 3
Default:        2
Result Codes:
OK              If n = 0 - 3.
ERROR           Otherwise.
Command options:
#VSS?   Returns the current setting of the #VSS command as an ASCII decimal
        value in result code format.
#VSS=?  Returns the message, "0-3".
#VSS=0  Disables silence detection by the modem when in Voice Receive Mode.
#VSS=1  Least sensitive setting. When this command is received by the modem,
        the system is configured to a state which is least likely to detect
        and compress periods of silence, but still able to do so if the line
        is really quiet.
#VSS=2  Midrange setting (default). When this command is received by the modem,
        the system is configured to a state which is likely to be the best
        overall compromise on normal telephone lines.
#VSS=3  Most sensitive setting. When this command is received by the modem,
        the system is configured to a state which is most likely to detect
        and compress periods of silence.
         
#VTD    DTMF Tone Reporting

This command queries and controls which types of tones can be detected and
reported to the DTE via shielded codes in Voice Transmit, Voice Receive, and
Online Voice Command Modes.
Parameters:     i,j,k (three ASCII hexadecimal bit maps)
Default:        3F,3F,3F
Result Codes:
OK      If bits supported with #VTD=? are selected.
ERROR   Otherwise.
Command options:
#VTD?           Returns the current setting of the #VTD command as an ASCII
                decimal value in result code format.
#VTD=?          Returns the tone reporting capabilities of the modem.
#VTD=i,j,k      Where i,j,k corresponds (in ASCII hexadecimal) to the desired
                capabilities, as shown in Table 8-6, for Voice Transmit, Voice
                Receive, and Online Voice Command Modes, respectively.

Table 8-6. #VTD Tone Detection/Reporting Bit Settings
Bit             Description
0               0 = Disable DTMF tone capability;
                1 = Enable DTMF tone capability; 1
1               0 = Disable V.25 1300 Hz Calling tone capability;
                1 = Enable V.25 1300 Hz Calling tone capability; 1
2               0 = Disable T.30 1100 Hz Facsimile Calling tone capability;
                1 = Enable T.30 1100 Hz Facsimile Calling tone capability; 1
3               0 = Disable V.25/T.30 2100 Hz Answer tone capability;
                1 = Enable V.25/T.30 2100 Hz Answer tone capability; 1
4               0 = Disable Bell 2225 Hz Answer tone capability;
                1 = Enable Bell 2225 Hz Answer tone capability; 1
5               0 = Disable call progress tone and cadence
                (e.g., busy and dial tone) capability;
                1 = Enable call progress tone and cadence
                (e.g., busy and dial tone) capability;
6-7             Reserved; 1
Notes:  1. The modem detects this tone/cadence, and reports it via a shielded
        code to the DTE.

#VTS  Generate Tone Signals (Online Voice Command)

This action command can be issued to play one of more DTMF or other tones
(such as a "beep") if and only if the modem is in the Online Voice Command Mode.
The modem parses and plays the tones defined in the parameter in the order
listed, and no key abort is accepted. The parameter can have three types of
elements separated by commas:

Dual or Single Tones:   These are represented by a substring enclosed in square
                        brackets ("[]") within the parameter. Each such
                        substring consists of three sub-elements corresponding
                        to 2 frequencies in Hz (0, or 200-3000) and a duration
                        (ASCII decimal in units of 100 ms).
Varying DTMF Digits:    This is represented by a substring enclosed in curly
                        braces ("{}") within the parameter. Each such substring
                        consists of two sub-elements corresponding to a DTMF
                        digits (0-9,A-D,*,#), and alternate durations in units
                        of 100 ms.
Parameters:     The tone generation consists of elements in a list with each
                element separated by commas.
Result Codes:
OK      Command to play tones on currently selected device is accepted.
ERROR   Command was not issued during Online Voice Command Mode or string is
grammatically incorrect.
         
#VTX    Voice Transmit

This action command can be issued if and only if the modem is in the Online
Voice Command Mode (indicated previously with the VCON message), and is the
switch to Voice Transmit Mode. #VTX is used when a voice file is to be
transmitted to the line, speaker, or handset. The #VLS command should have been
previously issued to select the output source.
Parameters:     None
Result Codes:
CONNECT         When voice transmission by DTE can begin.
ERROR           If #VLS=0 and output device not connected.


8.4. S-REGISTERS

The following S-register is global, meaning that it can be set in any
appropriate mode (i.e., any #CLS setting).
S30 - Deadman (Inactivity) Timer
Range:  n = 0 - 255
Default:        0 (OFF, which means DTE should usually set it to some value
                for Voice)
Command options:
S30=0           Deadman timer off. No matter how long it might continue, the
                modem never spontaneously hangs up the telephone line or
                switches to autobaud mode as a result of inactivity.
S30=1 to 255    This is the period of time (in seconds), which if expired
                causes the modem to hang up the telephone line if it is
                off-hook and no data has passed during the period. The timer
                is also active whenever the #BDR setting is non-zero. In order
                to avoid a state where speed sense is disabled (even though
                the PC can crash, come back up, and try to issue commands at
                what should be a supported speed), the inactivity time-out
                occurs if there is no data passed on the DTE interface within
                the S30 period, even if the modem is on-hook. DTE software must
                not select a nonzero setting for #BDR until it is ready to
                establish a telephone call or virtual connection to a speaker
                or microphone. When there is an inactivity time out with
                #CLS=8, the modem always forces #CLS=0 and #BDR=0.
         
8.5. RESULT CODES FOR VOICE OPERATION
VCON    VCON is sent when the modem is configured for Voice (#CLS=8), or when
        after answering or originating a call, the modem enters the Online
        Voice Command Mode for the first time. Typically, this is immediately
        after an off-hook in answer mode, and after ringback ceases in
        originate mode. VCON is also sent when the DTE requests a switch from
        Voice Transmit Mode to Online Voice Command Mode by issuinq a
         to the modem, or when the DTE requests a switch from Voice
        Receive Mode to Online Voice Command Mode via the key abort.
CONNECT CONNECT is sent when switching from the Online Voice Command Mode to
        either Voice Receive Mode via the #VRX command, or to Voice Transmit
        Mode via the #VTX command. This message is sent to the DTE to inform
        it that it may begin receiving or sending ADPCM data.
         
8.6. EXAMPLES OF VOICE OPERATION
See Tables 8-7 through 8-13.

Table 8-7. Record a Greeting Message
DTE to         Modem to Description and Interpretation
Modem          DTE

#CLS=8                  Configure the modem for Voice Mode.
           OK           The modem confirms command implemented, and is now set
                        up for voice.
#VBS=4                  The DTE asks for 4-bit compression. The DTE needs to
                        work at 38,400 bps since after start and stop bits are
                        added, the speed increases to 36,000 bps.
           OK           The modem is configured for 4-bit compression.
S30=60                  DTE wants to insure that the modem can recover even if
                        DTE dies with the baud rate set  to a speed which
                        cannot be speed sensed.
           OK           Modem now has deadman timer set to 1 minute. If no
                        activity takes place after a connection, or no DTE
                        activity takes place after #BDR is changed, the modem
                        reverts to #CLS=0, #BDR=0.
#BDR=16                 The DTE knows that compression requires a 38,400 bps
                        speed, so it forces this as the new speed. (For this
                        example, lets say that the DTE was sending all
                        commands, including this one, at 2400 bps.)
           OK           This OK message is sent at 2400 bps, but the modem
                        then switches to 38,400 bps. All subsequent commands
                        are assumed to be sent at 38,400 bps. If the DTE does
                        not switch to 38,400 bps after the OK, it will
                        not recognize the data stream coming from the modem.
                        The S30 timer is now active.
#VSP=20                 The DTE changes its own speed to 38,400 bps and sends
                        this command to set up the silence detection period 
                        for 2 seconds.
           OK           The modem agrees. When receiving voice data, 2 seconds
                        of silence terminates the Receive Mode. For handset
                        operation, this amounts to a hang up.
#VSD=1                  This enables silence deletion.
           OK           The modem confirms command reception.
#VSS=1                  The DTE has decided to use level "1" silence detection
                        sensitivity, meaning it is making it somewhat more
                        difficult to delete and compress silence for the modem,
                        but expects that when the user has hung up the handset,
                        the silence is indeed detected. The DTE has tried to
                        improve the quality of the massage because it knows
                        this is a handset operation. Also, since silence
                        deletion has been enabled, the #VSP setting for silence
                        detection now becomes basically an inactivity timer.
                        If silence deletion is turned off here instead of
                        enabled, the #VSP timer is based upon average energy
                        readings from the modem.
           OK           The modem confirms command reception.
#VSS=?                  Find out what type of devices are supported by the
                        product.
           0,1,2,3,4    The modem tells the DTE that is has a telephone line
                        with handset (#VLS=0), an input/output device such as
                        a handset or speaker-phone (#VLS=l), and an output only
                        device such as a speaker.
           OK
#VLS=1                  Select the handset as the input device to be used by
                        the modem.
           VCON         The modem agrees, switches out the telephone line,
                        switches in the handset, and the modem enters Online
                        Voice Command Mode. Since this is a handset, and since
                        the baud rate has been preselected with #BDR, this also
                        means that DTMF detection and reporting is now enabled.
                        The user can pick up the telephone and send tones at
                        this point, which are delivered as shielded codes to
                        the DTE, although the voice data is not yet being
                        passed.

#VRX                    This tells the modem that the DTE is ready to receive
                        a voice message at the current compression/sampling
                        settings.
           CONNECT      The modem tells the DTE that it can now expect data.
                        The modem enters Voice Receive Mode. DTMF monitoring
                        is still enabled as well as ADPCM data flow.
                  User says: "Hello, this is me, press * to skip this
                        message. I'm happy that you have called, so press 5
                        to send your fax, or you can leave your message at the
                        beep." User then hangs up, the message is buffered to
                        the DTE, and the DTE waits for the message to end.
                        The DTE should have some kind of maximum timer running
                        to ensure that the user won't speak longer than some
                        predetermined limit. Alternatively, the DTE can require
                        the user to enter a DTMF tone to terminate transmission
                        of the message to the DTE.
           q       The modem has noticed (#VSP time out) that the user has
                        finished. The modem reports this while staying in Voice
                        Receive Mode. DTMF detection and reporting is still
                        active. The DTE now has the entire greeting message on
                        disk.
           *       The user has inadvertently pressed the "*"` button, but
                        the DTE is not interested in this presently.
!                       The DTE Issues a key abort to switch to Online Voice
                        Command Mode.
              The modem exits Voice Receive Mode and switches to
                        Online Voice Command Mode.
           VCON
#VLS=0                  The DTE did not really have to do this, but wants to
                        make sure that it gets no more DTMF codes from the
                        handset. Selection of the telephone line here forces
                        the modem out of Online Voice Command Mode, which is
                        equivalent to hanging up.
           OK

Table 8-8. Playback a Greeting Message
DTE to      Modem to    Description and Interpretation
Modem        DTE
#CLS=8                  Configure the modem for Voice Mode.
             OK         The modem confirms command reception, and is now set up
                        for voice.
#VBS=4                  The DTE asks for 4 bit compression. The data from the
                        DTE needs to travel at 38,400 bps since after start and
                        stop bits are added, the speed increases to 36,000 bps.
             OK         The modem is configured for 4-bit compression.
#BDR=16                 The DTE knows that compression requires a 38,400 bps
                        speed, so it forces this as the new speed. (For this
                        example, lets say that the DTE was sending all
                        commands, including this one, at 4800 bps.)
             OK         This OK message is sent at 4800 bps, but the modem
                        switches to 38,400 bps. All subsequent commands are
                        assumed to be sent at 38,400 bps. The DTE should switch
                        after the  following the OK. The S30 timer is
                        now active.
#VSD=1                  This enables silence insertion.
             OK         The modem confirms command reception. (#VSS is
                        unnecessary for playback.)
#VLS=2                  Select the speaker as the output device to be used by
                        the modem.
             VCON       The modem confirms command reception, and enters
                        Online Voice Command Mode. Since this is an output only
                        device, nothing more can happen yet.
#VTX                    This tells the modem that the DTE is ready to send
                        voice per the current compression/sampling settings.
             CONNECT    The modem tells the DTE that it can now send data. The
                        modem enters Voice Transmit Mode and ADPCM data flow
                        begins.  
                  The DTE sends data. The modem waits 1 second before
                        starting to transmit to the speaker to ensure
                        uninterrupted data flow. If the voice transmit buffer
                        runs empty, the transmitter is disabled.
              The DTE has finished its transmission and now instructs
                        the modem to enter Online Voice Command Mode after
                        emptying the voice transmit buffer.
             VCON       The modem tells the DTE it is done. If the DTE sends
                        the  before the modem has finished
                        transmitting all the data in its buffer, the DTE must
                        wait for this response. (VCON indicates that the DTE
                        can send more data at any time with #VTX.)

Table 8-9. Answer Call/Play Greeting/Record Message
DTE to      Modem to    Description and Interpretation
Modem        DTE

#CLS=8                  Configure the modem for Voice Mode. Note that the #BDR
                        setting is assumed to be zero here, meaning that no
                        time-out occurs forcing #CLS=0.
             OK         The modem agrees, and is now set up for voice.
#VBS=4                  The DTE asks for 4-bit compression for greeting message
                        playback. The DTE needs to work at 38,400 bps since
                        after start and stop bits are added, the speed
                        increases to 36,000 bps.
             OK         The modem is configured for 3-bit compression.
#VSD=1                  This enables silence deletion.
             OK         The modem confirms command reception.
#VSS=2                  Set silence detection sensitivity.
             OK         The modem confirms command reception.
#VLS=0                  Select the telephone line as the source, ensuring that
                        the modem is now on-hook. DTMF detection is now off
                        regardless of the previous setting of #VLS.
             OK         The modem confirms command reception, and it switches
                        in the telephone line.
             RING       Some time later, we receive the first call.
                        (Note that the modem also processes Caller ID
                        Information at this time.)
#CLS=8                  Configure the modem for Voice Mode again. Although the
                        modem has already been so configured, it is a good
                        idea to select #CLS=8 directly following a RING
                        because in normal use, any S30 time-out or hang up
                        during Voice Mode forces #CLS=0.
             OK         The modem agrees, and is now definitely set up for
                        voice.
#BDR=16                 The DTE knows that compression requires a 38,400 bps
                        speed, so it forces this as the new speed. (For this
                        example, lets say that the DTE was sending all
                        commands, including this one, at 9600 bps.)
             OK         This OK message is sent at 9600 bps, but the modem
                        then switches to 38,400 bps. All subsequent commands
                        are assumed to be sent at 38,400 bps until either
                        another #BDR command is received or until the S30
                        timer expires. The S30 timer is now activated, and the
                        default is 60 seconds.
A                       The DTE tells the modem to answer.
             VCON       The modem is now in Online Voice Command Mode. DTMF
                        and Calling tone detection is enabled.
#VTX                    The DTE does not wait for any tones, and tells the
                        modem that it is ready to send a voice greeting at the
                        current compression and sampling settings (4-bit/7200).
             CONNECT    The modem tells the DTE that it can now send data. The
                        modem enters Voice Transmit Mode and DTMF monitoring
                        is still enabled as well as the ADPCM data flow.
                  The DTE sends greeting message data. The modem waits up
                        to 1 second or until XOFF threshold is reached before
                        starting to transmit to ensure uninterrupted data flow.
                        If the voice transmit buffer runs empty, the
                        transmission is disabled.
              The DTE has finished with its transmission, and now
                        instructs the modem to enter Online Voice Command Mode
                        since this is the telephone line.
             VCON       The modem tells the DTE it is done. If the DTE sends
                        the  before the modem has finished
                        transmitting all the data in its voice transmit buffer,
                        the DTE must wait for this response.
#VBT=12                 The DTE requests that DTMF digits be sent as "'beeps"
                        with the #VTS command while in Online Voice Command
                        Mode, with each "beep" having a duration
                        of 1.2 seconds.
             OK         The modem confirms command reception.
#VTS=#                  The DTE sends a "BEEP" to annotate its greeting
                        message. This beep is a 1.2 second long DTMF #. During
                        this period, the no abort is possible from the DTE,
                        and should not be necessary.
             OK         After the modem sends the "BEEP", it sends VCON to
                        inform the DTE that it is ready to move on. DTMF pass
                        through is re-enabled.
#VBS=3                  The DTE asks for 3-bit compression to recorded message.
                        The DTE needs to work at 38,400 bps since after start
                        and stop bits are added the speed increases to
                        27,000bps.
             OK         The modem is configured for 3-bit compression.
#VRX                    The DTE instructs the modem to turn the line around
                        and begin recording a message from the remote.
             CONNECT    The modem sets things up and enables APPCM data
                        transfer to the DTE with the current silence deletion
                        setting.
                  APPCM data is shipped to the DTE with shielded DTMF
                        tones folded in. The modem is looking for silence,
                        busy, dial tone, and loop break. The DTE records
                        everything in its storable media.
             b     The caller has finished, hung up, and in this case, a
                        busy cadence was detected before anything else such as
                        expiration of the #VSP silence detection period.
X                       The DTE uses a key abort to respond to a busy
                        detection.
              The modem is now in Online Voice Command Mode.
             VCON
H                       DTE sends modem to #CLS=0 with #BDR=0.

Table 8-10. Answer Call/Record Message/Receive Fax
DTE to      Modem to    Description and Interpretation
Modem        DTE

#CLS=8                  Configure the modem for Voice Mode.
             OK         The modem agrees, and is now set up for voice.
#VBS=3                  The DTE asks for 3-bit compression. The DTE needs to
                        work at 38,400 bps since after start and stop bits are
                        added, the speed increases to 27,000 bps.
             OK         The modem is configured for 3-bit compression.
#VSS=2                  Set silence sensitivity. (We assume #VSD=1.)
             OK         The modem confirms command reception.
#VLS=0                  This selects the telephone line, and ensures that it 
                        is on-hook.
             OK         The modem confirms command reception, and switches in
                        the telephone line.
#CLS=8                  This ensure things are set up for voice.
             OK         The modem confirms command reception, and is new set
                        up for voice.
             RING       Sometime later, the next call is received. The modem
                        answers.
#BDR=16                 The DTE knows that compression requires a 38,400 bps
                        speed, so it forces this as the new speed. (For this
                        example, lets say that the DTE was sending all
                        commands, including this one, at 9600 bps.)
             OK         This OK message is sent at 9600 bps, but the modem
                        then switches to 38,400 bps. All subsequent commands
                        are assumed to be sent at 38,400 bps. The S30 timer
                        is now active.
A                       The DTE answers.
             VCON       The modem is now in Online Voice Command Mode. DTMF
                        and calling tone detection is enabled .
#VTX                    The DTE does not wait for any tones, and tells the
                        modem that it is ready to send a voice greeting at
                        the current compression and sampling settings.
             CONNECT    The modem tells the DTE that it can now send data. The
                        modem enters Voice Transmit Mode and DTMF monitoring
                        is still enabled as well as ADPCM data flow.
                  The DTE sends greeting message data. The modem waits
                        1 second before starting to transmit to ensure
                        uninterrupted data flow. If the voice transmit buffer
                        runs empty, the transmission is disabled.
              The DTE has finished its transmission and now instructs
                        the modem to enter Online Voice Command Mode.
             VCON       The modem tells the DTE it is done. If the DTE sends
                        the  before the modem has finished
                        transmitting all the data in its voice transmit buffer,
                        this response is delayed until the buffer is empty.
#VBT=13                 The DTE requests that DTMF digits be dialed as "beeps"
                        while in Online Voice Command Mode, with each "beep"
                        having a duration at 1.3 seconds.
             OK         The modem agrees.
#VTS=[1000,0,20],9      The DTE sends a "BEEP"' to annotate its greeting
                        message. This beep is a 2 second long 1000 Hz tone,
                        followed by a 1.3 second long DTMF 9. During this
                        period, the DTE is locked out.
             OK         After the modem sends the "BEEP", it sends VCON to
                        inform the DTE that it is ready to move on. DTMF pass
                        through is re-enabled.
#VRX                    The DTE instructs the modem to turn the line around
                        and begin recording a message from the remote.
             CONNECT    The modem sets things up and enables ADPCM data
                        transfer to the DTE with the current silence
                        deletion setting.
                  ADPCM data is shipped to the DTE with shielded DTMF
                        tones folded in. The modem is looking for silence,
                        busy, dial tone, and loop break. The DTE records
                        everything in 
                        its storage media.
             5     The caller has finished his voice message, but is now
                        insisting that he be able to send  us a facsimile.
X                       DTE sends "X" as key abort. If the user tried to keep
                        talking after he hit the DTMF 5, anything said was
                        lost. Whatever he said before the 5 is on disk.
            V The modem obeys key abort. Receive Mode is cancelled,
                        and the modem is now in Online Voice Command Mode.
                        DTMF is still passed through.
#CLS=2                  The DTE instructs the modem to pretend no 
                        voice activity has taken place, although the 
                        modem does not hang up if the fax fails.
              OK        The modem now thinks its a Class 2 Fax modem. The DTE
                        can now tailor the +F settings which were not
                        accessible until +FCLASS became 2.
A                       Answer tone is generated and prompts the user on the
                        telephone to press the button on his fax machine to
                        send his fax. After the successful fax is received,
                        the modem hangs up.

Table 8-11. Answer Call, Determine It's a Fax
DTE to      Modem to    Description and Interpretation
Modem        DTE

            RING        Sometime later, the next beta-site calls.
#CLS=8                  Configure the modem for Voice Mode.
            OK          The modem agrees, and is now set up for Voice.
#VBS=3                  The DTE asks for 3-bit compression. The DTE needs to
                        work at 38,400 bps since after start and stop bits are
                        added, the speed increases to 27,000 bps.
            OK          The modem is configured for 3-bit compression.
#BDR=16                 The DTE knows that compression requires a 38,400 bps
                        speed, so it forces this as the new speed.
            OK          This message is sent at 9600 bps, but the modem then
                        switches to 38,400 bps. All subsequent commands are
                        assumed to be sent at 38,400 bps. The S30 timer is now
                        active.
#VSS=2                  Set sensitivity to normal setting.
            OK          The modem confirms command reception.
#VSD=1                  This enables silence deletion.
            OK          The modem confirms command reception.
A                       Finally, the modem answers.
            VCON        The modem is now in Online Voice Command Mode. DTMF
                        and calling tone detection is enabled. (Note that
                        alternatively, the DTE can go into the Transmit or
                        Receive mode and look for either calling tone or
                        silence as a means of discrimination.) The DTE waits
                        a few seconds to give a possible fax machine or remote
                        data/fax modem a chance to send calling tone without
                        being disturbed by a voice greeting. (In this example
                        only calling tone is considered, which excludes a
                        person sending a fax when he hears answer tone.)
            c      The modem has detected T.30 Calling tone and presents
                        this information to the DTE.
#CLS=1                  The DTE decides to receive the fax, and tells the
                        modem to pretend that it just went off-hook as a
                        Class 1 Facsimile modem. The DTE must be able to handle
                        Class 1 commands from here on.
            OK          The modem is now a Class 1 fax modem.
A                       The modem pretends that it just got the incoming RING,
                        and modem handles the fact that it is already offhook.

Table 8-12. Adaptive Fax/Data/Voice; Determine Data
DTE to      Modem to           Description and Interpretation
Modem        DTE

            RING        Sometime later, we receive a call.
#CLS=8                  Configure the modem for Voice Mode.
            OK          The modem agrees, and is now set up for Voice, but the
                        DTE can change things during the discrimination phase.
#BDR=16                 The DTE knows that the compression requires a
                        38,400 bps speed, so it forces this as the new speed.
            OK          This OK message is sent at 9600 bps, but the modem then
                        switches to 38,400 bps. The S30 timer is now active.
#VSS=2                  This enables default silence deletion.
            OK          The modem confirms command reception.
A                       The DTE answers. (Note that this is where the DTE can
                        let another RING go by to process Caller ID.)
            VCON        The modem is now in Online Voice Command Mode. DTMF
                        and calling tone detection is enabled. If fax or data
                        calling tones are detected, the DTE can change to Fax
                        or Data Mode.
#VTX                    The DTE immediately switches to Voice Transmit Mode to
                        send out a short greeting.
            CONNECT     The modem says, "Send me the ADPCM data."
                  The DTE sends a previously recorded message from a
                        very fast talking person: "Hello, this is Dave.
                        Press * to send a fax, # for help, or leave your
                        message at the beep." Note that the caller can enter
                        DTMF tones at any time, which the DTE can take into
                        account, or calling tone can still be detected.
              This ends the greeting message.
            VCON        The modem switches back to Online Voice Command Mode.
#VTS+#                  The DTE sends # as the beep.
            VCON        The modern is still able to receive DTMF or Calling
                        tone here.
#VRX                    Enter Receive Mode. Now the modem is clocking silence,
                        as well as DTMF, and recording whatever the caller
                        says.
            5      #VSP must have been set to 35, since 3.5 seconds later
                        the modem sends this indication of silence period
                        expiration. No ADPCM data was sent to the DTE, because
                        the data pump deleted all 3.5 seconds of silence. This
                        tells the DTE that nobody is talking.
!                       The DTE Issues a key abort to switch to Online Voice
                        Command Mode.
              The modem exits Voice Receive Mode and switches to
                        Online Voice Command Mode.
            VCON
#CLS=0                  The DTE received no voice data, just the silence
                        indicator after a 3.5 second wait. Since there was no
                        calling tone and the user never entered any DTMF tones,
                        the DTE assumes it must be a calling data modem. If
                        the data handshake fails, the modem does not hang up
                        the line thus giving the DTE another chance to try the
                        fax again (in this case).
            OK          The modem is now a data modem. 
A                       The modem pretends that it just got RING, try V.32 bis
                        V.42, etc.

Table 8-13, Originate a Call, Send Answerer a Message
DTE to      Modem to    Description and Interpretation
Modem        DTE

#CLS=3                  Configure the modem for Voice Mode.
             OK         The modem agrees, and is now set up for Voice.
#BDR=16                 The DTE knows that compression requires a 38,400 bps
                        speed, so it forces this as the new speed.
             OK         This OK message is sent at 2400 bps, but the modem then
                        switches to 38,400 bps.
#VLS=0                  This ensures that the telephone line is selected.
             OK         The modem agrees.
#VRA=45                 The DTE allows 4.5 seconds for ringback to stop before
                        assuming that the modem thinks that the remote has
                        answered.
             OK         The modem agrees with the DTE's assumption.
DT6307                  The DTE makes a telephone call, and the modem dials and
                        goes through call progress. BUSY or NO DIALTONE can be
                        detected, but in this example, the modem gets ringback.
             VCON       This message is sent 4.5 seconds after the third
                        ringback cadence is detected by the modem. The modem is
                        in effect assuming that the remote telephone was
                        answered on the third ring because no forth ringback
                        was detected before the #VRA time-out. The modem enters
                        Online Voice Command Mode, and DTMF and answer tone
                        detection is enabled. (Note that during this period,
                        the modem might have detected answer tone from a data
                        modem. In this case, the appropriate  shielded
                        code has to be sent prompting the DTE to pursue a data
                        handshake.)
#VTX                    The DTE has a message to send.
             CONNECT    The modem says: "send it."
                  The DTE sends the message: "Hi Dave. Your mother
                        called."
             Procedure complete.
             VCON       DTMF still active.
H                       The DTE has completed its forwarding task.