Page 1 Document TR30.4.1/89-01001R4 January 1989 ELECTRONIC INDUSTRIES ASSOCIATION AD HOC SUBCOMMITTEE TR30.4.1 Project: PN-2188, Asynchronous Facsimile DCE Control Standard Source: Data Race, Inc Subject: DTE-DCE Interface Description for Facsimile Operations with Minimum DCE Facilities ("Class 1") 1. Introduction At the September 15, 1988 meeting of the TR30.2.3 committee, Les Staples of Data Race was requested to produce a working paper for the "Class 1" DTE-DCE interface for Facsimile Operation embodying the features and facilities agreed upon by the committee. At the November meeting in Las Vegas, the first draft of that paper was submitted. Many useful suggestions and comments were made at that meeting. A second draft was presented at the January 1989 committee meeting. The committee has been renamed TR30.4.1. A large number of good suggestions were incorporated, resulting in this, the third draft of that paper. Several changes to the original paper have been made to facilitate a simple 3-wire electrical interface, to eliminate the need for the DTE to be able to detect and handle the BREAK signal, and to eliminate the requirement for the DTE to be able to force the DCE to Command Mode. The attendees at the January, 1989 meeting were in general agreement on the workability of this paper in this form. The major changes made at the January 1989 meeting were: . requirement for the DCE to support XON/XOFF . removal of NULL padding ability during FAX transmit . add of DCE capability to detect the Final bit in the C-Field of an HDLC frame it is transmitting and to use the Final-bit detection to cause a return to Command Mode. . add of OK response code each time the DCE returns to Command Mode for consistancy. . add of CONNECT response code each time the DCE exits Command Mode while On-Line for consistancy Page 2 TR30.4.1/89-01001R4 2. Description of Interface The interface described is an extension of the asynchronous modem control "AT" command set currently under study by the TR30.4 committee and uses the format proposed by the TR30.4 committee. Every effort has been made to keep this level of interface as simple as possible with minimum requirements for processing placed on the DCE. The ability to efficiently operate with the current T.4 Recommendation as well as with a future error-protected facsimile transmission protocol, such as that specified in the Revised Recommendation T.4, AP IX-24-E, was also a consideration. An object of this paper is to allow a single port rate setting throughout the facsimile operation. Port rate setting methodologies are left to PN-2120. Bi-directional flow control is specified in all modes to prevent loss of data. The DCE must be capable of using in- band (XON-XOFF) and, optionally, electrical lead signaling (RTS-CTS). Methodologies for specifying to the DCE the flow control method to be used are left to PN-2120. Page 3 TR30.4.1/89-01001R4 2.1 Electrical Interface - Data and Control Signals The described interface assumes a serial asynchronous connection between the DTE and the DCE consisting of, as a minimum, Circuit BA (Transmitted Data), Circuit BB (Received Data), and Circuit AB (Signal Ground). Circuit CA (Request To Send) may optionally be used by the DTE to flow-control the DCE, and Circuit CB (Clear To Send) may optionally be used by the DCE to flow-control the DTE. Circuit CD (Data Terminal Ready) may optionally be used by the DTE to control the Off-Hook and Command Mode states of the DCE. The specific use of these leads are left to PN-2120. 2.2 Firmware Interface - Commands and Registers 2.2.1 Modulation Control Register The described interface uses a single register to determine the desired modulation type. This register may be set and examined by the normal ATSr commands. Register 65 has been chosen for this description, but another currently- unused register may be used in its place. Values in the register select: Value Modulation 3 V.29 - 7200 BPS 4 V.29 - 9600 BPS 5 V.27 - 2400 BPS 6 V.27 - 4800 BPS 10 V.21 - 300 BPS 11 TONE - 2100 Hz (CED) 12 TONE - 1100 Hz (CNG - EOM) 13 V.33Bis 12000 BPS* 14 V.33Bis 14400 BPS* 15 V.xx 19200 BPS 21 Reserved for DTMF tone detect *These speeds are not required but the values are reserved for future implementations. 2.2.2 Dialing and Answering 2.2.2.1 Dialing The normal ATD is used to dial a facsimile call. If the DCE is set for CED Tone mode, normal DCE call progress detection and reporting will be used. When the DCE detects the configured tone, it will send the CONNECT response code to the DTE, followed by the OK response code indicating that the DCE is in Command Mode. Page 4 TR30.4.1/89-01001R4 2.2.2.2 Answering The normal ATA command or Automatic Answering is used to cause the DCE to come off-hook in answer mode. In facsimile operation, when Register 65 is one of the defined the defined facsimile modes, the CONNECT result code will be immediately sent to the DTE and the DCE will enter Command Mode. The DTE would normally immediately order the DCE to transmit the 2100 Hz CED tone. 2.3.2 Facsimile Transmission and Reception Facsimile transmission and reception is controlled by four commands which are specific to facsimile operation. Since the data set over the interface is asynchronous, containing start and stop bits, it is necessary to set the DTE-DCE interface to a higher data rate than the line modulation rate. Since the maximum line modulation rate specified in Recommendation T.4 is 9600 BPS, it is convenient to set the DTE-DCE interface rate to 19,200 BPS. The DCE performs buffering and flow-control as described in the remainder of this document. An object is to allow the entire facsimile operation to be accomplished at a single port rate. Methodologies for port rate setting are left to PN-2120. Page 5 TR30.4.1/89-01001R4 2.3.2.1 Facsimile Transmit The command AT+FT is used to cause the DCE to transmit using the modulation selected by the content of the Modulation Control Register. The DCE should be Off-Hook when this command is issued by the DTE. The DCE will return the CONNECT response code and immediately send the proper training sequence in the selected mode (if any) followed by data. The DCE buffers data in this mode. The configured flow-control method will be used by the DTE as necessary to pause the DTE. When the DCE's transmit buffer becomes empty, the DCE will stop transmitting, lower transmit carrier, and return to command mode, returning the OK result code. The DTE may force the DCE to command mode by making Circuit CD (Data Terminal Ready) false, if so configured. When the DCE returns to command mode, it will lower its transmit carrier. If the mode chosen is TONE, the DCE will immediately begin to send the configured tone when the command is issued. If the DTE sends any subsequent data to the DCE, DCE will return to command mode. If the data from the DTE which aborts the receive process is a valid command, the command will be executed correctly. Page 6 TR30.4.1/89-01001R4 2.3.2.2 Facsimile Receive The command AT+FR causes the DCE to enter receive mode. The DCE receives in the modulation mode specified in the Modulation Control Register. The DCE will wait up to the time set in Register 7 for carrier to be detected. If the signal fails to be detected within that time, the modem returns to Command Mode and sends the NO CARRIER response code. If the selected mode is detected (Receive Line Signal Detect in the proper mode), the DCE will send the CONNECT result code to the DTE. If a signal is detected, but it is not the selected mode, the DCE will send a CERROR (Connect Error) result code to the DTE. This result code may optionally contain a numeric code indicating the type of signal that the DCE has determined that it is detecting. If the modulation selected is TONE, the CONNECT result code will be returned when the selected tone is detected for the period of time set in Register 9 , the Carrier Detect Response Time register, (0.1 second increments, default 0.6 seconds). The DCE will then return to command mode. In data modes, the DCE will return to Command Mode upon loss of carrier for the period of time set in Register 10, sending the normal NO CARRIER result code. The DCE will obey the configured flow control from the DTE. If the DTE sends any data to the DCE other than XON or XOFF while the DCE is in a Receive mode, the DCE will return to command mode. If the data from the DTE which aborts the receive process is a valid command, the command will be executed correctly. The DTE may force the DCE to command mode by making Circuit CD (Data Terminal Ready) false, if so configured. Page 7 TR30.4.1/89-01001R4 2.3.2.3 HDLC Transmit The command AT+FTH causes the DCE to transmit frames in HDLC protocol using the modulation mode chosen in the Modulation Control Register. If, when the command is executed, the mode set in the Modulation Control Register is not a valid synchronous mode, the response code ERROR will be returned by the DCE and the DCE will return to command mode. The DCE will return the CONNECT result code and transmit training followed by flags until the first byte of data is sent by the DTE. When the buffer becomes empty the DCE will append the Frame Check Sequence and a closing Flag to the frame and return to Command Mode, sending the result code CONNECT to the DTE. The DCE will continue to send flags until one of the following actions is taken by the DTE. . The DTE sends additional data. This action causes the DCE to send another frame. . The DTE forces the DCE to Command Mode via Circuit CD (Data Terminal Ready) or the Escape Sequence. . The period of time in Register 10, the Carrier Detect Response Time, elapses from the time when the DCE reported the CONNECT result code without the DTE sending additional data to the DCE. The DCE detects the FINAL bit in the C-field of the frame. When the DCE stops transmitting and returns to Command Mode and sends the the DTE the OK result code or the NO CARRIER result code in the case of S10 expiration. The DCE performs HDLC zero insertion and Frame Check Sequence generation while in this mode. The DCE buffers data in HDLC transmit mode. The DCE will use the configured method of flow-control to pause the DTE as necessary. Page 8 TR30.4.1/89-01001R4 2.3.2.4 HDLC Receive The command AT+FRH causes the DCE to receive frames in HDLC protocol using the modulation mode selected in the Modulation Control Register. If, when the command is executed, the mode set in the Modulation Control Register is not a valid synchronous mode, the response code ERROR will be returned by the DCE and the DCE will return to command mode. If the selected mode is detected (Receive Line Signal Detect in the proper mode), the DCE will send the CONNECT result code to the DTE. If a signal is detected, but it is not the selected mode, the DCE will send a CERROR (Connect Error) result code to the DTE. This result code may optionally contain a numeric code indicating the type of signal that the DCE has determined that it is detecting. The DCE strips Flags and receives and buffers frames. The received data, starting with the first non-Flag byte and continuing through the last FCS byte will be transferred to the DTE. The DCE performs HDLC zero-deletion and error checking. When the last byte of FCS has been sent to the DTE, the DCE may optionally inform the DTE of End-Of-Frame by generating a BREAK signal. After the FCS bytes, following the optional BREAK, the DCE will inform the DTE of the status of the frame reception by returning a result code of OK, if the frame was received correctly, or ERROR, if the frame was received in error. The DCE will obey the configured form of flow control from the DTE. After sending the Result Code indicating the frame reception is complete, the DCE continues to receive and buffer data in the selected mode. If the DTE issues another HDLC Receive command, the buffered data will be sent to the DCE and HDLC reception will proceed. If any other command is issued by the DTE, the DCE will stop the receive process. Any buffered data will be discarded and the command will be obeyed. The DCE will return to Command Mode upon loss of carrier for the period of time set in Register 9, sending the normal NO CARRIER result code. Page 9 TR30.4.1/89-01001R4 In this mode, the DTE may force the DCE to command mode with the Escape Sequence or by making Circuit CD (Data Terminal Ready) false, if so configured. 2.4 Optional Features 2.4.1 Data Buffering In order to allow a computer, such as a multi-user one, which may not always be able to quickly respond to avoid having under-run conditions when transmitting a facsimile, significant buffering in the DCE may be desirable. The ability to buffer up to 3 seconds of data for transmission (less than 4 kilobytes of buffer) may be provided as an option. 2.4.2 DTMF Detection A desirable feature of a multi-function DCE which is capable of facsimile and various forms of data communications would be to be able to detect Dual Tone Multi-Frequency digits to tell a program what service the caller desires. In this operation, the calling DCE would respond to a secondary dialtone emitted by the answering DCE and send one or more digits. These digits would result in unsolicited result codes to the DTE. Page 11 TR30.4.1/89-01001R4 2.4.2.1 Suggested DTMF implementation. Examples: Dial string at caller: ATDT@x (where x is a digit). Command sequence to answering DCE: Upon Detection of RING: ATH1+FT (The H1 causes the DTE to come Off-Hook. The @ in the dial string causes the DCE to wait for silence before continuing. The +FT with the proper tone setting in register 65 causes the DCE to send a short tone. The DTE then goes into DTMF detect mode. If the DCE detects a DTMF digit it sends the DTE an unsolicited response code consisting of an ! (exclamation) followed by the digit received. The DCE is in a form of Command Mode. Any command sent to the DCE will cause it to exit the DTMF detection mode and be obeyed. Many of the currently available facsimile data-pumps cannot quickly detect a DTMF digit without additional hardware. They are, however, capable of detecting the column tones, allowing at least the digits 1, 2, and 3 to be detected. A better syntax may be determined by the TR30.4 group which will satisfy this function.