t30_dis_dtc_dcs_bits.h

Go to the documentation of this file.
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 ------------------------------------------------------------*/