1 /* 2 * SpanDSP - a series of DSP components for telephony 3 * 4 * t30_fcf.h - ITU T.30 fax control field definitions 5 * 6 * Written by Steve Underwood <steveu@coppice.org> 7 * 8 * Copyright (C) 2003 Steve Underwood 9 * 10 * All rights reserved. 11 * 12 * This program is free software; you can redistribute it and/or modify 13 * it under the terms of the GNU Lesser General Public License version 2.1, 14 * as published by the Free Software Foundation. 15 * 16 * This program is distributed in the hope that it will be useful, 17 * but WITHOUT ANY WARRANTY; without even the implied warranty of 18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 * GNU Lesser General Public License for more details. 20 * 21 * You should have received a copy of the GNU Lesser General Public 22 * License along with this program; if not, write to the Free Software 23 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 24 */ 25 26 /*! \file */ 27 28 #if !defined(_SPANDSP_T30_FCF_H_) 29 #define _SPANDSP_T30_FCF_H_ 30 31 enum 32 { 33 /*! Initial identification messages */ 34 /*! From the called to the calling terminal. */ 35 T30_DIS = 0x80, /*! [0000 0001] Digital identification signal */ 36 T30_CSI = 0x40, /*! [0000 0010] Called subscriber identification */ 37 T30_NSF = 0x20, /*! [0000 0100] Non-standard facilities */ 38 39 /*! Commands to send */ 40 /*! From a calling terminal wishing to be a receiver, to a called terminal 41 which is capable of transmitting. */ 42 T30_DTC = 0x81, /*! [1000 0001] Digital transmit command */ 43 T30_CIG = 0x41, /*! [1000 0010] Calling subscriber identification */ 44 T30_NSC = 0x21, /*! [1000 0100] Non-standard facilities command */ 45 T30_PWD = 0xC1, /*! [1000 0011] Password */ 46 T30_SEP = 0xA1, /*! [1000 0101] Selective polling */ 47 T30_PSA = 0x61, /*! [1000 0110] Polled subaddress */ 48 T30_CIA = 0xE1, /*! [1000 0111] Calling subscriber internet address */ 49 T30_ISP = 0x11, /*! [1000 1000] Internet selective polling address */ 50 51 /*! Commands to receive */ 52 /*! From a calling terminal wishing to be a transmitter, to a called terminal 53 which is capable of receiving. */ 54 T30_DCS = 0x82, /*! [X100 0001] Digital command signal */ 55 T30_TSI = 0x42, /*! [X100 0010] Transmitting subscriber information */ 56 T30_NSS = 0x22, /*! [X100 0100] Non-standard facilities set-up */ 57 T30_SUB = 0xC2, /*! [X100 0011] Sub-address */ 58 T30_SID = 0xA2, /*! [X100 0101] Sender identification */ 59 /*! T30_TCF - Training check is a burst of 1.5s of zeros sent using the image modem */ 60 T30_CTC = 0x12, /*! [X100 1000] Continue to correct */ 61 T30_TSA = 0x62, /*! [X100 0110] Transmitting subscriber internet address */ 62 T30_IRA = 0xE2, /*! [X100 0111] Internet routing address */ 63 64 /*! Pre-message response signals */ 65 /*! From the receiver to the transmitter. */ 66 T30_CFR = 0x84, /*! [X010 0001] Confirmation to receive */ 67 T30_FTT = 0x44, /*! [X010 0010] Failure to train */ 68 T30_CTR = 0xC4, /*! [X010 0011] Response for continue to correct */ 69 T30_CSA = 0x24, /*! [X010 0100] Called subscriber internet address */ 70 71 /*! Post-message commands */ 72 T30_EOM = 0x8E, /*! [X111 0001] End of message */ 73 T30_MPS = 0x4E, /*! [X111 0010] Multipage signal */ 74 T30_EOP = 0x2E, /*! [X111 0100] End of procedure */ 75 T30_PRI_EOM = 0x9E, /*! [X111 1001] Procedure interrupt - end of procedure */ 76 T30_PRI_MPS = 0x5E, /*! [X111 1010] Procedure interrupt - multipage signal */ 77 T30_PRI_EOP = 0x3E, /*! [X111 1100] Procedure interrupt - end of procedure */ 78 T30_EOS = 0x1E, /*! [X111 1000] End of selection */ 79 T30_PPS = 0xBE, /*! [X111 1101] Partial page signal */ 80 T30_EOR = 0xCE, /*! [X111 0011] End of retransmission */ 81 T30_RR = 0x6E, /*! [X111 0110] Receiver ready */ 82 83 /*! Post-message responses */ 84 T30_MCF = 0x8C, /*! [X011 0001] Message confirmation */ 85 T30_RTP = 0xCC, /*! [X011 0011] Retrain positive */ 86 T30_RTN = 0x4C, /*! [X011 0010] Retrain negative */ 87 T30_PIP = 0xAC, /*! [X011 0101] Procedure interrupt positive */ 88 T30_PIN = 0x2C, /*! [X011 0100] Procedure interrupt negative */ 89 T30_PPR = 0xBC, /*! [X011 1101] Partial page request */ 90 T30_RNR = 0xEC, /*! [X011 0111] Receive not ready */ 91 T30_ERR = 0x1C, /*! [X011 1000] Response for end of retransmission */ 92 T30_FDM = 0xFC, /*! [X011 1111] File diagnostics message */ 93 94 /*! Other line control signals */ 95 T30_DCN = 0xFA, /*! [X101 1111] Disconnect */ 96 T30_CRP = 0x1A, /*! [X101 1000] Command repeat */ 97 T30_FNV = 0xCA, /*! [X101 0011] Field not valid */ 98 T30_TNR = 0xEA, /*! [X101 0111] Transmitter not ready */ 99 T30_TR = 0x6A, /*! [X101 0110] Transmitter ready */ 100 T30_TK = 0x4B, /*! [1101 0010] Transmitter keys */ 101 T30_RK = 0x4A, /*! [0101 0010] Receiver keys */ 102 T30_PSS = 0x1F, /*! [1111 1000] Present signature signal (used only as FCF2) */ 103 T30_DES = 0xA0, /*! [0000 0101] Digital extended signal */ 104 T30_DEC = 0x93, /*! [1100 1001] Digital extended command */ 105 T30_DER = 0x53, /*! [1100 1010] Digital extended request */ 106 T30_DTR = 0x11, /*! [1000 1000] Digital turnaround request (conflicts with ISP) */ 107 T30_DNK = 0x9A, /*! [X101 1001] Digital not acknowledge */ 108 T30_PID = 0x6C, /*! [X011 0110] Procedure interrupt disconnect */ 109 T30_SPI = 0x10, /*! [0000 1000] Security page indicator */ 110 T30_SPT = 0x80, /*! [0000 0001] Security page type */ 111 112 /*! Something only use as a secondary value in error correcting mode */ 113 T30_NULL = 0x00, /*! [0000 0000] Nothing to say */ 114 115 /*! Information frame types used for error correction mode, in T.4 */ 116 T4_FCD = 0x06, /*! [0110 0000] Facsimile coded data */ 117 T4_CCD = 0x46, /*! [0110 0010] Character coded data */ 118 T4_RCP = 0x86 /*! [0110 0001] Return to control for partial page */ 119 }; 120 121 #endif 122 /*- End of file ------------------------------------------------------------*/ 123