ADVANCED VOICE CAPABILITY


Voice capability means the modem can digitize the incoming voice message for the computer to store and forward. It also means the modem can playback the recorded digitized voice either off-line for local message listening or on-line for message announcement.


I. VOICE DATA COMPRESSION


The main issue in digitized voice is the amount of storage required. A good phone-quality voice digitization will produce about 64 Kbits of data for each second of voice. The hard disk will quickly be filled up by digitized voice at this digitization rate. Speech compression is needed to reduce the digitization data rate. A relatively simple ADPCM (Adaptive Delta Pulse Code Modulation) algorithm can reduce the speech data rate to half and maintain about the same voice quality. This algorithm can also be used to reduce the speech data rate to 1/3 or 1/4 of the original rate but with voice quality degradation. Reducing the speech data rate further and maintaining good voice quality requires a sophisticated and complicated signal processing algorithm. It also requires a lot of digital signal processing computation power. We call this sophisticated speech data compression capability advanced voice capability.

The U-1496 series modems support five voice digitization schemes. Four schemes use the ADPCM algorithm and one uses the advanced CELP (Code Excited Linear Prediction) algorithm to achieve near-phone-quality voice at 9.6 kbps speech data rate. A summary of these four schemes is listed below:


Digitization Speech Compression Data Rate Scheme Algorithm
CELP Code Excited Linear Prediction 9600 bps 2-ADPCM ADPCM, 2 bits/sample 19200 bps 3-ADPCM ADPCM, 3 bits/sample 28800 bps 3-ADPCM(NEW) ADPCM. 3 bits/sample 30720 bps 4-ADPCM ADPCM, 4 bits/sample 38400 bps
where the sampling rate used is 9600 samples per second.

The ADPCM voice modes are supported on all U-1496 series modems. However, the advanced CELP scheme is supported only on the plus version and the U-1496 LCD model.

Silence detection is implemented to eliminate voice data coding in silence period.

The modem also supports simultaneous DTMF (Dual Tone Multiple Frequency) tone detection that allows a user to use the keypad of a tone-dialing, push-button telephone set to control, instruct, or answer the modem.


II. AUTOMATIC DETECTION OF VOICE, FAX, AND DATA


Since there is no standard and there is no way to specify how human voice should behave in telephone calling and answering, it is difficult, if not impossible to automatically detect a voice call from a fax or data call. A common method to do this detection and switch is to have it answer with a human voice announcement first and then give the options to the calling party to push a number from the push-button pad to activate different features. In the meantime, if a faxtone (fax calling tone) is detected, the software and modem will then switch into fax mode. If no tone is detected then the modem will assume that this is a voice call and will continue playing the announcement message until it gives the caller the option to leave a message. After that it will wait for the caller to leave a message and if it detects that there is no energy level present during a certain amount of time it will timeout and the modem will decide the call is a data call and start modem handshaking. The shortcoming of this method is that some modems will get confused by the initial voice message announcement and will not get connected. Even if the data call is connected successfully, the longer handshake delay may not be acceptable in some applications. The modem can decide a fax or data call quicker if a data or fax calling tone is received. The voice announcement can be omitted in this case. ZyXEL has moved in this direction by having the capability of not only detecting and generating fax tones but also data calling tones.


III. 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 summary of the supported voice AT commands:

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

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

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

Result codes:

OK:
The DCE issues this result code if DCE accepts this command.
ERROR:
The DCE issues this result code if <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:

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

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


III.4 VOICE MODE COMMANDS


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

The range of the <value> is from 0 to 255. The units are 0.1 seconds. The default value is 10.

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+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 <value> 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:

Result codes:

OK:
The DCE issues this result code if DCE accepts this command.
ERROR:
The DCE issues this result code 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 <device> is as follows:

0:
disconnect all I/O devices
2:
Telco line
8:
External Mic. (Connect a Mic to the dial-up line RJ11 jack)
16:
Internal speaker

Result codes:

OK:
The DCE issues this result code if DCE accepts this command.
ERROR:
The DCE issues this result code 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. The default value is 0.

The detail description of each value is :

<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 an on-hook upon an 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 an on-hook upon an 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 hangup 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 force the DCE to return VCON immediately after the ATD command is received.

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+VRA?
DCE will return current Ringback Goes Away Timer, followed by the OK result code.

AT+VRA=?
DCE will return 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 set 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 force the DCE to return VCON immediately after the ATD command is received.

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+VRN?
DCE will return current Ringback Never Appeared Timer, followed by the OK result code.

AT+VRN=?
DCE will return 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 can abort the voice receive state by sending a character other than <XON> and <XOFF>. 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 either with the QUIET or SILENCE <DLE> shielded code.

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

The range of the sensitivity <sds> is from 0 to 31. The higher the value, the higher the sensitivity threshold level. The magnitude difference in sensitivity level has a unit of dB. <sds> = 0 means silence detection is disabled or not supported. The range of the interval <sdi> is from 0 to 255 in unit of 0.1 second.

Result codes:

OK:
The DCE issues this result code if DCE accepts this command.
ERROR:
The DCE issues this result code if the <sds> or <sdi> is out of range.

AT+VSD?
This command causes the DCE to report current <sds> and <sdi> 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 range 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 <sds> and 70 for <sdi>. 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<s> or DLE<q> 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 shall consist of elements in a list with each element seperated by commas. Each element can be:

  1. A single ASCII character in the set, 0-9, A-D, #, and *. The DCE shall interpret the ASCII character as a DTMF digit with a duration given by AT+VBT command.
  2. Three numbers seperated by commas and enclosed in square brackets. The DCE shall interpret the first and the second number as the frequencies of the dual tone, and the third one as the duration of the tone.
    The frequency range is from 200 Hz to 3300 Hz, a frequency of zero means silence. The range of the duration is from 0 to 255 in unit of 0.1 second.
  3. A single ASCII character and a number, seperated by commas and enclosed in curly braces. The DCE should 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 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 can abort 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.

**Note: This does comply with IS-101.

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.


III.5 <DLE> SHIELDED CODES


In voice transmit/receive mode, BISYNC protocol should be applied to the data stream to/from DCE. During this period, commands and responses will be in <DLE> shielded form. The supported <DLE> shielded codes are as follows (all <DLE> shield codes are case sensitive):

III.5.1 Commands :


Code Simple Action Command Description
<NUL> This is something I would recommend <DLE> Complies with IS-101 p Pause Transmit Data State("Immediate Command"). Complies with IS-101 r Resume Transmit Data State("Immediate Command"). Complies with IS-101 <ETX> End Transmit Data State ("Stream Command"). Complies with IS-101. <CAN> Clear transmit buffer of voice data("Immediate Command"). Complies with IS-101. <FS>or<DC2> Concatenate transmit data streams("Stream Command"). Complies with IS-101. <DC4> Clear transmit buffer of voice data and return to command mode("Immediate Command"). Not defined in IS-101.

III.5.2 Responses:


Code Event Report Description
<DLE> Two contiguous <DLE><DLE> codes indicate a single <DLE> in the data stream. Complies with IS-101 <ETX> End Data State. Complies with IS-101 0 DTMF '0' received. Complies with IS-101 1 DTMF '1' received. Complies with IS-101 2 DTMF '2' received. Complies with IS-101 3 DTMF '3' received. Complies with IS-101 4 DTMF '4' received. Complies with IS-101 5 DTMF '5' received. Complies with IS-101 6 DTMF '6' received. Complies with IS-101 7 DTMF '7' received. Complies with IS-101 8 DTMF '8' received. Complies with IS-101 9 DTMF '9' received. Complies with IS-101 # DTMF '#' received. Complies with IS-101 * DTMF '*' received. Complies with IS-101 c T.30 Facsimile Calling Tone. Complies with IS-101 e Data Calling tone. Complies with IS-101 s "Presumed Hangup"(Silence) Time-out. Silence detected. The DCE has determined that there was no voice energy present at the the beginning of the voice recording session followed by a period of silence greater than the amount of time selected by AT+VSD command. Complies with IS-101 q "Presumed End of Message" (Quiet) Time-out. Quiet detected. The DCE has determined that there was voice energy present at the the beginning of the voice recording session followed by a period of silence greater than the amount of time selected by AT+VSD command. Complies with IS-101 b Busy tone. Complies with IS-101 d Dialtone tone. Complies with IS-101.

III.5.3 Responses:

DTE to DCE stream, The DCE will filter the data stream from the DTE and remove all character pairs beginning with <DLE>. The DCE will recognize <DLE><DLE> and reinsert a single <DLE> in its place. The DTE must filter stream data to the DCE, and insert extra <DLE> characters ahead of <DLE> data.

DCE to DTE stream, The DTE must filter the data stream from the DCE and remove all character pairs beginning with <DLE>. The DTE must recognize <DLE><ETX> as the stream terminator. The DTE must recognize the <DLE><DLE> and reinsert a single <DLE> in its place. The DCE will filter stream data to the DTE, and insert extra <DLE> characters ahead of <DLE> data.

III.5.4 Flow Chart :

  1. Receive data from modem,
                            +--------------+
                            | RDA=Rcv Data |
                            +--------------+
                                   |
                             +------------+
                             | PREVDLE=1? |
                             +------------+
                                   |
                      +---------------------------+
                   YES|                           |NO
               +-----------+                 +-----------+
               | PREVDLE=0 |                 | PREVDLE=0 |
               +-----------+                 +-----------+
                      |                            |
               +----------+                  +-----------+
               | RDA=DLE? |                  | RDA=DLE ? |
               +----------+                  +-----------+
                      |                            |
              +-----------+               +-----------------+
           YES|           |NO          YES|                 |NO
        +----------+  +-----------+   +-----------+  +-----------------+
        | Put RDA  |  | Check for |   | PREVDLE=1 |  | Is it Tx mode ? |
        | into Buf |  | Command   |   +-----------+  +-----------------+
        +----------+  +-----------+                          |YES
                                                    +-------------------+
                                                    | Check if XON/XOFF |
                                                    +-------------------+
                                                             |
                                                      +--------------+
                                                   YES|              |NO
                                                 +-----------+  +----------+
                                                 | Handle    |  | Put RDA  |
                                                 | Flow Cntl |  | into Buf |
                                                 +-----------+  +----------+
  2. Send data to modem,
                            +--------------+
                            | TDA=Tx Data  |
                            +--------------+
                                   |
                             +------------+
                             | TDA=DLE ?  |
                             +------------+
                                   |
                         +--------------------+
                      YES|                    |NO
                  +--------------+     +--------------+
                  | Send two DLE |     | Sned TDA to  |
                  | to UART      |     | UART         |
                  +--------------+     +--------------+


IV. EXAMPLES OF VOICE MODE OPERATION


  1. Greeting message recording (Put a MIC into dial-up line RJ11 jack)

    DTE DCE comments
    AT+FCLASS=8 ---> Switch to voice mode <--- OK AT+VSM=? ---> 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 AT+VSM=1 ---> Select CELP compression method <--- OK AT+VLS=8 ---> Activate external MIC on Line Jack <--- VCON AT+VRX ---> Start to record <--- CONNECT <--- <DATA> AT ---> Stop recording <--- <DATA> <--- <DLE><ETX> <--- VCON Return to commnad state AT+VLS=0 ----> Deactivate external MIC on Line Jack <--- OK AT+FCLASS=0 Return to data mode <--- OK
  2. Voice file playing via internal speaker

    DTE DCE comments
    AT+FCLASS=8 ---> Switch to voice mode <--- OK AT+VSM=? ---> 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 AT+VSM=1 ---> Select CELP compression method <--- OK AT+VLS=16 ---> Activate internal speaker <--- VCON AT+VTX ---> Start to play <--- CONNECT <DATA> ---> <DLE><ETX> ---> <--- VCON Return to commnad state AT+VLS=0 ---> Deactivate internal speaker <--- OK AT+FCLASS=0 Return to data mode <--- OK
  3. Voice file playing via line

    DTE DCE comments
    AT+FCLASS=8 ---> Switch to voice mode <--- OK AT+VSM=? ---> 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 AT+VSM=1 ---> Select CELP compression method <--- OK AT+VLS=2 ---> Connect to line <--- VCON AT+VTX ---> Start to play <--- CONNECT <DATA> ---> <DLE><ETX> ---> <--- VCON Return to commnad state AT+VLS=0 ---> Deactivate line connection <--- OK AT+FCLASS=0 Return to data mode <--- OK
  4. Answering machine (Voice call)

    DTE DCE comments
    AT+FCLASS=8 ---> Switch to voice mode <--- OK AT+VSM=? ---> 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 AT+VSM=1 ---> Select CELP compression method <--- OK AT+VLS=2 ---> Connect to line <--- VCON AT+VTX ---> Start to play greeting message <--- CONNECT <DATA> ---> <DLE><ETX> ---> <--- VCON return to commnad state AT+VRX ---> Start to record <--- CONNECT <--- <DATA> <--- <DLE>b DCE detects busy tone or or <DLE>q long period of quiet AT ----> Stop recording <--- <DATA> DCE deliver remaining data <--- <DLE><ETX> <--- VCON Return to commnad state AT+VLS=0 ---> Deactivate line connection <--- OK AT+FCLASS=0 Return to data mode <--- OK
  5. Answering machine (Fax call)

    DTE DCE comments
    AT+FCLASS=8 ---> Switch to voice mode <--- OK AT+VSM=? ---> 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 AT+VSM=1 ---> Select CELP compression method <--- OK AT+VLS=2 ---> Connect to line <--- VCON AT+VTX ---> Start to play greeting message <--- CONNECT <DATA> ---> <--- <DLE>c T.30 fax calling tone detected or or <DLE>5 DTMF digit '5' detected <DATA> ---> <DLE><ETX> ---> <--- VCON Return to commnad state AT+FCLASS=2 ---> Try to handshake Fax mode <--- OK ATA ---> Switch to fax mode and answer fax call . . .
  6. Answering machine (Data call)

    DTE DCE comments
    AT+FCLASS=8 ---> Switch to voice mode <--- OK AT+VSM=? ---> 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 AT+VSM=1 ---> Select CELP compression method <--- OK AT+VLS=2 ---> Connect to line <--- VCON AT+VTX ---> Start to play greeting message <--- CONNECT <DATA> ---> <DLE><ETX> ---> <--- VCON Return to command state AT+VRX ---> Start to record <--- CONNECT <--- <DATA> <--- <DLE>s DCE detects silence AT ----> Stop recording <--- <DATA> DCE deliver remaining data <--- <DLE><ETX> <--- VCON return to command state (DTE delete this silence file) AT+FCLASS=0 ---> <--- OK ATA ---> Try to handshake data mode Switch to data mode and answer data call . . .


V. CONNECT A PHONE HANDSET TO THE RJ11C LINE JACK


If you have a telephone set with a handset that has a cable with a RJ11C connector plugged into the phone set main body, you can unplug the handset and plug it into the modem Line Jack and then use the handset as both a microphone and speaker.

The central two wires in the Line Jack are the signal wires to be connected to the phone company. If you connect the handset to this Line Jack, normally the earphone in the handset will be connected to the modem's two-wire line terminals. You can hear the voice when the modem is in playback mode and you can speak to the earphone (remember "earphone") in recording. In recording mode, the earphone is used as a microphone.

CAUTION: Never plug the handset into the modem's Phone Jack because it will be connected to the phone line when modem is on-hook and it will be damaged by the phone line's DC voltage and current.