Voice Operation
Voice models only
You should use the voice software supplied with your modem to send and receive verbal messages or record telephone conversations. Consult the documentation associated with that software for more information.

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 digitised voice. ADPCM compression supports the efficient storage of voice messages while optional coder silence deletion and decoder silence interpolation significantly increase compression rates.

The ADPCM voice mode supports three sub-modes once a voice connection is established (see #CLS command): on-line voice command mode, voice receive mode and voice transmit mode.

Online voice command mode

On-line voice command mode is the default voice sub-mode entered when the #CLS=8 command is issued, and may also be entered from voice receive mode and voice transmit mode. Entry into on-line voice command mode is indicated in 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 on-line 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 on-line voice command mode based on detection of the ring back cadence going away, upon expiration of the ring back never came timer, or upon detection of answer tone; the modem can report DTMF tones, answer tones, busy tones 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.

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

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 analogue voice by the DAC at the original voice compression quantisation sample-per-bits rate. Optional silence interpolation is enabled if silence deletion was selected for voice compression.

Tone and status monitoring

The modem can detect specific tones and other status information, and report these to the DTE while in any of the three voice sub-modes. The modem simultaneously looks for 1300 and 1100 Hz calling tones when answering, and for CCITT (ITU-T) and Bell answer tones when originating. The modem can also detect dial or busy tones in any of the three voice sub-modes. All detected tones, as well as certain other status's addressed in the following table such as "silence" and "teleset-off-hook" (i.e. handset off hook) are reported as shielded codes. When in on-line voice command mode or voice transmit mode, the codes in the following table are sent to the DTE immediately on verification by the modem of the associated tone, status or cadence.

Shielded codes sent to the DTE
<DLE>0 - <DLE>9
<DLE>* - <DLE>#
<DLE>A - <DLE>D
DTMF digits 0 to 9, *, # and A to D detected by the modem.
<DLE>a Answer tone detected. V.25 or T.30.
<DLE>b The BUSY signal is detected.
<DLE>c The T.30 calling tone is detected.
<DLE>d Dial tone is detected.
<DLE>e The V.25 calling tone is detected.
<DLE>f Bell answer tone is detected.
<DLE>h Local handset has been hung up.
<DLE>o An overrun has occurred in voice receive mode.
<DLE>q Silence has been detected in voice receive mode and there has been valid voice previously detected.
<DLE>s Silence has been detected in voice receive mode and there has not been valid voice previously detected.
<DLE>t Local handset has been picked up.
<DLE>u An under-run has occurred in voice transmit mode.
<DLE><ETX> Acknowledgement to a key press abort in voice receive mode.

Shielded codes sent from the DTE
<DLE><ETX> Sent to indicate the end of voice transmission.
<DLE><CAN> Sent to cancel current voice transmission and flush any data in the transmit buffer.
<DLE>p Sent to pause the current voice transmission.
<DLE>r Sent to resume a paused voice transmission.

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

Voice commands

Commands are entered with the AT prefix as with other modem commands and executed after pressing <Return>, or . More than one command may be entered on a line. If commands are entered without a parameter, 0 is assumed. If a parameter outside the permitted range is entered, the ERROR message is returned when the parameter is encountered. Briefly, the following commands are provided.

Note: The default settings for your modem may differ from those listed here. See the supplied Installation Guide for details of any differences.

Global AT Command Set Extensions

The AT commands in the following section are global and can be used in any mode (#CLS setting).

A Answering in voice :

This command forces the modem on-line in the same manner as for data and fax operation with the following exceptions:

When configured for voice mode (#CLS 8), the modem enters on-line voice command mode immediately after going off hook. When the #CLS=8 command is entered, the modem can be programmed to look for 1100 Hz and 1300 Hz calling tones (see #VTD), thus eliminating the need to do so as part of A command processing. After the VCON message is issued, the modem re-enters on-line voice command mode while sending any incoming DTMF or calling tone indications to the DTE.

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 Class1, or 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.

D Dial command in voice :

This voice command operates in a similar manner to the equivalent data and fax commands. When in Voice Mode (#CLS 8):

The modem attempts to determine if the remote picked up the telephone line and once determined, the VCON message is sent to the DTE. This determination is initially made based upon the ring back detection and disappearance (see #VRA and #VRN commands). DTMF tone and status reporting to the DTE is enabled.

H Hang up in voice :
Options : H0, H1 Default : H0

This command operates in a similar manner to the equivalent data and fax commands by hanging up (disconnecting) the telephone line. There are some specific considerations when in voice mode:

The H command forces #CLS=0, but does not destroy any of the voice parameter settings such as #VBS, #VSP, etc. If the DTE needs to issue an H command and then pursue another voice call, it must issue a subsequent #CLS=8 command. There is no need to amend the voice parameter settings again unless a change in the settings is required.

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

If the #VLS setting selects a device which does not include the telephone line (such as a local handset or microphone), the H command de-selects this device and re-selects the default setting (#VLS=0).

Z Reset from voice :
Options : Z0, Z1 Default : Z0

This voice command operates identically to the equivalent data and fax commands. In addition, the Z command resets all voice related parameters to default states, forces the #BDR =0 condition (auto baud enabled), and selects the telephone line with the handset on hook.

#BDR Select baud rate (turn off auto baud) :
Options : #BDR?, #BDR=?, 0, n Default : #BDR=0

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 by the modem at the current assumed speed. Having sent the OK the modem switches to the speed indicated in the new #BDR=n command.

When in on-line voice command mode and #BDR is not zero (no auto baud selected), the modem supports a full duplex DTE interface. The DTE can enter commands at any time, even when the modem is sending a shielded code indicating DTMF detection to the DTE. When #BDR is not set as zero, the modem employs the S30 deadman timer (See S Registers chapter). The deadman timer starts at the point where #BDR is non zero. If this period expires (after 60 seconds) with no activity on the DTE interface, the modem reverts to #BDR=0 and #CLS=0.

#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 by the modem.

#BDR=0 enables auto baud detection on the DTE interface.

#BDR=n where n has the range 1 to 48. This command sends an OK message at current speed, then switches to the new speed defined by n*2400 bps until another #BDR=n command is received. Auto baud is disabled, and the character format is maintained at the most recently detected format.

#CLS Select Data, Fax or Voice :
Options : #CLS?, #CLS=?, #CLS=0, 1, 2, 8 Default : #CLS=0

Selects data, fax or voice mode from operation in any mode.

#CLS? returns the current setting (0, 1, 2, or 8) of the #CLS=0 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 activity timeout in the non-auto baud 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.

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

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

#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 initialised by #CLS=8 result (after answer or successful call progress) in the modem in entering on-line voice command mode.

#MDL? Identify model :

This command requests the model number or the name of the modem.

#MFR? Identify manufacturer :

This command requests the modem manufacturer.

#REV? Identify revision level :

This command requests the revision level of the modem.

Commands enabled only in voice mode

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

#TL Audio Output Transmit Level :
Options : 0000 to 7FFF (hexadecimal) Default : 3FFF

This command provides an adjustment of the audio transmit level. A higher hexadecimal value increases the playback volume. It is not possible to read the current level.

#VBQ? Query buffer size :

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

#VBS Bits per sample (compression factor) :
Options : #VBS?, #VBS=?, 2, 4, 8, 16 Default : #VBS=4

This command selects the degree of ADPCM voice compression or the format of linear PCM to be used.

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

#VBS=? returns the message '2, 4', which are the ADPCM compression bits/ sample values available. Selected models also return '8, 16', which is the PCM bits per sample.

#VBS=2 selects 2 bits per sample ADPCM.

#VBS=4 selects 4 bits per sample ADPCM.

#VBS=8 selects 8 bits per sample PCM (selected models only).

#VBS=16 selects 16 bits per sample PCM (selected models only).

#VBT Beep tone timer :
Options : #VBT?, #VBT=?, 0, n Default : #VBT=10

This command defines the time period, up to 4 seconds which is used by the modem as the DTMF or fixed tone duration for generating tones via the D command while in on-line voice command mode.

#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=n where n has the range 1 to 40. This command sets the tone duration time (10 = 1 second).

#VCI? Identify Compression Method :

This command queries the modem as to its compression method and raw bits-per-sample capability. Using the command returns the message

'ROCKWELL;ADPCM;16'.

#VLS Voice line select :
Options : #VLS?, #VLS=?, 0, 1 to 4 Default : #VLS=0

Selects the devices which are routed through the modem.

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

#VLS=? 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 correspond to the device type numbers as shown, 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 is the default option on the modem. This command instructs the modem that when entering any of the three voice operating sub-modes (on-line command, transmit or receive), to route the telephone line interface through the modem. The OK response is sent to the DTE, and any previous connection is lost.

#VLS=1 instructs the modem to route the handset through the modem. This setting can be chosen before recording a greeting message.

#VLS=2 instructs the modem to route the speaker through the modem. This setting can be chosen before playing back any message. Upon receipt of this command the modem immediately switches to on-line voice command mode, and generates the VCON response. Since the speaker is an output only device, very little occurs until the DTE sends the #VTX command.

#VLS=3 instructs the modem to route the auxiliary input device (microphone) through the modem. This setting can be chosen before recording a greeting message.

#VLS=4 is the same as #VLS=0, except that the modem enables the internal speaker and telephone line handset.

#VRA Ring back goes away timer (originate) :
Options : #VRA?, #VRA=?, 0 to 255 Default : #VRA=70

This command is used when originating a voice call (#CLS=8) to set the value of the "Ring back Goes Away" timer. The "Ring back Goes Away" timer is the period of time measured from the time the ring back cadence stops (in units of 100 ms) until the next ring back is detected. If ring back is not detected within the relevant period, the modem assumes that the remote has picked up the line and switches to on-line voice command mode. Each time a ring back cycle is detected, the "Ring back Goes Away" timer is reset.

#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 switches off the "Ring back Goes Away" timer. After one ring back, the dialling modem sends VCON and enters on-line voice command mode immediately.

#VRA=n where n has the range 0 to 255. Defines the period without ring back (after at least one ring back has been detected) in 100 ms units.

#VRN Ring back never came timer (originate) :
Options : #VRN?, #VRN=?, 0 to 255 Default : #VRN=100

This command can be used if originating a voice call (#CLS=8) to set the "Ring back Never Came" timer value, an amount of time (in units of 100 ms) measured from completion of dialling. If ring back is not detected within this period, the modem assumes the remote has picked up the line and switches to on-line voice command mode.

#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 'ring back never came timer'. After dialling, the modem sends VCON and enters on-line voice command mode immediately.

#VRN=n where n has the range 0 to 255 (100 ms units), and defines the period without ring back after dialling.

#VRX Voice receive :

This action command is only valid if the modem is in the on-line voice command mode (indicated with the VCON message), and switches to the voice command mode. The command is used when a voice file is to be received from the line microphone or handset. The #VLS command should have been previously issued to select the input source.

#VSD Enable silence deletion (voice receive) :
Options : #VSD?, #VSD=?, 0, 1 Default : #VSD=0

Used to enable or disable voice receive mode silence deletion.

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

#VSD=? returns the message '0, 1'.

#VSD=0 turns off the silence deletion.

#VSD=n turns on the silence deletion if the silence sensitivity setting.

#VSD is non zero. The aggressiveness of the silence deletion is controlled by #VSS.

#VSK? Buffer skid setting :

This command displays 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.

#VSP? Silence Detection Period (voice receive) :
Options : #VSP?, #VSP=?, 0 to 255 Default : #VSP=45

This command queries and sets the value of the voice receive mode silence detection period (inactivity timer). 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>q or <DLE>s codes after ensuring the buffer is empty.

#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 switches off the silence period detection timer.

#VSP=n where n has the range 0 to 255. This command defines the period without received data in 100 ms units.

#VSR Sampling rate selection :
Options : #VSR?, #VSR=?, 7200, 11025 Default : #VSR = 7200

This parameter, along with the bits per sample (#VBS) command, determines the necessary DTE interface speed transmit and receive in voice mode.

7200 Hz is available for ADPCM or PCM.

11025 Hz is available for PCM only.

#VSS Silence detection tuner (voice receive) :
Options : #VSS?, #VSS=?, 0, 1 to 3 Default : #VSS=2

This command enables and disables the voice receive mode silence detection and controls the sensitivity employed by the modem in compressing silence.

#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 is the least sensitive setting. This command configures the system to a state which is least likely to detect and compress periods of silence, but is still able to if the line is really quiet.

#VSS=2 is the mid range setting. This command configures the system to a state which is likely to be the best overall compromise on normal telephone lines.

#VSS=3 is the most sensitive setting. This command configures the system to a state which is most likely to detect and compress periods of silence.

#VTD DTMF tone reporting :
Options : #VTD?, #VTD=?, #VTD=i,j,k Default : #VTD=3F,3F,3F

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 on-line voice command modes.

#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 (see the table below) for the voice transmit, voice receive and on-line voice command modes, respectively.

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

#VTM Timing mark placement :
Options : #VTM?, #VTM=?, 0, 10 Default : #VTM=0

This command controls the placement of <DLE>T timing marks by the DCE in the data stream during ADPCM recording.

#VTM = 0 disables timing marks.

#VTM = 10 enables timing marks every 1 second.

#VTS Generate tone signals (On-line Voice Command) :

This action command can be issued to play one or more DTMF or other tones (such as a beep) when the modem is in the on-line voice command mode. The modem parses and plays the tones defined in the parameter in the order listed. No key abort is accepted. The parameter can have three types of elements separated by commas:

Dual or single tones are represented by a sub-string enclosed in square brackets ([ ]) within the parameter. Each such sub-string comprises three sub-elements corresponding to two frequencies (0 Hz or 200-3000 Hz) and a duration (ASCII decimal in units of 100 ms).

Varying DTMF digits are represented by a sub-string enclosed in curly brackets ({ }) within the parameter. Each such sub-string consists of two sub-elements corresponding to a DTMF digit (0-9, A-D, *, #) and alternate durations in units of 100 ms.

#VTX Voice transmit :

This action command can be issued only if the modem is in the on-line voice command mode (indicated previously with the VCON message) and is the switch to voice transmit mode. The command #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.


Previous Section | Contents | Search Tools | Comments | Glossary | Next Section

Hosted by www.city-visitor.com

Glossary Comments Glossary Search Tools Contents Fax Operation