linux/Documentation/isdn/INTERFACE.fax
<<
>>
Prefs
   1$Id: INTERFACE.fax,v 1.2 2000/08/06 09:22:50 armin Exp $
   2
   3
   4Description of the fax-subinterface between linklevel and hardwarelevel of 
   5  isdn4linux. 
   6
   7  The communication between linklevel (LL) and hardwarelevel (HL) for fax
   8  is based on the struct T30_s (defined in isdnif.h).
   9  This struct is allocated in the LL.  
  10  In order to use fax, the LL provides the pointer to this struct with the 
  11  command ISDN_CMD_SETL3 (parm.fax). This pointer expires in case of hangup 
  12  and when a new channel to a new connection is assigned. 
  13
  14
  15Data handling:
  16  In send-mode the HL-driver has to handle the <DLE> codes and the bit-order 
  17  conversion by itself. 
  18  In receive-mode the LL-driver takes care of the bit-order conversion
  19  (specified by +FBOR)
  20
  21Structure T30_s description:
  22
  23  This structure stores the values (set by AT-commands), the remote-
  24  capability-values and the command-codes between LL and HL.
  25
  26  If the HL-driver receives ISDN_CMD_FAXCMD, all needed information
  27  is in this struct set by the LL.
  28  To signal information to the LL, the HL-driver has to set the 
  29  parameters and use ISDN_STAT_FAXIND.
  30  (Please refer to INTERFACE)
  31
  32Structure T30_s:
  33
  34  All members are 8-bit unsigned (__u8)
  35
  36  -  resolution     
  37  -  rate
  38  -  width
  39  -  length
  40  -  compression
  41  -  ecm
  42  -  binary
  43  -  scantime
  44  -  id[]
  45  Local faxmachine's parameters, set by +FDIS, +FDCS, +FLID, ...
  46
  47  -  r_resolution
  48  -  r_rate
  49  -  r_width
  50  -  r_length
  51  -  r_compression
  52  -  r_ecm
  53  -  r_binary
  54  -  r_scantime
  55  -  r_id[]
  56  Remote faxmachine's parameters. To be set by HL-driver.
  57
  58  -  phase      
  59  Defines the actual state of fax connection. Set by HL or LL
  60  depending on progress and type of connection.
  61  If the phase changes because of an AT command, the LL driver
  62  changes this value. Otherwise the HL-driver takes care of it, but
  63  only necessary on call establishment (from IDLE to PHASE_A).
  64  (one of the constants ISDN_FAX_PHASE_[IDLE,A,B,C,D,E])
  65
  66  -  direction
  67  Defines outgoing/send or incoming/receive connection.
  68  (ISDN_TTY_FAX_CONN_[IN,OUT])
  69
  70  -  code
  71  Commands from LL to HL; possible constants : 
  72      ISDN_TTY_FAX_DR        signals +FDR command to HL
  73
  74      ISDN_TTY_FAX_DT        signals +FDT command to HL 
  75
  76      ISDN_TTY_FAX_ET        signals +FET command to HL
  77
  78
  79  Other than that the "code" is set with the hangup-code value at
  80  the end of connection for the +FHNG message.
  81        
  82  -  r_code 
  83  Commands from HL to LL; possible constants :
  84      ISDN_TTY_FAX_CFR       output of +FCFR message. 
  85
  86      ISDN_TTY_FAX_RID       output of remote ID set in r_id[]
  87                             (+FCSI/+FTSI on send/receive)
  88
  89      ISDN_TTY_FAX_DCS       output of +FDCS and CONNECT message,
  90                             switching to phase C.
  91
  92      ISDN_TTY_FAX_ET        signals end of data,
  93                             switching to phase D.
  94
  95      ISDN_TTY_FAX_FCON      signals the established, outgoing connection,
  96                             switching to phase B.
  97
  98      ISDN_TTY_FAX_FCON_I    signals the established, incoming connection,
  99                             switching to phase B.
 100
 101      ISDN_TTY_FAX_DIS       output of +FDIS message and values.
 102
 103      ISDN_TTY_FAX_SENT      signals that all data has been sent 
 104                             and <DLE><ETX> is acknowledged,
 105                             OK message will be sent.
 106
 107      ISDN_TTY_FAX_PTS       signals a msg-confirmation (page sent successful),
 108                             depending on fet value:
 109                             0: output OK message (more pages follow)
 110                             1: switching to phase B (next document)
 111
 112      ISDN_TTY_FAX_TRAIN_OK  output of +FDCS and OK message (for receive mode).
 113
 114      ISDN_TTY_FAX_EOP       signals end of data in receive mode,
 115                             switching to phase D.
 116
 117      ISDN_TTY_FAX_HNG       output of the +FHNG and value set by code and
 118                             OK message, switching to phase E.
 119
 120
 121  -  badlin
 122  Value of +FBADLIN  
 123
 124  -  badmul
 125  Value of +FBADMUL
 126
 127  -  bor
 128  Value of +FBOR
 129
 130  -  fet
 131  Value of +FET command in send-mode.
 132  Set by HL in receive-mode for +FET message.
 133
 134  -  pollid[]  
 135  ID-string, set by +FCIG
 136
 137  -  cq
 138  Value of +FCQ
 139
 140  -  cr
 141  Value of +FCR
 142
 143  -  ctcrty
 144  Value of +FCTCRTY
 145
 146  -  minsp
 147  Value of +FMINSP
 148
 149  -  phcto
 150  Value of +FPHCTO
 151
 152  -  rel
 153  Value of +FREL
 154
 155  -  nbc
 156  Value of +FNBC (0,1)
 157  (+FNBC is not a known class 2 fax command, I added this to change the
 158   automatic "best capabilities" connection in the eicon HL-driver)
 159
 160  
 161Armin
 162mac@melware.de
 163
 164
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.