diff options
Diffstat (limited to 'Documentation/isdn/INTERFACE.fax')
-rw-r--r-- | Documentation/isdn/INTERFACE.fax | 163 |
1 files changed, 163 insertions, 0 deletions
diff --git a/Documentation/isdn/INTERFACE.fax b/Documentation/isdn/INTERFACE.fax new file mode 100644 index 000000000000..7e5731319e30 --- /dev/null +++ b/Documentation/isdn/INTERFACE.fax | |||
@@ -0,0 +1,163 @@ | |||
1 | $Id: INTERFACE.fax,v 1.2 2000/08/06 09:22:50 armin Exp $ | ||
2 | |||
3 | |||
4 | Description 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 | |||
15 | Data 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 | |||
21 | Structure 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 | the parameters and use ISDN_STAT_FAXIND. | ||
30 | (Please refer to INTERFACE) | ||
31 | |||
32 | Structure 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 | |||
161 | Armin | ||
162 | mac@melware.de | ||
163 | |||