This file is provided "as is" for use by those interested in the extended Voice Command sets for Zoom's line of voice capable fax modems. Use of this command set is NOT recommended for the casual user or others not experienced with the terminal command mode of your software. Technical Support does not provide any information beyond that contained in this file and if you need further assistance with the command implementation in software development efforts we recommend that you contact your nearest Rockwell International Office. This document is approximately 53 pages long and contains page breaks for clearer printing. 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 , 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 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 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 0 - 9, *, #, A -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 code per DTMF button pushed. a Answer Tone (CCITT). Send to the DTE when the V.25/T.30 2100 Hz Answer Tone (Data or Fax) is detected. If the DTE fails to react to the code, and the modem continues to detect Answer tone, the code is repeated as often as once every half second. b Busy. Sent in Voice Receive Mode when the busy cadence is detected, after any remaining data in the voice receive buffer. The modem sends the busy b code every 4 seconds if busy continues to be detected and the DTE does not react. This allows the DTE the flexibility of ignoring what could be a false busy detection. c Calling Tone. Sent when the T.30 1100 Hz Calling Tone (Fax Modem) is detected in any of the voice operating modes. The modem assumes that the calling tone is valid and sends this code only after 4 seconds of proper cadence has been detected. If the DTE does not react to the c, and calling tone continues, the code is sent again as often as once every 4 seconds. d Dialtone. Sent in Voice Receive Mode when dial tone is detected after any remaining data in the voice receive buffer. The modem sends the j code every 3 seconds if dial tone continues to be detected and the DTE does not react. This allows the DTE the flexibility of ignoring what could be a false dial tone detection. e European Data Modem Calling Tone. Sent when the V.25 1300 Hz Calling Tone (Data Modem) is detected in a voice submode. The modem assumes that the calling tone is valid, and sends this code only after 4 seconds of proper cadence has been detected. If the DTE does not react to the e and calling tone continues, the code is sent again as often as once every 4 seconds. f Bell Answer Tone. Sent when Bell 2225 Hz Answer Tone (Data) is detected. 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. 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. 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 o at the end of the buffer, thus marking the location where data was lost by the DTE. The modem does not append o codes to the buffer contiguously. If more than one data byte is lost before the DTE begins reading again, there is only on o code in the data stream. However, if the DTE resumes reading, and then once again allows the buffer to overflow, a new o is appended to the data by the modem. Thus, the o does not indicate how many bytes of contiguous data has been lost, but may report multiple gaps of lost data in the data stream. q Quiet. Sent in Voice Receive Mode following any remaining data in the receive voice buffer when the silence detection timer (#VSP) expires and there has been voice data passed to the DTE. Note that with #VSS=0, the Quiet message never occurs. But with silence deletion turned on, #VSS may not in itself be sufficient since "cracks and pops" for a short duration directly after a connection should not be considered voice. In general, q is sent if first there was sound, and now there is no sound, and means that somebody has stopped talking, and according to the criteria selected in the #VSP and #VSS settings, is probably not going to start again. If the DTE ignores the q code, the modem automatically resets its timer and sends the code again if the # VSP time period again expires. This allows the DTE time to react to what may be a false silence detection. Table 8-2. Shielded Codes Sent to the DTE (Cont'd) Code Sent to DTE Meaning s Silence. Sent in Voice Receive Mode after the silence detection timer (#VSP) expires and if valid voice has not been detected (#VSS). In general, s is sent if no sound was detected at all. This differs slightly from Quiet (q) in that it can be used by the DTE in its discrimination algorithms as a means of determining if anything at all is coming from the remote station. If the DTE ignores the s code, the modem automatically resets its timer and sends the code again if the #VSP time period a gain expires. This allows the DTE time to react to what may be a false detection of silence. t Handset Off-Hook. Sent one time when the local handset transition from on-hook to off-hook is detected in any of the three voice submodes. u Underrun. Sent in Voice Transmit Mode when the voice transmit buffer becomes empty without receiving a or command first. The modem remains in transmit mode, but issues the u to indicate that silence is being generated. When the DTE resumes sending bytes, the modem allows a small number of bytes to build up in the buffer before re-enabling the transmitter to avoid repeated underruns. However, with the underrun condition, the modem does not wait for the XOFF threshold (or timer) to be met before resuming, as it does on an initial transmit or resume operation because the remote listener may be unaware of the underrun, and keeping the silence short may serve to mask the underrun altogether. End of Stream. is sent to denote the end of a voice data stream, similar to fax Class 1 and 2. This occurs in Voice Receive Mode only after the DTE issues the key abort. 8.2.5. Shielded Commands from the DTE Most commands issued for voice are implemented as extensions to the AT command set, and are accepted only if the modem is in a valid command mode, such as Online Voice Command Mode. However, there are some operations which are available to the DTE without necessitating a switch to Online Voice Command Mode. The most obvious of these is the which the DTE issues during Voice Transmit Mode to terminate an output message. Table 8-3 lists shielded commands recognized by the modem. 8.2.6. Voice Record To effect recording of a message received via a handset or microphone, the DTE must configure the modem for Voice Mode (#CLS=8), and select the proper relay setup (#VLS) to instruct the modem whether to use the auxiliary device. The modem responds to the #VLS command by issuing a relay activate command to select the input device. When a device other than the telephone line is selected, the modem immediately enters Online Voice Command Mode (indicated by VCON). DTMF detection is therefore enabled as soon as the DTE selects the device, such as a handset, although the user still needs to physically pick up the telephone and "press buttons." Even if the DTE has not entered Voice Receive or Transmit Modes (#VTX or #VRX), 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 q or s code to the DTE. Recording can be canceled only via two events: 1. The DTE sends any character to the modem. This is the key abort, and is the normal method of terminating the receive mode. 2. The S30 deadman timer expires, which is generally an undesired event. Table 8-3. Shielded DTE Codes Code Sent to Modem Meaning Terminate. Sent during Voice Transmit Mode to indicate that the DTE has finished transmitting a voice message. The modem completes transmission of any remaining data in the voice transmit buffer before responding with the VCON message and entering Online Voice Command Mode. (This command is ignored by the modem when not in Voice Transmit Mode.) Cancel. Sent during Voice Transmit Mode to indicate that the DTE has finished transmitting a voice message and wants the modem to discard any remaining data in the voice transmit buffer. The modem immediately purges its buffer, and then responds with the VCON message entering Online Voice Command Mode. (This command is ignored by the modem when not in Voice Transmit Mode.) p Pause. Sent during Voice Transmit Mode to force the modem to suspend sending voice data to the selected output device(s). Any data currently in the voice transmit buffer is saved until either a resume (r), or cancel , is received, in which case the data is lost. If a is received during the paused state, the modem processes it normally, and also automatically resumes transmission of the data left in the buffer (appended with ). Any other data received from the DTE while in this paused state is placed in the transmit buffer according to available space, with flow control active. (This command is ignored in other voice submodes.) r Resume. Sent during Voice Transmit Mode to force the modem to resume sending voice data to the selected output device(s). Any data currently in the voice transmit buffer is now played. (This command is ignored in other voice modes.) The pause and resume commands are different than a simple suspension of data; data in the buffer is "frozen" and not played when the DTE pauses. 8.2.7. Voice Playback To effect playback of a message recorded via a handset or microphone, or of a message recorded during a voice call, the DTE must configure the modem for Voice Mode (#CLS=8) and select the proper relay setup (#VLS) to instruct the modem whether to use the handset or speaker. The modem responds to the #VLS command by issuing a relay activate command to select the input device. The hardware must provide a means of selecting a handset and/or microphone instead of the telephone line, as this input device. When a device other that the telephone line is selected, the modem immediately enters Online Voice Command Mode (indicated by VCON). DTMF detection is thus enabled as soon as the DTE selects the device, such as a handset, although the user still needs to physically pick up the telephone before he can issue DTMF tones. Once selected, however, the user can indeed pick up the telephone and "press buttons." Even if the DTE has not entered Voice Receive or Transmit Modes (#VTX or #VRX), these DTMF tones are 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 has to be issued to switch back to Online Voice Command Mode. 8.2.8. Voice Call Termination Local Disconnect The DTE can disconnect from a telephone call by commanding a mode change to Online Voice Command Mode (if not already in it), and by issuing the H command. Remote Disconnect Detection When in Voice Receive Mode, the modem sends the proper shielded code when loop break, dial tone, or busy tone is detected. The modem stays in Voice Receive Mode, however, until the DTE issues a key abort to force Online Voice Command Mode. The DTE must issue the H command if it wishes to hang up. 8.2.9. Mode Switching Voice to Fax If the modem is in Online Voice Command Mode (i.e., it has gone off-hook with #CLS=8 in effect), the DTE can attempt a fax handshake by setting #CLS=1 or #CLS=2, followed by the A or D command corresponding to fax receive or send. This has the effect of beginning a fax Class 1 or Class 2 handshake (see #CLS command). Unsuccessful Fax Connection Attempt to Voice A fax handshake which does not succeed, attempted as the result of the DTE modifying the #CLS setting from voice (8) to fax (1 or 2), does not result in the modem hanging up, allowing the DTE the flexibility of commanding a switch back to Voice Mode with #CLS=8. Voice to Data If the modem is in the Online Voice Command Mode, the DTE can attempt a data handshake by setting #CLS=0 followed by the A or D command. This has the effect of beginning a Data Mode handshake according to the current Data Mode S-register and command settings. Unsuccessful Data Connection Attempt to Voice A data handshake which does not succeed, attempted as the result of the DTE modifying the #CLS setting from voice (8) to data (0), does not result in the modem hanging up, allowing the DTE the flexibility of commanding a switch back to Voice Mode with #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; pairs, separated by s. Within each line, the is left justified, and is separated from the by the semicolon character and separated fro m the bits-per-sample string by another semicolon. Parameters: None Command option: #VCI? Returns the message, "ROCKWELL;ADPCM;8". #VLS - Voice Line Select This action command can be used to select which devices are routed through the modem. Parameters: n = 0, 1, 2, 3, or 4 [This is the device position number (not device number) as reflected in response to #VLS=?] Default: 0 Result Codes: OK If n = 0, 1, 2, 3, or 4. VCON If device selected does not connect to the telephone line. (A speaker is such a device, but a telephone line with speaker ON is not such a device, and generates OK.) ERROR If n does not equal 0, 1, 2, 3, or 4, or if already off-hook. Command options: #VLS? This query returns the current setting 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 s or 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 q or s shielded code to the DTE. Parameters: n = 0 - 255 (0 - 25.5 seconds) Default: 55 Result Code: OK If n = 0 - 255. ERROR Otherwise. Command options: #VSP? Returns the current setting of the #VSP command as an ASCII decimal value in result code format. #VSP=? Returns the message, "0-255". #VSP=0 Turns off the silence period detection timer. #VSP=n Where n defines the period without received voice data in 100 ms units. #VSR - Sampling Rate Selection This parameter, along with the bits per sample (#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 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, 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. User says: "Hello, this is me, press * to skip this message. I'm happy that you have called, so press 5 to send your fax, or you can leave your message at the beep." User then hangs up, the message is buffered to the DTE, and the DTE waits for the message to end. The DTE should have some kind of maximum timer running to ensure that the user won't speak longer than some predetermined limit. Alternatively, the DTE can require the user to enter a DTMF tone to terminate transmission of the message to the DTE. q The modem has noticed (#VSP time out) that the user has finished. The modem reports this while staying in Voice Receive Mode. DTMF detection and reporting is still active. The DTE now has the entire greeting message on disk. * The user has inadvertently pressed the "*" button, but the DTE is not interested in this presently. ! The DTE issues a key abort to switch to Online Voice Command Mode. 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 following the OK. The S30 timer is now active. #VSD=1 This enables silence insertion. OK The modem confirms command reception.(#VSS is unnecessary for playback.) #VLS=2 Select the speaker as the output device to be used by the modem. VCON The modem confirms command reception, and enters Online Voice Command Mode. Since this is an output only device, nothing more can happen yet. #VTX This tells the modem that the DTE is ready to send voice per the current compression/sampling settings. CONNECT The modem tells the DTE that it can now send data. The modem enters Voice Transmit Mode and ADPCM data flow begins. The DTE sends data. The modem waits 1 second before starting to transmit to the speaker to ensure uninterrupted data flow. If the voice transmit buffer runs empty, the transmitter is disabled. The DTE has finished its transmission and now instructs the modem to enter Online Voice Command Mode after emptying the voice transmit buffer. VCON The modem tells the DTE it is done. If the DTE sends the before the modem has finished transmitting all the data in its buffer, the DTE must wait for this response. (VCON indicates that the DTE can send more data at any time with #VTX.) Table 8-9. Answer Call/Play Greeting/Record Message DTE to Modem 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. The DTE sends greeting message data. The modem waits up to 1 second or until XOFF threshold is reached before starting to transmit to ensure uninterrupted data flow. If the voice transmit buffer runs empty, the transmission is disabled. The DTE has finished with its transmission, and now instructs the modem to enter Online Voice Command Mode since this is the telephone line. VCON The modem tells the DTE it is done. If the DTE sends the before the modem has finished transmitting all the data in its voice transmit buffer, the DTE must wait for this response. #VBT=12 The DTE requests that DTMF digits be sent as "beeps" with the #VTS command while in Online Voice Command Mode, with each "beep" having a duration of 1.2 seconds. OK The modem confirms command reception #VTS=# The DTE sends a "BEEP" to annotate its greeting message. This beep is a 1.2 second long DTMF #. During this period, the no abort is possible from the DTE, and should not be necessary. OK After the modem sends the "BEEP", it sends VCON to inform the DTE that it is ready to move on. DTMF pass through is re-enabled. #VBS=3 The DTE asks for 3-bit compression to recorded message. The DTE needs to work at 38,400 bps since after start and stop bits are added the speed increases to 27,000bps. OK The modem is configured for 3-bit compression. #VRX The DTE instructs the modem to turn the line around and begin recording a message from the remote. CONNECT The modem sets things up and enables ADPCM data transfer to the DTE with the current silence deletion setting. ADPCM data is shipped to the DTE with shielded DTMF tones folded in. The modem is looking for silence, busy, dial tone, and loop break. The DTE records everything in its storage media. 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. 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. The DTE sends greeting message data. The modem waits 1 second before starting to transmit to ensure uninterrupted data flow. If the voice transmit buffer runs empty, the transmission is disabled. The DTE has finished its transmission and now instructs the modem to enter Online Voice Command Mode. VCON The modem tells the DTE it is done. If the DTE sends the before the modem has finished transmitting all the data in its voice transmit buffer, this response is delayed until the buffer is empty. #VBT=13 The DTE requests that DTMF digits be dialed as "beeps" while in Online Voice Command Mode, with each "beep" having a duration 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. ADPCM data is shipped to the DTE with shielded DTMF tones folded in. The modem is looking for silence, busy, dial tone, and loop break. The DTE records everything in its storage media. 5 The caller has finished his voice message, but is now insisting that he be able to send us a facsimile. X DTE sends `X' as key abort. If the user tried to keep talking after they hit the DTMF 5, anything said was lost. Whatever he said before the 5 is on disk. 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.) 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." The DTE sends a previously recorded message from a very fast talking person: "Hello, this is Dave. Press * to send a fax, # for help, or leave your message at the beep." Note that the caller can enter DTMF tones at any time, which the DTE can take into account, or calling tone can still be detected. This ends the greeting message. VCON The modem switches back to Online Voice Command Mode. #VTS+# The DTE sends # as the beep. VCON The 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. 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. 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 shielded code has to be sent prompting the DTE to pursue a data handshake.) #VTX The DTE has a message to send. CONNECT The modem says: "send it." The DTE sends the message: "Hi Dave. Your mother called." Procedure complete. VCON DTMF still active. H The DTE has completed its forwarding task.