FaxModem (250-3542) MNP Operations Faxback Doc. # 2593 MNP/V.42/V.42bis Operation MNP Operation MNP is a data link protocol that uses error-detection algorithms to ensure data integrity. Your modem supports MNP classes 2,3,4, and 5. Class 5 uses a data compression algorithm to increase data throughput and is enabled by the AT%C1 command. If MNP5 is disabled, the modem defaults to class 4. Operating Modes Your MNP modem supports four operating modes for connecting with a remote modem: Direct Mode(\N1), Normal Mode(\NO), MNP Mode(\N2), and Auto- reliable MNP Mode(\N3). Normal Mode (\NO) Connection in normal mode has the following characteristics: * The serial port speed might not be adjusted to the connection speed, depending on the \Jn setting. This permits different computer and modem speeds. * Both serial port and modem port flow control must be enabled if modem speed is different from computer speed. * MNP protocol is not supported, so all the MNP functions are ignored. The normal link can only be established in asynchronous communication. Direct Mode (\N1) * Connection in direct mode is identical to that established by common non-MNP modes and all MICROCOM commands are ignored. The purpose of the direct mode is to make the modem "dumb" for compatibility with older-style modems. MNP (\N2) Connection in MNP mode uses the MNP link to provide error detection and automatic retransmission of data when an error occurs. This ensures that communications between your system and the remote system are error-free. The remote modem must also support MNP protocol, otherwise the connection fails. Below are the features of MNP link: * The serial port speed might not be adjusted to the connection speed, depending on the \Jn setting. This permits different computer and modem speeds. * With the V.22bis or 2400bps modem, four MNP classes are supported in MNP negotiation. The features of each class are listed below: Class 2 Asynchronous operation with byte-oriented data formatting. Throughput is roughly 84% of nominal or about 2000 bps. Class 3 Conversion to synchronous, bit-oriented data is transmitted in blocks consisting of 1 to 64 characters. Throughput is about 108% of nominal or 2600 bps. Class 4 Basic characters are the same as Class 3, but block size is dynamic, up to 256 bytes, (size is based on data transmission quality). Throughput is 120% of nominal or 2900 bps. Class 5 Includes Class 3 and 4 with data compression techniques added. The compression effectiveness is dependent on the type of data, but typical throughput enhancements are as high as 200% of nominal or 4800 bps. * The MNP link can only be established in asynchronous communications. Auto-Reliable MNP mode (\N3) In the auto-reliable MNP mode, your modem becomes very flexible, permitting it to communicate with both MNP and non-MNP modems. Immediately after connecting to the remote modem , your modem tries to establish an MNP link. If it fails to do so, it can automatically establish a normal link instead. The AT commands and S registers applicable to MNP are: ATWn Negotiation Progress Reporting AT%Cn Compression Control At&Q5 Enable error-correction Mode AT\An Maximum MNP Block Size AT\Bn Transmit Blank AT\Gn Disable or Enable Speed Adjustment AT\Jn Disable or Enable Speed Adjustment AT\Kn Break Control AT\Ln MNP Block Transfer Control AT\Nn Operation Mode Control AT\O Originate Reliable Link Control AT\Qn Select Serial port Flow Control AT\S Display On-Line Status AT\Tn Inactivity Timer Control AT\U Accept Reliable Mode Control AT\V Result Code Form AT\X Xon/Xoff Pass Through Control AT\Y Switch to Reliable Mode AT\Z Switch to Normal Mode S36 Negotiation Failure Treatment S37 DCE Line Speed Control S38 Delay Before Forced Hang Up S40 MNP Bit Mapped Options S41 MNP Bit Mapped Options S46 Protocol Selection S95 Extended Result Codes V.42 Operation V.42 is a CCITT-recommended error-correction protocol that lets asynchronous computers communicate error-free with other similarly equipped modems. V.42 supports two methods of error correction: an HDLC-based protocol called LAPM and, as a fallback, MNP4. The modem offers a negotiation technique for determining and establishing the best method of error correction between two modems. This technique involves two phases: DETECTION and NEGOTIATION. In the detection phase, which occurs immediately after the establishment of the modem handshake, the communicating modems exchange a sequence of detection patterns to verify that both sides support the error-correction technique. In the negotiation phase, the communicating modems exchange configuration information. If the detection phase fails, or negotiation does not achieve the desired connection types, the modem can disconnect, fall back to MNP, or fall back to a standard asynchronous mode. Desired action to take is selected with register S36. Since MNP does not support a detection phase, the selection of MNP4 must be made as a forced fallback with registers S48 and S36. V.42 operation is found to be virtually identical to that of MNP reliable or normal modes of operation. For this reason the MNP command set is also used for V.42 variable control. The following S registers are used for V.42 LAPM operation: S36 V.42 Negotiation Fallback S46 Protocol Selection S48 V.48 Negotiation Action S82 Break Handling S86 Connection Failure Cause Code V.42bis Operation V.42bis is a CCITT recommended data-compression protocol. In this protocol the BTLZ data-compression technique is used. BTLZ is a patented technique to increase throughput to nearly 4 times that of an uncompressed file. Two additional S registers allow selection of BTLZ- negotiable parameters: S90 Maximum String Length S91 Dictionary Size Data Throughput Data throughput during V.42 bis or MNP Class 5 operation depends upon the data transmitted: * Transmitting text usually takes less time than transmitting the same number of bytes of executable program code or previously compressed data; i.e., the throughput rate of text is higher than the throughput rate of executable program code or previously compressed data. * Transmitting previously compressed data or purely random data typically takes more time than any other type of data. It can take longer to transmit a sample of previously compressed data during MNP Class 5 operation than during MNP Class 4 operation. V.42bis operation usually takes no longer to transmit any type of data than V.42bis operation. * Two files of the same length containing different text usually take different amounts of time to transmit Extended MNP and V.42/V.42bis Commands ┌──────────────────────────────────┐ │Wn Negotiation Progress Reporting│ └──────────────────────────────────┘ W0 Do not return negotiation progress messages. W1 Return negotiation progress messages. W2 Don't return negotiation progress messages; return CONNECT messages using modem-to-modem (DCE) speeds instead of modem-to-computer speeds. An additional set of result codes can be enabled with the W command to report progress of the negotiation phase of the error-correction mode. These codes report the carrier speed (300 bps- 2400 bps) and the error correction protocol. ┌────────────────────────┐ │\An Transmit Block Size│ └────────────────────────┘ \A0 64 Characters. \A1 128 Characters. \A2 192 Characters. \A3 256 Characters. ┌────────────────────────────────────┐ │\Bn Transmit Break for Normal Mode│ └────────────────────────────────────┘ n=0-9(100ms increments) in Normal Mode n always = 32 in MNP mode. Default=3 ┌───────────────────┐ │\Gn Set Modem Port│ └───────────────────┘ \G0 Disable modem port flow control. \G1 Enable modem port flow control. ┌───────────────────────────────────────┐ │\Jn Disable or Enable Speed Adjustment│ └───────────────────────────────────────┘ \J0 Turn off DTE baud rate adjustment. \J1 Turn on DTE baud rate adjustment. ┌─────────────────────────────────────────┐ │\Kn Break Control for Reliable Data Mode│ └─────────────────────────────────────────┘ \K1 Empty data buffers and immediately send a break to the remote modem. \K3 Immediately send a break to the remote terminal or computer. \K5 Send a break to the remote modem in sequence with any data received from the serial port. \K0,2,4 Not Supported (will be equal to AT\K5 if selected). ┌────────────────────────────────┐ │\Ln MNP Block Transfer Control│ └────────────────────────────────┘ \L0 Use Stream Mode for MNP link connections \L1 Use Block Mode for MNP link connections ┌─────────────────────────┐ │\Mn Protocol Negotiation│ └─────────────────────────┘ \M0 This command selects an automatic protocol negotiation mode. First, your modem attempts V.42bis (if your modem supports V42bis) with LAPM negotiation. If this is not possible, operation is negotiated (depending upon the %C command setting). If the remote modem does not support error correction, normal 2400bps (or 1200/300bps) operation is supported. \M1 This command disables LAPM and BTLZ operation. Here, only MNP-2-5 and non-error correcting modes are supported. ┌───────────────────┐ │\Nn Operating Mode│ └───────────────────┘ \N0 Normal Mode \N1 Direct Mode \N2 Reliable Mode \N3 Auto Reliable Mode See "Operating Modes, earlier in this chapter. ┌───────────────────────────────────┐ │\O Originate Reliable Link Control│ └───────────────────────────────────┘ In the on-line command state forces the modem to originate an MNP link regardless of whether the modem is in the originate mode or answer mode. ┌─────────────────────────────┐ │\Qn Serial Port Flow Control│ └─────────────────────────────┘ \Q0 Disable Flow Control. \Q1 Bidirectional Xon/Xoff Enabled. \Q2 Unidirectional Hardware Control by CTS. \Q3 Bidirectional Hardware Control by RTS / CTS. \Q4 Unidirectional X/onXoff Send-Only. ┌────────────────────────────────────┐ │\S Display the On-Line Modem Status│ └────────────────────────────────────┘ ┌─────────────────────────────┐ │\Tn Inactivity Timer Control│ └─────────────────────────────┘ n=0-90 minutes (if n is greater than 90, 90 is used). n= 0(disable). This command determines the length in 1-minute intervals that the modem waits before disconnecting when no data is sent or received. In MNP mode, any data transmitted or received by the modem resets the timer. ┌─────────────────────────────────┐ │\U Accept Reliable Mode Control│ └─────────────────────────────────┘ A\U in the on-line command state forces the modem to answer an MNP link regardless of whether the modem is in the originate mode or answer mode. ┌────────────────────┐ │\V Result Code Form│ └────────────────────┘ \V0 Standard Non-MNP Result Codes. \V1 Modified MNP Result Codes. ┌──────────────────────────────────┐ │\Xn Xon/Xoff Pass-Through Control│ └──────────────────────────────────┘ \X0 Does Not Pass Xon/Xoff to remote Modem. \X1 Passes Xon/Xoff to Remote Modem. ┌───────────────────────────┐ │\Y Switch to Reliable Mode│ └───────────────────────────┘ The on-line command state forces the modem to originate an MNP link if the modem is already in the originate mode, or to answer an MNP link if the modem is already in the answer mode. ┌─────────────────────────────────────────────────────────┐ │\Z End the Reliable Connection and Switch to Normal Mode│ └─────────────────────────────────────────────────────────┘ The on-line command state forces the modem to switch to a normal link during an MNP link. Then the remote modem automatically switches to normal link. ┌──────────────────────────────────┐ │&Q5 Select Error-Correction Mode│ └──────────────────────────────────┘ The on-line command state forces the modem to switch to a normal link during an MNP link. Then the remote modem automatically switches to normal link. EXAMPLE 1: To make a V.42bis connection. &Q5 plus S36 = 7 (MNP) S46= 138 (V.42bis) S48 = 7 (V42) EXAMPLE 2: To make an MNP5 connection. &Q5 plus S36 = 7(MNP) S46 = 138 (MNP5) S48 = 128 (Fallback, no V.42) EXAMPLE 3: To make an MNP4 connection. &Q5 plus S36 = 7(MNP) S46 = 136 (No Compression)) S48 = 128 (Fallback, NO V.42) See S36 & S48 for other configurations. ┌──────────────────────────────────────────────┐ │% An Set the Auto-Reliable Fallback Character│ └──────────────────────────────────────────────┘ n is a decimal integer between 0 and 127 indicating an ASCII character (Default = 0, ASCII NULL) ┌───────────────────────┐ │%CN Compression Control│ └───────────────────────┘ %C0 Disable Data Compression %C1 Enable MNP5 Data Compression %C2 Enable V.42 bis Data Compression %C3 Enable V.42bis/MNP5 Data Compression ┌─────────────────┐ │-Pn Check Parity│ └─────────────────┘ -P0 Ignores parity for special characters. -P1 Processes special characters only if they have correct parity. S-Registers for MNP/V.42/V.42bis Operation ┌────────────────────────────────┐ │S36 Negotiate Failure Treatment│ └────────────────────────────────┘ This register is read when the S48 register contains the value 128 or if an attempted error correction link fails. These fallback options are initiated immediately upon connection if S48=128. ┌─────────┬────────────────────────────────────────────────────────────┐ │ S36= 0 │ Hang UP. │ ├─────────┼────────────────────────────────────────────────────────────┤ │ S36= 1 │ Attempt Direct connection(\N1). │ ├─────────┼────────────────────────────────────────────────────────────┤ │ S36= 2 │ Reserved. │ ├─────────┼────────────────────────────────────────────────────────────┤ │ S36= 3 │ Attempt Normal Connection(\N0). │ ├─────────┼────────────────────────────────────────────────────────────┤ │ S36= 4 │ Attempt V.42bis then MNP 5 connection, if fail, │ │ │ hang up (\M0,%C1 and N2). │ ├─────────┼────────────────────────────────────────────────────────────┤ │ S36= 5 │ Attempt V.42bis then MNP5 connection, if fail, │ │ │ negotiate MNP 2-4 (\M0,%C1 and \N3) with │ │ │ constant terminal │ ├─────────┼────────────────────────────────────────────────────────────┤ │ S36= 7 │ Same as 5 │ │ │ │ │ │ Note: The selected fallback option can be │ │ │ initiated immediately with S48=128. For │ │ │ example, a connection attempt using the │ │ │ alternative protocol can be forced by setting │ │ │ S48=128 and S36 = 5 or 7. │ └─────────┴────────────────────────────────────────────────────────────┘ ┌─────────────────────────────┐ │S37 Desired Telco Line Speed│ └─────────────────────────────┘ ┌─────────┬─────────────────────────────────────┐ │ S37= 0 │ Auto Baud from 110 bps to 19.2K bps.│ ├─────────┼─────────────────────────────────────┤ │ S37= 1-│ 300bps. │ ├─────────┼─────────────────────────────────────┤ │ S37 =4 │ RESERVED. │ ├─────────┼─────────────────────────────────────┤ │ S37= 5 │ 1200 bps. │ ├─────────┼─────────────────────────────────────┤ │ S37= 6 │ 2400 bps. │ ├─────────┼─────────────────────────────────────┤ │ S37= 7 │ 4800 bps. │ ├─────────┼─────────────────────────────────────┤ │ S37= 8 │ RESERVED │ ├─────────┼─────────────────────────────────────┤ │ S37= 9 │ 9600 bps. │ └─────────┴─────────────────────────────────────┘ ┌───────────────────────────────────┐ │S38 Delay Before Forced Disconnect│ └───────────────────────────────────┘ This register specifies the delay (in seconds) between the modem's receipt of the ATH command to disconnect (or ON to OFF transition of the DTR if the modem is programmed to follow the signal) and then disconnect operation. Default: 20 ┌───────────────────────────┐ │S40 Status of MNP commands│ └───────────────────────────┘ Bits 0,1 \N status ───────────────────────────────── 00 \N0 01 \N2 11 \N3 DEFAULT Bits 2,3,4 \K status ───────────────────────────────── 000 \K0 001 \K1 010 \K2 011 \K3 100 \K4 101 \K5 DEFAULT Bits 5,6 \A status ───────────────────────────────── 00 \A0 01 \A1 10 \A2 11 \A3 Bit 7 \G status ┌───────────────────────┐ │S46 Protocol Selection│ └───────────────────────┘ S46 controls selection of the LAPM protocol and BTLZ compression. The following actions are executed for the given values: ┌───────────────────────┐ │S46 Protocol Selection│ └───────────────────────┘ S46 controls selection of the LAPM protocol and BTLZ compression. The following actions are executed for the given values: S46= 136 Execute LAPM protocol with no BTLZ compression. S46= 138 Execute LAPM protocol with BTLZ compression. In addition to BTLZ (V.42bis), the modem also implements MNP5 data compression. BTLZ is used only with LAPM, and MNP5 only with MNP4. MNP5 is enabled/disabled with the %Cn command. ┌────────────────────────────┐ │S48 V.42 Negotiation Action│ └────────────────────────────┘ The V.42 negotiation process determines the capabilities of the remote modem. However, when the capabilities of the remote modem are known and negotiation is unnecessary, this process can be bypassed if desired. ┌─────────────────────┬────────────────────────────────────────┐ │ S48=0 │ Disable the negotiation process. │ │ │ Remote modem must be configured the │ │ │ same. │ ├─────────────────────┼────────────────────────────────────────┤ │ S48=3 │ Half duplex negotiation. Your modem │ │ │ remain silent during detection. │ ├─────────────────────┼────────────────────────────────────────┤ │ S48=7 (Defaul)t │ Enable negotiation. │ ├─────────────────────┼────────────────────────────────────────┤ │ S48=128 │ Disable negotiation; bypass the │ │ │ detection and negotiation phases and │ │ │ proceed at once with the fallback │ │ │ action specified in S36. Can be │ │ │ used to force MNP. │ └─────────────────────┴────────────────────────────────────────┘ ┌────────────────────────────────────────────┐ │S82 Break Handling: Affected by \K commands│ └────────────────────────────────────────────┘ ┌─────────────────────┬─────────────────────────────────────────┐ │ S82=3 │ Send break immediately and save │ │ │ data in buffers' (same as \K0,2,4). │ ├─────────────────────┼─────────────────────────────────────────┤ │ S82= 7 │ Send break immediately and ignore │ │ │ data in buffers (same as \K1). │ ├─────────────────────┼─────────────────────────────────────────┤ │ S82= 128 (Default) │ Break is sent in sequence with the │ │ │ transmitted data as \K5. │ └─────────────────────┴─────────────────────────────────────────┘ ┌──────────────────────────────────────────────────────────┐ │S86 Connection failure cause code: Helpful for debugging│ └──────────────────────────────────────────────────────────┘ ┌───────────────────┬───────────────────────────────────────────────┐ │ S86= 0 │ Normal disconnection, no frame │ │ │ errors occurred. │ ├───────────────────┼───────────────────────────────────────────────┤ │ S86= 4 │ Loss of Carrier. │ ├───────────────────┼───────────────────────────────────────────────┤ │ S86= 9 │ No common protocol with remote │ │ │ modem. │ ├───────────────────┼───────────────────────────────────────────────┤ │ S86= 12 │ Normal disconnect requested by │ │ │ remote modem. │ ├───────────────────┼───────────────────────────────────────────────┤ │ S86= 13 │ Remote modem does not respond to 10 │ │ │ repetitions of the message. │ ├───────────────────┼───────────────────────────────────────────────┤ │ S86= 14 │ Protocol Violation: Incorrect │ │ │ negotiation block received. │ └───────────────────┴───────────────────────────────────────────────┘ ┌──────────────────────────┐ │S90 Maximum String Length│ └──────────────────────────┘ Register S90 selects the maximum number of characters that can be compressed into one soldered. Range : 6-250 characters Default : 32 characters ┌───────────────────────────┐ │S91 Dictionary Size (BTLZ)│ └───────────────────────────┘ This is a bit-mapped register which controls dictionary size options. ┌──────────────────────┬────────────────┐ │ S91 =0 │512 entries. │ ├──────────────────────┼────────────────┤ │ S91 =1 │1024 entries. │ ├──────────────────────┼────────────────┤ │ S91 =2 (Default) │2048 entries. │ ├──────────────────────┼────────────────┤ │ S91= 3 │4096 entries. │ └──────────────────────┴────────────────┘ Negotiation Progress Result Codes During error-control negotiation, special result codes can be reported. To enable these messages, you would select the W1 command. To avoid conflict with software programs that do not support this additional level of call progress monitoring, the factory default is W0, disabling negotiation progress messages. ┌─────────┬─────────────────┬────────────────────────────────────────┐ │ Number │Word │Explanation │ ├─────────┴─────────────────┴────────────────────────────────────────┤ │(\V0 W0) │ ├─────────┬─────────────────┬────────────────────────────────────────┤ │ 1 │CONNECT │Connection at 0 to 300 bps. │ ├─────────┼─────────────────┼────────────────────────────────────────┤ │ 5 │CONNECT 1200 │Connection at 1200 bps. │ ├─────────┼─────────────────┼────────────────────────────────────────┤ │ 10 │CONNECT 2400 │Connection at 4800 bps. │ ├─────────┼─────────────────┼────────────────────────────────────────┤ │ 11 │CONNECT 4800 │Connection at 4800 bps. │ ├─────────┼─────────────────┼────────────────────────────────────────┤ │ 12 │CONNECT 9600 │Connection 9600 bps. │ ├─────────┼─────────────────┼────────────────────────────────────────┤ │ 14 │CONNECT 19200 │Connection at 19200 bps. │ ├─────────┴─────────────────┴────────────────────────────────────────┤ │(\V1 W0) │ ├─────────┬──────────────────────────┬───────────────────────────────┤ │ 22 │CONNECT 1200/REL 4 │ MNP Class 4 Link. │ ├─────────┼──────────────────────────┼───────────────────────────────┤ │ 22 │CONNECT 1200/REL 5 │ MNP Class 5 Link. │ ├─────────┼──────────────────────────┼───────────────────────────────┤ │ 23 │CONNECT 2400/REL 4 │ MNP Class 4 Link. │ ├─────────┼──────────────────────────┼───────────────────────────────┤ │ 23 │CONNECT 2400/REL 5 │ MNP Class 5 Link. │ ├─────────┼──────────────────────────┼───────────────────────────────┤ │ 22 │CONNECT 1200/V.42 │ V.42 Link. │ ├─────────┼──────────────────────────┼───────────────────────────────┤ │ 22 │CONNECT 1200/V.42 bis │ V.42bis Link. │ ├─────────┼──────────────────────────┼───────────────────────────────┤ │ 23 │CONNECT 2400/V.42 │ V.42 Link. │ ├─────────┼──────────────────────────┼───────────────────────────────┤ │ 23 │CONNECT 2400/V.42bis │ V.42bis Link. │ ├─────────┴──────────────────────────┴───────────────────────────────┤ │(\V1 W1) │ ├─────────┬──────────────────────────┬───────────────────────────────┤ │ 40 │CARRIER 300 │ Carrier detected at │ │ │ │ 300 bps. │ ├─────────┼──────────────────────────┼───────────────────────────────┤ │ 46 │CARRIER 1200 │ Carrier detected at │ │ │ │ 1200 bps. │ ├─────────┼──────────────────────────┼───────────────────────────────┤ │ 47 │CARRIER 2400 │ Carrier detected at │ │ │ │ 2400bps. │ ├─────────┼──────────────────────────┼───────────────────────────────┤ │ 70 │PROTOCOL : NONE │ Asynchronous mode.. │ ├─────────┼──────────────────────────┼───────────────────────────────┤ │ 72 │PROTOCOL : MNP 2 │ MNP Class 2. │ ├─────────┼──────────────────────────┼───────────────────────────────┤ │ 74 │PROTOCOL : MNP 3 │ MNP Class 3. │ ├─────────┼──────────────────────────┼───────────────────────────────┤ │ 76 │PROTOCOL : MNP 4 │ MNP Class 4. │ ├─────────┼──────────────────────────┼───────────────────────────────┤ │ 77 │PROTOCOL : LAPM │ V.42 (LAPM).. │ ├─────────┼──────────────────────────┼───────────────────────────────┤ │ 78 │PROTOCOL : MNP5 │ MNP Class 5. │ │─────────┼──────────────────────────┼───────────────────────────────┤ │ 81 │PROTOCOL : V.42 bis │ V.42 bis (BTLZ). │ └─────────┴──────────────────────────┴───────────────────────────────┘ (smc-09/14/93)