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 sto rage of voice
    messages, while optional coder silence deletion and decoder silence
    interpolation significantly increase compression rates The ADPCM Voice
    Mode supports three submodes 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 submode 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 of 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 <DLE><ETX>, and the modem res
    ponds with VCON.  If this mode is entered from the Voice Receive Mode
    because of a key abort, the modem issues the <DLE><ETX> 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 of 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 delet ion 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=0) 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.  After 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 user's 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 modem's memory of voice,
    whereas #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 M S Windows environments.

Table 8-1.  7.2 KHZ Sample Rate DTE Speeds

    Modem Samples per 8-bit Byte
    Required Asynchronous  DTE Speed (8N1 Format)
    Implied DTE Speed Supported

    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 <DLE> 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 "telset 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

<DLE>0 - <DLE>9, <DLE>*, <DLE>#, <DLE>A -<DLE>D

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

<DLE>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 <DLE>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.

<DLE>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
    <DLE>c, and calling tone continues, the code is sent again as often as
    once every 4 seconds.

<DLE>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 <DLE>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.

<DLE>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 <DLE>e and calling tone continues, the code is sent again
    as often as once every 4 seconds.

<DLE>f

      Bell Answer Tone.  Sent when Bell 2225 Hz Answer Tone (Data) 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 every
    1/2 second.

<DLE>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 submodes.

<DLE>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 t he <DLE>o at the end of the
    buffer, thus marking the location where data was lost by the DTE.  The
    modem does not append<E> <D><DLE>o codes to the buffer contiguously.
    If more than one data byte is lost before the DTE begins reading again,
    there is only on <DLE>o code in the data stream.  However, if the DTE
    resumes reading, and then once again allows the buffer to overflow, a
    new <DLE>o is appended to the data by the modem.  Thus, the<E>
    <D><DLE>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.

<DLE>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, <DLE>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
    <DLE>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

<DLE>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, <DLE>s is sent if no sound was detected at all.  This
    differs slightly from Quiet (<DLE>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
    <DLE>s code, the modem automatically resets its timer and sends the
    code again if the #VSP time period a gain expires.  This allows the DTE
    time to react to what may be a false detection of silence.

<DLE>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.

<DLE>u

      Underrun.  Sent in Voice Transmit Mode when the voice transmit buffer
    becomes empty without receiving a <DLE><ETX> or <DLE><CAN> command
    first.  The modem remains in transmit mode, but issues the <DLE>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.


<DLE><ETX>

      End of Stream.  <DLE><ETX> is sent to denote the end of a voice data
    stream, similar to fax Class 1 and 2.  This occurs in Voice Receive
    Mode only after the DTE issues the key abort.

8.2.5.    Shielded <DLE> 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
    <DLE><ETX> which the DTE issues during Voice Transmit Mode to terminate
    an output message.  Table 8-3 lists shielded <DLE> 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), these 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 <DLE>q or <DLE>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 Modem

Meaning

<DLE><ETX>

      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.)

<DLE><CAN>

      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.)

<DLE>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
    (<DLE>r), or cancel <DLE><CAN>, is received, in which case the data is
    lost.  If a <DLE><ETX> 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 <DLE><ETX>).  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.)

<DLE>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 delive red 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 <DLE><ETX> 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 <DLE> 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 #CL S=8.

8.2.10.   Caller ID

      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 eliminatng 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 Commands

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 autobaud).

#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).

#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.  (Se e #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 ne edn'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 autobaud.

      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 shou ld not issue
    the H command while connected to a local device such 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.

Parameters:    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<n<48.  Sends OK message at current speed, then
          switches to the new speed defined by n*2400 bps unless and until
          another #BDR=n command is received.  Autobaud is disabled, and
          the character format is maintained at the format most recently
          detected.


#CID - Enable Caller ID Detection and Select Reporting Format

      This command selects or disables Caller ID recognition and reporting
    in any mode.

Parameters:    n = 0, 1, or 2

Default:  0

Result Codes:

OK   n = 0, 1, or 2.
ERROR     Otherwise.


Command options:

#CID?  Returns the current setting (0,1 or 2) of the #CID command as
    an ASCII decimal value in result code format.

#CID=? Returns the message, "0,1,2".

#CID=0 Disables Caller ID.

#CID=1 Enables formatted Caller ID reporting of ICLID SDM (Single Data
    Message)  and MDM (Multiple Data Message) packets.

#CID=2 Enables unformatted Caller ID reporting of any ICLID packet received
    after the first RING cycle
    including SDM, MDM, or call waiting packets.

#CLS - Select Data, Fax,
    or Voice This command selects Data, Fax, or Voice Mode from operation
    in any mode.  Parameters: n = 0, 1, 2, or 8 Default: 0 Result Codes: OK
    If n = 0, 1, 2, or 8.  ERROR Otherwise.  Command options:

#CLS? - Returns the current setting (0,1,2, or 8) of the #CLS command as an
    ASCII decimal value in result code format.  #CLS=?  Returns the
    message, "0,1,2,8".

#CLS=0 Data. This is similar to
    setting +FCLASS=0, and instructs the modem to act like a data modem on
    subsequent answer or originate operations.  When a disconnect or
    inactivity time out in the non-autobaud mode is detected, the modem
    automatically sets the #CLS setting to 0 and hangs up.  This ensures
    that the modem is always in a known state despite disorderly DTE
    behavior.

#CLS=1 Class 1 fax. This is similar to setting +FCLASS=1,
    and instructs the modem to be a Class 1 fax modem.  Once this is set,
    either the +FAA or +FAE command can be used to force subsequent answers
    to be Class 1 adaptive answers.

#CLS=2 Class 2 fax. This is similar to setting +FCLASS=2, and instructs the
    modem to be a Class 2 fax modem.  Once this is set, the +FAA command
    can be used to force subsequent answers to be Class 2 adaptive answers.

#CLS=8 Voice Mode. This is the main setting the DTE uses to effect
    directed or adaptive answer or originate sequences involving voice
    modes.  All telephone calls initialized by #CLS=8 result (after answer
    or successful call progress) in the modem in Online Voice Command Mode.

#MDL? - Identify Model. This command requests the model number or name of
    the modem.  (The response returned may be altered by the OEM via the
    ConfigurACE utility program.)

Command option:

#MDL? -  RC96V24AC

#MFR? - Identify Manufacturer This command requests the modem manufacturer.
    (The response returned may be altered by the OEM via the ConfigurACE
    utility program.)

Command option:

#MFR? -  ROCKWELL

#REV?  - Identify Revision Level This command requests the revision level
    of the modem.  (The response returned may be altered by the OEM via
    the ConfigurACE utility program.)

Command option:

#REV? - XXXX-XXXX-XXX YYY     (Those places occupied by "X"'s represent the part number, while those places occupied by `Y"'s represent the revision number. The values are determined at time of production.)


8.3.2. AT#V Commands Enabled Only in Voice Mode (#CLS=8)

      The commands described in the following subsection are extensions to
    the command set which the modem recognizes only when configured for
    Voice Mode with the #CLS=8 command.

#VBQ? - Query Buffer Size

      This query-only command returns the size of the modem's voice
    transmit and voice receive buffers in ASCII decimal, followed by the OK
    result code.

Parameters:    None

Command option:

#VBQ?  Returns the size of the modem voice transmit and voice receive buffers.

#VBS - Bits Per Sample (Compression Factor)
      This command selects the degree of ADPCM voice compression to be
    used.

Parameters:    n = 2, 3, or 4  (Voice compression bits per sample)

Default:  4

Result Codes:
OK   If n = 2, 3, or 4.
ERROR     Otherwise.

Command options:

#VBS?  Returns the current setting of the #VBS command as an ASCII decimal
    value in result code format.

#VBS=?  Returns "2,3,4", which are the ADPCM compression bits/sample rates
    available.  These bits/sample rates are correlated with the #VCI?
    query command response which provides the single compression method
    available.

#VBS=2    Selects 2 bits per sample.

#VBS=3    Selects 3 bits per sample.

#VBS=4    Selects 4 bits per sample.

#VBT - Beep Tone Timer

      This command defines the time period, in 10ths of a second up to 4
    seconds (40) which is used by the modem as the DTMF or fixed tone
    duration for generating tones via the D command while in Online Voice
    Command Mode.

Parameters:    n = 0 - 40 (0 - 4 seconds)

Default:  10

Result Codes:
OK   If n = 0 - 40.
ERROR     Otherwise.

Command options:

#VBT?     Returns the current setting of the #VBT command as an ASCII
    decimal value in result code format.

#VBT=?    Returns the message, "0-40".

#VBT=0    Disables the tone generation capability.

#VBT=1 to 40   Sets tone duration time.

#VCI? - Identify Compression Method

      This command queries the modem as to its compression method and raw
    bits-per-sample capability.  <OP0C0>;<D> pairs, separated by <LF0>s.
    Within each line, the <O> is left justified, and is separated from the
    <D> by the semicolon character and separated fro m the bits-per-sample
    string by another semicolon.<F255P255C255>

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 of 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.) If a 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
Result Code:
OK   If n = 0 - 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 ringback, 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, microphon e, 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 Deletion (Voice Receive)

      This command is used to enable or disable Voice Receive Mode silence
    deletion.

Parameters:    n = 0 or1

Default:  0 or 1

Result Code:
OK   If n = 1.
ERROR     Otherwise.

Command options:

#VSD?  Returns the current setting of the #VSD 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 modem's 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
    <DLE>s or <DLE>q codes after insuring that the buffer is empty.  There
    are two cases:

      1.  With the modem's 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 modem's 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 modem's
    definition of silence for a period greater than that defined by the
    #VSP setting, the modem sends the <DLE>q or <DLE>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 (#VBS) 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.

#VS=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 1.

6-7

Reserved.

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 issuing a
    <DLE><ETX> 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 send ing 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

     Modem to DTE

     Description and Interpretation

#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<CR><LF>, 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 message 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.

#VLS=?

      Find out what type of devices are supported by the product.

      0,1,2,3,4

      OK
      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=1), and an output only device such as a speaker.

#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.



Table 8-7.  Record a Greeting Message

DTE to Modem

      Modem to DTE

      Description and Interpretation

#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.


      <Data>
      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.

      <DLE>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.


      <DLE>*
      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.


      <DLE><ETX>


      VCON
      The modem exits Voice Receive Mode and switches to Online Voice
    Command Mode.


#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

      Modem to DTE

      Description and Interpretation

#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 <CR><LF> 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.

      <Data>
      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.

      <DLE><ETX>
      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 <DLE><ETX>
    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

      Modem to DTE

      Description and Interpretation

#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.



Table 8-9.  Answer Call/Play Greeting/Record Message (Cont'd)

DTE to Modem

      Modem to DTE

      Description and Interpretation


#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.

      <Data>
      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.

      <DLE><ETX>
      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 <DLE><ETX>
    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,000<N>bps.


      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 ADPCM data transfer to the DTE
    with the current silence deletion setting.


      <Data>
      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.


      <DLE>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.


      <DLE><ETX>

      VCON
      The modem is now in Online Voice Command Mode.

      H
      DTE sends modem to #CLS=0 with #BDR=0.




Table 8-10.  Answer Call/Record Message/Receive Fax

DTE to Modem

      Modem to DTE

      Description and Interpretation

#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 now 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.

      <Data>

      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.

      <DLE><ETX>

      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 <DLE><ETX>
    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 of 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.



Table 8-10.  Answer Call/Record Message/Receive Fax (Cont'd)

DTE to Modem

      Modem to DTE

      Description and Interpretation

#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.


      <Data>
      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.


      <DLE>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
    they hit the DTMF 5, anything said was lost.  Whatever he said before
    the 5 is on disk.


      <DLE><ETX>VCON
      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

      Modem to DTE

      Description and Interpretation


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 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.


#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.)


      <DLE>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.  Note


      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 off-hook.


Table 8-12.  Adaptive Fax/Data/Voice; Determine Data

DTE to Modem

      Modem to DTE

      Description and Interpretation


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."

      <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.

      <DLE><ETX>
      This ends the greeting message.


      VCON
      The modem switches back to Online Voice Command Mode.


#VTS+#

      The DTE sends # as the beep.


      VCON
      The modem 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.


      <DLE>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.

      <DLE><ETX>
      VCON
      The modem exits Voice Receive Mode and switches to Online Voice
    Command Mode.

#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.22 bis/V.42, etc.


Table 8-13.  Originate a Call, Send Answerer a Message

DTE to Modem

      Modem to DTE

      Description and Interpretation

#CLS=8

      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.

      DT6807
      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 fourth 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 <DLE> 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."

      <Data>
      The DTE sends the message: "Hi Dave.  Your mother called."

      <DLE><ETX>
      Procedure complete.

      VCON
      DTMF still active.

      H
      The DTE has completed its forwarding task.

