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

Generated on Thu Oct 18 15:26:53 2012 for spandsp by  doxygen 1.4.7