00001 /* 00002 * SpanDSP - a series of DSP components for telephony 00003 * 00004 * t30_dis_dtc_dcs_bits.h - ITU T.30 fax control bits definitions 00005 * 00006 * Written by Steve Underwood <steveu@coppice.org> 00007 * 00008 * Copyright (C) 2009 Steve Underwood 00009 * 00010 * All rights reserved. 00011 * 00012 * This program is free software; you can redistribute it and/or modify 00013 * it under the terms of the GNU Lesser General Public License version 2.1, 00014 * as published by the Free Software Foundation. 00015 * 00016 * This program is distributed in the hope that it will be useful, 00017 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00018 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00019 * GNU Lesser General Public License for more details. 00020 * 00021 * You should have received a copy of the GNU Lesser General Public 00022 * License along with this program; if not, write to the Free Software 00023 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 00024 * 00025 * $Id: t30_dis_dtc_dcs_bits.h,v 1.1.4.1 2009/12/19 09:47:57 steveu Exp $ 00026 */ 00027 00028 /*! \file */ 00029 00030 #if !defined(_SPANDSP_PRIVATE_T30_DIS_DTC_DCS_BITS_H_) 00031 #define _SPANDSP_PRIVATE_T30_DIS_DTC_DCS_BITS_H_ 00032 00033 /* Indicates that the terminal has the Simple mode capability defined in ITU-T Rec. T.37. 00034 Internet address signals CIA, TSA or CSA can be sent and received. The recipient terminal 00035 may process or ignore this signal. */ 00036 #define T30_DIS_BIT_T37 1 00037 #define T30_DCS_BIT_T37 1 00038 00039 /* Indicates that the terminal has the capability to communicate using ITU-T Rec. T.38. 00040 Internet address signals CIA, TSA or CSA can be sent and received. The recipient terminal 00041 may process or ignore this signal. */ 00042 #define T30_DIS_BIT_T38 3 00043 #define T30_DCS_BIT_T38 3 00044 00045 /* Bit 4 set to "1" indicates 3rd Generation Mobile Network Access to the GSTN Connection. 00046 Bit 4 set to "0" conveys no information about the type of connection. */ 00047 #define T30_DIS_BIT_3G_MOBILE 4 00048 #define T30_DCS_BIT_3G_MOBILE 4 00049 00050 /* When ISDN mode is used, in DIS/DTC bit 6 shall be set to "0". */ 00051 #define T30_DIS_BIT_V8_CAPABILITY 6 00052 00053 /* When ISDN mode is used, in DIS/DTC bit 7 shall be set to "0". */ 00054 #define T30_DIS_BIT_64_OCTET_ECM_FRAMES_PREFERRED 7 00055 00056 /* Bit 9 indicates that there is a facsimile document ready to be polled from the answering 00057 terrminal. It is not an indication of a capability. */ 00058 #define T30_DIS_BIT_READY_TO_TRANSMIT_FAX_DOCUMENT 9 00059 00060 /* In DIS/DTC bit 10 indicates that the answering terminal has receiving capabilities. 00061 In DCS it is a command to the receiving terminal to set itself in the receive mode. */ 00062 #define T30_DIS_BIT_READY_TO_RECEIVE_FAX_DOCUMENT 10 00063 #define T30_DCS_BIT_RECEIVE_FAX_DOCUMENT 10 00064 00065 /* Bits 11, 12, 13, 14 - modem type */ 00066 00067 #define T30_DIS_BIT_200_200_CAPABLE 15 00068 #define T30_DCS_BIT_200_200 15 00069 00070 #define T30_DIS_BIT_2D_CAPABLE 16 00071 #define T30_DCS_BIT_2D_CODING 16 00072 00073 /* Standard facsimile terminals conforming to ITU-T Rec. T.4 must have the following capability: 00074 Paper length = 297 mm. */ 00075 00076 /* Bits 17, 18 - recording width */ 00077 00078 /* Bits 19, 20 - paper length */ 00079 00080 /* Bits 21, 22, 23 - min scan line time */ 00081 00082 /* When ISDN mode is used, in DIS/DTC bits 21 to 23 shall be set to "1". */ 00083 00084 #define T30_DIS_BIT_UNCOMPRESSED_CAPABLE 26 00085 #define T30_DCS_BIT_UNCOMPRESSED_MODE 26 00086 00087 /* When ISDN mode is used, in DIS/DTC bit 27 shall be set to "1". */ 00088 #define T30_DIS_BIT_ECM_CAPABLE 27 00089 #define T30_DCS_BIT_ECM 27 00090 00091 /* The value of bit 28 in the DCS command is only valid when ECM is selected. */ 00092 #define T30_DCS_BIT_64_OCTET_ECM_FRAMES 28 00093 00094 /* The value of bit 31 in the DCS command is only valid when ECM is selected. */ 00095 #define T30_DIS_BIT_T6_CAPABLE 31 00096 #define T30_DCS_BIT_T6_MODE 31 00097 00098 #define T30_DIS_BIT_FNV_CAPABLE 33 00099 #define T30_DCS_BIT_FNV_CAPABLE 33 00100 00101 #define T30_DIS_BIT_MULTIPLE_SELECTIVE_POLLING_CAPABLE 34 00102 00103 #define T30_DIS_BIT_POLLED_SUBADDRESSING_CAPABLE 35 00104 00105 #define T30_DIS_BIT_T43_CAPABLE 36 00106 #define T30_DCS_BIT_T43_CODING 36 00107 00108 #define T30_DIS_BIT_PLANE_INTERLEAVE_CAPABLE 37 00109 #define T30_DCS_BIT_PLANE_INTERLEAVE 37 00110 00111 #define T30_DIS_BIT_G726_CAPABLE 38 00112 #define T30_DCS_BIT_G726 38 00113 00114 #define T30_DIS_BIT_200_400_CAPABLE 41 00115 #define T30_DCS_BIT_200_400 41 00116 00117 #define T30_DIS_BIT_300_300_CAPABLE 42 00118 #define T30_DCS_BIT_300_300 42 00119 00120 #define T30_DIS_BIT_400_400_CAPABLE 43 00121 #define T30_DCS_BIT_400_400 43 00122 00123 /* Bits 44 and 45 are used only in conjunction with bits 15 and 43. Bit 44 in DCS, when used, 00124 shall correctly indicate the resolution of the transmitted document, which means that bit 44 in DCS may 00125 not always match the indication of bits 44 and 45 in DIS/DTC. Cross selection will cause the distortion 00126 and reduction of reproducible area. 00127 If a receiver indicates in DIS that it prefers to receive metric-based information, but the transmitter has 00128 only the equivalent inch-based information (or vice versa), then communication shall still take place. 00129 Bits 44 and 45 do not require the provision of any additional features on the terminal to 00130 indicate to the sending or receiving user whether the information was transmitted or received on a metric-metric, 00131 inch-inch, metric-inch, inch-metric basis. */ 00132 00133 #define T30_DIS_BIT_INCH_RESOLUTION_PREFERRED 44 00134 #define T30_DCS_BIT_INCH_RESOLUTION 44 00135 00136 #define T30_DIS_BIT_METRIC_RESOLUTION_PREFERRED 45 00137 00138 #define T30_DIS_BIT_MIN_SCAN_TIME_HALVES 46 00139 00140 #define T30_DIS_BIT_SELECTIVE_POLLING_CAPABLE 47 00141 00142 #define T30_DIS_BIT_SUBADDRESSING_CAPABLE 49 00143 #define T30_DCS_BIT_SUBADDRESS_TRANSMISSION 49 00144 00145 #define T30_DIS_BIT_PASSWORD 50 00146 #define T30_DCS_BIT_SENDER_ID_TRANSMISSION 50 00147 00148 /* Bit 51 indicates that there is a data file ready to be polled from the answering terminal. It is 00149 not an indication of a capability. This bit is used in conjunction with bits 53, 54, 55 and 57. */ 00150 #define T30_DIS_BIT_READY_TO_TRANSMIT_DATA_FILE 51 00151 00152 /* The binary file transfer protocol is described in ITU-T Rec. T.434. */ 00153 #define T30_DIS_BIT_BFT_CAPABLE 53 00154 #define T30_DCS_BIT_BFT 53 00155 00156 #define T30_DIS_BIT_DTM_CAPABLE 54 00157 #define T30_DCS_BIT_DTM 54 00158 00159 #define T30_DIS_BIT_EDI_CAPABLE 55 00160 #define T30_DCS_BIT_EDI 55 00161 00162 #define T30_DIS_BIT_BTM_CAPABLE 57 00163 #define T30_DCS_BIT_BTM 57 00164 00165 /* Bit 59 indicates that there is a character-coded or mixed-mode document ready to be polled 00166 from the answering terminal. It is not an indication of a capability. This bit is used in 00167 conjunction with bits 60, 62 and 65. */ 00168 #define T30_DIS_BIT_READY_TO_TRANSMIT_MIXED_MODE_DOCUMENT 59 00169 00170 #define T30_DIS_BIT_CHARACTER_MODE 60 00171 #define T30_DCS_BIT_CHARACTER_MODE 60 00172 00173 #define T30_DIS_BIT_MIXED_MODE 62 00174 #define T30_DCS_BIT_MIXED_MODE 62 00175 00176 #define T30_DIS_BIT_PROCESSABLE_MODE_26 65 00177 00178 #define T30_DIS_BIT_DIGITAL_NETWORK_CAPABLE 66 00179 #define T30_DCS_BIT_DIGITAL_NETWORK_CAPABLE 66 00180 00181 #define T30_DIS_BIT_DUPLEX_CAPABLE 67 00182 #define T30_DCS_BIT_DUPLEX_CAPABLE 67 00183 00184 #define T30_DIS_BIT_T81_CAPABLE 68 00185 #define T30_DCS_BIT_FULL_COLOUR_MODEX 68 00186 00187 #define T30_DIS_BIT_FULL_COLOUR_CAPABLE 69 00188 #define T30_DCS_BIT_FULL_COLOUR_MODE 69 00189 00190 /* In a DIS/DTC frame, setting bit 71 to "0" indicates that the called terminal can only accept 00191 image data which has been digitized to 8 bits/pel/component for JPEG mode. This is also true for T.43 00192 mode if bit 36 is also set to "1". Setting bit 71 to "1" indicates that the called terminal can also accept 00193 image data that are digitized to 12 bits/pel/component for JPEG mode. This is also true for T.43 mode if 00194 bit 36 is also set to "1". In a DCS frame, setting bit 71 to "0" indicates that the calling terminal's image 00195 data are digitized to 8 bits/pel/component for JPEG mode. This is also true for T.43 mode if bit 36 is also 00196 set to "1". Setting bit 71 to "1" indicates that the calling terminal transmits image data which has been 00197 digitized to 12 bits/pel/component for JPEG mode. This is also true for T.43 mode if bit 36 is also set 00198 to "1". */ 00199 #define T30_DIS_BIT_12BIT_CAPABLE 71 00200 #define T30_DCS_BIT_12BIT_COMPONENT 71 00201 00202 #define T30_DIS_BIT_NO_SUBSAMPLING 73 00203 #define T30_DCS_BIT_NO_SUBSAMPLING 73 00204 00205 #define T30_DIS_BIT_CUSTOM_ILLUMINANT 74 00206 #define T30_DCS_BIT_CUSTOM_ILLUMINANT 74 00207 00208 #define T30_DIS_BIT_CUSTOM_GAMUT_RANGE 75 00209 #define T30_DCS_BIT_CUSTOM_GAMUT_RANGE 75 00210 00211 #define T30_DIS_BIT_NORTH_AMERICAN_LETTER_CAPABLE 76 00212 #define T30_DCS_BIT_NORTH_AMERICAN_LETTER 76 00213 00214 #define T30_DIS_BIT_NORTH_AMERICAN_LEGAL_CAPABLE 77 00215 #define T30_DCS_BIT_NORTH_AMERICAN_LEGAL 77 00216 00217 #define T30_DIS_BIT_T85_CAPABLE 78 00218 #define T30_DCS_BIT_T85_MODE 78 00219 00220 #define T30_DIS_BIT_T85_L0_CAPABLE 79 00221 #define T30_DCS_BIT_T85_L0_MODE 79 00222 00223 /* In a DIS/DTC frame, setting bit 97 to "0" indicates that the called terminal does not have the 00224 capability to accept 300 pels/25.4 mm x 300 lines/25.4 mm or 400 pels/25.4 mm x 400 lines/25.4 mm 00225 resolutions for colour/gray-scale images or T.44 Mixed Raster Content (MRC) mask layer. 00226 00227 Setting bit 97 to "1" indicates that the called terminal does have the capability to accept 00228 300 pels/25.4 mm x 300 lines/25.4 mm or 400 pels/25.4 mm x 400 lines/25.4 mm resolutions for 00229 colour/gray-scale images and MRC mask layer. Bit 97 is valid only when bits 68 and 42 or 43 00230 (300 pels/25.4 mm x 300 lines/25.4 mm or 400 pels/25.4 mm x 400 lines/25.4 mm) are set to "1". 00231 00232 In a DCS frame, setting bit 97 to "0" indicates that the calling terminal does not use 00233 300 pels/25.4 mm x 300 lines/25.4 mm or 400 pels/25.4 mm x 400 lines/25.4 mm resolutions 00234 for colour/gray-scale images and mask layer. 00235 00236 Setting bit 97 to "1" indicates that the calling terminal uses 300 pels/25.4 mm x 300 lines/25.4 mm 00237 or 400 pels/25.4 mm x 400 lines/25.4 mm resolutions for colour/gray-scale images and MRC mask layer. 00238 Bit 97 is valid only when bits 68 and 42 or 43 (300 pels/25.4 mm x 300 lines/25.4 mm and 00239 400 pels/25.4 mm x 400 lines/25.4 mm) are set to "1". 00240 00241 In a DIS/DTC frame, combinations of bit 42, bit 43 and bit 97 indicate that the called terminal 00242 has higher resolution capabilities as follows: 00243 00244 Resolution capabilities (pels/25.4 mm) 00245 DIS/DTC Monochrome Colour/gray-scale 00246 42 43 97 300 x 300 400 x 400 300 x 300 400 x 400 00247 0 0 0 no no no no 00248 1 0 0 yes no no no 00249 0 1 0 no yes no no 00250 1 1 0 yes yes no no 00251 0 0 1 (invalid) 00252 1 0 1 yes no yes no 00253 0 1 1 no yes no yes 00254 1 1 1 yes yes yes yes 00255 "yes" means that the called terminal has the corresponding capability. 00256 "no" means that the called terminal does not have the corresponding capability. */ 00257 #define T30_DIS_BIT_COLOUR_GREY_300_300_400_400_CAPABLE 97 00258 #define T30_DCS_BIT_COLOUR_GREY_300_300_400_400 97 00259 00260 /* In a DIS/DTC frame, setting bit 98 to "0" indicates that the called terminal does not have the 00261 capability to accept 100 pels/25.4 mm x 100 lines/25.4 mm spatial resolution for colour or gray-scale 00262 images. Setting bit 98 to "1" indicates that the called terminal does have the capability to accept 00263 100 pels/25.4 mm x 100 lines/25.4 mm spatial resolution for colour or gray-scale images. Bit 98 is valid 00264 only when bit 68 is set to "1". In a DCS frame, setting bit 98 to "0" indicates that the calling terminal does 00265 not use 100 pels/25.4 mm x 100 lines/25.4 mm spatial resolution for colour or gray-scale images. Setting 00266 bit 98 to "1" indicates that the calling terminal uses 100 pels/25.4 mm x 100 lines/25.4 mm spatial 00267 resolution for colour or gray-scale images. */ 00268 #define T30_DIS_BIT_COLOUR_GREY_100_100_CAPABLE 98 00269 #define T30_DCS_BIT_COLOUR_GREY_100_100 98 00270 00271 /* To provide an error recovery mechanism, when PWD/SEP/SUB/SID/PSA/IRA/ISP frames are sent with DCS or DTC, 00272 bits 49, 102 and 50 in DCS or bits 47, 101, 50 and 35 in DTC shall be set to "1" with the following 00273 meaning: 00274 Bit DIS DTC DCS 00275 35 Polled SubAddress capability Polled SubAddress transmission Not allowed – set to "0" 00276 47 Selective polling capability Selective polling transmission Not allowed – set to "0" 00277 49 Subaddressing capability Not allowed (Set to "0") Subaddressing transmission 00278 50 Password Password transmission Sender Identification transmission 00279 101 Internet Selective Polling Address capability Internet Selective Polling Address transmission Not allowed – set to "0" 00280 102 Internet Routing Address capability Not allowed (Set to "0") Internet Routing Address transmission 00281 00282 Terminals conforming to the 1993 version of T.30 may set the above bits to "0" even though PWD/SEP/SUB 00283 frames are transmitted. */ 00284 #define T30_DIS_BIT_INTERNET_SELECTIVE_POLLING_ADDRESS 101 00285 00286 #define T30_DIS_BIT_INTERNET_ROUTING_ADDRESS 102 00287 #define T30_DCS_BIT_INTERNET_ROUTING_ADDRESS_TRANSMISSION 102 00288 00289 #define T30_DIS_BIT_600_600_CAPABLE 105 00290 #define T30_DCS_BIT_600_600 105 00291 00292 #define T30_DIS_BIT_1200_1200_CAPABLE 106 00293 #define T30_DCS_BIT_1200_1200 106 00294 00295 #define T30_DIS_BIT_300_600_CAPABLE 107 00296 #define T30_DCS_BIT_300_600 107 00297 00298 #define T30_DIS_BIT_400_800_CAPABLE 108 00299 #define T30_DCS_BIT_400_800 108 00300 00301 #define T30_DIS_BIT_600_1200_CAPABLE 109 00302 #define T30_DCS_BIT_600_1200 109 00303 00304 #define T30_DIS_BIT_COLOUR_GREY_600_600_CAPABLE 110 00305 #define T30_DCS_BIT_COLOUR_GREY_600_600 110 00306 00307 #define T30_DIS_BIT_COLOUR_GREY_1200_1200_CAPABLE 111 00308 #define T30_DCS_BIT_COLOUR_GREY_1200_1200 111 00309 00310 #define T30_DIS_BIT_ALTERNATE_DOUBLE_SIDED_CAPABLE 113 00311 #define T30_DCS_BIT_ALTERNATE_DOUBLE_SIDED_CAPABLE 113 00312 00313 #define T30_DIS_BIT_CONTINUOUS_DOUBLE_SIDED_CAPABLE 114 00314 #define T30_DCS_BIT_CONTINUOUS_DOUBLE_SIDED_CAPABLE 114 00315 00316 #define T30_DIS_BIT_BLACK_AND_WHITE_MRC 115 00317 00318 #define T30_DIS_BIT_T45_CAPABLE 116 00319 #define T30_DCS_BIT_T45_MODE 116 00320 00321 /* This bit defines the available colour space, when bit 92, 93 or 94 is set to "1". 00322 Available colour space for all combinations of bits 92, 93, 94 and 119 are shown in the following table. 00323 It should be noted that terminals which conform to the 2003 and earlier versions of this Recommendation 00324 will send LAB with "1" in bit 92, 93 or 94 even if bit 119 is set to "1". 00325 00326 Available colour space for DIS/DTC bits 92, 93, 94 and 119 00327 00328 92 93 94 119 Mode of T.44 Available colour space 00329 0 0 0 x Not available - 00330 1 0 0 0 Mode 1 LAB only 00331 1 0 0 1 Mode 1 YCC only 00332 x 1 x 0 Mode 2 or higher LAB only 00333 x x 1 0 Mode 2 or higher LAB only 00334 x 1 x 1 Mode 2 or higher LAB and YCC 00335 x x 1 1 Mode 2 or higher LAB and YCC 00336 00337 Colour space for DCS bits 92, 93, 94 and 119 00338 00339 92 93 94 119 Mode of T.44 Colour space 00340 0 0 0 x* Not available - 00341 1 0 0 0 Mode 1 LAB 00342 1 0 0 1 Mode 1 YCC 00343 x 1 x 0 Mode 2 or higher LAB 00344 x x 1 0 Mode 2 or higher LAB 00345 x 1 x 1 Mode 2 or higher YCC or mixing of YCC and LAB 00346 x x 1 1 Mode 2 or higher YCC or mixing of YCC and LAB */ 00347 #define T30_DIS_BIT_T44_COLOUR_SPACE 119 00348 #define T30_DCS_BIT_T44_COLOUR_SPACE 119 00349 00350 /* Can only be set in the communication through the T.38 gateway, to cope with delay of network. 00351 T.x timer (12+-1s) should be used after emitting RNR or TNR. However, after receiving 00352 PPS signal in ECM mode, T.5 timer should be used. */ 00353 #define T30_DIS_BIT_T38_FLOW_CONTROL_CAPABLE 121 00354 #define T30_DCS_BIT_T38_FLOW_CONTROL_CAPABLE 121 00355 00356 /* For resolutions greater than 200 lines/25.4 mm, 4.2.1.1/T.4 specifies the use of specific K 00357 factors for each standardized vertical resolution. To ensure backward compatibility with earlier 00358 versions of ITU-T Rec. T.4, bit 122 indicates when such K factors are being used. */ 00359 #define T30_DIS_BIT_K_GREATER_THAN_4 122 00360 00361 /* This bit should be set to "1" if the fax device is an Internet-Aware Fax Device as defined in 00362 ITU-T Rec. T.38 and if it is not affected by the data signal rate indicated by the DIS and DTC 00363 signals when communicating with another Internet-Aware Fax Device operating in T.38 mode. This 00364 bit shall not be used in GSTN mode. */ 00365 #define T30_DIS_BIT_T38_FAX_CAPABLE 123 00366 /* This bit should be set to "1" if the fax device elects to operate in an Internet-Aware Fax mode 00367 as defined in ITU-T Rec. T.38 in response to a device which has set the related DIS bit to "1". 00368 When this bit is set to "1", the data signal rate of the modem (bits 11-14) should be set to "0". */ 00369 #define T30_DCS_BIT_T38_FAX_MODE 123 00370 00371 /* When either bit of 31, 36, 38, 51, 53, 54, 55, 57, 59, 60, 62, 65, 68, 78, 79, 115, 116 and 127 is 00372 set to "1", ECM must be used. If the value of bit field 92 to 94 is non-zero, then ECM must be used. 00373 00374 Annex K describes the optional continuous-tone colour and gray scale images mode 00375 (sYCC-JPEG mode) protocol. When bit 127 in DIS/DTC frame is set to "1", the called terminal has the 00376 capability to accept sYCC-JPEG mode. This is defined with complete independent in the colour space 00377 CIELAB. In addition, when bit 127 in DCS frame is set to "1", ECM must be used and bits 15, 17, 18, 00378 19, 20, 41, 42, 43, 45, 46, 68, 69, 71, 73, 74, 75, 76, 77, 97, 98, 105, 106, 107, 108, 00379 109, 110 and 111 in DCS frame are "Don't care", and should be set to "0". In the case of 00380 transmission of multiple images, a post message signal PPS-MPS between pages, PPS-NULL between 00381 partial pages and PPS-EOP following the last page should be sent from the calling terminal to the 00382 called terminal. */ 00383 #define T30_DIS_BIT_SYCC_T81_CAPABLE 127 00384 #define T30_DCS_BIT_SYCC_T81_MODE 127 00385 00386 #endif 00387 /*- End of file ------------------------------------------------------------*/