home *** CD-ROM | disk | FTP | other *** search
/ The Arcade BBS / arcadebbs.zip / arcadebbs / TRM20.ZIP / TRM20.TXT < prev   
Text File  |  1992-09-17  |  386KB  |  7,941 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33. TECHNICAL REFERENCE FOR HAYES (TM) MODEM USERS
  34.  
  35. 15 Sept 1992
  36. Version P2.0
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44. Hayes Microcomputer Products, Inc.
  45. P.O. Box 105203
  46. Atlanta, Georgia 30348 U.S.A.
  47.  
  48. Hayes Microcomputer Products, Inc.
  49. 1 Roundwood Avenue, Stockley Park
  50. Uxbridge, Middlesex UB11 1AE, U.K.
  51. United Kingdom
  52.  
  53. Hayes Microcomputer Products (Asia) Limited
  54. 39/F Unit B, Manulife Tower
  55. 169 Electric Road, North Point
  56. Hong Kong
  57.  
  58. Hayes Microcomputer Products (Canada) Limited
  59. 295 Philip Street, Waterloo
  60. Ontario, Canada N2L 3W8
  61.  
  62. Hayes Microcomputer Products, Inc. 
  63. Hayes ISDN Technologies 
  64. 501 Second Street, Suite 300
  65. San Francisco, California 94107
  66.  
  67. Hayes Technical Service Station
  68. 40 Xue Yuan Road
  69. Beijing, P.R. China 
  70. Postal Code 100083
  71.  
  72. Notice: Hayes Microcomputer Products, Inc. (Hayes) provides the 
  73. information contained in this document to you for your convenience. 
  74. Hayes does not guarantee the accuracy of the information and reserves 
  75. the right to change this document, as well as the hardware and software 
  76. products described herein at any time and without notice.
  77.  
  78. The Hayes Standard AT Command Set Specification is proprietary to, and 
  79. subject to any copyrights, patents, trade secrets and other proprietary 
  80. rights of Hayes Microcomputer Products, Inc., which may apply, and 
  81. distribution of this document in any way represents a waiver of those 
  82. rights or a license under any of those rights. If you desire more 
  83. information regarding the licensing available under Hayes Intellectual 
  84. Property rights, please contact Hayes Business Development at Hayes 
  85. Microcomputer Products, Inc., P. O. Box 105203, Atlanta, Georgia 30348 
  86. U.S.A.
  87.  
  88. This document may be copied for your use or to give away, but you cannot 
  89. sell or lease the copies.
  90.  
  91. Hayes, the Hayes icon, the Hayes logo, Smartcom, Smartcom II, Smartcom 
  92. III, Smartcom EZ, Smartcom Exec, V-series, Smartmodem, ULTRA, Express, 
  93. OPTIMA, ACCURA, and ESP are trademarks of Hayes Microcomputer Products, Inc. 
  94. MNP is a trademark of Microcom, Inc. Other trademarks mentioned in this 
  95. document are trademarks of their respective companies.
  96.  
  97. (c) 1990, 1992 Hayes Microcomputer Products, Inc.
  98. All rights reserved.
  99.  
  100. 44-00012 AA H32 (BBS Version)
  101. Note: This version of the "Technical Reference for Hayes Modem Users" is a 
  102. special version edited for bulletin-board downloading. As a plain ASCII 
  103. character file, it therefore cannot contain any of the illustrations and 
  104. graphic elements provided in the printed version.
  105.  
  106. The following graphic characters are used to denote the start of Chapters,
  107. 1st Level Headings, 2nd Level Headings, 3rd Level Headings and Table
  108. Headings:
  109.  
  110. Chapter Headings are preceded by:
  111. =============================================================================
  112.  
  113. 1st Level Headings are preceded by:
  114. *****************************************************************************
  115.  
  116. 2nd Level Headings are preceded by:
  117. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  118.  
  119. 3rd Level Headings are preceded by:
  120. .............................................................................
  121.  
  122. Table Headings are separated from table listings by:
  123. -----------------------------------------------------------------------------
  124.  
  125. ========================================================================
  126. CHANGE RECORD:
  127.  
  128. Date              Description of Change
  129. ------------------------------------------------------------------------
  130. 31 October 91     Added Change Record to document
  131. 31 October 91     Updated Table of Contents
  132.  
  133. 31 October 91     Expanded the Hayes fast-turnaround 
  134.                   "Ping Pong" protocol description to : Express 96 
  135.                   -a Hayes proprietary protocol that simulates 
  136.                   full-duplex 9600 bps operation (formerly known 
  137.                   as Hayes fast-turnaround "Ping-Pong" protocol).
  138. 31 October 91     Added Result Code 14400
  139. 31 October 91     Added O3 command Initiate the CCITT
  140.                   V.32bis renegotiation sequence
  141. 31 October 91     Added &A commands Auto-answer Mode Options
  142. 31 October 91     Added &G1 command description
  143. 31 October 91     Added MI/MIC cross-reference to &J command
  144. 31 October 91     Expanded description of &K5 transparent flow control
  145. 31 October 91     Added note to &T description
  146. 31 October 91     Added description of &T19 RTS/CTS Cable Test
  147. 31 October 91     Added &V6 command View Blacklisting Entries
  148. 31 October 91     Added Result Codes 13, 24, and 25
  149. 31 October 91     Added Negotiation Progress Messages 49, 51,and 52
  150. 31 October 91     Added S36 Developer's Tips
  151. 31 October 91     Added 1200 and 14400 bps options to register S37
  152. 31 October 91     Added description of register S43 Current DCE Speed
  153. 31 October 91     Added description of register S55
  154.                   AutoStream Protocol Request
  155. 31 October 91     Added description of register S56
  156.                   AutoStream Protocol Status
  157. 31 October 91     Added description of register S57 Network
  158.                   Options Register
  159. 31 October 91     Expanded description of S87 Fixed Speed DTE
  160.                   Interface
  161. 31 October 91     Added description of S91 PSTN Transmit Level
  162.                   Adjustment
  163. 31 October 91     Added options 10-13 to register S93
  164. 31 October 91     Expanded description of register S94
  165. 31 October 91     Added description of register S97 V.32 Automode
  166.                   V.22/V.22bis Probe Timing
  167. 31 October 91     Added description of register S105 Link Layer
  168.                   (N401/V.42 or N1/X.25) Frame Selector
  169. 31 October 91     Added description of register S108  Signal 
  170.                   Quality Selector
  171. 31 October 91     Added description of register S109 V.32bis 
  172.                   Carrier Speed Selector
  173. 31 October 91     Added description of register S110 
  174.                   V.32/V.32bis Selector
  175. 31 October 91     Expanded description of Escape Sequence +++
  176. 31 October 91     Added S95=60 description to paragraph D.3.2 Setup
  177. 31 October 91     Added para. D.3.3 Establishing the Desired 
  178.                   Connection and Fallback Strategy (S36 Developers Tips)
  179. 31 October 91     Added COMPRESSION and AUTOSTREAM to para. D.4.1 
  180.                   Originating a Call
  181. 31 October 91     Added para. D.9 Transparent XON/XOFF Local Flow Conrtol 
  182.                   in Hayes V-series modems. 
  183. 26-August-92      Content edit, proof, correction throughout. OPTIMA and 
  184.                   ACCURA EC product information added.  
  185.  
  186.  
  187. ========================================================================
  188. Introduction
  189. Chapter 1:     The Hayes Standard AT Command Set
  190. Chapter 2:     X.25 Communications
  191. Appendix A:    Communications Options
  192. Appendix B:    Troubleshooting Tips
  193. Appendix C:    Modem-to-DTE Interface
  194. Appendix D:    Application Suggestions
  195.                                        
  196. ========================================================================
  197. INTRODUCTION
  198.  
  199. This Technical Reference for Hayes Modem Users offers additional 
  200. information about Hayes modems and the Hayes Standard AT Command Set 
  201. for users who want to use the command set to control the modem, rather 
  202. than using full-featured software. To help you do this, the complete 
  203. command set is defined in greater detail than that provided in the user 
  204. documentation that accompanied your modem. All of the commands are described 
  205. in this document.
  206.  
  207. You will also find additional discussions on some of the more 
  208. complicated options, such as synchronous communications, and the 
  209. interactions between communication standards, negotiation commands, and 
  210. modem speeds. In addition, information about the connections between the 
  211. modem and the computer or terminal is included.
  212.  
  213. With the information provided here, you should be able to configure your 
  214. modem with AT commands for a variety of communication environments. If 
  215. you are just starting out with communications programming, this 
  216. reference should provide you with sufficient tips to address the modem's 
  217. features through a software program of your own.
  218.  
  219. If this reference seems more technically oriented than you anticipated, 
  220. we suggest that you purchase one of Hayes Smartcom (TM) communications 
  221. software products. Any of these fine programs will fully control the 
  222. modem in almost any telecommunication environment.
  223.  
  224. ************************************************************************
  225. Who Should Use this Reference                 
  226.  
  227. Users of full-featured communications software such as Hayes Smartcom 
  228. products will not need this reference. 
  229. This reference is provided for...
  230.       *Users of communications software packages that require the user to
  231.       enter modem configuration strings.
  232.       
  233.       *Users who will be installing and operating Hayes modems in a non-
  234.       PC environment.
  235.       
  236.       *Users who control their modems directly with terminals or terminal
  237.       emulation software.
  238.       
  239.       *Technical personnel responsible for custom installations and
  240.       applications.
  241.  
  242. Additional information is available for communications software 
  243. developers. If you are, or would like to become, a registered Hayes 
  244. Software Developer, you may receive additional technical material on 
  245. Hayes products. For information on qualification and registration 
  246. procedures, contact your nearest Hayes Customer Service facility. (Refer 
  247. to the Customer Service Information provided with your modem for 
  248. location and telephone number.)
  249.  
  250. ************************************************************************
  251. How This Reference is Organized
  252.  
  253. This Reference is organized as follows: 
  254.  
  255. Chapter 1:  The Hayes Standard AT Command Set
  256. Provides definitions of the Hayes Standard AT Command Set including the 
  257. commands, result codes, and S-registers.
  258.  
  259. Chapter 2:  X.25 Communications
  260. Includes definitions of the commands used for X.25 packet-switched 
  261. communications, PAD and National Parameters, and command listings for 
  262. four PAD profiles.
  263.  
  264. Appendix A:  Communication Options
  265. Describes the various asynchronous and synchronous transmission modes 
  266. supported by Hayes modems and includes a discussion of the AT commands 
  267. related to these modes.
  268.  
  269. Appendix B:  Troubleshooting Tips
  270. Provides special environmental considerations and offers suggestions for 
  271. remedying problems in modem communications.
  272.  
  273. Appendix C:  Modem-to-DTE Interface
  274. Discusses the requirements and capabilities of the modem's data terminal 
  275. equipment (DTE) interface.
  276.  
  277. Appendix D:  Modem Application Development
  278. Offers suggestions for developing applications software using AT 
  279. commands.
  280.  
  281. ************************************************************************
  282. How to Use this Reference
  283.  
  284. The commands and procedures described in this Reference are intended for 
  285. use with a program that provides a command line interface to the modem, 
  286. or if the modem is connected to an asynchronous terminal from which 
  287. commands can be entered and sent through the serial port to the modem. 
  288.  
  289. Although commands are not required when using Hayes Smartcom products, 
  290. Smartcom EZ (TM), Smartcom Exec (TM), Smartcom II (TM), and Smartcom 
  291. III (TM) all support a command line interface to the modem. Refer to your 
  292. user documentation for descriptions of the features in your modem that are 
  293. enabled by the AT commands and S-registers defined here. The user 
  294. documentation explains how to issue AT commands, and read and set 
  295. S-registers/PAD parameters.
  296.  
  297. This Reference is not a list of the features supported by your 
  298. modem, but a general guide to the Hayes Standard AT Command Set as used 
  299. to control Hayes modems. For a list of features supported by your modem, 
  300. refer to the user documentation included with your modem. This Technical 
  301. Reference for Hayes Modem Users is a supplement to the documentation 
  302. provided with your modem, not a replacement.
  303.  
  304. ========================================================================
  305. CHAPTER 1     THE HAYES STANDARD AT COMMAND SET
  306.  
  307. This chapter is divided into three sections: "AT Commands Listing," 
  308. "Result Code Listing," and "S-register Listing." The first section 
  309. defines individual AT commands. Commands are listed alphabetically for 
  310. easy reference. The second section defines the result codes that can be 
  311. returned by Hayes modems. These are listed in numeric order. The third 
  312. section defines Hayes S-registers. These, too, are in numeric order. For 
  313. completeness, definitions of the AT command prefix, the end-of-line 
  314. character, and other information related to the use of the Hayes 
  315. Standard AT Command Set are also included.
  316.  
  317. Note: For the factory setting and available options/ranges for commands 
  318. and registers, refer to the user documentation provided with your modem. Unless a command, register, or result code is 
  319. listed in the user documentation, it is not supported by your modem, although it 
  320. appears in this document.
  321.  
  322. ************************************************************************
  323. 1.1     AT Command Listing
  324.  
  325. Each step in the evolution of Hayes modems has added to a feature set 
  326. that has enhanced the definition of the Hayes standard.
  327.  
  328. A - Answer Command
  329.  
  330. The A command instructs the modem to go off hook and respond to an
  331. incoming call, then handshake with the remote modem. When the modem 
  332. returns the RING result code, issue ATA<CR>. The modem will send an 
  333. answer carrier signal to the originating modem and wait for an originate 
  334. carrier signal. When the modem receives the carrier from the originating 
  335. modem, the modems go through a`handshaking' process then go on-line. The 
  336. modem returns the CONNECT XXXXX or CARRIER XXXXX result code (see "Result 
  337. Code Listing" in this chapter). If no carrier signal is received within 
  338. the time specified in register S7, the modem hangs up, returns the NO 
  339. CARRIER result code, and enters the command state. By using the &An 
  340. command, the modem can be forced to answer in the originate mode.
  341.  
  342. B - Select Communication Standard
  343.  
  344. The B command is used to specify the desired communications standard
  345. setting at a particular modem line speed. Because options can select 
  346. between groups of options, more than one combination of communication 
  347. standard and speed can be selected. For example, you can issue B1 and 
  348. B16; both will be in effect because they do not reference the same line 
  349. speed. However, choosing B1 then B5 selects B5, and replaces B1 as the 
  350. standard for 1200 bps communications. The most recent selection chosen 
  351. from any given group will be in effect for that parameter group.
  352.  
  353. Group 1
  354. Command     Description
  355. ------------------------------------------------------------------------
  356. B or B0     V.22 when line speed is at 1200 bps.
  357. B1          U. S. Domestic industry standard 212A when line speed is
  358.             at 1200 bps.
  359. B2          V.23 R1200/T75 bps Auto Speed Buffering (ASB) when 
  360.             line speed is at T1200/R1200 bps.
  361. B3          V.23 T1200/R75 bps Auto Speed Buffering (ASB) when 
  362.             line speed is at T1200/R1200 bps.
  363. B4          V.23 T1200/R75 bps split speed when line speed is at
  364.             T1200/R75 bps.
  365. B5          V.23 1200 bps half duplex when line speed is at 
  366.             T1200/R1200 bps.
  367. ------------------------------------------------------------------------
  368.  
  369. Group 2
  370. Command     Description
  371. -----------------------------------------------------------------------
  372. B10         V.23 R1200/T75 bps split speed when line speed is at
  373.             R1200/T75 bps.
  374. B11         V.23 R600/T75 bps split speed when line speed is at
  375.             R600/T75 bps. 
  376. ------------------------------------------------------------------------
  377.  
  378. Group 3
  379. Command     Description
  380. ------------------------------------------------------------------------
  381. B15         V.21 when line speed is 110/300 bps.
  382. B16         U. S. Domestic industry standard 103 when line speed is
  383.             at 110/300 bps.                                                                       
  384. ------------------------------------------------------------------------
  385.  
  386. Group 4
  387. Command     Description
  388. ------------------------------------------------------------------------
  389. B20         V.23 R600/T75 bps ASB when line speed is T600/R600 bps.
  390. B21         V.23 T600/R75 bps ASB when line speed is T600/R600 bps.
  391. B22         V.23 T600/R75 bps split speed when line speed is 
  392.             T600/R75 bps.
  393. B23         V.23 600, half duplex when line speed is 600 bps.
  394. ------------------------------------------------------------------------
  395.  
  396. Group 5
  397. Command     Description
  398. ------------------------------------------------------------------------
  399. B30         V.22bis when line speed is 2400 bps.
  400. ------------------------------------------------------------------------
  401.  
  402. Group 6
  403. Command     Description
  404. ------------------------------------------------------------------------
  405. B41         V.32 full duplex when line speed is 4800 bps.
  406. B42         Express(TM) 96* when line speed is 4800 bps.
  407. ------------------------------------------------------------------------
  408. * Express 96 - a Hayes proprietary protocol that simulates full-duplex
  409. 9600 bps operation (formerly known as Hayes fast-turnaround "Ping-Pong" 
  410. protocol).
  411.  
  412. ------------------------------------------------------------------------
  413. Group 7
  414. Command     Description
  415. B50         V.29 HDX when line speed is 7200 bps.
  416. ------------------------------------------------------------------------
  417.  
  418. Group 8
  419. Command     Description
  420. ------------------------------------------------------------------------
  421. B60         V.32 full duplex when line speed is 9600 bps.
  422. B61         Express 96 when line speed is 9600 bps.
  423. B63         V.29 half duplex when line speed is 9600 bps.
  424. ------------------------------------------------------------------------
  425.  
  426. C - Carrier Control Selection
  427.  
  428. The C command is used by some Hayes modems, such as Smartmodem(TM) 1200, to 
  429. control the transmit carrier. In these instances, C0 instructs the modem 
  430. to not send carrier (i.e., puts modem in a receive-only mode). High-
  431. speed modems (those capable of speeds greater than 1200 bps) accept C1 
  432. without error in order to assure backward compatibility with 
  433. communications software that issues C1. However, these modems do not 
  434. support C0.
  435.  
  436. C0     Transmit carrier always off (not supported in high-speed modems)
  437. C1     Normal transmit carrier switching
  438.  
  439. D - Dial Command
  440.  
  441. The D command places the modem in originate mode; it then functions as 
  442. an auto-dialer. Whether the command is issued on a line by itself, or 
  443. followed immediately by the telephone number, it must be preceded by the 
  444. AT prefix and terminated with a <CR>. (Note that <CR> is the notation 
  445. used throughout this reference to represent the carriage return, enter, 
  446. or return function on your keyboard.) 
  447.  
  448. The dial string is a combination of dial digits and dial modifiers. If the 
  449. modem is off hook, it will neither initially wait nor attempt to detect 
  450. dial tone before proceeding. The D command is not valid when the modem 
  451. is on-line or if either &Q2 or &Q3 is in effect. 
  452.  
  453. Parentheses and hyphens in a dial string are ignored by the auto-dialer, 
  454. but are counted as characters in the command buffer. The command buffer for 
  455. most Hayes Smartmodem products can contain as many as 40 characters. Hayes 
  456. V-series (TM) products can hold as many as 255 characters in their command buffers. 
  457. Check your user documentation to determine the maximum number of characters 
  458. supportted in your modem's command buffer. 
  459.  
  460. Result Codes     Description
  461. ------------------------------------------------------------------------
  462. BUSY             If X3 or X4 are selected or W dial modifier is used and
  463.                  busy is detected.
  464. NO DIALTONE      If X2 or X4 are selected and 1 second of dial tone is
  465.                  not detected; in response to a W dial modifier if dial
  466.                  tone is not detected within the time specified by S7.
  467. ERROR            If the S=n dial modifier is processed and the n value 
  468.                  is out of range (refer to the S dial modifier in this 
  469.                  section) or if the total number of characters in the
  470.                  command line plus the stored dial string exceeds the
  471.                  command buffer limit.
  472. NO ANSWER        If @ dial modifier is used and then no signal is
  473.                  detected for at least five continuous seconds before
  474.                  the time specified by S7. 
  475. OK               If aborted by DTR ON-to-OFF whenever certain
  476.                  combinations of &D and &Q are in effect. Refer to 
  477.                  the &D command in this chapter for details; if the 
  478.                  semicolon (;) dial modifier is processed in the dial
  479.                  string; if aborted by a character from the DTE during
  480.                  the dialing process.
  481. ------------------------------------------------------------------------
  482.  
  483. Dial Modifiers
  484.  
  485. Dial modifiers can be combined with the dial (D) command to perform a 
  486. series of operations within a single command line. For example, 
  487. ATDT9W5552368!@#71234; <CR> instructs the modem to use tone dialing (T) 
  488. to access a number outside a PBX (9), wait for dial tone (W), dial the 
  489. number 5552368, enter a timed break recall (!), wait for quiet answer 
  490. (@), and issue the PBX transfer code (#7) before dialing extension 
  491. number 1234, then return to the command state; before initiating the 
  492. handshake.
  493.  
  494. 0-9 A B C D # * - Digits/Characters for Dialing
  495.  
  496. The digits/characters 0-9 A B C D # * are numbers and characters the 
  497. modem can dial. The characters A B C D # * represent specific tone pairs 
  498. and therefore can be used only when tone dialing is selected; these 
  499. symbols are ignored when pulse dialing is used.
  500.  
  501. P - Pulse Dialing Method
  502.  
  503. The P dial modifier selects the pulse method of dialing. The P modifier 
  504. can be issued with the dial command, or alone, to indicate the method 
  505. used for subsequent dialings. The factory-set method is pulse. Once this 
  506. method is selected, it is used until the other is chosen, or the modem 
  507. is reset.
  508.  
  509. T - Tone Dialing Method
  510.  
  511. The T dial modifier selects the tone method of dialing. The T modifier 
  512. can be issued with the dial command, or alone, to indicate the method 
  513. used for subsequent dialings. Once this method is selected, it is used 
  514. until the other is chosen, or the modem is reset, reinstating pulse 
  515. dialing.
  516.  
  517. W - Wait for Second Dial Tone
  518.  
  519. The W dial modifier instructs the modem to wait for dial tone before 
  520. proceeding. If dial tone detection is not completed within the preset 
  521. time limit, the modem hangs up and returns the NO DIALTONE result code. 
  522. Some PBXs do not return a secondary proceed indication (second dial 
  523. tone). The W dial modifier is not effective in such systems and should 
  524. not be used.
  525.  
  526. , - Delay Processing of Next Character
  527.  
  528. The comma (,) dial modifier in a dial string causes the modem to pause 
  529. before processing the next character or symbol in the command line. The 
  530. duration of the pause is determined by the value held in register S8. 
  531. The comma is frequently inserted after the 9 (digit generally used to 
  532. gain outside access from a PBX) to allow sufficient time for the dial 
  533. tone to occur before the modem dials the telephone number. 
  534.  
  535. @ - Wait for Quiet Answer
  536.  
  537. The @ dial modifier instructs the modem to listen for five seconds
  538. silence before continuing. The number of seconds the modem waits for 
  539. silence is determined by the value held in S7. This modifier is useful 
  540. when dialing telephone systems that produce no dial tone. 
  541.  
  542. If a five-second silence has not been detected within the period set in S7, the 
  543. modem hangs up and returns the NO ANSWER result code. If it detects the 
  544. five seconds of silence, the modem processes the remaining characters in 
  545. the dial string. 
  546.  
  547. Note that the modem does not listen for silence until 
  548. it first detects dial tone and some other signal, such as a ringing 
  549. signal, that lasts longer than 210 milliseconds. For example, to dial 
  550. 5552368, wait for a quiet answer, then dial a security code 85939, wait 
  551. for a second dial tone, and dial extension 423 you would issue the 
  552. following command: ATDT 5552368 @ 85939 W 423 <CR>.
  553.  
  554. ! - Timed Break Recall (Hookflash)
  555.  
  556. The ! dial modifier issues a timed break recall signal, which causes the
  557. modem to hang up briefly, then reconnect. This feature can be used to 
  558. access such PBX features as call transfer.
  559.  
  560. ; - Return to Command State after Dialing
  561.  
  562. The semicolon (;) dial modifier, used only at the end of a command line 
  563. (just before the <CR>), instructs the modem to return to the command 
  564. state immediately after dialing, without breaking the connection. 
  565.  
  566. The ; is useful when calling an electronic service, such as that offered by a 
  567. bank, that permits you to use tones to transmit numbers once a 
  568. connection has been established. The modem can send tones even if your 
  569. telephone cannot. The example below illustrates the use of the semicolon 
  570. modifier in communications with an electronic banking service.
  571.  
  572. ------------------------------------------------------------------------
  573. ATDP 5552368; <CR>      Dials bank using pulse method.
  574. OK                      Command executed, but keeps the modem in command
  575.                         state (no carrier handshake takes place).
  576. ATDT 4768; <CR>         Sends an ID code via tones and maintains modem
  577.                         in command state.
  578. OK                      Modem in command state; command executed.
  579. ------------------------------------------------------------------------
  580.  
  581. In this example, the ; differs from the +++ in that the Hayes improved 
  582. escape sequence with guard time places the modem in the command state 
  583. only when two modems have completed a handshake. The semicolon keeps the 
  584. modem in command state; no CONNECT XXXXX result code is displayed.
  585.  
  586. DS=n - Dialing a Stored Telephone Number
  587.  
  588. A stored number can be dialed from an asynchronous terminal by following 
  589. the dial (D) command with the S modifier, an equal sign, and the 
  590. location of the stored number (see &Zn=x command at the end of this 
  591. section). The format of the modifier is S=n, where n is location 0-3. If 
  592. ATDS=2<CR> were issued, for example, the modem would dial the string 
  593. stored in memory location 3 of its "telephone book."
  594.  
  595. R - Originate a Call in Answer Mode
  596.  
  597. The dial modifier R (Reverse mode) enables the modem to dial an 
  598. originate only modem by placing a call in answer mode. This modifier 
  599. must be entered at the end of the dialing (D) command string, before the 
  600. <CR>. The R modifier directs the modem to act as if it had been sent an 
  601. A command in that part of the command string. 
  602.  
  603. E - Command State Character Echo Selection
  604.  
  605. The E command determines whether characters are echoed to the DTE from 
  606. the modem when it is command state. Some computers and terminals do not 
  607. send the characters you type to the screen; they only transmit them to 
  608. the remote system through the serial port. In this case, if Command 
  609. State Character Echo were not enabled by the modem, you would be unable 
  610. to see what you type. If the DTE does echo the characters you type in 
  611. command state, and this function is enabled in the modem, each character 
  612. typed will appear twice.
  613.  
  614. -----------------------------------------------------------------------
  615. E0     Command state character echo disabled.
  616. E1     Command state character echo enabled.
  617. -----------------------------------------------------------------------
  618.  
  619. F - On-line State Character Echo Selection
  620.  
  621. The F command is used by some Hayes modems, such as Smartmodem 1200, to 
  622. determine whether characters are echoed to the DTE from the modem when 
  623. it is in the on-line state. High-speed Hayes modems do not support the 
  624. F0 option. However, because the F command may be issued by older 
  625. communications software, F1 is supported to assure backwards 
  626. compatibility.
  627.  
  628. ------------------------------------------------------------------------
  629. F0      On-line character echo enabled (where not supported, ERROR 
  630. result code is returned).
  631. F1     On-line character echo disabled.
  632. ------------------------------------------------------------------------
  633.  
  634. H - Hook Command Options
  635.  
  636. The H command provides control over the line relay. Its most common use 
  637. is with the H0 option to initiate the Hangup Process and place the modem 
  638. on hook. H1 takes the modem off hook.
  639.  
  640. ------------------------------------------------------------------------
  641. H0     Execute the Hangup process if in the "on-line" command state or
  642.        the local analog loopback and analog loopback self-test
  643.        conditions.
  644. H1     Go off hook; do not execute the Handshake Process.
  645. H2     Operate line relay only (applies to certain Smartmodem 1200
  646.        products).
  647. ------------------------------------------------------------------------
  648.  
  649. I - Internal Memory Tests
  650.  
  651. The various forms of the I command instruct the modem to query its 
  652. memory for information about itself. The results of these tests are 
  653. frequently used by programmers to determine compatibility with software. 
  654. Because these commands request information about the modem's firmware, 
  655. they are not run when a connection has been established with a remote 
  656. modem.
  657.  
  658. I0 - Display Product Code
  659.  
  660. This option reports the product code of the modem to the DTE. The modem 
  661. produces information text dependent upon its highest DCE line speed. The 
  662. responses below are examples:
  663.  
  664. Result Codes     Description
  665. ------------------------------------------------------------------------
  666. 300              Smartmodem 300.
  667. 120              Smartmodem 1200, Smartmodem 1200B, Smartmodem 1200C, 
  668.                  Smartmodem 1200A.
  669. 240              Smartmodem 2400, Smartmodem 2400B, Smartmodem 2400P, 
  670.                  Smartmodem 2400Q, Smartmodem 2400M, V-series Smartmodem 
  671.                  2400, V-series Smartmodem 2400B, V-series Smartmodem 
  672.                  2400 Quad, V-series Smartmodem 2400M, Smartmodem OPTIMA 
  673.                  (TM) 24, Smartmodem OPTIMA 24 + FAX96, 
  674.                  ACCURA (TM) 2400 EC/FAX96.
  675. 960              Smartmodem 9600, V-series Smartmodem 9600, V-series 
  676.                  Smartmodem 9600B, V-series ULTRA (TM) Smartmodem 2400, 
  677.                  V-series ULTRA Smartmodem 9600, V-series ULTRA 24 with 
  678.                  Express 96, Smartmodem OPTIMA 9600, Smartmodem 
  679.                  OPTIMA 96 + FAX96, ACCURA 9600 EC/FAX96.  
  680. 14400            V-series ULTRA Smartmodem 14400, Smartmodem OPTIMA 144, 
  681.                  Smartmodem OPTIMA 144 + FAX144, ACCURA 14400 EC/FAX144. 
  682. ------------------------------------------------------------------------
  683.  
  684. I1- Display ROM Checksum
  685.  
  686. The I1 command instructs the modem to calculate the value of the ROM 
  687. checksum. The response is a number, the sum of all of the bytes in ROM.
  688.  
  689. I2 - Perform ROM Checksum
  690.  
  691. This command instructs the modem to verify the ROM checksum. Depending 
  692. on whether the ROM checksum has been found to be correct, the modem 
  693. produces text that resembles a result code. The modem memory test 
  694. compares the ROM checksum and tests it against the correct sum, also 
  695. stored in ROM. Rather than returning a numeric value as in I1, the I2 
  696. command generates a result code. When the checksum is valid, the 
  697. response is: OK. When the ROM checksum fails, the modem responds with 
  698. ERROR.
  699.  
  700. I4 -  Identify Product Features
  701.  
  702. The capabilities and features of the modem are encoded into a string of 
  703. text that consists of several strings that are ASCII character 
  704. representations of hex numerals which are bit-mapped. The first 
  705. character of each string identifies which bit maps are in that string. 
  706. For example, the "a-string" starts with a lower case "a" and identifies 
  707. most of the basic modem capabilities such as modulation standards 
  708. supported and support for AutoSync.
  709.  
  710. Since the following tables identify features for Hayes modem products, 
  711. the values included here and the number of strings are subject to change 
  712. and expansion. The maximum length per string is 40 characters.
  713.  
  714. The I4 text is displayed in the following form:
  715.  
  716.      a097800C204C264
  717.      bF60410000
  718.      r1031111111010000
  719.      r3000111010000000
  720.  
  721. surrounded by additional <CR> and <LF> characters as are required by the 
  722. V command option in effect. According to convention, all <CR> and <LF> 
  723. characters are defined by S3 and S4, respectively. The meanings of the 
  724. a, b, r1, and r3 strings currently defined are described below.
  725.  
  726. I4 "a" String
  727. The first string, the a-string, is composed of the ASCII character "a" 
  728. followed by a series of hexadecimal characters (D1-D16 in this example). 
  729. The bit map for each byte is defined below.
  730.  
  731. a D1 D2 D3 D4 D5 D6 D7 D8 D9 D10 D11 D12 D13 D14 D15 D16 D17 D18....
  732.  
  733. ------------------------------------------------------------------------
  734. D1, D2     Reserved
  735. D3         Bit 3: Indicates modem based on SM1200FE commands 
  736.            Bit 2: Indicates modem based on SM2400 commands 
  737.            Bit 1: Indicates that modem supports &J commands
  738.            Bit 0: Indicates that modem supports &L commands 
  739. D4         Bit 3: Indicates that modem supports AutoSync (&Q4)
  740. D5         Bit 3: Plug-in board modem product
  741.            Bit 2: Standalone modem product
  742.            Bit 1: Supports &H0 through &H4
  743.            Bit 0: Supports &I0 through &I4 
  744. D6         Bit 3: Reserved
  745.            Bit 2: Supports M4 command
  746.            Bit 1: Supports 32-bit FCS (frame check sequence 
  747.            for AutoSync)
  748.            Bit 0: Supports AutoSync II
  749. D7         Bit 3: Supports V.22 at 1200 bps (B0)
  750.            Bit 2: Supports 212A (B1)
  751.            Bit 1: Supports ASB in V.23 75 bps xmt/1200 bps rcv (B2)
  752.            Bit 0: Supports ASB in V.23 1200 bps xmt/75rcv (B3)
  753. D8         Bit 3: Supports V.23 1200 bps xmt/75 bps rcv (B4)
  754.            Bit 2: Supports V.23 1200 half duplex (B5)
  755.            Bit 1: Supports V.23 75 bps xmt/1200 bps rcv (B10)
  756.            Bit 0: Supports V.23 75 bps xmt/600 bps rcv  (B11)
  757. D9         Bit 3: Supports V.21 100/300 bps (B15)
  758.            Bit 2: Supports ASB in V.23 75 bps xmt/600 bps rcv (B20)
  759.            Bit 1: Supports ASB in V.23 600 bps xmt/75 bps rcv (B21)
  760.            Bit 0: Supports V.23 600 bps xmt/75 bps rcv  (B22)
  761. D10        Bit 3: Supports V.23 600 bps half-duplex (B23)
  762.            Bit 2: Supports V.22bis at 2400 bps (B30)
  763.            Bit 1: Supports V.27ter at 2400 bps (B31)
  764.            Bit 0: Supports V.27ter at 4800 bps  (B40)
  765. D11        Bit 3: Supports V.32 full duplex at 4800 bps (B41)
  766.            Bit 2: Supports Express 96 at 4800 bps (B42)
  767.            Bit 1: Reserved
  768.            Bit 0: Supports V.29 half duplex at 4800 bps (B44)
  769. D12        Bit 3: Supports V.29 half duplex at 7200 bps (B50)
  770.            Bit 2: Supports V.32 full duplex at 9600 bps (B60)
  771.            Bit 1: Supports Express 96 at 9600 bps (B61)
  772.            Bit 0: Reserved
  773. D13        Bit 3: Supports V.29 half duplex at 9600 bps (B63)
  774.            Bit 2: Supports 103 110/300 bps (B16)
  775.            Bit 1: Supports V.32bis (7200/12000/14400 bps)
  776.            Bit 0: Reserved
  777. ------------------------------------------------------------------------
  778.  
  779. ------------------------------------------------------------------------
  780. D1, D2      Reserved
  781. D14         0: Reserved
  782.             1: Personal Modem 1200
  783.             2: Personal Modem 2400
  784.             3: Personal Modem 1200 Plus
  785.             4: Personal Modem 2400 Plus
  786.             5: Pocket Edition
  787. D15         Bit 3: Reserved
  788.             Bit 2: Supports $ dial modifier and NO DIALTONE result code.
  789.             Bit 1: Supports S95 Bit 5 for COMPRESSION: result code
  790.             Bit 0: Supports S95 Bit 4 for AUTOSTREAM: result code 
  791. D16         Bit 3: Supports S95 Bit 3 PROTOCOL: result code
  792.             Bit 2: Supports S95 Bit 2 CARRIER result code
  793.             Bit 1: Supports S95 Bit 1 CONNECT/ARQ result code
  794.             Bit 0: Supports S95 Bit 0 CONNECT XXXX (for DCE rate) 
  795. ------------------------------------------------------------------------
  796.  
  797. I4 "b" String
  798.  
  799. The second string, the b-string, is composed of the ASCII character "b" 
  800. followed by a series of hexadecimal characters (D1-D9). The bit map for 
  801. each character is defined as follows:
  802.  
  803. b D1 D2 D3 D4 D5 D6 D7 D8 D9....
  804.  
  805. ------------------------------------------------------------------------
  806. D1          Bit 3: V.42 Alternate Protocol Supported
  807.             Bit 2: V.42 LAPM Protocol Supported
  808.             Bit 1: X.25 Protocol Supported
  809.             Bit 0: LAPB (Point-to-point error control) protocol supported
  810. D2          Bit 3: Reserved (should be set to zero)
  811.             Bit 2 MNP (TM) Class 5 supported
  812.             Bit 1: V.42bis supported
  813.             Bit 0: Compression through the X.25 network supported
  814. D3/D4       These combine to indicate the number of AutoStream 
  815.             Type A channels which are supported. The formula 
  816.             (D3*16 + D4) is used. Zero means AutoStream is not supported
  817. D5          Bit 3: Reserved
  818.             Bit 2: Reserved
  819.             Bit 1: Adjustable startup (ASU) is supported
  820.             Bit 0: Negotiates adjustable startup
  821. D6          Bit 3: &K5 not supported
  822.             Bit 2: &K5 supported
  823.             Bit 1: Unidirectional flow control
  824.             Bit 0: S105 N104 parameter supported
  825. ------------------------------------------------------------------------
  826.  
  827. I4 "r1, r2" and "r3" strings
  828.  
  829. These ID strings allow software to determine the available speeds that 
  830. may be used to send AT commands. The r1-string contains a bit map that 
  831. indicates at which DTE rates the autobaud process is supported.
  832.  
  833. The presence of the r2-string in the I4 result infers that S87 is 
  834. supported and is required for autobauding at the higher speeds. To 
  835. autobaud at one of the speeds indicated in the r2-string requires that 
  836. S87 be set to match that speed. 
  837.  
  838. The r3-string is issued if synchronous DTE speeds are supported. The map 
  839. indicates which DTE rates are supported in synchronous modes. Each r-
  840. string begins with the lower case letter "r" and may be followed by as 
  841. many as 39 additional characters, not counting <CR><LF>'s that will be 
  842. used to separate them from other strings. Those 39 additional characters 
  843. are limited to the ASCII-HEX alphabet 0-9 and A-F.
  844.  
  845. After the two lead-in characters (i.e., r<n>), all subsequent characters 
  846. contain the DTE rate maps. All maps have the same mapping for 
  847. convenience to software. (Refer to the following chart.) Not all bit 
  848. assignments are possible: for example, the split speeds have no meaning 
  849. in the r3 synchronous map and are always filled with zeros.
  850.  
  851. In r1, if the bit is filled with a 1, the corresponding DTE rate is 
  852. supported for sending AT commands to the device. A zero indicates that 
  853. DTE rate is not supported for AT commands.
  854.  
  855. In the r3 map, the bits simply indicate which DTE rates are supported 
  856. for synchronous operation on-line. This does not indicate, however, the 
  857. supported rates for synchronous V.25bis commands.
  858.  
  859. Split speeds if available are marked in the r1 string only when the 
  860. appropriate B command option has been selected. Future expansion of 
  861. these strings may include new speeds that are not in strict ascending 
  862. order.
  863.  
  864. DTE Rate Bit Map for r1, r2 and r3 Strings
  865.  
  866. Character    Bit #       DTE Rate
  867. ------------------------------------------------------------------------
  868.  3:  1       bit 0       45.45 bps
  869.      2       bit 1       50
  870.      4       bit 2       75
  871.      8       bit 3       75/600 (xmt is 75, rcv is 600) 
  872.  4:  1       bit 4       75/1200
  873.      2       bit 5       110
  874.      4       bit 6       134.5
  875.      8       bit 7       50
  876.  5:  1       bit 8       300
  877.      2       bit 9       450
  878.      4       bit 10      600
  879.      8       bit 11      600/75
  880.  6:  1       bit 12      1200
  881.      2       bit 13      1200/75
  882.      4       bit 14      1800
  883.      8       bit 15      2000
  884.  7:  1       bit 16      2400
  885.      2       bit 17      3000
  886.      4       bit 18      3600
  887.      8       bit 19      4200
  888.  8:  1       bit 20      4800
  889.      2       bit 21      5400
  890.      4       bit 22      6000
  891.      8       bit 23      6600
  892.  9:  1       bit 24      7200
  893.      2       bit 25      7800
  894.      4       bit 26      8400
  895.      8       bit 27      9000
  896. 10:  1       bit 28      9600
  897.      2       bit 29      12000
  898.      4       bit 30      14400
  899.      8       bit 31      16800
  900. 11:  1       bit 32      19200
  901.      2       bit 33      21600
  902.      4       bit 34      24000
  903.      8       bit 35      26400
  904. 12:  1       bit 36      28800
  905.      2       bit 37      31200
  906.      4       bit 38      33600
  907.      8       bit 39      36000
  908. 13:  1       bit 40      38400
  909.      2       bit 41      43200
  910.      4       bit 42      48000
  911.      8       bit 43      52800
  912. 14:  1       bit 44      56000
  913.      2       bit 45      57600
  914.      4       bit 46      62400
  915.      8       bit 47      64000
  916. 15:  1       bit 48      67200
  917.      2       bit 49      72000
  918.      4       bit 50      76800
  919.      8       bit 51      81600
  920. 16:  1       bit 52      86400
  921.      2       bit 53      91200
  922.      4       bit 54      96000
  923.      8       bit 55      100800
  924. 17:  1       bit 56      105600
  925.      2       bit 57      110400
  926.      4       bit 58      115200
  927.      8       bit 59      reserved ("0")
  928. ------------------------------------------------------------------------
  929.  
  930. L - Speaker Volume Level Selection
  931.  
  932. The L command setting determines the volume level of the speaker, when 
  933. supported by the modem. Some modems use the speaker of the computer in 
  934. which they are installed. In this case, where supported, the L command 
  935. adjusts the speaker volume as indicated in the options below for the 
  936. duration of the communications session.
  937.  
  938. ------------------------------------------------------------------------
  939. L0, L1     Low speaker volume
  940. L2         Medium speaker volume
  941. L3         High speaker volume
  942. -----------------------------------------------------------------------
  943.  
  944. M - Speaker On/Off Selection
  945.  
  946. The M command setting determines whether the speaker function of the 
  947. modem is on or off. Some modems use the speaker of the computer in which 
  948. they are installed. In this case, where supported, the M command turns 
  949. the speaker on and off as indicated in the options below for the 
  950. duration of the communications session.
  951.  
  952. ------------------------------------------------------------------------
  953. M0     Speaker always off.
  954. M1     Speaker on until carrier detected.
  955. M2     Speaker always on; stays on after carrier is detected.
  956. M3     Speaker off as digits are dialed, but on during ringback and on
  957.        until carrier signal is detected.
  958. ------------------------------------------------------------------------
  959.  
  960. N - Negotiation of Handshake Options
  961.  
  962. The N command selects whether or not the local modem performs a 
  963. negotiated handshake with a remote modem when the communications speeds 
  964. of the two modems are different. The options for this command are useful 
  965. when a particular speed and communication standard are required. Both 
  966. symmetrical and asymmetrical protocols can be selected. Note that the 
  967. options supported by this command vary significantly between country-
  968. specific implementations.
  969.  
  970. ------------------------------------------------------------------------
  971. N0     When originating or answering, handshake only at the
  972.        communication standard specified by S37 and B command.
  973.  
  974. N1     When originating, begin handshake at the communication standard
  975.        specified by the B command and S37. During handshake fallback to
  976.        a lower speed may occur. When answering, negotiate according to
  977.        the following sequence of communication standards: V.32,
  978.        Express 96, V.22bis, V.22/212A, and V.21/103.
  979.  
  980. N2     When originating, begin handshake at the communication standard
  981.        specified by the B command and S37. During handshake fallback 
  982.        to a lower speed may occur. When answering, negotiate according
  983.        to the following sequence of communication standards: V.32,
  984.        Express 96, V.22bis, V.22/212A, V.23, and V.21/103.
  985.  
  986. N3     When originating, handshake only at the communication standard
  987.        specified by S37 and B command. When answering, negotiate
  988.        according to the following sequence of communication standards:
  989.        V.32, Express 96, V.22bis, V.22/212A, and V.21/103.
  990.  
  991. N4     When originating, handshake only at the communication standard
  992.        specified by S37 and B command. When answering, negotiate
  993.        according to the following sequence of communication standards:
  994.        V.32, Express 96, V.22bis, V.22/212A, V.23, and V.21/103.
  995.  
  996. N5     When originating, begin handshake at the communication standard
  997.        specified by B command and S37. During handshake fallback to a
  998.        lower speed may occur. When answering, handshake only at the 
  999.        communication standard specified by S37 and B.
  1000. ------------------------------------------------------------------------
  1001.  
  1002. O - On-Line Command
  1003.  
  1004. If the modem is in the on-line command state, then the O0 command causes 
  1005. it to go to the on-line state of the previously established connection. 
  1006. If the O1 command is issued (modems supporting 2400 bps and higher), the 
  1007. modem goes to on-line state and retrains its adaptive equalizer. If the 
  1008. O3 command is issued (modems supporting V.32bis), the modem goes to on-
  1009. line state and initiates the CCITT V.32bis renegotiation sequence.
  1010.  
  1011. If the modem is off hook in the idle state, then O0 and O1 (modems 
  1012. supporting 2400 bps and higher) cause it to go to the handshaking state. 
  1013. Originate or answer mode is determined from the last D or A command or R 
  1014. dial modifier that was selected. If the modem is on-hook, idle, or if 
  1015. the modem is in a test condition, a command execution error results. 
  1016. Note that O1 serves a different purpose in lower speed modems (e.g., 
  1017. Smartmodem 1200 and Smartmodem 300).
  1018.  
  1019. P - Select Pulse Dialing Method
  1020.  
  1021. The P command instructs the modem to use pulse dialing. Dialed digits 
  1022. will be pulse dialed until a T command or dial modifier is received. 
  1023. This command is also discussed under "Dial Modifiers," in conjunction 
  1024. with the D command.
  1025.  
  1026. Q - Result Code Display Options
  1027.  
  1028. The Q command controls whether the result codes generated by the modem 
  1029. are displayed to the attached DTE. Some software does not function 
  1030. properly when modem responses are returned.
  1031.  
  1032. ----------------------------------------------------------------------
  1033. Q0     Result codes enabled
  1034. Q1     Result codes disabled
  1035. Q2     Disables the RING result code. In answer mode, also disables 
  1036.        CONNECT and NO CARRIER result codes.
  1037. -----------------------------------------------------------------------
  1038.  
  1039. Sr - Addresses An S-register
  1040.  
  1041. The Sr command points to a specific S-register. Subsequent commands, 
  1042. such as ? and =, may read or write to the selected register. Note that 
  1043. S0 is the factory-set pointer for this command, and that the S-address 
  1044. is not stored in a stored profile. Thus, the &F, Z0, and Z1 commands 
  1045. will select S0 and possibly affect subsequent ? and = commands unless 
  1046. they are preceded by an Sr command. command points to a specific S-
  1047. register. Subsequent commands, such as ? and =, may read or write to the 
  1048. selected register. Note that S0 is the factory-set pointer for this 
  1049. command, and that the S-address is not stored in a stored profile. 
  1050.  
  1051. Sr? - Read An S-register
  1052.  
  1053. The content of S-register r are sent to the DTE as three decimal digits. 
  1054. This informational text response is formatted with <CR><LF> as 
  1055. determined by the V command currently in effect.  If no n (suffix) is 
  1056. present, the last register selection is assumed. (Refer to the Sr 
  1057. command.) On power up, the factory-set selection is 0. Note that ? is 
  1058. interpreted by the modem as Sr?.
  1059.  
  1060. T - Select Tone Dialing Method
  1061.  
  1062. The T command instructs the modem to send DTMF tones while dialing. 
  1063. Dialed digits will be tone dialed until a P command or dial modifier is 
  1064. received. This command is also discussed under "Dial Modifiers," in 
  1065. conjunction with the D command.
  1066.  
  1067. V - Result Code Format Options
  1068.  
  1069. The V command determines whether result codes (including call progress 
  1070. and negotiation progress result codes) are displayed as numbers or 
  1071. words.
  1072.  
  1073. ------------------------------------------------------------------------
  1074. V0     Result codes displayed as numbers
  1075. V1     Result codes displayed as words
  1076. ------------------------------------------------------------------------
  1077.  
  1078. W - Negotiation Progress Message Selection
  1079.  
  1080. The W command works in conjunction with S95 (where supported) to 
  1081. determine which result codes will be used to describe the type of 
  1082. connection and protocol, etc., that resulted from handshaking and 
  1083. negotiation. 
  1084.  
  1085. The W command supports extended result codes in addition to 
  1086. the CONNECT result code. When the modem is operated in error-control 
  1087. mode (&Q5 is in effect), the W command and S95 together allow the user 
  1088. to select these additional result codes:
  1089.  
  1090. CARRIER
  1091. PROTOCOL
  1092. AUTOSTREAM
  1093. COMPRESSION
  1094. CONNECT
  1095.  
  1096. Any result codes enabled by the W command and S95 will be generated in 
  1097. the order indicated above. If AutoStream is not being used, no 
  1098. AUTOSTREAM result code is returned. Result codes not enabled when the W 
  1099. command option is in effect may be turned on by setting certain bits in 
  1100. S95. The W command options below are available when S95 is configured 
  1101. for any setting other than the factory-setting of 0.
  1102.  
  1103. ------------------------------------------------------------------------
  1104. W0     CONNECT result code reports DTE speed, and if S95=0, then disable
  1105.        all extended result codes.
  1106. W1     CONNECT result code reports DTE speed, and if S95=0, then enable
  1107.        the CARRIER and PROTOCOL extended result codes.
  1108. W2     CONNECT result code reports DCE speed, and if S95=0, then disable
  1109.        all extended result codes.
  1110. ------------------------------------------------------------------------
  1111.  
  1112. Refer to the S95 bit map description in the next section. Note that 
  1113. selecting W0 and setting S95=12 is the same as selecting W1; and that 
  1114. selecting W0 and setting S95=1 is the same as selecting W2. S95 cannot 
  1115. be configured to force W2 to report DTE speed in the CONNECT result 
  1116. code; there is no setting of S95 that will force W1 not to produce the 
  1117. CARRIER and PROTOCOL result codes. S95 extends the functionality of the 
  1118. W command. The W command with S95=0 (factory setting) maintains 
  1119. backwards compatibility with previous Hayes Products. However, 
  1120. selecting W0 and setting S95 as required allows you to tailor result 
  1121. code characteristics to your own requirements.
  1122.  
  1123. X - Call Progress Options
  1124.  
  1125. The X command enables tone detection options used in the dialing 
  1126. process. As these functions are enabled and disabled, the modem's result 
  1127. code reporting is also affected. For this reason, this command is 
  1128. frequently used to control the modem's range of responses; however, its 
  1129. primary function is that of controlling the modem's call response 
  1130. capabilities. Some call progress options are not available in certain 
  1131. countries due to PTT regulations. Refer to the user documentation 
  1132. supplied with your modem for applicable X commands and result codes. 
  1133. Result code definitions are provided in the next section.
  1134.  
  1135. ------------------------------------------------------------------------
  1136. X0     Busy and dial tone detection are disabled. Only result codes 0-4
  1137.        are enabled. Only the CONNECT result code is permitted, but with 
  1138.        no indication of the telephone line speed. This setting overrides 
  1139.        any other result code selections made with the W command and S95.
  1140.  
  1141. X1     Busy and dial tone detection are disabled. Result codes 0-5 are
  1142.        enabled and line speed reporting with CONNECT XXXX messages. W 
  1143.        command options and S95 are enabled.
  1144.  
  1145. X2     Busy detection is disabled. Dial tone detection is enabled.
  1146.        Result codes 0-6 are enabled and line speed reporting with 
  1147.        CONNECT XXXX messages. W command options and S95 are enabled.
  1148.  
  1149. X3     Busy detection is enabled. Dial tone detection is disabled.
  1150.        Result codes 0-5 and 7 are enabled and line speed reporting 
  1151.        with CONNECT XXXX messages. W command options and S95 are 
  1152.        enabled.
  1153.  
  1154. X4     Busy and dial tone detection are enabled. Result codes 0-7 
  1155.        are enabled and line speed reporting with CONNECT XXXX messages.
  1156.        W command options and S95 enabled.
  1157. ------------------------------------------------------------------------
  1158.  
  1159. The @ and W dial modifier result codes are not affected by the X 
  1160. command. The @ dial modifier enables result codes 8 (NO ANSWER) and 7 
  1161. (BUSY) each time it occurs in the dial string. The W dial modifier 
  1162. enables result codes 6 (NO DIALTONE) and 7 (BUSY) each time it occurs in 
  1163. the dial string.
  1164.  
  1165. Y - Long Space Disconnect Options
  1166.  
  1167. The Y command determines if the modem will disconnect a call upon 
  1168. receiving a long space (1.6 sec break) signal from the distant end. If 
  1169. Y1 is selected, the modem will send a 4-second break (space) before 
  1170. going on hook when an H0 command is issued or, if &D2 is selected, when 
  1171. DTR goes off. Refer also to register S82 for more information.
  1172.  
  1173. ------------------------------------------------------------------------
  1174. Y0     Disable long space disconnect
  1175. Y1     Enable long space disconnect
  1176. ------------------------------------------------------------------------
  1177.  
  1178. Z - Soft Reset Command
  1179.  
  1180. The modem can be reset by issuing the Z command. The command tells the 
  1181. modem to go on hook and restore the selected stored profile. Any non-
  1182. storable parameters previously set by commands are returned to their 
  1183. factory settings. The modem aborts execution of all commands following 
  1184. the Z command on the same command line. Subsequent commands on the same 
  1185. line are ignored. Refer to the &W command for description of which modem 
  1186. parameters are included in a stored profile. Z0 recalls stored user 
  1187. profile 0, stored with &W0; Z1 recalls stored user profile 1, stored 
  1188. with &W1.
  1189.  
  1190. ------------------------------------------------------------------------
  1191. Z0     Recall stored profile 0
  1192. Z1     Recall stored profile 1
  1193. ------------------------------------------------------------------------
  1194.  
  1195. &A - Select Originate or Answer Role for Auto-Answer Mode
  1196.  
  1197. The &A command determines whether the modem will attempt to connect as 
  1198. the originating or answering modem when auto-answering calls.
  1199.  
  1200. ------------------------------------------------------------------------
  1201. &A0     Connect as answering modem when auto-answering
  1202. &A1     Connect as originating modem when auto-answering
  1203. ------------------------------------------------------------------------
  1204.  
  1205. Notes: 
  1206. 1. S0 must be set to a non-zero value to enable AutoAnswering.
  1207.  
  1208. 2. The &An setting only affects the mode of AutoAnswered calls. The &An 
  1209. setting does not affect the mode or behavior of ATA, ATD, ATDR, DTR-
  1210. Dial, MI/MIC, KDS, or Power-Up initiated connections.
  1211.  
  1212. 3. The &A or &A0 setting is exactly equivalent to traditional Auto-
  1213. Answered connections. It is controlled by register S0. Answer Tone is 
  1214. issued if the modulation standard requires it, and handshaking proceeds 
  1215. in the answer direction.
  1216.  
  1217. 4. When &A1 has been selected and S0 is non-zero and the modem 
  1218. AutoAnswers an incoming call, the modem performs the Answer process and 
  1219. then the Handshake process with the exception that the Handshake process 
  1220. is performed in the Originate mode and Answer Tone is not issued.
  1221.  
  1222. 5. If parameter values greater than 1 are attempted, an ERROR result 
  1223. code is issued, and no change is made to the &An setting.
  1224.  
  1225. &B - V.32/V.32bis Auto Retrain Options
  1226.  
  1227. The &B command is used to enable and disable auto retrain in 
  1228. V.32/V.32bis mode. During a V.32 or a V.32bis connection, the modem 
  1229. continually monitors line quality. The &B command determines whether the 
  1230. modem ignores a line quality problem or attempts to correct the 
  1231. situation by retraining. The selection made with this command affects 
  1232. V.32/V.32bis connections only.
  1233.  
  1234. ------------------------------------------------------------------------
  1235. &B and &B0     Disable V.32/V.32bis Auto Retrain
  1236. &B1            Enable V.32/V.32bis Auto Retrain
  1237. ------------------------------------------------------------------------
  1238.  
  1239. &C - Data Carrier Detect Options
  1240.  
  1241. The &C command determines how the state of the DCD lead relates to the 
  1242. carrier from the distant end. The command will take effect immediately 
  1243. when issued. The behavior patterns for DCD depend on the specific &C and 
  1244. &Q commands in effect. Also, DCD patterns depend on whether on-line 
  1245. operation is half or full duplex. Finally, if &Q5 is in effect, DCD 
  1246. behavior depends on whether S10=255 or S10<255. DCD circuit operation is 
  1247. according to the descriptions below.
  1248.  
  1249. DCD Behaviors for Full-Duplex             DCD Behaviors for Half-Duplex
  1250. Operation                                 Operation
  1251. ------------------------------------------------------------------------
  1252.       &C0   &C1   &C2                          &C0   &C1   &C2
  1253. &QO   A     B     D                       &Q1   E     C     C
  1254. &Q1   B     B     B                       &Q2   E     C     C
  1255. &Q2   B     B     B                       &Q3   E     C     C
  1256. &Q3   B     B     B                       &Q4   E     C     C
  1257. &Q4   B     B     B                       &Q5   A     E     A
  1258. &Q5   A     E     A                       &Q5   A     C     F
  1259. &Q6   A     B     D                       S10=255
  1260. &Q5   A     B     D
  1261. S10=255
  1262. ------------------------------------------------------------------------
  1263. See Legends that follow for explanation of table entries A-F.
  1264.  
  1265. Table Legend:
  1266.  
  1267. ------------------------------------------------------------------------
  1268. A     The DCD circuit is ON at all times.
  1269.  
  1270. B     DCD=0 in idle; DCD tracks carrier in On-Line State with S9 
  1271.  
  1272.       The DCD circuit is OFF while the connection attempt is being made.
  1273.       It goes ON immediately after the CONNECT result code is issued,
  1274.       and goes OFF immediately after loss of remote carrier. If the
  1275.       remote carrier is restored and the S9 (carrier detect response
  1276.       time) delay is completed before the S10 (lost carrier to hang-up)
  1277.       delay expires, then hang-up is avoided and the DCD circuit goes ON
  1278.       again as the modem goes on-line.  Otherwise, DCD remains OFF
  1279.       during the hang-up process prior to the result code message. If
  1280.       S10=255, hangup will not occur unless initiated by the DTE. 
  1281.  
  1282. C     DCD=0 in idle; DCD tracks carrier in On-Line State without S9 
  1283.  
  1284.       The DCD circuit is OFF when the modem is idle. It goes ON 
  1285.       immediately after the CONNECT result code is issued, and goes OFF 
  1286.       immediately after loss of remote carrier. If the remote carrier is 
  1287.       restored, then DCD will go ON regardless of the S9 value 
  1288.       in effect.
  1289.  
  1290. D     DCD=1 in idle; DCD tracks in On-Line with S
  1291.  
  1292.       The DCD circuit is normally ON when the modem is idle, and it is
  1293.       ON while the remote carrier is present and the modem is on-line.
  1294.       The signal goes OFF immediately after loss of remote carrier. If
  1295.       the remote carrier is restored, then DCD will go ON again 
  1296.       regardless of S9. If the Hangup Process is initiated by the DTE 
  1297.       using DTR or issuing ATH<CR> from the on-line state, then DCD will 
  1298.       return ON just prior to the modem issuing the OK result code. If 
  1299.       S10<255 (lost carrier to hang-up delay) and a timeout equal to S10 
  1300.       expires before the remote carrier is restored, then the hang-up 
  1301.       process begins during which DCD=0. 
  1302.       
  1303.       DCD will return ON again just prior to the issue of the NO CARRIER 
  1304.       result code. If the remote carrier is restored and the S9 delay is 
  1305.       completed before the S10 delay expires; then the modem does not hangup, 
  1306.       and DCD will go ON again when the modem returns on-line.
  1307.  
  1308. E     DCD=0 in idle; DCD=1 in On-Line State (no tracking) 
  1309.  
  1310.       The DCD circuit is OFF when the modem is idle in the command 
  1311.       state. DCD goes ON immediately after the CONNECT result code is
  1312.       issued, and it goes OFF when the modem begins the hangup process.
  1313.       DCD does not track the presence of remote carrier energy.
  1314.  
  1315. F     DCD=1 in idle; DCD tracks in On-Line without S9 
  1316.  
  1317.       This behavior pattern is associated only with (&C2, &Q5, S10=255,
  1318.       half duplex), and it only occurs at 4800 and 9600 bps when 
  1319.       Express 96 is in effect (Hayes proprietary V.32 half-duplex 
  1320.       operation (Ping Pong)). The DCD circuit is normally ON when the 
  1321.       modem is operating in half duplex and idle in the command state,
  1322.       and it is ON while the remote carrier is present in the on-line 
  1323.       state. It goes OFF approximately 3 seconds after loss of remote 
  1324.       carrier. If the remote carrier is restored, then DCD will go ON 
  1325.       again (regardless of S9). If the hangup process is initiated by 
  1326.       the DTE using DTR or escaping to command state and issuing ATH<CR>
  1327.       when on-line, DCD will return ON just prior to the modem issuing 
  1328.       the OK result code. The modem will not begin the hangup process 
  1329.       if S10=255.
  1330. ------------------------------------------------------------------------
  1331.  
  1332. &D - Data Terminal Ready Options
  1333.  
  1334. The &D command affects how the modem will respond to the state of the 
  1335. DTR signal and changes to this circuit. The effects of DTR states and 
  1336. changes are also very dependent upon the &Q command that is in effect. 
  1337. The test modes associated with certain &T commands are only affected by 
  1338. DTR changes when &D3 is in effect and are not affected by &Q command 
  1339. options. Below, DTR-related behaviors are defined in relation to the &D 
  1340. and &Q commands in effect in smart mode. In dumb mode, the behavior is 
  1341. as defined below for &D2 regardless of the actual &D command in effect.
  1342.  
  1343. DTR Behaviors in Smart Mode
  1344. ------------------------------------------------------------------------
  1345.         &D0         &D1        &D2         &D3
  1346. &Q0     none        E          I, H        R
  1347. &Q1     H           E          I, C, H     R
  1348. &Q2     I, D, H     I, D, H    I, D, H     I, D, R
  1349. &Q3     I, O, H     I, O, H    I, O, H     I, O, R
  1350. &Q4     H           E          I, C, H     R
  1351. &Q5     none        E          I, S        R
  1352. &Q6     none        E          I, S        R
  1353. -----------------------------------------------------------------------
  1354.  
  1355. Legends:
  1356.  
  1357. Auto-Answer Function
  1358. ------------------------------------------------------------------------
  1359. I     The DCD circuit is ON at all times.
  1360. ------------------------------------------------------------------------
  1361.  
  1362. DTR OFF-to-ON Effects
  1363. ------------------------------------------------------------------------
  1364. D     If S1=0 and in the idle condition, DTR OFF-to-ON signals the modem
  1365.       to go off hook and start the dialing process using the dial string
  1366.       stored by the last &Z0= command. S25 does not affect the modem's 
  1367.       reactions to DTR going OFF-to-ON.
  1368.  
  1369. O     If S1=0 and in the idle condition, DTR OFF-to-ON signals the modem
  1370.       to go off hook and start the originate handshake process. S25 does
  1371.       not affect the modem's reactions to DTR going OFF-to-ON.
  1372.  
  1373. C     Following a CONNECT result code, DTR must go ON before the time 
  1374.       specified by S25 (in seconds), or CTS will not go ON and the modem
  1375.       will go to the Hangup Process, issue the NO CARRIER result code,
  1376.       at the Response Speed, and go to the idle condition.
  1377. ------------------------------------------------------------------------
  1378.  
  1379. DTR ON-to-OFF Effects
  1380. ------------------------------------------------------------------------
  1381. E     If in the on-line state, DTR ON-to-OFF signals the modem to exit
  1382.       the on-line state, issue an OK result code at the response speed,
  1383.       and go to command state, while maintaining the connection. DTR 
  1384.       transitions to OFF that do not persist more than the time 
  1385.       specified by S25 will not cause the modem to exit the on-line 
  1386.       state.
  1387.  
  1388. H     If in the on-line state, or in the handshaking, dialing, or 
  1389.       answer process, DTR ON-to-OFF signals the modem to execute the 
  1390.       hangup process, issue an OK result code at the response speed, 
  1391.       and go to the idle condition. The modem is not reset by DTR. This
  1392.       will also abort any dial, handshake, or answer in progress. DTR 
  1393.       transitions to OFF that do not persist more than the time 
  1394.       specified by S25 will not trigger a transition to the hangup 
  1395.       process.
  1396.  
  1397. R     DTR ON-to-OFF signals the modem to immediately perform a hard 
  1398.       reset regardless of state. All processes are aborted. S25 does not 
  1399.       affect the modem's reactions to DTR going OFF-to-ON. There is no 
  1400.       result code.
  1401.  
  1402. S     If in on-Line, or in the handshaking, dialing processes, or answer
  1403.       process, a transition of DTR ON-to-OFF signals the modem to shut
  1404.       down the communications link. When the modem has completed
  1405.       transmitting the data placed into its buffer by the DTE and has
  1406.       completed sending the received data to the DTE, the modem will
  1407.       execute the hangup process, issue an OK result code at the 
  1408.       response speed, and remain idle in the command state. The modem is 
  1409.       not reset by DTR. This will also abort any dial, handshake, or 
  1410.       answer in progress. DTR transitions to OFF that do not persist 
  1411.       more than the time specified by S25 will not trigger a transition 
  1412.       to the hangup process.
  1413. ------------------------------------------------------------------------
  1414.  
  1415. &F - Recall Factory Profile
  1416.  
  1417. The &F command recalls the configuration stored and programmed in ROM at 
  1418. the factory. This operation completely replaces the command options and 
  1419. S-register values in the active configuration with those comprising the 
  1420. ROM configuration. For the commands and registers stored and their 
  1421. factory-set ROM default values, see your user documentation.
  1422.  
  1423. &G - Guard Tone Selection
  1424.  
  1425. The &G command tells the modem which guard tone, if any, to transmit 
  1426. while transmitting in the high band (answer mode). Guard tone is 
  1427. transmitted only while the modem is transmitting in the answer mode and 
  1428. during the answer handshake.
  1429.  
  1430. ------------------------------------------------------------------------
  1431. &G0     Guard tones disabled
  1432. &G1     550 Hz guard tone enabled (V.22, V.22bis only)
  1433. &G2     1800 Hz guard tone enabled (V.22,V.22bis only)
  1434. ------------------------------------------------------------------------
  1435.  
  1436. &J - Jack Type Selection (Auxiliary Relay Options)
  1437.  
  1438. The &J command designates the type of jack with which the modem is 
  1439. connected to the telephone line. This selection is made by changing the 
  1440. way the auxiliary relay is controlled. The auxiliary relay connects the 
  1441. A lead to the A1 lead, and is normally open.
  1442.  
  1443. ------------------------------------------------------------------------
  1444. &J0     The auxiliary relay is never closed (suitable for RJ-11, RJ-41S,
  1445.         or RJ-45S type phone jack)
  1446. &J1     The auxiliary relay is closed while modem is off hook (suitable 
  1447.         for RJ-12 or RJ-13 type phone jack)
  1448. ------------------------------------------------------------------------
  1449. Note: To determine the jack setting for MI/MIC operation, refer to the 
  1450. description of S92. 
  1451.  
  1452. &K - Local Flow Control Options
  1453.  
  1454. The &Kn command is used to select the local flow control method for use 
  1455. when the modem is operating in error-control mode or asynchronous mode 
  1456. with Automatic Speed Buffering (ASB). ASB is used for communication 
  1457. environments requiring a "Fixed Speed Interface" between the modem and 
  1458. the DTE. Note that local flow control is unidirectional in &Q6 mode and 
  1459. bidirectional in &Q5 mode.
  1460.  
  1461. S39 stores the current flow control setting. Flow control is always 
  1462. inhibited in command state and is valid only when on-line in error-
  1463. control mode. Bi-directional flow control regulates the data stream 
  1464. between the DTE and the modem. Specific functions depending on parameter 
  1465. value are as follows:
  1466.  
  1467. ------------------------------------------------------------------------
  1468. &K0     All flow control is disabled. May be selected for use during 
  1469.         error-control mode at the risk of overflowing the buffers and
  1470.         losing data.
  1471.  
  1472. &K1     RTS/CTS flow control is enabled. Note that the DTE-to-modem
  1473.         cable must have the supporting wires. The &T19 command 
  1474.         may be used by software to determine if the cable is properly 
  1475.         wired.
  1476.  
  1477. &K2     XON/XOFF flow control is enabled. These characters are not 
  1478.         programmable and are fixed at DC1 and DC3, respectively. This 
  1479.         method should not be used when XON/XOFF characters will be sent 
  1480.         as user data or as part of a file transfer protocol.
  1481.  
  1482. &K3     RTS/CTS flow control is enabled. Note that the DTE-to-modem 
  1483.         cable must have the supporting wires. The &T19 command may 
  1484.         be used by software to determine if the cable is properly wired.
  1485.  
  1486. &K4     XON/XOFF flow control is enabled. These characters are not 
  1487.         programmable and are fixed at DC1 and DC3, respectively. This 
  1488.         method should not be used when XON/XOFF characters will be sent 
  1489.         as user data or as part of a file transfer protocol.
  1490.  
  1491. &K5     Transparent XON/XOFF. The data stream is controlled by 
  1492.         characters DC1 and DC3. The characters DLE, DC1, and DC3 are 
  1493.         made transparent by sending DLE followed by the character XORed         (Exclusive ORed) with 21hex. See notes on &K5 transparent flow :
  1494.         control in "Appendix D: Transparent XON/XOFF Local Flow Control 
  1495.         in Hayes Modems."
  1496. ------------------------------------------------------------------------
  1497.  
  1498. &L - Line Type Selection (Dial-up/Leased)
  1499.  
  1500. The &L1 command instructs the modem to alter its function for leased 
  1501. line environments. The modem will act as if S10=255 and M0 are in 
  1502. effect. It will not dial numbers or send answer tone. The modem must 
  1503. receive an X1D or A command to go on-line. The modem will then go to the 
  1504. dialing or answering process, respectively. Once the handshaking process 
  1505. is completed, the modem tries to stay in the on-line state. When it 
  1506. loses carrier, it returns to the dialing or answering process. Carrier 
  1507. level is determined in one of several techniques, depending on the 
  1508. particular modem. See your user documentation for information on setting 
  1509. carrier level.
  1510.  
  1511. ------------------------------------------------------------------------
  1512. &L0     Select Dial-up line operation
  1513. &L1     Select Leased line (Private Circuit) operation
  1514. ------------------------------------------------------------------------
  1515.  
  1516. &O - PAD Channel Selection
  1517.  
  1518. The &O command instructs the modem to move from AT command state to a 
  1519. PAD waiting state where it is ready to receive X.25 commands. A Reset 
  1520. operation (see Chapter Two: X.25 Communications) is performed 
  1521. on the selected channel. This command can be issued while off-line so 
  1522. that the PADs may be configured prior to making a connection.
  1523.  
  1524. ------------------------------------------------------------------------
  1525. &O0     Move to the PAD command state of the last channel accessed 
  1526.         (or to channel 1 if no previous channel has been selected). 
  1527. &O1     Move to the PAD command state for channel 1.
  1528. &O2     Move to the PAD command state for channel 2.
  1529. &O3     Move to the PAD command state for channel 3.
  1530. &Q4     Move to the PAD command state for channel 4.
  1531. ------------------------------------------------------------------------
  1532.  
  1533. &Q - Communications Mode Options
  1534.  
  1535. The &Q command selects the communication mode. The &Q command determines 
  1536. how the modem will treat transmitted and received data while in the on-
  1537. line state (i.e., asynchronous, synchronous, AutoSync, or error-control) 
  1538. and establishes certain call setup procedures. Refer also to the &C, &D, 
  1539. and &S commands in this section.
  1540.  
  1541. Command     On-Line State       Special Features
  1542. ------------------------------------------------------------------------
  1543. &Q0         Asynchronous        DCD and DSR behaviors are unique. Refer 
  1544.                                 to &C and &S commands.
  1545.  
  1546. &Q1         Synchronous         DTR must be ON after CONNECT when timer 
  1547.                                 value in S25 expires.
  1548.  
  1549. &Q2         Synchronous         DTR OFF-to-ON executes dialing process;
  1550.                                 the D command invalid DTR ON-to-OFF 
  1551.                                 executes the hangup process; the A 
  1552.                                 command is invalid.
  1553.  
  1554. &Q3         Synchronous         Dialing and Voice allowed from phone set 
  1555.                                 when DTR is OFF. DTR OFF-to-ON executes 
  1556.                                 the handshaking process (in originate 
  1557.                                 mode); the D command is invalid. DTR ON-
  1558.                                 to-OFF executes hangup process; the 
  1559.                                 A command invalid.
  1560.  
  1561. &Q4         Hayes AutoSync      DTR must be ON after CONNECT when 
  1562.                                 timer equal to S25 expires. DTE 
  1563.                                 data speed is 9600 bps which is not
  1564.                                 equal to response speed or line 
  1565.                                 speed, yet all result codes are at 
  1566.                                 the response speed.
  1567.  
  1568. &Q5         Error-control       This enables error-control. Depending 
  1569.                                 which Hayes product is being used, any one 
  1570.                                 of the several point-to-point protocols 
  1571.                                 can be negotiated: LAPB, LAPM, X.25 or 
  1572.                                 MNP. After the modem handshake is 
  1573.                                 complete, feature negotiation (see 
  1574.                                 S48) is used to determine which protocol 
  1575.                                 (see S46) will be used for the 
  1576.                                 communication session. 
  1577.                                 If no common protocol is found 
  1578.                                 between the local and remote 
  1579.                                 modems, the fall back options (see 
  1580.                                 S36) will be used.
  1581.  
  1582. &Q6          Buffered           Automatic Speed Buffering is useful 
  1583.              Asynchronous       for DTEs that cannot adjust to
  1584.                                 changing transmission speeds. This
  1585.                                 mode ensures the DTE-modem speed is
  1586.                                 set at a constant rate regardless 
  1587.                                 of the line speed determined during
  1588.                                 the modem handshake. With the exception 
  1589.                                 of flow control (&Kn) between the DTE 
  1590.                                 and the attached modem, this mode is 
  1591.                                 identical to the standard asynchronous 
  1592.                                 mode (&Q0). ASB operation is also a fall 
  1593.                                 back option (see S36) when the modem is 
  1594.                                 set for error-control mode (&Q5). Because 
  1595.                                 the DTE and DCE speeds are different in 
  1596.                                 ASB, a 256 byte buffer is provided so 
  1597.                                 that flow control does not occur on 
  1598.                                 every character transmission. Some DTEs 
  1599.                                 are sensitive to the buffer size so 
  1600.                                 S-registers are provided to control the 
  1601.                                 lower (S49) and upper (S50) boundaries.
  1602. ------------------------------------------------------------------------
  1603.  
  1604. &R - RTS/CTS Options
  1605.  
  1606. The functions of CTS and RTS in synchronous modes (&Q1, &Q2, and &Q3) 
  1607. are determined by the &R command. The &R command has no effect if &Q0, 
  1608. &Q4, &Q5, or &Q6 is in effect. See also the discussion of the CTS and 
  1609. RTS signals in Appendix A. Refer to the &K command for other RTS and CTS 
  1610. functions. Note when &Q4 is in effect (AutoSync operation), RTS and CTS 
  1611. behaviors are not unlike those specified by RS-232/CCITT V.24.
  1612.  
  1613. In Synchronous Modes (&Q1, &Q2, and &Q3):
  1614. ------------------------------------------------------------------------
  1615. &R0     CTS tracks RTS while the modem is in on-line state and observes 
  1616.         the RTS-to-CTS delay determined by S26.
  1617. &R1     CTS is ON while the modem is in the On-Line State, and RTS is 
  1618.         ignored.
  1619. ------------------------------------------------------------------------
  1620.  
  1621. In other modes (&Q0, &Q4, &Q5, and &Q6), the &R option in effect does 
  1622. not control the RTS and CTS functions.
  1623.  
  1624. &S - Data Set Ready Options
  1625.  
  1626. The &S command controls the functions of the DSR circuit. The DSR 
  1627. circuit (pin 6 of the RS-232 interface) indicates when the modem is 
  1628. connected to a communication channel and is ready.
  1629.  
  1630. In synchronous mode, when originating a call, DSR goes high when dialing 
  1631. is completed and an answer tone is detected from the remote modem. When 
  1632. answering a synchronous call, DSR goes high when the modem begins 
  1633. transmitting the answer tone.
  1634.  
  1635. In asynchronous or error-control mode, the &S command can be used to 
  1636. configure the modem to keep the DSR signal high at all times or to have 
  1637. it operate according to the RS-232 specification (as described in 
  1638. Appendix A).
  1639.  
  1640. When &Q0, &Q5, and &Q6 are in effect: 
  1641. ------------------------------------------------------------------------
  1642. &S0     DSR circuit is always on.
  1643. &S1     DSR=0 in the idle state and when in a test mode. DSR circuit is 
  1644.         turned ON at start of the handshaking process. DSR is turned 
  1645.         OFF when hangup process is started.
  1646. &S2     DSR=0 in the idle state and when in a test mode. DSR circuit is 
  1647.         turned ON at end of handshake prior to issuing of the CONNECT 
  1648.         result code. DSR is turned OFF when hangup process is started.
  1649. ------------------------------------------------------------------------
  1650.  
  1651. When &Q1 to &Q4 are in effect:
  1652. ------------------------------------------------------------------------
  1653. &S0-1     DSR=0 in the command state and at idle. DSR circuit is turned 
  1654.           ON at start of the handshaking process. DSR is turned OFF when 
  1655.           hangup process is started.
  1656. &S2       DSR=0 in the command state and at idle. DSR circuit is turned 
  1657.           ON at end of handshake prior to issuing of the CONNECT result 
  1658.           code. DSR is turned OFF when hangup process is started.
  1659. ------------------------------------------------------------------------
  1660.  
  1661. &T - Test Options
  1662.  
  1663. The following &T command options are used to configure and place the 
  1664. modem in various test modes as defined by CCITT V.54. These tests can be 
  1665. used to verify the analog and digital portions of the modem's operation, 
  1666. as well as those of the remote modem. Some of these tests require a 
  1667. connection be established before running the procedure. The &T19 command 
  1668. (not a CCITT V.54 test) can be used to test the RTS/CTS functions of the 
  1669. cable used to attach the modem to the DTE. 
  1670.  
  1671. Note: &T commands can only be used when the modem is configured for &Q0 
  1672. <CR> (unbuffered asynchronous mode).
  1673.  
  1674. &T0 - Terminate Test In Progress
  1675.  
  1676. If a V.54 Loopback Test is in progress as a result of executing an &Tn 
  1677. command, then the &T0 command will cause that test to be terminated 
  1678. provided that the modem is in the command state, or a V.54 state that 
  1679. accepts commands from the DTE. See specific &T command descriptions for 
  1680. termination actions.
  1681.  
  1682. &T1 - Initiate Local Analog Loopback
  1683.  
  1684. The modem goes on hook and configures itself for analog loopback (using 
  1685. low frequency band if no suffix or "O" suffix, and high frequency band 
  1686. if "A" suffix). DSR is turned off (if &S1 is in effect), the analog 
  1687. loopback state is entered, and the test timer is set to the value in 
  1688. S18. A CONNECT result code is sent to the DTE, and the test timer then 
  1689. begins its count down. The test terminates when the test timer expires. 
  1690. If S18 equals 0, then the test must be terminated by an &T0, H0, or Z 
  1691. command. While any command may be entered while the modem is in this 
  1692. test state, the modem response is not specified except for H0, &T0, and 
  1693. Z - any of which will terminate the test. Upon termination of the test,
  1694. the modem enters the command state.
  1695.  
  1696. Result Codes      Description
  1697. ------------------------------------------------------------------------
  1698. CONNECT           When local analog loopback state is entered.
  1699. ERROR             If any other &Tn test is active (except &T0) or if in 
  1700.                   the on-line command state.
  1701. OK                After test is stopped by test timer, the H0 command,
  1702.                   or the &T0 command.
  1703. ------------------------------------------------------------------------
  1704.  
  1705. &T3 - Perform Local Digital Loopback
  1706.  
  1707. The modem must be in the command state with a connection established 
  1708. when this command is issued. Otherwise an ERROR result code occurs. This 
  1709. command establishes a loopback of received data, after demodulation, and 
  1710. sends it back to the distant end. The modem is configured for local 
  1711. digital loopback, DSR is turned off (if &S1 is in effect), the test 
  1712. timer is started with the value in S18, and an OK result code is sent to 
  1713. the DTE . If S18 contains a 0, the test must be terminated by a &T0, H0, 
  1714. or Z command. The latter two result in the modem going on hook. If S18 
  1715. does not contain 0, the test is terminated after the number of seconds 
  1716. stored in S18.
  1717.  
  1718. Result Codes    Description
  1719. -----------------------------------------------------------------------
  1720. OK              After 2s delay.
  1721. ERROR           If any other self test is active (&T1,&T6-&T8) or if 
  1722.                 in idle state.
  1723. OK              When test is terminated.
  1724. ------------------------------------------------------------------------
  1725.  
  1726. &T4 - Grant RDL Requests
  1727.  
  1728. When in the on-line state the modem will honor a remote digital loopback 
  1729. request from a distant modem if it occurs. This will result in an ERROR 
  1730. if the command is given while any V.54 test is active (&T1, &T3, &T6, 
  1731. &T7, or &T8).
  1732.  
  1733. &T5 - Deny RDL Requests
  1734.  
  1735. The modem will not respond to a remote digital loopback request from a 
  1736. distant modem. This will result in an ERROR if the command is given 
  1737. while any V.54 test is active (&T1, &T3, &T6, &T7, or &T8).
  1738.  
  1739. &T6 - Initiate Remote Digital Loopback
  1740.  
  1741. The command is valid only if the modem is in the command state with a 
  1742. connection at 1200 or 2400 bps. The modem sends the remote digital 
  1743. loopback request signal to the distant modem (see CCITT V.22 and V.54). 
  1744. After the RDL acknowledgment signal is received from the distant modem, 
  1745. DSR is turned off (if &S1 is in effect), the on-line state is entered, a 
  1746. CONNECT result code is sent to the DTE, and the test timer is set to the 
  1747. value in S18. 
  1748.  
  1749. If the modem does not receive the RDL acknowledgment 
  1750. signal from the distant end in three seconds, it sends an ERROR result 
  1751. code to the DTE and returns to the command state. The modem sends the 
  1752. signal specified in CCITT V.22 to release the remote digital loopback 
  1753. when the test is terminated. The test may be terminated by the H0, Z, or 
  1754. &T0 command. The test will also terminate when the test timer expires 
  1755. (sending the modem to the command state) or carrier is lost (causing a 
  1756. NO CARRIER result code and the modem to go on hook in the command 
  1757. state).
  1758.  
  1759. Result Codes      Description
  1760. ------------------------------------------------------------------------
  1761. CONNECT           When on-line state is entered.
  1762. ERROR             If any V.54 test is active (&T1, &T3, &T6-&T8).
  1763. ERROR             If not in on-line command State.
  1764. ERROR             If command is issued at other than 1200 or 2400 bps.
  1765. ERROR             If the RDL signal is not acknowledged.
  1766. ------------------------------------------------------------------------
  1767.  
  1768. &T7 - Initiate RDL With Self Test
  1769.  
  1770. The command is only valid if the modem is in the command state with a 
  1771. connection at 1200 or 2400 bps. The modem sends the remote digital 
  1772. loopback request signal to the distant end (see CCITT V.22). After the 
  1773. RDL acknowledgment signal is received from the distant end, DSR is 
  1774. turned off (if &S1 is in effect), the on-line state is entered, an OK 
  1775. result code is sent to the DTE, and the test timer is set to the value 
  1776. in S18. While the test is active the modem sends a test message to the 
  1777. distant end and counts the errors in the received (looped back) signal. 
  1778.  
  1779. The modem stays in the command state during the test. When the test is 
  1780. terminated (except by a loss of carrier), the modem sends the release 
  1781. signal to the distant end, as in &T6, and reports the three-digit error 
  1782. count to the DTE. The information text is followed by an OK result code. 
  1783. See the V command for formats. The test is terminated by loss of 
  1784. carrier, or an H0, &T0, or Z command, and by the S18 timer running out.
  1785.  
  1786. Result Codes      Description
  1787. ------------------------------------------------------------------------
  1788. OK                When command executed is started.
  1789. OK                After error count is sent to DTE. 
  1790. ERROR             If any other self test is active (&T1,&T3,&T6-&T8).
  1791. ERROR             If not in on-line command state.
  1792. ERROR             If command is issued at other thatn 1200 or 2400 bps. 
  1793. ERROR             If the RDL signal is not acknowledged.
  1794. ------------------------------------------------------------------------
  1795.  
  1796. &T8 - Local Loopback With Self Test
  1797.  
  1798. The modem goes on hook and is configured for analog loopback (low 
  1799. frequency band if none or O suffix, high frequency band if A suffix). 
  1800. The test timer is started at the time indicated by S18, DSR is turned 
  1801. off (if &S1 is in effect). A self test condition is entered, and an OK 
  1802. result code is sent to the DTE. During the test the modem sends a test 
  1803. message and counts errors in the looped back signal. The test is 
  1804. terminated when the timer times out (S18) or the &T0, H0, or Z command 
  1805. is issued. When the test is terminated, the three-digit error count is 
  1806. sent to the DTE. An OK result code follows the error count.
  1807.  
  1808. Result Codes:     Description
  1809. ------------------------------------------------------------------------
  1810. OK                If a self test state is entered.
  1811. OK                After error count is sent to DTE.
  1812. ERROR             If any other V.54 test is active &T1,&T3,&T6,&T7),
  1813.                   or if on-line.
  1814. ------------------------------------------------------------------------
  1815.  
  1816. &T19 - Perform RTS/CTS Cable Test
  1817.  
  1818. Software can use &T19 to help determine whether the DTE-to-Modem cable 
  1819. supports the RTS and CTS signals necessary for hardware flow control, 
  1820. which is selected by the &K3 command.
  1821.  
  1822. &T19 in the modem works interactively with the DTE to confirm the RTS 
  1823. and CTS signal. Only the DTE can detect CTS, and only the modem can 
  1824. detect RTS. The modem cannot verify both signals without the active 
  1825. involvement of the DTE software.
  1826.  
  1827. The modem performs the following algorithm in response to the AT&T19<CR> 
  1828. command:
  1829.  
  1830. 1.  Turns OFF CTS (normally ON).
  1831. 2.  Starts a 500 millisecond timer.
  1832. 3.  Monitors RTS for ON and OFF states.
  1833. 4.  If both states of RTS are detected before the 500ms timer 
  1834.     expires then:
  1835.       a. Restore CTS to the ON state.
  1836.       b. End the test (stop the timer).
  1837.       c. Return the OK result code (meaning the modem has 
  1838.       verified RTS).
  1839. 5.  If the timer expires before both states of RTS are detected then:
  1840.       a. Restore CTS to the ON state.
  1841.       b. Return the ERROR result code (meaning the modem has not 
  1842.       verified RTS).
  1843.  
  1844. Note: By itself, the modem cannot verify either signal. The DTE must 
  1845. toggle RTS during the test in order for the modem to be able to detect a 
  1846. change. Also, the DTE should look for CTS to drop during the test to 
  1847. verify it is connected.
  1848.  
  1849. The following algorithm is used by Hayes Smartcom software in its use of 
  1850. the &T19 test:
  1851.  
  1852. 1.  Issue AT&T19 <CR>
  1853.  
  1854. Note: For more predictable timing, do not combine other commands on the 
  1855. same command line with &T19. Also, higher DTE port speeds improve the 
  1856. timing resolution.
  1857.  
  1858. 2.  Wait 500ms for CTS to drop. If CTS does not drop in that time, then 
  1859. the test fails.
  1860.  
  1861. 3.  If CTS drop is detected, then:
  1862.       a. Drop RTS, wait 50ms, raise RTS, wait 50ms, repeat up to 6 
  1863.       times, or until CTS is  detected high.
  1864.       b. If CTS is detected returning high before 6 iterations, then the
  1865.       test is passing (and an OK result code may be expected soon), or 
  1866.       if all 6 iterations did not result in CTS being raised, then the 
  1867.       RTS part of the test is failing (and an ERROR result code may be 
  1868.       expected after the 500ms timer expires).
  1869.  
  1870. 4.  Process the result code from the modem. Success during Step 3 above 
  1871.     and an OK result code implies that RTS and CTS are both wired 
  1872.     correctly. Failure during Step 3 or an ERROR result code implies 
  1873.     that either RTS or CTS is not wired in the cable.
  1874.  
  1875. Note: Keep in mind that the result code may arrive while you are still 
  1876. in Steps 2 and 3 above.
  1877.  
  1878. A modification to the software algorithm could be made to permit 
  1879. software to detect which signal is missing from the cable. After issuing 
  1880. the AT&T19 <CR> command, give the modem about 100ms to drop CTS. Then, 
  1881. even if the CTS drop is not detected, proceed to toggle RTS anyway, 
  1882. keeping in mind that the CTS part of the test has failed.
  1883.  
  1884. RTS/CTS flow control is preferred because it is "out of band", that is, 
  1885. it does not consume any of the 256 serial codes from the user data. 
  1886. XON/XOFF flow control uses DC1 (ASCII 17) and DC3 (ASCII 19). If RTS/CTS 
  1887. is not supported, then Transparent Flow Control (&K5) is the next best 
  1888. option (IF the software supports it) because it accomplishes Xon/Xoff 
  1889. flow control without interfering with the user data (e.g. during binary 
  1890. file transfers).
  1891.  
  1892. &U - Trellis Coding Options
  1893.  
  1894. The &U command is used to enable and disable Trellis coding for V.32 
  1895. connections. Trellis coding is a method of forward error correction that 
  1896. adds information to the base modulation scheme to record successive 
  1897. dependencies between transmitted signal points. This selection affects 
  1898. V.32 9600 bps and 4800 bps 
  1899. transmissions only.
  1900.  
  1901. -----------------------------------------------------------------------
  1902. &U0     Enable Trellis coding
  1903. &U1     Disable Trellis coding 
  1904. -----------------------------------------------------------------------
  1905.  
  1906. &V - View Configuration Profiles
  1907.  
  1908. The &V command is used to display the active and stored profiles 
  1909. (commands and S-register settings) along with any stored telephone 
  1910. numbers. Input from the DTE is ignored while this view configuration 
  1911. information is being sent to the DTE.
  1912.  
  1913. The example below illustrates typical &V information supplied when the 
  1914. factory-set default configuration profile is loaded and then stored into 
  1915. the stored profiles, and an arbitrary phone number is stored in one of 
  1916. the stored numbers locations. Note that the contents and structure of 
  1917. these profiles vary from modem to modem.
  1918.  
  1919. ACTIVE PROFILE:
  1920. B0 B41 B60 E1 L2 M1 N1 P Q0 V1 W0 X4 Y0 &C0 &D0 &G0 &J0 &K3 &Q5 
  1921. &R0 &S0 &T4 &U0 &X0 &Y0
  1922. S00:000 S01:000 S02:043 S03:013 S04:010 S05:008 S06:002 S07:030 S08:002 
  1923. S09:006 
  1924. S10:014 S11:070 S12:050 S18:000 S25:005 S26:001 S36:005 S37:000 S38:020 
  1925. S44:003
  1926. S46:002 S48:007 S49:008 S50:016 S95:000
  1927.  
  1928. STORED PROFILE 0:
  1929. B0 B41 B60 E1 L2 M1 N1 P Q0 V1 W0 X4 Y0 &C0 &D0 &G0 &J0 &K3 &Q5 
  1930. &R0 &S0 &T4 &U0 &X0
  1931. S00:000 S02:043 S06:002 S07:050 S08:002 S09:006 S10:014 S11:095 S12:050 
  1932. S18:000
  1933. S25:005 S26:001 S36:005 S37:000 S38:020 S44:003 S46:002 S48:007 S49:008 
  1934. S50:016
  1935.  
  1936. STORED PROFILE 1:
  1937. B0 B41 B60 E1 L2 M1 N1 P Q0 V1 W0 X4 Y0 &C0 &D0 &G0 &J0 &K3 &Q5 
  1938. &R0 &S0 &T4 &U0 &X0
  1939. S00:000 S02:043 S06:002 S07:050 S08:002 S09:006 S10:014 S11:095 S12:050 
  1940. S18:000
  1941. S25:005 S26:001 S36:005 S37:000 S38:020 S44:003 S46:002 S48:007 S49:008 
  1942. S50:016
  1943.  
  1944. TELEPHONE NUMBERS:
  1945. 0=
  1946. 1=T9W14045551212
  1947. 2=
  1948. 3=
  1949.  
  1950. The three-digit numbers after each S-register number are decimal 
  1951. representations of the S-register contents.
  1952.  
  1953. &V6 - View Blacklisting Entries
  1954.  
  1955. This command displays "blacklisted" telephone numbers, the number of 
  1956. attempts to each listed number, and the number of calls attempted since 
  1957. the last connection to a modem. Note that this command is only available 
  1958. in modems subject to "blacklisting" regulations set by certain modem 
  1959. approval agencies. Refer to the your user documentation to see if this 
  1960. command applies.
  1961.  
  1962. &W - Write Active Profile to Memory
  1963.  
  1964. The &W command stores certain command options and S-register values into 
  1965. one of the modem's two nonvolatile stored profile memory locations. The 
  1966. command options and register values stored depend on the particular 
  1967. modem. These are indicated in the user documentation for your modem. 
  1968. In addition, the AT speed and parity are stored, according to the values 
  1969. used at the time the command is issued.
  1970.  
  1971. ------------------------------------------------------------------------
  1972. &W0     Store the Active Profile into Stored Profile 0
  1973. &W1     Store the Active Profile into Stored Profile 1
  1974. ------------------------------------------------------------------------
  1975.  
  1976. &X - Synchronous Transmit Clock Source
  1977.  
  1978. The &X command determines how the DTE transmit clock is generated while 
  1979. the modem is in the synchronous mode.
  1980.  
  1981. ------------------------------------------------------------------------
  1982. &X0     Modem generates the transmit clock and applies it to pin 15 
  1983.         (RS-232).
  1984. &X1     DTE generates the transmit clock on pin 24 (EIA 232D) and the
  1985.         modem applies this clock to pin 15 (EIA 232D). This setting 
  1986.         is available for external modems only.
  1987. &X2     Modem derives the transmit clock from the receive carrier 
  1988.         signal and applies it to pin 15 (RS-232).
  1989. ------------------------------------------------------------------------
  1990.  
  1991. &Y - Select Stored Profile For Hard Reset
  1992.  
  1993. The &Y command selects which stored profile will be copied into the 
  1994. active profile subsequent to a hard reset (including power-up). The &Y 
  1995. command execution is nonvolatile, stored at the time the command is 
  1996. executed, not by the &W command. The value selected with this command is 
  1997. not affected by the &F command, although &Y0 is selected as part of the 
  1998. overall factory setup.
  1999.  
  2000. ------------------------------------------------------------------------
  2001. &Y0     Select Stored Profile 0 on power-up
  2002. &Y1     Select Stored Profile 1 on power-up
  2003. ------------------------------------------------------------------------
  2004.  
  2005. &Zn=x - Store Telephone Number
  2006.  
  2007. The &Zn=x command is used to store up to four dialing strings in the 
  2008. modem's nonvolatile memory for later dialing. The format for the command 
  2009. is &Zn="stored number" where n is the location 0-3 to which the number 
  2010. should be written. For example, the line AT&Z2=5552368<CR> writes 
  2011. 5552368 as the third of four possible numbers to the modem's "telephone 
  2012. book" in nonvolatile memory. The &Zn=x command can be used to store a 
  2013. number with as many as 36 characters. 
  2014.  
  2015. Any dialing string can be saved except the S dialing modifier (this 
  2016. would cause a stored dialing string to attempt to dial another stored 
  2017. string), or the ; modifier if used for automatic dialing in synchronous 
  2018. mode 2. If no dial string follows the command, the referenced stored 
  2019. number will be cleared.
  2020.  
  2021. ------------------------------------------------------------------------
  2022. &Z     <dial string><CR>
  2023. &Z=    <dial string><CR>
  2024. &Zn=   <dial string><CR>     ... where n=0-3
  2025. ------------------------------------------------------------------------
  2026.  
  2027. If the delimiter (=) is not present, the characters following the &Zn=x 
  2028. are treated as telephone numbers and/or modifiers and are stored in 
  2029. location 0. For example, in &Znxxxx, the n is a part of the phone 
  2030. number. If the delimiter is present the characters following it are 
  2031. stored in the location specified by the character preceding the 
  2032. delimiter (which must be in the range 0-3). If no character precedes the 
  2033. delimiter, the number is stored in location 0. If an invalid location is 
  2034. specified (n) the modem sends an ERROR result code.
  2035.  
  2036. Characters not listed above as storable are ignored. For example, the
  2037. command &Z1=3456H;AX would store 3456;A.
  2038.  
  2039. ************************************************************************
  2040. 1.2     Result Code Listing
  2041.  
  2042. This section defines the result codes returned by Hayes modems in 
  2043. response to commands.
  2044.  
  2045. The table below shows the various formats in which modem responses can 
  2046. be presented. Note that the "text" of the info-text may consist of 
  2047. multiple lines of text. The formats depicted here only refer to the 
  2048. <CR><LF> characters between info-texts and not within them.
  2049.  
  2050. ------------------------------------------------------------------------
  2051.                   V0            V1
  2052. Information Text  text          <CR><LF>
  2053.                   <CR><LF>      text
  2054.                                 <CR><LF>
  2055. Result Codes      numeric code  <CR><LF>
  2056.                   <CR>          verbose code
  2057.                                 <CR><LF>
  2058. ------------------------------------------------------------------------
  2059.  
  2060. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  2061. 1.2.1     Command Response and Call Progress Monitoring
  2062. This set of result codes includes responses to commands and call 
  2063. progress monitoring responses. They are available to all modems within 
  2064. the capabilities of the modem. For example, the result code CONNECT 9600 
  2065. is not available to Smartmodem 2400. The factory setting for all high-
  2066. speed modems enables the extended set of call progress monitoring (X4). 
  2067. When set up in this way, the modem performs and reports full call 
  2068. progress monitoring (RING, NO CARRIER, NO DIALTONE, and BUSY). It also 
  2069. indicates the speed of the connection (CONNECT 1200 as opposed to simply 
  2070. CONNECT). The factory setting for Smartmodem 300, Smartmodem 1200, and 
  2071. all others whose highest speed is 1200 bps is basic call progress 
  2072. monitoring (X0).
  2073.  
  2074. The command response and call progress monitoring result codes are 
  2075. defined below:
  2076.  
  2077. 0 - OK
  2078. This result code indicates that a command or command string was 
  2079. executed. Note that if more than one command were included on a line and 
  2080. an ERROR result code received, this means that one or more of the 
  2081. commands was not processed. If one or more were executed properly, but 
  2082. even one was invalid, no OK will be issued, only the ERROR.
  2083.  
  2084. 1 - CONNECT
  2085. This result code indicates a connection was made between the DTE and the 
  2086. modem. If X4 (extended set of call progress monitoring) were selected, 
  2087. the code indicates that a connection from at 0 to 300 bps was made. 
  2088. However, if X0 (basic set of call progress monitoring) were selected, 
  2089. the connection could be 0-300, 1200, 1200/75, 75/1200, 2400, 4800, 7200, 
  2090. 9600, 14400, 19200, or 38400 bps. If the modem is not operating in 
  2091. error-control or ASB mode, this is the same as the line speed. See other 
  2092. CONNECT messages and CARRIER messages.
  2093.  
  2094. 2 - RING
  2095. This result code indicates the modem has detected a ring signal. No 
  2096. distinction can be made as to whether this is a voice call, a modem 
  2097. call, a fax call, or other type.
  2098.  
  2099. 3 - NO CARRIER
  2100. This result code indicates that no carrier signal was detected, or that 
  2101. the signal was lost. This is the response the modem will give when no 
  2102. connection is made; see CONNECT result code. The modem will also return 
  2103. this message when the connection is broken, either intentionally as when 
  2104. the hangup process completes, or if line difficulties break the 
  2105. connection.
  2106.  
  2107. 4 - ERROR
  2108. This result code indicates that an invalid command was issued, or that 
  2109. there was an error in the command line. For example, if the command line 
  2110. exceeds the character limit for your modem, this result code will be 
  2111. returned. See your user documentation to determine the character limit for 
  2112. your modem. This result code is also returned in response to the I1 command 
  2113. requesting a ROM checksum, if the modem detects an error in the computation.
  2114.  
  2115. 5 - CONNECT 1200
  2116. This result code indicates a connection has been established at 1200, 
  2117. 1200/75 or 75/1200 bps between the modem and the DTE. If the modem is 
  2118. not operating in error-control mode, this is the same as the line speed. 
  2119. This result code is disabled by X0. Only CONNECT is reported.
  2120.  
  2121. 6 - NO DIALTONE
  2122. This result code indicates that no dial tone was detected when the modem 
  2123. went off hook. Dial tone detection and this result code are enabled by 
  2124. X2 or X4, or the W dial modifier.
  2125.  
  2126. 7 - BUSY
  2127. This result code indicates that the modem detected a busy signal when it 
  2128. attempted to connect with the modem at the number dialed. Busy signal 
  2129. detection and this result code are enabled by X3 or X4.
  2130.  
  2131. 8 - NO ANSWER
  2132. This result code indicates no silence was detected when dialing a system 
  2133. not providing a dial tone. Enabled by the @ dial modifier.
  2134.  
  2135. 10 - CONNECT 2400
  2136. This result code indicates a connection has been established at 2400 bps 
  2137. between the modem and the DTE. If the modem is not operating in error-
  2138. control mode, this is the same as the line speed. This result code is 
  2139. disabled by X0. Only CONNECT is reported.
  2140.  
  2141. 11 - CONNECT 4800
  2142. This result code indicates a connection has been established at 4800 bps 
  2143. between the modem and the DTE. This result code is disabled by X0.
  2144.  
  2145. 12 - CONNECT 9600
  2146. This result code indicates a connection has been established at 9600 bps 
  2147. between the modem and the DTE. This result code is disabled by X0.
  2148.  
  2149. 13 - CONNECT 14400
  2150. This result code indicates a connection has been established at 14400 
  2151. bps between the modem and the DTE. This result code is disabled by X0.
  2152.  
  2153. 14 - CONNECT 19200
  2154. This result code indicates a connection has been established at 19200 
  2155. bps between the modem and the DTE. This result code is disabled by X0.
  2156.  
  2157. 22 - CONNECT 1200/75
  2158. This result code indicates a connection has been established at 1200 bps 
  2159. when transmitting data and 75 bps when receiving data between the modem 
  2160. and the DTE.
  2161.  
  2162. 23 - CONNECT 75/1200
  2163. This result code indicates a connection has been established at 75 bps 
  2164. when transmitting data and 1200 bps when receiving data between the 
  2165. modem and the DTE.
  2166.  
  2167. 24 - CONNECT 7200
  2168. This result code indicates a connection has been established at 7200 bps 
  2169. between the modem and the DTE. This result code is disabled by X0.
  2170.  
  2171. 25 - CONNECT 12000
  2172. This result code indicates a connection has been established at 12000 
  2173. bps between the modem and the DTE. This result code is disabled by X0.
  2174.  
  2175. 28 - CONNECT 38400
  2176. This result code indicates a connection has been established at 38400 
  2177. bps between the modem and the DTE. This result code is disabled by X0.
  2178.  
  2179. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  2180. 1.2.2     Negotiation Progress Messages
  2181.  
  2182. Hayes products report special result codes during error-control 
  2183. negotiation. Whether or not these messages are displayed is selected 
  2184. with the W command (not to be confused with the W dial modifier). The 
  2185. factory setting is messages disabled (W0) to avoid conflict with 
  2186. software programs that do not support this additional level of call 
  2187. progress monitoring.
  2188.  
  2189. Negotiation progress messages are reported in the following order:
  2190.  
  2191. CARRIER
  2192. PROTOCOL
  2193. AUTOSTREAM
  2194. COMPRESSION
  2195. CONNECT
  2196.  
  2197. If AutoStream is not used, no message is reported.
  2198.  
  2199. 40 - CARRIER 300
  2200. This message indicates that a carrier signal has been detected at 300 
  2201. bps (modem-to-modem line speed).
  2202.  
  2203. 44 - CARRIER 1200/75
  2204. This message indicates that a carrier signal has been detected at 1200 
  2205. bps when transmitting and at 75 when receiving (modem-to-modem line 
  2206. speed).
  2207.  
  2208. 45 - CARRIER 75/1200
  2209. This message indicates that a carrier signal has been detected at 75 bps 
  2210. when transmitting and at 1200 bps when receiving (modem-to-modem line 
  2211. speed).
  2212.  
  2213. 46 - CARRIER 1200
  2214. This message indicates that a carrier signal has been detected at 1200 
  2215. bps (modem-to-modem line speed).
  2216.  
  2217. 47 - CARRIER 2400
  2218. This message indicates that a carrier signal has been detected at 2400 
  2219. bps (modem-to-modem line speed).
  2220.  
  2221. 48 - CARRIER 4800
  2222. This message indicates that a carrier signal has been detected at 4800 
  2223. bps (modem-to-modem line speed).
  2224.  
  2225. 49 - CARRIER 7200
  2226. This message indicates that a carrier signal has been detected at 7200 
  2227. bps (modem-to-modem line speed).
  2228.  
  2229. 50 - CARRIER 9600
  2230. This message indicates that a carrier signal has been detected at 9600 
  2231. bps (modem-to-modem line speed).
  2232.  
  2233. 51 - CARRIER 12000
  2234. This message indicates that a carrier signal has been detected at 12000 
  2235. bps (modem-to-modem line speed).
  2236.  
  2237. 52 - CARRIER 14400
  2238. This message indicates that a carrier signal has been detected at 14400 
  2239. bps (modem-to-modem line speed).
  2240.  
  2241. 66 - COMPRESSION: CLASS 5
  2242. This message indicates that data compression using MNP Class 5 has been 
  2243. negotiated for the connection.
  2244.  
  2245. 67 - COMPRESSION: V.42BIS
  2246. This message indicates that data compression using CCITT V.42bis has 
  2247. been negotiated for the connection.
  2248.  
  2249. 68 - COMPRESSION: ADC
  2250. This message indicates that data compression using Hayes Adaptive Data 
  2251. Compression has been negotiated for the connection.
  2252.  
  2253. 69 - COMPRESSION: NONE
  2254. This message indicates that data compression was not negotiated for the 
  2255. connection.
  2256.  
  2257. 70 - PROTOCOL: NONE
  2258. This message indicates that no protocol was negotiated for the 
  2259. connection. A standard asynchronous connection was made.
  2260.  
  2261. 71 - PROTOCOL: ERROR-CONTROL/ LAPB
  2262. This message indicates that an error-control connection was negotiated 
  2263. with LAPB protocol. 
  2264.  
  2265. 72 - PROTOCOL: ERROR-CONTROL/ LAPB/HDX
  2266. This message indicates that a half-duplex error-control connection was 
  2267. negotiated with LAPB protocol. 
  2268.  
  2269. 73 - PROTOCOL: ERROR-CONTROL/LAPB/AFT
  2270. This message indicates that an error-control connection was negotiated 
  2271. using the Hayes Asynchronous Framing Technique. This protocol is used 
  2272. for connections between modems such as Smartmodem 1200 that do not 
  2273. communicate synchronously across the telephone line. AFT enables an 
  2274. error-control protocol to be used.
  2275.  
  2276. 74 - PROTOCOL: X.25/LAPB
  2277. This message indicates that an error-control connection using the X.25 
  2278. protocol was established with a carrier speed of 1200, 2400, 4800, or 
  2279. 9600 bps.
  2280.  
  2281. 75 - PROTOCOL: X.25/LAPB/HDX
  2282. This message indicates that a half-duplex error-control connection using 
  2283. the X.25 protocol was established with a carrier speed of 4800 or 9600 
  2284. bps.
  2285.  
  2286. 76 - PROTOCOL: X.25/LAPB/AFT
  2287. This message indicates that an asynchronous error-control connection 
  2288. using the X.25 protocol was established with a carrier speed of 1200 
  2289. bps. The Hayes Asynchronous Framing Technique was used.
  2290.  
  2291. 77 - PROTOCOL: LAP-M
  2292. This message indicates that an error-control connection using the V.42 
  2293. LAPM protocol was established. 
  2294.  
  2295. 78 - PROTOCOL: LAP-M/HDX
  2296. This message indicates that a half-duplex error-control connection using 
  2297. the V.42 LAPM protocol was established. 
  2298.  
  2299. 79 - PROTOCOL:  LAP-M/AFT
  2300. This message indicates that an asynchronous error-control connection 
  2301. using the V.42 LAPM protocol was established with a carrier speed of 
  2302. 1200 bps. The Hayes Asynchronous Framing Technique was used.
  2303.  
  2304. 80 - PROTOCOL:  ALT
  2305. This message indicates that an errorge indicates that an error-control 
  2306. connection using the V.42 LAPM alternative protocol was established.  
  2307. This protocol is MNP Classes 2, 3, and 4 compatible.
  2308.  
  2309. 91 - AUTOSTREAM:        LEVEL 1
  2310. This message indicates that Hayes AutoStream Level 1 has been negotiated 
  2311. for the connection. This technique provides for multiplexing of multiple 
  2312. virtual channels.
  2313.  
  2314. 92 - AUTOSTREAM:        LEVEL 2
  2315. This message indicates that Hayes AutoStream Level 2 has been negotiated 
  2316. for the connectionsage indicates that Hayes AutoStream Level 2 has been 
  2317. negotiated for the connection. This technique provides for multiplexing 
  2318. of multiple virtual channels, with transparent control of one PAD (non-
  2319. simultaneous). Level 3 has been negotiated for the connection. This 
  2320. technique provides for multiplexing of multiple virtual channels, with 
  2321. transparent control of all PADs (simultaneous).
  2322.  
  2323. 93 - AUTOSREAM          LEVEL 3
  2324. This message indicates that Hayes Autostream Level 3 has been negoitiated 
  2325. for the connection. This technique provides for multiplexing of multiple 
  2326. virtual channels, with transparent control of all PADs (simultaneous). 
  2327.  
  2328. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  2329. 1.2.3     Information Text (INFO-TEXT)
  2330.  
  2331. Some commands, such as &V and Sr? return information text as opposed to 
  2332. numeric or verbose codes. The alpha characters are headings and commands 
  2333. and the numbers are command options, ASCII values, counter values, etc. 
  2334. The example below illustrates a modem response to a command with 
  2335. information text.
  2336.  
  2337. ACTIVE PROFILE:
  2338. B0 B41 B60 E1 L2 M1 N1 P Q0 V1 W0 X4 Y0 &C0 &D0 &G0 &J0 &K3 &Q5 
  2339. &R0 &S0 &T4 &U0 &X0 &Y0
  2340. S00:000 S01:000 S02:043 S03:013 S04:010 S05:008 S06:002 S07:030 S08:002 
  2341. S09:006 
  2342. S10:014 S11:070 S12:050 S18:000 S25:005 S26:001 S36:005 S37:000 S38:020 
  2343. S44:003
  2344. S46:002 S48:007 S49:008 S50:016 S95:000
  2345.  
  2346. Information Text is always a combination of alpha and numeric 
  2347. characters. The V command has no affect on the format of this command 
  2348. response. Note that the contents and format of the profile may vary from 
  2349. model to model. 
  2350.  
  2351. ************************************************************************
  2352. 1.3     S-Register Listing
  2353.  
  2354. The following definitions include all S-registers defined for the 
  2355. various families of Hayes modems. Some factory settings and ranges are 
  2356. included here because they are almost universally implemented with these 
  2357. values; however, be sure to consult the user documentation that came 
  2358. with your modem for the S-registers and their ranges/factory settings that 
  2359. your modem supports. Note that S-register numbers not included in this 
  2360. listing are those for which no function has been assigned.
  2361.  
  2362. S0     Ring to Answer After
  2363.  
  2364. S0 sets the ring number on which the modem automatically answers a call 
  2365. when auto-answer mode is selected. S0=0, the factory setting, disables 
  2366. auto-answer.
  2367.  
  2368. S1     Ring Count
  2369.  
  2370. When the modem is in the command state and set for auto-answer (S0>0), 
  2371. the modem automatically tracks the number of times the phone rings, 
  2372. incrementing and writing the value in S1. The value reverts to 0 if no 
  2373. ring occurs for 8 seconds. Once a connection is made, the modem resets 
  2374. the value of S1 to 0. Note that two short ring bursts within a ring 
  2375. cycle are counted as two rings.
  2376.  
  2377. S2     Ecape Sequence Character
  2378.  
  2379. S2 holds the ASCII value of the escape sequence character. The factory-
  2380. set value is ASCII 43, the plus sign (+). The value for this register 
  2381. can be set to any ASCII value between 0 and 127. Setting S2 to a value 
  2382. greater than 127 disables the escape sequence, preventing the modem from 
  2383. returning to the command state and disabling command recognition.
  2384.  
  2385. S3     Carriage Return Character
  2386.  
  2387. S3 holds the ASCII value of the line terminating character. The factory-
  2388. set value is ASCII 13 - carriage return (<CR>) - the range for the
  2389. register is 0-127. This character is used both as the command line 
  2390. terminator and the result code terminator.
  2391.  
  2392. S4     Line Feed Character
  2393.  
  2394. S4 holds the ASCII value of the line feed character. The factory setting 
  2395. is 10; the range is 0-127.
  2396.  
  2397. S5     Backspace Character
  2398.  
  2399. S5 holds the ASCII value of the backspace character. The factory-set 
  2400. value is ASCII 08; the range for the register is 0-32, 127. This 
  2401. character moves the cursor left, removing the previous character. As 
  2402. this value actually represents the combined operation of three 
  2403. characters (a backspace, a space, and another backspace), the time 
  2404. allotted to process the backspace character must not be any less than 
  2405. the time required by the modem to transmit three characters. For this 
  2406. reason, a repeat-key function may not operate properly on backspaces.
  2407.  
  2408. S6     Wait Before Blind Dialing
  2409.  
  2410. S6 determines how long the modem waits after going off-hook before it 
  2411. dials. This delay allows time for the central telephone office to detect 
  2412. the off-hook condition of the line and apply dial tone. This wait time 
  2413. only applies to the first dial tone. S6 is used only if X0, X1, or X3 is 
  2414. selected. Selecting X2 or X4 enables dial tone (call progress) detection 
  2415. and disables blind dialing, thus making the setting of S6 irrelevant. 
  2416. The value of this register can be set for any number from 4 through 7 
  2417. seconds. This feature allows you to increase the time delay if you have 
  2418. difficulty obtaining dial tone within 4 seconds. Note: The Wait Before 
  2419. Dialing call progress monitoring feature (W dial modifers) applies only 
  2420. to detection of a second dial tone and is independent of any S-register 
  2421. setting.
  2422.  
  2423. S7     Wait for Carrier after Dialing
  2424.  
  2425. S7 determines the modem's time delay between dialing and responding to 
  2426. an incoming carrier signal after initial connection. If the modem does 
  2427. not detect a carrier within this time, the modem hangs up and returns 
  2428. the NO CARRIER result code. If the modem detects a carrier within the 
  2429. specified time, it goes on line. 
  2430.  
  2431. S8     Duration of Delay for Comma Dial Modifier
  2432.  
  2433. S8 determines the duration of the delay generated by the comma (,) dial 
  2434. modifier. 
  2435.  
  2436. S9     Carrier Detect Response Time
  2437.  
  2438. S9 determines how many seconds a carrier signal must be present for the 
  2439. modem to recognize it and issue a carrier detect. The value for the 
  2440. register is measured in tenths of a second. The factory setting is 6 
  2441. (0.6 second); the range is 1 (0.1 second) to 255 (25.5 seconds). Note: 
  2442. The S9 value affects the time required to recognize the presence of 
  2443. carrier only if X3 or X4 is selected. The modem also ignores the value 
  2444. in register S9 when operating in half-duplex synchronous or asynchronous 
  2445. mode.
  2446.  
  2447. S10     Delay Between Lost Carrier and Hang Up
  2448.  
  2449. S10 specifies the time between loss of remote carrier and local modem 
  2450. disconnect. The delay permits the carrier to disappear momentarily 
  2451. without causing the modem to hang up. The value for the register is 
  2452. measured in tenths of a second. The range for most modems is 1 (0.1 
  2453. second) to 255 (25.5 seconds).
  2454.  
  2455. The modem recognizes a carrier after the period of time specified in S9. 
  2456. Therefore, if the value of S10 is less than that set for S9, even a 
  2457. momentary loss of carrier will cause the modem to disconnect. Setting 
  2458. the register to 255 causes the modem to ignore actual carrier status and 
  2459. assume a carrier is always present. When operating in half-duplex 
  2460. synchronous mode, S10 specifies the maximum time (in seconds) that a 
  2461. carrier may be continuously present or absent before causing the modem 
  2462. to disconnect.
  2463.  
  2464. S11     Multi-Frequency Tone Duration
  2465.  
  2466. S11 determines the duration and spacing of tones in multi-frequency tone 
  2467. dialing. The value in this register has no effect on the speed of pulse 
  2468. dialing.
  2469.  
  2470. S12     Escape Sequence Guard Time
  2471.  
  2472. S12 holds the value of the delay required prior to and following the 
  2473. escape sequence. The guard time also dictates how quickly the escape 
  2474. sequence characters must be entered, since the interval between entry of 
  2475. each of the three characters must be of shorter duration than that 
  2476. specified for the guard time. If guard time is set to 0, timing is not a 
  2477. factor.
  2478.  
  2479. S18     Modem Test Timer
  2480.  
  2481. S18 establishes the duration of the modem's diagnostic tests. When a 
  2482. test is active for a length of time equal to the value chosen for this 
  2483. register, the modem automatically terminates the test. A setting of zero 
  2484. (0) disables the test timer (factory setting). The range for this 
  2485. register is 0-255 seconds.
  2486.  
  2487. S25     DTR Detection
  2488.  
  2489. S25 serves two purposes. When the modem is operating in synchronous mode 
  2490. 4, the value assigned to S25 specifies the length of time the modem 
  2491. waits after a connection has been made, before examining the DTR 
  2492. circuit. This allows the modem to ignore an on-to-off transition of DTR 
  2493. and gives the user sufficient time to disconnect the modem from the 
  2494. asynchronous terminal and attach it to a synchronous terminal, without 
  2495. forcing the modem back to the asynchronous command state. During this 
  2496. time, the value of S25 is read in full seconds (e.g., the factory-set 
  2497. value of 5 equals 5 seconds, instead of 0.05 seconds).
  2498.  
  2499. In all other modes, and after call establishment in synchronous mode 4, 
  2500. the value is read in 1/100 seconds. In any mode, a change in DTR (on or 
  2501. off) that persists for a period shorter than the value held in S25 is 
  2502. ignored by the modem while it is on-line. The range of values for S25 is 
  2503. 0-255.
  2504.  
  2505. S26     RTS to CTS Interval
  2506.  
  2507. S26 is used to specify the interval to delay before turning on CTS after 
  2508. an off-to-on transition of RTS. This value takes effect when the &R0 
  2509. command option has been selected. This setting applies to synchronous 
  2510. modes 1, 2, and 3 only. The factory-set value is 1 (.01 seconds) with a 
  2511. range of 0-255.
  2512.  
  2513. S30     Inactivity Timeout
  2514.  
  2515. S30 monitors the line to prevent unnecessary connection time. If no data 
  2516. transfer is detected (while the modem is in the on-line state) for a 
  2517. duration specified by this register, the modem hangs up and returns to 
  2518. the idle state. When the value of S30 is set to 0, the timer is 
  2519. disabled. The factory setting is 0 seconds; the range is 0-255 units of 
  2520. 10 seconds. Note that S30 is only effective in &Q0, &Q5 or &Q6 modes; it 
  2521. is not enabled in any synchronous modes.
  2522.  
  2523. S33     AFT Options
  2524.  
  2525. Register S33 applies only to communications using a V-series Modem 
  2526. Enhancer with a Smartmodem 1200 which has an asynchronous DTE link.
  2527.  
  2528. This register selects the options to be used with Hayes Asynchronous 
  2529. Framing Technique (See the description of S44). AFT offers options to 
  2530. prevent certain characters (like XON and XOFF) from being sent. Normally 
  2531. AFT uses all 256 ASCII character codes; that is, it uses characters with 
  2532. 8 data bits. If intervening equipment is limited to 7-bit operation, the 
  2533. Eight-Bit Data Transparency option (S33=4) can be enabled. 
  2534.  
  2535. With this option, AFT limits itself to using characters with 7 data 
  2536. bits. This pertains only to the communication link between the two 
  2537. modems, not to the format of the data. The data itself is unaffected by 
  2538. enabling any AFT transparency options.
  2539.  
  2540. ------------------------------------------------------------------------
  2541. 0     No transparency options required (factory setting).
  2542. 1     Flow Control Transparency. AFT makes transparent the XON and XOFF 
  2543.       control characters sent from the DTE to the modem. The XON and 
  2544.       XOFF characters themselves are not sent over the communication 
  2545.       link; characters that substitute for these functions are 
  2546.       transmitted, instead.
  2547. 2     Select Control Character Transparency.
  2548. 4     Select Eight-Bit Data Transparency.
  2549. 5     Select both Flow Control Transparency and Eight-Bit Data 
  2550.       Transparency.
  2551. 6     Select both Control Character Transparency and Eight-Bit Data 
  2552.       Transparency.
  2553. ------------------------------------------------------------------------
  2554.  
  2555. If feature negotiation is active, the transparency option selected by 
  2556. one modem is used by both modems.
  2557.  
  2558. S36     Negotiation Failure Treatment
  2559.  
  2560. When an attempt to make an error-control connection fails, the modem 
  2561. reads this register to determine whether to terminate the connection, 
  2562. make an asynchronous connection (otherwise selected with &Q0), or make 
  2563. an asynchronous connection with ASB (otherwise selected with &Q6). This 
  2564. register is referenced only when the error-control mode has been 
  2565. selected with the &Q5 command (factory setting) and this communication 
  2566. mode cannot be negotiated.
  2567.  
  2568. ------------------------------------------------------------------------
  2569. 0     Hang up.
  2570. 1     Attempt a standard asynchronous connection (&Q0).
  2571. 3     Attempt an asynchronous connection using automatic speed buffering 
  2572.       (&Q6).
  2573. 4     Attempt a V.42 Alternative Protocol connection (MNP compatible); 
  2574.       if negotiation fails, hang up.
  2575. 5     Attempt a V.42 Alternative Protocol connection (MNP compatible); 
  2576.       if negotiation fails, attempt a standard asynchronous connection.
  2577. 6     Attempt a V.42 Alternative Protocol connection (MNP compatible); 
  2578.       if negotiation fails, hang up.
  2579. 7     Attempt a V.42 Alternative Protocol connection (MNP compatible); 
  2580.       if negotiation fails, attempt an asynchronous connection using 
  2581.       automatic speed buffering (ASB).
  2582. ------------------------------------------------------------------------
  2583.  
  2584. In asynchronous mode, the CONNECT XXXX message will be returned with a 
  2585. successful connection. This message indicates the speed of the 
  2586. connection, which is also the speed of data transmitted from computer to 
  2587. modem.
  2588.  
  2589. Note: The selected fallback option can be initiated immediately with 
  2590. S48. For example, a connection attempt using the Alternative Protocol 
  2591. can be forced by setting S48=128 and S36=5 or 7.
  2592.  
  2593. The following table shows the order in which the bits of S36 are 
  2594. evaluated: (Remember, these steps only occur after the S46/S48 
  2595. selections have failed to make a LAPBased error-controlled connection in 
  2596. &Q5 mode.)
  2597.  
  2598. ---------------------------------------------------------------------------
  2599. S36       Bit 7-3=0 reserved 
  2600. First     Bit 2 (4) If set, means try MNP protocol; reset means 
  2601.           don't use MNP. 
  2602. Third     Bit 1 (2) If set, means fall back to ASB; reset means 
  2603.           direct async.
  2604. Second    Bit 0 (1) If set, means fall back based on Bit 1; reset 
  2605.           means hang up.
  2606. ------------------------------------------------------------------------
  2607.  
  2608. Also see Appendix D,"Establishing the Desired Connection and Fallback 
  2609. Strategy."
  2610.  
  2611. S37     Desired DCE Line Speed
  2612.  
  2613. The modem attempts to connect with a remote modem at the highest 
  2614. supported DCE speed that does not exceed the value specified by this 
  2615. register. If S37 is set to a speed higher than that supported by the 
  2616. modem, it will attempt to connect at its highest capability. Note that 
  2617. this is the speed of modems across the telephone line, not the speed at 
  2618. which the modem communicates with the attached DTE.
  2619.  
  2620. ---------------------------------------------------------------------------
  2621. 0     Attempt to connect at highest line speed that does not exceed
  2622.       the speed of last AT command issued.
  2623. 1     Attempt to connect at 75 bps
  2624. 2     Attempt to connect at 110 bps
  2625. 3     Attempt to connect at 300 bps
  2626. 4     Reserved
  2627. 5     Attempt to connect at 1200 bps
  2628. 6     Attempt to connect at 2400 bps
  2629. 7     Attempt to connect at 4800 bps
  2630. 8     Attempt to connect at 7200 bps
  2631. 9     Attempt to connect at 9600 bps
  2632. 10    Attempt to connect at 12000 bps
  2633. 11    Attempt to connect at 14400 bps
  2634. ----------------------------------------------------------------------------
  2635.  
  2636. S38     Delay Before Forced Hang up
  2637.  
  2638. S38 specifies the delay between the modem's receipt of the command to 
  2639. hang up (or on-to-off transition of DTR if the modem is configured to 
  2640. follow the signal) and the disconnect operation. This register is useful 
  2641. for error-control communications to ensure that data in the modem 
  2642. buffers is sent before the connection is terminated. The factory setting 
  2643. is 20 (seconds). 
  2644.  
  2645. If this register is set between 0 and 254, the modem 
  2646. will wait that number of seconds for the remote modem to acknowledge 
  2647. receipt of all data in buffers before hanging up. If this timeout occurs 
  2648. before all data can be sent, the NO CARRIER (3) result code will be sent 
  2649. to indicate that data has been lost. If all data is transmitted prior to 
  2650. the timeout, the response to the H0 command will be OK.
  2651.  
  2652. If S38 is set to 255, the modem does not timeout, and continues to 
  2653. attempt to deliver data in buffers until the connection is lost, or the 
  2654. data is delivered.
  2655.  
  2656. S43     Current DCE Speed 
  2657.  
  2658. The value in S43 indicates the DCE speed of the last carrier 
  2659. established. This is a read-only register.
  2660.  
  2661. ---------------------------------------------------------------------------
  2662. 0     No connection
  2663. 1     Reserved
  2664. 2     110 bps
  2665. 3     300 bps
  2666. 4     Reserved
  2667. 5     1200 bps
  2668. 6     2400 bps
  2669. 7     4800 bps
  2670. 8     7200 bps
  2671. 9     9600 bps
  2672. 10    12000 bps
  2673. 11    14400 bps
  2674. ---------------------------------------------------------------------------
  2675.  
  2676. S44     Asynchronous Framing Technique Selection
  2677.  
  2678. Register S44 applies only to communications using a V-series Modem 
  2679. Enhancer with a Smartmodem 1200 that connects using an asynchronous link 
  2680. across the telephone line. S44 sets the use of the Hayes Asynchronous 
  2681. Framing Technique. Connections to a packet-switched network or between 
  2682. two error-control modems using either Error-control/LAPB or X.25 
  2683. protocol are usually synchronous connections, even though the user 
  2684. interface is always asynchronous. 
  2685.  
  2686. Some environments may require asynchronous to synchronous conversion in 
  2687. the protocol because equipment is limited to asynchronous operation, or 
  2688. an asynchronous to synchronous conversion is already in place. For example, 
  2689. most Hayes 1200 bps modems support only asynchronous communication over 
  2690. the telephone line. When one of these modems is connected to a V-series 
  2691. Modem Enhancer, the interface between the two is always asynchronous. 
  2692. A feature provided by the V-series Modem Enhancer called the Asynchronous 
  2693. Framing Technique (AFT) makes this possible. When AFT is enabled, 
  2694. the output of the error-control protocol is asynchronous instead of 
  2695. synchronous. The values of S44 are as follows:
  2696.  
  2697. ------------------------------------------------------------------------
  2698. 2     Use AFT. When AFT is selected, the data output is asynchronous 
  2699.       instead of synchronous. AFT is required if the path your call 
  2700.       takes passes through asynchronous-only equipment.
  2701. 3     The modem automatically selects whether or not to use AFT.
  2702.       V-series Modem Enhancer, when connected to a Smartmodem 1200, 
  2703.       automatically uses AFT (factory setting).
  2704. ------------------------------------------------------------------------
  2705.  
  2706. If the modem is configured to use feature negotiation, and the other 
  2707. modem is using AFT, both modems automatically select AFT.
  2708.  
  2709. S46     Error-control Protocol Selection
  2710.  
  2711. S46 specifies the error-control method used for subsequent connections.
  2712. Because the factory setting will be a protocol for point-to-point 
  2713. communications, other connections, such as the X.25 protocol must be 
  2714. enabled by setting S46.
  2715.  
  2716. Feature negotiation enables two communicating modems to identify the 
  2717. common protocols, and chooses one based on the user-configuration for 
  2718. the communication session. For example, if an ULTRA product is 
  2719. configured to use the X.25 protocol, but connects with a V-series 
  2720. product without X.25 capability, an error-control protocol is 
  2721. automatically selected because both modems support it. However, if a
  2722. ULTRA product with X.25 connects with another ULTRA product with 
  2723. X.25, both can use X.25 protocol if configured to do so (S46=6).
  2724.  
  2725. When attempting a connection to a packet-switched network, automatic 
  2726. feature negotiation is usually disabled because unless an X.25 
  2727. connection can be made, further network connections cannot be made. To 
  2728. disable automatic feature negotiation and make an X.25 connection or 
  2729. hang up, set S46=134. The options for this register are described below:
  2730.  
  2731. ------------------------------------------------------------------------
  2732. 0     Either LAPM or fallback to LAPB
  2733. 1     LAPB only
  2734. 2     LAPM or fallback to LAPB; use data compression*
  2735. 3     LAPB with data compression*
  2736. 6     X.25 or fallback to LAPB; use data compression*
  2737. 134   X.25
  2738. 136   LAPM only
  2739. 138   LAPM with data compression*
  2740. ------------------------------------------------------------------------
  2741.  
  2742. * Note: The technique negotiated is determined by capabilities and 
  2743. configuration of both modems. V.42bis is attempted first, then Hayes 
  2744. Adaptive Data Compression. If neither method is supported by both 
  2745. modems, or if either modem has compression disabled, no compression will 
  2746. be used.
  2747.  
  2748. S48     Enabling/Disabling Feature Negotiation
  2749.  
  2750. S48 selects how feature negotiation is used when making connections with 
  2751. the remote system. The negotiation process can be tailored to suit a 
  2752. connection, or bypassed altogether. For example, when the capabilities 
  2753. of the remote modem are known, negotiation is unnecessary. The factory 
  2754. setting is 7, negotiation enabled. With feature negotiation disabled, 
  2755. the modem assumes that the remote modem is configured the 
  2756. same as itself, and proceeds to activate the error-control protocol 
  2757. specified by the S46 (protocol options) setting. Use 128 when calling a 
  2758. packet-switched network that does not support feature negotiation.
  2759.  
  2760. ------------------------------------------------------------------------
  2761. 0     Negotiation disabled; presume the remote modem is configured for 
  2762.       and has the capabilities necessary for the connection selected 
  2763.       with S46.
  2764. 3     Negotiation enabled, but originating modem remains silent during 
  2765.       detection phase. For connections with MNP modems; however, this 
  2766.       setting defeats the negotiation sequence with other V.42 modems.
  2767. 7     Negotiation enabled.
  2768. 128   Negotiation disabled; forces fallback options specified in S36 
  2769.       to be taken immediately.
  2770. ------------------------------------------------------------------------
  2771.  
  2772. S49     ASB buffer size lower limit
  2773.  
  2774. S49 sets the lower limit of the modem's buffer when communicating in 
  2775. asynchronous mode with ASB. The range of this register is 1-249. The 
  2776. factory setting is 8 bytes.
  2777.  
  2778. S50     ASB buffer size upper limit
  2779.  
  2780. S50 sets the upper limit of the modem's buffer when communicating in 
  2781. asynchronous mode with ASB. The range of this register is 2-250 bytes. 
  2782. The factory setting is 16 bytes.
  2783.  
  2784. S53     Global PAD Configuration
  2785.  
  2786. S53 defines a set of behavior switches that control the PAD and all four 
  2787. channels in the Hayes product. This fixed user interface provides 
  2788. software and users with a consistent PAD command interface regardless of 
  2789. current PAD parameter settings. The fixed user interface is effective in 
  2790. all states except the on-line (data transfer) state.
  2791.  
  2792. For example, the factory-set value of PAD parameter 2 is zero, which 
  2793. turns off character echo. This is required for a transparent on-line 
  2794. state (e.g., for Smartmodem product emulation). However, since it may be 
  2795. difficult to enter PAD commands without seeing them echoed at your 
  2796. terminal, a method of controlling the PAD despite the parameter settings 
  2797. would be necessary.
  2798.  
  2799. The fixed user interface affects the following in all states, except the 
  2800. on-line state:
  2801.  
  2802. *  Transmission of all PAD result codes, including the prompt PAD result 
  2803.    code.
  2804. *  Echo control via the E command.
  2805. *  Fixed editing characters (delete character is defined by S5, delete 
  2806.    line character is Control-X, line display character is Control-R).
  2807. *  Echo mask masks only the editing characters.
  2808.    
  2809. The fixed PAD control interface affects the following in all states:
  2810.  
  2811. *  Disables PAD recall using a character (PAD parameter 1) or a break 
  2812.    signal.
  2813. *  Disables all PAD flow control (PAD parameters 5, 12).
  2814. *  Disables carriage return (PAD parameter 9) and line feed (PAD 
  2815.    parameter 14) padding.
  2816. *  Disables line folding (PAD parameter 10).
  2817. *  Existing result codes use result codes for terminal (PAD parameter 
  2818.    19).
  2819. *  Disables page wait (PAD parameter 22).
  2820. *  Disables execution of ANS and EXEC strings.
  2821. *  Disables EXEC command.
  2822.  
  2823. If the value of S53 includes any bit value except 1, the PAD prompt 
  2824. character changes from * to -. The change in the prompt PAD character 
  2825. provides an indication that the PAD is not in CCITT mode. The register's 
  2826. values are provided below:
  2827.  
  2828. ------------------------------------------------------------------------
  2829. 0     Normal CCITT-compatibility mode.
  2830. 1     Normal CCITT-compatibility mode. PAD prompt is an asterisk (*) and 
  2831.       appears with the channel number (e.g., 1*).
  2832. 2     Fixed user interface. PAD prompt is a hyphen (-).
  2833. 3     Fixed user interface. PAD prompt is a hyphen and appears with the 
  2834.       channel number (e.g., 1-) (factory setting).
  2835. 4     Fixed control interface. PAD prompt is a hyphen.
  2836. 5     Fixed control interface. PAD prompt is a hyphen and appears with 
  2837.       the channel number.
  2838. 6     Fixed user and fixed control interface. PAD prompt is a hyphen.
  2839. 7     Fixed user and fixed control interface. PAD prompt is a hyphen and 
  2840.       appears with the channel number.
  2841. ------------------------------------------------------------------------
  2842.  
  2843. S55     AutoStream Protocol Request
  2844.  
  2845. S55 allows the user to request one of the AutoStream levels. The range 
  2846. is 0 to 3 with a factory setting of 0.
  2847.  
  2848. Parameter   Description
  2849. Value
  2850. -------------------------------------------------------------------
  2851. 0            No AutoStream.
  2852. 1            Request AutoStream Level 1 (allows multiplexing of multiple 
  2853.              virtual channels on the DTE).
  2854. 2            Request AutoStream Level 2 (allows transparent control over 
  2855.              one PAD at a time - non simultaneous).
  2856. 3            Request AutoStream Level 3 (allows transparent control over 
  2857.              all PADs simultaneously).
  2858. ------------------------------------------------------------------------
  2859.  
  2860. S56     AutoStream Protocol Status
  2861.  
  2862. S56 reflects the status of the current AutoStream level. An alternative 
  2863. to reading this register is examining the extended result codes (see 
  2864. W1). The range is 0 to 3 with a factory setting of 0. This register 
  2865. applies to Hayes modems that support X.25 and AutoStream.
  2866.  
  2867. Parameter   Description
  2868. Value
  2869. ------------------------------------------------------------------------
  2870. 0           Indicates no AutoStream.
  2871. 1           Indicates AutoStream Level 1 (allows multiplexing of 
  2872.             multiple virtual channels on the DTE).
  2873. 2           Indicates AutoStream Level 2 (allows transparent control
  2874.             over one PAD at a time - non simultaneous).
  2875. 3           Indicates AutoStream Level 3 (allows transparent control 
  2876.             over all PADs simultaneously).
  2877. ------------------------------------------------------------------------
  2878.  
  2879. S57     Network Options Register
  2880.  
  2881. This bit-mapped register allows configuration of the packet layer for 
  2882. operation with different networks. This register applies to Hayes modems 
  2883. that support X.25 and AutoStream.
  2884.  
  2885. Bit 0:  Address may be sent in the call accept or clear request packets. 
  2886. Otherwise, the address length is set to zero.
  2887.  
  2888. Bit 1:  Neither address, facility, nor data fields may be set in call 
  2889. accept or clear request packets. Address is not sent, even if used in 
  2890. combination with bit value 1.
  2891.  
  2892. ------------------------------------------------------------------------
  2893. S57=0     In call accept or clear request packets, the address length is 
  2894.           set to zero, but facility and data fields may be present 
  2895.           (factory setting).
  2896. S57=1     In call accept or clear request packets, address, facility, or 
  2897.           data fields may be present.
  2898. S57=2, 3  In call accept or clear request packets, no fields may be 
  2899.           sent.
  2900. ------------------------------------------------------------------------
  2901.  
  2902. S63     Private Circuit (Leased Line) Carrier Level Adjustment
  2903.  
  2904. S63 selects the carrier power level in dBm for leased line operation. 
  2905. This register specifies a nominal carrier level value. The range for 
  2906. this register is 0-15 (0 dBm to -15 dBm). The factory setting is 0. Note 
  2907. that for those modems supporting leased line operation, carrier level 
  2908. (if adjustable) may be set by other means. Please refer to the modem's 
  2909. installation information for details.
  2910.  
  2911. S69     Link Layer Window Size
  2912.  
  2913. S69 sets the number of frames (packets) sent between acknowledgements 
  2914. from the remote system. Each frame is one packet and the window size is 
  2915. how many frames you can send before you must stop and wait for the 
  2916. remote end to send an acknowledgement that it received the frames and is 
  2917. ready to receive more frames. The range is 1-15 with a factory setting 
  2918. of 15. LAPM connections use a window size of 1-15; LAPB connections and 
  2919. X.25 connections use a window size of 1-8. If a LAPB or X.25 connection 
  2920. is made, any value greater than 8 is treated as 8.
  2921.  
  2922. Reducing window size can reduce performance. Reduce the window size only 
  2923. when so instructed by the network (this rarely occurs).
  2924.  
  2925. S70     Maximum Number of Retransmissions
  2926.  
  2927. S70 limits the number of times the modem will retransmit a frame. 
  2928. Retransmissions become necessary when data errors introduced by noise 
  2929. disrupt the reception of a frame. When the limit set by S70 is reached, 
  2930. the modem hangs up. Raising this limit may be necessary if, for example, 
  2931. telephone lines are extremely noisy. The retransmission delays may be 
  2932. undesirable, but the modem will not hang up. The range for this register 
  2933. is 0-255, with a factory setting of 10.
  2934.  
  2935. S71     Link Layer Timeout
  2936.  
  2937. When the link layer sends a character, it starts a timer referenced in 
  2938. the formula below as  "T1." If the remote end does not respond after T1 
  2939. seconds, the link layer retransmits. The value of T1 is computed 
  2940. automatically based on the connection speed and maximum packet size.
  2941.  
  2942. T1 = 2 * (maximum packet size + 11) * (8 V bits per second) + T2 + 500 
  2943. msec
  2944.  
  2945. The S71 setting is represented by the "T2" in the formula. The setting 
  2946. affords some control over the final value of T1. You can increase T1 by 
  2947. increasing T2. You may want to do this if your communication environment 
  2948. has unusually long delays transmitting information from one end to the 
  2949. another (such as with satellite connections), or if the computer at the 
  2950. other end takes a long time to respond. The range for this register is 
  2951. 1-255 milliseconds, with a factory setting of 20.
  2952.  
  2953. S72     Loss of Flag Idle Timeout
  2954.  
  2955. A transmitter not currently sending data to send is described as "idle." 
  2956. Normally, idle transmitters send a repeating pattern called "flag idle." 
  2957. Your modem always monitors the line to make sure the remote end of the 
  2958. communication link is either sending data or a flag idle. This ensures 
  2959. that the modem is operating. S72 determines how long the local modem 
  2960. waits before hanging up when it no longer is receiving data or a flag 
  2961. idle.
  2962.  
  2963. In some systems, periods of "mark idle" (periods where all ones are 
  2964. transmitted instead of the flag pattern) are normal. When using such a 
  2965. system, it may be necessary to increase the value in S72. If the 
  2966. register is set to 0, this monitoring function is disabled. The range 
  2967. for this register is 1-255 seconds; the factory setting is 30.
  2968.  
  2969. S73     No Activity Timeout
  2970.  
  2971. If your modem is receiving good carrier and flag idle from the remote 
  2972. modem but does not receive any data for the time period specified by 
  2973. S73, it will send a query (called an "RR") to the remote modem to make 
  2974. sure the modem is operating properly. 
  2975.  
  2976. The range for this register is 1-255 seconds; the factory setting for 
  2977. this register is 5. Decreasing this value causes the modem to test more 
  2978. frequently for malfunctions at the remote end. However, the modem will 
  2979. not hang up for approximately 2 * T1 * N2 seconds because it retransmits 
  2980. the RR query several times.
  2981.  
  2982. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  2983. 1.3.1     Logical Channel Number Selectors - PS74, S75, S76, S77, S78, S79
  2984.  
  2985. Although Hayes products supporting X.25 support four virtual channels, 
  2986. numbered 1 through 4, packet-switched networks can support up to 4096 
  2987. channels (numbered 0-4095). Each network has its own channel numbering 
  2988. system to support multiple users. For example, if there are 15 calls, 
  2989. each with four virtual connections, the packet-switched network can support 
  2990. all 60 (4*15) virtual calls, but each has to have a different logical 
  2991. channel number. 
  2992.  
  2993. Networks often set up their system so that all incoming calls are within 
  2994. one range and all outgoing calls are within another range. Logical 
  2995. Channel Numbers are automatically assigned by the Hayes product, but 
  2996. the ranges need to be configurable in order to be compatible with 
  2997. different network requirements.
  2998.  
  2999. S74, S75     Minimum Incoming Logical Channel Number (LCN)
  3000.  
  3001. S74 and S75 combine to specify the lowest incoming Logical Channel 
  3002. Number the packet layer will report or accept. The value used is formed 
  3003. by using S74 as the two high decimal digits and S75 as the two low 
  3004. decimal digits, or the value can be expressed by the formula 
  3005. S74*100+S75. If the resulting value is outside the range (0-4095), the 
  3006. value is assigned to the appropriate corresponding limit (e.g., if a 
  3007. value of 4099 is used, it is assigned to the upper limit value of 4095).
  3008.  
  3009. ------------------------------------------------------------------------
  3010. S74=0     Factory setting from a range of 0-40
  3011. S75=1     Factory setting from a range of 0-99
  3012. ------------------------------------------------------------------------
  3013.  
  3014. S76, S77     Maximum Incoming Logical Channel Number (LCN)
  3015.  
  3016. S76 and S77 combine to specify the highest incoming Logical Channel 
  3017. Number the packet layer will report or accept. The value used is formed 
  3018. by using S76 as the high two decimal digits and S77 as the two low 
  3019. decimal digits, or the value can be expressed by the formula 
  3020. S76*100+S77. If the resulting value is outside the range (0-4095), the 
  3021. value is assigned to the appropriate corresponding limit (e.g., if a 
  3022. value of 4099 is used, it is assigned to the upper limit value of 4095).
  3023. ------------------------------------------------------------------------
  3024. S76=40     Factory setting from a range of 0-40
  3025. S77=95     Factory setting from a range of 0-99
  3026. ------------------------------------------------------------------------
  3027.  
  3028. S78, S79     Outgoing Logical Channel Number (LCN)
  3029.  
  3030. The setting of registers S78 and S79 should be adjusted if the network 
  3031. requires a range of Logical Channel Numbers outside those specified with 
  3032. the combination of these two registers. S78 and S79 combine to determine 
  3033. the outgoing Logical Channel Number the packet layer will use to place a 
  3034. call. The value is derived using S78 as the two high decimal digits and 
  3035. S79 as the low two decimal digits, or the value can be expressed by the 
  3036. formula S78 * 100 + S79. 
  3037.  
  3038. If the resulting value is outside the range (4-4095), the value is then
  3039. assigned to the appropriate limit. The highest Logical Channel Number 
  3040. would be that derived from the above formula, and the lowest would be the
  3041. value minus the maximum number of channels supported plus one.
  3042. The user has the ability to override this factory setting and explicitly 
  3043. specify an LCN using the PAD selection command (CALL).
  3044.  
  3045. ------------------------------------------------------------------------
  3046. S78=0     Factory setting from a range of 0-40
  3047. S79=16    Factory setting from a range of 0-99
  3048. ------------------------------------------------------------------------
  3049.  
  3050. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  3051. 1.3.2     Packet Layer Parameters - PS80, S81
  3052.  
  3053. The values in S80 and S81 combine to set time and duration for packet 
  3054. layer restart requests.
  3055.  
  3056. S80     Packet Layer N20 Parameter
  3057.  
  3058. S80 sets the maximum number of times a restart request can be 
  3059. retransmitted. The factory setting is 1 (S80=1) from a range of 0-255. 
  3060. Setting this register may be necessary if the network requires a restart 
  3061. attempt to abandon a connection earlier than planned.
  3062.  
  3063. S81     Packet Layer T20 Parameter
  3064.  
  3065. S81 sets the maximum amount of time the transmitter will wait for 
  3066. acknowledgment of a restart request frame before initiating a recovery 
  3067. procedure, in 10-second increments. The factory setting is 18 from a 
  3068. range of 0-255. Setting this register may be necessary if the network 
  3069. requires a restart attempt to abandon a connection earlier than planned.
  3070.  
  3071. S82     Break Signaling Technique 
  3072.  
  3073. S82 selects a method of break signal handling for V.42 communications: 
  3074. in sequence, expedited, and destructive. Break signals provide a way for 
  3075. you to get the attention of the remote host. The break type used depends 
  3076. on your application. The values for S82 are:
  3077.  
  3078. ------------------------------------------------------------------------
  3079. 3     Expedited signaling regardless of its sequence in data sent and 
  3080.       received; data integrity maintained.
  3081. 7     Destructive signaling regardless of its sequence in data sent and 
  3082.       received; data in process at time is destroyed.
  3083. 128   In sequence signaling as data is sent and received; data 
  3084.       integrity maintained ahead of and after break.
  3085. ------------------------------------------------------------------------
  3086.  
  3087. S84     Adaptive Start Up (ASU) negotiation
  3088.  
  3089. S84 selects the adaptive start up (ASU) method to be negotiated for 
  3090. subsequent connections.
  3091.  
  3092. ------------------------------------------------------------------------
  3093. 0     Do not negotiate ASU connection.
  3094. 126   Negotiate ASU with fixed start up.
  3095. 129   Negotiate ASU with fast start up on both sides.
  3096. 130   Negotiate ASU with smooth start up on both sides.
  3097. 131   Negotiate ASU with configuring modem using fast start up and the 
  3098.       other modem using smooth start up.
  3099. 132   Negotiate ASU with configuring modem using smooth start up and the 
  3100.       other modem using fast start up.
  3101. ------------------------------------------------------------------------
  3102.  
  3103. S85     ASU Negotiation Report
  3104.  
  3105. S85 indicates whether adaptive start up and method were negotiated for 
  3106. the current connection. To read S85, issue the escape sequence to place 
  3107. the modem in the command state, then issue ATS85? <CR>. The modem will 
  3108. report one of the values below.
  3109.  
  3110. ------------------------------------------------------------------------
  3111. 0       ASU not negotiated; fixed start up in use.
  3112. 126     ASU negotiated with fixed start up.
  3113. 129     ASU negotiated with fast start up on both sides.
  3114. 130     ASU negotiated with smooth start up on both sides.
  3115. 131     ASU negotiated with reporting modem using fast start up and the 
  3116.         other modem using smooth start up.
  3117. 132     ASU negotiated with reporting modem using smooth start up and 
  3118.         the other modem using fast start up.      
  3119. ------------------------------------------------------------------------
  3120.  
  3121. S86     Connection Failure Cause
  3122.  
  3123. S86 can help you determine the cause of a connection failure. When the 
  3124. modem issues a NO CARRIER result code, a value is written to this 
  3125. register. To read this register, following the connection failure, issue 
  3126. ATS86? <CR>. The modem will report one of the values below.
  3127.  
  3128. ------------------------------------------------------------------------
  3129. 0      Normal hang up; no error occurred.
  3130. 4      Physical carrier loss.
  3131. 5      Feature negotiation failed to detect presence of another 
  3132.        error-control modem at the other end.
  3133. 6      Other error-control modem did not respond to feature negotiation 
  3134.        message sent by this modem.
  3135. 7      Other modem is synchronous-only; this modem is asynchronous-only.
  3136. 8      Modems could not find a common framing technique.
  3137. 9      Modems could not find a protocol in common.
  3138. 10     Feature negotiation message sent by other modem incorrect.
  3139. 11     Synchronous information (data or flags) not received from other
  3140.        modem. Modem waited 30 seconds before hanging up.
  3141. 12     Normal disconnect initiated by other modem.
  3142. 13     Other modem did not respond after many transmissions of the same
  3143.        message. Modem made 10 attempts then hung up.
  3144. 14     Protocol violation occurred.
  3145. 15     Compression failure.
  3146. ------------------------------------------------------------------------
  3147. Note: Multiple occurrences may contribute to a NO CARRIER message; S86 
  3148. records the first event that occurred.
  3149.  
  3150. S87     Fixed Speed DTE Interface (Default High AT Speed)
  3151.  
  3152. The modem always accepts AT commands up to and including 9600 bps. Above 
  3153. 9600 bps, the S87 setting determines which additional speed will be 
  3154. available for autobauding. (Autobauding is the process by which a modem 
  3155. determines the DTE speed from the A (and possibly T) of an AT command). 
  3156. Refer to the description of the r2-string in the I command description.
  3157. The following list identifies the possible values of S87. The factory 
  3158. default value is the lowest available value in the modem. Refer to the 
  3159. user documentation supplied with your modem to determine if S87 is 
  3160. supported by your modem and which values of S87 it supports.
  3161.  
  3162. Value    Indicated Speed
  3163. ------------------------------------------------------------------------
  3164. 14       19200
  3165. 28       38400
  3166. ------------------------------------------------------------------------
  3167.  
  3168. S91     PSTN Transmit Level Adjustment
  3169.  
  3170. The PSTN (Public Switched Telephone Network) line transmit level can be 
  3171. adjusted using register S91. This register specifies a carrier level 
  3172. value that is not to be exceeded. The allowable range for register S91 
  3173. is listed in your modem's user documentation. 
  3174.  
  3175. S92     MI/MIC Options
  3176.  
  3177. S92 enables and selects or disables the mode indicate/mode indicate 
  3178. common interface. The settings available for this register support 
  3179. various combinations of edge and level detection in either originate or 
  3180. answer mode with ring indicator (RI) pulse enabled or disabled. To see if 
  3181. your modem supports MI/MIC and if it does, for particulars as to how the 
  3182. jack setting specified with the &J command interacts with this register, 
  3183. see your modem's user documentation. 
  3184. ------------------------------------------------------------------------
  3185. 0     MI/MIC disabled
  3186. 1     level triggered, originate mode, RI pulse enabled
  3187. 3     edge triggered, originate mode, RI pulse enabled
  3188. 5     level triggered, answer mode, RI pulse enabled
  3189. 7     edge triggered, answer mode, RI pulse enabled
  3190. 9     level triggered, originate mode, RI pulse disabled
  3191. 11    edge triggered, originate mode, RI pulse disabled
  3192. 13    level triggered, answer mode, RI pulse disabled
  3193. 15    edge triggered, answer mode, RI pulse disabled
  3194. ------------------------------------------------------------------------
  3195. Note: This feature is not available to all modems. Refer to the feature 
  3196. list in your modem's installation information. Setting S92 to a value 
  3197. other than its factory-set default of 0 automatically redefines the 
  3198. telephone line jack setting specified by the &J command.
  3199.  
  3200. S93     V.25bis DTE Interface Speed
  3201.  
  3202. S93 selects the speed used when the modem is configured for V.25bis 
  3203. mode. When autobauding in any mode other than V.25bis, the modem uses 
  3204. the value held in S37.
  3205.  
  3206. -----------------------------------------------------------------------
  3207. 3     300 bps
  3208. 5     1200 bps
  3209. 6     2400 bps
  3210. 7     4800 bps
  3211. 8     7200 bps
  3212. 9     9600 bps
  3213. 10    12000 bps
  3214. 11    14400 bps
  3215. 12    19200 bps
  3216. 13    38400 bps
  3217. ------------------------------------------------------------------------
  3218. Note that the V.25bis feature is not available in all modems and if 
  3219. supported, not all values may apply. Refer to the feature list in your 
  3220. modem's user documentation. 
  3221.  
  3222. S94     Mode Selection Register
  3223.  
  3224. S94 provides an alternative to setting internal DIP switches when 
  3225. choosing between the AT command mode (factory setting) and the various 
  3226. CCITT V.25bis command modes supported by the modem. To use this 
  3227. register, the related DIP switches in the modem must be set to select 
  3228. the "AT Command Mode" (factory setting). See your modem's installation 
  3229. information.
  3230.  
  3231. With the modem's DIP switches set to select "AT Command Mode," the 
  3232. operating mode after a soft reset is determined by S94. This register is 
  3233. read from nonvolatile memory at power-on; the &W command saves the 
  3234. current setting of this register in nonvolatile memory. Here are the 
  3235. values for S94:
  3236.  
  3237.                                          Synchronous Operation
  3238. Value  Sync/    AT/       Addressed/     HDLC/BSC    ASCII/EBCDIC
  3239. ------------------------------------------------------------------------
  3240.        Async    V.25bis   Direct                                              
  3241. 0      Async    AT        --             --          --
  3242. 1      Async    V.25bis   Addressed      --          --
  3243. 2      Sync     V.25bis   Addressed      HDLC        ASCII
  3244. 3      Sync     V.25bis   Addressed      BSC         ASCII
  3245. 4      Async    AT        --             --          --
  3246. 5      Async    V.25bis   Direct         --          --
  3247. 6      Sync     V.25bis   Direct         HDLC        ASCII
  3248. 7      Sync     V.25bis   Direct         BSC         ASCII
  3249. 8      Async    AT        --             --          --
  3250. 9      Async    V.25bis   Addressed      --          --
  3251. 10     Sync     V.25bis   Addressed      HDLC        EBCDIC
  3252. 11     Sync     V.25bis   Addressed      BSC         EBCDIC
  3253. 12     Async    AT        --             --          --
  3254. 13     Async    V.25bis   Direct         --          --
  3255. 14     Sync     V.25bis   Direct         HDLC        EBCDIC
  3256. 15     Sync     V.25bis   Direct         BSC         EBCDIC
  3257. ------------------------------------------------------------------------
  3258.  
  3259. An alternative way of presenting the V.25bis mode selection options 
  3260. listed above follows:
  3261.  
  3262. Value     Mode
  3263. ------------------------------------------------------------------------
  3264. 0         Standard AT command operation (factory setting)
  3265. 1         Asynchronous V.25bis using addressed access
  3266. 2         Synchronous V.25bis (HDLC framing) using addressed access
  3267. 3         Synchronous V.25bis (BSC framing) using addressed access
  3268. +4        Direct access calling procedure
  3269. +8        EBCDIC character set options instead of ASCII
  3270. ------------------------------------------------------------------------
  3271.  
  3272. S95     Negotiation Message Options
  3273.  
  3274. S95 enables various result codes that indicate the sequence of events in 
  3275. the establishment of an error-control connection. This register does not 
  3276. affect the way in which the modem negotiates the connection; it merely 
  3277. enables message options. The factory setting for this register is value 
  3278. 0, no bits selected. To enable any combination of the bits, add the 
  3279. value(s) to the right of the bit number and set the register to this 
  3280. sum.
  3281.  
  3282. Note: The bit values of S95 may be set to override some of the 
  3283. characteristics of the Wn command. Setting any of the S95 bits to "1" 
  3284. enables the corresponding result codes regardless of the Wn command in 
  3285. effect. Changing the Wn command setting does not affect the value set 
  3286. for this register.
  3287.  
  3288. Bit   Value    Explanation
  3289. ------------------------------------------------------------------------
  3290. 0     1        Verbose CONNECT result code indicates the DCE speed 
  3291.                (rather than DTE speed). Numeric result codes are also 
  3292.                different when CONNECT reports DCE speed.
  3293. 1     2        Append "/ARQ" to CONNECT result code when an 
  3294.                error-control connection is made.
  3295. 2     4        Add CARRIER messages
  3296. 3     8        Add PROTOCOL messages
  3297. 4     16       Add AUTOSTREAM messages
  3298. 5     32       Add COMPRESSION messages
  3299. ------------------------------------------------------------------------
  3300.  
  3301. For example, if you want to add the compression result code (with W1 
  3302. selected), you would select bit 5 (value of 32). The command line 
  3303. ATS95=32J<CR> will then enable the COMPRESSION negotiation messages.
  3304.  
  3305. Refer to the Wn and Xn commands for additional and related information. 
  3306.  
  3307. S97     V.32 Automode V.22/V.22bis Probe Timing
  3308.  
  3309. S97 sets the duration of the signal used by the modem in the answer mode 
  3310. during a V.32 automode handshake to determine if the calling modem is of 
  3311. V.22 or V.22bis type. The value of S97 also sets the time during which 
  3312. the modem will reject the V.22/V.22bis probe signal when executing the 
  3313. V.32 automode handshake in the originate mode. The range of S97 values 
  3314. is 15 to 70, representing 1.5 to 7.0 seconds. The default value of 30 
  3315. (3.0 seconds) provides the timing necessary to connect to most V.22bis 
  3316. compatible modems. When compatibility with V.32 "late connecting modems" 
  3317. is a primary requirement, S97 should be set to 15. This value is also 
  3318. compatible with the timing specified in CCITT recommendation V.22bis.
  3319.  
  3320. S105     Link Layer (N401/V.42 or N1/X.25) Frame Size Selector;
  3321.  
  3322. S105 sets the maximum frame size (N401 in V.42, N1 in X.25) according to 
  3323. the following parameter value-to-frame size (in bytes) conversions:
  3324.  
  3325. Value    Explanation
  3326. ------------------------------------------------------------------------
  3327. 4        16 bytes
  3328. 5        32 bytes
  3329. 6        64 bytes
  3330. 7        128 bytes (default)
  3331. 8        256 bytes
  3332. 9        512 bytes
  3333. ------------------------------------------------------------------------
  3334.  
  3335. S108     Signal Quality Selector;
  3336.  
  3337. S108 sets the signal quality required for the modem handshake at the 
  3338. highest designated V.32bis speed and for automatic rate re-negotiation. 
  3339. If the modem determines during a carrier handshake or connection that 
  3340. the signal quality is less than that specified by the value assigned to 
  3341. S108, the modem will attempt to connect at the next lower carrier speed 
  3342. specified by S109 - unless the N0 command has been selected. If the N0
  3343. command has been selected, then only the carrier speed specified by S37 
  3344. is used. This register only affects V.32bis connections. (Refer to the 
  3345. discussion of rate re-negotiation in the description of register S110 
  3346. for related information.)
  3347.  
  3348. Value   Explanation
  3349. ------------------------------------------------------------------------
  3350. 0       No limit.
  3351. 1       Low quality.
  3352. 2       Medium quality.
  3353. 3       High quality.
  3354. ------------------------------------------------------------------------
  3355.  
  3356. S109     V.32bis Carrier Speed Selector
  3357.  
  3358. S109 controls the speeds available for V.32bis carrier handshake, 
  3359. retrains, and  rate re-negotiation. This permits disabling speeds lower 
  3360. than the highest carrier speed while enabling the highest carrier speed 
  3361. or other carrier speeds. (Refer to the discussion of rate re-negotiation 
  3362. in the description of register S110 for related information.)
  3363.  
  3364. S37 selects the highest carrier speed. If the N0 command is selected, 
  3365. the carrier speed specified by S37 and one of the carrier speeds 
  3366. specified by S109 must match; the modem will connect only at that 
  3367. carrier speed. While the modem is in V.32bis mode, the S37 and N0 
  3368. command settings do not affect the modem speed during retrain or rate 
  3369. re-negotiation procedures. 
  3370.  
  3371. Caution: If speed negotiation is disabled by the N0 command and S37 
  3372. indicates a V.32bis speed that is not enabled by S109, then the modem 
  3373. will not connect. N0 and S37 have no effect during retrains and rate re-
  3374. registration.
  3375.  
  3376. Decimal    Explanation
  3377. Value
  3378. -------------------------------------------------------------------------
  3379. 1          reserved
  3380. 2          4800 bps
  3381. 4          7200 bps
  3382. 8          9600 bps
  3383. 16         12000 bps
  3384. 32         14400 bps
  3385. 64         reserved
  3386. 128        reserved
  3387. ------------------------------------------------------------------------
  3388. Note: The decimal values may be added to specify several speeds from 
  3389. which the modem can choose. For example, the factory default is 62 which 
  3390. is the addition of decimal values 2, 4, 8, 16, and 32 (2+4+8+16+32=62). 
  3391.  
  3392. S110     V.32/V.32bis Selector
  3393.  
  3394. The V.32 and V.32bis carrier handshake procedures are compatible. The 
  3395. rate sequence (defined in V.32 and V.32bis) contains bit combinations 
  3396. that specify which procedure shall be used. S110 provides control of 
  3397. that selection for users who want to disable automatic rate re-
  3398. negotiation or limit the carrier handshake procedure to that specified 
  3399. by V.32. (Refer to the description of registers S108 and S109 for 
  3400. related information.)
  3401.  
  3402. When the value of S110 is 0, the V.32 handshake procedure follows. This 
  3403. means that rate re-negotiation, which is allowed by V.32bis, is 
  3404. disabled, and the &U command determines whether or not Trellis coding is 
  3405. enabled. 
  3406.  
  3407. When the value of S110 is 1, the V.32bis handshake is enabled, but 
  3408. automatic rate re-negotiation (defined on the next page) is disabled. 
  3409. The modem shall respond to a rate re-negotiation request from the other 
  3410. end.
  3411.  
  3412. When the value of S110 is 2 (factory-setting), V.32bis handshake and 
  3413. automatic rate re-negotiation are enabled.
  3414.  
  3415. Value  Explanation
  3416. ------------------------------------------------------------------------
  3417. 0      V.32 enabled.
  3418. 1      V.32bis enabled.
  3419. 2      V.32bis and automatic rate re-negotiation enabled.
  3420. ------------------------------------------------------------------------
  3421.  
  3422. Retrain and rate re-negotiation may be initiated, as follows, by either 
  3423. modem involved in a V.32bis connection. 
  3424.  
  3425. Rate Re-Negotiation:
  3426.  
  3427. Rate re-negotiation may be initiated by the other end modem, manually by 
  3428. the O3 command (while in the on-line command state), and by the modem 
  3429. when the signal quality or frame error rate indicate a lower or higher 
  3430. speed should be used.
  3431.  
  3432. When in the V.32bis mode, the modem always responds to a rate re-
  3433. negotiation request from the other modem. The speeds to be indicated to 
  3434. the other modem correspond to the speeds allowed by S109.
  3435.  
  3436. Automatic Rate Re-negotiation:
  3437.  
  3438. Retrains and rate re-negotiation initiated by the modem are called 
  3439. "automatic" retrains or rate re-negotiations, respectively. Automatic 
  3440. rate re-negotiation is always disabled when:
  3441.  
  3442.      *the &X1 command is selected and the modem is in the synchronous 
  3443. mode (&Q1, &Q2, or &Q3 selected) or 
  3444.      *the modem is in asynchronous mode (&Q0 selected). 
  3445.  
  3446. When the modem recognizes that signal quality has dropped, the modem may 
  3447. (if enabled by the &B1 command or the value of S110) initiate a retrain 
  3448. or rate re-negotiation. The procedure is to try a retrain first. If that 
  3449. does not yield acceptable signal quality or frame error rate, the modem 
  3450. will try to re-negotiate a lower speed.
  3451.  
  3452. Line speed changes are only allowed when the modem is using a constant 
  3453. DTE speed and in synchronous mode when the modem controls the DTE speed. 
  3454. That is, rate re-negotiation speed changes are allowed only when the 
  3455. &Q4, &Q5, or &Q6 command is selected and when the &X0 or &X2 commands 
  3456. and one of the synchronous mode commands (&Q1, &Q2, or &Q3) are 
  3457. selected.
  3458.  
  3459. AutoSync Mode:
  3460.  
  3461. Increases in line speed are allowed when AutoSync is in use only to the 
  3462. extent that the current DTE speed will support AutoSync. The following 
  3463. DTE speeds are required for the indicated line speeds, and are 
  3464. established when the initial connection is made. If the line speed is 
  3465. reduced from the initial line speed of a call, then the DTE speed will 
  3466. always support a return to the initial line speed. The following table 
  3467. shows the maximum line speeds (in bps) that will be supported by initial 
  3468. AutoSync DTE speeds.
  3469.  
  3470. Maximum AutoSync Line Speeds
  3471. Initial line speed    DTE speed      Maximum line speed
  3472. ------------------------------------------------------------------------
  3473. 4800                  9600           4800
  3474. 7200                  19200          12000
  3475. 9600                  19200          12000
  3476. 12000                 34400          14400
  3477. 14400                 34400          14400
  3478. ------------------------------------------------------------------------
  3479.  
  3480. Error-control Mode:
  3481.  
  3482. When error correction is provided by the modem, automatic rate re-
  3483. negotiation, if enabled, is based on the current frame error rate.
  3484.  
  3485. Non Error-control Mode:
  3486.  
  3487. Automatic rate re-negotiation is based on signal quality when the modem 
  3488. is using a constant DTE speed and not providing error correction and 
  3489. when the modem is operating in synchronous mode. That is, 1) when the 
  3490. &Q6 command is selected, or 2) &Q4 is selected and BSC mode is in use, 
  3491. or 3) the &X0 command is selected and the modem is in &Q1, &Q2, or &Q3 
  3492. mode.
  3493.  
  3494. Rate changes may be attempted according to the following:
  3495.  
  3496.      *If the signal quality falls below the limit set by S108, first try 
  3497. a retrain. If the signal quality stays below the limit, attempt the next 
  3498. lower speed if that speed is allowed by S109.
  3499.      *Never attempt to increase the line speed.
  3500.  
  3501. Note: Sometimes a rate re-negotiation attempt will not produce a 
  3502. different speed because the speeds which the distant modem has enabled 
  3503. match the local modem speeds only at the current speed.
  3504.  
  3505. DTE Interface Leads:
  3506.  
  3507. Depending on the settings of &Q, and &R, interface leads CTS (circuit 
  3508. 106) and RD (circuit 104) may be clamped when a retrain or rate re-
  3509. negotiation process starts, and released when the process is completed.
  3510.  
  3511. S115      V.25bis Auto-answer and Character Format Options
  3512. S115 is a bit-mapped register that specifies which auto-answer and 
  3513. character format methods the modem will use during V.25bis operation. The 
  3514. range of values for this register is 0-3, with a factory setting of 0. 
  3515.  
  3516. Value             Explanation
  3517. -----------------------------------------------------------------------
  3518. 0                 Use &E1 parity and V.25bis auto-answer. 
  3519. 1                 Use 7E1 parity and alternate auto-answer method. 
  3520. 2                 Use 8N1 parity and V.25bis auto-answer. 
  3521. 3                 Use 8N1 parity and alternate auto-answer method. 
  3522. -----------------------------------------------------------------------
  3523.  
  3524. The bit values for S115 specify the following:
  3525.  
  3526. Bit Value         Definition
  3527. -----------------------------------------------------------------------
  3528. bit 0=0           Specifies V.25bis auto-answer, which does the following:
  3529.                   * Auto-answer after two rings unless a DIC (disregard 
  3530.                   incoming call) is received for the DTE before the second 
  3531.                   ring of a pending call*. 
  3532.                   * Answer if a CIC (connect incoming call) is received 
  3533.                   during a pending call. 
  3534.                   * Inhibit auto-answer if DIC is received during the 
  3535.                   currebt pending call. 
  3536.                   * Issue an INV (invalid command) result code if a DIC or 
  3537.                   CIC is received between pending calls. 
  3538.                   
  3539. bit0=1            Specifies an alternate auto-answer method, which does 
  3540.                   the following:                 
  3541.                   * Auto-answer as specific by the S0 register. 
  3542.                   * Answer if a CIC is received while an incoming call is 
  3543.                   pending (regardless of the S0 setting). 
  3544.                   * Inhibit auto-answer if a DIC is received during the 
  3545.                   pending call.   
  3546.                   * Issue an INV result code if a DIC or a CIC is received 
  3547.                   between pending calls. 
  3548.                   
  3549. bit 1=0           Specifies 7 data bits, even parity, and one stop bit. 
  3550. bit1=1            Specifies 8 data bits, no parity, and one stop bit. 
  3551. -----------------------------------------------------------------------
  3552. Note: The term "pending call" means the period of time when an incoming 
  3553. call attempt is active, which is indicated when S1 contains a non-zero 
  3554. value and which is true from the first ring until 8 seconds of no ringing 
  3555. has been detected. 
  3556.  
  3557. S120      Auto Answer Control through DTR
  3558. S120 controls how DTR is used during auto answer. The range for S20 is 0 
  3559. to 2, with a factory-set default of 0 (zero).
  3560.  
  3561. Value       Explanation
  3562. -----------------------------------------------------------------------
  3563. 0           If &D2 with &Q2 (or &Q4) is in effect, then DTR must be high 
  3564.             in order to permit S0 to enable auto-answer.   
  3565. 1           DTR is not required to enable auto-answer. 
  3566. 2           DTR must be on in order to enbable auto-answer. 
  3567. -----------------------------------------------------------------------
  3568.  
  3569. *************************************************************************
  3570. 1.4      Additional AT Command Definitions
  3571.  
  3572. AT Command Prefix
  3573. Modem commands begin with an AT prefix that gets the modem's attention. 
  3574. The speed and character format at which the DTE sends this prefix tells 
  3575. the modem the speed and format for responding to commands, and at which 
  3576. speed to attempt the connection. See your modem's installation 
  3577. information for the speeds, formats, and transmission methods supported 
  3578. by your modem.
  3579.  
  3580. +++ Escape Sequence
  3581.  
  3582. The patented escape sequence with guard time mechanism (U.S. Patent 
  3583. #4,549,302) returns the modem to the command state from the on-line 
  3584. state.
  3585.  
  3586. The escape sequence with guard time can be used when the modem is on-
  3587. line and you need to enter commands to the modem, but you do not want to 
  3588. disconnect from a call. The escape sequence with guard time ensures that 
  3589. the modem connection will not be dropped and no data will be lost while 
  3590. the modem is off-line in the command state.
  3591.  
  3592. Because of this patented invention, intelligent modems can provide 
  3593. reliable transmission of data, distinguishing the predetermined escape 
  3594. sequence characters from the random occurrence of like characters in 
  3595. user data. 
  3596.  
  3597. A guard time must precede and follow the escape sequence to prevent the 
  3598. modem from interpreting similar data (for example, another series of 
  3599. plus (+) characters) as the escape sequence. The default guard time is 1 
  3600. second.
  3601.  
  3602. To enter the escape sequence with guard time, pause a little longer than 
  3603. the guard time, then type:
  3604.  
  3605.                            +++ 
  3606.  
  3607. Then pause again a little longer than the guard time. The guard time 
  3608. pauses before and after the escape sequence, ensure that the modem will 
  3609. distinguish the escape sequence from random user data.
  3610.  
  3611. When you receive OK from the modem, which acknowledges that it has 
  3612. "escaped" from the on-line data state, you may enter AT commands.
  3613. When you are ready to resume your call to a remote system, type:
  3614.  
  3615.                           ATO <CR>
  3616.  
  3617. This is the command to return on-line.
  3618.  
  3619. The escape sequence character and the guard time interval can be changed 
  3620. by assigning different values to registers S2 (for the escape character) 
  3621. and S12 (for the guard time).
  3622.  
  3623. <CR> End-of-line Character
  3624.  
  3625. <CR> represents the key on your keyboard that terminates the command 
  3626. line. The key enabling this function is determined by the value stored 
  3627. in S3. The factory setting is ASCII 13, the carriage return character. 
  3628. When the end-of-line character is entered, the modem executes the 
  3629. commands that follow the AT prefix. In this reference, this key is 
  3630. referred to as <CR>. For example, the command line ATV0 <CR> gets the 
  3631. modem's attention, then instructs the modem to display its responses to 
  3632. commands (result codes) as numbers.
  3633.  
  3634. A/ Repeat Last Command
  3635.  
  3636. A/ re-issues the command string most recently placed in the command 
  3637. buffer. This keystroke combination can be used to re-issue the command 
  3638. string last entered. For example, the A/ (if permitted by your local 
  3639. telephone system) is useful as a re-dial function.
  3640.  
  3641. ========================================================================
  3642. CHAPTER 2     X.25 COMMUNICATIONS
  3643.  
  3644. This chapter includes information about the use of X.25 communications 
  3645. with V-series products. The command and parameter descriptions are more 
  3646. detailed than those offered in the user documentaion. 
  3647. Also included are four recommended PAD (Packet Assembler/Disassembler) 
  3648. profiles that can be recalled from memory to use with the modem's PAD. 
  3649.  
  3650. The factory settings and available options/ranges for these commands and 
  3651. parameters are provided here because they are the same for all Hayes 
  3652. Products that support the X.25 feature.
  3653.  
  3654. ************************************************************************
  3655. 2.1     Modem Configuration for X.25 Communications
  3656.  
  3657. X.25 connections begin the same as point-to-point connections - with a
  3658. modem call to a remote system. Your modem is configured from the factory 
  3659. to automatically negotiate the best point-to-point error-control 
  3660. connection. If the purpose of the call is to establish a link with an 
  3661. X.25 network, the modem must be re-configured with several S-registers.
  3662.  
  3663. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  3664. 2.1.1     Controlling Automatic Feature Negotiation
  3665.  
  3666. The S-registers which control and specify a connection are described in 
  3667. the sections that follow. An overview of the connection options that can 
  3668. be set with S-registers is provided in the chart below.
  3669.  
  3670. Communication Environment           &Q   S36   S44   S46   S48
  3671. ------------------------------------------------------------------------
  3672. X.25 enabled (use X.25 if remote    5    0     3     6     3
  3673. system has X.25; otherwise,
  3674. use LAPB point-to-point 
  3675. connection).
  3676. X.25 only (point-to-point           5    0     3     134   3
  3677. connection).
  3678. X.25 network without feature        5    0     3     6     0
  3679. negotiation.
  3680. X.25 network with feature           5    0     3     6     3
  3681. negotiation.
  3682. X.25 network with feature           5    0     2     6     3
  3683. negotiation and AFT.
  3684. -------------------------------------------------------------------------
  3685.  
  3686. The suggested configuration for establishing a synchronous X.25 
  3687. connection with a packet-switched network or a remote Hayes product 
  3688. that supports X.25, can be selected with AT&Q5 S44=3 S46=6 S48=0 <CR>. 
  3689. Refer to the "S-register Listing" in Chapter 1 for a description of the 
  3690. registers that can be used to configure the modem.
  3691.  
  3692. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  3693. 2.1.2     PAD Channel Selection
  3694.  
  3695. The &O command is used to move from the AT command state to the PAD 
  3696. command state in order to issue PAD commands. The optional channel 
  3697. number identifies the desired virtual channel number. If the virtual 
  3698. channel number is zero (&O0), or not specified (&O), the last channel 
  3699. number accessed is used. Each time &O is issued, it resets the current 
  3700. PAD before it enters the PAD command state (provided a virtual 
  3701. connection is established).
  3702.  
  3703. Once the PAD command state is entered, the CHAN command can be used to 
  3704. switch among the PAD command states of the four virtual channels.
  3705.  
  3706. If an X.25 connection has already been established and you have escaped 
  3707. to the AT command state, the PROTOCOL and CONNECT result codes are 
  3708. transmitted to your terminal. The ERROR result code is transmitted if 
  3709. the modem is on-line but not in X.25 mode (e.g., modem is in error-
  3710. control/LAPB mode).
  3711.  
  3712. Example of &O commands use:
  3713.  
  3714. String       Result Code/Explanation
  3715. ------------------------------------------------------------------------
  3716. AT&O1 <CR>   OK (PAD channel 1 selected)
  3717. AT&O9 <CR>   ERROR (value entered is out of selectable range)
  3718. ------------------------------------------------------------------------
  3719.  
  3720. See the description of the &O command in the "AT Command Listing" in 
  3721. Chapter 1.
  3722.  
  3723. ************************************************************************
  3724. 2.2     PAD Configuration
  3725.  
  3726. Like your modem, the PAD can be configured according to the 
  3727. communications requirements of the remote systems you call. 
  3728.  
  3729. Although a small number of S-registers control some PAD options
  3730. (packet and window sizes, for example), the PAD is primarily 
  3731. configured with separate memory locations. A set of PAD parameters can 
  3732. be configured for each channel. The set consists of standard X.25 PAD 
  3733. parameters and National PAD parameters.
  3734.  
  3735. Although the PAD's factory-set configuration will be suitable for many 
  3736. applications, sets of predefined PAD parameter settings can be defined 
  3737. as profiles to be recalled for later use.
  3738.  
  3739. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  3740. 2.2.1     PAD Commands
  3741.  
  3742. Each PAD command consists of characters and occasionally symbols that 
  3743. specify the command's action. Like the AT command line, you can place as 
  3744. many as 255 characters on a single PAD command line.
  3745.  
  3746. The only exception to this format is the EXEC command. This command for 
  3747. storing and executing a series of instructions to configure the PAD uses 
  3748. a plus sign (+) to tie commands together in the command string. When 
  3749. these commands are executed, the plus signs are treated as carriage 
  3750. returns. For more on storing a PAD configuration with the EXEC command, 
  3751. see "PAD Profiles."
  3752.  
  3753. Issuing PAD commands
  3754.  
  3755. PAD commands are typed at the PAD prompt, then entered with <CR>. This 
  3756. action and most other conventions for editing a line and entering 
  3757. commands are the same as those used when issuing AT commands.
  3758.  
  3759. PAD command format
  3760.  
  3761. Each PAD command consists of characters and occasionally symbols that 
  3762. specify what the command will do. A PAD command is typed on the command 
  3763. line, then entered using the carriage return key (factory setting for 
  3764. S3). 
  3765.  
  3766. When you type in a command, the PAD ignores spaces, delete characters, 
  3767. control characters, and upper/lower case. For example, the commands 
  3768. RESET, RE SET, and reset are all interpreted as the same command. The 
  3769. backspace key can be used to correct any mistakes made while entering a 
  3770. command. In this chapter, the following symbols are used when describing 
  3771. PAD commands.
  3772.  
  3773. Symbol     Meaning
  3774. ------------------------------------------------------------------------
  3775. [ ]        Indicates optional parameters, parameters which can be 
  3776.            entered with the PAD command.
  3777. < >        Indicates a named parameter, such as a user ID requested by 
  3778.            the network.
  3779. ...        Indicates a repeated item within brackets, for example the 
  3780.            command PAR? [<parameter>][,<parameter>...].
  3781. ------------------------------------------------------------------------
  3782.  
  3783. These symbols represent the kinds of information that can accompany a 
  3784. PAD command. Do not type these symbols when entering a PAD command. 
  3785.  
  3786. Any characters that appear with a PAD command, other than the symbols 
  3787. mentioned above, are interpreted literally. For example, the command: 
  3788. ACC [R] [<facility> -] is interpreted:
  3789.  
  3790. Symbol          Meaning
  3791. ------------------------------------------------------------------------
  3792. ACC             Issue the Accept command which indicates that you want
  3793.                 to accept a call.
  3794. [R]             Include an optional parameter (R) instructing network
  3795.                 that you will accept charges for the call if requested.
  3796. [<facility> -]  Include an optional facility parameter, such as your 
  3797.                 user ID, or some other information required by the 
  3798.                 network. Several facilities can be strung together, 
  3799.                 separating each by a comma and ending the string with 
  3800.                 a hyphen (-).
  3801. ------------------------------------------------------------------------
  3802.  
  3803. PAD commands are of two types: those used for call related activities, 
  3804. such as placing a call, answering a call, initializing and changing 
  3805. channels, etc., and those used to configure the PAD. These commands can 
  3806. be used in the following ways:
  3807.  
  3808. *  place and answer calls (CALL, ACC)
  3809. *  move between channels (CHAN, EXIT)
  3810. *  create, save, and execute a PAD command string (EXEC)
  3811. *  clear and initialize channels (CLR, INT)
  3812. *  display the current status of a call (STAT) 
  3813. *  display one of several available PAD configuration profiles (PROF) 
  3814. *  display the current settings of the PAD's parameters (PAR?) 
  3815. *  display the current settings of the remote system's PAD parameters 
  3816. (RPAR?) 
  3817. *  set and read the value of specific PAD parameters (SET, SET?)
  3818. *  set and read the value of specific PAD parameters of the remote 
  3819. system (RSET, RSET?)
  3820.  
  3821. The commands supported by the PAD are listed in the following sections. 
  3822. Each command is defined with sample formats, allowable parameters, and 
  3823. possible result codes for the command.
  3824.  
  3825. ACC - Accept Call Command
  3826.  
  3827. When you have established a connection to the network node and a remote 
  3828. system on the network wants to call you, a PAD result code is sent to 
  3829. your computer announcing the incoming call. Enter the ACC command to 
  3830. accept the call and establish a virtual connection. 
  3831.  
  3832. To configure the PAD to automatically answer incoming calls, use the 
  3833. EXEC command described following this command.
  3834.  
  3835. Example Format
  3836. ------------------------------------------------------------------------
  3837. ACC [R] [<facility>]
  3838. ------------------------------------------------------------------------
  3839.  
  3840. Parameter      Description
  3841. ------------------------------------------------------------------------
  3842. [R]            Instructs the network that you will accept charges for 
  3843.                the call if requested to do so
  3844. <facility>     Represents optional call facilities which may be entered
  3845. -----------------------------------------------------------------------
  3846.  
  3847. Result Codes:     Description
  3848. ------------------------------------------------------------------------
  3849. CON               ACC received.
  3850. ERR               Invalid command format, or command not entered in 
  3851.                   response to an incoming call, or virtual connection 
  3852.                   not established.
  3853. -----------------------------------------------------------------------
  3854.  
  3855. CALL - Call Command
  3856.  
  3857. The CALL command is the PAD command you use to make a virtual connection 
  3858. to a remote system. Once the PAD is configured, this is the primary 
  3859. command you will use.
  3860.  
  3861. Once a physical connection to the X.25 network has been established, a 
  3862. virtual connection to the remote system is made with the CALL command. 
  3863. If the call is accepted by the remote system, the PAD enters the data 
  3864. transfer state. If the call is not accepted, a "call cleared" response 
  3865. is sent and the PAD remains in the PAD command state.
  3866.  
  3867. Example Formats
  3868. -----------------------------------------------------------------------
  3869. CALL
  3870. [CALL] [<facility>] [<called> [,[<calling>] [,<lcn>] ] ]
  3871. [CALL] <facility> D <user_data>
  3872. [CALL] <called> D <user_data>
  3873. [CALL] <facility> <called> [,[<calling>] [,<lcn>] ] D <user_data>
  3874. ------------------------------------------------------------------------
  3875.  
  3876. Parameter     Description
  3877. ------------------------------------------------------------------------
  3878. <facility>    One or more call parameter facilities that can be 
  3879.               strung together on a command line and separated by 
  3880.               commas; the last facility is followed by a hyphen (-).
  3881. <called>      Represents remote system's address containing up to 15
  3882.               digits (0-9).
  3883. <calling>     Represents source address containing up to 15 digits (0-9).
  3884. <lcn>         X.25 logical channel number (1-4095).
  3885. <user_data>   Character string containing up to 12 ASCII characters.
  3886. -----------------------------------------------------------------------
  3887.  
  3888. Result Codes    Description
  3889. ------------------------------------------------------------------------
  3890. ERR             Call cannot be placed due to call in progress; or
  3891.                 virtual connection not established.
  3892. CLR             Remote PAD cleared virtual connection; may be followed 
  3893.                 by a string of diagnostic characters.
  3894. CON             Call connected; may be followed by a string of 
  3895.                 diagnostic characters.
  3896. ------------------------------------------------------------------------
  3897.  
  3898. Call Facilities
  3899.  
  3900. In the above CALL command formats, notice the <facility> field. This 
  3901. field is provided to specify "call facilities." A call facility is an 
  3902. optional parameter that can be specified to meet a network's 
  3903. requirements, such as entering a network user ID (NUI), or indicating 
  3904. that charges are to be reversed (R). 
  3905.  
  3906. When subscribing to a packet-switched network, you are informed of the 
  3907. required or permitted call facilities. In order to respond to your CALL 
  3908. command, different networks may require specific call facilities.
  3909.  
  3910. Any of the following call facilities can be entered with the CALL 
  3911. command. When two or more facilities are entered on a line, they are 
  3912. separated by commas. A hyphen (-) terminates the string. For example: 
  3913. CALL R,N, -.
  3914.  
  3915. The table below provides a description of the available call facilities.
  3916.  
  3917. Call Facility    Description
  3918. ------------------------------------------------------------------------
  3919. R                Instructs network that you will accept charges for the 
  3920.                  call if requested to do so.
  3921. N <NUI>          Provides network with network user ID, identifying the 
  3922.                  caller to the network.
  3923. T <RPOA>         Specifies which networks the data packets take to their
  3924.                  destination. Any number of addresses may be specified;
  3925.                  each address is four digits (0-9). RPOA stands for 
  3926.                  "Recognized Private Operating Agencies."
  3927. P <num>          Requested maximum packet size according to the 
  3928.                  following packet size-to-bytes conversions: P4=16,
  3929.                  P5=32, P6=64, P7=128, P8=256, P9=512. If P is not 
  3930.                  specified, the default value (128) of National PAD 
  3931.                  Parameter 100 is used.
  3932. W <num>          Requested maximum window size (2-7). If W is not
  3933.                  specified, the default value (2) of National PAD 
  3934.                  parameter 101 is used.
  3935. X <hex>          Hexadecimal data (0-9, A-F). Caution: Putting data 
  3936.                  directly into the facilities field of the call packet,
  3937.                  specifies facility codes not directly supported by the 
  3938.                  modem.
  3939. ------------------------------------------------------------------------
  3940.  
  3941. CHAN - Channel Selection Command
  3942.  
  3943. Use the CHAN command to switch from one virtual channel to another. The 
  3944. modem remains in the PAD command state.
  3945.  
  3946. Example Format
  3947.  
  3948. CHAN <channel>
  3949. Parameter     Description
  3950. ------------------------------------------------------------------------
  3951. <channel>     Specifies which virtual channel to switch to, indicated
  3952.               by an ASCII digit (1-4)
  3953. -----------------------------------------------------------------------
  3954.  
  3955. Result Codes:     Description
  3956. ------------------------------------------------------------------------
  3957. ERR               Invalid <channel> specified
  3958. ------------------------------------------------------------------------
  3959.  
  3960. CLR - Clear Channel Command
  3961.  
  3962. After a virtual connection has been established, the CLR command can be 
  3963. used to clear (disconnect) a call on a virtual channel and place that 
  3964. channel in the PAD command state.
  3965.  
  3966. Example Format
  3967. -----------------------------------------------------------------------
  3968. CLR [X <extended_codes> -] [<diagnostic_code>]
  3969. -----------------------------------------------------------------------
  3970.  
  3971. Parameters          Description
  3972. -----------------------------------------------------------------------
  3973. <extended_codes>    Hexadecimal data (0-9, A-F) supporting facilities 
  3974.                     not supported by the Hayes modem supporting the X.25 
  3975.                     feature.
  3976. <diagnostic_code>   String of up to three digits from a range of 1-255,
  3977.                     indicating the error that has occurred.
  3978. -----------------------------------------------------------------------
  3979.  
  3980. Result Codes      Description
  3981. -----------------------------------------------------------------------
  3982. ERR               Virtual connection not established on this channel, or
  3983.                   invalid parameter entered.
  3984. ------------------------------------------------------------------------
  3985.  
  3986. EXEC - Execute String Command
  3987.  
  3988. The EXEC command is used to define and save a PAD command and then 
  3989. automatically execute it when a physical connection to a network node is 
  3990. established. EXEC is commonly used to define the CALL command. Another 
  3991. common use of EXEC is to automatically answer an incoming call. 
  3992.  
  3993. The string stored in each virtual channel as the factory setting is 
  3994. ANS+ACC, which instructs the PAD to answer and accept incoming calls to 
  3995. the channel. To display the string currently stored, you can issue EXEC? 
  3996. <CR>.
  3997.  
  3998. Sample EXEC Sequence:
  3999.  
  4000. To use the EXEC command, from the PAD command state type EXEC <CR>. The 
  4001. PAD will display the prompt: EXEC>. After the prompt, enter the PAD 
  4002. command you wish to save. For example:
  4003.  
  4004. EXEC> CALL R- 3110 20200202 <CR>
  4005.  
  4006. This stores a CALL command for connecting to a packet-switched network. 
  4007. As soon as the modem establishes a physical connection to the network 
  4008. node, the EXEC string is processed, placing the call.
  4009.  
  4010. In the EXEC string that you define, plus signs can be used to separate 
  4011. multiple commands. When the EXEC string is executed, the plus signs are 
  4012. treated like carriage returns. For example, the following EXEC string 
  4013. defines how the PAD will respond to an incoming call from remote system:
  4014.  
  4015. EXEC> ANS+PROF VSM+SET 0:0,74:1+ACC <CR>
  4016.  
  4017. In this EXEC string, the PAD is instructed to:
  4018.  
  4019. ANS          Respond to an incoming call request.
  4020. PROF VSM     Load the emulation PAD profile.
  4021. SET 0:0      Set the National marker in order to change a National PAD
  4022.              parameter.
  4023. 74:1         Change National parameter 74 to 1.
  4024. ACC          Accept the call.
  4025.  
  4026. In another example:
  4027.  
  4028. EXEC>ANS+ACC+Welcome to Hayes/M/JX.25//dial-up!/M/J <CR>
  4029.  
  4030. the PAD is instructed to:
  4031.  
  4032. ANS     Respond to an incoming call request.
  4033. ACC     Accept the call.
  4034.  
  4035. Welcome to Hayes/M/JX.25//dial-up!/M/J is sent to the remote system.
  4036.  
  4037. "/M" means "control M," a carriage return;
  4038. "/J" means "control J," a line feed
  4039.  
  4040. This message is received by the remote system as:
  4041.  
  4042. Welcome to hayes
  4043. X.25/dial-up!
  4044.  
  4045. To diaplay the current EXEC string (if any) stored in memory, type EXEC? 
  4046. <CR>.
  4047.  
  4048. EXIT - Exit PAD Command
  4049.  
  4050. Use the EXIT command to leave the PAD command state and enter the modem's 
  4051. AT command state. For example, if you are in the PAD command state (of any virtual channel) and you want to hang up the phone, first 
  4052. type:
  4053.  
  4054. EXIT <CR>
  4055.  
  4056. The OK result code is sent from the modem to the attached computer
  4057. then type:
  4058.  
  4059. ATH0 <CR>
  4060.  
  4061. This AT command hangs up the modem, breaking the physical connection to 
  4062. the network; the OK result code is returned if the modem hangs up before 
  4063. the network; if the network hangs up first, the NO CARRIER result code 
  4064. is returned. Hanging up clears all virtual connections still engaged.
  4065.  
  4066. INT - Interrupt Command
  4067.  
  4068. During a virtual connection, the INT command can be issued to send an 
  4069. interrupt, placing the PAD in the on-line state. Networks respond to 
  4070. interrupts differently, however. This command can result in lost data. 
  4071. It should not be used unless its use has been cleared through the 
  4072. network.
  4073.  
  4074. Example Format
  4075. -----------------------------------------------------------------------
  4076. INT
  4077. ------------------------------------------------------------------------
  4078.  
  4079. Result Codes    Description
  4080. -----------------------------------------------------------------------
  4081. <CR/LF>         The remote host has acknowledged the interrupt.
  4082. ERR             Virtual connection not established on this channel.
  4083. -----------------------------------------------------------------------
  4084.  
  4085. PAR? - Read Parameter Command
  4086.  
  4087. The PAR? command displays the current settings of the local PAD. 
  4088. Settings for selected PAD parameters can be requested or if the command 
  4089. is issued with no parameters, the settings for all twenty-two PAD 
  4090. parameters are requested.
  4091.  
  4092. Note: To display the settings for the National PAD parameters, enter a 
  4093. zero (0) after the command (PAR?0).
  4094.  
  4095. Example Format
  4096. -----------------------------------------------------------------------
  4097. PAR? [<parameter>] [,<parameter>...]
  4098. ------------------------------------------------------------------------
  4099.  
  4100. Parameter     Description
  4101. -----------------------------------------------------------------------
  4102. <parameter>   Number of specific PAD parameter settings to display. If 
  4103.               no PAD parameters are specified, the settings for all 22 
  4104.               PAD parameters are displayed. Enter a zero (0) to display 
  4105.               the settings for all of the National PAD parameters.
  4106. -----------------------------------------------------------------------
  4107.  
  4108. Result Codes      Description 
  4109. -----------------------------------------------------------------------
  4110. ERR               Invalid command format.
  4111. <parameter>:INV   Invalid parameter entered. For example, if PAR?40 were 
  4112.                   typed, PAR 40:INV would be displayed since 40 is out 
  4113.                   of the range 1-22.
  4114. ------------------------------------------------------------------------
  4115.  
  4116. For example, issuing PAR? 1,4,0,70,71 displays the current settings for 
  4117. the specified parameters (1,4,0,70, 71) of the local PAD: PAR 1:0, 4:0, 
  4118. 0:0, 70:1, 71:0 
  4119.  
  4120. If no parameters are specified: PAR? the settings for all twenty-two PAD 
  4121. parameters are displayed:
  4122.  
  4123. PAR 1:0, 2:0, 3:0, 4:0, 5:0, 6:5, 7:5, 8:0, 9:0, 10:0, 11:14,12:0, 13:0, 
  4124. 14:0, 15:0, 16:8, 17:24, 18:18, 19:1, 20:65, 21:0,22:0
  4125.  
  4126. PROF - PAD Profile Command
  4127.  
  4128. A "profile" is a predefined collection of PAD parameter settings used 
  4129. for a virtual connection, similar to the profiles that can be defined 
  4130. for the modem's general configuration. With the PROF command, one of 
  4131. four standard profiles can be selected, or a particular configuration 
  4132. can be defined and saved as a profile in nonvolatile memory.
  4133.  
  4134. Example Format
  4135. ------------------------------------------------------------------------
  4136. PROF <identifier>
  4137. ------------------------------------------------------------------------
  4138.  
  4139. Parameter       Description
  4140. ------------------------------------------------------------------------
  4141. <identifier>    Enter the alphanumeric characters that specify the 
  4142.                 profile to be recalled for the current channel.
  4143.                 Possible identifiers are:
  4144. DEF             Selects the factory default profile.
  4145. SIM             Selects CCITT simple standard profile.
  4146. TRA             Selects CCITT transparent standard profile.
  4147. VSM             Selects error-control/LAPB emulation profile.
  4148. NVM             Selects the profile saved in nonvolatile memory.
  4149. SAV             Saves the current PAD configuration profile in 
  4150.                 nonvolatile memory.
  4151. -----------------------------------------------------------------------
  4152.  
  4153. Result Codes      Description
  4154. ------------------------------------------------------------------------
  4155. ERR               Invalid <identifier>
  4156. ------------------------------------------------------------------------
  4157.  
  4158. The Emulation Profile is automatically set if feature 
  4159. negotiation results in an error-control/LAPB connection on virtual 
  4160. channel 1 (error-control/LAPB connections always use virtual channel 1). 
  4161. The configuration profile is automatically restored to its factory 
  4162. setting when the the modem hangs up.
  4163.  
  4164. To create a profile, use the CHAN command to move to the desired 
  4165. channel. For example, issue CHAN3 <CR> to move to channel 3. At the 
  4166. prompt, type in the PAD parameters you want to adjust and store, issuing 
  4167. them with <CR>. To save the settings as a profile, issue PROF SAV <CR>.
  4168.  
  4169. RESET - PAD Reset Command
  4170. A "profile" is a predefined collection of PAD parameter settings used 
  4171. for a virtual connection, similar to the profiles that can be defined 
  4172. for the modem's general configuration. With the PROF command, one of 
  4173. four standard profiles can be selected, or a particular configuration 
  4174. can be defined and saved as a profile in nonvolatile memory.
  4175.  
  4176. Example Format
  4177. ------------------------------------------------------------------------
  4178. RESET [ <diagnostic> ]
  4179. -----------------------------------------------------------------------
  4180.  
  4181. Parameter        Description
  4182. -----------------------------------------------------------------------
  4183. <diagnostic>     String of up to three numeric digits from a range of 
  4184.                  0-255 indicating an error has occurred.
  4185. -----------------------------------------------------------------------
  4186.  
  4187. Result Codes      Description
  4188. -----------------------------------------------------------------------
  4189. ERR               Virtual connection not established on this channel.
  4190. ------------------------------------------------------------------------
  4191.  
  4192. RPAR? - Read Remote PAD Parameter Command
  4193.  
  4194. To display the current settings of the remote system's PAD parameters, 
  4195. use the RPAR? command. If no parameters are specified, the settings for 
  4196. all of the remote system's PAD parameters are displayed.
  4197.  
  4198. Example Format
  4199. ------------------------------------------------------------------------
  4200. RPAR? [<parameter>] [,<parameter>...]
  4201. ------------------------------------------------------------------------
  4202.  
  4203. Parameter        Description
  4204. ------------------------------------------------------------------------
  4205. <parameter>      Specifies the remote system's PAD parameter(s) to
  4206.                  display.
  4207. ------------------------------------------------------------------------
  4208.  
  4209. Result Codes        Description
  4210. ------------------------------------------------------------------------
  4211. ERR                 Invalid command format, or virtual connection not
  4212.                     established on this channel.
  4213. <parameter>:INV     Invalid parameter entered, or remote system does not
  4214.                     support parameter specified.
  4215. ------------------------------------------------------------------------
  4216.  
  4217. For example, issuing RPAR? 1,4,0,70,71 <CR> displays the current 
  4218. settings for the specified parameters of the remote system's PAD. The 
  4219. string: RPAR 1:0, 4:0, 0:0, 70:1, 71:0 is displayed.
  4220.  
  4221. If no parameters are specified, issuing RPAR? displays the settings for 
  4222. all of the remote system's PAD parameters.
  4223.  
  4224. RSET - Set Remote PAD Parameter Command
  4225.  
  4226. To set and display the remote system's PAD parameters, use the RSET 
  4227. command.
  4228.  
  4229. Example Format
  4230. ------------------------------------------------------------------------
  4231. RSET [?] [<parameter>:<value>] [,<parameter>:<value>] [, ...]
  4232. ------------------------------------------------------------------------
  4233.  
  4234. Parameter        Description
  4235. ------------------------------------------------------------------------
  4236. <parameter>      Specifies the number of the remote system's PAD
  4237.                  parameter you want to set/display.
  4238. <value>          Value that you want to set for the specified PAD
  4239.                  parameter.
  4240. ------------------------------------------------------------------------
  4241.  
  4242. Result Codes        Description
  4243. ------------------------------------------------------------------------                 
  4244. ERR                 Invalid command format.
  4245. <parameter>:INV     Invalid parameter or value.
  4246. ------------------------------------------------------------------------
  4247.  
  4248. For example, entering RSET 2:1 <CR> sets the remote system's PAD 
  4249. parameter 2 to a value of 1.
  4250.  
  4251. To display the setting, type: RSET? 2:1<CR>. The new parameter setting 
  4252. will be displayed: RPAR 2:1
  4253.  
  4254. STAT - Status of Current Channel Command
  4255.  
  4256. The STAT command displays the current status of a virtual connection.
  4257.  
  4258. Example Format
  4259. ------------------------------------------------------------------------
  4260. STAT
  4261. ------------------------------------------------------------------------
  4262.  
  4263. Result Codes    Description
  4264. ------------------------------------------------------------------------
  4265. FREE            No call in progress.
  4266. ENGAGED         Call in progress.
  4267. ------------------------------------------------------------------------
  4268.  
  4269. SET - Set PAD Parameter Command
  4270.  
  4271. To set (and display) the local PAD's parameters, use the SET command.
  4272.  
  4273. Example Format
  4274. ------------------------------------------------------------------------
  4275. SET [?] [<parameter>:<value>] [,<parameter>:<value>] [, ...]
  4276. ------------------------------------------------------------------------
  4277.  
  4278. Parameter     Description
  4279. ------------------------------------------------------------------------
  4280. <parameter>   Specifies the number of the PAD parameter to set/display.
  4281. <value>       Value that you want to set for the specified PAD parameter.
  4282. -----------------------------------------------------------------------
  4283.  
  4284. Result Codes       Description
  4285. -----------------------------------------------------------------------
  4286. ERR                Invalid command format.
  4287. <parameter>:INV    Invalid parameter or value.
  4288. ------------------------------------------------------------------------
  4289.  
  4290. For example, issuing SET 2:1 <CR> sets PAD parameter 2 to a value of 1.
  4291.  
  4292. To display the setting, type: SET? 2:1 <CR>. The new parameter setting 
  4293. will be displayed: PAR 2:1
  4294.  
  4295. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  4296. 2.2.2  PAD Parameters
  4297.  
  4298. PAD parameters are used to control the display and transmission of data 
  4299. over the packet-switched network. Parameters are of two types: PAD 
  4300.  
  4301. Parameters and National PAD Parameters. 
  4302.  
  4303. Twenty-two PAD parameters (1-22) and an additional set of 
  4304. "National PAD Parameters" offer configuration options. National PAD 
  4305. Parameters (numbers starting at 70) are used to support and control 
  4306. the enhanced functionality provided by the X.25 feature. 
  4307. All parameters are set and read the same way.
  4308.  
  4309. Values for some parameters are calculated by adding the bit values of 
  4310. the options you want active. For example, in PAD parameter 3, if you 
  4311. want the character set to include A-Z, a-z, 0-9 (bit value=1) and CR 
  4312. (bit value=2), you would set the PAD parameter 3 to 3.
  4313.  
  4314. A marker (0:0), called a "National Marker," is used to separate the 
  4315. National PAD Parameters from the PAD parameters. For example, in the PAD 
  4316. command: SET 1:1, 2:0, 0:0, 70:1, the characters to the right of the 
  4317. marker refer to National PAD parameters. Characters to the left of the 
  4318. National marker refer to PAD parameters.
  4319.  
  4320. Parameter 1 - PAD Recall Using a Character
  4321.  
  4322. PAD recall defines the character that will force the PAD to escape from 
  4323. the PAD on-line state and return to the PAD command state. When the PAD 
  4324. receives this character, the PAD prompt (- or *) is displayed on the 
  4325. user's terminal monitor.
  4326.  
  4327. Values    Description
  4328. ------------------------------------------------------------------------
  4329. 0          PAD cannot be recalled using a character (factory setting)
  4330. 32-126     ASCII graphic character
  4331. ------------------------------------------------------------------------
  4332.  
  4333. To send the PAD recall character as data, enter it twice. The PAD will 
  4334. remain in the on-line state.
  4335.  
  4336. Parameter 2 - Echo
  4337.  
  4338. When parameter 2 is set, all characters received from the terminal are 
  4339. echoed, excluding those specified by parameter 20 (echo mask), parameter 
  4340. 5 (ancillary device control), parameter 12 (flow control of the PAD by 
  4341. Values    Descriptionthe terminal) and parameter 22 (page wait). Setting parameters 12 or 22 
  4342. to non-zero values causes the echo of characters DC1 and DC3 (XON and 
  4343. XOFF) to be suppressed, even if parameter 2 is set to value 1.
  4344.  
  4345. Values    Description
  4346. ------------------------------------------------------------------------
  4347. 0          No echo (factory setting)
  4348. 1          Echo 
  4349. ------------------------------------------------------------------------
  4350.  
  4351. Parameter 3 - Selection of Data Forwarding Signal
  4352. The value of parameter 3 is bit-mapped; the binary bit values represent 
  4353. the character sets listed below. If the character(s) set by the 
  4354. combination of binary bit values of this parameter is received from your 
  4355. terminal, the current packet (including this character) is forwarded.
  4356.  
  4357. Values       Description
  4358. ------------------------------------------------------------------------
  4359. 0-127        Sum of bits for selected characters.
  4360. 0            No data forwarding signal (factory setting).
  4361. ------------------------------------------------------------------------
  4362.  
  4363. BIt Values    Description
  4364. ------------------------------------------------------------------------
  4365. 1             A-Z, a-z, 0-9
  4366. 2             CR
  4367. 4             ESC, BEL, ENQ, ACK
  4368. 8             DEL, CAN, DC2
  4369. 16            ETX, EOT
  4370. 32            HT, LF, VT, FF
  4371. 64            NUL, SOH, STX, BS, SO, SI, DLE, DC1, DC3, DC4, NAK, SYN,
  4372.               ETB, EM, SUB, FS, GS, RS, US, DEL
  4373. ------------------------------------------------------------------------
  4374.  
  4375. Parameter 4 - Selection of Idle Timer Delay
  4376.  
  4377. In addition to character forwarding, this parameter provides the 
  4378. capability to forward data to the host based on an idle time. If data is 
  4379. in the buffer and no additional characters have been received for the 
  4380. specified period, the buffer contents are sent to the host. Parameter 4 
  4381. is ignored if National PAD Parameter 70 (streaming data forwarding) is 
  4382. set to 1, or if parameter 15 is set to 1.
  4383.  
  4384. Values     Description
  4385. ------------------------------------------------------------------------
  4386. 0          No data forwarding on timeout. 
  4387. 1 - 255    Data forwarding on timeout of <value> multiplied by
  4388.            0.05 seconds.
  4389. 50         50 msec. timeout (factory setting)
  4390. ------------------------------------------------------------------------
  4391.  
  4392. Parameter 5 - Ancillary Device Control
  4393.  
  4394. This parameter specifies whether or not the PAD transmits XON-XOFF 
  4395. characters to the DTE. If flow control is disabled, the user must be 
  4396. careful not to overflow the PAD's buffer in order to prevent data loss. 
  4397. Local flow control is also enabled by the &K command.
  4398.  
  4399. Values   Description
  4400. ------------------------------------------------------------------------
  4401. 0        No XON/ XOFF flow control (factory setting).
  4402. 1        XON/XOFF flow control in data transfer state.
  4403. 2        XON/XOFF flow control in both data transfer and PAD 
  4404.          command states.
  4405. ------------------------------------------------------------------------
  4406.  
  4407. Parameter 6 - Control of PAD Result Codes
  4408.  
  4409. Parameter 6 controls how PAD result codes (those generated by the PAD) 
  4410. are to be transmitted to your terminal.
  4411.  
  4412. Values    Description
  4413. ------------------------------------------------------------------------
  4414. 0          No PAD result codes are sent to your terminal.
  4415. 1          PAD result codes are sent in their standard formats.
  4416.            The prompt PAD result code is not sent.
  4417. 4          Only the prompt PAD result code is sent.
  4418. 5          All PAD result codes, including the prompt PAD result code,
  4419.            are sent in the standard format (factory setting).
  4420. ------------------------------------------------------------------------
  4421.  
  4422. Parameter 7 - Action on Receipt of Break from Terminal
  4423.  
  4424. Parameter 7 is bit-mapped; binary bit values represent the following 
  4425. actions when the break signal is received by the PAD.
  4426.  
  4427. Values    Factory Setting
  4428. ------------------------------------------------------------------------
  4429. 0-31      5 (send interrupt and indication of break)
  4430. ------------------------------------------------------------------------
  4431.  
  4432. Bit Values  Description
  4433. -----------------------------------------------------------------------
  4434. 1           Send an X.25 interrupt packet to the remote system.
  4435. 2           Send an X.25 reset packet to the remote system.
  4436. 4           Send an X.25 indication of break packet to the remote system.
  4437. 8           Escape from the data transfer state to the PAD command state.
  4438. 16          Set PAD parameter 8 to 1 (discard output).
  4439. ------------------------------------------------------------------------
  4440. Note: If bit 2 of S53 is set, using the break signal to escape from the 
  4441. data transfer state is not possible.
  4442.  
  4443. Parameter 8 - Discard Output
  4444.  
  4445. This parameter is set if the user wishes to abort a process running on 
  4446. the remote system by pressing the break key. When the break key is used, 
  4447. incoming data is discarded until the remote system reacts to the break 
  4448. signal, and sets parameter 8 back to 0. 
  4449.  
  4450. Values     Description
  4451. ------------------------------------------------------------------------
  4452. 0          Normal data delivery to your terminal (factory setting).
  4453. 1          Discard output destined to your terminal.
  4454. ------------------------------------------------------------------------
  4455. Note: Parameter 8 cannot be set using the SET command; only the remote 
  4456. PAD can set it.
  4457.  
  4458. Parameter 9 - Padding after Carriage Return
  4459.  
  4460. Parameter 9 specifies the number of ASCII NUL characters to transmit 
  4461. after a carriage return. This may be necessary to allow time for 
  4462. mechanical devices to return to a home position after a carriage return 
  4463. has been sent.
  4464.  
  4465. Values     Description
  4466. ------------------------------------------------------------------------
  4467. 0          No padding characters sent after carriage return 
  4468.            (factory setting).
  4469. 1          Number of padding characters (NUL) sent after carriage return.
  4470. ------------------------------------------------------------------------
  4471.  
  4472. Parameter 10 - Line Folding
  4473.  
  4474. This parameter specifies line length. When the specified number of 
  4475. displayable characters have been sent to the terminal, a carriage 
  4476. return/line feed sequence is transmitted. Normally, this function is 
  4477. disabled.
  4478.  
  4479. Values    Description
  4480. ------------------------------------------------------------------------
  4481. 0          No line folding (factory setting).
  4482. 1 -255     Number of graphic characters per line sent by the PAD before 
  4483.            a CR/LF is inserted. Special cases include the backspace 
  4484.            character which decreases the count of graphic characters, 
  4485.            and HT that follows the convention of tab stops every eighth 
  4486.            column for display terminals, if parameter 19 = 2.
  4487. ------------------------------------------------------------------------
  4488.  
  4489. Parameter 11 - Terminal Speed
  4490.  
  4491. This parameter reflects the current speed of the DTE. It is 
  4492. automatically set by the PAD using the last AT command and may not be 
  4493. updated by the user or remote system (read only).
  4494.  
  4495. Values   Description
  4496. ------------------------------------------------------------------------
  4497. READ ONLY     None
  4498. -----------------------------------------------------------------------
  4499.  
  4500. Value    Bit Rate
  4501. -----------------------------------------------------------------------
  4502. 0        110 bps
  4503. 2        300 bps
  4504. 3        1200 bps
  4505. 4        600 bps
  4506. 5        75 bps
  4507. 12       2400 bps
  4508. 13       4800 bps
  4509. 14       7200 or 9600 bps
  4510. 15       14400 or 19200 bps
  4511. 16       38400 bps
  4512. ------------------------------------------------------------------------
  4513.  
  4514. Parameter 12 - Flow Control of the PAD by Local Terminal
  4515.  
  4516. Parameter 12 determines whether or not the PAD recognizes flow control 
  4517. characters issued from the DTE. If the DTE transmits an XOFF (Ctrl-S), 
  4518. no further data is delivered to the DTE until the PAD receives an XON 
  4519. (Ctrl-Q). Flow control is also enabled by the &K command.
  4520.  
  4521. Values   Description
  4522. ------------------------------------------------------------------------
  4523. 0        No XON / XOFF flow control (factory setting).
  4524. 1        Use of XON / XOFF flow control.
  4525. ------------------------------------------------------------------------
  4526.  
  4527. Parameter 13 - Line Feed Insertion after Carriage Return
  4528.  
  4529. This parameter specifies whether or not the PAD will insert a line feed 
  4530. character after carriage returns. This function applies only in the PAD 
  4531. on-line state.
  4532.  
  4533. Values   Description
  4534. ------------------------------------------------------------------------
  4535. 0        No line feed inserted (factory setting).
  4536. 1        Insert line feed after carriage return in the incoming 
  4537.          data stream.
  4538. 2        Insert line feed after carriage return in the outgoing 
  4539.          data stream.
  4540. 3        Insert line feed after carriage return in the data stream.
  4541. 4        Insert line feed after echo of carriage return.
  4542. 5        Insert line feed after carriage return in incoming data 
  4543.          stream and also after carriage return echo.
  4544. 6        Insert line feed after carriage return in the outgoing 
  4545.          data stream and also after carriage return echo; if editing
  4546.          enabled (parameter 15=1), insert line feed in the next 
  4547.          editing buffer and make available for editing.
  4548. 7        Insert line feed after carriage return in the incoming and
  4549.          the outgoing data stream, also after carriage return echo;
  4550.          if editing is enabled (parameter 15=1), insert line feed in 
  4551.          the next editing buffer and make available for editing.
  4552. ------------------------------------------------------------------------
  4553.  
  4554. Parameter 14 - Line Feed Padding
  4555.  
  4556. In the on-line data transfer state only, parameter 14 specifies the 
  4557. number of ASCII NUL characters to transmit after a LINE FEED. This 
  4558. parameter is required by some devices to allow sufficient time to move 
  4559. the platen after receiving a line feed character.
  4560.  
  4561. Values   Description
  4562. ------------------------------------------------------------------------
  4563. 0        No padding after line feed (factory setting).
  4564. 1-255    Number of padding characters inserted after line feed.
  4565. ------------------------------------------------------------------------
  4566.  
  4567. Parameter 15 - Editing
  4568.  
  4569. Parameter 15 specifies whether or not editing is used in the PAD on-line 
  4570. state. Parameters 16, 17, 18, and 19 describe the available editing 
  4571. functions. If editing is enabled, parameter 4 (forward timing) and 
  4572. National PAD Parameter 70 are ignored.
  4573.  
  4574. Values    Description
  4575. ------------------------------------------------------------------------
  4576. 0         Editing disabled (factory setting).
  4577. 1         Editing enabled. Data forwarding is suspended until the
  4578.           editing buffer is full, or until the character defined 
  4579.           by parameter 3 is received.
  4580. ------------------------------------------------------------------------
  4581.  
  4582. Whenever more data is received than can be held by the editing buffer, 
  4583. one full packet will be forwarded. The remaining characters are placed 
  4584. in the beginning of the editing buffer, and can still be edited.
  4585.  
  4586. Parameter 16 - Character Delete
  4587.  
  4588. The defined delete character deletes the last character in the editing 
  4589. buffer. After deleting the character, the PAD sends either a backslash 
  4590. (\) or <BS> <SP> <BS> to the DTE (depending on the setting of parameter 
  4591. 19). If the editing buffer is empty, then no response is sent.
  4592.  
  4593. Values   Description
  4594. ------------------------------------------------------------------------
  4595. 0-127    Selects which ASCII value functions as the delete character.
  4596. 8        Backspace character (factory setting).
  4597. ------------------------------------------------------------------------
  4598.  
  4599. Parameter 17 - Line Delete
  4600.  
  4601. This parameter defines the line delete function. When the line delete 
  4602. character is entered, the contents of the editing buffer are deleted. 
  4603. Unless the editing buffer is empty, the PAD sends a result code (XXX for 
  4604. printing terminals) to acknowledge the line delete function.
  4605.  
  4606. Values   Description
  4607. ------------------------------------------------------------------------
  4608. 0-127    ASCII value for delete character.
  4609. 24       Control-X (factory setting).
  4610. ------------------------------------------------------------------------
  4611.  
  4612. Parameter 18 - Line Display
  4613.  
  4614. This parameter defines the line display function. If the user enters the 
  4615. character specified by this parameter and editing is enabled, the 
  4616. contents of the editing buffer will be displayed.
  4617.  
  4618. Values   Description
  4619. ------------------------------------------------------------------------
  4620. 0        Line display disabled.
  4621. 1-127    ASCII value of line display character.
  4622. 18       Control-R (factory setting).
  4623. ------------------------------------------------------------------------
  4624.  
  4625. Parameter 19 - Editing PAD result codes
  4626.  
  4627. Parameter 19 provides the PAD information about the attached DTE 
  4628. (terminal or printer). This ensures that the PAD sends the proper 
  4629. editing character sequences. 
  4630.  
  4631. For example, on a printer, the character delete function simply prints a 
  4632. backslash (\) for each printable character that is deleted, while 
  4633. a terminal is sent a BS-SP-BS sequence to backspace the cursor and erase 
  4634. the deleted character from the screen. The PAD uses editing PAD result 
  4635. codes for display terminals regardless of the value of parameter 19 
  4636. when bit 2 of S53 is set.
  4637.  
  4638. Values       Description 
  4639. ------------------------------------------------------------------------
  4640. 0            Editing PAD result codes function disabled.
  4641. 1            Editing PAD result codes for printers.
  4642. 2            Editing PAD result codes for computers (factory setting).
  4643. 8, 32-126    Editing PAD result codes using the character represented
  4644.              by the ASCII value.
  4645. ------------------------------------------------------------------------
  4646.  
  4647. Parameter 20 - Echo Mask
  4648.  
  4649. Parameter 20 is bit-mapped and defines the set of characters that are to 
  4650. be excluded from the echo function. Characters specified by bit value 64 
  4651. are masked only when editing is active.
  4652.  
  4653. Values    Description
  4654. ------------------------------------------------------------------------
  4655. 64        All characters, except editing characters, are echoed 
  4656.           (factory setting).
  4657. 0-255     Sum of bits selecting characters to be echoed.                                                                       
  4658. ------------------------------------------------------------------------
  4659.  
  4660. Bit Values  Description   
  4661. ------------------------------------------------------------------------
  4662. 1           CR
  4663. 2           LF
  4664. 4           VT, HT, FF
  4665. 8           BEL, BS
  4666. 16          ESC, ENQ
  4667. 32          ACK, NAK, STX, SOH, EOT, ETB, ETX
  4668. 64          Parameters 16, 17, 18 (editing characters)
  4669. 128         NUL, SO, SI, DLE, DC1, DC2, DC3, DC4, SYN, CAN, EM, SUB, FS,
  4670.             GS, RS, US
  4671. ------------------------------------------------------------------------
  4672.  
  4673. Parameter 21 - Parity Treatment
  4674.  
  4675. This parameter controls the parity and character format used by the 
  4676. terminal. 
  4677.  
  4678. Values   Description
  4679. ------------------------------------------------------------------------
  4680. 0        No parity checking or generation (factory setting).
  4681. 2        Parity is applied to data sent to the terminal according to
  4682.          the parity specified by National PAD Parameter 71.
  4683. ------------------------------------------------------------------------
  4684.  
  4685. Parameter 22 - Page Wait
  4686.  
  4687. Parameter 22 defines the number of lines (text separated by line feeds) 
  4688. that are displayed before "PAGE" is displayed. No further data is 
  4689. transmitted to the terminal until the user sends an XON character, sets 
  4690. parameter 22 to zero, or escapes from the data transfer state (PAD 
  4691. recall).
  4692.  
  4693. Values     Description
  4694. ------------------------------------------------------------------------
  4695. 0          Page wait disabled (factory setting).
  4696. 1-255      Number of line feed characters sent to the terminal 
  4697.            before the page wait condition.
  4698. ------------------------------------------------------------------------
  4699.  
  4700. National PAD Parameter 70 - Streaming Data Forwarding
  4701.  
  4702. National PAD Parameter 70 affects PAD data forwarding timing. When set 
  4703. to value 0, the data forwarding timing is controlled by PAD parameter 4. 
  4704. When set to value 1, "streaming mode" is set. This parameter, among 
  4705. others, may be set to configure a "streaming mode PAD" identical to that 
  4706. used in error-control/LAPB connections.
  4707.  
  4708. In streaming mode, a character received by the PAD is placed in a packet 
  4709. immediately, instead of being buffered until a timeout occurs. For 
  4710. example, assuming the modem transmitter is idle, a character received by 
  4711. the PAD is forwarded immediately. This packet remains "open" in case 
  4712. another character is received by the PAD. The additional character can 
  4713. be added while the packet is actually transmitting.
  4714.  
  4715. The result is "instantaneous" forwarding, which generally results in the 
  4716. best interactive performance. This may cause more packet traffic. This 
  4717. is no problem in point-to-point connections, but may be of some concern 
  4718. for networks that charge by the packet. 
  4719.  
  4720. Values     Description
  4721. ------------------------------------------------------------------------
  4722. 0          PAD Parameter 4 controls data forwarding timeout 
  4723.            (factory setting).
  4724. 1          Streaming data forwarding timeout.
  4725. ------------------------------------------------------------------------
  4726.  
  4727. National PAD Parameter 71 - Character Format
  4728.  
  4729. This parameter specifies the character format (number of data bits and 
  4730. parity) required by the network for the PAD, and is used to generate the 
  4731. proper parity on all PAD result codes and data delivered to the 
  4732. terminal. 
  4733.  
  4734. Individual networks specify particular settings for this parameter. 
  4735. National PAD Parameter 71 also determines whether or not all 8 data bits 
  4736. or only 7 data bits are examined when testing characters for specific 
  4737. values (e.g., for CR or XOFF).
  4738.  
  4739. Values   Description
  4740. ------------------------------------------------------------------------
  4741. 0        Format/parity used on last AT command (factory setting)
  4742. 1        8 data bits, no parity
  4743. 2        7 data bits, odd parity
  4744. 3        7 data bits, even parity
  4745. 4        7 data bits, mark parity
  4746. 5        7 data bits, space parity
  4747. ------------------------------------------------------------------------
  4748.  
  4749. National PAD Parameters 72 - Break Signal Timing
  4750.  
  4751. National PAD Parameters 72 is used to control whether or not break 
  4752. timing information via National PAD Parameters 73 is sent with the 
  4753. indication of break PAD message.
  4754.  
  4755. In most PADs, when a break signal is received from the terminal, the PAD 
  4756. sends an X.25 interrupt packet, followed by an indication of break PAD 
  4757. message. The remote PAD will usually ignore the interrupt packet, and 
  4758. will transmit a break signal to the remote system when the indication of 
  4759. break PAD message is received.
  4760.  
  4761. The duration of the break signal is normally fixed. National PAD 
  4762. Parameters 73 specifies the duration of the break signal transmitted by 
  4763. the PAD. If National PAD Parameters 72 is set to value 0, the indication 
  4764. of break PAD message is sent normally, and will be compatible with all 
  4765. networks.
  4766.  
  4767. If National PAD Parameters 72 is set to value 1, break timing 
  4768. information is sent along with the indication of break PAD message, by 
  4769. adding a parameter/value field to the indication of break PAD message. 
  4770. This sets the remote PAD's National PAD Parameters 73 to a value that 
  4771. corresponds to the length of break as timed by the local PAD, so the 
  4772. break signal transmitted by the local PAD is very close to the length of 
  4773. the break signal received by the remote PAD.
  4774.  
  4775. Setting National PAD Parameters 72 to value 1 could possibly confuse 
  4776. some networks, and should be used only in cases where you know that the 
  4777. remote PAD supports National PAD Parameters 73.
  4778.  
  4779. Values   Description
  4780. ------------------------------------------------------------------------
  4781. 0        No break timing information sent with signal (factory setting).
  4782. 1        Break timing information is sent with the break signal.
  4783. ------------------------------------------------------------------------
  4784.  
  4785. National PAD Parameters 73 - Break Signal Duration
  4786.  
  4787. This parameter is used to set the duration of a break signal transmitted 
  4788. by the PAD in increments of 10 milliseconds. The factory setting is 18 
  4789. (180 msec.). National PAD Parameters 73 is usually set by the remote 
  4790. PAD, if the remote PAD supports National PAD Parameters 72.
  4791.  
  4792. Values   Factory Setting
  4793. ------------------------------------------------------------------------
  4794. 0-255    18 (180 msec)
  4795. ------------------------------------------------------------------------
  4796.  
  4797. National PAD Parameters 74 - Disable PAD Parameter Setting by the Remote
  4798. PAD
  4799.  
  4800. The remote system may try to re-configure the parameter settings of the 
  4801. local PAD (capability also available to the local modem user with the 
  4802. RSET command) to facilitate communications. However, doing this may not 
  4803. be the best configuration for your terminal. Register S57 allows you to 
  4804. disable the remote PAD's ability to change your PAD parameter settings.
  4805.  
  4806. Values   Description
  4807. ------------------------------------------------------------------------
  4808. 0        Remote PAD can reset your PAD parameters (factory setting).
  4809. 1        All set or set and read PAD messages return the INV result 
  4810.          code to the remote system indicating that the parameter value
  4811.          cannot be altered from the current setting.
  4812. ------------------------------------------------------------------------
  4813.  
  4814. National PAD Parameters 100 - Default Maximum Packet Size
  4815.  
  4816. This parameter sets the default maximum packet size according to the 
  4817. following parameter value-to-packet size (in bytes) conversions:
  4818.  
  4819. Values   Description
  4820. ------------------------------------------------------------------------
  4821. 4        16 bytes
  4822. 5        32 bytes
  4823. 6        64 bytes
  4824. 7        128 bytes (factory setting)
  4825. 8        256 bytes
  4826. 9        512 bytes
  4827. ------------------------------------------------------------------------
  4828.  
  4829. National PAD Parameters 101 - Default Maximum Window Size
  4830.  
  4831. This parameter sets the default maximum window size.
  4832.  
  4833. Values   Factory Setting
  4834. ------------------------------------------------------------------------
  4835. 2-7      2
  4836. ------------------------------------------------------------------------
  4837.  
  4838. National PAD Parameters 102 - Call Request Response Timer
  4839.  
  4840. This parameter sets the maximum amount of time the transmitter should 
  4841. wait for acknowledgment to a call request packet before initiating 
  4842. recovery procedure, in 10-second increments.
  4843.  
  4844. Values   Factory Setting
  4845. ------------------------------------------------------------------------
  4846. 1-255    20 (200 seconds)
  4847. ------------------------------------------------------------------------
  4848.  
  4849. National PAD Parameters 103 - Reset Request Response Timer
  4850.  
  4851. This parameter sets the maximum amount of time the transmitter should 
  4852. wait for acknowledgment to a reset request packet before initiating 
  4853. recovery procedure, in 10-second increments.
  4854.  
  4855. Values   Factory Setting   
  4856. ------------------------------------------------------------------------
  4857. 1-255    18 (180 seconds)
  4858. ------------------------------------------------------------------------
  4859.  
  4860. National PAD Parameters 104 - Clear Request Response Timer
  4861.  
  4862. This parameter sets the maximum amount of time the transmitter should 
  4863. wait for acknowledgment to a clear request packet before initiating 
  4864. recovery procedure, in 10-second increments.
  4865.  
  4866. Values   Factory Setting
  4867. ------------------------------------------------------------------------
  4868. 1-255    18 (180 seconds)
  4869. ------------------------------------------------------------------------
  4870.  
  4871. National PAD Parameters 105 - Interrupt Response Time
  4872.  
  4873. This parameter sets the maximum amount of time the transmitter should 
  4874. wait for acknowledgment to an interrupt packet before initiating 
  4875. recovery procedure, in 10-second increments.
  4876.  
  4877. Values   Factory Setting
  4878. ------------------------------------------------------------------------
  4879. 1-255    18 (180 seconds)
  4880. ------------------------------------------------------------------------
  4881.  
  4882. National PAD Parameters 106 - Reset Request Retransmission Counter
  4883.  
  4884. This parameter defines the maximum number of times a reset request 
  4885. packet should be retransmitted.
  4886.  
  4887. Values   Factory Setting
  4888. ------------------------------------------------------------------------
  4889. 0-255    1 retransmission
  4890. ------------------------------------------------------------------------
  4891.  
  4892. National PAD Parameters 107 - Clear Request Retransmission Counter
  4893.  
  4894. This parameter defines the maximum number of times a clear request 
  4895. packet should be retransmitted.
  4896.  
  4897. Values   Factory Setting
  4898. ------------------------------------------------------------------------
  4899. 0-255    1 retransmission
  4900. ------------------------------------------------------------------------
  4901.  
  4902. National PAD Parameters 108 - Channel Allocation Parameter
  4903.  
  4904. This parameter is used to inform the PAD how the application software or 
  4905. user intends to use the current PAD channel. There are four possible 
  4906. settings.
  4907.  
  4908. Values   Description
  4909. ------------------------------------------------------------------------
  4910. 0        Unavailable - the PAD channel will not be used; outgoing calls
  4911.          are not allowed, and incoming calls will be directed to 
  4912.          incoming or free channels, or cleared.
  4913. 1        Outgoing - the PAD channel will be used for an outgoing call;
  4914.          incoming calls will be directed to incoming or free channels, 
  4915.          or cleared.
  4916. 2        Incoming - the PAD channel will be used for an incoming call;
  4917.          outgoing calls are not allowed; the PAD will assign an incoming 
  4918.          call to PAD channels assigned as incoming before those assigned 
  4919.          as bi-directional.
  4920. 3        Bi-directional - the PAD channel can be used for incoming or
  4921.          outgoing calls; incoming calls will be directed to free 
  4922.          channels if no incoming channels are available (factory 
  4923.          setting).
  4924. ------------------------------------------------------------------------
  4925. ************************************************************************
  4926. 2.3  PAD Profiles
  4927.  
  4928. For many X.25 connections, the PAD can be used without any changes to 
  4929. its factory configuration. For information on creating, saving, and 
  4930. recalling PAD profiles, see the PROF command. Four standard profiles are 
  4931. provided here:
  4932.  
  4933. Factory-Set Profile
  4934.  
  4935. PAD       Values    Description                    Default
  4936. Parameter
  4937. ------------------------------------------------------------------------
  4938. 1         0-126     PAD recall using a character   0 (disabled)
  4939. 2         0,1       Echo                           0 (disabled)
  4940. 3         0-127     Selection of data forwarding   0 (disabled)
  4941.                     signal     
  4942. 4         0-255     Selection of idle timer delay  1 (50 msec timeout
  4943. 5         0,1,2     Ancillary device control       0 (XON/XOFF disabled)
  4944. 6         0,1,4,5   Control of PAD result codes    5 (standard PAD 
  4945.                                                    result)
  4946. 7         1,2,4,    Response to break from         5 (send interrupt
  4947.           8,16      terminal                       and break indication)
  4948. 8         0,1       Discard output                0 (normal delivery)
  4949. 9         0-255     Padding after carriage return 0 (disabled)
  4950. 10        0-255     Line folding                  0 (disabled)
  4951. 11        0,2-5,    Terminal speed                (speed of terminal 
  4952.           12-16                                   indicated)
  4953. 12        0,1       Flow control of PAD by        0 (XON/XOFF disabled)
  4954.                     terminal
  4955. 13        0-7       Linefeed insertion after CR   0 (disabled)
  4956. 14        0-255     Linefeed padding              0 (disabled)
  4957. 15        0,1       Editing                       0 (disabled)
  4958. 16        0-127     Character delete              8 (BS)
  4959. 17        0-127     Line delete                   24 (CAN, ^X)
  4960. 18        0-127     Line display                  18 (DC2, ^R)
  4961. 19        0,1,2,8,  Editing PAD result codes      2 (display terminals)
  4962.           32-126
  4963. 20        0-255     Echo mask                     64 (echo all 
  4964.                                                   characters except 
  4965.                                                   editing characters
  4966. 21        0,2       Parity treatment              0 (disabled)
  4967. 22        0-255     Page wait                     0 (disabled)
  4968. 70*       0,1       Streaming data forwarding     0 (disabled)
  4969. 71*       0,5       Character format              0 (set by AT autobaud)
  4970. 72*       0,1       Break signal timing           0 (disabled)
  4971. 73*       0-255     Break signal duration         18 (180 msec)
  4972. 74*       0,1       Disable PAD parameter         0 (parameters set
  4973.                     settings by remote PAD        by remote PAD)
  4974. 100*      4-9       Default packet size           7 (128 bytes)
  4975. 101*      2-7       Default window size           2 (2 outstanding 
  4976.                                                   packets)
  4977. 102*      1-255     T21 call request response     20 (200 seconds)
  4978.                     timer
  4979. 103*      1-255     T22 reset request response    18 (180 seconds)
  4980.                     timer
  4981. 104*      1-255     T23 clear request response    18 (180 seconds) 
  4982.                     timer
  4983. 105*      1-255     T26 interrupt response        18 (180 seconds)
  4984.                     timer
  4985. 106*      0-255     R22 reset request             1 retransmission
  4986.                     retransmission
  4987. 107*      0-255     R23 clear request             1 retransmission
  4988.                     retransmission
  4989. 108*      0-3       Channel allocation            3 (normal channel 
  4990.                     parameter                     allocation)
  4991. *National PAD Parameters
  4992. ------------------------------------------------------------------------
  4993.  
  4994.  
  4995. CCITT Simple Standard Profile
  4996.  
  4997. Pad       Values    Description                    Default
  4998. Parameter
  4999. ------------------------------------------------------------------------
  5000. 1          0-126    PAD recall using a character   1 (DLE character)
  5001. 2          0,1      Echo                           1 (echo on)
  5002. 3          0-127    Selection of data forwarding   126 (forward on 
  5003.                     signal                         control characters
  5004.                                                    and DEL)
  5005. 4          0-255    Selection of idle timer delay  0 (no timeout)
  5006. 5          0,1,2    Ancillary device control       1 (XON/XOFF enabled)
  5007. 6          0,1,4,5  Control of PAD result codes    1 (standard PAD 
  5008.                                                    result codes enabled, 
  5009.                                                    no prompt) 
  5010. 7          1,2,4,   Response to break from         2 (send reset packet)
  5011.            8, 16    terminal
  5012. 8          0,1      Discard output                 0 (normal delivery)
  5013. 9          0-255    Padding after carriage return  0 (disabled)
  5014. 10         0-255    Line folding                   0 (disabled)
  5015. 11         0,2-5,   Terminal speed                 (speed of terminal 
  5016.            12-16                                   indicated)
  5017. 12          0,1     Flow control of PAD by         1 (XON/XOFF disabled)
  5018.                     terminal
  5019. 13          0-7     Linefeed insertion after CR    0 (disabled)
  5020. 14          0-255   Linefeed padding               0 (disabled)
  5021. 15          0,1     Editing                        0 (disabled)
  5022. 16          0-127   Character delete               127 (DEL character)
  5023. 17          0-127   Line delete                    24 (CAN, ^X)
  5024. 18          0-127   Line display                   18 (DC2, ^R)
  5025. 19          0,1,2   Editing PAD result codes       1 (printing 
  5026.             8,32-126                               terminals)
  5027. 20          0-255   Echo mask                      0 (echo all 
  5028.                                                    characters)
  5029. 21          0,2     Parity treatment               0 (disabled)
  5030. 22          0-255   Page wait                      0 (disabled)
  5031. 70*         0,1     Streaming data forwarding      0 (disabled)
  5032. 71*         0,5     Character format               0 (set by AT
  5033.                                                    autobaud)
  5034. 72*         0,1     Break signal timing            0 (disabled)
  5035. 73*         0-255   Break signal duration          18 (180 msec.)
  5036. 74*         0,1     Disable PAD parameter          0 (parameters set by
  5037.                     settings by remote PAD         remote PAD)
  5038. 100*        4-9     Default packet size            7 (128 bytes)
  5039. 101*        2-7     Default window size            2 (2 outstanding 
  5040.                                                    packets)
  5041. 102*        1-255   T21 call request response      20 (200 seconds)
  5042.                     timer
  5043. 103*        1-255   T22 reset request response     18 (180 seconds)
  5044.                     timer
  5045. 104*        1-255   T23 clear request response     18 (180 seconds)
  5046.                     timer
  5047. 105*        1-255   T26 interrupt response         18 (180 seconds)
  5048.                     timer
  5049. 106*        0-255   R22 reset request              1 retransmission
  5050.                     retransmission
  5051. 107*        0-255   R23 clear request              1 retransmission
  5052.                     retransmission
  5053. 108*        0-3     Channel allocation parameter   3 (normal channel 
  5054.                                                    allocation)
  5055. *National PAD Parameters
  5056. ------------------------------------------------------------------------
  5057.  
  5058. CCITT Transparent Standard Profile
  5059.  
  5060. PAD       Values    Description                    Default
  5061. Parameter
  5062. ------------------------------------------------------------------------
  5063. 1          0-126    PAD recall using a character   0 (disabled)
  5064. 2          0,1      Echo                           0 (disabled)
  5065. 3          0-127    Selection of data forwarding   0 (disabled)
  5066.                     signal
  5067. 4          0-255    Selection of idle timer delay  20 (1 sec. timeout)
  5068. 5          0,1,2    Ancillary device control       0 (XON/XOFF disabled)
  5069. 6          0,1,4,5  Control of PAD result codes    0 (disabled)
  5070. 7          1,2,4,   Response to break from         2 (send reset packet)
  5071.            8, 16    terminal
  5072. 8          0,1      Discard output                 0 (normal delivery)
  5073. 9          0-255    Padding after carriage return  0 (disabled)
  5074. 10         0-255    Line folding                   0 (disabled)
  5075. 11         0,2-5,   Terminal speed                 (speed of terminal
  5076.            12-16                                   indicated)
  5077. 12         0,1      Flow control of PAD by         0 (XON/XOFF disabled)
  5078.                     terminal
  5079. 13          0-7     Linefeed insertion after CR    0 (disabled)
  5080. 14          0-255   Linefeed padding               0 (disabled)
  5081. 15          0,1     Editing                        0 (disabled)
  5082. 16          0-127   Character delete               127 (DEL)
  5083. 17          0-127   Line delete                    24 (CAN, ^X)
  5084. 18          0-127   Line display                   18 (DC2, ^R)
  5085. 19          0,1,2,  Editing PAD result codes       1 (printing
  5086.             8, 32-126                              terminals)
  5087. 20          0-255   Echo mask                      0 (echo all
  5088.                                                    characters)
  5089. 21          0,2     Parity treatment               0 (disabled)
  5090. 22          0-255   Page wait                      0 (disabled)
  5091. 70*         0,1     Streaming data forwarding      0 (disabled)
  5092. 71*         0,5     Character format               0 (set by AT 
  5093.                                                    autobaud)
  5094. 72*          0,1    Break signal timing            0 (disabled)
  5095. 73*          0-255  Break signal duration          18 (180 msec.)
  5096. 74*          0,1    Disable PAD parameter          0 (parameters set by 
  5097.                     settings by remote PAD         remote PAD
  5098.                     settings by remote PAD
  5099. 100*          4-9   Default packet size            7 (128 bytes)
  5100. 101*          2-7   Default window size            2 (2 outstanding
  5101.                                                    packets)
  5102. 102*          1-255 T21 call request response      20 (200 seconds)
  5103.                     timer
  5104. 103*          1-255 T22 reset request response     18 (180 seconds)
  5105.                     timer
  5106. 104*          1-255 T23 clear request response     18 (180 seconds)
  5107.                     timer
  5108. 105*          1-255 T26 interrupt response         18 (180 seconds)
  5109.                     timer
  5110. 106*          0-255 R22 reset request              1 retransmission
  5111.                     retransmission
  5112. 107*          0-255 R23 clear request              1 retransmission
  5113.                     retransmission
  5114. 108*          0-3   Channel allocation parameter   3 (normal channel 
  5115.                                                    allocation)
  5116. ------------------------------------------------------------------------                                          
  5117. *National PAD Parameters
  5118.  
  5119. Error-control/LAPB Profile
  5120.  
  5121. PAD       Values    Description                    Default
  5122. Parameter
  5123. ------------------------------------------------------------------------
  5124. 1          0-126    PAD recall using a character   0 (disabled)
  5125. 2          0,1      Echo                           0 (disabled)
  5126. 3          0-127    Selection of data forwarding   0 (disabled)
  5127.                     signal
  5128. 4          0-255    Selection of idle timer delay  0 (no timeout)
  5129. 5          0,1,2    Ancillary device control       0 (XON/XOFF disabled)
  5130. 6          0,1,4,5  Control of PAD result codes    0 (no PAD result 
  5131.                                                    codes)
  5132. 7          1,2,4,   Response to break from         5 (send interrupt and
  5133.            8, 16    terminal                       break indication)
  5134. 8          0,1      Discard output                 0 (normal delivery)
  5135. 9          0-255    Padding after carriage return  0 (disabled)
  5136. 10         0-255    Line folding                   0 (disabled)
  5137. 11         0,2-5,   Terminal speed                 (speed of terminal 
  5138.            12-16                                   indicated)
  5139. 12         0,1      Flow control of PAD by         0 (XON/XOFF disabled)
  5140.                     terminal
  5141. 13          0-7     Linefeed insertion after CR    0 (disabled)
  5142. 14          0-255   Linefeed padding               0 (disabled)
  5143. 15          0,1     Editing                        0 (disabled)
  5144. 16          0-127   Character delete               8 (BS)
  5145. 17          0-127   Line delete                    24 (CAN, ^X)
  5146. 18          0-127   Line display                   18 (DC2, ^R)
  5147. 19          0,1,2   Editing PAD result codes       2 (display terminals)
  5148.             8,32-126
  5149. 20          0-255   Echo mask                     64 (echo all 
  5150.                                                   characters except
  5151.                                                   editing characters)
  5152. 21          0,2     Parity treatment              0 (disabled)
  5153. 22          0-255   Page wait                     0 (disabled)
  5154. 70*         0,1     Streaming data forwarding     1 (streaming mode 
  5155.                                                   selected)
  5156. 71*         0,5     Character format              0 (set by AT autobaud)
  5157. 72*         0,1     Break signal timing           1 (time break signal)
  5158. 73*         0-255   Break signal duration         18 (180 msec)
  5159. 74*         0,1     Disable PAD parameter         0 (parameters set by 
  5160.                     settings by remote PAD        remote PAD)
  5161. 100*        4-9     Default packet size           7 (128 bytes)
  5162. 101*        2-7     Default window size           2 (2 outstanding 
  5163.                                                   packets)
  5164. 102*        1-255   T21 call request response     20 (200 seconds)
  5165.                     timer
  5166. 103*        1-255   T22 reset request response    18 (180 seconds)
  5167.                     timer
  5168. 104*        1-255   T23 clear request response    18 (180 seconds)
  5169.                     timer
  5170. 105*        1-255   T26 interrupt response timer  18 (180 seconds)
  5171. 106*        0-255   R22 reset request             1 retransmission
  5172.                     retransmission     
  5173. 107*        0-255   R23 clear request             1 retransmission
  5174.                     retransmission     
  5175. 108*        0-3     Channel allocation parameter  3 (normal channel 
  5176.                                                   allocation)
  5177. ------------------------------------------------------------------------
  5178. *National PAD Parameters
  5179.  
  5180. ************************************************************************
  5181. 2.4  Typical X.25 Scenarios
  5182.  
  5183. The examples below provide scenarios of typical activities you might 
  5184. perform and/or experience with X.25 connections. Each one provides the 
  5185. "Activity," a reference to a command description within this document 
  5186. for further discussion, the "Result" of the "Activity," and an "Example 
  5187. Log-on" when applicable. These examples may be helpful as reference when 
  5188. you are writing sequences for users, or when developing software.
  5189.  
  5190. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  5191. 2.4.1  Synopsis of a Communication Session with a Packet-switched 
  5192. Network
  5193.  
  5194. The events in a typical X.25 communication session are detailed below.
  5195.  
  5196. Establishing a Network Connection. 
  5197.  
  5198. X.25 connections begin the same as point-to-point connections - with a 
  5199. modem call to a remote system. Once connected to the network, however, 
  5200. you use the PAD to make one or more virtual connections to other 
  5201. nodes on the network.
  5202.  
  5203. Making a Virtual Connection. 
  5204.  
  5205. The following procedure explains the steps for the major activities in X.25 
  5206. communications.
  5207.  
  5208. Step 1:  Configuring the modem for X.25.
  5209.  
  5210. Before placing a call to the network, you must configure the modem to 
  5211. make an X.25 connection. First, enter the modem's command state:
  5212.  
  5213. Issue AT&Q5S44=3S46=6S48=0 E. This command string verifies that the 
  5214. modem is in the error-control mode (&Q5) and sets the values of three S-
  5215. registers that control the modem's feature negotiation. S48=0 controls 
  5216. the negotiation process; S46=6 stipulates an X.25 connection. Now, 
  5217. instead of negotiating a V.42 connection, the modem attempts connections 
  5218. using the X.25 protocol.
  5219.  
  5220. Step 2:  Calling the network.
  5221.  
  5222. Next, dial the number of the network to which you subscribe. This is a 
  5223. standard modem call made with the D command: ATDT9,555-1234 E (for 
  5224. example). If the call is successful, the modem will connect and issue a 
  5225. result code sequence. The carrier and connect messages you receive 
  5226. depend on the connection. If you want to see the extended messages, you 
  5227. must issue the W1 command. With this feature enabled, for a 2400 bps 
  5228. connection, the messages will be CARRIER 2400 PROTOCOL: X.25/LAPB 
  5229. CONNECT 4800. The PAD automatically enters the command state for channel 
  5230. 1.
  5231.  
  5232. Step 3:  Making a virtual connection to the remote system.
  5233.  
  5234. To establish a virtual call to a user on the network, you must have the 
  5235. network address of the other node to which you wish to connect and any 
  5236. other information required by the network. For example, to connect to a 
  5237. service on the network, you would issue: CALL R-3110 20200202 <CR>.
  5238.  
  5239. CALL is the command for initiating connections with a remote system. 
  5240. The (R) command permits reverse charging if the user at the other end
  5241. of the virtual connection requests it. 3110 is a network ID code and 
  5242. 20200202 is the destination address. 
  5243.  
  5244. If the call is accepted by the remote system, the network will return 
  5245. the result code sequence: CON COM: W2:2,P7:7,X0277 COM. The PAD then 
  5246. enters the data transfer state. If the call is not accepted, the 
  5247. network returns a response such as CLR DTE 157 FAC: (followed by 
  5248. network information as alpha-numeric characters X000...). 
  5249. The PAD remains in the PAD command state.
  5250.  
  5251. Step 4:  Performing on-line activities.
  5252.  
  5253. Once connected, you can perform desired communications - file transfers,
  5254. interactive typing, etc.
  5255.  
  5256. Step 5:  Clearing the call.
  5257.  
  5258. When ready to end the session, issue CTRL-P to return to the channel's 
  5259. command state. Then issue CLR <CR>. This clears the current virtual 
  5260. connection. The network responds with CLR CONF FAC: (followed by network 
  5261. information as alpha-numeric characters X000...). Note: All virtual 
  5262. calls should be cleared before returning to the AT command state.
  5263.  
  5264. Step 6:  Exiting the PAD.
  5265.  
  5266. EXIT <CR> - Leaves PAD command state and enters the AT command state.
  5267.  
  5268. Step 7:  Terminating the network connection.
  5269.  
  5270. ATH0 <CR> - Breaks the physical connection to the network node. This
  5271. action hangs up the telephone, in the same way other communication 
  5272. sessions are terminated.
  5273.  
  5274. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  5275. 2.4.2  Establishing a Virtual Connection
  5276.  
  5277. The example log-on and results below illustrate a successful attempt to 
  5278. establish a virtual connection.
  5279.  
  5280. ------------------------------------------------------------------------
  5281. ACTIVITY:         User dials CompuServe, connects, then issues CALL 
  5282.                   command to establish a virtual connection. Call is 
  5283.                   accepted.
  5284. REFER TO:         CALL command description.
  5285. RESULT:           Call is accepted. Depending on the network 
  5286.                   requirements, the modem sends back the following: 
  5287.                   CON <address> <facility_codes> COM <user_data>
  5288.                   Note: The data in capital letters is sent to you; the 
  5289.                   data in angle brackets may or may not be sent to you.
  5290. EXAMPLE LOG-ON:   User calls Telenet and issues CALL command to go on-
  5291.                   line with CompuServe:
  5292.               Enter:     AT&Q5 S44=3 S46=6 S48=0 W1 DT 9,5550123 <CR>
  5293.               Result:    CARRIER 2400 
  5294.                          PROTOCOL: X.25/LAPB
  5295.                          CONNECT 2400
  5296.               Enter:     CALL R-311020200202 <CR>
  5297.               Result:    CON COM: W2:2,P7:7,X 0277 COM
  5298. ----------------------------------------------------------------------
  5299.                                            
  5300. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  5301. 2.4.3  Attempting a Virtual Connection that is not Accepted
  5302.  
  5303. This scenario depicts an unsuccessful attempt at establishing a virtual 
  5304. connection. For various reasons, the connection may not be completed. 
  5305. The reason(s) will be provided in result codes generated by the PAD.
  5306.  
  5307. ------------------------------------------------------------------------
  5308. ACTIVITY:         User dials packet-switched network, connects, then 
  5309.                   issues CALL command to establish a virtual connection, 
  5310.                   but call is not accepted.
  5311. REFER TO:         CALL command description.
  5312. RESULT:           Call is not accepted. Depending on the network 
  5313.                   requirements, the modem returns the following result
  5314.                   codes: CLR <clear_cause_codes> <diagnostic_codes> 
  5315.                   <address> <facility_codes>
  5316. EXAMPLE LOG-ON:   User calls Telenet and issues CALL command to go on-
  5317.                   line with CompuServe:
  5318.                Enter:     AT&Q5 S44=3 S46=6 S48=0 W1 DT 9,5550123 <CR>
  5319.                Result:     CARRIER 2400 
  5320.                PROTOCOL: X.25/LAPB
  5321.                CONNECT 2400
  5322.                Enter:     CALL R-311020200202 <CR>
  5323.                Result:     CLR DTE 157 FAC:
  5324.                X0000C10400000000C208080000000100000062
  5325. ------------------------------------------------------------------------
  5326.  
  5327. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  5328. 2.4.4  Resetting a Virtual Channel
  5329.  
  5330. While on-line to another user on the network, if the escape sequence is 
  5331. used to return to the PAD command state, the channel will be reset.
  5332. ------------------------------------------------------------------------
  5333. ACTIVITY:         User is connected to a packet-switched network, has 
  5334.                   established a virtual connection, then escapes to the 
  5335.                   PAD command state and resets the virtual channel.
  5336. REFER TO:         RESET command description.
  5337. RESULT:           The PAD resets the virtual channel and returns the 
  5338.                   following information to the user: RESET 
  5339.                   <reset_cause_codes>
  5340. EXAMPLE LOG-ON:   n/a
  5341. ---------------------------------------------------------------------
  5342.  
  5343. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  5344. 2.4.5  Resetting a Virtual Channel a by Remote PAD
  5345.  
  5346. As a result of network activity, the remote PAD may reset a virtual 
  5347. channel. If this occurs, data may be lost. The call must also be re-
  5348. established.
  5349.  
  5350. ------------------------------------------------------------------------
  5351. ACTIVITY:          User is connected to a packet-switched network, has 
  5352.                    established a virtual connection, and the network 
  5353.                    resets the virtual channel.
  5354. REFER TO:          RESET command description.
  5355. RESULT:            The PAD resets the virtual channel and returns the 
  5356.                    following information to the user:
  5357.                    RESET <reset_cause_codes> <diagnostic_codes>
  5358. EXAMPLE LOG-ON:     n/a
  5359. ------------------------------------------------------------------------
  5360.  
  5361. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  5362. 2.4.6  Clearing a Virtual Channel
  5363.  
  5364. This scenario is the typical way to end a virtual call following a 
  5365. session. This is also the process to use when other calls are to be 
  5366. maintained.
  5367.  
  5368. ------------------------------------------------------------------------
  5369. ACTIVITY:           User is connected to a packet-switched network, has 
  5370.                     established a virtual connection, escapes to PAD 
  5371.                     command state, and clears the call.
  5372. REFER TO:           CLR command description.
  5373. RESULT:             The PAD clears the call, sets all PAD parameters 
  5374.                     back to their values prior to establishing the 
  5375.                     virtual connection, and returns the following result 
  5376.                     codes:  CLR CONF FAC: X 00 00 C1 04 00 00 01 03 C2 
  5377.                     08 00 00 00 08 80 00 00 04 
  5378. EXAMPLE LOG-ON:     User calls Telenet and issues CALL command to go 
  5379.                     on-line with CompuServe:
  5380.                Enter:     AT&Q5 S44=3 S46=6 S48=0 W1 DT 9,5550123 <CR>
  5381.                Result:    CARRIER 2400 
  5382.                           PROTOCOL: /X.25
  5383.                           CONNECT 2400
  5384.                Enter:     CALL R-311020200202 <CR>
  5385.                Result:    CON W2:2,P7:7,X 0277, COM
  5386.                Enter:     User ID: <CR>
  5387.                Result:    *
  5388.                Enter:     Ctrl-P to return to the PAD command state
  5389.                Result:    CLR CONF FAC:
  5390.                X0000C104000000103C208000000008800000004
  5391. ------------------------------------------------------------------------
  5392.  
  5393. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  5394. 2.4.7  Accepting a Request from Remote PAD to Establish Virtual 
  5395. Connection
  5396.  
  5397. A request from a remote PAD to establish a virtual connection will be 
  5398. received when another network user is attempting to make a connection 
  5399. with you. Although the standard response is to accept, be aware that by 
  5400. accepting the request, you may be accepting certain network charges 
  5401. other than packet transmission fees.
  5402.  
  5403. ------------------------------------------------------------------------
  5404. ACTIVITY:          User using modem and receives request from remote 
  5405.                    unit to establish a virtual connection
  5406. REFER TO:          ACC command description.
  5407. RESULT:            The remote PAD sends the following result code to 
  5408.                    the user:  IC <facility_codes> COM <user_data> 
  5409. EXAMPLE LOG-ON:     n/a
  5410. ------------------------------------------------------------------------
  5411.  
  5412. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  5413. 2.4.8  Clear Command Failed
  5414.  
  5415. This scenario describes a request to clear a channel denied by the PAD. 
  5416. This may occur because the modem is transferring data.
  5417.  
  5418. ------------------------------------------------------------------------
  5419. ACTIVITY:           User is connected to a packet-switched network, has 
  5420.                     established a virtual connection, escapes to PAD 
  5421.                     command state, but call fails to be cleared.
  5422. REFER TO:           CLR command description.
  5423. RESULT:             The PAD sends the following result code: CLR FAILED 
  5424. EXAMPLE LOG-ON:     n/a
  5425. ------------------------------------------------------------------------
  5426.  
  5427. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  5428. 2.4.9  Link Restart Occurs
  5429.  
  5430. The example result code below indicates that the virtual links have been 
  5431. dropped. The connections must be re-established.
  5432.  
  5433. ------------------------------------------------------------------------
  5434. ACTIVITY:   A "link restart" is a major error condition in which all 
  5435.             virtual calls are disconnected and the virtual channels 
  5436.             return to "start" mode.
  5437. EXAMPLE:    LINK RESTARTED <restart_cause_codes> 
  5438. ------------------------------------------------------------------------
  5439.  
  5440. ========================================================================
  5441. APPENDIX A  COMMUNICATION OPTIONS
  5442.  
  5443. This appendix describes the various methods of communication supported 
  5444. by Hayes modems. Set-up recommendations for each of these modes are 
  5445. provided. Set-up examples and environment descriptions are also included.
  5446.  
  5447. ************************************************************************
  5448. A.1  Transmission and DTE Types
  5449.  
  5450. Modems communicate over the telephone line by converting data from 
  5451. analog to digital form and vice versa. The techniques used are 
  5452. fundamentally the same whether the data transmission mode is synchronous 
  5453. or asynchronous. 
  5454.  
  5455. In most cases, communications over the telephone lines 
  5456. will be synchronous, regardless of the mode selected. The interface 
  5457. between the modem and the DTE will depend on the mode selected. 300 bps 
  5458. communications (for example when on-line with a Smartmodem 300) are 
  5459. always asynchronous between modems. At speeds of 1200 bps and higher, 
  5460. the modem-to-modem links are always synchronous.
  5461.  
  5462. However, between the DTE and the modem, synchronous and asynchronous 
  5463. communication differ significantly. The DTE hardware and software are 
  5464. usually different as well. A modem operating with a synchronous DTE 
  5465. could connect to another modem operating with an asynchronous DTE, as 
  5466. the carrier signals are no different. But the data passed over the link 
  5467. might not be intelligible to their respective computers. 
  5468.  
  5469. The interface between the modem and the DTE is generally asynchronous 
  5470. for all personal computer-to-modem communications. When the modem-to-DTE 
  5471. link is synchronous, the DTE must be a synchronous device such as a 
  5472. synchronous adapter card installed within the computer. The two types of 
  5473. transmission differ in the techniques used to separate the characters 
  5474. that are transmitted. Asynchronous transmissions use bits to indicate 
  5475. the start and stop of the character. Synchronous transmissions use 
  5476. clocking signals.
  5477.  
  5478. Hayes modems provide several communication modes to adapt to a variety 
  5479. of environments and operating demands. When a communications mode is 
  5480. selected that supports an asynchronous DTE at 1200 bps or greater, the 
  5481. modem converts the asynchronous data into synchronous data that is 
  5482. compatible with the modem-to-modem carrier signals. In some of the 
  5483. communications modes that support asynchronous DTEs, the start and stop 
  5484. bits are also converted to synchronous data over the modem-to-modem 
  5485. link. Naturally, the modems on both ends of the link must be in a 
  5486. compatible communications mode if the data is to be restored at the 
  5487. receiving DTE. For this reason, communications modes that support 
  5488. asynchronous DTEs and which actually send the start and stop bits over 
  5489. the modem-to-modem link are often referred to as asynchronous 
  5490. connections.
  5491.  
  5492. The communications mode is controlled by the &Q command, except for 
  5493. Smartmodem 300 and those Smartmodem 1200s that support only asynchronous 
  5494. mode. This command is discussed fully in the next section.
  5495.  
  5496. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  5497. A.1.1  Asynchronous Transmissions
  5498.  
  5499. Most communications between PCs are asynchronous. Asynchronous 
  5500. transmissions pass data between the modems as characters. Data is then 
  5501. transmitted as character bits framed by start, stop, and parity bits to 
  5502. mark the beginning and end of character units.
  5503.  
  5504. The use of parity bits is optional depending on the asynchronous 
  5505. character format selected. 
  5506.  
  5507. When sending and receiving data, the modem supports the following 
  5508. asynchronous character formats:
  5509.  
  5510. Starts Bits    Data Bits     Parity          Stop Bits
  5511. ------------------------------------------------------------------------
  5512. 1              7             even/odd        1 or more
  5513. 1              7             none            2
  5514. 1              7             mark/space      1 or more
  5515. 1              8             none            1 or more
  5516. ------------------------------------------------------------------------
  5517.  
  5518. At speeds of 1200 bps or higher, the modem always generates data in a 
  5519. 10-bit format, including the start bit. In the modem command state, 
  5520. information exchanged between the DTE and modem consists of commands and 
  5521. responses that are not transmitted or received over the phone line. The 
  5522. character formats supported by a particular modem are provided in your 
  5523. modem's installation information.
  5524.  
  5525. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  5526. A.1.2  Synchronous Transmissions
  5527.  
  5528. Synchronous communication is a specialized form of data transmission and 
  5529. generally requires special hardware and software combinations. When 
  5530. operating in a synchronous mode, the modem functions as a pipeline, 
  5531. sending bits across the link between modems according to uniform blocks 
  5532. of time. 
  5533.  
  5534. Communication is managed through special protocols. Though techniques 
  5535. differ slightly, synchronous protocols assemble data in frames prior to 
  5536. transmission and disassemble the frames on arrival. If the communication 
  5537. environment supports synchronous communication, the framing - data
  5538. formatting - is performed by the communications software. No data format
  5539. selection is required of the modem for synchronous operation.
  5540.  
  5541. Synchronous modes 1, 2, 3, and 4 are supported by standalone (external) 
  5542. modems. Hayes boardlevel (internal) modems support synchronous 
  5543. communications with synchronous mode 4, Hayes AutoSync. The only 
  5544. exceptions are the modems designed for the Apple Macintosh II family: 
  5545. Smartmodem 2400M and V-series Smartmodem 2400M. The Macintosh II, unlike 
  5546. other personal computers, supports both asynchronous and synchronous 
  5547. communications without an adapter card. If a personal computer (an IBM 
  5548. PC XT, for example) has a synchronous adapter card installed, then a 
  5549. Hayes standalone products that supports modes 1, 2, or 3, may be used 
  5550. for synchronous communications.
  5551.  
  5552. ************************************************************************
  5553. A.2  Communication Modes - &Q
  5554.  
  5555. The requirements of the communication link - including the software that
  5556. addresses the modem and the capabilities of the local and remote modems 
  5557. - determine the mode to be used. For example, there are three modes for
  5558. asynchronous DTEs (&Q0, &Q5, and &Q6) and three modes for synchronous 
  5559. DTEs (&Q1, &Q2, and &Q3). Most PC communications are performed in the 
  5560. asynchronous mode. Unless the modem is installed on a terminal, or 
  5561. computer with synchronous capability, or connected to a mainframe, 
  5562. communication will most likely be asynchronous. 
  5563.  
  5564. For those situations such as mainframe connections, the modem can be 
  5565. configured for synchronous modes. Synchronous communication requires 
  5566. special hardware in all but mode 4. In all synchronous modes, special 
  5567. software that provides the necessary protocol is required. Synchronous 
  5568. communication requires that the DTE (either the personal computer/data 
  5569. terminal or the port on the host computer) be able to exercise some 
  5570. degree of control over DTR. When the modem is operating in synchronous 
  5571. modes 1, 2, or 3, the modem's response to DTR transitions as specified 
  5572. by the &D command are significantly different than responses to changes 
  5573. in DTR when the modem is in asynchronous modes 0, 5, or 6. Modes 1, 2, 
  5574. and 3 are based on the 108.1 application of the CCITT Recommendation 
  5575. V.24 that specifies series interchange circuit designations. This 
  5576. alternative, "Connect Data Set (modem) To Line," is very similar to 
  5577. EIA/TIA-232-D (a revised version of RS 232-C).
  5578.  
  5579. "Mode 4: AutoSync" is the Hayes alternative for synchronous 
  5580. communication from a personal computer. Originally developed to afford 
  5581. Hayes internal modems for IBM PC XTs a means of communicating with 
  5582. synchronous computers (mainframes such as IBM 3090 models), this feature 
  5583. was added to standalone modems as well. Using a personal computer and 
  5584. software incorporating the Hayes Synchronous Interface (HSI) software, 
  5585. the modem can be used synchronously from most asynchronous serial 
  5586. computer ports.
  5587.  
  5588. The factory default setting is &Q0 (asynchronous mode) for Smartmodem 
  5589. products, and &Q5 for V-series, OPTIMA and ACCURA EC products. When a 
  5590. Hayes product attempts an error-control connection, the DTE asynchronous 
  5591. data is converted to synchronous data. The start and stop bits are 
  5592. discarded over the modem-to-modem link where the data is encapsulated by 
  5593. a synchronous framing protocol that the DTE cannot see. The specific type 
  5594. of synchronous framing (error-control protocol) that is used is determined 
  5595. by registers S36, S46, and S48. When a V-series product connects to a 
  5596. Smartmodem 1200 attached to a V-series Modem Enhancer, a special 
  5597. Asynchronous Framing Technique (AFT) is used when an error-control link is 
  5598. established (AFT preserves the start and stop bits in the modem-to-modem 
  5599. link.)
  5600.  
  5601. The &Q0 and &Q6 modes also convert the asynchronous DTE's start and stop 
  5602. bits to synchronous data in the modem-to-modem link, so that those modes 
  5603. are compatible at each end of the same modem connection. The &Q6 mode, 
  5604. however, permits the DTE to operate at a faster speed than the modem 
  5605. link by using buffers in the modem and bi-directional local flow control 
  5606. between the modem and the DTE. The &Q0 mode utilizes the CCITT V.14 
  5607. standard stop bit manipulation feature to accommodate the slight speed 
  5608. discrepancies that can occur between a modem and a DTE that are 
  5609. operating at the same nominal speed.
  5610.  
  5611. The chart below lists the &Q command options currently defined for 
  5612. selection of communication mode. Details on these modes are provided in 
  5613. subsequent sections.
  5614.  
  5615. Command    Definition
  5616. ------------------------------------------------------------------------
  5617. &Q0        Asynchronous mode - standard personal computer connection;
  5618.            call placement and connection are both asynchronous. Basic 
  5619.            setup permitting interaction with the modem in either the 
  5620.            command or the on-line states.
  5621.  
  5622. &Q1        Synchronous Mode 1 - call placement takes place using
  5623.            asynchronous DTE, then modem switches to synchronous DTE when 
  5624.            the connection is fully established. The switchover time is 
  5625.            controlled by register S25.
  5626.  
  5627. &Q2        Synchronous Mode 2 - dial stored number under control of the
  5628.            DTR interface circuit of a synchronous DTE. The use of an 
  5629.            asynchronous DTE in command state is optional.
  5630.  
  5631. &Q3        Synchronous Mode 3 - dial manually using the DTR (V.24 108.2) 
  5632.            interchange circuit to switch between voice and data modes. 
  5633.            Requires telephone to dial while in the voice mode. The use 
  5634.            of an asynchronous DTE in command state is optional.
  5635.  
  5636. &Q4        Hayes AutoSync - call placement takes place using
  5637.            asynchronous DTE, then modem switches to a special mode that 
  5638.            makes an asynchronous port appear to operate synchronously 
  5639.            after the connection is established. This mode requires 
  5640.            software addressing the Hayes Synchronous Interface (HSI).
  5641.  
  5642. &Q5        Error-control mode - call establishment and data transfer use
  5643.            an asynchronous DTE. Negotiation of error-control and 
  5644.            compression features with other modem is controlled by 
  5645.            registers S36, S46, and S48. With factory default settings, 
  5646.            modem in &Q5 mode attempts the most compressed error-free 
  5647.            connection features that the other modem will support. Modem 
  5648.            may "fall back" to &Q6 or to &Q0 modes during the connection 
  5649.            negotiation if the remote modem does not support an error-
  5650.            control protocol.
  5651.  
  5652. &Q6        Asynchronous mode with speed buffering enabled. In addition 
  5653.            to the features provided by &Q0, this mode allows for a DTE 
  5654.            speed that is faster than the modem-to-modem link. Modem 
  5655.            buffers and local flow control are used.
  5656. ------------------------------------------------------------------------           
  5657. Note: In addition to the modes selected and initiated with AT commands, 
  5658. some Hayes products also support CCITT V.25bis as an alternate method of 
  5659. controlling the modem. This method of modem control is discussed 
  5660. following the descriptions of the individual communication modes.
  5661.  
  5662. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  5663. A.2.1  Asynchronous Mode - &Q0
  5664.  
  5665. In this mode, the modem transmits and receives characters asynchronously 
  5666. to and from the local data terminal at the same nominal speed as the 
  5667. modem connection. Asynchronous mode can be selected with the &Q0 command 
  5668. option.
  5669.  
  5670. The asynchronous mode supports both the on-line and the "on-line" 
  5671. command states. When connected to an asynchronous data terminal, the 
  5672. modem can be configured, used as a dialer, and placed on-line for data 
  5673. communications. A complete explanation of communications in this mode is 
  5674. provided in your user documentation. 
  5675.  
  5676. If the modem receives a character while dialing the telephone number, it 
  5677. aborts the call and sends the OK result code; if a character is received 
  5678. after dialing but prior to the completion of the connection, it aborts 
  5679. the call and sends the NO CARRIER result code.
  5680.  
  5681. The modem exits the on-line state and returns to the command state when 
  5682. a loss of carrier exceeding the time interval stored in S10 is detected. 
  5683. For the responses associated with transitions of the DTR signal for this 
  5684. mode, refer to the discussions of the &D command in Chapter 1.
  5685.  
  5686. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  5687. A.2.2  Synchronous Mode 1:Sync/Async - &Q1
  5688.  
  5689. Synchronous mode 1 is intended to support terminals capable of 
  5690. communicating both synchronously and asynchronously over the same 
  5691. V.24/RS-232 port. In synchronous mode 1, a call may be completed using 
  5692. asynchronous methods from the command state with the D or A command. The 
  5693. modem automatically switches to the synchronous on-line state when the 
  5694. CONNECT XXXXX result code is delivered to the terminal. Because call 
  5695. establishment in this mode is initiated from the asynchronous command 
  5696. state, the modem must be attached to a computer port with both 
  5697. synchronous and asynchronous capabilities.
  5698.  
  5699. If the modem receives a character while dialing the telephone number, it 
  5700. aborts the call and sends the OK result code; if a character is received 
  5701. after dialing but prior to the completion of the connection, it aborts 
  5702. the call and sends the NO CARRIER result code.
  5703.  
  5704. The data terminal must apply an ON condition to DTR before on-line data 
  5705. transfer can begin. Once the CONNECT XXXXX result code is received, the 
  5706. modem delays a period of time determined by S25 before examining the 
  5707. condition of the DTR signal. If DTR is ON, the modem enters the 
  5708. synchronous on-line state. If DTR is OFF, the modem hangs up and returns 
  5709. to the asynchronous command state. For the responses associated with 
  5710. transitions of the DTR signal for this mode, refer to the discussions of 
  5711. the &D command in Chapter 1.
  5712.  
  5713. The modem exits the synchronous on-line state and returns to the 
  5714. asynchronous command state when a loss of carrier exceeding the time 
  5715. interval stored in S10 is detected.
  5716.  
  5717. If DTR is OFF and &D2 is selected, the auto-answer feature is disabled 
  5718. regardless of the value of register S0.
  5719.  
  5720. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  5721. A.2.3  Synchronous Mode 2: Stored Number Dial - &Q2
  5722.  
  5723. In this mode, the modem supports a synchronous-only data terminal or a 
  5724. computer with a synchronous adapter card. In synchronous mode 2, the 
  5725. modem automatically dials a number stored in location 0 (see the &Zn=x 
  5726. command) when the modem detects an off-to-on transition on DTR (when it 
  5727. is turned on). When configuring the modem for this mode, result codes 
  5728. should usually be turned off (the Q1 command option) as some computers 
  5729. do not interpret responses from the modem correctly. The modem can be 
  5730. configured in the asynchronous command state while &Q2 is in effect, but 
  5731. the D and A commands are disabled.
  5732.  
  5733. The modem exits the synchronous on-line state and returns to the 
  5734. asynchronous command state when a loss of carrier exceeding the time 
  5735. interval stored in S10 is detected. An on-to-off transition of DTR 
  5736. causes the modem to hang up and return to the asynchronous command 
  5737. state. For the responses associated with transitions of the DTR signal 
  5738. for this mode, refer to the discussions of the &D command in Chapter 1.
  5739.  
  5740. Synchronous mode 2 is similar to the CCITT Recommendation V.25bis 
  5741. ("Direct call and/or answer controlled by the DTE").
  5742.  
  5743. Once this mode has been selected, the modem may go off-hook and begin 
  5744. dialing the stored number as soon as the modem is connected to the 
  5745. terminal. To delay this transition, turn the modem off (place the power 
  5746. switch in the down position) before connecting the devices. When the 
  5747. connection is completed, turn the modem back on. Note that when DTR is 
  5748. off, auto-answer is disabled - regardless of the &D option selected.
  5749.  
  5750. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  5751. A.2.4  Synchronous Mode 3: Manual Dial with Data/Talk Switch - &Q3
  5752.  
  5753. In synchronous mode 3, the DTR interchange circuit serves as a data/talk 
  5754. switch. This mode supports a synchronous-only data terminal or a 
  5755. personal computer with a synchronous adapter card installed. A telephone 
  5756. set must be attached to the PHONE connector on the rear of the modem or 
  5757. directly to the telephone line. 
  5758.  
  5759. This mode permits the data terminal operator to initiate a call using the 
  5760. telephone with the modem in "talk mode," and to complete the call by 
  5761. switching the modem to the "data mode" by turning on the DTR interchange 
  5762. circuit. When configuring the modem for this mode, result codes should be 
  5763. turned off using the Q1 command option. The modem can be configured in the 
  5764. asynchronous command state while &Q3 is in effect, but the D and A commands 
  5765. are disabled.
  5766.  
  5767. To originate a call in synchronous mode 3, the DTR interchange circuit 
  5768. must be off. This places the modem in talk mode. When the modem has been 
  5769. configured for this mode with the &Q3 command, the terminal operator can 
  5770. lift the receiver and dial the number. When the last character of the 
  5771. dial string has been dialed, the modem can be switched to data mode by 
  5772. causing the data terminal equipment to turn on the DTR signal. The 
  5773. operator should then hang up the receiver. When the data terminal 
  5774. equipment turns on DTR, the TR indicator (on the front panel of
  5775. standalone Hayes products) lights up. For the responses 
  5776. associated with transitions of the DTR signal for this mode, refer to 
  5777. the discussions of the &D command in Chapter 1.
  5778.  
  5779. The modem exits the synchronous on-line state and returns to the 
  5780. asynchronous command state when a loss of carrier exceeding the time 
  5781. interval stored in S10 is detected.
  5782.  
  5783. If the connection fails, the modem automatically hangs up and switches 
  5784. from data to talk mode. To re-initiate the call, DTR must again be 
  5785. turned off.
  5786.  
  5787. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  5788. A.2.5  Synchronous Mode 4: Hayes AutoSync - &Q4
  5789.  
  5790. With communication software incorporating the Hayes Synchronous 
  5791. Interface (HSI), the modem can communicate synchronously without a 
  5792. synchronous interface adapter card. In AutoSync mode, the modem places 
  5793. the call asynchronously then automatically switches to synchronous 
  5794. operation once the telephone connection is fully established.
  5795.  
  5796. If the modem receives a character while dialing the telephone number, 
  5797. the modem aborts the call and sends the OK result code; if a character 
  5798. is received after dialing but prior to the completion of the connection, 
  5799. it aborts the call and sends the NO CARRIER result code.
  5800.  
  5801. The data terminal must apply an ON condition to DTR before data transfer 
  5802. can begin. Once the CONNECT XXXXX result code is received by the DTE, 
  5803. the modem delays for a period of time determined by S25 before examining 
  5804. the condition of the DTR signal. If DTR is ON, the modem enters the 
  5805. synchronous operation state. If DTR is OFF, the modem hangs up and 
  5806. returns to the asynchronous command state.
  5807.  
  5808. The modem exits the synchronous on-line state and returns to the 
  5809. asynchronous command state when a loss of carrier exceeding the time 
  5810. interval stored in S10 is detected. For the responses associated with 
  5811. transitions of the DTR signal for this mode, refer to the discussions of 
  5812. the &D command in Chapter 1.
  5813.  
  5814. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  5815. A.2.6  Error-control Mode - &Q5
  5816.  
  5817. The error-control mode is a feature available between modems supporting 
  5818. particular protocols (e.g., CCITT V.42). This mode provides a means of 
  5819. controlling errors that may occur during transmission. When operating 
  5820. in this mode, the modem implements one of the error-control protocols 
  5821. that can be negotiated with the remote modem.
  5822.  
  5823. If the modem receives a character while dialing the telephone number, it 
  5824. aborts the call and sends the OK result code; if a character is received 
  5825. after dialing but prior to the completion of the connection, it aborts 
  5826. the call and sends the NO CARRIER result code. For the responses 
  5827. associated with transitions of the DTR signal for this mode, refer to 
  5828. the discussions of the &D command in Chapter 1.
  5829.  
  5830. Error-control mode is automatically selected in &Q5 communication mode 
  5831. (factory setting) for V-series, OPTIMA and ACCURA EC products.
  5832.  
  5833. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  5834. A.2.7  Asynchronous Mode with Automatic Speed Buffering - &Q6
  5835.  
  5836. Automatic Speed Buffering (ASB) is useful for computers and 
  5837. communication programs that do not automatically adjust to changing 
  5838. transmission speeds. ASB enables computer equipment to send and receive 
  5839. data to and from the attached modem at one particular transmission 
  5840. speed, regardless of the speed of the modem-to-modem connection. (If 
  5841. using a Hayes Smartcom product, ASB is unnecessary; Hayes communications 
  5842. software adjusts to changing speeds and connection types.)
  5843.  
  5844. When a Hayes product cannot complete an error-control connection, it 
  5845. attempts to establish an asynchronous connection (if in factory 
  5846. configuration). When this occurs, the modem-to-computer (DTE) 
  5847. transmission speed may change, however. To accommodate computers or 
  5848. computers running software that cannot adjust to such a change, the 
  5849. local Hayes product can be configured to enable Automatic Speed 
  5850. Buffering  when it has to fall back to asynchronous communication. For 
  5851. negotiation failure treatments, see the description of S36 in Chapter 1, 
  5852. and the modem's installation information for the options available to 
  5853. the specific modem.
  5854.  
  5855. ASB buffers (stores) data temporarily, using local flow-control to 
  5856. parcel it from the computer as the modem is ready to receive it. The 
  5857. modem must be set with the &K command to use the appropriate DTE flow-
  5858. control method. When using ASB, the modem signals the local computer 
  5859. when to start and stop sending data, depending on how full the modem's 
  5860. 256-byte buffer is. The factory setting for flow-control is appropriate 
  5861. for most computers. However, in rare instances, you may need to select 
  5862. another flow-control method. For example, if using XON/XOFF flow control 
  5863. (&K4 setting) results in undesirable interactions with the user's 
  5864. application software, then RTS/CTS (&K3) or transparent XON/XOFF (&K5) 
  5865. are available.
  5866.  
  5867. To increase buffer size, change its "upper limit" by changing the 
  5868. setting of S50 from its factory setting of 16 bytes to a higher number 
  5869. in its range of 2-250 bytes. The value of the register reflects the 
  5870. number of bytes that can be stored in the buffer before the modem 
  5871. signals the computer to stop sending data. It is unlikely that the 
  5872. buffer's "lower limit," the level at which the modem signals the local 
  5873. computer to resume sending data, would ever need to be changed. However, 
  5874. this setting can be changed by writing to S49. The factory setting is 8 
  5875. bytes with a range of 1-249 bytes. If these register values are set 
  5876. incorrectly or outside the acceptable range, they are automatically 
  5877. adjusted by the modem for ASB to work.
  5878.  
  5879. If the modem receives a character while dialing the telephone number, it 
  5880. aborts the call and sends the OK result code; if a character is received 
  5881. after dialing but prior to the completion of the connection, it aborts 
  5882. the call and sends the NO CARRIER result code.
  5883.  
  5884. For the responses associated with transitions of the DTR signal for this 
  5885. mode, refer to the discussions of the &D command in Chapter 1.
  5886.  
  5887. ========================================================================
  5888. APPENDIX B:  TROUBLESHOOTING TIPS
  5889.  
  5890. This appendix offers solutions should you encounter any modem 
  5891. communications problems.The first sections discuss setup and 
  5892. configuration issues. The last sections describe the tests that can be 
  5893. run using AT commands.
  5894.  
  5895. When problems first occur, the natural response is to question the 
  5896. operation of the modem on one end or the other. However, as well as the 
  5897. modem, problems might involve cabling (where appropriate), the computer, 
  5898. the communications software, and the telephone lines. All of these 
  5899. components are potential problem areas that should be considered before 
  5900. assuming the difficulty lies with the modem.
  5901.  
  5902. ************************************************************************
  5903. B.1  The Communication Link
  5904.  
  5905. Because there is more to the connection than the modem, all of the 
  5906. components should be verified. Typically, the components 
  5907. in a communication link are two computers, two modems, and a dial-up 
  5908. telephone circuit. The installation may include a dedicated leased line 
  5909. rather than a switched central-office connection, or a mainframe host 
  5910. with an asynchronous or synchronous front-end processor at one end or 
  5911. the other. The general principles, however, are the same.
  5912.  
  5913. The suggestions provided in the user documentation accompanying each 
  5914. Hayes modem will clear up the majority of problems in an installation. 
  5915. Most difficulties arise from simple causes - improper or loose
  5916. connections or software incompatibility. Be sure to review the 
  5917. installation information and tips before assuming the problem is something 
  5918. more. The suggestions in this section require some familiarity with the 
  5919. Hayes Standard AT Command Set, DTE requirements, RS-232/CCITT V.24 signals,
  5920. and the telephone system.
  5921.  
  5922. A communication link problem may simply be due to a bad switchboard 
  5923. connection. Before calling the local telephone system, however, you 
  5924. should make sure the problem is not being caused by faulty or improperly 
  5925. connected equipment at either end. Telephone service can be very 
  5926. expensive, especially if the problem is not really with the phone lines.
  5927.  
  5928. ************************************************************************
  5929. B.2  Troubleshooting the Process
  5930.  
  5931. Troubleshooting the communications is best handled by analyzing the 
  5932. entire process. The failure is typically in only one area. This section 
  5933. looks at the causes and solutions to problems in the three main areas:
  5934.  
  5935. *  Problems in Getting Started
  5936.    The computer cannot communicate with the modem, or the connection is 
  5937.    inconsistent or otherwise substandard.
  5938.  
  5939. *  Problems in Establishing Communications
  5940.    DTE (computer, terminal) can communicate with the modem, but cannot 
  5941.    make the connection with the remote system.
  5942.  
  5943. *  Problems Encountered while On-line
  5944.    High error rate, dropped connections, scrambled data, and locked 
  5945.    systems are among the difficulties that may be experienced. 
  5946.  
  5947.  
  5948. The discussions on these areas will help in setting up and maintaining 
  5949. communications. In addition, the test procedures outlined in this 
  5950. section are useful in determining the source of a communications problem 
  5951. with the modem.
  5952.  
  5953. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  5954. B.2.1  Problems in Getting Started
  5955.  
  5956. If a newly-installed modem does not work properly, here are some likely 
  5957. causes:
  5958.  
  5959. *  Improper physical connection (data cables not plugged in, etc.).
  5960.  
  5961. *  Power supply not plugged into receptacle and modem therefore not 
  5962.    powered up.
  5963.  
  5964. *  Parameters set for the DTE or software preventing communication 
  5965.    between the DTE and modem.
  5966.  
  5967. It is uncommon for the modem itself to fail, although this does occur. 
  5968. Checking modem operation is fairly simple when the modem is an external 
  5969. device. Generally, if the modem failed its self tests on powerup, the 
  5970. front panel lights will indicate a problem. For example, on standalone 
  5971. modems, if the MR (modem ready) light does not come on, the modem may 
  5972. have a problem. Or if the HS light does not come on, the modem may be 
  5973. improperly configured.
  5974.  
  5975. Some cases of apparent modem failure may be caused by a power surge; 
  5976. changed parameters in your software that prevent it from finding the 
  5977. modem; an incompatible component in the communication link; an improper 
  5978. connection; or simply a device that is not plugged in or turned on. 
  5979. Before initiating the V.54 tests described in this chapter, re-examine 
  5980. the communications equipment to make sure none of the above conditions 
  5981. could be causing the difficulty.
  5982.  
  5983. ........................................................................
  5984. B.2.1.1  Verifying the DTE-to-Modem Connection
  5985.  
  5986. The first interface to verify is the one between the DTE and the modem. 
  5987. This involves the cable, the modem, the software, and the DTE.
  5988.  
  5989. Cable Requirements
  5990.  
  5991. When a cable is used to carry signals between the DTE and the modem 
  5992. (external modem) any cable with transmit, receive, and ground will 
  5993. support standard asynchronous communications. To make sure that 
  5994. communications are performed properly, all other transmission modes 
  5995. require additional signals. For example, synchronous communication 
  5996. requires timing signals. Error-control communication with hardware local 
  5997. flow control requires RTS and CTS signals. For pinouts and descriptions 
  5998. of these signals, see the end of this chapter. To determine the signal 
  5999. capabilities of a cable, you can issue the &T19 command (not supported by 
  6000. all Hayes products). The &T19 command is discussed later in this 
  6001. section.
  6002.  
  6003. Another cabling factor that can influence communications is shielding. 
  6004. If any of the cables that are connected to the DTE (not just the one 
  6005. connecting the modem to the computer) is not shielded, interference can 
  6006. occur that may result in data errors. In all cases, the connector and 
  6007. the cable wires themselves should be shielded to reduce the possibility 
  6008. of interference.
  6009.  
  6010. DTE Port or Slot
  6011.  
  6012. Although it may seem obvious, not every computer has a serial port (the 
  6013. kind necessary for modem communications). Also, that port may already be 
  6014. taken up by a printer. Some computers support a parallel printer, 
  6015. instead. If the modem is an internal modem, and it has been installed 
  6016. correctly, this should not be a problem. However, selection of the port 
  6017. is important, no matter whether it is an internal or external modem. In 
  6018. fact, improper port selection is one of the most frequently diagnosed 
  6019. problems discovered by Hayes Customer Service.
  6020.  
  6021. Modem's Command Processor and the Software
  6022.  
  6023. The process below may be useful for troubleshooting an unfamiliar
  6024. modem/software combination. This could be either for a new program or 
  6025. the addition of a new modem to an existing installation. The process is 
  6026. oriented toward asynchronous operation. However, if troubleshooting a 
  6027. synchronous connection, you will need to verify the asynchronous portion 
  6028. of the modem's operation anyway. The steps below help verify that 
  6029. command information is getting from the DTE to the modem and that its 
  6030. command processor is operating properly.
  6031.  
  6032. Process
  6033.  
  6034. If using communications software (and not a terminal), consult its 
  6035. user's guide for suggestions and the proper procedure for issuing 
  6036. commands directly to the modem. Some software will not permit direct 
  6037. command interface with the modem. It is essential that you be able to 
  6038. establish a direct connection between the DTE and the modem, so that 
  6039. what you type is transmitted through the computer directly to the modem.
  6040.  
  6041. Step 1:  Try issuing AT<CR>. 
  6042.  
  6043. The OK result code should be returned by the modem. The modem should be 
  6044. receiving your commands and be responding with a result code. If commands 
  6045. don't seem to be reaching the modem, check the cable connection. 
  6046. Make sure you are addressing the desired communication port (COM1 or COM2). 
  6047. This option is set either with a software option or with an operating 
  6048. system command. For example, the Chooser is used to select the COM 
  6049. port for the Macintosh. The DOS SET command is used for IBM PCs and 
  6050. compatibles. The physical connection of the modem to a terminal 
  6051. determines the port.
  6052.  
  6053. Step 2: If you can't see anything you type, or if for any other reason, 
  6054. you suspect that the modem's settings may be preventing the connection, 
  6055. issue AT&F<CR> to restore the modem's factory configuration. 
  6056.  
  6057. If the modem is a V-series, OPTIMA or ACCURA EC product, try issuing 
  6058. AT&Q0<CR> to put it into normal asynchronous mode. In this mode, any 
  6059. software should talk to the modem. For example, local flow control will 
  6060. not be an issue if it is configured for standard asynchronous mode.
  6061.  
  6062. Step 3: Try issuing commands to the modem. 
  6063.  
  6064. For example, try the I commands used to identify the modem. If OK or 
  6065. the expected results (see the I command descriptions in Chapter 1) are 
  6066. returned, the modem is operating as it should. Try changing a few 
  6067. configuration settings, then resetting the modem with ATZ<CR>. If OK 
  6068. is returned, this part of the modem's command processor is functioning 
  6069. properly. If no responses are returned from the modem, try issuing 
  6070. ATE1<CR> to enable command state echo. If characters are double, issue 
  6071. ATE0<CR> to disable command state echo, as the software is providing that 
  6072. echo already. Then try issuing some commands or reading some S-registers.
  6073.  
  6074. Analysis
  6075.  
  6076. If using different communications software before running this 
  6077. procedure, either that software is not compatible with the modem, or an 
  6078. incorrect setting (e.g., communication port) that prevented the 
  6079. connection was corrected with the software used to make the direct 
  6080. connection. 
  6081.  
  6082. This setting should be changed in the original software.
  6083. If the connection was made with the same software that previously 
  6084. exhibited a problem, but no problem occurred when in direct connect 
  6085. mode, check the settings used in the command-oriented process above to 
  6086. make sure that the standard software interface (probably menu-driven) is 
  6087. storing settings such as COM port selection, speed, and character 
  6088. format. This may all seem too rudimentary, but a simple conflict of 
  6089. modem and software settings typically causes the problem.
  6090.  
  6091. If the process works in asynchronous mode, but does not in error-control 
  6092. or ASB mode, you may have cabling and/or local flow control problems.
  6093.  
  6094. ........................................................................
  6095. B.2.1.2  Checking the Dialer and the Telephone Lines
  6096.  
  6097. Once you are certain that the modem is receiving and responding to 
  6098. commands from the DTE, you can verify the modem's dialing capabilities 
  6099. by attempting a call. This will also test the telephone lines. 
  6100.  
  6101. Process
  6102.  
  6103. As described in the previous section, check your communications software 
  6104. for the procedure to issue commands directly to the modem. The steps 
  6105. below explain how to place a call using the D command and various 
  6106. dialing modifiers.
  6107.  
  6108. Step 1:  First access the modem's AT command state. 
  6109.  
  6110. When you receive an OK result code, instruct the modem to dial an 
  6111. actual telephone number (using the D command). If calling out of a 
  6112. PBX, remember to include the 9 or other outside access code in the 
  6113. phone number. Listen for a dial tone, followed by the tone dialing 
  6114. beeps. When these occur, they ensure you've entered the phone number 
  6115. correctly, and the local phone line is responding properly. If there is 
  6116. no dial tone, check the phone line by dialing with an ordinary phone. 
  6117. Note that some PBX systems must be modified to produce at least 48 volts 
  6118. DC for the modem to work.
  6119.  
  6120. Step 2:  If you hear the phone on the other end ringing, then the remote 
  6121. phone is responding properly. Press any key to hang up.
  6122.  
  6123. Step 3:  Try dialing another modem to see if you make a connection. 
  6124.  
  6125. A connection is indicated by two whistling sounds of different tones 
  6126. (the carriers), followed by a hissing sound. The modem should respond
  6127. with a CONNECT XXXXX result code.
  6128.  
  6129. Analysis
  6130.  
  6131. When you have reached this point successfully, both modems are 
  6132. performing correctly. If no errors occurred with these steps, the 
  6133. problem is related to software, user error, or improper modem 
  6134. installation/setup. If this procedure indicated a problem with the 
  6135. modems or the communication link, go on to the next section. A common 
  6136. setting that might need to be changed is the software's or modem's 
  6137. response to the DTR signal (controlled by &D options).
  6138.  
  6139. You can check the modem's answer capabilities (or when serving as the 
  6140. remote modem in the process above) by issuing the A command when the 
  6141. phone rings. The incoming call must be from a modem, however, not a 
  6142. voice call. The same sequence of carrier exchange will be made.
  6143.  
  6144. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  6145. B.2.2  Problems Encountered During Communications
  6146.  
  6147. Another set of problems can follow establishment of a data connection. 
  6148. These may range from loss of carrier to data loss. The sections below 
  6149. discuss these situations.
  6150.  
  6151. ........................................................................
  6152. B.2.2.1  Data Loss or Corruption
  6153.  
  6154. A typical complaint regarding connections is that of lost or corrupted 
  6155. data. A number of factors can affect the transmission of data.
  6156.  
  6157. Modem Settings
  6158.  
  6159. "Garbled," or otherwise faulty data can occur from the time the 
  6160. connection is made or just a momentary problem. If all the data that 
  6161. comes across is incorrect, or if the modems handshake with each other 
  6162. successfully but not data can be transferred, suspect an error in the 
  6163. setting of some communications parameter. For example, both systems must 
  6164. use the same asynchronous character format or synchronous framing and 
  6165. clocking scheme. Even if the local system is operating properly, if the 
  6166. remote system uses a different format, the garbled data may be exactly 
  6167. what is sent and not the result of any modem or transmission error. 
  6168.  
  6169. Line Noise
  6170.  
  6171. Occasional garbling or loss may be the result of noise or otherwise poor 
  6172. quality of the telephone line. If a dial-up connection is too noisy, the 
  6173. connection should be broken, and the connection re-attempted; you get a 
  6174. different circuit each time. One that is acceptable for voice may not be 
  6175. for data. With a leased line, the circuit is always the same. If you 
  6176. experience line noise or line drops, you should contact (or the software 
  6177. should recommend that the user contact) the vendor of the leased line.
  6178.  
  6179. Transmit and Receive Levels
  6180.  
  6181. Other factors that affect both leased and dial-up lines are the transmit 
  6182. and receive levels. These settings determine the signal levels used by 
  6183. the modem in each direction. Some Hayes modems permit these levels to be 
  6184. adjusted. The range and availability of these adjustments is in large 
  6185. part controlled by the local telephone system. For example, the 
  6186. recommended settings and ranges are different for modems sold in the 
  6187. U.K. than for those sold in the U.S. See the user documentation 
  6188. accompanying the modem to determine whether this capability is supported.
  6189.  
  6190. DTE Processor Restrictions
  6191.  
  6192. Some multitasking operating systems can occasionally lose small amounts 
  6193. of data if the computer is heavily loaded and cannot allocate processing 
  6194. time to the communications task frequently enough. In this case, the 
  6195. data is corrupted by the DTE itself. This could also cause incomplete 
  6196. data transmission to the remote system. DTE processor capabilities 
  6197. should be a concern when developing software for data communications 
  6198. when the line speed is greater than 9600 bps and the modem-to-DTE 
  6199. connection is 19200 bps or higher (for example, when data compression is 
  6200. used). The modem will provide exact transmission of the data it 
  6201. receives, but if the DTE cannot "keep up" with the modem because of 
  6202. other tasks or speed restrictions, precautions should be taken when 
  6203. writing software or when adding modems with extra high speed 
  6204. capabilities into a link.
  6205.  
  6206. One way to avoid the problem of data loss caused by the DTE is the use 
  6207. of an upgraded serial port such as Hayes Enhanced Serial Por (ESP*) 
  6208. card. This card replaces the existing serial card, providing two ports, 
  6209. data buffering, and a communications co-processor to take some of the 
  6210. load off of the DTE processor. For information regarding this product 
  6211. line, contact Hayes Customer Service.
  6212.  
  6213. Buffer Overflow
  6214.  
  6215. Hayes products that support error-control communications provide a data 
  6216. buffer for overflow when the modem is transmitting data to the DTE faster 
  6217. than it can process it, or vice versa. The upper and lower limits of the 
  6218. buffer can be adjusted with S49 and S50, although the factory settings suit 
  6219. most situations.
  6220.  
  6221. ........................................................................
  6222. B.2.2.2  Dropped or Lost Connections
  6223.  
  6224. Phone line quality or features such as call waiting can cause lost 
  6225. connections. As described above, if the connection keeps dropping, you 
  6226. might want to contact the telephone company. However, you may first want 
  6227. to try a connection with another remote system and/or try using the 
  6228. modem from a different phone connection altogether. In addition to phone 
  6229. line problems, two other things might cause loss of connection.
  6230.  
  6231. Call Waiting
  6232.  
  6233. The call waiting feature available on some dial-up lines momentarily 
  6234. interrupts a call, causing a click, to inform voice call users that 
  6235. another call is coming through. This process effectively interrupts the 
  6236. carrier signal and may cause some modems to drop the connection.
  6237.  
  6238. One way around this is to set S10 to a higher value so the modem 
  6239. tolerates a fairly long loss of carrier signal. Data loss may still 
  6240. occur, but the connection will not drop. Of course, the remote modem 
  6241. must be similarly configured. When originating the call, a special 
  6242. prefix can be issued as part of the dialing string to disable call 
  6243. waiting for the duration of the call. The exact procedure varies from 
  6244. area to area; contact the local telephone system for details.
  6245.  
  6246. Automatic Timeout
  6247.  
  6248. Some Hayes modems offer an automatic timeout feature, to prevent an 
  6249. inactive connection from being maintained. This inactivity delay can be 
  6250. set or disabled with S30. This feature prevents occurrences such as 
  6251. undesired long distance charges for a connection that was 
  6252. unintentionally maintained.
  6253.  
  6254. System Lock-up
  6255.  
  6256. There are situations in which systems do lock up, but in many cases it 
  6257. is simply that one or the other of the DTEs has inadvertently sent a 
  6258. character that stops data transfer. This can happen during error-control 
  6259. connections if the wrong kind of local flow control has been selected. 
  6260. For an explanation of local flow control options, see the &K command 
  6261. definition in Chapter 1. In addition, the problem could be the result of 
  6262. incompatible RS-232/CCITT V.24 signaling. The section below provides 
  6263. some situations and tips that will help if the communication link seems 
  6264. to lock up.
  6265.  
  6266. ************************************************************************
  6267. B.3  Special Environment Considerations
  6268.  
  6269. The charts below provide some hints for custom setups to remedy problems 
  6270. for DTE and telephone line peculiarities. Because Hayes modems can be 
  6271. configured to suit almost any combination of components in a 
  6272. communication link, you can adjust to compensate for limitations in 
  6273. almost any computer or telephone system (within the limits imposed by 
  6274. the local telephone authorities).
  6275.  
  6276. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  6277. B.3.1  Custom Modem Setup for Mainframe or Minicomputer Host
  6278.  
  6279. Check the following host symptom/limitation situations for a solution 
  6280. involving modem re-configuration.
  6281.  
  6282. Host Limitations                    Hayes Soultions
  6283. ------------------------------------------------------------------------
  6284. Can't control DTR or issue          Select &D0: Modem ignores changes
  6285. escape sequence with guard time     in DTR status (factory setting)
  6286.  
  6287. Can reset itself but not the modem  Select &D1: Modem enters command 
  6288.                                     state when on-to-off transition of 
  6289.                                     DTR is detected.
  6290.  
  6291. DTR timing is not adjustable        Adjust register S25 delay time
  6292.  
  6293. Unable to monitor carrier           Select &S1: Handshake asserted prior 
  6294. (older IBM Hosts)                   to handshake negotiation
  6295.  
  6296. Must see DSR at all times           Select &S0: DSR always asserted
  6297. (VAX systems)
  6298.  
  6299. Timing will not support lengthy     Select &S2: DSR asserted 
  6300. handshakes                          after handshake negotiation, but 
  6301. (reassociated with some             before CONNECT result code is
  6302. high-speed modems)                  sent to DTE. Also select a 
  6303.                                     specific negotiation handshake 
  6304.                                     option (N command option.) which 
  6305.                                     specifically matches the modem 
  6306.                                     combinations.
  6307.  
  6308. Must see CTS to be able to          Select &R: ignore RTS; always assume 
  6309. talk to modem                       presence of CTS.
  6310.  
  6311. RTS/CTS timing not adjustable       Adjust S26 RTS-to-CTS delay time
  6312.  
  6313. Not able to recognize FDX modem on  Adjust S26 RTS-to-CTS delay time
  6314. 2-wire telephone line
  6315. ------------------------------------------------------------------------
  6316.  
  6317. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  6318. B.3.2  Custom Modem Setup for Telephone System Requirements
  6319.  
  6320. Check the following telephone system symptom/limitation situations for a 
  6321. solution involving modem re-configuration.
  6322.  
  6323. Telephone System Limitation or Problem      Hayes Solution
  6324. ------------------------------------------------------------------------
  6325. Noise on telephone line causes modem to     Increase S9 setting: Carrier 
  6326. falsely detect carrier on line              Recovery Time
  6327.  
  6328. Modem connection broken due to noise        Increase S10 setting: Lost 
  6329. spikes on the telephone line                Carrier-to-Hang-UP Delay
  6330.  
  6331. Security problems with incoming calls       Decrease S10 setting; if 
  6332. connecting onto prior host sessions -       S10 is set to 255, the 
  6333. indicating that host can't reset soon       modem will not hang up when 
  6334. enough                                      carrier is lost.
  6335.  
  6336. System needs to be able to originate        Issue the R command 
  6337. calls in answer mode for call-back          within a dial string 
  6338. security                                    (Reverse mode)
  6339.  
  6340. Telephone system is too slow to             Increase register S11 
  6341. be able to respond to auto-dial DTMF        setting: Tone dialing speed
  6342. (tone dialing) pulses
  6343.  
  6344. Business telephones (multi-line             Check setting of &J command; 
  6345. use key systems) exhibit false              the &J1 setting with RJ-12 
  6346. "busy" light indications                    and RJ13 type phone jacks.
  6347.  
  6348. System must be able to call                 After accessing the PBX, 
  6349. past unattended operator positions          issue the following dialing 
  6350.                                             command modifiers: !(*;#)
  6351. ------------------------------------------------------------------------
  6352.  
  6353. ************************************************************************
  6354. B.4      Using AT Commands to Test Modem Circuits
  6355.  
  6356. In addition to the powerup tests the modem performs, you can also use AT 
  6357. commands to check the modem's functions. This section describes the 
  6358. tests that can be performed, provides a procedure for each test, and 
  6359. explains the results that can be expected.
  6360.  
  6361. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  6362. B.4.1  Available Tests
  6363.  
  6364. As part of the modem's operation, it can be placed in several loopback 
  6365. conditions. These conditions are primarily for the purpose of testing 
  6366. the digital and analog capabilities of the modem by simulating the 
  6367. activities performed by these functions during the communication 
  6368. process.
  6369.  
  6370. These loopback patterns can serve as diagnostics to help in determining 
  6371. whether the source of a communication problem is a local modem, a remote 
  6372. modem, or connections in between. Although these tests are oriented 
  6373. toward problems in a new installation, they are also useful if a 
  6374. previously working modem suddenly fails. Refer to the troubleshooting 
  6375. information provided in the documentation accompanying the modem(s) for 
  6376. suggestions on remedying a communications problem.
  6377.  
  6378. Failures in a point-to-point communication link, usually characterized 
  6379. by unacceptably high error rates or total inability to communicate, may 
  6380. be the fault of either the local or remote computer, the local or remote 
  6381. modem, or the telephone company circuit. The modem's diagnostic and test 
  6382. facilities enable you to determine the source of the problem:
  6383.  
  6384. *  Local Analog Loopback: Tests the path that includes the local modem 
  6385. and local computer
  6386.  
  6387. *  Local Analog Loopback with Self Test: Checks the operation of the 
  6388. local modem with an internally generated test pattern
  6389.  
  6390. *  Remote Digital Loopback: Verifies the path that includes the local 
  6391. computer, local modem, remote modem, and telephone circuit
  6392.  
  6393. *  Remote Digital Loopback with Self Test: Tests the path that includes 
  6394. the local modem, remote modem, and telephone circuit with an internally 
  6395. generated test pattern. This test requires a CCITT compatible modem.
  6396.  
  6397. *  Local Digital Loopback: Tests the communication link, the local 
  6398. modem, and the remote modem (permits a non-CCITT compatible, remote 
  6399. modem to engage in a digital loopback test with the local modem).
  6400.  
  6401. All digital loopback tests must be performed while the modem is 
  6402. configured for asynchronous operation. Before beginning, place the modem 
  6403. in the asynchronous mode with the &Q0 command.
  6404.  
  6405. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  6406. B.4.2  Performing a Test
  6407.  
  6408. Tests are performed by issuing AT commands to the modem. Some tests 
  6409. require a connection be established. Others, like the internal memory 
  6410. diagnostics and analogue loopback tests, check the local modem only and 
  6411. therefore do not require a link with a remote modem. The procedures 
  6412. below explain how to initiate and terminate tests.
  6413.  
  6414. ........................................................................
  6415. B.4.2.1  Initiating a Test
  6416.  
  6417. All of the diagnostic tests must be initiated from the asynchronous 
  6418. command state (&Q0). To use the loopback tests:
  6419.  
  6420. *  Establish a connection (except when running Analog Loopback L3 
  6421. test)), and return to the command state by issuing the escape sequence 
  6422. (+++), or if the &D1 DTR option is selected, by generating an on-to-off 
  6423. transition on DTR.
  6424.  
  6425. *  Issue the appropriate &T command once in the command state.
  6426.  
  6427. These tests are performed from the asynchronous command state. The 
  6428. results of these tests may be will help check out the modem's function 
  6429. and the quality of the communications link.
  6430.  
  6431. ........................................................................
  6432. B.4.2.2  Terminating a Test in Progress - &T0
  6433.  
  6434. A test may be terminated from the command state at any time by issuing 
  6435. the &T0 command to the modem. If the local analogue loopback or remote 
  6436. digital loopback tests are being performed, it is necessary to issue the 
  6437. escape sequence to return to the command state before sending the &T0 
  6438. command. Commands that follow &T0 in a command line are ignored.
  6439.  
  6440. Entering the H0 command will terminate a test, leaving the value of S18 
  6441. at its current value; resetting with the Z command terminates the test, 
  6442. resetting the value of S18 to 0. A soft reset with the Z command re-
  6443. configures the modem with the selected user profile. Both techniques 
  6444. break the connection.
  6445.  
  6446. ........................................................................
  6447. B.4.2.3  Setting the Test Timer - S18=
  6448.  
  6449. The test timer determines the duration of a test. S18, when set to a 
  6450. non-zero value, establishes the duration of the modem's diagnostic 
  6451. tests. When a test has been active for a period equal to the value 
  6452. chosen for this register (from 1 to 255 seconds), the modem will 
  6453. automatically stop the test and return to the command state.
  6454.  
  6455. For example, if the register is set to 10 (ATS18=10<CR>), a test, when 
  6456. initiated, will continue for 10 seconds. Setting S18 to zero 
  6457. (ATS18=0<CR>) disables the test timer (factory setting). Tests are then 
  6458. terminated with the &T0 command or by resetting the modem.
  6459.  
  6460. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  6461. B.4.3  Testing with Analog Loopback
  6462.  
  6463. Use the analog loopback tests if you suspect the modem is causing errors 
  6464. in data transmission. The local analog loopback test will verify both 
  6465. the local modem and the local data terminal equipment. If this test 
  6466. fails, the data terminal equipment rather than the modem may be at 
  6467. fault. 
  6468.  
  6469. The local analog loopback with self test will verify the 
  6470. integrity of the local modem only. If this test fails, the local modem 
  6471. is at fault. If the modem passes both of these tests, attempt the remote 
  6472. digital loopback with self test to verify the modem-to-modem 
  6473. communication path.
  6474.  
  6475. ........................................................................
  6476. B.4.3.1  Local Analog Loopback L3 - &T1
  6477.  
  6478. Use the analog loopback test if you suspect the modem is causing errors 
  6479. in data transmission. The local analog loopback test will verify both 
  6480. the modem and the local computer. If the local analog loopback test 
  6481. fails, the local computer may be at fault.
  6482.  
  6483. Note: This test may be performed with a V.21, V.22, V.22bis, or V.23 
  6484. connection.
  6485.  
  6486. Set the local computer to echo characters and the local modem to echo 
  6487. commands received from the local computer (the E1 option selected). 
  6488. Initiate the test with &T1. Type a few sentences; they will be looped 
  6489. back to the local computer.
  6490.  
  6491. If the modem echoes your keyboard input to the screen as you typed it, 
  6492. the modem is operating correctly. If not, the modem may be faulty. To 
  6493. end the test, enter the command state by issuing the escape sequence 
  6494. with guard time (+++) and then issue the &T0 command.
  6495.  
  6496. ........................................................................
  6497. B.4.3.2  Local Analog Loopback with Self Test - &T8
  6498.  
  6499. This test is used to verify the integrity of the local modem's transmit 
  6500. and receive circuits. During this test, an internally generated test 
  6501. pattern is transmitted from the modem, looped back into the receiver 
  6502. circuit, and compared with the original pattern for any errors.
  6503.  
  6504. Note: This test may be performed with a V.22 or V.22bis connection (&Q0 
  6505. and B0 selected).
  6506.  
  6507. Set the computer to echo characters and the local modem to echo commands 
  6508. received from the computer (the E1 command selected). Initiate the test 
  6509. with &T8. When the test is terminated, with the &T0 command, the modem 
  6510. will return a three-digit test result (e.g., 000=no errors, 012=12 
  6511. errors). If the error count reported is 000, the local modem passed the 
  6512. test. An error count of 255 indicates that 255 or more errors were 
  6513. detected.
  6514.  
  6515. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  6516. B.4.4  Testing with Digital Loopback
  6517.  
  6518. Local digital loopback and remote digital loopback together test all of 
  6519. the components in the communication link, including the modems. Data 
  6520. sent from one modem is looped back to it by the other modem without 
  6521. going through the other modem's computer. Local digital loopback tests 
  6522. the communication link from the remote modem; remote digital loopback 
  6523. tests the communication link from the local modem.
  6524.  
  6525. When local and remote digital loopback indicate a modem problem rather 
  6526. than a communication link problem, both parties should run local analog 
  6527. loopback to test the modems. If both modems test good but problems 
  6528. persist, disconnect and place another call. If the problem still exists, 
  6529. the phone line or another component in the communication link is faulty.
  6530.  
  6531. ........................................................................
  6532. B.4.4.1  Remote Digital Loopback L2 - &T6
  6533.  
  6534. Remote digital loopback verifies the operation of both modems, the local 
  6535. computer, and the telephone circuit, by commanding the remote modem to 
  6536. loop data sent to the remote system back to the local modem.
  6537.  
  6538. Note: This test may be performed with a V.22 or V.22bis connection and 
  6539. &Q0 mode selected.
  6540.  
  6541. Before initiating remote digital loopback, establish a connection with a 
  6542. remote modem. Then, enter the command state and issue the &T6 command to 
  6543. begin the test.
  6544.  
  6545. Type a few sentences; they will be looped back to the local computer 
  6546. without appearing on the remote screen. If the modem echoes your 
  6547. keyboard input to the screen as you typed it, the modem is operating 
  6548. correctly. If the received data does not match what you typed, one of 
  6549. the modems or the local communication link is not functioning properly. 
  6550. To end the test, enter the command state and issue the &T0 command.
  6551.  
  6552. Note: The local modem requests a digital loopback with the remote modem 
  6553. through a special CCITT standard handshake sequence. The remote modem 
  6554. automatically acknowledges the request if it has been conditioned to do 
  6555. so with the &T4 command. (See the discussions on the &T4 and &T5 
  6556. commands.) If the remote modem is not Hayes-compatible, it may not 
  6557. permit this test to be executed from the local modem (response will be 
  6558. ERROR). However, if the remote user can put the modem into local digital 
  6559. loopback or an equivalent state, the test can be performed from the 
  6560. local modem.
  6561.  
  6562. ........................................................................
  6563. B.4.4.2  Remote Digital Loopback with Self Test - &T7
  6564.  
  6565. This test verifies operation of the local modem, the remote modem, and 
  6566. the telephone circuit. The local modem sends a self test pattern to the 
  6567. remote station. The remote modem, when configured to grant remote 
  6568. digital loopback (with &T4), loops its receive data stream back to the 
  6569. local system. The local modem examines the receive pattern and 
  6570. increments an internal error counter each time an error is detected.
  6571.  
  6572. Note: This test may be performed with a V.22 or V.22bis connection and 
  6573. &Q0 mode selected.
  6574.  
  6575. Before beginning the test, establish a connection with a remote modem. 
  6576. Then, enter the command state and initiate the remote digital loopback 
  6577. by issuing &T7. When the test is terminated with the &T0 command, the 
  6578. modem will return a three-digit test result (e.g., 000=no errors; 012=12 
  6579. errors). If the error count reported is 000, the local and remote modems 
  6580. and the telephone circuit passed the test. If errors were encountered, 
  6581. initiating a local analog loopback test will further isolate the source 
  6582. of the problem. An error count of 255 indicates that 255 errors or more 
  6583. errors were detected.
  6584.  
  6585. ........................................................................
  6586. B.4.4.3  Local Digital Loopback - &T3
  6587.  
  6588. Local digital loopback tests the communication link and the remote 
  6589. modem. During this test, the local modem loops incoming data directly 
  6590. back to the remote modem.
  6591.  
  6592. To begin local digital loopback, establish a connection with a remote 
  6593. modem, then enter the command state and issue the &T3 command.
  6594.  
  6595. The operator at the remote system should type in a few sentences. They 
  6596. will be looped back to the remote computer. When the operator at the 
  6597. remote system indicates that the test is complete, issue the &T0 command 
  6598. to end the test. If the operator at the remote system reports that the 
  6599. data came back without errors, the remote modem and the communication 
  6600. link are functioning properly.
  6601.  
  6602. ........................................................................
  6603. B.4.4.4  Grant RDL Request from Remote System - &T4
  6604.  
  6605. This command configures the local modem to grant a request from the 
  6606. remote modem for a remote digital loopback test (factory setting).
  6607.  
  6608. ........................................................................
  6609. B.4.4.5  Deny RDL Request from Remote System - &T5
  6610.  
  6611. This command prohibits the local modem from granting a request from the 
  6612. remote modem for a remote digital loopback test.  
  6613.  
  6614. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  6615. B.4.5  Testing the Tone Dialer - &T2
  6616.  
  6617. This command allows testing of the modem's multi-frequency tone dialer 
  6618. by sending out continuous tones of the keypad characters (0-9, A-D, *, 
  6619. #).
  6620.  
  6621. To generate any tone combination, type:
  6622.  
  6623. AT X1 &T2 DT (followed by one of the keypad characters: 0-9, A-D) <CR>
  6624.  
  6625. The modem will transmit a continuous tone pair until the <CR> key is 
  6626. pressed or &T0 is entered to terminate the test.
  6627.  
  6628. ************************************************************************
  6629. B.5  Testing the Cable
  6630.  
  6631. The cable (if used to connect the modem to the DTE, rather than through 
  6632. an internal slot) is an integral part of the communication link. Even if 
  6633. the DTE, serial card, and modem support all of the signals necessary for 
  6634. full communications, if the cable supports only transmit and receive 
  6635. signals, communication may be limited.
  6636.  
  6637. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  6638. B.5.1  Cable Quality
  6639.  
  6640. High-speed and lengthy distances between the modem and the DTE are two 
  6641. reasons to make sure that the modem-to-DTE cable is shielded and fully 
  6642. supports the pin-outs (pin assignments) according to the RS-232/CCITT 
  6643. V.24 standards described in Appendix C.
  6644.  
  6645. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  6646. B.5.2  Checking Cable Signals - &T19
  6647.  
  6648. The &T19 command was created to provide a way for software to test the 
  6649. capabilities of the cable between the DTE and the modem, instead of 
  6650. assuming that the RTS/CTS lines (used for hardware local flow control) 
  6651. were supported in a cable. This command is implemented in Hayes Smartcom 
  6652. products; when setting up the modem, one of its initial operations is 
  6653. issuing this command. The command is fully documented in Chapter 1. The 
  6654. signals tested by this command are according to the RS-232/CCITT V.24 
  6655. standards described in the next section.
  6656.  
  6657. ************************************************************************
  6658. B.6  Testing Internal Memory
  6659.  
  6660. The various forms of the I command instruct the modem to query its 
  6661. memory for information about itself. Although the results of these tests 
  6662. are most frequently used by Hayes Customer Service, some software also 
  6663. uses the responses when determining how to set up the modem prior to 
  6664. communication. These tests request information about the modem's 
  6665. firmware; therefore, it is unnecessary to connect with a remote system 
  6666. before issuing the I command. The various options for this command are 
  6667. explained fully in Chapter 1.
  6668.  
  6669. ========================================================================
  6670. APPENDIX C:  MODEM-TO-DTE INTERFACE
  6671.  
  6672. This appendix discusses the requirements and capabilities of the modem's 
  6673. interfaces to the DTE line. Standalone modems interface to the DTE 
  6674. according to the RS-232 standard. The particulars of this interface used 
  6675. with Hayes standalone modems are described. Hayes internal modems use the 
  6676. RS-232 signals, although the specific use of these circuits is determined 
  6677. by the bus interface of the computer.
  6678.  
  6679. ************************************************************************
  6680. C.1  RS-232/CCITT V.24 Interfaces
  6681.  
  6682. RS-232 is the EIA (Electronic Industries Association) definition of the 
  6683. electrical interface used for connections of data terminal equipment 
  6684. (DTE) to data circuit terminating equipment (DCE).
  6685.  
  6686. Although not exactly the same, RS-232 is compatible with CCITT V.24, 
  6687. V.28, and ISO IS2110 standards. This standard prescribes the interface 
  6688. to the local DTE and normally uses a DB-25 connector with 13 pins in one 
  6689. row and 12 in the other. RS-232 supports speeds up to 20 Kbps at a 
  6690. distance of 50 feet. RS-232 falls under layer one (physical layer) of 
  6691. the OSI (Open Systems Interconnection) model.
  6692.  
  6693. Hayes modems support the electrical portion of the RS-232 standard 
  6694. completely. However, signal definition varies from modem to modem.
  6695.  
  6696. ************************************************************************
  6697. C.2  Signals Used in the RS-232 Interface
  6698.  
  6699. The following signal types are used in the RS-232 interface. All of 
  6700. these types are not required for all communications. Their corresponding 
  6701. CCITT V.24 equivalents are also provided.
  6702.  
  6703. Ground signals are present for protection and signal reference. These 
  6704. signals are present on pins 1 and 7 of the interface (7 always needed).
  6705.  
  6706. Data signals are used to transmit and receive data across the interface. 
  6707. The pins used are 2 for transmit and 3 for receive (always needed).
  6708.  
  6709. Control signals are used to ensure that both the DTE and DCE are ready 
  6710. before any information is transmitted. These signals are also used for 
  6711. flow control during the transfer of data. Pins 4, 5, 6, 8, 20, and 22 
  6712. are control signals (need depends on the application).
  6713.  
  6714. Timing signals control the rate at which data is transmitted and 
  6715. received across the interface. These signals are only used for 
  6716. synchronous transmission and are located on pins 15, 17, and 24.
  6717.  
  6718. The RS-232 signals and their CCITT equivalents are outlined below:
  6719.  
  6720. Inter-   CCITT       Description              Pin     To DTE    To DCE
  6721. Change   Equivalent
  6722. Circuit
  6723. ------------------------------------------------------------------------
  6724. AA       101         Protective Ground        1
  6725. AB       102         Signal Ground or         7
  6726.                      Common Return
  6727. BA       103         Transmitted Data         2       X
  6728. BB       104         Received Data            3       X
  6729. CA       105         Request to Send (RTS)    4                 X
  6730. CB       106         Clear to Send (CTS)      5       X
  6731. CC       107         Data Set Ready (DSR)     6       X
  6732. CD       108.2       Data Terminal Ready      20                X
  6733.                      (DTR)
  6734. CE       125         Ring Indicator (RI)      22      X
  6735. CF       109         Received Line Signal     8       X
  6736.                      Detector (DCD)
  6737. CG       110         Signal Quality Detector
  6738.                      - not used
  6739. CH       111         Data Signal Rate Detect  23      X
  6740.                      (DTE Source)
  6741. CI       112         Data Signal Rate Detect  12      X
  6742.                      (DCE Source)
  6743. DA       113         Transmitter Signal       24                X
  6744.                      Element
  6745.                      Timing (DTE Source)
  6746. DB       114         Transmitter Signal       15      X
  6747.                      Element
  6748.                      Timing (DCE Source)
  6749. DD       115         Receiver Signal Element  17      X
  6750.                      Timing (DCE Source)
  6751. ------------------------------------------------------------------------
  6752. ************************************************************************
  6753. C.3  RS-232 Signal Definitions
  6754.  
  6755. This section provides definitions of the signals used for modem 
  6756. operation. The circuit is first defined according to RS-232, then its 
  6757. use explained according to the way it is used by Hayes modems.
  6758.  
  6759. Protective Ground (pin 1) is connected to the equipment frame. The 
  6760. ground pin is electronically bonded to the modem case for standalone 
  6761. products, and to the computer's housing through the particular bus 
  6762. for internal modems. Hayes Personal Modem products do not use this signal. 
  6763.  
  6764. Transmit Data (pin 2) is data that is transmitted from the DTE to the 
  6765. DCE device. Data should not be placed on this pin unless the RTS, CTS, 
  6766. DSR, and DTR signals are on. This is the circuit that carries the data 
  6767. from the attached computer or terminal to the modem for transmission 
  6768. across the telephone lines.
  6769.  
  6770. Receive Data (pin 3) is data that is transmitted from the DCE to DTE. 
  6771. This circuit carries the data from the modem to the attached computer or 
  6772. terminal.
  6773.  
  6774. Request To Send (pin 4) requests the channel for data transmission and 
  6775. is usually ignored during asynchronous operation. It is also used to 
  6776. control the direction of transmission on a half-duplex link. This signal 
  6777. indicates whether the attached DTE is ready to receive data. When the 
  6778. modem is operating asynchronously, this signal is always on, indicating 
  6779. that the modem can send at any time. The circuit functions the same way 
  6780. in error-control mode, unless the RTS/CTS local flow control method has 
  6781. been selected. In this case, the modem uses this signal to determine 
  6782. when the DTE is ready to receive data. In synchronous, on-line 
  6783. operation, the modem can be configured to ignore RTS or respond to RTS 
  6784. by turning on CTS after the delay specified by S26. The modem's use of 
  6785. this signal is controlled by the &R command. When in command state, the 
  6786. modem always ignores RTS.
  6787.  
  6788. Clear To Send (pin 5) An ON condition of this signal indicates that the 
  6789. modem is ready to transmit data. This signal comes high after both DSR 
  6790. and DCD go high. This signal indicates whether the modem is ready to 
  6791. accept data, from the attached DTE for transmission. When the modem is 
  6792. operating asynchronously, this signal is always on, indicating that the 
  6793. modem can receive data at any time. In error-control mode, the signal is 
  6794. maintained on unless RTS/CTS local flow control has been selected. In 
  6795. this case, the modem uses this signal to indicate to the DTE that the 
  6796. modem is ready to receive data. When operating synchronously, but in the 
  6797. asynchronous command state, the modem also maintains the CTS signal on. 
  6798. The modem turns CTS off immediately upon going off-hook, and maintains 
  6799. CTS off until both DSR and DCD are on and the modem is fully prepared to 
  6800. transmit and receive synchronous data. The modem can also be configured 
  6801. to turn CTS on in response to an off-to-on transition of RTS (see 
  6802. discussion of &R command).
  6803.  
  6804. Data Set Ready (pin 6) An ON condition indicates that the modem is off 
  6805. hook and is not in test mode. The signal normally goes high as soon as a 
  6806. remote carrier is detected. This signal indicates whether the modem is 
  6807. connected to a communication channel and is ready to exchange control 
  6808. characters to initiate data transmission. In asynchronous or error-
  6809. control mode, the modem can be configured to maintain this signal on at 
  6810. all times or have it reflect the actual state of the DSR circuit.
  6811.  
  6812. Signal Ground (pin 7) establishes a common ground reference potential 
  6813. for all signal circuits.
  6814.  
  6815. Data Carrier Detect - RLSD (pin 8) is turned on when the modem receives
  6816. a signal from the remote modem that meets the criteria for demodulation. 
  6817. This signal indicates whether the receiver section of the modem is or is 
  6818. not accepting transmitted data. In asynchronous or error-control mode, 
  6819. the modem can be configured to maintain this circuit on at all times, or 
  6820. to track the presence of a data carrier from the remote modem. In 
  6821. synchronous mode, this circuit always tracks the presence of data 
  6822. carrier. See the discussion of the &C command.
  6823.  
  6824. Transmitter Clock (pin 15) provides the DTE with bit timing clock in 
  6825. synchronous mode of operation. This signal synchronizes the local modem 
  6826. transmitter with the receiver of the remote modem receiver. The clocking 
  6827. for this signal can be sourced from the local modem, the receive 
  6828. carrier, or the attached computer (from pin 24). Selection is made with 
  6829. the &X command. Regardless of the source of this clock, this signal is 
  6830. applied by the modem to pin 15 of the RS-232 connector and is used by 
  6831. the DTE to time the transmission of serial data on the TD circuit (pin 
  6832. 2). This signal pertains to synchronous communications only.
  6833.  
  6834. Receive Clock (pin 17) provides the DTE with receive bit timing clock in 
  6835. synchronous mode of operation. This signal provides the receiver section 
  6836. of the modem with timing information. The modem always derives this 
  6837. signal from the receive carrier, and applies it to pin 17. This signal 
  6838. is used by the data terminal to time the incoming bit stream from the 
  6839. local modem (RD - pin 3). This signal pertains to synchronous
  6840. communications only.
  6841.  
  6842. Data Terminal Ready (pin 20) indicates to the DCE that the DTE is ready 
  6843. for transmission. It may also be used for call termination. This signal 
  6844. prepares and maintains the connection to a remote system. The modem can 
  6845. be configured for a variety of responses to the DTR signal, as required 
  6846. for the communication mode (asynchronous versus synchronous) or 
  6847. communication environment (attached DTE or software). See the &D command 
  6848. discussion.
  6849.  
  6850. Ring Indicator (pin 22) gives an indication of a ring being received on 
  6851. the telephone line. This circuit carriers signal information to indicate 
  6852. the modem is receiving call signals (ring/tones). The modem turns on 
  6853. this signal whenever an incoming ring is detected. When the modem is 
  6854. configured for AutoSync, this pin carries a signal to indicate the end 
  6855. of a synchronous frame, and does not monitor incoming rings.
  6856.  
  6857. Transmitter Clock (pin 24) provides the modem with transmit signal 
  6858. element timing information (optional). If the DTE sources the transmit 
  6859. signal element timing on this pin, the modem can be configured to use 
  6860. this clock signal rather than its own internal clock. This signal 
  6861. pertains to synchronous communications only.
  6862.  
  6863. Alternate Rate Select (pins 12 and 23) The modem turns on this signal on 
  6864. either of these pins to indicate the selection of the current line 
  6865. speed. 
  6866.  
  6867. ************************************************************************
  6868. C.4  Modem Interface Connector
  6869.  
  6870. Standalone modems typically interface to the attached computer or other 
  6871. DTE through a serial port connector. The connector used on standalone 
  6872. products as the modem-to-DTE interface, is a  male DB-25 connector. 
  6873. Personal Modem products use an eight-pin DIN connector. 
  6874. Internal modems interface according to the bus structure of 
  6875. the computer in which the modem is installed. For specific information 
  6876. on a particular bus structure, see the owner's manual or reference 
  6877. guides for that computer.
  6878.  
  6879. The physical connector as well as the pin numbers of the end of the 
  6880. cable on the DTE side will vary according to the DTE's serial port.
  6881.  
  6882. ========================================================================
  6883. APPENDIX D:  APPLICATION SUGGESTIONS
  6884.  
  6885. This appendix offers suggestions for developing applications software 
  6886. using the Hayes Standard AT Command Set. The techniques described apply 
  6887. to Hayes modems in general except where specifically indicated. Although 
  6888. provided here, this information is intended for experienced programmers 
  6889. who want assistance in modem application development.
  6890.  
  6891. ************************************************************************
  6892. D.1  Modem Identification
  6893.  
  6894. The initial concern for most communications software is modem 
  6895. identification. Before the software determines the type of modem (e.g., 
  6896. is it a Hayes modem, a high-speed modem, what features does it support -
  6897. error-control or compression?). By limiting the AT command controller 
  6898. portion of the software to work with a known set of modems, you can 
  6899. limit the complexity of your software.
  6900.  
  6901. Because the type of modem that will be present, certain assumptions can 
  6902. be made regarding modem characteristics, such as maximum transmission 
  6903. rate, support of AT commands or specific commands such as L or 
  6904. X. If a more general application is being designed for an environment 
  6905. about which assumptions cannot be made regarding type or brand of modem 
  6906. that might be used, the software's first task should be to identify the 
  6907. modem.
  6908.  
  6909. The I0 and I4 command options make this process simple. In the initial 
  6910. versions of Smartmodem 1200, I0 returned the three digit response: 120. 
  6911. Since then, responses have been extended for several groups identifying 
  6912. modem supporting 2400 bps, 9600 bps, and other products. The I0 response 
  6913. simply indicates the speed category of the modem.
  6914.  
  6915. The result of the I0 command is a number which identifies the category 
  6916. of modem product. Some unique I0 values can be used to identify a unique 
  6917. product which has specific behaviors. 960, for example, identifies a 
  6918. Hayes product capable of 9600 bps, which has additional commands and 
  6919. behaviors.
  6920.  
  6921. The I4 command provides a reliable means of communicating 
  6922. specific features and modulation protocols to software. The responses to 
  6923. the I4 command are strings delimited by <CR> and beginning with a 
  6924. lowercase letter and typically followed by a hex-character bit-map. The 
  6925. I0 and I4 responses currently defined are detailed in the description of 
  6926. the I4 command in Chapter 1.  The tables show the decoding of the hex-
  6927. map returned in the "a", and "b" bit-mapped strings. If I4 is used to 
  6928. identify features of the modem, consider that new result strings are 
  6929. periodically defined that may be returned in addition to those expected. 
  6930. Fields once designated as "reserved" that held a zero may now have values 
  6931. assigned. The strings themselves may also be of different lengths than 
  6932. previously implemented.
  6933.  
  6934. In spite of the modifications to this command necessary to be current 
  6935. with new modems, the I4 command is the best way for software to 
  6936. determine the modem type and capability, if the guidelines below are 
  6937. considered:
  6938.  
  6939. *  I0 or I4 commands should be issued at 1200 bps. All Hayes products 
  6940. (including the Smartmodem 300) respond to AT commands at 1200 bps. Most 
  6941. other brands also respond at 1200 bps. You can switch to a higher 
  6942. transmission rate once the modem has been identified.
  6943.  
  6944. *  Result codes should be parsed as strings surrounded by <CR><LF>. The 
  6945. string will begin with a lower-case letter followed by up to 39 
  6946. additional characters.
  6947.  
  6948. *  After all result strings have been sent, an OK result is returned 
  6949. that obeys the V and Q command settings.
  6950.  
  6951. *  ERROR, OK, or a numeric result in response to the I4 command should 
  6952. be expected. These results may be returned by products shipped before 
  6953. the I4 command was introduced, or by non-Hayes products.
  6954.  
  6955. *  The length of the strings may be different than anticipated. If 
  6956. shorter than expected, empty positions should be presumed zeros. If 
  6957. longer than expected, extra characters should be ignored.
  6958.  
  6959. *  Some non-Hayes brand modems return unpredictable results in response 
  6960. to I0 or I4 commands. One brand of modem actually responds with its 
  6961. configuration when the I4 command is sent.
  6962.  
  6963. An example I4 command and response is shown below:
  6964.  
  6965.                      AT E0 V1 Q0 S0=0 I4 <CR>
  6966. response:
  6967.  
  6968.      <CR><LF>a087840C004424<CR><LF> 
  6969.      <CR><LF>bF60410000<CR><LF> 
  6970.      <CR><LF>cUS<CR><LF> J
  6971.      <CR><LF>m0000000001001FFFF<CR><LF> 
  6972.      <CR><LF>OK<CR><LF> 
  6973.  
  6974. Note: Each I4 result is surrounded by <CR><LF>; not all responses are 
  6975. hex-strings; and some responses may not be expected at all.
  6976.  
  6977. ************************************************************************
  6978. D.2  Result Code Recognition
  6979.  
  6980. Modems that are equivalent to Hayes modems support verbose and numeric 
  6981. forms of result codes. Unless echo may be a problem and you will be 
  6982. installing the controller in a limited-growth environment, verbose 
  6983. results rather than numeric results are preferred. Numeric result codes 
  6984. were originally intended to make it easier for software to control the 
  6985. modem, but there are two primary reasons they should not be used:
  6986.  
  6987. Software can be confused by a command echo. For example, if the 
  6988. following command were sent with echo on (E1) and numeric results (V0) 
  6989. on:
  6990.  
  6991.                        AT ... S9=20 <CR>
  6992.  
  6993. The resulting data, echoed by the modem, would be followed by the 
  6994. numeric result code zero, meaning OK:
  6995.  
  6996.                       AT ... S9=20<CR>0 <CR>
  6997.  
  6998. Software may become confused by seeing a 0<CR> result which is actually 
  6999. part of the command echo, then another 0<CR> which is the numeric 
  7000. result. A program can become unsynchronized with the command processor 
  7001. in the modem.
  7002.  
  7003. Turning off echo mode (E0) in the initial setup string would solve this 
  7004. problem; however, do not end that command with any digits (simply E).
  7005.  
  7006. Another shortcoming of numeric results is that the software must 
  7007. anticipate all possible responses. This requires updating controller 
  7008. software whenever new result codes are added. For example, suppose a 
  7009. CONNECT 115200 result were added with a numeric value of 31. If verbose 
  7010. results were used instead, and the controller directed to interpret the 
  7011. number after the CONNECT result as simply the connection speed in bits 
  7012. per second, no changes to the driver are necessitated by the new result 
  7013. code. If, however, numeric result codes were used, the result code 31 
  7014. must be added to the table, and the controller modified to interpret it 
  7015. appropriately.
  7016.  
  7017. As characters are received, they should be processed through a state 
  7018. machine providing the functionality of the following one. This state 
  7019. machine recognizes strings surrounded by <CR><LF> characters and stores 
  7020. the string in a character array. <CR><LF> are defined by S3 and S4.
  7021.  
  7022. Sample State Machine
  7023. Initialize with: state = 1 ;
  7024.  
  7025. ch = <next character from the input>
  7026. switch( state )
  7027. {
  7028.      case 1:     /*-- Scanning for leading CR --*/
  7029.                if( ch == CR ) state = 2 ;
  7030.                i = 0 ;
  7031.                break ;
  7032.      case 2:     /*-- Scanning for leading LF --*/
  7033.                if( ch == LF ) state = 3 ;
  7034.                else if( ch == CR ) state = 2 ;
  7035.                else state = 1 ;
  7036.                break ;
  7037.      case 3:     /*-- Buffer result, watch for trailing CR --*/
  7038.                if( ch == CR ) state = 4 ;
  7039.                else buf[ i++ ] = ch ;
  7040.                if( i > LIMIT ) state = 1 ;
  7041.                break ;
  7042.      case 4:     /*-- Scanning for trailing LF --*/
  7043.                if( ch == LF ) state = 5 ;
  7044.                else if( ch == CR ) state = 2 ;
  7045.                else state = 1 ;
  7046.                break ;
  7047. }
  7048. if( state == 5 )
  7049. {
  7050.      buf[ i ] = 0 ; /* Null terminate buffer */
  7051.      <process result in 'buf'>
  7052.      state = 1 ;
  7053. }
  7054.  
  7055. This state machine can be imbedded within a loop that reads all received 
  7056. data one character at a time, checks for a timeout, and also checks for 
  7057. user abort. Once a result is recognized, that loop can be exited or 
  7058. continued if additional results are expected.
  7059.  
  7060. Once a result code string is returned, it can be compared against the 
  7061. known result code strings. Some strings may incorporate wild-card 
  7062. suffixes. For example CONNECT followed by any numeric value indicates a 
  7063. successful connection at the indicated transmission rate. Even if a 
  7064. result such as CONNECT 38400 is not anticipated, if the controller has 
  7065. been coded for wild-card recognition, the controller will be capable of 
  7066. interpreting such responses correctly. This practice also facilitates 
  7067. interpretation of connection failed messages that are preceded by NO 
  7068. followed by any other character string such as DIALTONE, CARRIER, or 
  7069. ANSWER.
  7070.  
  7071. ************************************************************************
  7072. D.3  Modem Preparation
  7073.  
  7074. Once the modem has been identified, the controller can continue to 
  7075. program any registers or user-defined values into the modem necessary 
  7076. prior to initiating the connection process. Typically, the setup 
  7077. operation is separated from the connection processing because it is 
  7078. performed independently of whether the call establishment will be in the 
  7079. originating or answering mode.
  7080.  
  7081. Setup commands can be issued at the highest transmission rate the modem 
  7082. supports as determined from the identification process or it may be 
  7083. fixed at a certain value if the modem is not identified.
  7084.  
  7085. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  7086. D.3.1  Reset
  7087.  
  7088. Before issuing any other commands to the modem, it is advisable to issue 
  7089. a Z or &F command to the modem before the identification or setup 
  7090. process. No specific response should be anticipated. The modem may be 
  7091. set up to return numeric, or no result codes. If a reset will be used, 
  7092. the following points should be considered:
  7093.  
  7094. *  Even if a recognizable result within 2.6 seconds, the program should 
  7095. continue. (Some modems do a lengthy reset process before responding with 
  7096. a result; others may be in Q1 or V0 mode.)
  7097.  
  7098. *  Following an OK result, an additional 600ms delay should be imposed. 
  7099. Some modems will respond with an OK then do lengthy reset processing, in 
  7100. which case they are unable to accept additional commands.
  7101.  
  7102. After the modem is reset, the first setup string (e.g., verbose rather 
  7103. than numeric result codes) should be issued, then the identification 
  7104. command.
  7105.  
  7106. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  7107. D.3.2  Setup
  7108.  
  7109. Software should generally provide some modem setup. However, the 
  7110. software can be written to rely on modem configuration via a stored 
  7111. profile recalled on reset, or  by DIP switches set depending on the 
  7112. product. In this case, any unique settings must have been set up prior 
  7113. to running the software, and all the program does is send the Z command 
  7114. to recall the desired profile. Even more basically, software can assume 
  7115. the modem is in the power-up state. However, unless the software will be 
  7116. used within a very predictable environment, these assumptions may result 
  7117. in failures with the controller software.
  7118.  
  7119. Some commands will always be overridden by the controller in order to 
  7120. ensure its proper functioning. Other command options should either 
  7121. default to the factory setting, or simply act as the "transfer agent" 
  7122. for the commands specified by the user. Menus and dialogs can be 
  7123. provided to prompt the user for specific activities; the program can 
  7124. then interpret these requests and configure the modem accordingly, as 
  7125. Hayes Smartcom products do, or provide the user opportunity to enter AT 
  7126. command strings.
  7127.  
  7128. Commands frequently set by a modem controller:
  7129.  
  7130. E0         Turn off echo mode to avoid having command echoes pass 
  7131.            through the result code scanner.
  7132.  
  7133. &F         Recall the factory profile.
  7134.  
  7135. Q1         Enable result codes to ensure that commands are being 
  7136.            processed, and to synchronize with the modem command 
  7137.            processor (except for synchronous communications where result 
  7138.            codes may cause the DTE confusion).
  7139.  
  7140. V0 or V1   Use either numeric result codes or verbose (recommended) 
  7141.            result codes.
  7142.  
  7143. S0=0       Disable auto-answer during the setup process to avoid 
  7144.            inadvertent disruption by an incoming call.
  7145.  
  7146. H0         Ensure modem is on hook before continuing to the answer or 
  7147.            originate process.
  7148.  
  7149. S12=10     Set the escape sequence guard time to 200ms to hasten the 
  7150.            escape for hang-up process. Also reduces the probability of 
  7151.            inadvertent user escapes.
  7152.  
  7153. S2=*       Change the escape sequence character for two reasons: To 
  7154.            avoid inadvertent user escapes, and to provide different 
  7155.            escape sequence characters for answer and originate ends. 
  7156.            This prevents inadvertent escaping when data is echoed.
  7157.  
  7158. S4=*       Modify the linefeed character to make the <CR><LF>NO 
  7159.            CARRIER<CR><LF> result code more unique if you scan for it
  7160.            to detect carrier loss.
  7161.  
  7162. S95=60     Enables the result codes which will provide the maximum 
  7163.            amount of information about the connection when it is 
  7164.            established.
  7165.  
  7166. Two typical setup sequences using these recommendations are shown below:
  7167.  
  7168. Recommendation for software design based on using pre-existing user 
  7169. settings:
  7170.               AT E Q V S0=0 H S12=10 S2=28 S4=31 S95=60 <CR>
  7171.  
  7172. Recommendation for software design based on starting from a known 
  7173. factory setting: 
  7174.               AT &F S2=28 S4=31 S12=10 S95=60
  7175.  
  7176. Note: Where the zero suffix is used, it may be omitted from a command. 
  7177. Spaces are shown above for readability, but the use of spaces between 
  7178. commands is not recommended. 
  7179.  
  7180. Once this setup command has been sent, and the OK response returned, the 
  7181. controller can continue to the originate or answer processing.
  7182.  
  7183. If user-programmed settings are included in additional setup strings, or 
  7184. the user is permitted to enter AT setup strings, the software should 
  7185. anticipate ERROR result codes. If an ERROR is returned in response to 
  7186. such a command, the result does not have to be reported to the user, but 
  7187. the controller should not be prevented from continuing in either case. 
  7188. Many times a connection can be made even though some setting is in error 
  7189. or is inappropriate for the class of modem being addressed.
  7190.  
  7191. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  7192. D.3.3  Establishing the Desired Connection and Fallback Strategy 
  7193.        (S36 Developers' Tips)
  7194.  
  7195. S36 determines which fallback action will occur if the protocols and 
  7196. procedures set by S46 and S48 do not produce a LAP-based (LAPB) error-
  7197. controlled connection.
  7198.  
  7199. The optimum fallback control strategy depends on which Hayes error-
  7200. control modem you have. The fallback behavior is determined by S36, S46, 
  7201. S48, and &Q5.
  7202.  
  7203. There have been two improvements in the V-series, OPTIMA and ACCURA EC 
  7204. modems that affect S36: The first added &Q6 Asynchronous Speed Buffering
  7205. (ASB); ASB provides the same fixed speed DTE interface and local flow control 
  7206. as in the error control mode but without the error control or remote 
  7207. flow control. The second improvement added V.42 with its Alternate 
  7208. Protocol (MNP).
  7209.  
  7210. Previously, S36 only consisted of one bit, Bit 0, 
  7211. which permitted the user to decide whether the modem would hang up or 
  7212. not if it did not succeed in negotiating an error-controlled connection. 
  7213. The factory default for S36 was 1, which meant fall back to direct async 
  7214. rather than hang up if an error control protocol is not established in 
  7215. &Q5 mode.
  7216.  
  7217. When &Q6 (ASB) was added, a fall back option for &Q5 mode, which can be 
  7218. controlled with S36, was also added. If S36 Bit 1 is set, and bit 0 is 
  7219. also set, the modem will fall back to ASB instead of direct async if no 
  7220. error control protocol is established in &Q5 mode. The factory default 
  7221. for S36 remained 1.
  7222.  
  7223. When V.42 was added, it added another fall back option, MNP, to S36. If 
  7224. S36 Bit 2 is set, then MNP will be attempted if the primary protocol 
  7225. selected in S48 is not established. Bit 2 is evaluated before Bits 0, 
  7226. then Bit 1. If MNP is established as the protocol, then Bits 0 and 1 are 
  7227. ignored. The factory default became 5 and later was changed to 7 to take 
  7228. more advantage of ASB.
  7229.  
  7230. Now that we know that there are three versions of S36, we may need a way 
  7231. to tell which version our software is controlling. First, verify that it 
  7232. is a Hayes error-control modem. This is done by issuing an I4 command 
  7233. and looking for the existence of a "b-string". A b-string begins with a 
  7234. lower case letter "b" and is followed by several upper case letters or 
  7235. numbers forming a hex value.
  7236.  
  7237. The easiest way for software to identify whether a Hayes modem 
  7238. supports Asynchronous Speed Buffering (also known as ASB, Buffered 
  7239. Async, or Normal) is to issue the following AT command,  AT &Q6 &Q5 
  7240. <CR>. If the result code is OK then &Q6 is supported, and ASB is also 
  7241. supported as a fall back. If the result code is ERROR, then &Q6 is not 
  7242. supported. If this is the case, then software should be prepared to fall 
  7243. back to a direct async connection.
  7244.  
  7245. The easiest way for software to identify whether a Hayes modem 
  7246. supports V.42 (and MNP) is to decode the first character after the 
  7247. leading "b" in the b-string of the I4 ID command response. The 
  7248. characters following the "b" in that line are "ASCII-hex" (0-9, A-F), 
  7249. which decode into 4 bits of ID code (3-0).  If Bit 3 is set, then MNP is 
  7250. supported; Bit 2 is V.42.
  7251.  
  7252. Armed with the knowledge of which S36 bits are supported, the software 
  7253. may now safely configure the modem and properly anticipate the fall-back 
  7254. action.
  7255.  
  7256. It should be safe to set S36 bit 2 to enable V.42 (and MNP) even if 
  7257. those protocols are not supported in the modem.
  7258.  
  7259. If the modem does not support ASB, then software should be prepared to 
  7260. follow the CONNECT XXXXX speed result code and change the DTE port speed 
  7261. to match the indicated line speed of the direct connection when no error 
  7262. controlled connection was negotiated.
  7263.  
  7264. If software will not change port speeds in response to the CONNECT 
  7265. message, then when software has identified a 'pre-ASB' modem, 
  7266. it should set S36 to 0 or 4 so that if no protocol is negotiated, the 
  7267. modem will hang up.
  7268.  
  7269. The following table shows the order in which the bits of S36 are 
  7270. evaluated: (Remember, these steps only occur after the S46/S48 
  7271. selections have failed to make a LAPBased error controlled connection in 
  7272. &Q5 mode.)
  7273.  
  7274. ------------------------------------------------------------------------
  7275. S36      Bit 7-3=0       reserved 
  7276. First    Bit 2 (4)       If set, means try MNP protocol; reset means 
  7277.                          don't use MNP. 
  7278. Third    Bit 1 (2)       If set, means fall back to ASB; reset means 
  7279.                          direct async. 
  7280. Second   Bit 0 (1)       If set, means fall back based on Bit 1;
  7281.                          reset means hang up.
  7282. ------------------------------------------------------------------------
  7283.          
  7284. The following table shows the meaning of each setting:
  7285.  
  7286. ------------------------------------------------------------------------
  7287. S36=7   Try MNP, then fall back to ASB. 
  7288. S36=6   Try MNP, then hang up. 
  7289. S36=5   Try MNP, then fall back to direct async. 
  7290. S36=4   Try MNP, then hang up. 
  7291. S36=3   Don't try MNP; fall back to ASB. 
  7292. S36=2   Don't try MNP; hang up. 
  7293. S36=1   Don't try MNP; fall back to direct async. 
  7294. S36=0   Don't try MNP; hang up.
  7295. ------------------------------------------------------------------------
  7296.  
  7297. There are three types of fallback stratagies which Hayes products use.
  7298.  
  7299. Type 1: Hayes Modem Operation in &Q5 Communications Mode
  7300. Applies to V-series Smartmodem 2400 up to and including Version 1.3 and 
  7301. V-series Smartmodem 9600 up to and including Version 1.4.
  7302.  
  7303. Type 2: Hayes Modem Operation in &Q5 Communications Mode
  7304. Applies to V-series Smartmodem 2400 Version 1.4 and V-series Smartmodem 
  7305. 9600 Versions 1.5 and 1.6.
  7306.  
  7307. Type 3: Hayes Modem Operation in &Q5 Communications Mode
  7308. Applies to all V-series products newer than Types 1 and 2 and all OPTIMA 
  7309. and ACCURA EC products.
  7310.  
  7311. ------------------------------------------------------------------------
  7312.                ATI3 Response contains...     
  7313.                V-SERIES SMARTMODEM 2400    V-SERIES SMARTMODEM 9600
  7314. Type 1         04-00005-10                 04-00015-10
  7315.                04-00005-11                 04-00015-11
  7316.                04-00005-12                 04-00015-12
  7317.                04-00005-13                 04-00015-13
  7318.                                            04-00015-14
  7319. Type 2         04-00005-14                 04-00015-15
  7320.                                            04-00015-16
  7321. Type 3         Does not contain any        Does not contain any
  7322.                of the above numbers        any of the above numbers
  7323. ------------------------------------------------------------------------
  7324.  
  7325. ************************************************************************
  7326. D.4  Connect Processing
  7327.  
  7328. Once the setup operation has been completed, the commands to establish 
  7329. the connection can be issued. The instruction can be either to originate 
  7330. (using the D command), or to answer (using the A or S0 commands).
  7331.  
  7332. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  7333. D.4.1  Originating a Call
  7334.  
  7335. If the D command is issued with the desired phone number, several 
  7336. possible result codes can be returned. The list below outlines some 
  7337. results to expect:
  7338.  
  7339. Result Code        Meaning
  7340. ------------------------------------------------------------------------
  7341. NO CARRIER         Connection failed
  7342. NO ANSWER          No response to '@' dial modifier
  7343. NO DIALTONE        No dial tone in X4 mode
  7344. NO ____            Connection failed for some other reason
  7345. BUSY               Busy signal detected
  7346. CONNECT ____       Connection successful; you may need to change DTE 
  7347.                    speed to the indicated baud rate. (See Wn and S95)
  7348. CARRIER ____       * DCE carrier speed. (See Wn and S95)
  7349. PROTOCOL: ____     * Error-correction protocol being used by the modems. 
  7350.                    (See Wn and S95)
  7351. COMPRESSION:____   Compression technique in use by modems. (See Wn 
  7352.                    and S95)
  7353. AUTOSTREAM         Autostream technique in use by modems if selected by 
  7354.                    user. (See Wn and S95)
  7355. ------------------------------------------------------------------------
  7356.  
  7357. Ignore other responses, but continue to wait for CONNECT ___, BUSY, or 
  7358. NO ___ responses. The CARRIER and PROTOCOL results are intermediate 
  7359. results and precede either a CONNECT ____ or NO ____ result. These 
  7360. results are only returned by Hayes modems when configured to use an 
  7361. error-correcting protocol.
  7362.  
  7363. If you recognize any numeric value for the baud rate after the CONNECT 
  7364. result, you will have a much more robust controller able to handle many 
  7365. situations. You can use the PROTOCOL result to determine if the flow 
  7366. control requested by the &K command is in effect.
  7367.  
  7368. Note: If you want to manually dial a call and then have the modem connect, 
  7369. enter the command string ATX1D (X1 disables dial tone detection) when you 
  7370. hear the dial tone. 
  7371.  
  7372. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  7373. D.4.2  Answering a Call
  7374.  
  7375. The simplest technique for answering an incoming call is to set S0 and 
  7376. wait for a CONNECT ___ result. You may get several RING results, and 
  7377. possibly a NO CARRIER result if the caller hangs up before connecting. 
  7378. These results should not cause your controller to abort. Continue to 
  7379. wait for a CONNECT result code.
  7380.  
  7381. If you set S0, you may want to set it back to zero after your controller 
  7382. finishes the call to prevent inadvertent answering when your software is 
  7383. not running. By setting S0 to the number of rings you desire before the 
  7384. modem answers, you utilize the ring detection technology already built 
  7385. into the modem.
  7386.  
  7387. You should not use the A command to answer after counting RING results 
  7388. because the command may collide with another RING result from the modem 
  7389. and be missed. The RING results may be generated in pairs depending on 
  7390. the ringing cadence of the phone system.
  7391.  
  7392. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  7393. D.4.3  Using the CD Line
  7394.  
  7395. Monitoring the Carrier Detect (CD) line of the RS-232 interface is 
  7396. another technique for carrier detection in answer or originate mode. 
  7397. This assumes that &C1 or the corresponding DIP-switch has been set and 
  7398. the cable is wired properly. Both are risky assumptions. You will have a 
  7399. more robust controller if you use result code scanning rather than the 
  7400. RS-232 lines.
  7401.  
  7402. If you use CD, you do not know when the modem has given up waiting for 
  7403. the carrier, or why. If the line is busy, you may want to re-try the 
  7404. dial operation. If there is no dial tone, the user needs to know this.
  7405.  
  7406. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  7407. D.4.4  Aborting a Connect Request
  7408.  
  7409. Once the D or S0 command has been issued, the modem goes off hook (or 
  7410. may be off hook for S0) and it must be put back on hook (hangPup) before 
  7411. the abort is completed. To abort an in-progress connect command, send 
  7412. any character to the modem. This will typically result in a NO CARRIER 
  7413. response. The result code scanner should be called after the abort 
  7414. character is sent to prevent additional commands from being sent before 
  7415. the controller and the modem are again in sync.
  7416.  
  7417. Smartcom products send AT<CR> to abort an in-progress connect command. 
  7418. This elicits a result code regardless of whether the modem were off-hook 
  7419. or not. If the modem was off-hook attempting to connect, this will abort 
  7420. the connect operation and return NO CARRIER. If the modem was on-hook in 
  7421. command mode, this simply returns <CR><LF>OK<CR><LF>.
  7422.  
  7423. ************************************************************************
  7424. D.5  Carrier Loss Detection
  7425.  
  7426. You want your application to be able to detect when the carrier has been 
  7427. lost so you can determine when the connection is complete. You might be 
  7428. unable to put this part of the code in your controller software, since 
  7429. the controller is typically running only during the connect or hang-up 
  7430. process. Once the application has detected the carrier loss event, it 
  7431. can call the modem controller and restore the modem settings.
  7432.  
  7433. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  7434. D.5.1  Using the CD line
  7435.  
  7436. If you are confident of the communications environment and cabling 
  7437. requirements, and have access to the RS-232 signal status, then 
  7438. monitoring the CD line is the easiest carrier loss detection method to 
  7439. implement. This requires &C1 to be programmed at setup time, or be 
  7440. stored in the modem as the value recalled on reset or power-up.
  7441.  
  7442. However, this is the most restrictive and risky choice. It requires a 
  7443. properly wired cable and support of &C1 by the modem's command set or 
  7444. proper DIP-switch settings.
  7445.  
  7446. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  7447. D.5.2  Scanning the Incoming Data Stream
  7448.  
  7449. In cases where you  cannot depend on 100% Hayes compatibility or want to 
  7450. be independent from the cable wiring, then scanning for the NO CARRIER 
  7451. result code is more reliable. It is also more complex to implement.
  7452.  
  7453. Typically, at the low-level of the program all received data is 
  7454. retrieved through one subroutine. This subroutine can be augmented or 
  7455. layered to provide the service needed. As data passes through, the last 
  7456. fourteen characters are buffered, typically in a circular buffer. If 
  7457. more data passes in each call, only the last fourteen need to be copied. 
  7458. At a time when the processor is free, such as after 100 ms of idle time 
  7459. or the receive routine has returned no data for 30 to 100 calls, then 
  7460. the buffer is compared against the <CR><LF>NO CARRIER<CR><LF> result 
  7461. code. If a match is found, the carrier lost event is triggered.
  7462.  
  7463. By only checking when there is idle time, or after no data has been 
  7464. received for a while, you reduce the CPU overhead and ensure that the 
  7465. modem is not falsely triggered when the string is imbedded in an actual 
  7466. data stream.
  7467.  
  7468. You can also modify the linefeed character by using S4 to a different 
  7469. value such as S4=31 to make the result code sequence more unique. This 
  7470. action, however, affects other result codes generated by the modem.
  7471.  
  7472. ************************************************************************
  7473. D.6  Escape and Hang Up
  7474.  
  7475. When your controller has been instructed to terminate the connection, 
  7476. you must put the modem back in command state and issue the hang-up (H) 
  7477. command. In addition to hanging-up, you will also want to restore 
  7478. settings you changed to their factory-set values, or issue an ATZ<CR> to 
  7479. undo the effects of your changes. In any case, restoration of the modem 
  7480. settings is necessary even if the connection was terminated due to loss 
  7481. of carrier.
  7482.  
  7483. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  7484. D.6.1  Escaping the Modem to Command State
  7485.  
  7486. To escape the modem, the controller must first delay the escape sequence 
  7487. guard time (specified by S12), then issue the escape sequence character 
  7488. three times (specified by S2); then wait for an OK result. Waiting for 
  7489. the result also enforces the required guard time after the escape 
  7490. sequence. Once the OK result is received, the modem has entered command 
  7491. state. The controller can then hang up and restore the modem.
  7492.  
  7493. The controller software must be sure to wait the required guard time 
  7494. before sending the escape sequence characters. Your controller may have 
  7495. been called just after data was transmitted and, without the delay, your 
  7496. characters will just be sent without triggering the escape sequence 
  7497. recognition process. It is important that the serial transmitter be 
  7498. permitted to be idle for the escape sequence guard time, plus a few 
  7499. extra milliseconds to allow for error, before sending characters.
  7500.  
  7501. For example, if  S12=10, a delay of at least 200 milliseconds is 
  7502. required before sending the escape sequence characters. After sending 
  7503. the escape sequence characters, the OK result will be received after 
  7504. another 200 millisecond wait. This completes the escape sequence process 
  7505. in slightly over 400 milliseconds. If S12=50 (factory setting) is used, 
  7506. one full second must pass before the characters can be sent, then 
  7507. another second delay must transpire prior to the OK result. This 
  7508. completes the process in slightly over two seconds. For this reason, it 
  7509. is recommended that S12=10 be issued to speed up this process.
  7510.  
  7511. A delay slightly longer than that stored in S12 should be used to allow 
  7512. for errors in the system clock as well as in the modem clock. 100ms is 
  7513. an adequate safety margin.
  7514.  
  7515. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  7516. D.6.2  Using DTR to Escape or Hang Up
  7517.  
  7518. The DTR RS-232 signal can be used to escape the modem to command state, 
  7519. or to reset the modem depending on the &D command set or DIP-switch 
  7520. settings. This also requires the cable to be properly wired. Unless the 
  7521. software will operate in a highly-controlled environment, this technique 
  7522. is discouraged over using the escape sequence process because of the 
  7523. requirements to make it function properly. Leaving a call connected 
  7524. simply because the cable was not properly wired can be potentially 
  7525. expensive. The escape sequence is reliable in all environments if it is 
  7526. properly utilized.
  7527.  
  7528. ************************************************************************
  7529. D.7  Modem Re-configuration
  7530.  
  7531. When a call has been completed, a "clean-up" command should be issued to 
  7532. return the modem a more known configuration. For example, if verbose 
  7533. result codes were selected when the modem was reset, and the controller 
  7534. selected numeric result codes, on completing the session, the controller 
  7535. should reset the modem to re-select verbose result codes. In the same 
  7536. way, if the linefeed character were changed to suit the software or 
  7537. environment, the character should be set to its former value. Any other 
  7538. command options that were modified, should be restored to their factory-
  7539. set values.
  7540.  
  7541. The minimum the controller should do when through with the modem is 
  7542. issue a Z command option to ensure the modem is restored to its power-up 
  7543. state.
  7544.  
  7545. ************************************************************************
  7546. D.8  Timing Considerations
  7547.  
  7548. A modem controller inherently has a sense of time. Usually all that is 
  7549. needed to utilize the timing part of the controller is access to a time 
  7550. reference. For example, the number of milliseconds since power-up or 
  7551. program launch, or a "system tick" value can be used. 
  7552.  
  7553. Under DOS, the INT 1C timer tick produces an interrupt every 55 
  7554. milliseconds. An ISR can be installed on this interrupt to add 55 to a 
  7555. long integer every time it is called. This will provide a millisecond 
  7556. counter.
  7557.  
  7558. On the Macintosh, the "Tick Count" function will return the number of 
  7559. vertical-retrace ticks since computer power-up. Each tick represents 
  7560. 1/60 of a second.
  7561.  
  7562. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  7563. D.8.1  Programming for Time
  7564.  
  7565. The time value is used to determine relative time. For example, if a 
  7566. loop should be executed for only 2 seconds it could be coded as:
  7567.  
  7568. timeout = Tick Count( ) + 120 ; /* 60 tics per second = 2 seconds */
  7569. do
  7570. {
  7571.      got_one = Check_Result( ) ;
  7572. }
  7573. while( ( ! got_one ) && ( SystemTick( ) < timeout ) ) ;
  7574.  
  7575. This code fragment continues to call the Check_Result function until it 
  7576. returns a true value, or until two seconds have elapsed.
  7577.  
  7578. This technique is independent of processor speed. A faster processor may 
  7579. make thousands of trips through the loop, where a slower one would only 
  7580. make a few hundred. Any anticipated result code would arrive within that 
  7581. two-second real-time window.
  7582.  
  7583. Care should be given to considering when to start the timing loop. If an 
  7584. AT command string is sent, then a loop executed, the time interval may 
  7585. also include the time required to send the AT command (if data is 
  7586. buffered and sent by an interrupt service routine).
  7587.  
  7588. At 300 bps, where each character takes 33ms just to transmit (10/300), a 
  7589. 40 character AT command would take over a second to transmit. This means 
  7590. a two second loop spends more than half of its time waiting for the AT 
  7591. command process to complete, leaving only a fraction of a second for the 
  7592. modem to respond with the result (again at 33ms per character).
  7593.  
  7594. One way to avoid this is to wait until all data has been transmitted by 
  7595. an ISR before entering the result code scan loop. Alternatively, more 
  7596. time can be provided for loops to process results. Another option is to 
  7597. measure idle time rather then elapsed time.
  7598.  
  7599. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  7600. D.8.2  When to Consider Time
  7601.  
  7602. The use of timing varies from command to command and operation to 
  7603. operation. Some commands take longer to execute. The guidelines below 
  7604. can be used to determine the best amount of time to wait.
  7605.  
  7606. *  For the Z command, wait two seconds for a response, then wait an 
  7607. additional 600 ms, whether a response were received or not.
  7608.  
  7609. *  For general setup commands, wait two seconds for the response.
  7610.  
  7611. *  For the hang-up command (H), wait up to 20 seconds for a response. 
  7612. Some modems may take longer to hang-up if data buffered within the 
  7613. modem is still waiting to be transmitted and acknowledged. This time is 
  7614. controlled by S38.
  7615.  
  7616. *  For dial commands (D or O) wait at least one minute or more. Values 
  7617. set for carrier detect time, tone versus pulse dialing, commas in the 
  7618. phone number, all can take additional time.
  7619.  
  7620. If the software times out, the modem may, in fact, not be connected to 
  7621. the computer, disconnected, or turned off. If this is the case, enforce 
  7622. a reasonable timeout to the first setup or identification command. That 
  7623. will determine whether a modem is attached and functioning.
  7624.  
  7625. A timeout may also occur when the software receives a result code it 
  7626. does not recognize. The software may continue to wait until it receives 
  7627. a code it does recognize. If this is the case, the controller should 
  7628. proceed as if an ERROR response were received. The only instance in 
  7629. which it is not prudent to continue is when a connect (D, A, or S0) 
  7630. command was issued.
  7631.  
  7632. Before implementing a timeout, the advantages, if any, to this level of 
  7633. program interruption should be considered. For example, if the program 
  7634. times out from a dial command in one minute when it may take two minutes 
  7635. to complete the call, the timeout defeats the purpose of the command. 
  7636. The modem always responds with a result code, whether BUSY, NO CARRIER, 
  7637. or CONNECT, after some length of time.
  7638.  
  7639. Idle time is the time since data was received. Elapsed time is the time 
  7640. since the software started looking for the result. Idle time can be 
  7641. measured by resetting the timeout clock each time the software receives 
  7642. a character. Rather than exiting the loop after two seconds of elapsed 
  7643. time, the logic changes to exit after no further data has been received 
  7644. for two seconds.
  7645.  
  7646. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  7647. D.8.3   Recovering when "Out Of Sync"
  7648.  
  7649. Another disadvantage of timing out is that an early timeout can put the 
  7650. software out of sync with the modem command processor. The controller 
  7651. may be interpreting results sent in response to previous commands as the 
  7652. response to later commands. To avoid this condition, any pending receive 
  7653. data should be flushed before the next command is issued.
  7654.  
  7655. ************************************************************************
  7656. D.9  Transparent XON/XOFF Local Flow Control
  7657.  
  7658. The use of flow control during error-control modem connections is 
  7659. essential to avoid loss of data during error-control protocol 
  7660. retransmissions. Use of flow control allows the DTE-DCE interface to be 
  7661. run faster than the line speed, permitting the additional benefit of 
  7662. increased throughput due to stripping of start and stop bits by the 
  7663. error control protocol and data compression techniques such as V.42bis. 
  7664. When the interface is run at high speed, data loss due to modem buffer 
  7665. overrun is quite likely to occur if flow control is absent or not 
  7666. functioning properly.
  7667.  
  7668. Hayes modems support the industry standard "RTS/CTS" hardware 
  7669. flow control (invoked by the &K3 command) and "XON/XOFF" character-based 
  7670. flow control (&K4) schemes. However, in some situations, it is not 
  7671. possible to use either of these. For example, hardware flow control 
  7672. cannot be used if the DTE serial port does not support the RTS and/or 
  7673. CTS hardware signals, if corresponding conductors are not present in the 
  7674. interface cable, or if intermediate equipment does not properly transfer 
  7675. the RTS and CTS signals. XON/XOFF flow control cannot be used if the XON 
  7676. and XOFF characters appear in the user data or in the control 
  7677. information associated with the file transfer protocol in use, since 
  7678. this would interfere with the use of these characters for flow control, 
  7679. resulting in failure of data transfer and possibly locking up the 
  7680. interface.
  7681.  
  7682. Hayes addressed these problems in the design of V-series, OPTIMA and 
  7683. ACCURA EC modems. Desiring to provide a complete solution for all users, 
  7684. Hayes provided a third flow control scheme, which accommodates systems 
  7685. which cannot use RTS/CTS but which must transfer data containing the 
  7686. XON and XOFF characters. This scheme, known as Transparent XON/XOFF 
  7687. Local Flow Control (invoked by the &K5 command), uses only the Transmit 
  7688. Data and Receive Data circuits, yet provides for the transfer of all 
  7689. 256 possible 8-bit characters over the interface without interfering 
  7690. with the flow control scheme.
  7691.  
  7692. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  7693. D.9.1  Summary
  7694.  
  7695. Transparent XON/XOFF Flow Control functions on the interface between the 
  7696. local DTE (computer or terminal) and local DCE (modem). When the data is 
  7697. placed on the link between the modems, the original characters have been 
  7698. restored. Neither the remote DTE nor DCE are aware, or need to be aware, 
  7699. of the fact that Transparent XON/XOFF Flow Control is in use.
  7700.  
  7701. Transparent flow control can be viewed as a layered process, organized 
  7702. as follows. Note that this process is duplicated in the reverse 
  7703. direction (operates in both directions simultaneously).
  7704.  
  7705. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  7706. D.9.2  Transparentization
  7707.  
  7708. Transparent XON/XOFF Flow Control operates by scanning the data stream 
  7709. for XON ($11), XOFF ($13), and DLE ($10) characters ("$" indicates 
  7710. hexadecimal), with either 0 or 1 in the high-order bit position. When 
  7711. one is found, a DLE with same parity character is inserted ahead of it. 
  7712. The original character is then "transparentized" by exclusive-ORing the 
  7713. character with the value $21 (hexadecimal 21, decimal 33, binary 
  7714. 00100001), which preserves the parity bit value. XON and XOFF characters 
  7715. are thus "hidden" in the data stream. 
  7716.  
  7717. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  7718. D.9.3  Flow Control
  7719.  
  7720. Once the XON and XOFF characters have been transparentized (hidden), the 
  7721. DTE and DCE are free to insert XON and XOFF characters for flow control 
  7722. purposes at any point in the data stream. This includes the possibility 
  7723. of inserting XONs and XOFFs between a DLE and the following 
  7724. transparentized character. XON and XOFF characters in the user data will 
  7725. not interfere with the flow control scheme. The operation of this 
  7726. XON/XOFF flow control process is identical to traditional XON/XOFF flow 
  7727. control.
  7728.  
  7729. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  7730. D.9.4  De-Transparentization
  7731.  
  7732. In the de-transparentization process, the receiving device scans for 
  7733. DLEs. When one is found, it is discarded, and the following character is 
  7734. once again exclusive-ORed with the value $21, recovering the original 
  7735. character. Note that XONs and XOFFs that appear between the DLE and the 
  7736. following transparentized character are used for flow control purposes 
  7737. and do not affect the detransparentization process.
  7738.  
  7739. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  7740. D.9.5  Examples
  7741.  
  7742. The following discussion is written in terms of the actions performed by 
  7743. the computer software. The modem performs identical actions on the 
  7744. reverse directions of transmission. This text is not meant to constrain 
  7745. implementation or to imply that better implementations are not possible, 
  7746. but serves simply as an example. 
  7747.  
  7748. ........................................................................
  7749. D.9.5.1  Transmitter Example
  7750.  
  7751. Each character in the user data stream is individual examined. It it is 
  7752. any of the six characters $10, $11, $13, $90, $91, or $93, it is 
  7753. exclusive-ORed with the value $21, and prefixed by a DLE character 
  7754. ($10). This can also be viewed as a replacement function according to 
  7755. the following table:
  7756.  
  7757. Char      Replaced By
  7758. ------------------------------------------------------------------------
  7759. $10       $10 $31
  7760. $11       $10 $30
  7761. $13       $10 $32
  7762. $90       $10 $B1
  7763. $91       $10 $B0
  7764. $93       $10 $B2
  7765. ------------------------------------------------------------------------
  7766.  
  7767. The characters are transmitted using the parity setting then in force on 
  7768. the DTE-DCE interface; the XOR with $21 preserves the correct value of 
  7769. the parity bit.
  7770.  
  7771. If the software wants the modem to suspend delivering data, it inserts 
  7772. an XOFF ($13 at current parity setting) in the transmitted data stream 
  7773. at any arbitrary point, which may be between a DLE ($10) and the 
  7774. following transparentized character. The XOFF should be issued BEFORE 
  7775. the buffer is completely full, since there may be a lag of several 
  7776. characters before the modem is able to react to the XOFF and suspend 
  7777. delivery. To resume delivery of data, the software inserts an XON ($11 
  7778. at current parity setting) at any arbitrary point. Characters inserted 
  7779. for flow control purposes are NOT passed through the transparency 
  7780. algorithm defined above. 
  7781.  
  7782. ........................................................................
  7783. D.9.5.2  Receiver Example
  7784.  
  7785. Each character received from the modem is individually examined. A 
  7786. "transparency sequence in progress" flag (TSIP-FLAG) is maintained as 
  7787. part of a simple state machine. The initial value of the TSIP-FLAG is 
  7788. OFF. The following tests and actions should be undertaken in the order 
  7789. listed.
  7790.  
  7791. If the character received is $13 or $93 (XOFF with either parity), it is 
  7792. interpreted (regardless of the setting of the TSIP-FLAG) as a request 
  7793. from the modem for the DTE to suspend transmission of data to the modem. 
  7794. The receiver portion of the software must communicate this request to 
  7795. the transmitter portion of the software in a timely manner, since the 
  7796. modem has a limited amount of buffer space to allow for additional 
  7797. characters to be received after it sends XOFF (about 64 characters 
  7798. maximum). The XOFF character is discarded from the received data stream. 
  7799. The TSIP-FLAG is not changed.
  7800.  
  7801. If the character received is $11 or $91 (XON with either parity), it is 
  7802. interpreted (regardless of the setting of the TSIP-FLAG) as a request 
  7803. from the modem for the DTE to resume transmission of data to the modem, 
  7804. if any is available. The XON character is discarded from the received 
  7805. data stream. The TSIP-FLAG is not changed.
  7806.  
  7807. If the character is neither an XON or and XOFF, the following steps are 
  7808. performed:
  7809.  
  7810. If the TSIP-FLAG is ON, the received character is exclusive-ORed with 
  7811. $21, then delivered to the higher layer for further processing (e.g., 
  7812. placed in a receive data buffer). The TSIP-FLAG is then turned OFF.
  7813.  
  7814. If the TSIP-FLAG is OFF and the character received is $10 or $90 (DLE 
  7815. with either parity), the beginning of a transparency sequence is 
  7816. indicated. The DLE is discarded from the received data stream, and the 
  7817. TSIP-FLAG is turned ON. 
  7818.  
  7819. If the TSIP-FLAG is OFF and the character received is neither a $10 nor 
  7820. $90, the character is a normal untransparentized user data character 
  7821. which should be delivered to the higher layer for further processing 
  7822. (e.g., placed in a receive data buffer). The TSIP-FLAG remains OFF 
  7823. (unchanged).
  7824.  
  7825. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  7826. D.9.6  Conclusion
  7827.  
  7828. When properly implemented, Transparent XON/XOFF Local Flow Control 
  7829. permits a fully-functional flow-controlled interface even when only 
  7830. three conductors are present (Transmit Data, Receive Data, and Signal 
  7831. Ground). Versatile software may use the &T19 cable test feature of Hayes 
  7832. modems to determine whether or not RTS/CTS flow control can be 
  7833. used, and, if RTS/CTS is unavailable, automatically select &K5 operation 
  7834. to use Transparent XON/XOFF flow control, and allow the user to continue 
  7835. to transfer data using any protocol or data contents without concern for 
  7836. possible interference with the XON/XOFF flow control scheme.
  7837.  
  7838. ************************************************************************
  7839. D.10     General Tips and Techniques
  7840.  
  7841. The following are tips and techniques that may help in the exchange of 
  7842. information between the software controller and the modem command 
  7843. processor.
  7844.  
  7845. *  Commands in the command line should be ordered starting with the 
  7846. safest and ending with the most risky. Risk is defined as the potential 
  7847. to generate an ERROR, causing the remainder of the command line to be 
  7848. ignored.
  7849.  
  7850. *  Any command that may return ERROR should be anticipated. This or 
  7851. other unexpected results can be ignored unless the command is critical 
  7852. (configuration or call placement).
  7853.  
  7854. *  Send I0 or I4 at 1200 bps, which is supported by the majority of 
  7855. modem products. A modem reset (&F or Z) should be performed at 1200 bps 
  7856. before sending the identification commands.
  7857.  
  7858. *  Setup processing can be speeded by sending all but the last D or S0 
  7859. command at the highest DTE rate supported by the modem. The last command 
  7860. must be sent at the speed at which the connection should be made (except 
  7861. V-series, OPTIMA and ACCURA EC products which specify this with S37).
  7862.  
  7863. *  Any dependency on proper cabling can be eliminated by avoiding 
  7864. techniques that depend on RS-232 signals:
  7865.      Have the software scan for result codes, rather than depending 
  7866.      on the condition of the CD line.
  7867.      Transparent flow control should be used with V-series, OPTIMA and 
  7868.      ACCURA EC products rather than with RTS/CTS signals.
  7869.      The escape sequence with guard time process and H command 
  7870.      should be used to hangup instead of terminate a connection by 
  7871.      dropping DTR.
  7872.      Any unexpected RING result codes may indicate the last command 
  7873.      may not have been processed correctly. The command should be-
  7874.      issued.
  7875.  
  7876. Sample Controller/Modem Exchange
  7877.  
  7878. Clock     Controller                    Speed      Modem 
  7879.                                         (1200)
  7880.                                          bps)
  7881. ------------------------------------------------------------------------
  7882. 00000     ATZ<CR>                        
  7883. 00034                                              ATZ<CR>
  7884. 00068                                             (one second to do 
  7885.                                                    reset)
  7886. 01068                                             0<CR> (V0 stored as 
  7887.                                                    default)
  7888. 01084     (delay additional 600ms)
  7889. 01684     ATEQV1S0=0S12=10S4=3HI<CR>          
  7890. 01884                                             ATEQV1S0=0S12=10S4=3HI
  7891.                                                   <CR> (echo)
  7892. 02084                                             <CR><LF>960<CR><LF> 
  7893. 02142                                             <CR><LF>OK<CR><LF>
  7894.                                          (19200
  7895.                                           bps)     
  7896. 02192     ATM0X4L1S12=10S2=1&Q5W1S36
  7897.           =7S37=9&K5<CR>
  7898. 02206                                             <CR><LF>OK<CR><LF> 
  7899. 02209     ATDT9W14045551212<CR>
  7900. 38000                                             <CR><LF>CARRIER 
  7901.                                                   2400<CR><LF>
  7902. 45000                                             <CR><LF>PROTOCOL: 
  7903.                                                   NONE<CR><LF>
  7904. 45010                                             <CR><LF>CONNECT 
  7905.                                                   2400<CR><LF>
  7906.                                         (2400 
  7907.                                         bps)
  7908.                                         
  7909. (Connection Established)
  7910. -----------------------------------------------------------------------
  7911.                                         (2400 
  7912.                                          bps)
  7913. 00000     (delay 300ms, need 200, add 
  7914.           100 for safety)
  7915. 00300     (escape char is ^A, S2=1)
  7916. 00313                                              (waits 200ms)
  7917. 00513                                              <CR><LF>OK<CR><LF>
  7918. 00538     ATHE1S2=43S12=50W0&Q0<CR>
  7919. 00630                                              <CR><LF>OK<CR><LF> 
  7920. ------------------------------------------------------------------------
  7921.  
  7922. ========================================================================
  7923. WHERE TO GO FROM HERE
  7924.  
  7925. With the information provided here, you should be able to configure your 
  7926. modem with AT commands for a variety of communication environments. If 
  7927. you are just starting out with communications programming, this 
  7928. reference should provide you with sufficient tips to address the modem's 
  7929. features through a software program of your own.
  7930.  
  7931. If this Reference seems more technically oriented than you anticipated, 
  7932. we suggest that you purchase a Hayes Smartcom product. Any Smartcom 
  7933. program will fully control the modem to support almost any 
  7934. telecommunication requirements.
  7935.  
  7936. If you are, or would like to become, a registered Hayes Software 
  7937. Developer, you may receive additional technical material on Hayes 
  7938. products. For information on qualification and registration procedures, 
  7939. contact Hayes Customer Service at the telephone number and/or address 
  7940. provided with your modem package.
  7941.