The T.38 specification does not define any specific compliance tests which an implementation must pass. It is not supplied with any test vectors. Commetrex is a supplier of T.38 implementations, who have taken it upon themselves to define a set of tests, and create a lab for T.38 interoperability testing. This seems the closest thing to an industry standard for T.38 testing which exists at this time, and is much to their credit.
Commetrex have defined 16 tests which an implementation T.38 undergoes in their lab. These are described on the Commetrex web site as:
Table 6.1. Commetrex T.38 tests
Test # | Direction | Transport | Image file | Error correction | Data rate mgt | Image encoding | Polling |
---|---|---|---|---|---|---|---|
1 | originate | UDP | ccitt2p.tif | redundancy 0 | method 2 | MR | no |
2 | originate | UDP | 100page.tif | redundancy 0 | method 2 | MR | no |
3 | originate | TCP | ccitt2p.tif | redundancy 0 | method 1 | MR | no |
4 | originate | UDP | ccitt2p.tif | redundancy 3 | method 2 | MR | no |
5 | originate | TCP | ccitt2p.tif | FEC 2 from 3 span | method 2 | MR | no |
6 | originate | UDP | dither1d.tif | redundancy 3 | method 2 | MR | no |
7 | originate | UDP | ccitt2p.tif | redundancy 3 | method 2 | ECM | no |
8 | originate & poll to rx | UDP | ccitt2p.tif | redundancy 3 | method 2 | MR | polled rx |
9 | answer | UDP | ccitt2p.tif | redundancy 0 | method 2 | MR | no |
10 | answer | UDP | 100page.tif | redundancy 0 | method 2 | MR | no |
11 | answer | TCP | ccitt2p.tif | redundancy 0 | method 1 | MR | no |
12 | answer | UDP | ccitt2p.tif | redundancy 3 | method 2 | MR | no |
13 | answer | TCP | ccitt2p.tif | FEC 2 from 3 span | method 2 | MR | no |
14 | answer | UDP | dither1d.tif | redundancy 3 | method 2 | MR | no |
15 | answer | UDP | ccitt2p.tif | redundancy 3 | method 2 | ECM | no |
16 | answer & polled to tx | UDP | ccitt2p.tif | redundancy 3 | method 2 | MR | polled tx |
The file dither1d.tif is a whole page of dense checkerboard pattern, which does not compress, and produces a kind of torture test page. It is about 2M bytes. 100page.tif is exactly what it says - a file with 100 pages of FAX images. The content of the pages does not seem to be specified by Commetrex. The ITU T.30 test images, repeated sufficiently, seems a good basis for this test. ccitt2p.tif appears to be page 2 of the ITU test images. The tests are heavily biased towards non-ECM operation with MR coding. No other coding appears to be used, and only 2 tests use error corrected (ECM) FAXing.
Some of the Commetrex tests seem strange. Why is TCP transmission testsed with FEC or redundancy? These things are only needed to overcome to lack of reliability in a UDP path.