ZYXEL VOICE AT COMMANDS

The U-1496 series modems support a set of voice AT commands. These commands are basically consistent with the TIA TR29.2 committee IS-101 document. The command implementation is not final as of this writing. It is certain that it will be continually updated during the initial stage. Please refer to the manual amendment or firmware release notes in the software disk accompanying this modem for updated detail.

The following is a list of the voice and voice-related AT commands:

- AT+FCLASS=mode
- AT+FCLASS?
- AT+FCLASS=?
- ATA (with AT+FCLASS=8)
- ATD (with AT+FCLASS=8)
- ATH (with AT+FCLASS=8)
- AT+FLO=<value>
- AT+FLO?
- AT+FLO=?
- ATZ
- AT+VBT=value
- AT+VBT?
- AT+VBT=?
- AT+VDD=value
- AT+VDD?
- AT+VDD=?
- AT+VDH=value
- AT+VDH?
- AT+VDH=?
- AT+VGT=value
- AT+VGT?
- AT+VGT=?
- AT+VIP
- AT+VIT=value
- AT+VIT?
- AT+VIT=?
- AT+VLS=device
- AT+VLS?
- AT+VLS=?
- AT+VNH=value
- AT+VNH?
- AT+VNH=?
- AT+VRA=value
- AT+VRA?
- AT+VRA=?
- AT+VRN=value
- AT+VRN?
- AT+VRN=?
- AT+VRX
- AT+VSD=sds,sdi
- AT+VSD?
- AT+VSD=?
- AT+VSM=cml
- AT+VSM?
- AT+VSM=?
- AT+VSY=value
- AT+VSY?
- AT+VSY=?
- AT+VTS=string
- AT+VTS=?
- AT+VTX
- AT+VVT=value
- AT+VVT?

COMMAND SYNTAX

AT is used as the command line prefix, the voice command takes one of the following forms:

        +V<CM>?                  read current setting
        +V<CM>=?                 read permissable setting
        +V<CM>=<single value>    set single-valued parameter
        +V<CM>=<value string>    set compound parameter

where <CM> represents a two-letter command syntax, a value string consists of values separated by comma or semicolon. The first two comand forms are for read action, the last two are for write action. A command may have both action types or just read or write type only.

RESPONSE SYNTAX

For each command line received, the modem issues a response to each command in the command line followed by a final response.

Each command response is of the form:

        <CR><LF>
        <value> or <value range>    response of "?" or "=?" command
        <CR><LF>

The final response is

        <CR><LF>
        OK or ERROR                 Command line response
        <CR><LF>

The final response is " OK " if all the commands in the command line have been successfully executed, otherwise it is "ERROR".

SUPPORTED COMMANDS FOR VOICE MODE OPERATION

### AT+FCLASS=mode

This command selects a DCE mode as follows:

     mode = 0 (Default), Data mode.
     mode = 2,   Class 2 Fax mode.
     mode = 2.0, Class 2.0 Fax mode.
     mode = 6,   ZFax mode.
     mode = 8,   Voice mode.

    DCE Result codes:
     OK:     Command is accepted.
     ERROR:  mode is not permitted.

### AT+FCLASS?

DCE will return current mode setting, followed by the OK result code.

### AT+FCLASS=?

DCE will return permitted modes. The response is:

        0,2,2.0,6,8
        OK

with <CR><LF> between each line.

### ATA (with AT+FCLASS=8)

This command causes DCE to answer the phone. DCE will return VCON result code immediately.

### ATD (with AT+FCLASS=8)

This command causes the DCE to dial a phone number.

Result codes:

    VCON: The DCE issues this result code when the DCE
          has determined that the remote station is off hook.

    NO ANSWER: The DCE issues this result code when the DCE has
        continuously detected Ringbacks for the S7 specified
        amount of time.

### ATH (with AT+FCLASS=8)

This command causes the DCE to hang up the phone with the following considerations for a hang up while in Voice mode:

- Force the command AT+FCLASS=0, but will not destroy any of the Voice parameters.
- Force voice I/O device to Telco line.

### AT+FLO=<value>

This parameter allows the DTE to identify and select the type(s) of flow control provided and used.

The range of the is from 1 to 2.

    1 -> Use XON/XOFF flow control in either direction
    2 -> Use CCITT Circuit 133 for flow control of the DCE by the DTE,
        use CCITT Circuit 106 for flow control of the DTE by the DCE.

Default value is 1.

Result codes:

    OK:    The DCE issues this result code if DCE accepts this command.
    ERROR: The DCE issues this result code if  is out of range.

### AT+FLO?

DCE will return current flow control mode followed by the OK result code.

### AT+FLO=?

DCE will return permitted flow control modes.

The response is:

    0-2
    OK

with <CR><LF> between each line.

### ATZ

This command causes the DCE to enter DATA MODE (AT+FCLASS=0) and set all of the voice related parameters to their default values.

VOICE MODE COMMANDS

### AT+VBT=value

This command causes the DCE to set the default DTMF/tone generation duration used in conjunction with the AT+VTS command.

The range of is 1-255. The units are 0.1 seconds.

    DCE Result codes:
     OK:	if DCE accepts this command.
     ERROR: if value parameter is out of range.

### AT+VBT?

DCE will return current beep duration setting, followed by the OK result code.

### AT+VBT=?

DCE will return permitted values of beep duration. The response is:

       0-255
       OK

with <CR><LF> between each line.

### AT+VDD=value

This command sets the duration of a continous tone (DTMF) that must be present before the DCE will recognizes it and report it as a valid tone. This is in 5msec units.

The range of the <value> is from 0 to 255. Default value is 6.

Result codes:

    OK:    The DCE issues this result code if DCE accepts this command.
    ERROR: The DCE issues this result code if value is out of range.

### AT+VDD?

DCE will return current duration of a continous tone (DTMF), followed by the OK result code.

### AT+VDD=?

DCE will return permitted duration of a continous tone (DTMF).

The response is:

    0-255
    OK

with <CR><LF> between each line.

Note: This is not defined in IS-101. Once again this was requested by customers who were using the modem in overseas countries where the duration of a DTMF tone is not standard.

### AT+VDH=value

This command sets the threshold of the DTMF tone detection. Lowering the value increas the sensitivity. Please note that increasing the sensitivity by too much would cause false alarms where sounds could be intepreted as DTMF tones.

The range of the <value> is from 0 to 31. Default value is 16.

Result codes:

    OK:    The DCE issues this result code if DCE accepts this command.
    ERROR: The DCE issues this result code if value is out of range.

### AT+VDH?

DCE will return current threshold of the DTMF tone detection, followed by the OK result code.

### AT+VDH=?

DCE will return permitted threshold of the DTMF tone detection.

The response is:

    0-31
    OK

with <CR><LF> between each line.

NOTE: This is not defined in IS-101. This command was added to enable the DCE to either increase or decrease its sensitivity to DTMF tones by defining the range of the threshold. This feature was added due to requests from customers.

### AT+VGT=value

This command causes the DCE to set the volume level for the transmitted voice samples.

The range of the value is from 0 to 255. The default value is 192.

Result codes:

    OK:    The DCE issues this result code if DCE accepts this command.
    ERROR: The DCE issues this result code if  parameter is out of
           range.

### AT+VGT?

DCE will return current volume level, followed by the OK result code.

### AT+VGT=?

DCE will return permitted values of volume level. The response is:

    0-255
    OK

with <CR><LF> between each line.

### AT+VIP

This command causes the DCE to initialize all the Voice parameters to the default settings as follows:

     Compression method		: 2-bit ADPCM
     Silent threshold		: 15
     Activity Timer			: 7 sec.
     Silence interval		: 7 sec.
     Ringback gone away timer 	: 7 sec.
     Ringback never appeared timer	: 5.7 sec.
     Default beep tone duration	: 1 sec.
     Transmit Volume Selection	: 192
     Default resync timer		: 50ms
     Default VCON timer		: 16
     Default DTMF det interval timer: 30ms
     Default DTMF det threshold	: 16
     Indicate S/W flow control	: Software

DCE Result codes:

     OK       if DCE accepts this command.
     ERROR    if the DCE is not connected to at least one Voice
    	  I/O device.

Note: Complies with the IS-101

### AT+VIT=value

This command sets the DCE's initial value for the DTE/DCE Inactivity timer.

The range of the value; is from 0 to 255. The units are 1 second. Default value is 7 sec.

Result codes:

    OK:    The DCE issues this result code if DCE accepts this command.
    ERROR: The DCE issues this result code if value is out of range.

### AT+VIT?

DCE will return current Inactive Timer, followed by the OK result code.

### AT+VIT=?

DCE will return permitted interval of Inactive Timer.

The response is:

    0-255
    OK

with <CR><LF> between each line.

Note: This does comply with IS-101

### AT+VLS=device

This command causes the DCE to select a voice I/O device.

The permitted values of device are:

     0: disconnect all I/O devices
     2: Telco line
     8: External Microphone (Connect a Mic to dial-up line RJ-11 jack)
    16: Internal Speaker

DCE Result codes:

     OK :     if DCE accepts this command.
     ERROR:   if device is not permitted.

### AT+VLS?

DCE will return current I/O device followed by the OK result code.

### AT+VLS=?

DCE will return permitted I/O devices. The response is:

     0,2,8,16
     OK

with <CR><LF> between each line.

### AT+VNH=value

This command causes the DCE to disable or enable automatic hang-ups to a varying degree in the DATA and FAX modes.

The range of the value is from 0 to 2.

value = 0 (Default),

the DCE shall not disable automatic hang-ups.

value = 1,

the DCE shall disable automatic hang-ups. This behavior shall persist until the DTE issues ATH, ATZ, or AT+VIP command, or DTR drop. The DCE shall perform on hook on a ATH command.

value = 2,

the DCE shall disable automatic hang-ups. This behavior shall persist until the DTE issues ATH, ATZ, or AT+VIP command, or DTR drop. The DCE shall not perform on hook on a ATH command.

Result codes:

    OK:    The DCE issues this result code if DCE accepts this command.
    ERROR: The DCE issues this result code if value parameter
           is out of range.

### AT+VNH?

DCE will return current hang up mode, followed by the OK result code.

### AT+VNH=?

DCE will return permitted values of hangup mode. The response is:

       0-2
       OK

with <CR><LF> between each line.

NOTE: This does comply with IS-101

### AT+VRA=value

This command sets the amount of time the DCE shall wait between ringbacks before the DCE can assume that the remote station has gone off hook. The default value is 70 (7 seconds).

The range of the value is from 0 to 255. The units are 0.1 second. A value of zero forces the DCE to return VCON immediately after the ATD command is received.

DCE Result codes:

    OK:    if DCE accepts this command.
    ERROR: if value is out of range.

### AT+VRA?

DCE will return current Ringback Goes Away Timer, followed by the OK result code.

### AT+VRA=?

DCE will return the permitted interval of Ringback Goes Away Timer. The response is:

     0-255
     OK

with <CR><LF> between each line.

Note: This does comply with IS-101 except that ZyXEL default value is set at 70. We derived this value after conducting numerous tests and found it to be ideal with majority of the phone systems.

### AT+VRN=value

This command sets the amount of time the DCE will wait looking for Ringback. If the DCE does not detect a Ringback in this time period, the DCE shall assume that the remote station has gone off hook.

The range of the value is from 0 to 255. The units are 0.1 second. A value of zero forces the DCE to return VCON immediately after the ATD command is received.

DCE Result codes:

     OK :  if DCE accepts this command.
     ERROR:     if  is out of range.

### AT+VRN?

DCE will return current Ringback Never Appeared Timer, followed by the OK result code.

### AT+VRN=?

DCE will return the permitted interval of Ringback Never Appeared Timer. The response is:

      0-255
      OK

with <CR><LF> between each line.

Note: This does comply with IS-101 except that ZyXEL default value is set to 57. Once again we derived this value from numerous tests that were conducted on different phone systems.

### AT+VRX

This command causes the DCE to start the voice reception process.

The DCE begins the voice receive mode by returning the CONNECT result code to the DTE. After this report, the DCE sends <DLE> shielded Voice data to the DTE.

The DTE stops the voice receive state by sending a character other than and . On termination of the voice receive state, the DCE will append a <DLE><ETX> character pair, followed by the VCON result code.

### AT+VSD=sds,sdi

This command causes the DCE to set the silence detection sensitivity, and the required period of silence before the DCE can report silence detected at the end of a voice receive either with the QUIET or SILENCE <DLE> shielded code.

See the description of the <DLE> shielded codes for the difference between SILENCE and QUIET report.

The range of the sensitivity sds is from 0 to 31. Larger values of this parameter imply that the DCE should treat noisier conditions as silence. A value of zero disables the DCE silence detection; the DCE shall not report QUIET or SILENCE <DLE> shielded codes.

The range of the interval sdi is 0-255 in units of 0.1 seconds.

DCE Result codes:

     OK :  if DCE accept this command.
     ERROR:     if  or  is out of range.

### AT+VSD?

This command causes the DCE to report the current and settings. The form of the response is:

       sds,sdi
       OK

with <CR><LF> between each line.

### AT+VSD=?

This command causes the DCE to report the permitted ranges of sds and sdi. The response is:

       (0-31),(0,255)
       OK

with <CR><LF> between each line.

Note: It does comply with the IS-101 except for the default values. Our default values are 15 for and 70 for . These default values were derived to work with the majority of the phone systems found in the U.S. For example the reason we increased the required silence period from 5 secs to 7 secs we found that people tend to pause while leaving a message and it could cause a false alarm by reporting DLE or DLE and disconect a caller. On the other hand increasing it further could cause the phone company to intervene and therefore continue the recording.

### AT+VSM=cml

This command causes the DCE to select a compression method as follows:

       cml = 1, 9.6 KBps CELP (Code Excited Linear Prediction)
       cml = 2 (Default), 19.2 KBps 2-bit ADPCM
       cml = 3, 28.8 KBps 3-bit ADPCM
       cml = 30, 30.7kpbs new 3-bit ADPCM
       cml = 4, 38.4Kbps 4 bit ADPCM

Note: Only PLUS enhanced models support CELP mode.

### AT+VSM?

This command causes the DCE to report the current compression setting in the following form:

      cml;scs;vsr
      OK

with <CR><LF> between each line. Where:

     cml: compression method label.
     scs: silence compression sensitivity.
     vsr: voice sampling rate.

### AT+VSM=?

This command causes the DCE to report the compression methods supported. The response is as follows:

     1;CELP;1;0;(9600)
     2;ADPCM;2;0;(9600)
     3;ADPCM;3;0;(9600)
     30;ADPCM;3;0;(9600)
     4;ADPCM;4;0;(9600)
     OK

with <CR><LF> between each line.

The first item in each line is the compression method label; the second item is the compression scheme; the third item is number of bits per sample; the fourth item is the silence detection threshold level; the fifth item is the sampling rate.

### AT+VSY=value

This command sets the DCE's voice recording re-sync timer.

The range of the value is from 0 to 255. The units are 50ms. Default value is 1 (50ms).

Result codes:

    OK:    The DCE issues this result code if DCE accepts this command.
    ERROR: The DCE issues this result code if value is out of range.

### AT+VSY?

DCE will return current re-sync timer, followed by the OK result code.

### AT+VSY=?

DCE will return permitted interval of Inactive Timer.

The response is:

    0-255
    OK

with <CR><LF> between each line.

Note: Not defined in IS-101. This timer when set will allow the DTE to send this resync code(<DLE><FS>) to signify the start of a new voice data stream with the same parameters as the last stream without first returning to the Voice Command State. The IS-101 does mention about "Timing Marks" but does not specify what interval you could set, nor a method of adjusting it. This will give the user the flexibility to start a new voice data stream at different points in the data stream.

### AT+VTS=string

This command causes the DCE to produce DTMF and other tones.

The tone generation string consists of elements in a list with each element separated by commas. Each element can be:

1. A single ASCII character in the set 0-9, A-D, #, and *. The DCE interprets the ASCII character as a DTMF digit with a duration as specified by the AT+VBT command.
2. Three numbers separated by commas and enclosed in square brackets. The DCE interprets the first and the second numbers as the frequencies of the dual tones, and the third one as the duration of the tone(s). The frequency range is from 200 Hz to 3300 Hz; a frequency of zero means silence. The range of the duration is 0-255 with units of 0.1 seconds.
3. A single ASCII character and a number, separated by commas and enclosed in curly braces. The DCE will interpret the ASCII chracter as a DTMF digit, and the number as the duration of the tone.

### AT+VTS=?

This command causes the DCE to report the allowable tone string elements. The response is as follows:

     (0,200-3300),(0,200-3300),0-9,A-D,*,#
     OK

with <CR><LF> between each line.

Note: Does comply with IS-101.

### AT+VTX

This command causes the DCE to start the voice transmission process.

The DCE begins the voice transmit mode by returning the CONNECT result code to the DTE. After this report, the DCE accepts <DLE> shielded Voice data from the DTE.

The DTE stops the voice transmit state by sending a <DLE><ETX> character pair to the DCE. On termination of the voice transmit state, the DCE will send the VCON result code.

### AT+VVT=value

This command causes the DCE to set the VCON response sensitivity, a higher value will decrease the sensitivity of a VCON response. The sole purpose of this command being added was to make it easier for a user to detect an off-hook when going through a different phone system or in some cases through a PBX. This accomplishes the same job as +VRA and +VRN but a lot easier to derive.

The range of the value is from 0 to 255. The default value is 16.

Result codes:

    OK:    The DCE issues this result code if DCE accepts this command.
    ERROR: The DCE issues this result code if value parameter is out of
           range.

### AT+VVT?

DCE will return current VCON sensitivity, followed by the OK result code.

### AT+VVT=?

DCE will return permitted values of VCON sensitivity. The response is:

    0-255
    OK

with <CR><LF> between each line.

Note: Not defined in the IS-101.

DLE-shielded codes.
ZyXEL Advanced Voice Capability.