home *** CD-ROM | disk | FTP | other *** search
/ High Voltage Shareware / high1.zip / high1 / DIR10 / GLBMDM.ZIP / GLBMDM.TXT
Text File  |  1993-09-10  |  50KB  |  1,097 lines

  1.  
  2.               NOVELL TECHNICAL INFORMATION DOCUMENT
  3.  
  4. TITLE:              GLBMDM.TXT MHS Modem Definition File
  5. DOCUMENT ID:        TID200001
  6. DOCUMENT REVISION:  A
  7. DATE:               31AUG93
  8. ALERT STATUS:       Yellow
  9. INFORMATION TYPE:   Issue
  10. README FOR:         GLBMDM.TXT
  11.  
  12. NOVELL PRODUCT and VERSION:
  13. NetWare Global MHS 2.0
  14.  
  15. ABSTRACT:
  16. This file describes how to write a Modem Definition File (MDF) for NetWare
  17. Global MHS (GMHS).  The intended audience is anyone who needs to develop an
  18. MDF to a modem for which no MDF exists.
  19. _________________________________________________________________
  20. DISCLAIMER
  21. THE ORIGIN OF THIS INFORMATION MAY BE INTERNAL OR EXTERNAL TO NOVELL. 
  22. NOVELL MAKES EVERY EFFORT WITHIN ITS MEANS TO VERIFY THIS INFORMATION. 
  23. HOWEVER, THE INFORMATION PROVIDED IN THIS DOCUMENT IS FOR YOUR INFORMATION
  24. ONLY.  NOVELL MAKES NO EXPLICIT OR IMPLIED CLAIMS TO THE VALIDITY OF THIS
  25. INFORMATION.
  26. _________________________________________________________________
  27.  
  28.  
  29. ISSUE
  30.      
  31. 1.0 Introduction
  32.  
  33. The Message Handling System (MHS) is a set of products that pickup and
  34. deliver messages for users or applications or other messaging services. 
  35. These MHS products can define MHS hosts and MHS users which can communicate
  36. with each other over phone lines, using asynchronous serial ports and
  37. modems.  Global MHS (GMHS) is the flagship member of the MHS product
  38. family.  Throughout this document,  MHS will be used when referring to the
  39. MHS technology and product family in general, GMHS will refer to the
  40. specific implementation of Global MHS.
  41.  
  42. MHS uses asynchronous, RS-232C serial ports to connect to modems. GMHS uses
  43. the Asynchronous Input/Output (AIO) NLMs to control the serial ports. AIO
  44. serial ports can be COMx type ports or on intelligent multi-port serial
  45. adapters. MHS uses an internal modem driver to control modems.
  46.  
  47. MHS must configure, reset, initialize, dial, answer, connect, and hang-up
  48. modems, both in dial up and leased line environments. Since there are many
  49. manufacturers and models of modems, with different features and command
  50. sets, MHS needs a mechanism for interfacing with each type of modem. For
  51. GMHS, this mechanism is the MDF and it works with the internal GMHS modem
  52. driver to control each type of modem.  The MDF file provides the GMHS modem
  53. driver with the specific parameters for particular modems so that the
  54. driver can perform these functions. Refer to section 2 for details on the
  55. MDF format and section 3 for details on MDF usage.
  56.  
  57. Although the GMHS product supplies a variety of MDFs for a variety of modem
  58. types, not all modem types can be defined by these supplied MDFs.
  59. Additional MDFs will have to be created by third parties, using this
  60. document and any ASCII-capable editor. Refer to appendix A for general
  61. guidelines on creating a MDF, appendices B-D for examples of MDFs, and
  62. appendices E-F for debugging MDFs.
  63.  
  64. 2.0 Format
  65.  
  66. A MDF is an ASCII file that defines a modem type using keywords and their
  67. values. A MDF keyword and its value is the definition of how MHS will
  68. control a modem for a specific task. There are 60 pre-defined MDF keywords,
  69. some for defining modem capabilities, some for defining modem commands, and
  70. others for defining modem responses.
  71.  
  72. A MDF keyword is a pre-defined ASCII string, with or without spaces, that
  73. begins each line in a MDF. An equal sign separates the MDF keyword from its
  74. value. A value can be a single character, word, number or it can be
  75. multiple characters, words, numbers or it can be nothing. Some characters,
  76. words, and numbers are pre-defined. A value is ended by carriage return,
  77. line feed(s).
  78.  
  79. For single character or string values, ASCII control characters can be
  80. represented by special two character sequences. These sequences always
  81. begin with the ^ character, following the commonly used representation for
  82. ASCII control characters. For example, ^J is the representation for line
  83. feed and ^M is the representation for carriage return.
  84.  
  85. There is no restriction on the order of MDF keywords in a MDF file. If the
  86. MDF keyword is irrelevant for defining how to control this modem type, the
  87. MDF keyword can be left out of the MDF. If the MDF keyword's default value
  88. already defines how to control this modem type, the MDF keyword can be left
  89. out of the MDF. MDF keywords, and pre-defined value strings, are treated as
  90. case insensitive. A semicolon as the first character of a line indicates
  91. that this line is a comment line and will be ignored.
  92.  
  93. 2.1. MDF DESCRIPTION
  94.  
  95. This keyword is used to describe the modem(s) supported by this modem
  96. definition. The description is limited to 60 characters and there is no
  97. default description. Currently, the description is not used or displayed
  98. but should be included for documentation purposes.
  99.  
  100. 2.2. MDF TYPE
  101.  
  102. This keyword is used to designate Hayes type command and response
  103. processing, i.e., send an ASCII command string and wait for a pre-defined
  104. ASCII response string. The default value is HAYES. This keyword is used to
  105. validate a MDF as compatible with an MHS product. If an incompatible type
  106. is found, GMHS will report an error and will not use this MDF. Currently,
  107. the only compatible value is HAYES.
  108.  
  109. Although GMHS will use the default value if this keyword is not found in
  110. the MDF, this keyword should be included in each MDF as insurance against
  111. inappropriate behavior by future versions of MHS products.
  112.  
  113. 2.3. MDF VERSION
  114.  
  115. This keyword is used to assign a version to a MDF. Its value can be from 1
  116. to 65,535. The default value is currently 2. This keyword is used to
  117. validate a MDF as compatible with an MHS product. If an incompatible
  118. version is found, GMHS will report an error and will not use this MDF.  The
  119. compatible values for current MHS products are 1 and 2; 1 was a beta
  120. version value that is no longer used.
  121.  
  122. Although GMHS will use the default value if this keyword is not found in
  123. the MDF, this keyword should be included in each MDF as insurance against
  124. inappropriate behavior by future versions of MHS products.
  125.  
  126. 2.4. FLOW CONTROL
  127.  
  128. This keyword is used to designate that this modem supports (or does not
  129. support) the standard RTS/CTS hardware signaling for flow control with this
  130. modem. Its value can be TRUE (support) or FALSE (not support). The default
  131. value is FALSE.
  132.  
  133. During modem protocol connections (see below), data transfers can be
  134. temporarily disabled, by toggling CTS or RTS, to avoid data loss when
  135. buffers become full due to resending of corrupted data or expansion of
  136. compressed data. GMHS enables flow control after receiving a modem
  137. CONNECTion response (see below) and before initiating a modem hang-up (see
  138. below). GMHS disables flow control while sending modem commands and
  139. receiving modem responses.
  140.  
  141. 2.5. MODEM SPEEDS
  142.  
  143. This keyword is used to specify the modem speeds that can be used with this
  144. modem. It is used during configuration of a GMHS product to check for
  145. errors, e.g., a 2400 bps modem should not be configured for 9600 bps. Each
  146. speed must be separated by a comma. The default is 300, 1200, 2400, 9600.
  147.  
  148. There is no restriction on the order of speeds. If an unsupported speed is
  149. found, GMHS reports an error, stops processing the speed values, but
  150. retains the already processed speeds. The supported speeds are 300, 1200,
  151. 2400, 9600, and 14400.
  152.  
  153. 2.6. MAX SPEED
  154.  
  155. This keyword is used to specify the maximum serial port speed that will be
  156. attempted when communicating to this modem. Its value can be any serial
  157. speed, from 50 to 115200. It is also used during configuration of GMHS to
  158. check for errors, e.g., older 2400 bps modems may not support speeds higher
  159. than 2400. The default value is 2400.
  160.  
  161. If no serial speed is specified during configuration, GMHS will use either
  162. this value or the highest serial speed supported by the driver/hardware
  163. attached to this modem, whichever is smaller. For modem protocol
  164. connections (see below), it is important to have the serial speed greater
  165. than the modem speed, for better throughput.
  166.  
  167. 2.7. ADJUST SPEED
  168.  
  169. This keyword is used to designate that this modem supports (or does not
  170. support) the adjustment of the serial speed after the modem CONNECTion
  171. response. Its value can be TRUE (support) or FALSE (not support). The
  172. default value is TRUE.
  173.  
  174. However, if the PROTOCOL ON keyword is specified and used, this keyword is
  175. ignored because the serial speed is assumed to be fixed, i.e., the serial
  176. speed should not be changed after the modem CONNECTion response.
  177.  
  178. 2.8. COMMAND BEGIN
  179.  
  180. This keyword is used to specify the beginning of command strings that are
  181. sent to this modem. Its value can be any sequence of ASCII characters,
  182. including control characters, with a total length not exceeding 10
  183. characters. The default value is AT.
  184.  
  185. 2.9. COMMAND END
  186.  
  187. This keyword is used to specify the end of command strings that are sent to
  188. this modem. Its value can be any sequence of ASCII characters, including
  189. control characters, with a total length not exceeding 2 characters. The
  190. default value is ^M, i.e., carriage return.
  191.  
  192. 2.10. MAX COMMAND
  193.  
  194. This keyword is used to specify the length of the maximum command string
  195. that can be sent to this modem. This length does not include the COMMAND
  196. BEGIN and the COMMAND END strings. Its value can be from 1 to 255. The
  197. default value is 40.
  198.  
  199. 2.11. RESET
  200.  
  201. This keyword is used to specify the command string, not including COMMAND
  202. BEGIN and COMMAND END, that will be sent to this modem to reset it. This
  203. command is sent prior to initialization and after hang-up. Its value can be
  204. any sequence of ASCII characters, including control characters, with a
  205. total length not exceeding 40 characters. The default value is Z.
  206.  
  207. 2.12. RESET TIME
  208.  
  209. This keyword is used to specify the amount of time, in seconds, to wait for
  210. a modem response after sending a RESET command. Its value can be from 3 to
  211. 30 seconds. The default value is 4 seconds.
  212.  
  213. 2.13. INIT (first)
  214.  
  215. This keyword is used to specify the command string, not including COMMAND
  216. BEGIN and COMMAND END, that will be sent to this modem to initialize it. No
  217. valid modem response is required. This command is sent after the RESET
  218. command. Its value can be any sequence of ASCII characters, including
  219. control characters, with a total length not exceeding 40 characters. The
  220. default value is EQV1X4S0=0S2=43S3=13S4=10S7=254S12=50.
  221.  
  222. 2.14. INIT (second)
  223.  
  224. This keyword is used to specify the command string, not including COMMAND
  225. BEGIN and COMMAND END, that will be sent to this modem to continue
  226. initializing it. A valid modem response is required. This command is sent
  227. after the first INIT command. Its value can be any sequence of ASCII
  228. characters, including control characters, with a total length not exceeding
  229. 40 characters. There is no default value.
  230.  
  231. If this modem does not require the serial speed to be adjusted after a
  232. modem CONNECTion response, i.e., ADJUST SPEED is FALSE, then the commands
  233. to maintain a fixed serial speed should be specified in the second or third
  234. INIT strings. For modem protocol connections (see below) and for mismatched
  235. speeds between modems, it is important to have the serial speed greater
  236. than the modem speed, for better throughput.
  237.  
  238. 2.15. INIT (third)
  239.  
  240. This keyword is used to specify the command string, not including COMMAND
  241. BEGIN and COMMAND END, that will be sent to this modem to continue
  242. initializing it. A valid modem response is required. This command is sent
  243. after the second INIT command. Its value can be any sequence of ASCII
  244. characters, including control characters, with a total length not exceeding
  245. 40 characters. There is no default value.
  246.  
  247. 2.16. SPEAKER ON
  248.  
  249. This keyword is used to specify the command string, not including COMMAND
  250. BEGIN and COMMAND END, that will be sent to this modem to turn the modem
  251. speaker on. No valid modem response is required. This command is sent after
  252. the last INIT command. Its value can be any sequence of ASCII characters,
  253. including control characters, with a total length not exceeding 40
  254. characters. The default value is M1.
  255.  
  256. 2.17. SPEAKER OFF
  257.  
  258. This keyword is used to specify the command string, not including COMMAND
  259. BEGIN and COMMAND END, that will be sent to this modem to turn the modem
  260. speaker off. No valid modem response is required. This command is sent
  261. after the last INIT command. Its value can be any sequence of ASCII
  262. characters, including control characters, with a total length not exceeding
  263. 40 characters. The default value is M.
  264.  
  265. 2.18. PROTOCOL ON
  266.  
  267. This keyword is used to specify the command string, not including COMMAND
  268. BEGIN and COMMAND END, that will be sent to this modem to attempt a modem
  269. protocol (error-control and data compression) connection. Modem protocol
  270. connections are only attempted if specified by the GMHS configuration. The
  271. remote modem will also have to attempt a modem protocol connection for this
  272. modem to actually establish a modem protocol connection. No valid modem
  273. response is required.
  274.  
  275. Its value can be any sequence of ASCII characters, including control
  276. characters, with a total length not exceeding 40 characters. There is no
  277. default value because not all modems support this type of functionality.
  278.  
  279. 2.19. PROTOCOL OFF
  280.  
  281. This keyword is used to specify the command string, not including COMMAND
  282. BEGIN and COMMAND END, that will be sent to this modem to not attempt a
  283. modem protocol (error-control and data compression) connection. No valid
  284. modem response is required.
  285.  
  286. Its value can be any sequence of ASCII characters, including control
  287. characters, with a total length not exceeding 40 characters. There is no
  288. default value because not all modems support this type of functionality.
  289.  
  290. 2.20. LEASED DIAL
  291.  
  292. This keyword is used to specify the command string, not including COMMAND
  293. BEGIN and COMMAND END, that will be sent to this modem to select leased
  294. line, dial operation. The remote modem will have to select leased line,
  295. answer operation for this modem to go on-line. Leased line operation is
  296. only selected if specified by the GMHS configuration. A valid modem
  297. response is required, eventually.
  298.  
  299. Its value can be any sequence of ASCII characters, including control
  300. characters, with a total length not exceeding 40 characters. There is no
  301. default value because not all modems support this type of functionality. If
  302. this keyword is specified, the LEASED ANSWER keyword must also be
  303. specified.
  304.  
  305. 2.21. LEASED ANSWER
  306.  
  307. This keyword is used to specify the command string, not including COMMAND
  308. BEGIN and COMMAND END, that will be sent to this modem to select leased
  309. line, answer operation. The remote modem will have to select leased line,
  310. dial operation for this modem to go on-line. Leased line operation is only
  311. selected if specified by the GMHS configuration. A valid modem response is
  312. required, eventually.
  313.  
  314. Its value can be any sequence of ASCII characters, including control
  315. characters, with a total length not exceeding 40 characters. There is no
  316. default value because not all modems support this type of functionality. If
  317. this keyword is specified, the LEASED DIAL keyword must also be specified.
  318.  
  319. 2.22. LEASED EXTERNAL
  320.  
  321. This keyword is used to designate that this modem does not require any
  322. modem commands to be sent to it to select leased line operation, i.e., this
  323. is done externally, usually with physical switches. Its value can be TRUE
  324. (external, don't send modem commands) or FALSE (not external, send modem
  325. commands). The default is FALSE.
  326.  
  327. The LEASED DIAL and LEASED ANSWER keywords should still be specified, but
  328. with no values, to indicate that this modem supports leased line
  329. operation.
  330.  
  331. 2.23. LEASED RESPONSE
  332.  
  333. This keyword is used to designate that this modem does not return any
  334. command responses when leased line operation is selected or when the modems
  335. have successfully made a leased line connection. Instead, a successful
  336. leased line connection is indicated by an active DCD signal. Its value can
  337. be TRUE (response expected) or FALSE (no response). The default is TRUE.
  338.  
  339. The LEASED DIAL and LEASED ANSWER keywords should still be specified, but
  340. with no values, to indicate that this modem supports leased line
  341. operation.
  342.  
  343. 2.24. DIAL TONE
  344.  
  345. This keyword is used to specify the command string, not including COMMAND
  346. BEGIN and COMMAND END, that will be sent to this modem to tone dial a
  347. telephone number. The telephone number is specified by the GMHS
  348. configuration. Valid modem response(s) are required, ending with one of the
  349. CONNECT responses (see below).
  350.  
  351. Its value can be any sequence of ASCII characters, including control
  352. characters, with a total length not exceeding 40 characters. The default
  353. value is DT.
  354.  
  355. 2.25. DIAL PULSE
  356.  
  357. This keyword is used to specify the command string, not including the
  358. COMMAND BEGIN and COMMAND END, that will be sent to this modem to pulse
  359. dial a telephone number. The telephone number is specified by the GMHS
  360. configuration. Valid modem response(s) are required, ending with one of the
  361. CONNECT responses (see below).
  362.  
  363. Its value can be any sequence of ASCII characters, including control
  364. characters, with a total length not exceeding 40 characters. The default
  365. value is DP.
  366.  
  367. 2.26. DIAL ESCAPE
  368.  
  369. This keyword is used to specify the character that will be added to the end
  370. of a DIAL TONE/PULSE command when breaking up a phone number that exceeds
  371. the MAX COMMAND length. It is placed at the end of a DIAL TONE/PULSE
  372. command string, just before the COMMAND END, to instruct this modem to
  373. return to the command state immediately after dialing, without breaking the
  374. connection. This allows for another command string to follow, with the
  375. remaining phone number.
  376.  
  377. Its value can be any sequence of ASCII characters, including control
  378. characters, with a total length not exceeding 40 characters. The default
  379. value is a semicolon.
  380.  
  381. 2.27. DIAL 300
  382.  
  383. This keyword is used to specify the command string, not including COMMAND
  384. BEGIN and COMMAND END, that will be sent to this modem to attempt to
  385. initiate a connection at 300 bps. A valid modem response is required. This
  386. command is sent before the DIAL TONE/PULSE commands.
  387.  
  388. Its value can be any sequence of ASCII characters, including control
  389. characters, with a total length not exceeding 40 characters. There is no
  390. default value because not all modems support this type of functionality.
  391.  
  392. 2.28. DIAL 1200
  393.  
  394. This keyword is used to specify the command string, not including COMMAND
  395. BEGIN and COMMAND END, that will be sent to this modem to attempt to
  396. initiate a connection at 1200 bps. A valid modem response is required. This
  397. command is sent before the DIAL TONE/PULSE commands.
  398.  
  399. Its value can be any sequence of ASCII characters, including control
  400. characters, with a total length not exceeding 40 characters. There is no
  401. default value because not all modems support this type of functionality.
  402.  
  403. 2.29. DIAL 2400
  404.  
  405. This keyword is used to specify the command string, not including COMMAND
  406. BEGIN and COMMAND END, that will be sent to this modem to attempt to
  407. initiate a connection at 2400 bps. A valid modem response is required. This
  408. command is sent before the DIAL TONE/PULSE commands.
  409.  
  410. Its value can be any sequence of ASCII characters, including control
  411. characters, with a total length not exceeding 40 characters. There is no
  412. default value because not all modems support this type of functionality.
  413.  
  414. 2.30. DIAL 9600
  415.  
  416. This keyword is used to specify the command string, not including COMMAND
  417. BEGIN and COMMAND END, that will be sent to this modem to attempt to
  418. initiate a connection at 9600 bps. A valid modem response is required. This
  419. command is sent before the DIAL TONE/PULSE commands.
  420.  
  421. Its value can be any sequence of ASCII characters, including control
  422. characters, with a total length not exceeding 40 characters. There is no
  423. default value because not all modems support this type of functionality.
  424.  
  425. 2.31. DIAL 14400
  426.  
  427. This keyword is used to specify the command string, not including COMMAND
  428. BEGIN and COMMAND END, that will be sent to this modem to attempt to
  429. initiate a connection at 14400 bps. A valid modem response is required.
  430. This command is sent before the DIAL TONE/PULSE commands.
  431.  
  432. Its value can be any sequence of ASCII characters, including control
  433. characters, with a total length not exceeding 40 characters. There is no
  434. default value because not all modems support this type of functionality.
  435.  
  436. 2.32. ANSWER
  437.  
  438. This keyword is used to specify the command string, not including COMMAND
  439. BEGIN and COMMAND END, that will be sent to this modem to answer a
  440. telephone call. Valid modem response(s) are required, ending with one of
  441. the CONNECT responses (see below). This command is sent after receiving a
  442. RING response.
  443.  
  444. Its value can be any sequence of ASCII characters, including control
  445. characters, with a total length not exceeding 40 characters. The default
  446. value is A.
  447.  
  448. 2.33. ESCAPE
  449.  
  450. This keyword is used to specify the command string, not including COMMAND
  451. BEGIN and COMMAND END, that will be sent to this modem to return it to the
  452. command state. A valid modem response is not required. This command is sent
  453. before the HANG-UP command.
  454.  
  455. Its value can be any sequence of ASCII characters, including control
  456. characters, with a total length not exceeding 40 characters. The default
  457. value is +++.
  458.  
  459. 2.34. ESCAPE TIME
  460.  
  461. This keyword is used to specify the amount of time, in seconds, to wait
  462. before and after sending the ESCAPE command. Its value can be from 1 to 30
  463. seconds. The default value is 1 second.
  464.  
  465. 2.35. HANG-UP
  466.  
  467. This keyword is used to specify the command string, not including COMMAND
  468. BEGIN and COMMAND END, that will be sent to this modem to hang-up a
  469. telephone call. A valid modem response is not required. This command is
  470. sent after the ESCAPE command.
  471.  
  472. Its value can be any sequence of ASCII characters, including control
  473. characters, with a total length not exceeding 40 characters. The default
  474. value is H.
  475.  
  476. 2.36. HANG-UP TIME
  477.  
  478. This keyword is used to specify the amount of time, in seconds, to wait for
  479. a modem response after sending a HANG-UP command. Its value can be from 2
  480. to 30 seconds. The default value is 10 seconds.
  481.  
  482. 2.37. DTR TIME
  483.  
  484. This keyword is used to specify the amount of time, in seconds, to drop the
  485. DTR signal after sending the HANG-UP command. Dropping the DTR signal, for
  486. the correct amount of time, is an attempt to add more reliability to modem
  487. hang-up. Its value can be from 1 to 3 seconds. The default value is 2
  488. second.
  489.  
  490. 2.38. VERBAL RESPONSE
  491.  
  492. This keyword is used to designate that this modem will return command
  493. responses that are verbal versus numeric. Its value can be TRUE (verbal) or
  494. FALSE (numeric). The default value is TRUE.
  495.  
  496. 2.39. RESPONSE BEGIN
  497.  
  498. This keyword is used to specify the beginning of command responses that are
  499. received from this modem. Its value can be any sequence of ASCII
  500. characters, including control characters, with a total length not exceeding
  501. 2 characters. The default value is ^M^J, i.e., carriagereturn and line
  502. feed.
  503.  
  504. 2.40. RESPONSE END
  505.  
  506. This keyword is used to specify the end of command responses that are
  507. received from this modem. Its value can be any sequence of ASCII
  508. characters, including control characters, with a total length not exceeding
  509. 2 characters. The default value is ^M^J, i.e., carriage return and line
  510. feed.
  511.  
  512. 2.41. RESPONSE TIME
  513.  
  514. This keyword is used to specify the amount of time, in seconds, to wait for
  515. a modem response after sending a command string. This is the default
  516. response time for commands that do not have pre-defined response time
  517. keywords. Its value can be from 2 to 30 seconds. The default value is 3
  518. seconds.
  519.  
  520. 2.42. OK
  521.  
  522. This keyword is used to specify the command response that indicates that a
  523. command or command string was executed by this modem. This response will be
  524. the result of a successful RESET, INIT, PROTOCOL ON/OFF, DIAL ESCAPE, DIAL
  525. 300/1200/2400/9600/14400, or ESCAPE commands.
  526.  
  527. Its value can be any sequence of ASCII characters, including control
  528. characters, with a total length not exceeding 25 characters. The default
  529. value is OK.
  530.  
  531. 2.43. RING
  532.  
  533. This keyword is used to specify the command response that indicates that
  534. this modem has detected a ring signal. It will only be used after
  535. completing reset and all initializations, for non-leased line operations,
  536. when GMHS is monitoring for incoming calls.
  537.  
  538. Its value can be any sequence of ASCII characters, including control
  539. characters, with a total length not exceeding 25 characters. The default
  540. value is RING.
  541.  
  542. 2.44. RINGING
  543.  
  544. This keyword is also used to specify the command response that indicates
  545. that this modem has detected a ring signal. However, unlike the RING
  546. command response above, this command response is ignored.
  547.  
  548. Its value can be any sequence of ASCII characters, including control
  549. characters, with a total length not exceeding 25 characters. The default
  550. value is RINGING.
  551.  
  552. 2.45. NO CARRIER
  553.  
  554. This keyword is used to specify the command response that indicates that no
  555. carrier signal was detected by this modem, or that the carrier signal was
  556. lost. This response could be the result of an unsuccessful DIAL TONE/PULSE,
  557. ANSWER, or LEASED DIAL/ANSWER command or a successful HANG-UP command.
  558.  
  559. Its value can be any sequence of ASCII characters, including control
  560. characters, with a total length not exceeding 25 characters. The default
  561. value is NO CARRIER.
  562.  
  563. 2.46. ERROR
  564.  
  565. This keyword is used to specify the command response that indicates that
  566. this modem has received an invalid command or there was an error in the
  567. command string. This response is not expected by GMHS, which if received
  568. when a modem response is required, will abort the connection.
  569.  
  570. Its value can be any sequence of ASCII characters, including control
  571. characters, with a total length not exceeding 25 characters. The default
  572. value is ERROR.
  573.  
  574. 2.47. NO DIALTONE
  575.  
  576. This keyword is used to specify the command response that indicates that no
  577. dial tone was detected when this modem went off hook. This response could
  578. be the result of an unsuccessful DIAL TONE/PULSE or ANSWER command.
  579.  
  580. Its value can be any sequence of ASCII characters, including control
  581. characters, with a total length not exceeding 25 characters. The default
  582. value is NO DIALTONE.
  583.  
  584. 2.48. BUSY
  585.  
  586. This keyword is used to specify the command response that indicates that
  587. this modem detected a busy signal when it attempted to connect with the
  588. remote modem at the telephone number dialed. This response could be the
  589. result of an unsuccessful DIAL TONE/PULSE command.
  590.  
  591. Its value can be any sequence of ASCII characters, including control
  592. characters, with a total length not exceeding 25 characters. The default
  593. value is BUSY.
  594.  
  595. 2.49. NO ANSWER
  596.  
  597. This keyword is used to specify the command response that indicates that no
  598. silence was detected by this modem when dialing a system not providing a
  599. dial tone. This response is the result of including the @ dial modifier in
  600. the telephone number of an unsuccessful DIAL TONE/PULSE command.
  601.  
  602. Its value can be any sequence of ASCII characters, including control
  603. characters, with a total length not exceeding 25 characters. The default
  604. value is NO ANSWER.
  605.  
  606. 2.50. VOICE
  607.  
  608. This keyword is used to specify the command response that indicates that
  609. this modem detected a (human) voice when it attempted to connect with the
  610. remote modem at the telephone number dialed. This response could be the
  611. result of an unsuccessful DIAL TONE/PULSE command.
  612.  
  613. Its value can be any sequence of ASCII characters, including control
  614. characters, with a total length not exceeding 25 characters. The default
  615. value is VOICE.
  616.  
  617. 2.51. CARRIER
  618.  
  619. This keyword is used to specify the command response that indicates that
  620. this modem detected a carrier signal when it attempted to make a modem
  621. protocol connection. This response is the result of sending a DIAL
  622. TONE/PULSE, ANSWER, or LEASED DIAL/ANSWER command. Although this response
  623. is currently only used for informational purposes, its detection and
  624. reporting allows for debugging improper GMHS configurations and incorrect
  625. MDF command strings.
  626.  
  627. Its value can be any sequence of ASCII characters, including control
  628. characters, with a total length not exceeding 25 characters. The default
  629. value is CARRIER.
  630.  
  631. 2.52. PROTOCOL A
  632.  
  633. This keyword is used to specify the command response that indicates that
  634. this modem successfully negotiated a modem protocol connection. This
  635. response is the result of sending a DIAL TONE/PULSE, ANSWER, or LEASED
  636. DIAL/ANSWER command. Although this response is currently only used for
  637. informational purposes, its detection and reporting allows for debugging
  638. improper GMHS configurations and incorrect MDF command strings.
  639.  
  640. Its value can be any sequence of ASCII characters, including control
  641. characters, with a total length not exceeding 25 characters. The default
  642. value is PROTOCOL: LAP-M.
  643.  
  644. 2.53. PROTOCOL B
  645.  
  646. This keyword is used to specify the command response that indicates that
  647. this modem successfully negotiated a modem protocol connection. This
  648. response is the result of sending a DIAL TONE/PULSE, ANSWER, or LEASED
  649. DIAL/ANSWER command. Although this response is currently only used for
  650. informational purposes, its detection and reporting allows for debugging
  651. improper GMHS configurations and incorrect MDF command strings.
  652.  
  653. Its value can be any sequence of ASCII characters, including control
  654. characters, with a total length not exceeding 25 characters. The default
  655. value is /ARQ.
  656.  
  657. 2.54. COMPRESSION
  658.  
  659. This keyword is used to specify the command response that indicates that
  660. this modem successfully negotiated a modem data compression connection.
  661. This response is the result of sending a DIAL TONE/PULSE, ANSWER, or LEASED
  662. DIAL/ANSWER command. Although this response is currently only used for
  663. informational purposes, its detection and reporting allows for debugging
  664. improper GMHS configurations and incorrect MDF command strings.
  665.  
  666. Its value can be any sequence of ASCII characters, including control
  667. characters, with a total length not exceeding 25 characters. The default
  668. value is COMPRESSION.
  669.  
  670. 2.55. CONNECT
  671.  
  672. This keyword is used to specify the command response that indicates that
  673. this modem successfully completed a connection with a remote modem. This
  674. response is the result of sending a DIAL TONE/PULSE, ANSWER, or LEASED
  675. DIAL/ANSWER command. It is used in conjunction with the CONNECT
  676. 300/1200/2400/9600/14400 responses (see below) to determine the modem
  677. connection speed.
  678.  
  679. Its value can be any sequence of ASCII characters, including control
  680. characters, with a total length not exceeding 25 characters. The default
  681. value is CONNECT.
  682.  
  683. 2.56. CONNECT 300
  684.  
  685. This keyword is used to specify the command response that indicates that
  686. this modem successfully completed a 300 bps connection with a remote modem.
  687. It is used in conjunction with the CONNECT response to indicate that a 300
  688. bps serial speed is required if no modem protocol connection was attempted
  689. and ADJUST SPEED is TRUE.
  690.  
  691. Its value can be any sequence of ASCII characters, including control
  692. characters, with a total length not exceeding 25 characters. The default
  693. value is nothing, i.e., no characters.
  694.  
  695. 2.57. CONNECT 1200
  696.  
  697. This keyword is used to specify the command response that indicates that
  698. this modem successfully completed a 1200 bps connection with a remote
  699. modem. It is used in conjunction with the CONNECT response to indicate that
  700. a 1200 bps serial speed is required if no modem protocol connection was
  701. attempted and ADJUST SPEED is TRUE.
  702.  
  703. Its value can be any sequence of ASCII characters, including control
  704. characters, with a total length not exceeding 25 characters. The default
  705. value is 1200.
  706.  
  707. 2.58. CONNECT 2400
  708.  
  709. This keyword is used to specify the command response that indicates that
  710. this modem successfully completed a 2400 bps connection with a remote
  711. modem. It is used in conjunction with the CONNECT response to indicate that
  712. a 2400 bps serial speed is required if no modem protocol connection was
  713. attempted and ADJUST SPEED is TRUE.
  714.  
  715. Its value can be any sequence of ASCII characters, including control
  716. characters, with a total length not exceeding 25 characters. The default
  717. value is 2400.
  718.  
  719. 2.59. CONNECT 9600
  720.  
  721. This keyword is used to specify the command response that indicates that
  722. this modem successfully completed a 9600 bps connection with a remote
  723. modem. It is used in conjunction with the CONNECT response to indicate that
  724. a 9600 bps serial speed is required if no modem protocol connection was
  725. attempted and ADJUST SPEED is TRUE.
  726.  
  727. Its value can be any sequence of ASCII characters, including control
  728. characters, with a total length not exceeding 25 characters. The default
  729. value is 9600.
  730.  
  731. 2.60. CONNECT 14400
  732.  
  733. This keyword is used to specify the command response that indicates that
  734. this modem successfully completed a 14400 bps connection with a remote
  735. modem. It is used in conjunction with the CONNECT response to indicate that
  736. a 14400 bps serial speed is required if no modem protocol connection was
  737. attempted and ADJUST SPEED is TRUE.
  738.  
  739. Its value can be any sequence of ASCII characters, including control
  740. characters, with a total length not exceeding 25 characters. The default
  741. value is 14400.
  742.  
  743. 3.0 Usage
  744.  
  745. MDFs are used by the GMHS when they are referenced as the Modem Type in the
  746. MHS configuration. GMHS uses the MDF to configure, reset, initialize, dial,
  747. answer, connect, and hang-up modems, both in dial up and leased line
  748. environments. With GMHS, MDFs can be referenced by more than one serial
  749. port.
  750.  
  751. The information in a MDF is used in various stages of MHS execution and for
  752. different MHS configurations. These stages can be divided into MDF
  753. initialization, MDF verification, serial port initialization, modem
  754. initialization, modem dialing, modem answering, modem connection, leased
  755. line connection, and modem hang-up.3.1 MDF Initialization
  756.  
  757. When the MDF is first referenced, it is processed, i.e., the MDF is opened,
  758. memory is allocated and initialized with the default MDF keyword values,
  759. MDF keywords are read and their values are checked and extracted, and then
  760. the MDF is closed. If an error occurs due to an invalid MDF keyword and/or
  761. value, an error may be logged and displayed and the MDF keyword and/or
  762. value will be ignored.
  763.  
  764. 3.2 MDF Verification
  765.  
  766. MDFs can be used for validation of modem configuration. GMHS validates the
  767. following information using the MDF:
  768.  
  769. * Is the Modem Speed valid for this modem, i.e., is it in the list of MODEM
  770. SPEEDS? If this MDF keyword is not specified, only speeds of 300, 1200,
  771. 2400, and 9600 are allowed.
  772.  
  773. * If configured for Yes, is Modem Negotiation valid for this modem, i.e.,
  774. are PROTOCOL ON and PROTOCOL OFF specified?
  775.  
  776. * If configured for Yes, is Leased Line valid for this modem, i.e., are
  777. LEASED DIAL and LEASED ANSWER specified?
  778.  
  779. * If Optional Modem Commands are specified, do they exceed the MAX COMMAND
  780. length?
  781.  
  782. 3.3 Serial Port Initialization
  783.  
  784. GMHS initializes a serial port for 8 data bits, 1 stop bit, no parity, the
  785. configured speed, and with RTS/CTS flow control disabled. The RTS and DTR
  786. signals are also raised. After a modem connection (see below), GMHS
  787. monitors for an active DCD signal from a modem, and if FLOW CONTROL is
  788. TRUE, also the CTS signal.
  789.  
  790. The maximum data rate supported varies, depending on the type of serial
  791. port (COMx or intelligent multi-port serial adapters), type of CPU, clock
  792. speed, etc. GMHS, which uses AIO, generally is limited to 2400 bps for COMx
  793. ports and 38.4K bps for serial adapters.
  794.  
  795. 3.4 Modem Initialization
  796.  
  797. The modem is only initialized and used when a connection to another MHS
  798. host is required. In the case of GMHS, if a modem is configured for a Modem
  799. Mode of Answer or Answer/Dial, the modem will be initialized and monitored
  800. immediately for incoming calls. Otherwise, modem initialization is done
  801. before modem dialing (see below).
  802.  
  803. First, a check is made for a previous off-hook, active connection which may
  804. need to be hung up. Active connections are recognized by an active DCD
  805. signal, which causes modem hang-up to be initiated (see below). Second, if
  806. Modem Negotiation is configured for Yes or ADJUST SPEED is FALSE, the
  807. serial speed will be changed to either the MAX SPEED or the maximum speed
  808. of the serial port, whichever is smaller.
  809.  
  810. Third, the RESET command is sent, waiting up to RESET TIME + 1 seconds for
  811. a response. If there is no response, the speed will be changed to 1200 bps
  812. and the RESET command resent. A valid response is not required to continue
  813. initialization. Fourth, the first INIT command is sent, waiting up to
  814. RESPONSE TIME seconds for a response. If there are no or error responses,
  815. this command is resent; a validresponse is not required.
  816.  
  817. At this point, the modem should be initialized properly and should respond
  818. properly. If there are second and third INIT commands, they are sent one at
  819. a time, waiting up to RESPONSE TIME seconds for each response. If there are
  820. no or error responses, these commands are resent. If there are still no or
  821. error responses, this modem will not be used for a configured delay and an
  822. error may be logged anddisplayed.
  823.  
  824. If there are valid responses, initialization continues with the speaker and
  825. protocol commands. If Modem Speaker is configured for On, the SPEAKER ON
  826. command is sent; otherwise, the SPEAKER OFF command is sent. If Modem
  827. Negotiation is configured for Yes, the PROTOCOL ON command is then sent;
  828. otherwise, the PROTOCOL OFF command is then sent. There is a wait of
  829. RESPONSE TIME seconds for responses. If there are no or error responses,
  830. these commands are resent; valid responses for speaker and protocol
  831. commands are not required.
  832.  
  833. 3.5 Modem Dialing
  834.  
  835. When an outgoing call is requested, the following steps are followed. In
  836. the case of GMHS, if the modem was being monitored for incoming calls and
  837. the configuration of Modem Negotiation is different, either the PROTOCOL ON
  838. or PROTOCOL OFF command are sent. GMHS waits up to RESPONSE TIME seconds
  839. for responses. If there are no or error responses, GMHS resends these
  840. commands; a valid response isnot required.
  841.  
  842. If ADJUST SPEED is TRUE, GMHS will then change the serial speed to the
  843. configured or maximum speed of the serial port, whichever is smaller. If
  844. ADJUST SPEED is FALSE, GMHS will then send the DIAL command that
  845. corresponds to the configured or maximum speed of the serial port,
  846. whichever is smaller.
  847.  
  848. GMHS will then send any Optional Modem Commands that have been configured,
  849. waiting up to RESPONSE TIME seconds for a response. If there are no or
  850. error responses, these commands areresent; a valid response is not
  851. required.
  852.  
  853. Finally, the configured prefix and telephone number strings are combined
  854. with either the DIAL TONE or DIAL PULSE dial command, depending on the
  855. configuration. GMHS will send this combined dial command string, waiting up
  856. to the configured time for a modem connection (see below). If the MAX
  857. COMMAND length is reached, the DIAL ESCAPE character is used to break up a
  858. prefix + telephone number string into multiple dial command strings, which
  859. are sent one after another, waiting for valid responses in between dial
  860. commands.
  861.  
  862. 3.6 Modem Answering
  863.  
  864. GMHS supports incoming calls and therefore, must answer modems. If a modem
  865. is configured for a Modem Mode of Answer or Answer/Dial, GMHS will
  866. continually monitor the modem for incoming calls, i.e., it will poll the
  867. modem for the RING response. When a RING response has been received, GMHS
  868. sends the ANSWER command, waiting up to 60 seconds for a modem connection
  869. (see below).
  870.  
  871. If an unknown or error response is received, the serial port and modem will
  872. be reset and re-initialized and if successful, GMHS will again start
  873. polling for the RING response.
  874.  
  875. 3.7 Modem Connection
  876.  
  877. After modem dial, modem answer, or leased line commands are sent, GMHS
  878. polls for a CONNECT response. Some modems will return informational
  879. responses before the CONNECT response, i.e., RINGING, CARRIER, COMPRESSION,
  880. and PROTOCOL A/B. Some modems will also return these informational
  881. responses as part of the CONNECTresponse. All these cases are handled.
  882.  
  883. In case of errors, modems will also return responses like ERROR, NO
  884. CARRIER, NO DIALTONE, BUSY, NO ANSWER, and VOICE. All these cases are
  885. handled. After receiving the CONNECT response, if ADJUST SPEED is TRUE and
  886. the current serial speed does not match the CONNECT speed, the serial speed
  887. will be changed to the CONNECT speed.
  888.  
  889. After modem connection, if FLOW CONTROL is TRUE, the RTS/CTS flow control
  890. is enabled. GMHS also starts monitoring for an inactive DCD to indicate
  891. lost carrier/connection. If DCD is inactive, modem hang-up will be
  892. initiated (see below).
  893.  
  894. 3.8 Leased Line Connection
  895.  
  896. GMHS supports leased lines and therefore, must initialize and monitor
  897. modems for leased line connections. If Leased Line is Yes, GMHS sends
  898. either the LEASED ANSWER or the LEASED DIAL command at the end of modem
  899. initialization, depending on if Modem Mode is Answer or Dial respectively.
  900. GMHS then polls for a modem connection (see above) indefinitely.
  901.  
  902. There are two special cases for leased line modems. If LEASED EXTERNAL is
  903. TRUE, GMHS does not send the LEASED ANSWER or LEASED DIAL commands; this
  904. modem was setup externally for leased line operation, usually with physical
  905. switches. If LEASED RESPONSE is FALSE, GMHS does not poll for modem
  906. connection responses; instead, the modem is polled for an active DCD signal
  907. to indicate a modem connection.
  908.  
  909. 3.9 Modem Hang-up
  910.  
  911. If FLOW CONTROL is TRUE, the RTS/CTS flow control mechanism is disabled.
  912. Then, the COMMAND END characters are sent, finishing any previous modem
  913. commands. To make certain the modem is in its command state, a delay of
  914. ESCAPE TIME seconds is initiated, then the ESCAPE command is sent, and then
  915. an additional delay of ESCAPE TIME seconds plus a minimum of RESPONSE TIME
  916. seconds or a maximum of 30 seconds for no responses is initiated.
  917.  
  918. Finally, the HANG-UP command is sent, waiting up to HANG-UP TIME seconds
  919. for a response. To ensure that hang-up will occur, the DTR signal is also
  920. dropped and after DTR TIME seconds, the DTR signal is raised.
  921.  
  922. Appendix A. General Guidelines for Creating a MDF
  923.  
  924. There are some general guidelines that should be followed when creating a
  925. MDF:
  926.  
  927. (1) Do not modify a released MDF; instead, create a separate MDF.
  928.  
  929. (2) Assume that the modem is in an unknown state prior to its use.
  930.  
  931. (3) Try not to use &F (recall factory profile) because you may override a
  932. feature not specified in the MDF.
  933.  
  934. (4) Try not to use &W (write active profile to memory) because you may
  935. affect a previous/future modem configuration and the NVRAM memory has a
  936. limited number of writes before it is unusable.
  937.  
  938. (5) Don't rely on the Z (RESET) command to recall a previously saved modem
  939. configuration since this may have been overwritten by a previous
  940. user/application.
  941.  
  942. (6) Only use the pre-defined keywords that are relevant to this modem and
  943. whose default's are not sufficient for this modem.
  944.  
  945. (7) Where appropriate, use comment lines thoughout the MDF.
  946.  
  947. (8) Each MDF name is limited to the eight character maximum of DOS and the
  948. NetWare file systems. MDF names should be as descriptive as possible since
  949. current MHS products only display the MDF filename for selecting a Modem
  950. Type. Generally, the first part of the name should be an abbreviation for
  951. the manufacturer of the modem, e.g., "HAYES", and the second part the
  952. abbreviation of model number or maximum speed, e.g., "96". If the eight
  953. character maximum name has not been reached, a single character
  954. abbreviation should be added to denote a series or capability, e.g., "v"
  955. for V-series or "e" for error-control. The extension is always MDF.
  956.  
  957. (9) The MDFs must reside in special subdirectories, which are different for
  958. each MHS product. GMHS requires the MDFs to be in the
  959. <NGM-root-dir>\ASYNC\MODEMDEF directory.
  960.  
  961. Appendix B. Example MDF for a Hayes Smartmodem 2400
  962.  
  963. MDF DESCRIPTION=Hayes Smartmodem 2400 and compatibles
  964. MDF VERSION=2
  965. MDF TYPE=HAYES
  966. MODEM SPEEDS=300,1200,2400
  967. MAX SPEED=2400
  968. MAX COMMAND=40
  969. INIT=EQV1X4S0=0S2=43S3=13S4=10S7=254S12=50
  970. INIT=&C1&D3&L
  971. LEASED DIAL=&L1D
  972. LEASED ANSWER=&L1A
  973.  
  974. Appendix C. Example MDF for a Hayes V-series ULTRA Smartmodem 9600
  975.  
  976. MDF DESCRIPTION=Hayes V-series ULTRA Smartmodem 9600
  977. MDF VERSION=2
  978. MDF TYPE=HAYES
  979. MODEM SPEEDS=300,1200,2400,9600
  980. MAX SPEED=38400
  981. MAX COMMAND=255
  982. FLOW CONTROL=TRUE
  983. ADJUST SPEED=FALSE
  984. INIT=EQV1X4S0=0S2=43S3=13S4=10S7=254S12=50
  985. INIT=N1W1&C1&D3&K3&L
  986. INIT=S30=0S37=0S49=8S50=16S95=32
  987. DIAL 300=S37=3
  988. DIAL 1200=S37=5
  989. DIAL 2400=S37=6
  990. DIAL 9600=S37=9
  991. LEASED DIAL=&L1D
  992. LEASED ANSWER=&L1A
  993. PROTOCOL ON=&Q5S36=7S38=20S46=2S48=7
  994. PROTOCOL OFF=&Q6
  995. PROTOCOL A=PROTOCOL: LAP-M
  996. PROTOCOL B=PROTOCOL: ALT
  997.  
  998. Appendix D. Example MDF for a USRobotics Courier HST
  999.  
  1000. MDF DESCRIPTION=USRobotics Courier HST, HST dual standard, and V.32bis
  1001. MDF VERSION=2
  1002. MDF TYPE=HAYES
  1003. MODEM SPEEDS=300,1200,2400,9600,14400
  1004. MAX SPEED=38400
  1005. MAX COMMAND=40
  1006. FLOW CONTROL=TRUE
  1007. ADJUST SPEED=FALSE
  1008. INIT=EQV1X6S0=0S2=43S3=13S4=10S7=255S12=50
  1009. INIT=BC1F1&A1&C1&D2&B1&H1&L&N0&R2S19=0
  1010. LEASED DIAL=
  1011. LEASED ANSWER=
  1012. LEASED EXTERNAL=TRUE
  1013. LEASED RESPONSE=TRUE
  1014. PROTOCOL ON=&K2&M4
  1015. PROTOCOL OFF=&M
  1016. PROTOCOL A=/ARQ
  1017. ;
  1018. ; For leased line operation, do the following steps:
  1019. ; 1.  Set your terminal or communications software to 38.4K bps.
  1020. ; 2.  Send the modem the following command: AT&B1&S2&H1&L1&W
  1021. ; 3.  Set the modem to load NVRAM settings at power-on, DIP switch 10 UP.
  1022. ; 4.  If this is the answering modem, set the modem to Auto Answer, DIP
  1023. switch 5 UP. If this is the calling modem, set the modem to Auto Answer
  1024. suppressed, DIP switch 5 DOWN.
  1025. ; 5.  Power off the modem.
  1026. ; 6.  On the NetWare server, select a 38.4K bps capable port and attach it
  1027. to the modem.
  1028. ; 7.  Configure this port for leased line operation and for a USRHST.
  1029. ; 8.  Repeat these or similar steps for the remote modem.
  1030. ; 9.  Turn on the calling modem first, followed by the answering modem.
  1031. ; 10. The modems should then go off hook and establish the connection.
  1032. ; 11. If unsuccessful, repeat step 9.
  1033.  
  1034. Appendix E. Debugging MDFs with NetWare Global MHS
  1035.  
  1036. This section contains information to assist in debugging MDFs using the
  1037. GMHS product and its NGMAMP.NLM program, which can display information on
  1038. the screen as well as in log file(s) when modem interactions take place.
  1039. This information takes the form of events, either connection, modem, port,
  1040. or error events. Events are further divided into major events, minor
  1041. events, and error codes; the important ones for debugging MDFs are listed
  1042. below. The screen display is enabled by loading the NGMAMP.NLM with the -S
  1043. command line option.
  1044.  
  1045. The GMHS log files can be found in a <NGM-root-dir>\LOGS directory,
  1046. referenced by the day of the week. The size of an individual log file is
  1047. controlled by an option in the GMHS configuration file, which can be found
  1048. in a SYS:\SYSTEM\NGM.CFG file. This option, Maximum-Log-Size, has a default
  1049. of 200K and GMHS will start overwriting a log file when this maximum has
  1050. been reached.
  1051.  
  1052. The NGMAMP log files are further referenced by the type of serial ports
  1053. used to interface to the configured modems. For example, the events for the
  1054. COM1 serial port can be found in the 01-00-00 file. The number of events is
  1055. generally influenced by the verbosity level, which can be set using another
  1056. option, Log-Verbosity, in a NGM.CFG file or via the GMHS administration
  1057. program NGMADMIN.NLM.
  1058.  
  1059. The default setting for NGMAMP is verbosity level 6, which displays
  1060. connection and error events. A verbosity level of 9 displays these events
  1061. as well as (serial) port and modem events. When debugging modem (and MDF)
  1062. problems, set the verbosity level to 9.
  1063.  
  1064. 1) Connection Events
  1065.  
  1066. The major events are OutboundCall, PollingCall, and InboundCall. There are
  1067. many possible minor events but the important ones are Opening, Dialing,
  1068. ModemControl, LoggingIn, CallerID, LoggingOut, HangingUp, and Closed. These
  1069. events track the high level actions that cause MHS to access serial ports
  1070. and modems. Refer to the GMHS Codes and Messages manual for details on
  1071. these events.
  1072.  
  1073. 2) Modem Events
  1074.  
  1075. The major event is Modem. The minor events are Definition, Command,
  1076. Response, Reset, Initialize, Dial, Answer, Ring, Hangup, Connect, Leased,
  1077. and Speed. A period in a Response event string implies a 1 second period of
  1078. time when no characters were received. These events track the low level
  1079. actions of MHS modem control. Refer to the GMHS Codes and Messages manual
  1080. for details on these events.
  1081.  
  1082. 3) (Serial) Port Events
  1083.  
  1084. The major event is Port. The minor events are PortNames, AcquirePort,
  1085. ReleasePort, ChangeSpeed, ChangePort, FlowControl, and SetDTR. These events
  1086. track the low level actions of MHS serial port control. Refer to the GMHS
  1087. Codes and Messages manual for details on these events.
  1088.  
  1089. 4) Error Events
  1090.  
  1091. The major events are SevereError, MajorError, Error, InternalErr, Warning,
  1092. and Advisory. The modem errors are identified with #326, followed by the
  1093. range #19000 to #19999. The port errors are identified with #256, followed
  1094. by the range #20000 to #20999. Refer to the GMHS Codes and Messages manual
  1095. for details on these errors.
  1096. y
  1097.