File: hylafax-config.4f

package info (click to toggle)
hylafax 3%3A6.0.6-8.1
  • links: PTS
  • area: main
  • in suites: buster
  • size: 9,508 kB
  • sloc: sh: 15,371; ansic: 13,242; makefile: 1,545; cpp: 781; awk: 529
file content (3241 lines) | stat: -rw-r--r-- 126,066 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
.\"	$Id$
.\"
.\" HylaFAX Facsimile Software
.\"
.\" Copyright (c) 1990-1996 Sam Leffler
.\" Copyright (c) 1991-1996 Silicon Graphics, Inc.
.\" HylaFAX is a trademark of Silicon Graphics
.\" 
.\" Permission to use, copy, modify, distribute, and sell this software and 
.\" its documentation for any purpose is hereby granted without fee, provided
.\" that (i) the above copyright notices and this permission notice appear in
.\" all copies of the software and related documentation, and (ii) the names of
.\" Sam Leffler and Silicon Graphics may not be used in any advertising or
.\" publicity relating to the software without the specific, prior written
.\" permission of Sam Leffler and Silicon Graphics.
.\" 
.\" THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, 
.\" EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY 
.\" WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.  
.\" 
.\" IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
.\" ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
.\" OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
.\" WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF 
.\" LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE 
.\" OF THIS SOFTWARE.
.\"
.if n .po 0
.ds Fx \fIHyla\s-1FAX\s+1\fP
.ds Ps P\s-2OST\s+2S\s-2CRIPT\s+2
.TH HYLAFAX-CONFIG ${MANNUM4_5} "$Date$"
.SH NAME
config \- \*(Fx configuration database
.SH DESCRIPTION
\*(Fx uses a configuration file for the central queueing
agent and for each facsimile modem attached
to a machine.
These files contain information about the modems and about how
the \*(Fx server processes that service these modem should operate.
Configuration files are located in the
.B etc
subdirectory.
The configuration file for the 
.IR faxq (${MANNUM1_8})
program is named
.BR config .
The per-modem configuration files used by the
.IR faxgetty (${MANNUM1_8}),
.IR faxsend (${MANNUM1_8}),
and
.IR pagesend (${MANNUM1_8})
programs have names of the form
.BI config. devid ,
where
.I devid
is an identifier derived from the name of
the modem's device file; for example
.I ttym2
for
.IR /dev/ttym2 ,
.I term_10
for
.IR /dev/term/10 .
.PP
Configuration files have a simple format and are entirely
.SM ASCII.
A configuration parameter is of the form
.sp .5
.ti +0.5i
\fBtag\fP: \fIvalue\fP
.br
.sp .5
where a \fItag\fP identifies a parameter and a \fIvalue\fP
is either a string, number, or boolean value.
Comments are introduced by the ``#'' character
and extend to the end of the line.
String values start at the first non-blank character
after the ``:'' and continue to the first non-whitespace
character or, if whitespace is to be included, may be
enclosed in quote marks (``"'').
String values enclosed in quote marks may also use the
standard C programming conventions for specifying escape
codes; e.g. ``\en'' for a newline character and ``\exxx''
for an octal value.
Numeric values are specified according to the C programming
conventions (leading ``0x'' for hex, leading ``0'' for octal, otherwise
decimal), except for a few parameters, such as
.BR RecvFileMode ,
whose value is interpreted strictly as an octal number
and
.BR PageChopThreshold
whose value is interpreted strictly as a floating point number.
Boolean values are case insensitive.
For a true value, either ``Yes'' or ``On'' should
be used.
For a false value, use ``No'' or ``Off''.
.PP
The following table itemizes the tags and the expected type
of their value.
The first part lists items specific to the operation of each
server, while the second part has items related to the
servicing of the modem.
Parameters marked with a \(S1 are used only
by the \*(Fx scheduler process and should appear only in the file named
.BR config .
Parameters marked with a \(S2 are used by both the scheduler and
the per-device applications and so should appear in all appropriate
configuration files (i.e. 
.B config
and any per-device files that make sense).
Parameters not otherwise marked should appear only in per-device
configuration files.
More detailed information about each item is given following the table.
.sp .5
.nf
.ta \w'ModemAnswerResponseTimeout    'u +\w'integer    'u +\w'\s-1AT+FCLASS=2.0\s+1    'u
\fBTag	Type	Default	Description\fP
AdaptiveAnswer	boolean	\s-1No\s+1	enable adaptive answer of inbound calls
AdminGroup	string	\s-1faxadmin\s+1	System user group for administration (if PAM enabled)
AnswerRotary	string	\s-1Any\s+1	alternatives for answering calls
AnswerBias	integer	\-	bias to apply to successful rotary answer 
AreaCode\(S2	string	\-	local area code
AuditHook\(S1	string  \-      command to run for faxq event auditing
BadPageHandlingMethod	string	\s-1RTN-SAVE\s+1	bad page received handling method	
BatchLogs\(S1	boolean	\s-1Yes\s+1	keep all session logs of a batch in a single log
CallIDAnswerLength	integer	\-	answer call when CallIDPattern received
CallIDPattern	strint	\-	call identification pattern string
CIDName	string	\-	equivalent to CallIDPattern (2)
CIDNameAnswerLength	integer	\s-10\s+1	equivalent to CallIDAnswerLength (2)
CIDNumber	string	\-	equivalent to CallIDPattern (1)
CIDNumberAnswerLength	integer	\s-10\s+1	equivalent to CallIDAnswerLength (1)
ClocalAsRoot	boolean	\s-1No\s+1	set \s-1CLOCAL\s+1 using root \s-1UID\s+1
ContCoverCmd\(S1	string	\s-1bin/mkcover\s+1	continuation cover page generation script
ContCoverPage\(S1	string	\-	continuation cover page template filename
CountryCode\(S2	string	\-	local country code
CountSkippedPages	boolean	\s-1Yes\s+1	Count skipped pages in the page counts/totals when sending
DestControls\(S1	obsolete	\-	Obsoleted by JobControl
DeviceMode	octal	\s-10600\s+1	protection mode to use for modem device
DialStringRules\(S2	string	\-	dial string rules file
DistinctiveRings	string	\-	configuration for distinctive ring cadences
DRingOff	string	\-	distinctive ring ``off'' cadence indicator
DRingOn	string	\-	distinctive ring ``on'' cadence indicator
DynamicConfig	string	\-	script for dynamic receive configuration
EGettyArgs	string	\-	arguments passed to external getty program
FAXNumber	string	\-	facsimile modem phone number
FaxRcvdCmd	string	\s-1bin/faxrcvd\s+1	notification script for received facsimile
GettyArgs	string	\-	arguments passed to getty program
Include\(S2	string	\-	include another file 
InternationalPrefix\(S2	string	\-	dialing prefix for international calls
JobControlCmd\(S1	string	\-	job control command
JobReqBusy	integer	\s-1180\s+1	requeue interval for \s-1BUSY\s+1 dial result
JobReqDataConn	integer	\s-1300\s+1	requeue interval for data connection dial result
JobReqError	integer	\s-1300\s+1	requeue interval for \s-1ERROR\s+1 dial result
JobReqNoAnswer	integer	\s-1300\s+1	requeue interval for \s-1NO ANSWER\s+1 dial result
JobReqNoCarrier	integer	\s-1300\s+1	requeue interval for \s-1NO CARRIER\s+1 dial result
JobReqNoFCon	integer	\s-1300\s+1	requeue interval for carrier without \s-1+FCON\s+1 dial result
JobReqOther\(S2	integer	\s-1300\s+1	requeue interval for ``other'' problems
JobReqProto	integer	\s-160\s+1	requeue interval after fax protocol error
JobRetryBusy	integer	\-	number of retries for \s-1BUSY\s+1 dial result
JobRetryDataConn	integer	\-	number of retries for data connection dial result
JobRetryError	integer	\-	number of retries for \s-1ERROR\s+1 dial result
JobRetryNoAnswer	integer	\-	number of retries for \s-1NO ANSWER\s+1 dial result
JobRetryNoCarrier	integer	1	number of retries for \s-1NO CARRIER\s+1 dial result
JobRetryOther	integer	\-	number of retries for ``other'' problems
LockDataCalls	boolean	\s-1Yes\s+1	lock modem for the duration of an inbound data call
LockVoiceCalls	boolean	\s-1Yes\s+1	lock modem for the duration of an inbound voice call
LogCalls	boolean	\s-1Yes\s+1	Log all incoming calls as CALL records in xferfaxlog
LogFacility\(S2	string	\s-1daemon\s+1	\fIsyslog\fP facility name for ServerTracing messages
LogFileMode	octal	\s-10600\s+1	protection mode to use for session log files
LocalIdentifier	string	\-	local station identification string
LongDistancePrefix	string	\-	dialing prefix for long distance calls
MaxBatchJobs\(S1	integer	64	max jobs in a batch
MaxConcurrentCalls\(S1	integer	\s-11\s+1	max concurrent jobs to process for a destination
MaxConsecutiveBadLines	integer	\s-15\s+1	max consecutive bad rows for \s-1OK\s+1 page quality
MaxDials\(S1	integer	\s-112\s+1	max phone calls to make to transmit a job
MaxRecvPages	integer	\s-1\fIunlimited\fP\s+1	max pages to permit in a receive
MaxSendPages\(S1	integer	\s-1\fIunlimited\fP\s+1	max pages to permit in a send
MaxSetupAttempts	integer	\s-12\s+1	max attempts to initialize a modem
MaxTries\(S1	integer	\s-13\s+1	max attempts to transmit a job
MinAcceptedLineCount	integer	\s-110\s+1	min number of rows for \s-1OK\s+1 page quality
ModemGroup\(S1	string	\-	define a name for a set of modems
ModemPriority	integer	255	scheduling priority for outbound jobs
ModemReadyState	string	\s-1R\s+1	``ready state'' sent by \fIfaxgetty\fP
ModemRingResponse	string	\-	command to respond after hearing RING
ModemRingsBeforeResponse	integer	\s-10\s+1	the number of rings before ModemRingResponse
NoAnswerVoice	boolean	\s-1false\s+1	disable the answering of voice-indicated calls
NoCarrierRetrys	integer	\-	Deprecated - See JobRetryNoCarrier
NotifyCmd\(S1	string	\s-1bin/notify\s+1	user notification command script
PageChop\(S1	string	\s-1last\s+1	control automatic truncation of trailing whitespace
PageChopThreshold\(S1	float	\s-13.0\s+1	whitespace truncation threshold (inches)
PCL2FaxCmd\(S1	string	\s-1bin/pcl2fax\s+1	PCL \s-1RIP\s+1 command script
PercentGoodLines	integer	\s-195\s+1	percentage of good rows for \s-1OK\s+1 page quality
PollLockPokeModem	boolean	\s-1false\s+1	check on modem every time the lock is polled
PollLockWait\(S2	integer	\s-130\s+1	polling interval for lockfile presence/removal (secs)
PollModemWait	integer	\s-130\s+1	polling interval when in ``modem wait'' state (secs)
PollRcvdCmd	string	\s-1bin/pollrcvd\s+1	delivery script for facsimile received by polling
PostScriptTimeout\(S1	integer	\s-1300\s+1	timeout on \*(Ps interpreter runs (secs)
PriorityScheduling	boolean	\s-1\fIsee below\fP\s+1	use available priority job scheduling mechanism
PS2FaxCmd\(S1	string	\s-1bin/ps2fax\s+1	\*(Ps \s-1RIP\s+1 command script
QualifyCID	obsolete	\-	See \s-1DynamicConfig\s+1 and \s-1RejectCall\s+1 for rejecting calls
QualifyPWD	string	\-	file of \s-1PWD\s+1 patterns for qualifying senders
QualifyTSI	string	\-	file of \s-1TSI\s+1 patterns for qualifying senders
RecvDataFormat	string	\s-1adaptive\s+1	format for received facsimile data
RecvFileMode	octal	\s-10600\s+1	protection mode to use for received facsimile files
RejectCall	boolean	\s-1false\s+1	Reject the current call
RingData	string	\-	distinctive ring data call identifier
RingExtended	string	\-	extended ring message identifier
RingFax	string	\-	distinctive ring fax call identifier
RingsBeforeAnswer	integer	\s-10\s+1	rings to wait before answering phone
RingTimeout	integer	\s-16000\s+1	timeout in ms after RING before reset
RingVoice	string	\-	distinctive ring voice call identifier
RTNHandlingMethod	string	\s-1Retransmit-Ignore\s+1	RTN signal handling method	
SaveUnconfirmedPages	boolean	\s-1true\s+1	save or delete unconfirmed pages
SendFaxCmd\(S1	string	\s-1bin/faxsend\s+1	fax transmit command script
SendPageCmd\(S1	string	\s-1bin/pagesend\s+1	pager transmit command script
SendUUCPCmd\(S1	string	\s-1bin/uucpsend\s+1	\s-1UUCP\s+1 transmit command script
ServerTracing\(S2	integer	\s-11\s+1	non-session server tracing
SessionTracing\(S2	integer	\s-11\s+1	send and receive session tracing
SpeakerVolume	string	\s-1Quiet\s+1	volume level for modem speaker
TagLineCoverNumString	string	\-	String substition when not counting cover pages
TagLineFont	string	\-	tag line font filename
TagLineFormat	string	\s-1\fIsee below\fP\s+1	tag line format string
TIFF2FaxCmd\(S1	string	\s-1bin/tiff2fax\s+1	\s-1TIFF\s+1 converter command script
TimeOfDay\(S1	string	\s-1Any\s+1	default time-of-day restrictions
Use2D\(S1	boolean	\s-1Yes\s+1	restrict/permit use of 2D-encoded fax data
UseJobTSI	boolean	\s-1No\s+1	use job-specified TSI instead of \s-1LocalIdentifier\s+1
UseJobTagLine	boolean	\s-1Yes\s+1	Allow use of job-specified Tagline instead of \s-1TagLineFormat\s+1
UUCPLockMode\(S2	octal	\s-10600\s+1	protection mode for \s-1UUCP\s+1 lock files
UUCPLockDir\(S2	string	\s-1\fIsee below\fP\s+1	\s-1UUCP\s+1 lockfile directory
UUCPLockTimeout\(S2	integer	\s-130\s+1	time before removing stale \s-1UUCP\s+1 lockfile
UUCPLockType\(S2	string	\s-1\fIsee below\fP\s+1	\s-1UUCP\s+1 lockfile type
VGettyArgs	string	\-	arguments passed to voice getty program
WedgedCmd\(S1	string	\s-1bin/wedged\s+1	command to run when modem is wedged
.sp .5
ModemAnswerCmd	string	\s-1ATA\s+1	command for answering phone
ModemAnswerDataBeginCmd	string	\-	command for start of answered data call
ModemAnswerDataCmd	string	\s-1ATA\s+1	command for answering data call
ModemAnswerDialCmd	string	\s-1ATA\s+1	command for answering data call
ModemAnswerFaxBeginCmd	string	\-	command for start of answered fax call
ModemAnswerFaxCmd	string	\s-1ATA\s+1	command for answering fax call
ModemAnswerResponseTimeout	integer	\s-1180000\s+1	answer command timeout (ms)
ModemAnswerVoiceBeginCmd	string	\-	command for start of answered voice call
ModemAnswerVoiceCmd	string	\s-1ATA\s+1	command for answering voice call
ModemATCmdDelay	integer	\s-10\s+1	delay before sending modem an AT cmd (ms)
ModemBaudRateDelay	integer	\s-110\s+1	delay (ms) after setting baud rate
ModemClassQueryCmd	string	\s-1AT+FCLASS=?\s+1	command for querying modem services
ModemCommaPauseTimeCmd	string	\s-1ATS8=2\s+1	command for setting time to pause for ``,'' in dialing string
ModemDialCmd	string	\s-1ATDT%s\s+1	command for dialing (%s for number to dial)
ModemDialResponseTimeout	integer	\s-1180000\s+1	dialing command timeout (ms)
ModemDoPhaseCDebug	boolean	\s-1No\s+1	query modem responses during Phase C transmit
ModemDTRDropDelay	integer	\s-175\s+1	delay (ms) between DTR OFF and DTR ON
ModemEchoOffCmd	string	\s-1ATE0\s+1	command for disabling command echo
ModemFlowControl	string	\s-1XONXOFF\s+1	\s-1DTE-DCE\s+1 flow control scheme
ModemFrameFillOrder	string	\s-1LSB2MSB\s+1	bit order for \s-1HDLC\s+1 frames
ModemHardFlowCmd	string	\-	command for setting hardware flow control between \s-1DTE\s+1 and \s-1DCE\s+1
ModemMinSpeed	string	\s-12400\s+1	minimum acceptable transmit speed
ModemMfrQueryCmd	string	\-	command for querying modem manufacturer
ModemModelQueryCmd	string	\-	command for querying modem model
ModemNoAutoAnswerCmd	string	\s-1ATS0=0\s+1	command for disabling auto-answer
ModemNoAutoAnswerCmdDelay	integer	\s-10\s+1	time, in ms, to pause after a disabling auto-answer
ModemNoFlowCmd	string	\-	command for disabling hardware flow control between \s-1DTE\s+1 and \s-1DCE\s+1
ModemOnHookCmd	string	\s-1ATH0\s+1	command for placing phone ``on hook''
ModemPageDoneTimeout	integer	\s-1180000\s+1	page send/receive timeout (ms)
ModemPageStartTimeout	integer	\s-1180000\s+1	page send/receive timeout (ms)
ModemRaiseATCommands	boolean	\s-1Yes\s+1	raise AT commands in configuration to upper-case
ModemRate	integer	\s-119200\s+1	baud rate to use for \s-1DCE-DTE\s+1 communication
ModemReadyCmds	string	\-	additional final commands when resetting modem
ModemRecvFillOrder	string	\s-1\fIsee below\fP\s+1	bit order for received facsimile data
ModemRecvSuccessCmd	string	\-	command to send after a successful reception
ModemResetCmds	string	\-	additional commands when resetting modem
ModemResetDelay	integer	\s-12600\s+1	delay (ms) after placing DTR ON
ModemResultCodesCmd	string	\s-1ATQ0\s+1	command for enabling result codes
ModemRevQueryCmd	string	\s-1\fIsee below\fP\s+1	command for querying modem firmware revision
ModemSendBeginCmd	string	\-	command to send on establishing carrier
ModemSendFillOrder	string	\s-1LSB2MSB\s+1	bit order for sending facsimile data
ModemSetVolumeCmd	string	\s-1\fIsee below\fP\s+1	commands for setting modem speaker volume level
ModemSetupAACmd	string	\-	command for setting up adaptive answer
ModemSetupDCDCmd	string	\-	command for setting up \s-1DCD\s+1 handling
ModemSetupDTRCmd	string	\-	command for setting up \s-1DTR\s+1 handling
ModemSoftFlowCmd	string	\-	command for setting software flow control between \s-1DTE\s+1 and \s-1DCE\s+1
ModemSoftResetCmd	string	\s-1ATZ\s+1	command for doing a soft reset
ModemSoftResetCmdDelay	integer	\s-13000\s+1	time, in ms, to pause after a soft reset
ModemSoftRTFCC	boolean	\s-1Yes\s+1	enable software-driven real-time fax compression conversion
ModemType	string	\s-1\fIsee below\fP\s+1	modem type
ModemVerboseResultsCmd	string	\s-1ATV1\s+1	command for enabling verbose result codes
ModemWaitForConnect	boolean	\s-1No\s+1	force server to wait for ``\s-1CONNECT\s+1'' response on answer
ModemWaitTimeCmd	string	\s-1ATS7=60\s+1	command for setting time to wait for carrier when dialing
.sp .5
FaxT1Timer	integer	\s-135000\s+1	\s-1CCITT T.30 T1\s+1 timer (ms)
FaxT2Timer	integer	\s-17000\s+1	\s-1CCITT T.30 T2\s+1 timer (ms)
FaxT4Timer	integer	\s-13100\s+1	\s-1CCITT T.30 T4\s+1 timer (ms)
.sp .5
Class0Cmd	string	\s-1AT+FCLASS=0\s+1	Class 0: command to enter class 0
.sp .5
Class1Cmd	string	\s-1AT+FCLASS=1\s+1	Class 1: command to enter class 1
Class1Cmd	string	\s-1AT+FCLASS=1.0\s+1	Class 1.0: command to enter class 1
Class1AdaptRecvCmd	string	\-	Class 1/1.0: command for adaptive reception support
Class1ColorJPEGSupport	boolean	\s-1No\s+1	Class 1/1.0: to enable color JPEG fax support
Class1EnableV34Cmd	string	\-	Class 1/1.0: command to enable V.34-fax support
Class1ECMSupport	boolean	\s-1Yes\s+1	Class 1/1.0: enable T.30-A ECM support
Class1PersistentECM	boolean	\s-1Yes\s+1	Class 1/1.0: to continue to correct while in ECM
Class1ECMFrameSize	integer	\s-1256\s+1	Class 1/1.0: image frame size in ECM protocol
Class1ExtendedRes	boolean	\-	Class 1/1.0: enable extended resolution support
Class1HasRHConnectBug	boolean	\s-1No\s+1	Class 1/1.0: modem can report CONNECT incorrectly
Class1HFLOCmd	string	\-	Class 1/1.0: command to set hardware flow control
Class1FrameOverhead	integer	\s-14\s+1	Class 1/1.0: extra bytes in a received \s-1HDLC\s+1 frame
Class1GreyJPEGSupport	boolean	\s-1No\s+1	Class 1/1.0: to enable grey JPEG fax support
Class1HookSensitivity	integer	\s-10\s+1	Class 1/1.0: times to ignore on-hook detection
Class1JBIGSupport	string	\s-1\fIsee below\fP\s+1	Class 1/1.0: to enable monochrome JBIG fax support
Class1MRSupport	boolean	\s-1Yes\s+1	Class 1/1.0: enable 2-D MR support
Class1MMRSupport	boolean	\s-1Yes\s+1	Class 1/1.0: enable 2-D MMR support
Class1NFLOCmd	string	\-	Class 1/1.0: command to set no flow control
Class1PageLengthSupport	integer	\s-17\s+1	Class 1/1.0: coded value for modem page length support
Class1PageWidthSupport	integer	\s-17\s+1	Class 1/1.0: coded value for modem page width support
Class1RecvAbortOK	integer	\s-1200\s+1	Class 1/1.0: max wait (ms) for ``\s-1OK\s+1'' after recv abort
Class1RecvIdentTimer	integer	\s-140000\s+1	Class 1/1.0: max wait (ms) for initial ident frame
Class1RMPersistence	integer	\s-12\s+1	Class 1/1.0: times to attempt high-speed carrier recv
Class1SFLOCmd	string	\-	Class 1/1.0: command to set software flow control
Class1PPMWaitCmd	string	\s-1AT+FTS=7\s+1	Class 1/1.0: command to stop and wait before PPM
Class1ResponseWaitCmd	string	\-	Class 1/1.0: command to wait before TCF response
Class1Resolutions	integer	\s-10x7F\s+1	Class 1/1.0: bitmap of supported resolutions
Class1RMQueryCmd	string	\s-1AT+FRM=?\s+1	Class 1/1.0: command to query modem data reception rates
Class1TCFWaitCmd	string	\s-1AT+FTS=7\s+1	Class 1/1.0: command to stop and wait before TCF
Class1TMQueryCmd	string	\s-1AT+FTM=?\s+1	Class 1/1.0: command to query modem data transmission rates
Class1EOPWaitCmd	string	\s-1AT+FTS=9\s+1	Class 1/1.0: command to stop and wait before EOP
Class1ModemHasDLEBug	boolean	\s-1No\s+1	Class 1/1.0: modem fails to double DLE in V.21
Class1MsgRecvHackCmd	string	\s-1""\s+1	Class 1/1.0: command to avoid +FCERROR before image data
Class1TCFRecvHackCmd	string	\s-1""\s+1	Class 1/1.0: command to avoid +FCERROR before TCF
Class1TCFMaxNonZero	integer	\s-110\s+1	Class 1/1.0: max% of non-zero data in good \s-1TCF\s+1
Class1TCFMinRun	integer	\s-11000\s+1	Class 1/1.0: minimum zero run in good \s-1TCF\s+1
Class1TCFMinRunECMMod	integer	\s-12\s+1	Class 1/1.0: modify minimum zero run in ECM by this factor
Class1TCFRecvTimeout	integer	\s-14500\s+1	Class 1/1.0: max wait (ms) for \s-1TCF\s+1
Class1TMConnectDelay	integer	\s-10\s+1	Class 1/1.0: delay between +FTM CONNECT and data transmission
Class1SwitchingCmd	string	\s-1AT+FRS=7\s+1	Class 1/1.0: command to ensure silence after HDLC reception
Class1ValidateV21Frames	boolean	\s-1No\s+1	Class 1/1.0: check FCS against received frames
.sp .5
Class2Cmd	string	\s-1AT+FCLASS=2\s+1	Class 2: command to enter class 2/2.0
Class2AbortCmd	string	\s-1AT+FK\s+1	Class 2: command to abort active session
Class2APCmd	string	\s-1AT+FAP\s+1	Class 2: enable support for sending and receiving SUB, SEP, and PWD frames
Class2APQueryCmd	string	\s-1AT+FAP=?\s+1	Class 2: query capabilities for sending and receiving SUB, SEP, and PWD frames 
Class2BORCmd	string	\s-1AT+FBOR=0\s+1	Class 2: command to setup bit order
Class2BUGCmd	string	\s-1AT+FBUG=1\s+1	Class 2: command to enable \s-1HDLC\s+1 frame tracing
Class2CIGCmd	string	\s-1AT+FCIG\s+1	Class 2: command to set polling identifier
Class2CRCmd	string	\s-1AT+FCR=1\s+1	Class 2: command to enable receive capability
Class2CQCmd	string	\-	Class 2: command to setup copy quality parameters
Class2CQQueryCmd	string	\s-1AT+FCQ=?\s+1	Class 2: command to query modem copy quality capabilities
Class2DCCCmd	string	\s-1AT+FDCC\s+1	Class 2: command to set modem capabilities
Class2DCCQueryCmd	string	\s-1AT+FDCC=?\s+1	Class 2: command to query modem capabilities
Class2DisableV17Cmd	string \-	Class 2: command to disable V.17 support
Class2DISCmd	string	\s-1AT+FDIS\s+1	Class 2: command to set session parameters
Class2DDISCmd	string	\-	Class 2: command to set session parameters before dialing
Class2ECMType	string	\s-1``2''\s+1	Class 2: ECM specification type to follow
Class2HexNSF	boolean	\s-1Yes\s+1	Class 2: parse NSF strings as hex values
Class2HFLOCmd	string	\-	Class 2: command to set hardware flow control
Class2JPEGSupport	boolean	\s-1No\s+1	Class 2: use modem JPEG support
Class2LIDCmd	string	\s-1AT+FLID\s+1	Class 2: command to set local identifier string
Class2MINSPCmd	string	\s-1AT+FMINSP\s+1	Class 2: command to set minimum transmit speed
Class2NFLOCmd	string	\-	Class 2: command to set no flow control
Class2PACmd	string	\s-1AT+FPA\s+1	Class 2: set polling address string
Class2PHCTOCmd	string	\s-1AT+FPHCTO=30\s+1	Class 2: command to set Phase C timeout parameter
Class2PTSCmd	string	\s-1AT+FPTS\s+1	Class 2: command to set received page status
Class2PWCmd	string	\s-1AT+FPW\s+1	Class 2: set password string
Class2RecvDataTrigger	string	\s-1``\e21''\s+1	Class 2: character to send to trigger recv
Class2RELCmd	string	\-	Class 2: command to enable byte-aligned \s-1EOL\s+1 codes
Class2SACmd	string	\s-1AT+FSA\s+1	Class 2: set destination subaddress string
Class2SendRTC	boolean	\s-1No\s+1	Class 2: append \s-1RTC\s+1 to page data on transmit
Class2SFLOCmd	string	\-	Class 2: command to set software flow control
Class2SPLCmd	string	\s-1AT+FSPL\s+1	Class 2: command to set polling request
Class2TBCCmd	string	\s-1AT+FTBC=0\s+1	Class 2: command to enable stream mode
Class2UseLineCount	boolean	\s-1No\s+1	Class 2: use the line count from the firmware decoder
Class2UseHex	boolean	\s-1No\s+1	Class 2: parse capabilities strings as hex values
Class2XmitWaitForXON	boolean	\s-1Yes\s+1	Class 2: wait for \s-1XON\s+1 before sending facsimile data
.sp .5
Class2Cmd	string	\s-1AT+FCLASS=2.0\s+1	Class 2.0: command to enter class 2/2.0
Class2AbortCmd	string	\s-1AT+FKS\s+1	Class 2.0: command to abort active session
Class2APCmd	string	\s-1AT+FAP\s+1	Class 2.0: enable support for sending and receiving SUB, SEP, and PWD frames
Class2APQueryCmd	string	\s-1AT+FAP=?\s+1	Class 2.0: query capabilities for sending and receiving SUB, SEP, and PWD frames
Class2BORCmd	string	\s-1AT+FBO=0\s+1	Class 2.0: command to setup bit order
Class2BUGCmd	string	\s-1AT+FBU=1\s+1	Class 2.0: command to enable \s-1HDLC\s+1 frame tracing
Class2CIGCmd	string	\s-1AT+FPI\s+1	Class 2.0: command to set polling identifier
Class2CRCmd	string	\s-1AT+FCR=1\s+1	Class 2.0: command to enable receive capability
Class2CQCmd	string	\-	Class 2.0: command to setup copy quality parameters
Class2CQQueryCmd	string	\s-1AT+FCQ=?\s+1	Class 2.0: command to query modem copy quality capabilities
Class2DCCCmd	string	\s-1AT+FCC\s+1	Class 2.0: command to set modem capabilities
Class2DCCQueryCmd	string	\s-1AT+FCC=?\s+1	Class 2.0: command to query modem capabilities
Class2DisableV17Cmd	string \-	Class 2.0: command to disable V.17 support
Class2DISCmd	string	\s-1AT+FIS\s+1	Class 2.0: command to set session parameters
Class2ECMType	string	\s-1``2.0''\s+1	Class 2.0: ECM specification type to follow
Class2HexNSF	boolean	\s-1Yes\s+1	Class 2.0: parse NSF strings as hex values
Class2HFLOCmd	string	\s-1AT+FLO=2\s+1	Class 2.0: command to set hardware flow control
Class2JPEGSupport	boolean	\s-1No\s+1	Class 2.0: use modem JPEG support
Class2LIDCmd	string	\s-1AT+FLI\s+1	Class 2.0: command to set local identifier string
Class2MINSPCmd	string	\s-1AT+FMS\s+1	Class 2.0: command to set minimum transmit speed
Class2NFLOCmd	string	\s-1AT+FLO=0\s+1	Class 2.0: command to set no flow control
Class2NRCmd	string	\s-1AT+FNR=1,1,1,1\s+1	Class 2.0: command to set negotiation message reporting
Class2PACmd     string	\s-1AT+FPA\s+1	Class 2.0: set polling address string
Class2PHCTOCmd	string	\s-1AT+FCT=30\s+1	Class 2.0: command to set Phase C timeout parameter
Class2PIECmd	string	\s-1AT+FIE=0\s+1	Class 2.0: command to set procedure interrupt handling
Class2PWCmd     string	\s-1AT+FPW\s+1	Class 2.0: set password string
Class2PTSCmd	string	\s-1AT+FPS\s+1	Class 2.0: command to set received page status
Class2PTSQueryCmd	string	\s-1AT+FPS?\s+1	Class 2.0: command to query received page status
Class2RecvDataTrigger	string	\s-1``\e22''\s+1	Class 2.0: character to send to trigger recv
Class2RELCmd	string	\-	Class 2.0: command to enable byte-aligned \s-1EOL\s+1 codes
Class2RTFCC	boolean	\s-1No\s+1	Class 2.0: enable real-time fax compression conversion
Class2SACmd     string	\s-1AT+FSA\s+1	Class 2.0: set destination subaddress string
Class2SendRTC	boolean	\s-1No\s+1	Class 2.0: append \s-1RTC\s+1 to page data on transmit
Class2SFLOCmd	string	\s-1AT+FLO=1\s+1	Class 2.0: command to set software flow control
Class2SPLCmd	string	\s-1AT+FSP\s+1	Class 2.0: command to set polling request
Class2TBCCmd	string	\s-1AT+FPP=0\s+1	Class 2.0: command to enable stream mode
Class2UseLineCount	boolean	\s-1No\s+1	Class 2.0: use the line count from the firmware decoder
Class2UseHex	boolean	\s-1No\s+1	Class 2.0: parse capabilities strings as hex values
.sp .5
PagerSetupCmds	string	\-	commands for setting up modem for a pager call
PagerMaxMsgLength	integer	\s-1128\s+1	max length of a text message 
.sp .5
IXOService	string	\s-1``PG''\s+1	IXO: service identification string
IXODeviceID	string	\s-1``1''\s+1	IXO: device identification string
IXOMaxUnknown	integer	\s-13\s+1	IXO and UCP: max unknown responses before abort
IXOIDProbe	integer	\s-12\s+1	IXO: time between sending \er during ID sequence (secs)
IXOIDTimeout	integer	\s-120\s+1	IXO: max time to wait for ID= response (secs)
IXOLoginRetries	integer	\s-13\s+1	IXO: max attempts to login
IXOLoginTimeout	integer	\s-115\s+1	IXO: max time to complete login (secs)
IXOGATimeout	integer	\s-130\s+1	IXO: max time to wait for Go-Ahead response (secs)
IXOXmitRetries	integer	\s-13\s+1	IXO and UCP: max retries to send text msg block
IXOXmitTimeout	integer	\s-115\s+1	IXO and UCP: max time to transmit text msg block
IXOAckTimeout	integer	\s-130\s+1	IXO: max time to wait for msg block ack (secs)
.fi
.SH "SERVER-ORIENTED CONFIGURATION PARAMETERS"
.PP
These configuration parameters affect the general
operation of the fax server.
.TP
.B AdaptiveAnswer
Control whether or not an adaptive answering
strategy is used whereby an incoming call is
answered in multiple ways according to the list specified in the
.B AnswerRotary
parameter.
For example, if adaptive answering is enabled and
.B AnswerRotary
specifies ``fax data'', then an incoming call will
first be answered as fax using
.B ModemAnswerFaxCmd
and then, if that fails, as data using
.BR ModemAnswerDataCmd .
If the adaptive answer strategy is not enabled, then calls
are answered using the appropriate
.B ModemAnswer*Cmd
parameter (normally
.B ModemAnswerCmd
for unattended operation).
Note that the adaptive answer strategy depends on many factors
that limit its usefulness.
When calls are answered first as fax,
it typically only works with a Class 1 modem because it is
important that the sequence of operations related to answering
as fax be completed in a short enough time that a subsequent
answer for data be done before the caller times out and hangs
up the telephone
(for this reason
.B Class1RecvIdentTimer
should be set to a value that is shorter than
.BR FaxT1Timer .)
Also, note that it is sometimes necessary to arrange that the phone be
placed on-hook between successive answers; this can typically be
done by inserting the appropriate command at the start of the
second and subsequent
.BR ModemAnswer*Cmd s.
.TP
.B AdminGroup
Tells PAM what user group is allowed to administer the fax server.
Only useful if the server is compiled with PAM enabled.
.TP
.B AnswerRotary
The sequence of answering techniques the server should
``rotate through'' when answer incoming calls.
Answering techniques are:
.sp .5
.ta \w'\fBName\fP    'u
.nf
\fBName	Description\fP
fax	answer a fax call
data	answer a data call
voice	answer a voice call
extern	use the \fIvgetty\fP application to answer a call
any	answer a call of any/unknown type
.fi
.sp .5
When a call is not answered successfully, the server
advances the rotary to the next specified answering
technique.
If
.B AdaptiveAnswer
is enabled, the server will try all the answering techniques for
each incoming call.
Otherwise, the rotary is advanced
.I between
unsuccessful phone calls.
For example, if
.B AdaptiveAnswer
is disabled and
.B AnswerRotary
is ``fax data'',
then the calls will initially be answered as fax until
the first call is received that does not appear to be
from a fax machine; after that calls will be answered
as if they were from a data modem until the next unsuccessful
call; after which they will one again be answered as fax. 
Only the first three techniques listed are used; any additional
ones are (silently) ignored.
See also
.BR AnswerBias .
.TP
.B AnswerBias
The index into the
.B AnswerRotary
list that the server should rotate the list to after
each successful incoming phone call.
List indices are numbered starting at zero.
For example, if
.B AnswerRotary
is ``fax data'' and
.B AnswerBias
is 1, then after each successful inbound call, the
next call will be answered as data.
.TP
.B AreaCode\(S2
The local area code in which the facsimile modem resides.
This value is passed to the dial string rules that are
used, for example,
to formulate canonical phone numbers for dialing (see
.B DialStringRules
below.)
.TP
.B AuditHook\(S1
Specifies a program command and an interest specification indicating which events as
described in 
.IR faxwatch (${MANNUM1_8})
should trigger the execution of the program.  For example, this configuration:
.nf

    AuditHook: "bin/hook: J*S*M*R*"

.fi
would cause bin/hook to be executed upon every event.  The arguments passed to the 
hook program are respectively
.IR <class> ,
.IR <mask> ,
.IR <id> ,
and optionally
.IR [info]
where...
.nf

    <class> = JOB | SEND | MODEM | RECV
    <mask>  = the specific event
    <id>    = id of the job/modem with which the event is associated
    [info]  = additional information

.fi
.TP
.B BadPageHandlingMethod
(Class 1/1.0 only) Specifies how to react to a bad page received from the remote sender:
one of ``\s-1RTN\s+1'', ``\s-1DCN\s+1'', or ``\s-1RTN-SAVE\s+1''.

If a page is received in non-ECM mode with unacceptable quality 
according to
.BR PercentGoodLines
or
.BR MaxConseutiveBadLines
then it can be somewhat difficult to inform the sender of the problem.
Historically, \*(Fx has assumed that signalling RTN to the sender will
accomplish this.  However, some senders are incapable of retransmitting
pages, and to reduce burden they treat an RTN signal as a receipt 
confirmation and proceed to the next page without notifying the sending
user of the potential problem in readability on the receive-end.  (The
assumption there being that the receiving user will notify the sending
user if there actually is a readability problem.)

A setting of ``\s-1RTN\s+1'' is the historic behavior and assumes that 
an RTN signal will be enough to get the sender to retransmit or be
otherwise informed of a potential readability problem on the receive-end.
The previously-received page data is marked to be overwritten by the next page
data received from the sender.

A setting of ``\s-1DCN\s+1'' tells \*(Fx to transmit a DCN signal in 
response to the post-page message and should trigger a call abortion by
the sender.  This should clearly indicate a problem in page readability
to the sender, although the receipt of any following pages in a later
call cannot be guaranteed.

A setting of ``\s-1RTN-SAVE\s+1'' more closely approximates the behavior
of other fax receivers (especially fax machines).  It causes \*(Fx to
send the RTN signal but it saves the previously received page data and places
the next transmitted page data in another page.  This is the default
setting.  However, this could result in multiple copies of the same page
image being saved in the same file - if the sender does indeed retransmit
the unacceptable pages during the same call.
.TP
.B BatchLogs\(S1
When sending or receiving multiple documents (denoted by EOM), this
value determines if the session logs span the entire batch or, if set
to no, only contain a single document.
.TP
.B CallIDPattern
A string that identifies the caller's identity in any call
identification messages provided by the modem (such as Caller*ID or DNIS/DID).
The specified string is compared against any
unrecognized status messages received from the modem before
.B ModemAnswerCmd
is sent to the modem.
If there is a match, then the remainder
of the message is returned as
.B CallIDn
where n corresponds to the n'th instance that this
.B CallIDPattern
is from the top in the modem configuration file.
For example, for the ZyXEL U-1496 this parameter would be set to
.nf
\s-1CallIDPattern: ``CALLER NAME: ''\s+1 (note the trailing space).
.fi
If more than one message matches between instances of "RING" messages, then the message remainders are 
concatenated.

The special
.B CallID
value of "SHIELDED_DTMF" is used in conjunction with
.B ModemRingResponse
and
.B CallIDAnswerLength.
After executing
.B ModemRingResponse,
HylaFAX will expect
DTMF data (usually DLE-shielded) for
.B CallIDn
until
.B CallIDAnswerLength
is reached.  Note that if the modem is in voice mode to hear these
DTMF digits, then it must be returned to fax mode in the
.B ModemAnswerCmd.
In order to prevent this feature from losing incoming fax calls, if
fax sender CNG is detected while waiting for DTMF or if ten seconds
elapse without sufficient DTMF then the remaining expected digits
will be populated by whitespace, triggering fax answering.

For example, the following settings will cause HylaFAX to enter
voice mode and go off-hook when a RING is detected.  It will then
expect four DTMF digits (presumably for routing), and then it will
pause for 100 ms before returning to fax mode and answering the call.
.nf

  ModemRingResponse:     AT+FCLASS=8;H1
  CallIDPattern:         SHIELDED_DTMF
  CallIDAnswerLength:    4
  ModemAnswerCmd:        <delay:100>AT+FCLASS=1;A

.fi
For modems that do not support AT+FCLASS=8 (such as some USR modems) this
may be an appropriate equivalent:
.nf

  ModemRingResponse:      "AT#CLS=8\\nAT#VLS=4\\nATA"
  CallIDPattern:          SHIELDED_DTMF
  CallIDAnswerLength:     4
  ModemAnswerCmd:         "<delay:100>AT+FCLASS=1\\nATA"

.fi
Multiple entries of
.B CallIDPattern
are used together in one modem configuration file in order to capture multiple
.B CallID
responses.  For example, the following settings would capture "NDID" responses
from the modem as CallID1, "NMBR" responses from the modem as CallID2, "NAME"
responses as CallID3, and it would trigger
.B ModemAnswerCmd
whenever CallID1 or CallID2 were longer than 7 or 10 characters, respectively.
.nf

  CallIDPattern:         "NDID="
  CallIDAnswerLength:    7
  CallIDPattern:         "NMBR="
  CallIDAnswerLength:    10
  CallIDPattern:         "NAME="

.fi
Note that this example is only given as an example, and probably would cause unexpected
results.  Because pattern-matching ends when
.B ModemAnswerCmd
is sent to the modem, if "NDID", "NMBR", and "NAME" responses came from the modem in
that order, and the "NDID" response was at least 7 characters long, then
.B ModemAnswerCmd
would be sent to the modem immediately following the "NDID" response, and the "NMBR" and
"NAME" responses would be ignored.  Generally only one
.B CallIDAnswerLength
item should be in a modem configuration file.
.TP
.B CallIDAnswerLength
An integer indicating the minimum number of characters in a
.B CallID
matching the previous
.B CallIDPattern
to be received when
.B ModemAnswerCmd
is sent to the modem irrespective of any
.B RingsBeforeAnswer
value greater than zero.  This allows the answering of calls
which deliver CID/DID data but not RINGs.
For example,
.nf
\s-1CallIDAnswerLength: ``7''\s+1
.fi
would cause the call to be answered
when
.B CallID2
reached a length of seven digits.
A value of zero for
.B CallIDAnswerLength
disables this feature.
.TP
.B ClocalAsRoot
Control whether operations that set the
.SM CLOCAL
bit on the modem device special file are done with the effective
user-ID set to the super-user or the ``fax'' user.
By default such operations are done as the fax user, except under
.SM IRIX
where they are done as the super-user
(because 
.SM IRIX
disallows manipulation of
.SM CLOCAL
by anyone but the super-user).
.TP
.B ContCoverCmd\(S1
The command to invoke to generate a continuation cover page; see
.B ContCoverPage
and
.IR mkcover (${MANNUM1_8}).
.TP
.B ContCoverPage\(S1
A template file to use in creating
.IR "continuation cover pages" .
If this parameter is non-null, then the server will pass the
filename to the command specified by
.B ContCoverCmd
to generate cover pages for outbound jobs that are
continued after protocol errors.
These cover pages identify the receiver and indicate 
that the document is a continued transmission.
If this parameter is not specified or is null, then the server
will not generate continuation cover pages.
The specified pathname must be relative to the top of the fax server's
spooling area.
.TP
.B CountryCode\(S2
The local country code in which the facsimile modem resides.
As for
.BR AreaCode ,
this value is passed to the dial string rules for use in
formulating canonical phone numbers for dialing (among
other things.)
.TP
.B CountSkippedPages
If a page range has been specified in the job, and pages are being skipped
during the send, this controls if the pages skipped are counted in the pages
counted and totaled.  If skipped pages are to be counted, it will appear as if
the pages were instantly sent in 0:00 with no data.  The tagline counts will be
incremented on skipped pages, and faxq will notify clients via triggers of them
as well.  If the are not to be counted, then tagline page counts will act as if
the pages never existed, and not faxq trigger notifications will be sent.
.TP
.B DeviceMode
The file protection mode that the server should set for the
modem device file.
Note that this value is given in octal.
The default value of 0600 implies that only the
facsimile user (usually 
.IR uucp )
can access the modem.
See also
.IR chmod (2).
.TP
.B DialStringRules\(S2
The pathname of the file that holds the rules for processing
user-specified dial strings; c.f.
.IR dialrules (${MANNUM4_5}).
The specified pathname must be relative to the top of the fax server's
spooling area; e.g.
.BR etc/dialrules .
.TP
.B DistinctiveRings
Modern distinctive ring support on most modems indicates the ring cadence
rather than the older style of ``RING1'', ``RING2'', etc.  To indicate
the ring cadence, 
.B DRingOn
and
.B DRingOff
values are presented by the modem to the
.I faxgetty
process.  The modem indicates the entire cadence between ``RING'' indications
Like this:
.nf

  RING
  DROF=40
  DRON=8
  DROF=4
  DRON=8
  RING

.fi
The corresponding
.B DistinctiveRings
parameter for this ring cadence would be:
.nf

  DistinctiveRings:  F-8-4-8

.fi
where ``F'' tells the
.I faxgetty
process that the ring cadence is for a facsimile (``V'' for voice 
and ``D'' for data), and the other values describe the ring cadence
with leading and ending
.B DRingOff
values ignored.  Multiple ring cadences are indicated by delimiting
them with commas in this fashion:
.nf

  DistinctiveRings:  V-20,F-8-4-8,D-4-2-4-8

.fi
.TP
.B DRingOff
A string that identifies the ``off'' value in any distinctive
ring cadence, for example ``\s-1DROF=\s+1''.
See also
.B DRingOn
and
.BR DistinctiveRings .
.TP
.B DRingOn
A string that identifies the ``on'' value in any distinctive
ring cadence, for example ``\s-1DRON=\s+1''.
See also
.B DRingOff
and
.BR DistinctiveRings .
.TP
.B DynamicConfig
The pathname of the optional program, e.g. ``etc/localid'', that 
makes dynamic configuration changes, i.e., to 
.B LocalIdentifier,
based on device ID and call identification.  The program is passed those
values as the parameters ($1 = device id, $2 = CallID1, $3 = CallID2, $4 = CallID3, ...), 
when answering an incoming call.  The program can then 
perform local processing as desired to send on standard output the 
configuration items to change in a ``parameter:value'' format, i.e.
``LocalIdentifier: +1.800.555.1212''.  If there are multiple parameters
to be changed, then each item must be on its own line.
This is commonly used to dynamically alter the local identification 
of systems which use DID/DNIS, but it can also be used to allow different
modem configurations for different senders.  This program can also set the
.BR RejectCall
options to cause the current call to be rejected instead of answered.
Note that this file must be marked as executable by the faxgetty process.
.TP
.B EGettyArgs
A string that indicates whether or not the server should use an
an external getty application to deduce and possibly handle an incoming call.
If the string value is not null, then it is interpreted
as a set of arguments to pass to the getty program.
Before supplying the arguments, the string is first scanned
for ``%''-escape sequences: any appearance of ``%l'' is replaced
with the tty name and any appearance of ``%s'' is replaced with
the serial port speed (in decimal).
Any appearance of escaped numbers 1 through 9 (``%1'' through ``%9'') are replaced
by the match to the corresponding
.BR CallIDPattern ,
if present.
The ``%'' character can be specified with ``%%''.
If the
.B EGettyArgs
parameter is not specified in the configuration file or if
the string value is null, then ``extern'' connections will be rejected.
Note that in addition to the specified command line arguments, the
external getty
program is invoked with its standard input, output, and error
descriptors directed to the controlling tty device.

When the external getty application completes, its exit status is evaluated
and is interpreted to indicate what, if anything, should be done with the call.
An exit status of ``0'' indicates an unknown call type and that the call should
be handled as if the external getty program had not been used.  An exit status
of ``1'' indicates a data connection and that the
.IR getty (${MANNUM1_8})
program should be used to handle the call (see
.BR GettyArgs )
after being answered with
.B ModemAnswerDataBeginCmd .
An exit status of ``2'' indicates a fax connection that should be handled after
being answered with
.BR ModemAnswerFaxBeginCmd .
An exit status of ``3'' indicates a voice call and that the
.I vgetty
program should be used to handle the call (see
.BR VGettyArgs )
after being answered with
BR ModemAnswerVoiceBeginCmd .
An exit status of ``4'' is considered to be an error condition.  The session
will be terminated.  An exit status of ``5'' is used to indicate that the
external getty program handled the call entirely, is not an error condition, and
that the session is to be considered terminated.
.TP
.B FAXNumber
The phone number associated with the facsimile modem.
This string is used to generate the
Transmitter Subscriber Identification (\c
.SM TSI\c
) and Caller Subscriber Identification (\c
.SM CSI\c
) information passed to remote machines\(emunless the
.B LocalIdentifier
parameter is explicitly set.
The
.B FAXNumber
is also used to name the session log file where information
for incoming phone calls is recorded; see
.IR hylafax-log (${MANNUM4_5}).
If this phone number is not a fully qualified number
the values of
.B AreaCode
and
.B CountryCode
are used to generate the transmitted
.SM CSI
and
.SM TSI.
.TP
.B Include\(S2
Include the specified file and parse it as a config file
.TP
.B InternationalPrefix\(S2
The string to use to place an international phone call.
In the United States, this is ``011''.
This string is passed to the dial string rules.
.TP
.B JobControlCmd\(S1
The command to invoke to which provides Job Control information for a
job. See
.IR JobControl (${MANNUM1_8}).
.TP
.B JobReqBusy
The delay in seconds to wait before retrying a job whose
dialing attempt failed with a ``\s-1BUSY\s+1'' status result.
.TP
.B JobReqDataConn
The delay in seconds to wait before retrying a facsimile job whose
dialing attempt failed because a data modem answered the phone.
.TP
.B JobReqError
The delay in seconds to wait before retrying a job whose
dialing attempt failed with a ``\s-1ERROR\s+1'' status result.
.TP
.B JobReqNoAnswer
The delay in seconds to wait before retrying a job whose
dialing attempt failed with a ``\s-1NO ANSWER\s+1'' status result.
.TP
.B JobReqNoCarrier
The delay in seconds to wait before retrying a job whose
dialing attempt failed with a ``\s-1NO CARRIER\s+1'' status result.
.TP
.B JobReqNoFCon
The delay in seconds to wait before retrying a facsimile job whose
dialing attempt failed because the initial facsimile protocol
handshake failed (i.e. no ``\s-1+FCON:\s+1'' result was received
from a Class 2/2.0 modem).
.TP
.B JobReqOther\(S2
The delay in seconds to wait before retrying a job that
failed for a reason not already covered by one of the
.B JobReq*
parameters.
.TP
.B JobReqProto
The delay in seconds to wait before retrying a facsimile job that
failed because of a fax protocol error.
.TP
.B JobRetryBusy
The number of times to redial a phone number after receiving
a ``\s-1BUSY\s+1'' result code when the number has not
been successfully dialed before.
.TP
.B JobRetryDataConn
The number of times to redial a phone number after the
dialing attempt failed because a data modem answered the phone when
the number has not been successfully dialed before.
.TP
.B JobRetryError
The number of times to redial a phone number after receiving
a ``\s-1ERROR\s+1'' result code when the number has not
been successfully dialed before.
.TP
.B JobRetryNoAnswer
The number of times to redial a phone number after the
dialing attempt failed because of NO ANSWER when
the number has not been successfully dialed before.
.TP
.B JobRetryNoCarrier
The number of times to redial a phone number after the
dialing attempt failed because of NO CARRIER when
the number has not been successfully dialed before.
In normal operation the fax server will treat this result code
to mean that a facsimile modem/machine did not answer the
phone and reject the transmit job.
This is done to avoid repeatedly dialing wrong phone numbers
and depends on the modem distinguishing between
no carrier and no answer.
However, some modems are not capable of reliably
distinguishing between no carrier and no answer, or when instructed
to do so do not identify a busy signal correctly.
For these modems one may find it necessary to increase the
value of this parameter to compensate.
It is strongly recommended, however, that this value
not be set to a large number.
.TP
.B JobRetryOther
The number of times to redial a phone number after the
dialing attempt failed for a reason not already covered
by one of the other JobRetry* parameters when
the number has not been successfully dialed before.
.TP
.B GettyArgs
A string that indicates whether or not the server should invoke
the
.IR getty (${MANNUM1_8})
program in response to an incoming call from a data modem.
If the string value is not null, then it is interpreted
as a set of arguments to pass to the getty program.
Before supplying the arguments, the string is first scanned
for ``%''-escape sequences: any appearance of ``%l'' is replaced
with the tty name and any appearance of ``%s'' is replaced with
the serial port speed (in decimal).
Any appearance of escaped numbers 1 through 9 (``%1'' through ``%9'') are replaced
by the match to the corresponding
.BR CallIDPattern ,
if present.
The ``%'' character can be specified with ``%%''.
If the
.B GettyArgs
parameter is not specified in the configuration file or if
the string value is null, then data connections will be rejected.
Note that in addition to the specified command line arguments, the
.I getty
program is invoked with its standard input, output, and error
descriptors directed to the controlling tty device.
.TP
.B LocalIdentifier
The local station identification string to use when transmitting
.SM TSI
and
.SM CSI
strings (see 
.B FAXNumber
above).
NB: while this string may contain any printable 
.SM ASCII
characters; beware that
.SM "CCITT T.30"
specifies a restricted character set and some fax modems and machines
may reject or not display  non-conforming strings.
If the local identifier is not specified, a canonical form of the
.B FAXNumber
is used instead.
.TP
.B LockDataCalls
Hold the
.SM UUCP
lockfile during the time an inbound data call is processed by the
external getty program.
If this is disabled then the lockfile will be removed just before
the getty program is invoked.
Note however that doing this introduces a race condition whereby
an outbound program may sneak in and take control of the modem
after the inbound call has been accepted, but before the getty
program has started up and installed it's own lockfile.
.TP
.B LockVoiceCalls
Hold the
.SM UUCP
lockfile during the time an inbound data call is processed by the
external voice getty program.
If this is disabled then the lockfile will be removed just before
the voice getty program is invoked.
Note however that doing this introduces a race condition whereby
an outbound program may sneak in and take control of the modem
after the inbound call has been accepted, but before the voice getty
program has started up and installed it's own lockfile.
.TP
.B LogFacility\(S2
The symbolic name for the 
.IR syslog (3)
facility to use when logging error messages and
informational/debugging messages requested through the
.B ServerTracing
parameter.
The list of facility names is standardized; it can be found 
in the system include file
.BR <syslog.h> ;
comparisons are case-insensitive.
.TP
.B LogCalls
Log all incoming calls into xferfaxlog as CALL records.  This allows
a quick check of all incoming calls, regardless of fax completion or
not in a unified manner with other fax logs.
.TP
.B LogFileMode
The file protection mode that should be used when
creating files to hold session logs.
Note that this value is given in octal.
The default value of 0600 implies that the log files are not
generally accessible, which is important if sensitive information
such as calling card access codes are logged.
If log files are to be publicly accessible, this
value may be set, for example, to 0644.
See also
.IR chmod (2).
.TP
.B LongDistancePrefix\(S2
The string to use to place a long distance phone call.
In the United States, this is ``1''.
.TP
.B MaxConcurrentCalls\(S1
The default value to use for the maximum number of jobs for the
same destination that are processed concurrently.
Thus this parameter defines the maximum number of concurrent phone calls
to the same destination.
Unless all of your fax destinations have multiple fax lines 
using the same fax number per destination then 
.B MaxConcurrentCalls 
is probably best left as the default of 1 and exceptions should 
be accommodated by the
.B JobControl 
mechanism.
.TP
.B MaxBatchJobs\(S1
The maximum number of jobs to batch together in a single call.
.TP
.B MaxConsecutiveBadLines
The maximum number of consecutive erroneous rows of image data that
the server will receive before it deems a page to have unacceptable
copy quality.
Setting this parameter to zero causes the server to not check
the quality of received facsimile.
Facsimile received with error-correction do not have copy quality
checking performed.
See also
.BR PercentGoodLines .
.TP
.B MaxDials\(S1
The default value for the maximum number of times the server will
place a call for an outbound job.
This value may be overridden by rules in the
.B JobControl
mechanism.
See also
.BR MaxTries .
.TP
.B MaxRecvPages
The maximum number of pages the server will accept in a received
facsimile before it aborts the session.
.TP
.B MaxSendPages\(S1
The default value for the maximum number of pages the server will
permit in a transmitted facsimile.
Outbound jobs that exceed this limit are rejected.
This value may be overridden by rules in the
.B JobControl
mechanism.
.TP
.B MaxSetupAttempts
The maximum number of times a \*(Fx server program will attempt
to initialize a modem before considering it ``\fIwedged\fP''.
.TP
.B MaxTries\(S1
The default value for the maximum number of times the server will
attempt to communicate with a remote site.
Note that for a call to be counted against this limit, carrier must
be established;
this is in contrast to the value of
.B MaxDials
which limits the number of calls that will be placed on behalf
of a job.
This value may be overridden by rules in the
.B JobControl
mechanism.
See also
.BR MaxDials .
.TP
.B MinAcceptedLineCount
The minimum number of received scanlines allowed on an ``OK'' page.
The use of this setting prevents confirmation from being sent for
very short pages.
.TP
.B ModemGroup\(S1
Define a logical name for a set of modem devices.
This parameter can be used to define a name that clients can use
to refer to a collection of modems.
The syntax is ``\fI<name>\fP\:\fI<regex>\fP'' where
.I <name>
is the name for the group and 
.I <regex>
is a regular expression that 
.IR faxq (${MANNUM1_8})
matches against known modems.
Thus for example, the default modem to use for a job,
.BR any ,
is defined as ``any:.*''.
This parameter may be specified multiple times to define multiple
modem classes.
Modem classes may overlap.
The actual set of modems in a modem class that are considered
for use may vary based on which modems are believed to be ready for use.
.TP
.B ModemPriority
The scheduling priority to use for a modem.
Priority values are in the range 0 to 255 with lesser values signifying
higher (more desirable) priority.
The \*(Fx scheduler process assigns the highest
priority modem that is ready for use when scheduling an outbound job.

If multiple available modems in a job's selected 
.B ModemGroup 
have the same 
.B ModemPriority
value, then the \*(Fx scheduler assigns jobs to them in 
a round-robin fashion.
.TP
.B NoAnswerVoice
Whether or not to disable the answering of calls indicated as
voice (e.g. by
.B DistinctiveRings
).
.TP
.B NoCarrierRetrys
This is mapped onto \s-1JobRetryNoCarrier\s+1
.TP
.B ModemReadyState
Define the
.I state
transmitted to the \*(Fx scheduler process each time a modem
is made ready by a
.I faxgetty
process.
State is one of: ``R'' (ready for use), ``B'' (busy), or ``D'' (down).
The modem state can be used to control whether or not modems are assigned
to outbound jobs.
A modem's state is initially set to ``R'' (ready).
Modem state can be dynamically changed with the
.IR faxstate (${MANNUM1_8})
program or by setting this configuration parameter with the
.IR faxconfig (${MANNUM1_8})
program.
.TP
.B ModemRingResponse
This can be used
to cause the command defined by
.B ModemRingResponse
to be sent to the modem after hearing at least
.B ModemRingsBeforeResponse
RINGs in order to receive DID-DTMF data, for example.
.TP
.B ModemRingsBeforeResponse
This defines the minimum number of RINGs that must be heard before
.B ModemRingResponse
is first sent to the modem.
.TP
.B NotifyCmd\(S2
The command to invoke to notify a client of a job status change; see
.IR notify (${MANNUM1_8}).
.TP
.B PageChop\(S1
Whether or not to automatically truncate trailing whitespace on
pages of outbound facsimile (when possible).
If page chopping is enabled, then pages with at least
.B PageChopThreshold
trailing whitespace on a page will be transmitted as a ``short page''
if the receiver is capable of accepting variable-length pages.
The possible values are: ``last'' to enable chopping of the last
page of each document, ``all'' to enable chopping of all pages, or
``none'' to disable page chopping.
.TP
.B PageChopThreshold\(S1
The minimum amount of trailing whitespace that must be present
on a page before page chopping will be attempted; see 
.BR PageChop .
Note that this value is specified in inches.
.TP
.B PCL2FaxCmd\(S1
The command to invoke to convert a HP-PCL document submitted
for transmission to
.SM TIFF/F,
suitable for transmission.
.TP
.B PercentGoodLines
The minimum percentage of good rows of image data required 
for a received facsimile page to be deemed to have acceptable
copy quality.
Setting this parameter to zero causes the server to not
check the quality of received facsimile.
Facsimile received with error-correction do not have copy quality
checking performed.
See also
.BR MaxConsecutiveBadLines .
.TP
.B PollLockPokeModem
When polling for the presence/removal of a
.SM UUCP
lockfile, also test to make sure the modem is still reachable.
This is useful for scenarios where the modem is apt to become
disconnected while the modem is idle, such as an external modem
that may lose power, where the administrator wants notification
of this (as a ``wedged'' condition).
.TP
.B PollLockWait
When polling for the presence/removal of a 
.SM UUCP
lockfile, the time (in seconds) to wait between checks.
Lockfile polling occurs to ensure the fax server doesn't collide
with another process using the modem.
.TP
.B PollModemWait
The time (in seconds) to wait between checks
for a modem to become ready for use.
Modem polling occurs when a modem fails to reset cleanly.
.TP
.B PriorityScheduling
Indicates whether the \*(Fx scheduler should utilize available 
priority job scheduling mechanisms to enhance realtime execution, 
particularly with Class 1 configurations on older or slower 
systems.

Currently 
.B PriorityScheduling
is available for IRIX, SVR/4, HP-UX, and POSIX-compliant 
(i.e. Linux) operating systems.  The default value
varies to maintain traditional \*(Fx behavior.  On IRIX, 
SVR/4, and HP-UX systems where the configure script detects one of the
functions schedctl(), priocntl() or rtprio() the default is true.
The only other supported priority mechanism
is POSIX sched_setscheduler(), which is used on Linux, OpenServer and possibly
other systems.  On such systems, as well as on systems where no priority
scheduling mechanism exists, the default is false."
.TP
.B PS2FaxCmd\(S1
The command to invoke to convert a \*(Ps document submitted
for transmission to
.SM TIFF/F,
suitable for transmission;
see
.IR ps2fax (${MANNUM1_8}).
.TP
.B QualifyPWD
A string that specifies whether or not the identity of 
calling facsimile machines should be checked against an access
control list before receiving facsimile.
If 
.B QualifyPWD
is non-null, then only messages from facsimile machines identified
in the file specified by the string (typically \fBetc/passwd\fP)
will be accepted; similar to
.B QualifyTSI.
.TP
.B QualifyTSI
A string that specifies whether or not the identity of 
calling facsimile machines should be checked against an access
control list before receiving facsimile.
If 
.B QualifyTSI
is non-null, then only messages from facsimile machines identified
in the file specified by the string (typically \fBetc/tsi\fP)
will be accepted; see
.IR tsi (${MANNUM4_5}).
If
.B QualifyTSI
is not specified in the configuration file, or the value is
null, then all incoming facsimile messages will be accepted.
.TP
.B RecvDataFormat
The data format (compression scheme) to write received facsimile data
when copy quality checking is performed on the host.
(When copy quality checking is not done by the server, for example when
error correction protocol is used, the received
facsimile data is written exactly as it is received from the modem.)
The format may be one: ``1-D MH'', ``2-D MR'', ``2-D MMR'', or ``adaptive''.
An ``adaptive'' format causes the received data to be written using
the data format negotiated by the sender and receiver.
Note that while 2-D MMR is the most space-efficient data format
the resultant file may not be viewable (certain commonly used programs
do not properly read multi-strip TIFF with 2-D MMR data).
.TP
.B RecvFileMode
The file protection mode that should be used when
creating files to hold incoming facsimile.
Note that this value is given in octal.
The default value of 0600 implies that only the
facsimile user can read received facsimile.
If incoming facsimile are to be publicly accessible, this
value may be set, for example, to 0644.
See also
.IR chmod (2).
.TP
.B RejectCall
If this is set to true, the current call will not be answered, and will
be rejected.  This option has no effect if set in the configuration file,
but when set by the
.BR DynamicConfig
program, controls the current call.  This options supersedes the obsolete
.BR QualifyCID
option.
.TP
.B RingData
A modem status string that identifies that an incoming call is
for data use.
This string should be set when a phone line has been setup with
\fIdistinctive ring\fP service.
See also
.B RingFax
and
.BR RingVoice .
.TP
.B RingExtended
An identifier which matches the initial portion of an extended RING 
message sent by the modem to relay CID and/or DNIS data instead of 
sending it formatted on separate lines.
.TP
.B RingFax
A modem status string that identifies that an incoming call is
for facsimile use.
This string should be set when a phone line has been setup with
\fIdistinctive ring\fP service.
See also
.B RingData
and
.BR RingVoice .
.TP
.B RingsBeforeAnswer
The number of rings to wait before answering the phone.
If this value is set to 0, then the phone will only
be answered in response to an explicit answer command; see
.IR faxanswer (${MANNUM1_8}).
.TP
.B RingTimeout
If a ring is heard and the call is not answered, the time in
ms to wait before reinitializing the modem for the next call.
.TP
.B RingVoice
A modem status string that identifies that an incoming call is
for voice use.
This string should be set when a phone line has been setup with
\fIdistinctive ring\fP service.
See also
.B RingData
and
.BR RingFax .
.TP
.B RTNHandlingMethod
Specifies how to react to an RTN signal received from the remote:
one of ``\s-1Retransmit\s+1'', ``\s-1Giveup\s+1'',``\s-1Ignore\s+1'',
or ``\s-1Retransmit-Ignore\s+1''.

``\s-1Retransmit\s+1'' assumes that the page is not received successfully.
HylaFAX will make up to two additional attempts to send the page,
decreasing signalling rate and retraining.  If RTN continues,
up to 2 additional calls will be placed.  The downside is that if the remote
always responds with RTN, the page will be sent 9 times and no following
pages will be sent.  Many fax machines will not behave this way, although 
T.30 specification seems clear that this is the intent of the RTN signal.

Many fax machines will interpret RTN as meaning to not send the same data
again.  That is because RTN may indicate problems with flow control,
incorrectly encoded T.4 data, or some incompatibility other than line noise.
Fax machines that interpret RTN this way will disconnect and require a manual
retransmission.  This ``over and out'' behaviour can be activated by the 
``\s-1Giveup\s+1'' value.  The advantage to this behavior is that the same
page of image data will not be sent multiple times, but the downside is that
the following pages will not be sent.

``\s-1Ignore\s+1'' is similar to ``\s-1Giveup\s+1'' in that it makes the
assumption the data cannot be automatically accepted by the receiver.  However,
rather than disconnecting the page of image data is abandoned and processing moves
on to the next.  The remote is left to decide what to do with the unacceptable
page of image data.  The downside to this behavior, is that the remote may or may
not have kept the page, depending on its interpretation of the RTN signal - but
it does allow us to continue on to the next page.

``\s-1Retransmit-Ignore\s+1'' is a combination of ``\s-1Retransmit\s+1'' and
``\s-1Ignore\s+1''.  The page of image data is retransmitted up to two additional
times, but rather than disconnecting after a third RTN signal for the same page, 
processing then continues on to the next page.  This approach is an effort to
satisfy both interpretations of an RTN signal.  It allows the receiver to hopefully
receive a better copy of the image data while not failing to send subsequent pages.
If the receiver saves or prints a copy of pages for which it transmits RTN, then it
could save or print up to three copies of every page.
.TP
.B SaveUnconfirmedPages
Whether or not to save a received facsimile image page if the sender disconnects
without sending the post-page message, without hearing our message confirmation,
without retraining as requested, or otherwise breaks fax protocol following such
pages for which the sender should not have a ``receipt confirmation''.
.TP
.B SendFaxCmd\(S1
The command to use to process outbound facsimile jobs; see
.IR faxsend (${MANNUM1_8}).
.TP
.B SendPageCmd\(S1
The command to use to process outbound pager jobs; see
.IR pagesend (${MANNUM1_8}).
.TP
.B SendUUCPCmd\(S1
The command to use to process outbound 
.SM UUCP
jobs.
This parameter is not currently used, it is for future development.
.TP
.B ServerTracing\(S2
A number that controls the generation of tracing
information by a server when not actively sending or
receiving facsimile.
Tracing is divided into 
.I areas
that are individually controlled.
To enable tracing of multiple areas of operation, the
flag associated with each area should be bit-or'd to
form the value for this tag.
.ne 1i
.sp .5
.ta \w'\fB131072 (0x20000)    \fP'u +\w'Modem Communications    'u
.nf
\fBFlag	Area	Description\fP
1 (0x00001)	Server Operation	queue management and general operation
2 (0x00002)	\s-1FAX\s+1/\s-1IXO\s+1 Protocol	\s-1T.30\s+1 facsimile protocol or \s-1IXO/TAP\s+1 protocol
4 (0x00004)	Modem Operations	modem hardware manipulation
8 (0x00008)	Modem Communications	commands passed between host and modem
16 (0x00010)	Timeouts	timer operations
32 (0x00020)	Modem Capabilities	modem capabilities
64 (0x00040)	\s-1HDLC\s+1 Frames	binary \s-1T.30 HDLC\s+1 frames
128 (0x00080)	Binary Modem \s-1I/O\s+1	binary communication between host and modem
256 (0x00100)	Server State Transitions	server program state transitions
512 (0x00200)	Queue Management	job queue management
1024 (0x00400)	Copy Quality	copy quality checking of received facsimile
2048 (0x00800)	Job Management	low-level job management
4096 (0x01000)	\s-1IXO\s+1 Protocol	low-level \s-1IXO\s+1 protocol
8192 (0x02000)	Config File Parsing	unknown configuration file parameters
16384 (0x04000)	FIFO Messages	inter-application messages
32768 (0x08000)	Modem State Transitions	modem state changes (down, busy, ready)
65536 (0x10000)	Dial Rules	dialstring rules parsing and execution
131072 (0x20000)	Docq Changes	document reference handling
262144 (0x40000)	TIFF library	any messages produced by the TIFF library
524288 (0x80000)	ECM Frames	binary \s-1T.30-A HDLC\s+1 ECM frames
.sp .5
.fi
For example, to enable tracing of server operations and
protocol operations, a value of 1+2=3 should be specified.
\fBNB: tracing timeouts and/or binary modem \s-1I/O\s+1 can adversely
affect the operation of the fax server; enabling these areas
should be done with extreme care.\fP
.IP
Server tracing is directed to
.IR syslog (3)
using the \fIfacility\fP specified with the
.B LogFacility
configuration parameter.
Note that 
.IR syslogd (${MANNUM1_8})
must be configured to capture
.IR facility.info ,
.IR facility.debug ,
.IR facility.warning ,
and
.I facility.err
messages.
See
.IR hylafax-log (${MANNUM4_5})
for a description of the logged messages.
.TP
.B SessionTracing\(S2
A number that controls the generation of tracing information
by a server while sending or receiving facsimile.
The number is interpreted identically to
.B ServerTracing.
Note that session tracing is placed in log files in the
.B log
subdirectory; see
.IR hylafax-log (${MANNUM4_5})
for more information.
.TP
.B SpeakerVolume
The volume level that the in-modem speaker should be
adjusted to while in command mode.
The possible values are:
.ne 1i
.sp .5
.ta \w'\fBMedium\fP    'u
.nf
\fBValue	Description\fP
Off	silent
Quiet	almost inaudible
Low	tolerable in privacy
Medium	loud enough to hear in the next room
High	intolerable
.sp .5
.fi
Note that the speaker is always turned off once carrier is established.
Also beware that some modems support fewer volume settings;
see
.BR ModemSetVolumeCmd .
.TP
.B TagLineCoverNumString

Setting TagLineCoverNumString instructs faxsend to not include the cover pages
in the normal page numbering mechanism.  The page numbers used in the tagline
generation will adjusted to not count the cover pages, and the TagLineCoverNumString value
wil be used instead of a page number on the tagline of the cover page.
.TP
.B TagLineFont
The filename of the font to use in imaging 
.I "tag lines"
across the top of each transmitted page.
Fonts must be stored in the Portable Compiled Font (\c
.SM PCF\c
) format used by the X11 Window System.
Filenames are specified relative to the root of the spooling area;
e.g. etc/lutRS18.pcf.
If no font is specified, if a null filename is specified, or if
the specified font file is not readable, then tag lines will not
be generated.
See also
.BR TagLineFormat .
.TP
.B TagLineFormat
The format string to use when imaging
.I "tag lines"
across the top of each transmitted page.
This string may include escape codes that cause various items
to be interpolated into the imaged tag line.
Any escape code supported by
.IR strftime (3C)
may be used as well as the following server-implemented codes:
.sp .5
.ta \w'\fBEscape\fP    'u
.nf
\fBEscape\fP	\fBDescription\fP
%%a	destination subaddress
%%c	destination company name
%%C	sender's company name
%%d	destination phone number
%%g	destination geographic location
%%G	sender's geographic location
%%i	job identifier
%%I	group identifier
%%j	user-specified job tag
%%l	\fBLocalIdentifier\fP or canonicalized \fBFAXNumber\fP
%%m	sender's electronic mail address
%%n	canonicalized \fBFAXNumber\fP
%%p	current page number of session
%%P	current page number of job
%%r	receiver's name
%%s	sender's name
%%S	subject
%%t	total pages in session
%%T	total pages in job
%%v	destination voice number
%%V	sender's voice number
%%%	``%''
.fi
.sp .5
In addition, the format string may indicate that 
text is to be centered in multiple equal-sized
.I fields
by separating text with ``|'' characters.
For example, ``a|b|c'' would cause the tag line to be broken up into
three equal-sized areas with the strings ``a'', ``b'', and ``c''
centered within each region.
The default tag line format string is ``From %%n|%c|Page %%P of %%T''.
The differences between the %%p or %%P and the %%t or %%T options are noticed
when a fax job is retried after an incomplete attempt and only the previously
unsent pages are then queued in a successive session.
See also
.BR TagLineFont .
.TP
.B TIFF2FaxCmd\(S1
The command to invoke to convert a TIFF submitted
for transmission to
.SM TIFF/F,
suitable for transmission; see
.IR tiff2fax (${MANNUM1_8}).
.TP
.B TimeOfDay\(S1
The default time-of-day restrictions to apply to outbound jobs.
Outbound jobs will be processed only during the specified time.
Any jobs submitted outside this time period will be held until
the start of this time.
The syntax for time-of-day restrictions is designed to be compatible
with the syntax used by the
.SM UUCP
software.
The following
.SM BNF
describes the syntax:
.sp .5
.nf
.ft C
   Syntax = tod ["," tod]
      tod = <days><timerange>
     days = "Any" | "Wk" | <dayname>+ | nothing
  dayname = "Sun" | "Mon" | "Tue" | "Wed" | "Thu" | "Fri" | "Sat"
timerange = <start> "-" <end> | nothing
    start = <24hrtime>
      end = <24hrtime>
 24hrtime = {0-9}{0-9}{0-9}{0-9}
  nothing =
.ft P
.fi
.sp .5
where \fIstart\fP and \fIend\fP are 24-hour times, day names can be either
2- or 3-characters, and a null day or time specification means
any time or day.
White space and other syntactic sugar may be freely inserted between
tokens but may not be inserted between 24-hour times in the time range.
.IP
This value may be overridden by rules in the
.B JobControl
mechanism.
.TP
.B Use2D\(S1
Control the use of 2D-encoded data for transmitted facsimile.
.TP
.B UseJobTagLine
Allow the use of the job-specified tagline instead of the configured
.B TaglineFormat
.TP
.B UUCPLockMode\(S2
The file protection mode that should be used when creating
.SM UUCP
lockfiles.
Note that this value is given in octal.
.TP
.B UUCPLockDir\(S2
The pathname of the directory in which
.SM UUCP
lockfiles are to be created.
.TP
.B UUCPLockTimeout\(S2
The time in seconds to wait before removing a \fIstale\fP
.SM UUCP
lockfile (i.e. a lockfile whose owner does not appear to exist).
If this value is set to 0, then the fax server will never
remove a stale lockfile.
.TP
.B UUCPLockType\(S2
A string that specifies the type of
.SM UUCP
lockfile to create.
The string may be one of ``ascii'' or ``binary''
depending on whether the process-ID of the lock owner
is written to the file as an ascii string or as a binary value, respectively.
In addition, two prefixes may be used to control the format of
the lock filename.
If the type string is prefixed with a ``+'', then 
.SM SVR4-\c
style filenames are generated using the major device number of the
tty device and the major and minor device
numbers for the filesystem on which the tty device resides.
If the type string is prefixed with a ``\-'', then any upper
case letters in the device part of the lockfile name are converted
to lower case letters;
for example, ``LCK..ttyA01'' is converted to ``LCK..ttya01''.
This upper-to-lower case conversion is useful for systems such as 
.SM SCO
where the convention is to name devices with upper-case letters, but
create lockfiles with lower-case letters.
.TP
.B VGettyArgs
A string that indicates whether or not the server should invoke
a voice getty program
in response to an incoming voice call.
If the string value is not null, then it is interpreted
as a set of arguments to pass to the \fIvgetty\fP program.
Before supplying the arguments, the string is first scanned
for ``%''-escape sequences: any appearance of ``%l'' is replaced
with the tty name and any appearance of ``%s'' is replaced with
the serial port speed (in decimal).
Any appearance of escaped numbers 1 through 9 (``%1'' through ``%9'') are replaced
by the match to the corresponding
.BR CallIDPattern ,
if present.
The ``%'' character can be specified with ``%%''.
If the
.B VGettyArgs
parameter is not specified in the configuration file or if
the string value is null, then voice connections will be rejected.
Note that in addition to the specified command line arguments, the
.I vgetty
program is invoked with its standard input, output, and error
descriptors directed to the controlling tty device.
.TP
.B WedgedCmd\(S1
The command to invoke when a modem is deemed ``\fIwedged\fP''; see
.IR wedged (${MANNUM1_8}).
.SH "MODEM-ORIENTED CONFIGURATION PARAMETERS"
.PP
This section lists configuration parameters that are specific
to the setup and operation of the modem.
All
.I commands
must be specified exactly as they are to be transmitted to the modem
(note that this is a departure from previous versions of this software
that automatically prepended ``\s-1AT\s+1'' to each line of commands
sent to the modem).
When multi-line commands are required, enclose the commands in
quote marks (``"'') and insert a newline character ``\en'' where
lines should be broken.
An example of a multi-line command string is
``\s-1AT+FCQ=1\enAT+FBADMUL=20\enAT+FBADLIN=10\s+1''.
.PP
Command strings sent to the modem may include command
escapes that force the host to alter the 
.SM DTE-DCE
communication rate, the flow control scheme used between
the host and modem, delay for a period of time, flush input
data, and wait for a specific response from the modem.
The following escape codes are interpreted:
.ne 1i
.sp .5
.RS
.nf
.ta \w'<play:filename>    'u
\fBEscape\fP	\fBEffect\fP
<none>	enable no flow control between \s-1DTE\s+1 and \s-1DCE\s+1
<xon>	enable software flow control between \s-1DTE\s+1 and \s-1DCE\s+1
<rts>	enable hardware flow control between \s-1DTE\s+1 and \s-1DCE\s+1
<2400>	set the \s-1DCE-DTE\s+1 baud rate to 2400 bps
<4800>	set the \s-1DCE-DTE\s+1 baud rate to 4800 bps
<9600>	set the \s-1DCE-DTE\s+1 baud rate to 9600 bps
<19200>	set the \s-1DCE-DTE\s+1 baud rate to 19200 bps
<38400>	set the \s-1DCE-DTE\s+1 baud rate to 38400 bps
<57600>	set the \s-1DCE-DTE\s+1 baud rate to 57600 bps
<76800>	set the \s-1DCE-DTE\s+1 baud rate to 76800 bps
<115200>	set the \s-1DCE-DTE\s+1 baud rate to 115200 bps
<delay:N>	delay N x 10 ms on the host (0 <= N <= 255)
<flush>	flush any pending input data from the modem
<waitfor:R>	wait for the response R from the modem (see below)
<play:filename>	play the specified audio file (see below)
.fi
.RE
.sp .5
Note that commands to the left of an escape code are
sent to the modem before the associated actions are 
carried out on the host.
This may be important when changing baud rates, as the result code
from a command may be returned at the new baud rate.
Also, beware that not all baud rates are supported by all
systems and modems; the set of baud rates supported by a host is
usually listed in 
.IR stty (1).
.PP
The ``<waitfor:..>'' escape can be used to override the default
behaviour which is to wait for an ``\s-1OK\s+1'' response to a
command sent to the modem.
The possible response codes are:
.ne 1i
.sp .5
.RS
.nf
.ta \w'\s-1NODIALTONE\s+1    'u
\s-1NOTHING\s+1	a null response
\s-1OK\s+1	the default response
\s-1CONNECT\s+1	``\s-1CONNECT...\s+1''
\s-1NOANSWER\s+1	``\s-1NO ANSWER...\s+1''
\s-1NOCARRIER\s+1	``\s-1NO CARRIER...\s+1''
\s-1NODIALTONE\s+1	``\s-1NO DIALTONE...\s+1''
\s-1BUSY\s+1	``\s-1BUSY\s+1''
\s-1OFFHOOK\s+1	``\s-1PHONE OFF-HOOK\s+1''
\s-1RING\s+1	``\s-1RING...\s+1''
\s-1ERROR\s+1	error status from modem
\s-1VCON\s+1	voice connection indicator
\s-1OTHER\s+1	any unrecognized modem response
.fi
.RE
.sp .5
For example ``\s-1ATO\er<waitfor:CONNECT>\s+1'' would send
``\s-1ATO\s+1\er'' to the modem and then wait for a response
with a leading ``\s-1CONNECT\s+1'' in it; and
``\s-1ATS99=2\er<delay:2><flush><waitfor:NOTHING>\s+1'' would send
``\s-1ATS99=2\er\s+1'' to the modem, delay 20 ms, flush any
input from the modem, and then continue (not wait for any response).
.PP
The ``<play:filename>'' escape can be used to play a raw audio file with
a voice modem.   This feature can be used, for example, to play a brief
audio message after picking up the line but before answering.  A
configuration example may be:
.nf

  ModemRingResponse:  "AT+FCLASS=8;H1\enAT+VSM=131\enAT+VLS=1\enAT+VTX\en<waitfor:CONNECT><play:/sounds/enter-extension.raw><waitfor:OK>AT+VTS=[933,,150]"
  ModemAnswerCmd:     "<delay:100>AT+FCLASS=1;A"
  CallIDPattern:      SHIELDED_DTMF
  CallIDAnswerLength: 4

.fi
In this example using an IS-101 voice-compliant modem, a RING indication from
the modem will cause the modem to be placed in voice mode, set ulaw audio
compression, and via the connected phone line play back the etc/play1.raw
audio file, which may say, "After the tone enter a four-digit extension, then
start the fax."  Following the message a tone is played.
.TP
.B ModemAnswerCmd
The command to answer the phone.
If possible, this command should generate a result string that 
identifies whether the incoming call is from a facsimile, voice,
or data modem.
Typically this auto-detection is configured ahead of time; e.g.
for Class 2 modems with the ``\s-1AT+FAA=1\s+1'' command.
.IP
The following table describes how the result codes are interpreted by
the facsimile server.
.nf
.sp .5
.ta \w'\s-1CONNECT FAX\s+1      'u +\w'No Dialtone      'u +\w'Unknown      'u +\w'Unknown      'u
\fBResult String\fP	\fBDefault\fP	\fBClass 1\fP	\fBClass 2\fP	\fBClass2.0\fP
\s-1CONNECT FAX\s+1	Fax	\-	\-	\-	\-
\s-1CONNECT\s+1	Data	Unknown	\-	\-
\s-1NO ANSWER\s+1	No Answer	\-	\-	\-
\s-1NO CARRIER\s+1	No Carrier	\-	\-	\-
\s-1NO DIALTONE\s+1	No Dialtone	\-	\-	\-
\s-1ERROR\s+1	Error	\-	\-	\-
\s-1FAX\s+1	Fax	\-	\-	\-
\s-1DATA\s+1	Data	\-	\-	\-
\s-1+FCON\s+1	\-	\-	Fax	Fax
\s-1+FCO\s+1	\-	\-	Fax	Fax
\s-1+FDM\s+1	\-	\-	Data	Data
\s-1+FHNG:\s+1	\-	\-	Error	Error
\s-1VCON\s+1	\-	\-	Voice	Voice
.ta
.fi
.sp .5
The ``Default'' column indicates the interpretation made for the
result string in either class 1 or 2 unless explicitly
overridden.
The ``Class 1'' column indicates result strings handled specially
for modems operating in class 1, the
``Class 2'' column indicates special handling for modems
operating in class 2, and the ``Class 2.0'' column indicates
special handling for modems operating in class 2.0.
.I Unknown
entries imply that interpretation is based on the way in which the
call was answered; if answering is done for an explicit call type,
that type is assumed, otherwise a Fax call is presumed.
.TP
.B ModemAnswerDataBeginCmd
The command to send to the modem once a data
connection has been established.
.TP
.B ModemAnswerDataCmd
The command to explicitly answer the phone for a data connection.
This command must generate a result string that 
identifies the incoming call is from a data modem.
If this parameter is not specified or is null, then the value of
.B ModemAnswerCmd
is used instead.
See also
.B AdaptiveAnswer
and
.BR AnswerRotary .
.TP
.B ModemAnswerDialCmd
The command to explicitly answer the phone for a dialed connection.
This command must generate a result string that 
identifies the incoming call is from a facsimile modem.
If this parameter is not specified or is null, then the value of
.B ModemAnswerCmd
is used instead.
.TP
.B ModemAnswerFaxBeginCmd
The command to send to the modem once a facsimile
connection has been established.
.TP
.B ModemAnswerFaxCmd
The command to explicitly answer the phone for a facsimile connection.
This command must generate a result string that 
identifies the incoming call is from a facsimile modem.
If this parameter is not specified or is null, then the value of
.B ModemAnswerCmd
is used instead.
See also
.B AdaptiveAnswer
and
.BR AnswerRotary .
.TP
.B ModemAnswerVoiceBeginCmd
The command to send to the modem once a voice
connection has been established.
.TP
.B ModemAnswerVoiceCmd
The command to explicitly answer the phone for a voice connection.
This command must generate a result string that 
identifies the incoming call is for voice.
If this parameter is not specified or is null, then the value of
.B ModemAnswerCmd
is used instead.
See also
.B AdaptiveAnswer
and
.BR AnswerRotary .
.TP
.B ModemAnswerResponseTimeout
The maximum time, in milliseconds, to wait for a response from
the modem after sending
.BR ModemAnswerCmd .
Note that you may want to shorten this value when using the
server-based adaptive answer strategy; see
.BR AdaptiveAnswer .
.TP
.B ModemATCmdDelay
A delay, in milliseconds, that should be performed before each
``AT'' command string is sent to the modem.
.TP
.B ModemBaudRateDelay
The amount of time, in milliseconds, to pause after setting the
baud rate on the serial line.
This is only needed for hosts and modems (such as USRs) where 
setting the serial line parameters does not take effect immediately.
.TP
.B ModemCommaPauseTimeCmd
The command to set the time,
in seconds, that the modem should pause when encountering
a ``,'' modifier in the dialing string.
.TP
.B ModemDialCmd
The command to place a phone call.
The string is assumed to be suitable for use
as a parameter to the
.IR sprintf (3S)
function; so the ``%'' character should be escaped as ``%%''.
The dial command must include a single ``%s'' where the number
that is to be dialed is to be substituted.
Facilities such as tone or pulse dialing, outgoing prefixes
to route though a \s-1PBX\s+1,
and so on should be included in the
dialing command string.
It is also important that, if possible, a trailing ``@''
symbol should be included so that the modem
returns result codes that distinguish between no answer and no carrier.
Use of the ``@'' permits the server to reduce the probability
that a wrong number is continually redialed.
If the modem does not support this facility, then it may be
necessary to raise the number of retries done when a
``\s-1NO CARRIER\s+1'' result is returned.
.TP
.B ModemDialResponseTimeout
The maximum time to wait, in milliseconds, for a response from
the modem after sending
This value should be longer than the timeout programmed into the
modem through the
.B ModemWaitTimeCmd
parameter.
This additional server-based timeout is provided to guard against
modems that can ``lock up'' when dialing the telephone.
.TP
.B ModemDoPhaseCDebug
Whether or not to query the modem for responses during image data
transmission.  Normally the modem should not produce any responses
during Phase C data transmission.  However, in some debugging
scenarios (i.e. some Class 2.1 modems may show debugging information)
it may be appropriate to query the modem for responses during
the data transmission.
.TP
.B ModemDTRDropDelay
The time, in milliseconds, to pause between placing
.SM DTR
OFF and 
.SM DTR
ON while resetting a modem.  This value should be at
least equal to the time-value of the analogous S-register,
usually S25.
.TP
.B ModemEchoOffCmd
The command to disable echoing of commands sent to the modem.
.TP
.B ModemFlowControl
The type of flow control to use between
.SM DTE
and \s-1DCE\s+1;
one of ``\s-1NONE\s+1'', ``\s-1XONXOFF\s+1'' and ``\s-1RTSCTS\s+1''.
This value is used to select the string sent to the modem
to initially establish 
.SM DTE-DCE
flow control; one of
.BR ModemNoFlowCmd ,
.BR ModemSoftFlowCmd ,
and
.BR ModemHardFlowCmd .
The current flow control setting is also used to select the
appropriate flow control command to send to the modem when
the software switches to Class 1, 2, or 2.0; see
.BR Class1HFLOCmd ,
.BR Class1NFLOCmd ,
.BR Class1SFLOCmd ,
.BR Class2HFLOCmd ,
.BR Class2NFLOCmd ,
and
.BR Class2SFLOCmd .
.IP
The server supports both software and hardware flow control
for Class 1, Class 2, and Class 2.0 modems.
Whether to use hardware or software flow control depends
on the capabilities of the modem
and the host hardware and operating system.
Communication rates above 9600 baud often require that hardware
flow control be used for reliable
.SM DTE-DCE
communication.
However, beware that many modems only support software
flow control when sending or receiving facsimile.
.IP
Note that modems usually support software flow control even
if they have no explicit AT-command to activate it; in this case
it is switched on when the modem enters fax mode, having
AT+FCLASS=... from \s-1DTE\s+1.
.TP
.B ModemFrameFillOrder
The bit order to expect for received
.SM HDLC
frames and to use when formulating
.SM HDLC
frames to send.
This value may be either
.SM LSB2MSB
when bits are ordered from least-significant-bit to
most-significant-bit (as in the
.SM CCITT
specification) or
.SM MSB2LSB
when bits are ordered in the reverse direction.
.TP
.B ModemHardFlowCmd
The command to setup hardware (\s-1RTS/CTS\s+1)
flow control between
.SM DTE
and
.SM DCE.
.TP
.B ModemMinSpeed
The minimum acceptable signalling rate for transmitting facsimile
page data.
Possible values are: 2400, 4800, 7200, 9600, 12200, and 14400.
.TP
.B ModemMfrQueryCmd
The command to send to the modem to get the manufacturer
identification string.
If this parameter is not set, then it is initialized
to ``\s-1AT+FMFR?\s+1'' for Class 2 modems, or
to ``\s-1AT+FMI?\s+1'' for Class 2.0 modems, or
to ``\s-1ATI3\s+1'' for Class 1 modems.
If the parameter begins with a ``!'', then the remainder of the
string is taken to be the identification string and no command
is issued to the modem.
.TP
.B ModemModelQueryCmd
The command to send to the modem to get the model identification string.
If this parameter is not set, then it is initialized to
to ``\s-1AT+FMDL?\s+1'' for Class 2 modems, or
to ``\s-1AT+FMM?\s+1'' for Class 2.0 modems, or
to ``\s-1ATI0\s+1'' for Class 1 modems.
If the parameter begins with a ``!'', then the remainder of the
string is taken to be the identification string and no command
is issued to the modem.
.TP
.B ModemNoAutoAnswerCmd
The command to stop the modem from automatically
answering when the phone rings.
.TP
.B ModemNoAutoAnswerCmdDelay
The time, in milliseconds, to pause after receiving the OK following
.B ModemNoAutoAnswerCmd
before any further commands are sent to the modem.  All input from
the modem is flushed after pausing.
.TP
.B ModemNoFlowCmd
The command to disable flow control between
.SM DTE
and
.SM DCE.
.TP
.B ModemOnHookCmd
The command to place the phone ``on hook''
(i.e. hangup).
.TP
.B ModemPageDoneTimeout
The maximum time to wait, in milliseconds, for a response
from the modem after sending a page of facsimile data (e.g.
the time to wait for a response to a Class 2/2.0
.SM AT+FET
command).
.TP
.B ModemPageStartTimeout
The maximum time to wait, in milliseconds, for an initial
response from the modem when sending a page of facsimile data
(e.g. the time to wait for a response to a Class 2/2.0
.SM AT+FDR
command).
.TP
.B ModemRaiseATCommands
Indicates whether or not all configuration AT commands for the modem should
be raised to upper-case automatically.  The standard is for all upper-case
to be used in AT commands, and indeed, some rare modems have been known
to malfunction with lower-case commands.  However, sometimes an administrator
may want to use lower-case commands in a rare condition such as to work
around modem blacklisting of dialed numbers.
.TP
.B ModemRate
The baud rate to use for DCE-DTE communication.
This value may be one of: 115200, 76800, 57600, 38400, 19200, 9600, 4800,
2400, 1200.
The default value is 19200 because many modems lock the
rate at 19200 when sending or receiving facsimile.
Note that not all values are supported by all operating
systems and modems; consult
.IR stty (1)
for the available rates on your system.
.TP
.B ModemReadyCmds
A string of commands to issue to the modem during reception initialization.
This string is sent to the modem
.I after
the standard set of configuration commands required by the fax server.  This
is done, for example, to un-busy a DID line so that calls can come through.
.TP
.B ModemRecvFillOrder
The bit order to expect for received facsimile data.
This value may be either
.SM LSB2MSB
when bits are ordered from least-significant-bit to
most-significant-bit (as in the
.SM CCITT
specification) or
.SM MSB2LSB
when bits are ordered in the reverse direction.
According to the various specifications all modems should return
data in
.SM LSB2MSB
order.
However most Class 2 modems (except maybe only Multitech) use
.SM MSB2LSB
for compatibility with modems that were built with
Rockwell hardware/firmware that included a bug
that was too widespread to correct.
.IP
If this parameter is not set, then it is autodetected and set to
.SM LSB2MSB
for Class 1 and Class 2.0 modems and
.SM MSB2LSB
for non-Multitech Class 2 modems. However this may be wrong for
your modem, so you will have to specify this parameter explicitly.
.TP
.B ModemRecvSuccessCmd
A string of commands to issue to the modem after a successful
receive session before the call is disconnected.
.TP
.B ModemResetCmds
A string of commands to issue to the modem during initialization.
This string is sent to the modem
.I before
the standard set of configuration commands required by the fax server.
Note that these commands \fBshould not include normal
reset commands that are specified through other parameters\fP.
For example, commands to setup flow control,
.SM DCD
handling,
.SM DTR
handling, etc. should be specified through the appropriate
configuration parameters and not through this parameter.
In addition the soft reset command (usually ``\s-1ATZ\s+1'')
should not be included in this string; the servers issue this
command explicitly.
.TP
.B ModemResetDelay
The time, in milliseconds, to pause after setting
.SM DTR
ON, while resetting a modem.
.SM DTR
ON does not respond with ``OK'', so this parameter should 
be long enough to allow the modem time to be ready for 
.B ModemSoftResetCmd
successively.
.TP
.B ModemResultCodesCmd
The command to enable result codes.
.TP
.B ModemRevQueryCmd
The command to send to the modem to get a firmware revision identification
string.
If this parameter is not set, then it is initialized to
``\s-1AT+FREV?\s+1'' for Class 2 modems, or
to ``\s-1AT+FMR?\s+1'' for Class 2.0 modems.
If the parameter begins with a ``!'', then the remainder of the
string is taken to be the identification string and no command
is issued to the modem.
.TP
.B ModemSendBeginCmd
The command to send to the modem upon establishing carrier during
a transmit operation.
This parameter is useful for systems that are incapable of enabling
hardware flow control without 
.SM DCD
asserted.
.TP
.B ModemSendFillOrder
The bit order the modem expects for transmitted facsimile data.
This value may be either
.SM LSB2MSB
or
.SM MSB2LSB
(see also
.B ModemRecvFillOrder
above.)
Virtually all modems expect transmitted facsimile data in
.SM LSB2MSB
bit order.
.TP
.B ModemSetVolumeCmd
The commands to use to set the modem speaker volume levels.
There should be five whitespace-separated commands,
one each for setting the
volume to ``Off'', ``Quiet'', ``Low'', ``Medium'', and ``High'';
the default is ``"\s-1\&ATM0 ATL0M1 ATL1M1 ATL2M1 ATL3M1\s+1"''.
See also
.BR SpeakerVolume .
.TP
.B ModemSetupAACmd
The command to setup
.I "adaptive answer"
support in the modem\-if available.
Adaptive answer is the term used for the ability to
distinguish between calls from facsimile, voice, and
data sources.
Note that this string is the last command issued by the device
drivers during setup, so the command string
may, if necessary, switch to a different
operating mode (e.g. on some Rockwell-based modems it is necessary
to issue the ``\s-1AT+FAA=1\s0'' command in Class 0).
.TP
.B ModemSetupDCDCmd
The command to setup
.SM DCD
handling.
On most systems the facsimile server will enable
the \s-1CLOCAL\s+1 flag on the tty device to which
the modem is connected.
This should insure that the system does not close an open
file descriptor associated with the modem if carrier is dropped.
Thus, for most systems and modems 
.B ModemSetupDCDCmd
should setup
.SM DCD
to reflect carrier.
.TP
.B ModemSetupDTRCmd
The command to setup
.SM DTR
handling so that the modem is reset when the
.SM DTR
signal is lowered by the host.
The facsimile server uses this facility to insure that modems
are not left in a ``locked up'' state.
.TP
.B ModemSoftFlowCmd
The command to setup software (\s-1XON/XOFF\s+1)
flow control between
.SM DTE
and
.SM DCE.
.TP
.B ModemSoftResetCmd
The command to force a soft reset of the modem.
.TP
.B ModemSoftResetCmdDelay
The time, in milliseconds, to pause after receiving the OK following
.B ModemSoftResetCmd
before any further commands are sent to the modem.
.TP
.B ModemSoftRTFCC
Whether or not to enable software-driven Real-Time Fax Compression Conversion.
RTFCC allows HylaFAX to convert the image compression between MH MR and MMR 
formats regardless of how faxq formatted the image file.
Note that when using RTFCC, the
compression format of the file will be ignored, thus the ``-1'', ``-2'',
and ``-3'' options for sendfax, ps2fax, and others will only influence how the
document is prepared by faxq and will not influence the
actual negotiated session parameters.
.B Class2RTFCC
takes precedence over
.B ModemSoftRTFCC
and if both are enabled, then software-driven RTFCC will not be performed
in favor of the firmware-driven RTFCC.
.TP
.B ModemType
This parameter must be set to one of: ``Class2'', ``Class2.0'',
or ``Class1'';
to indicate that the modem is a Class 2-,
Class 2.0-, or Class 1-style modem, respectively.
If this parameter is not set, then it is autodetected and 
the highest supported fax class is used.
.TP
.B ModemVerboseResultsCmd
The command to enable verbose, as opposed to numeric, result codes.
.TP
.B ModemWaitForConnect
If enabled, the facsimile server will not consider a connection
established when answering an incoming call until a
``\s-1CONNECT\s+1'' status string is received.
This is useful mainly for Rockwell \s-1RC32ACL\s+1-based
modems that send ``\s-1FAX\s+1'' and ``\s-1DATA\s+1'' status
messages before sending ``\s-1CONNECT\s+1''.
.TP
.B ModemWaitTimeCmd
The command to set the
number of seconds to wait for a carrier signal
when placing a call or answering the phone.
.SH "T.30 PROTOCOL CONFIGURATION PARAMETERS"
.PP
The following parameters apply to the implementation of the
.SM "CCITT T.30"
facsimile protocol in the Class 1 device driver.
They should not be changed without full understanding of the
operation of the server.
.TP
.B FaxT1Timer
The value of the
.SM T1
timer in milliseconds.
This timer is used to time out the initial session contact;
i.e. receipt of \s-1DIS/DCS\s+1.
.TP
.B FaxT2Timer
The value of the
.SM T2
timer in milliseconds.
This timer is used to time out receiving responses and commands.
.TP
.B FaxT4Timer
The value of the
.SM T4
timer in milliseconds.
This timer is used to time out the reception of
.SM HDLC
frames and, usually, trigger frame retransmissions.
.SH "CLASS 1 MODEM CONFIGURATION PARAMETERS"
.PP
The following parameters are specific to the configuration
of Class 1-style modems; they should not be changed lightly:
.TP
.B Class1Cmd
The command to set the modem into Class 1 operation.
.TP
.B Class1AdaptRecvCmd
The command used to enable adaptive reception support (usually
``AT+FAR=1'').  This feature is new in T.31, and many modems
will not support it.  This feature may reduce the number of
reception failures due to errors cascading from +FCERROR messages.
.TP
.B Class1ColorJPEGSupport
Whether or not to enable support for T.30-E full-color facsimile
with JPEG compression.  Enabling this automatically enables
.B Class1GreyJPEGSupport.
.TP
.B Class1EnableV34Cmd
The command to enable V.34-fax support with at least the desired
maximum primary channel rate.
.TP
.B Class1ECMSupport
Whether or not to support T.30-A error correction protocol.  Use of
ECM will require 64 kilobytes of free memory per modem in active use.
.TP
.B Class1PersistentECM
Whether or not to continue to retransmit and allow to continue to 
receive image data in ECM protocol 
which is not accepted as valid after four successive attempts.
.TP
.B Class1ECMFrameSize
The size in bytes of image frames to transmit during ECM protocol.
This setting will also indicate a preference in receive sessions.
The only acceptable values are 64 and 256.  A setting of 64 may
be useful on high-load systems and possibly environments with
extremely poor line quality.
.TP
.B Class1ExtendedRes
Whether or not to support resolutions other than normal and fine.
This option has been deprecated by
.B Class1Resolutions.
.TP
.B Class1FrameOverhead
The number of extraneous bytes in
.SM HDLC
frames sent to the host in response to an ``\s-1AT+FRH\s+1'' command.
For modems that properly implement the Class 1 interface, this
number should be 4 (the default).
.TP
.B Class1GreyJPEGSupport
Whether or not to enable support for T.30-E greyscale facsimile
with JPEG compression.  This is always enabled if
.B Class1ColorJPEGSupport
is enabled.
.TP
.B Class1HookSensitivity
The number of times to ignore on-hook detections and merely treat them
as command or modem errors.
.TP
.B Class1JBIGSupport
Whether or not to enable support for T.85 monochrome facsimile
with JBIG compression.  Options are ``true'' for support in both
sending and receiving, ``false'' for no support, ``send'' for 
support only in sending, and ``receive'' for support only in 
receiving.  If, during the build process a compatible JBIG library 
was found then send support is enabled by default.  If, during
the build process the TIFF tools are found to support JBIG then
receive support is enabled by default.
.TP
.B Class1HasRHConnectBug
A Class 1 modem should only report CONNECT after AT+FRH=3 when
V.21 HDLC data is detected.  However, some modems will incorrectly
report CONNECT after AT+FRH=3 whenever any carrier is present. In
such cases
.B Class1HasRHConnectBug
should be set to ``true''.
.TP
.B Class1HFLOCmd
The command to setup hardware (\s-1RTS/CTS\s+1)
flow control between
.SM DTE
and
.SM DCE
when operating in Class 1.
This command is issued immediately after sending the
.B Class1Cmd
to switch the modem to Class 1 operation.
.TP
.B Class1MRSupport
Whether or not to enable support for two-dimensional Modified Read
(MR) image data format compression.
.TP
.B Class1MMRSupport
Whether or not to enable support for two-dimensional Modified Modified Read
(MMR) image data format compression.  Note that MMR support requires also
ECM support to be enabled.
.TP
.B Class1NFLOCmd
The command to setup no flow control between
.SM DTE
and
.SM DCE
when operating in Class 1.
This command is issued immediately after sending the
.B Class1Cmd
to switch the modem to Class 1 operation.
.TP
.B Class1PageLengthSupport
The coded value for page lengths supported by the modem.  The only
correct values and meanings are these: ``1'', A4 page length; ``3'', both 
A4 and B4 page length; ``7'', unlimited page length.
.TP
.B Class1PageWidthSupport
The coded value for page widths supported by the modem.  The only
correct values and meanings are these: ``1'', A4 page width; ``3'', both 
A4 and B4 page width; ``7'', all of A4, B4, and A3 page widths.
.TP
.B Class1PPMWaitCmd
The command used to stop and wait before sending the post page message,
except before sending EOP, when
.B Class1EOPWaitCmd
is used instead.  We must ensure that the high-speed carrier has
stopped completely.
According to T.30, Chapter 5, Note 4, this delay should be 75 +/- 20 ms.
.TP
.B Class1ResponseWaitCmd
The command used to stop and wait after sending TCF, before attempting to 
receive a training response from the remote.  Set this to ``AT+FRS=1'' if 
you experience ``DIS/DTC received 3 times'' errors.
.TP
.B Class1Resolutions
A bitmapped (bit-or'd) value indicating the resolutions to be supported during facsimile
operation.  Individual resolutions follow Table 21/T.32 and are defined as follows:
.ne 1i
.sp .5
.ta \w'\fB131072 (0x20)    \fP'u +\w'Modem Communications    'u
.nf
\fBBit	Description\fP
0 (0x00)	R8 x 3.85 l/mm, Normal
1 (0x01)	R8 x 7.7 l/mm, Fine
2 (0x02)	R8 x 15.4 l/mm, Superfine
4 (0x04)	R16 x 15.4 l/mm, Hyperfine
8 (0x08)	200 dpi x 100 l/inch
16 (0x10)	200 dpi x 200 l/inch
32 (0x20)	200 dpi x 400 l/inch
64 (0x40)	300 dpi x 300 l/inch
.sp .5
.fi
Thus, a value of 3 would indicate support for normal, fine, and superfine resolutions.
.TP
.B Class1RMQueryCmd
The command to send to the modem to get the list of supported reception bit-rates.
If the parameter begins with a ``!'', then the remainder of the
string is taken to be the modem response and no command is issued to the modem.
.TP
.B Class1TCFWaitCmd
The command used to stop and wait before sending TCF, similar to
.B Class1PPMWaitCmd.
According to T.30, Chapter 5, Note 3, this delay should be 75 +/- 20 ms.
.TP
.B Class1TMQueryCmd
The command to send to the modem to get the list of supported transmission bit-rates.
If the parameter begins with a ``!'', then the remainder of the
string is taken to be the modem response and no command is issued to the modem.
.TP
.B Class1EOPWaitCmd
The command used to stop and wait before sending the post page message
similar to
.B Class1PPMWaitCmd.
We allow a different setting in the case of EOP, however, because
empirically some machines may need more time.
.TP
.B Class1ModemHasDLEBug
Used to indicate that the modem does not correctly duplicate DLE characters
in the V.21 communication to the DTE.
.TP
.B Class1MsgRecvHackCmd
If receive failures occur due to +FCERROR just prior to image data 
reception, setting
.B Class1MsgRecvHackCmd
to AT+FRS=1 may help.
.TP
.B Class1RecvAbortOK
The time, in milliseconds, to wait for an ``\s-1OK\s+1'' result code
from the modem after aborting an 
.SM HDLC
frame receive (``\s-1AT+FRH=3\s+1'').
If this number is zero, then the modem is assumed to not correctly
implement aborting and instead the driver will wait 200ms,
flush any input, and then send ``\s-1AT\en\s+1'' and wait
100ms for an ``\s-1OK\s+1'' result.
.TP
.B Class1RecvIdentTimer
The time, in milliseconds, to wait for an initial
.SM DCS
when receiving a facsimile.
.SM CCITT
recommendation
.SM T.30
specifies this as the value of the
.SM T1
timer.
However, adaptive answering schemes such as that described
above under the
.B AdaptiveAnswer
parameter may require that this timer be shortened.
.TP
.B Class1RMPersistence
The number of times that an attempt to receive the high-speed data carrier
should be made, resulting in +FCERROR, before the low-speed message carrier
reception is attempted.  Some modems are quick to (perhaps incorrectly)
return +FCERROR, and for those modems a value of 2 or 3 should be used.
For modems that are not quick to return +FCERROR, a value of 1 should be used.
Proper tuning of this can provide a type of "adaptive reception control"
for modems that accurately return +FCERROR without supporting
.B Class1AdaptRecvCmd.
For those modems that support
.B Class1AdaptRecvCmd,
.B Class1RMPersistence
should probably not be set at 1, although +FCERROR should almost never occur
with such modems.
.IP
If the modem does not support the reporting of +FCERROR or adaptive reception
control, then
.B Class1RMPersistence
should probably be set at 0, which causes the timeout looking for the high-speed
data carrier to be shortened, thus increasing the likelihood of recovery from
any dissynchronization. When
.B Class1RMPersistence
is other than 0 it is assumed that the +FCERROR reporting or
.B Class1AdaptRecvCmd
is functional and therefore the timeout looking for the high-speed data carrier
is lengthened.
.TP
.B Class1SwitchingCmd
The command used to ensure that the sending facsimile device has turned
off its modulator (i.e. loss-of-carrier) 
as recommended by T.31: Appendix II.1.
.TP
.B Class1SFLOCmd
The command to setup software (\s-1XON/XOFF\s+1) flow control between
.SM DTE
and
.SM DCE
when operating in Class 1.
This command is issued immediately after sending the
.B Class1Cmd
to switch the modem to Class 1 operation.
.TP
.B Class1TCFMaxNonZero
The maximum percentage of non-zero data bytes
permitted in an acceptable received
.SM TCF.
Note that this number does not include any leading non-zero data
in the received data.
See also
.BR Class1TCFMinRun .
.TP
.B Class1TCFMinRun
The duration, in milliseconds, of the minimum run of zero data in
an acceptable received
.SM TCF.
This value should be specified according to a 1.5 second
transmission of zero data (i.e. it should be between 0 and 1500).
See also
.B Class1TCFMaxNonZero
and
.BR Class1TCFMinRunECMMod .
.TP
.B Class1TCFMinRunECMMod
The factor by which
.B Class1TCFMinRun
should be modified in the case of an ECM session.  As ECM protocol
allows retransmissions it is commonly faster to accept a lesser-quality
data stream and the subsequent retransmisisons than it is to allow
the communication speed to slow down (where the demodulation may still
not produce an ideal data stream, anyway).
.TP
.B Class1TCFRecvHackCmd
If receive failures occur due to +FCERROR just prior to TCF data
reception, setting
.B Class1TCFRecvHackCmd
to AT+FRS=1 may help.
.TP
.B Class1TCFRecvTimeout
The maximum time to wait, in milliseconds, for the first byte and
again for the entirety of
the Training Check (\c
.SM TCF\c
) message data that is received during the
training phase of the facsimile reception protocol.
.TP
.B Class1TMConnectDelay
The time, in milliseconds, to delay after receiving CONNECT following +FTM
before sending image data.  T.31 8.3.3 requires the modem to respond with
CONNECT before the modulation training pattern.  If transmission begins
before the remote has successfully completed its own modulation training
pattern then data, especially during TCF, could be lost.  Many modems do
not follow T.31 in this regard, and thus the default is zero; however its
use with such modems would likely have a negligible effect.
.TP
.B Class1ValidateV21Frames
Whether or not to use the FCS bits of received V.21 HDLC frames to check
the validity of the frame itself.  Most Class 1 modems perform this
check independently (per T.31 7.4) and do not require this feature to be
enabled.
.SH "CLASS 2 AND 2.0 MODEM CONFIGURATION PARAMETERS"
.PP
The following parameters are specific to the configuration
of Class 2- and Class 2.0-style modems:
.TP
.B Class2Cmd
The command to set the modem into Class 2/2.0 operation.
.TP
.B Class2AbortCmd
The command to use to abort an established session.
After using this command to abort a session,
the fax software will send
.B ModemOnHookCmd
and then reset the modem by dropping
.SM DTR .
.TP
.B Class2APCmd
A largely unused option for modems supporting ITU-T.32, Class 2.1, 
standards.  This command would be used to enable sending and receiving 
SUB, SEP, and PWD frames.
.TP
.B Class2APQueryCmd
A largely unused option for modems supporting ITU-T.32, Class 2.1, 
standards.  This command would be used to query the capabilities of 
sending and receiving SUB, SEP, and PWD frames.
The value ``none'' may be used if the modem does not support any
.B Class2APQueryCmd.
.TP
.B Class2BORCmd
The command to setup the bit order of sent and
received facsimile data.
Usually the command ``\s-1AT+FBOR=0\s+1'' is used
so that data is sent and received in
.I direct
bit order (\s-1LSB2MSB\s+1).
Some modems, such as the Everex 24/96D,
must use reversed bit order for
Phase B and D data exchanges to avoid a bug that results in
garbage data being placed in the padding of
.SM EOL
codes.
The bit order specified by this command must correspond
to the settings of the
.B ModemSendFillOrder
and
.B ModemRecvFillOrder
parameters.
.TP
.B Class2BUGCmd
The command to use to enable or disable the tracing of
.SM HDLC
frames sent and received by the modem.
This tracing information should be returned to the host in ``\s-1+FHR:\s+1''
and ``\s-1+FHT:\s+1'' status strings.
Note that many Class 2 modems do not support this facility, 
which is largely used for diagnostic purposes.
The value ``none'' may be used if the modem does not support any
.B Class2BUGCmd.
.TP
.B Class2CIGCmd
The command used to set a polling identifier.
This string is inserted into the format ``\s-1%s="<id>"\s+1''.
.TP
.B Class2CQCmd
The command to use to set up parameters for copy quality checking.
For example, for an Everex 24/96D modem this parameter might be set to
``\s-1AT+FCQ=1\enAT+FBADMUL=20\enAT+FBADLIN=10\s+1''.
.B Class2CQCmd
should be configured to set-up all available copy quality services
available per
.B Class2CQQueryCmd.
To disable features that are available, configure
.B Class2CQQueryCmd
with a ``!'', and then set
.B Class2CQCmd
accordingly.
.TP
.B Class2CQQueryCmd
The command to send to the modem to get the copy quality capabilities string.
If the parameter begins with a ``!'', then the remainder of the
string is taken to be the capabilities string and no command
is issued to the modem; this can be used together with the
.B Class2CQCmd
to force copy quality checking to be done in the server instead
of in the modem.
See also
.B PercentGoodLines
and
.B MaxConsecutiveBadLines
for parameters used to do server copy quality checking.  If copy quality
checking is configured to be done by the modem then it is not done by the server.
.TP
.B Class2CRCmd
The command to use to enable the reception of facsimile.
.TP
.B Class2DCCCmd
The command used to set modem capabilities.
This string is inserted into the format
``\s-1%s=vr,br,wd,ln,df,ec,bf,st\s+1''.
.TP
.B Class2DCCQueryCmd
The command to send to the modem to get the Class 2/2.0 capabilities.
If the parameter begins with a ``!'', then the remainder of the
string is taken to be the capabilities string and no command
is issued to the modem.
.TP
.B Class2DDISCmd
The command to set session parameters before dialing.
This string is inserted into the format
``\s-1%s=vr,br,wd,ln,df,ec,bf,st\s+1''.
Setting this parameter enables support for Class 2 modems that do not
properly implement the ``\s-1AT+FDIS\s+1'' command by
setting up session parameters before dialing the telephone.
.TP
.B Class2DISCmd
The command used to set the current session parameters.
This string is inserted into the format 
``\s-1%s=vr,br,wd,ln,df,ec,bf,st\s+1''.
.TP
.B Class2ECMType
The interpretation of the EC parameter in the modem DCC response varies
between the Class 2, ``2'', and Class 2.0, ``2.0'', specifications.  This
configuration parameter allows the administrator to specify which type to
use.  The corresponding specification type is used by default.
.TP
.B Class2HexNSF
Whether or not to parse the NSF strings reported by the modem 
using hexadecimal values.  By default, they are parsed as hexadecimal values.
.TP
.B Class2HFLOCmd
The command to setup hardware (\s-1RTS/CTS\s+1)
flow control between
.SM DTE
and
.SM DCE
when operating in Class 2/2.0.
This command is issued immediately after sending the
.B Class2Cmd
to switch the modem to Class 2/2.0 operation.
For Class 2.0 operation the default is ``\s-1AT+FLO=2\s+1''.
.TP
.B Class2JPEGSupport
Whether or not to enable and utilize the JPEG support found in the modem.
.TP
.B Class2LIDCmd
The command used to set the local identifier string.
This string is inserted into the format ``\s-1%s="<id>"\s+1''
.TP
.B Class2MINSPCmd
The command used to set the minimum acceptable speed to be negotiated
for transmitting page data.
This string is inserted into the format ``\s-1%s=<speed>\s+1''
.TP
.B Class2NFLOCmd
The command to setup no flow control between
.SM DTE
and
.SM DCE
when operating in Class 2/2.0.
This command is issued immediately after sending the
.B Class2Cmd
to switch the modem to Class 2 operation.
For Class 2.0 operation the default is ``\s-1AT+FLO=0\s+1''.
.TP
.B Class2NRCmd
(\fIClass 2.0 only\fP)
The command to setup negotiation message reporting.
For the correct operation of the Class 2.0 driver
this command must enable the reporting of:
receiver parameters, transmitter parameters, and ID strings.
It is not necessary to enable reporting of non-standard frames
for correct operation of the Class 2.0 driver.
.TP
.B Class2PACmd
A largely unused option for modems supporting ITU-T.32, Class 2.1,
standards.  This command would be used to set up the polling address
string enabled by the 
.BR Class2APCmd .
.TP
.B Class2PHCTOCmd
The command to use to set the Phase C timeout parameter (in seconds).
The value ``none'' may be used if the modem does not support any
.B Class2PHCTOCmd.
.TP
.B Class2PIECmd
(\fIClass 2.0 only\fP)
The command to use to control procedure interrupt handling.
Procedure interrupts should be disabled because
\*(Fx does not provide a mechanism for dispatching procedure interrupts
to an administrator.
.TP
.B Class2PTSCmd
The command to use to set the received page status code.
When copy quality checking is done in the host, this command may be
used to control the post-page response delivered to the sender.
Beware that some modems do not properly implement this command
in which case the server should be configured to not do copy quality
check: see the
.B PercentGoodLines
and
.B MaxConsecutiveBadLines
parameters to understand how to defeat copy quality checking.
.TP
.B Class2PTSQueryCmd
The command to use to query the received page status code.
This command may be used to determine the post-page response returned from 
the receiver.
Beware that some modems do not properly implement this command
in which case this setting should be set to ``none''.
.TP
.B Class2PWCmd
A largely unused option for modems supporting ITU-T.32, Class 2.1, 
standards.  This command would be used to set up the password 
string enabled by the 
.BR Class2APCmd .
.TP
.B Class2RecvDataTrigger
The character to send to the modem to trigger the transmission
of received data from the modem to the host.
This character is specified to be
.SM DC1
(octal 21) in the
draft specification 2388-A and
.SM DC2
(octal 22) in the 2388-B
specification.
Most Class 2 modems accept
.SM DC1
or both
.SM DC1
and
.SM DC2.
Some modems however only accept
.SM DC2.
Note that string parameters may use C-style escape sequences,
so
.SM DC2,
for example, would be specified as ``"\e022"''.
.TP
.B Class2RELCmd
The command to use to enable the delivery of byte-aligned
.SM EOL
codes in received facsimile.
If this parameter is defined, then received facsimile data
will be marked to indicate that
.SM EOL
codes are byte-aligned; otherwise they will be marked as
not (necessarily) having byte-aligned codes.
.TP
.B Class2RTFCC
Whether or not to enable MultiTech's Real-Time Fax Compression Conversion
which is available in later firmware revisions for the MT5634ZBA-V92, 
MT5634ZPX-PCI-V92, and other models.  RTFCC allows HylaFAX to convert the 
image compression between MH MR and MMR formats regardless of how faxq 
formatted the image file.  If RTFCC is available with your firmware, then 
the response to ``AT+FFC=?'' is non-zero.  Note that when using RTFCC, the 
compression format of the file will be ignored, thus the ``-1'', ``-2'', 
and ``-3'' options for sendfax, ps2fax, and others will not influence the 
actual negotiated session parameters.
.TP
.B Class2SACmd
A largely unused option for modems supporting ITU-T.32, Class 2.1, 
standards.  This command would be used to set up the destination 
subaddress string enabled by the 
.BR Class2APCmd .
.TP
.B Class2SendRTC
Whether or not to append an explicit ``Return To Control'' (\s-1RTC\s+1)
signal to the page data when transmitting.
The Class 2 and Class 2.0 specs (i.e. SP-2388-A and TIA/EIA-592) state
that the modem will append
.SM RTC
when it receives the post-page message command from the host; this
parameter is provided in case the modem does not correctly implement
this.
.TP
.B Class2SFLOCmd
The command to setup software (\s-1XON/XOFF\s+1) flow control between
.SM DTE
and
.SM DCE
when operating in Class 2/2.0.
This command is issued immediately after sending the
.B Class2Cmd
to switch the modem to Class 2/2.0 operation.
For Class 2.0 operation the default is ``\s-1AT+FLO=1\s+1''.
.TP
.B Class2SPLCmd
The command to use to enable a polling request.
The value ``none'' may be used if the modem does not support any
.B Class2SPLCmd.
.TP
.B Class2TBCCmd
The command to use to enable stream-mode communication between the
host and modem.
The value ``none'' may be used if the modem does not support any
.B Class2TBCCmd.
.TP
.B Class2UseLineCount
Whether or not to use the line count reported to HylaFAX by the
modem firmware decoder.
.TP
.B Class2UseHex
Whether or not to parse the capabilities strings reported by the modem 
using hexadecimal values.  By default, they are parsed as decimal values.
.TP
.B Class2XmitWaitForXON
Whether or not to wait for an
.SM XON
character from the modem
before sending facsimile data to the modem for transmission.
Note that this is only relevant for modems that conform to the
Class 2 spec (i.e. SP-2388-A).
The Class 2.0 specification states that the host may transmit
data immediately upon receiving
.SM CONNECT
and that no
.SM XON
character will be sent to the host.
.SH "PAGER-RELATED CONFIGURATION PARAMETERS"
.PP
The following parameters are specific to the configuration
and operation of the IXO/TAP and UCP support for sending pager messages
and GSM SM. Parameter not used for UCP are marked with
``(\fIIXO/TAP only\fP)''.
.TP
.B PagerSetupCmds
The commands to send to a modem to prepare the modem for a
call to pager service provider.
Typically these commands place direct the modem to communicate
with the service provider at 300 bps using the V.21 protocol.
Per-service provider command strings can be setup in the
info database; see
.IR hylafax-info (${MANNUM4_5}).
.TP
.B PagerMaxMsgLength
The maximum length for a pager text message.
Messages longer than this number are truncated.
Per-service provider message lengths can be setup in the
info database; see
.IR hylafax-info (${MANNUM4_5}).
.TP 
.B IXOService
(\fIIXO/TAP only\fP)
The service identification string transmitted as part of the
.SM IXO/TAP
protocol.
.TP 
.B IXODeviceID
(\fIIXO/TAP only\fP)
The terminal device identification string transmitted as part of the
.SM IXO/TAP
protocol.
.TP 
.B IXOMaxUnknown
The maximum number of unrecognized messages that will be accepted
at various stages of the
.SM IXO/TAP
protocol before the sender will abort and hangup the phone.
.TP 
.B IXOIDProbe
(\fIIXO/TAP only\fP)
The time, in seconds, between sending a ``\er'' during the
initial ID recognition sequence of the
.SM IXO/TAP
protocol.
.TP 
.B IXOIDTimeout
(\fIIXO/TAP only\fP)
The maximum time, in seconds, to wait for the initial ID response from
the service provider.
.TP 
.B IXOLoginRetries
(\fIIXO/TAP only\fP)
The maximum number of attempts to login to a service provider.
.TP 
.B IXOLoginTimeout
(\fIIXO/TAP only\fP)
The maximum time, in seconds, to wait to complete the login procedure.
.TP 
.B IXOGATimeout
(\fIIXO/TAP only\fP)
The maximum time, in seconds, to wait for a Go-Ahead message from the service
provider.
.TP 
.B IXOXmitRetries
The maximum number of times to try sending a text message block
in a single call.
.TP 
.B IXOXmitTimeout
The maximum time, in seconds, to try transmitting a text message block.
.TP 
.B IXOAckTimeout
(\fIIXO/TAP only\fP)
integer	\s-130\s+1	IXO: max time to wait for msg block ack (secs)
The maximum time, in seconds, to wait for an acknowledgement
to a transmitted message.
.SH "PROTOTYPE CONFIGURATION FILES"
Per-modem configuration files are typically derived from
prototype files that have been created for known modems.
These prototype files are kept in the
.B config
subdirectory and, by convention, have names
that identify a brand or type of modem and the
.SM DTE-DCE
flow control scheme the prototype files configures.
The
.IR faxaddmodem (${MANNUM1_8})
program that is used to configure a modem for use with
\*(Fx selects a prototype configuration file using information
retrieved from the modem and comments embedded in the prototype files.
For Class 1 modems the product ID code returned by the command
``\s-1ATI0\s+1''
and the response from the command
``\s-1ATI3\s+1''
are used to select a prototype configuration file, while for Class 2
modems the manufacturer and model as returned by
``\s-1AT+FMFR?\s+1'' and ``\s-1AT+FMDL?\s+1'', respectively, are
used (or ``\s-1AT+FMI?\s+1'' and ``\s-1AT+FMM?\s+1'' for
Class 2.0 modems).
.PP
A Class 1 prototype configuration file is identified for use by
.I faxaddmodem
by searching for a comment of the form:
.nf
.sp .5
\fC# CONFIG:CLASS1:144:.*:RTSCTS: Manufacturer='AT&T' Model=Dataport\fR
.sp .5
.fi
In this example ``144'' is the product ID code for an \s-1AT&T\s+1 DataPort
modem, ``.*'' is a regular expression matched against the result string
returned by the ``\s-1ATI3\s+1'' command,
and ``\s-1RTSCTS\s+1'' indicates the modem is configured to
use hardware flow control during fax operation.
The remainder of the line is evaluated by the
.IR sh (1)
and used to specify the modem's manufacturer and model (since Class 1
modems do not have standard commands to query this information).
.PP
Class 2 and 2.0 prototype configuration files match the string
``\fImanufacturer\fP-\fImodel\fP-\fIflowcontrol\fP'' against a
.IR sh (1)
glob pattern specified in the configuration file, where
.I manufacturer
and
.I model
are the strings returned by querying the modem and
.I flowcontrol
is either ``\s-1RTSCTS\s+1'' for hardware flow control or
``\s-1XONXOFF\s+1'' for software flow control.
For example:
.sp .5
\fC# CONFIG: CLASS2: ZyXEL*-RTSCTS\fP
.br
\fC# CONFIG: CLASS2.0: USRobotics*-XONXOFF\fP
.sp .5
are configuration comments that appear in the prototype file for
a \s-1ZyXEL 1496E\s+1 with Class 2 support, and for a US Robotics Courier
modem with Class 2.0 firmware.
.PP
The
.I faxaddmodem
program merges server-specific configuration parameters
into a prototype configuration according to comments
placed in the prototype file.
All lines between ``\s-1BEGIN-SERVER\s+1'' and ``\s-1END-SERVER\s+1''
comments are placed with the appropriate server configuration
parameters.
Note that this means modem-related configuration parameters
must be placed outside this area of the file.
.SH "SEE ALSO"
.IR faxaddmodem (${MANNUM1_8}),
.IR faxq (${MANNUM1_8}),
.IR faxgetty (${MANNUM1_8}),
.IR faxsend (${MANNUM1_8}),
.IR hylafax-server (${MANNUM4_5})