Skip to content

ITU-T Recommendations

These are the standards (ITU-T "Recommendations") that D-Modem implements, and where each one lives in the code.

ITU-T publishes them free of charge at itu.int, but does not allow copies to be shared, so they are not in the repository. Run docs/specs/fetch.sh to download the current English edition of each into this folder (fetch.sh V.34 T.30 fetches just those two). The "Local copy" links below then work.

Recommendation Subject In D-Modem Local copy
G.711 PCM of voice frequencies (ยต-law, A-law) the network codec of V.90/V.91/V.92, netsim, the PBX modules G.711.pdf
T.4 Group 3 facsimile: MH, MR coding dsp/t4.cpp T.4.pdf
T.6 MMR coding dsp/t4.cpp T.6.pdf
T.30 Group 3 facsimile procedures, ECM dsp/t30.cpp T.30.pdf
T.31 Class 1 fax AT commands dsp/fax_class1.cpp T.31.pdf
T.32 Class 2 and 2.0 fax AT commands dsp/fax_class2.cpp T.32.pdf
T.38 Fax over IP: IFP packets, UDPTL dsp/t38.cpp, dsp/t30.cpp (T.38 terminal), frontend/ari/ T.38.pdf
T.82 JBIG bi-level image coding, the QM arithmetic coder dsp/jbig.cpp T.82.pdf
T.85 JBIG (T.82) for fax pages, with ECM dsp/jbig.cpp, dsp/t30.cpp (fax-details.md) T.85.pdf
T.42 Colour fax's CIELAB (JPEG mode, with T.4 Annex E) dsp/jpeg.cpp, dsp/t30.cpp (fax-details.md) T.42.pdf
T.43 Lossless colour and grey-scale fax (JBIG bit-planes, with T.4 Annex G) dsp/t43.cpp, dsp/jbig.cpp, dsp/t30.cpp (fax-details.md) T.43.pdf
T.44 Mixed raster content (MRC): text in a bi-level mask over JPEG or T.43 layers (with T.4 Annex H, T.30 Annex J) dsp/t44.cpp, dsp/t30.cpp (fax-details.md) T.44.pdf
T.434 Binary file transfer format (BFT, with T.30 Appendix V) dsp/t434.cpp, dsp/t30.cpp (fax-details.md) T.434.pdf
V.8 Start-up: ANSam, CM/JM/CJ dsp/dp_v34.cpp V.8.pdf
V.13 Simulated carrier control core/v13.cpp (S48) V.13.pdf
V.17 14400 bit/s fax modem dsp/fax_modems.cpp V.17.pdf
V.21 300 bit/s FSK dsp/dp_fsk.cpp, V.8 and fax HDLC V.21.pdf
V.22 1200 bit/s DPSK dsp/dp_v22.cpp V.22.pdf
V.22bis 2400 bit/s QAM dsp/dp_v22.cpp V.22bis.pdf
V.18 Text telephones: 5-bit, DTMF, EDT, Bell 103, V.23, V.21, V.18's mode, automoding dsp/dp_text.cpp V.18.pdf
V.23 1200/75 bit/s FSK dsp/dp_fsk.cpp V.23.pdf
V.25 Answer and calling tones dsp/dp_callprog.cpp V.25.pdf
V.26 bis 2400/1200 bit/s on the switched network, with a 75 baud backward channel dsp/dp_v26bis.cpp (v26-details.md) V.26bis.pdf
V.26 ter 2400/1200 bit/s duplex on the switched network, echo cancelling dsp/dp_v26.cpp (v26-details.md) V.26ter.pdf
V.27ter 4800/2400 bit/s modem (fax, 4-wire leased) dsp/fax_modems.cpp, dsp/dp_4wire.cpp V.27ter.pdf
V.29 9600 bit/s modem (fax, 4-wire leased) dsp/fax_modems.cpp, dsp/dp_4wire.cpp V.29.pdf
V.32 9600 bit/s duplex, trellis coded dsp/dp_v32.cpp V.32.pdf
V.32bis 14400 bit/s duplex dsp/dp_v32.cpp V.32bis.pdf
V.33 14400 bit/s on 4-wire leased circuits dsp/dp_4wire.cpp, dsp/fax_modems.cpp V.33.pdf
V.8 bis Identification and selection of a mode before V.8 (MR, CR, ES, MS, CL, ACK) dsp/v8bis.cpp, dsp/dp_v8bis.cpp (v8bis-details.md) V.8bis.pdf
V.34 33600 bit/s duplex dsp/dp_v34.cpp, v34_modem.cpp, v34_data.cpp V.34.pdf
X.75 Packet-switched signalling (its LAPB, an ISDN data call's) link/lapb.cpp (+B2, docs/isdn.md) X.75.pdf
V.42 Error correction (LAPM) link/lapm.cpp, link/hdlc.cpp V.42.pdf
V.42bis Data compression link/v42bis.cpp V.42bis.pdf
V.44 Data compression (LZJH) link/v44.cpp V.44.pdf
V.52 Test patterns (the 511-bit pattern) core/v54.cpp (AT&T7, AT&T8) V.52.pdf
V.54 Loop test devices (loops 2 and 3) core/v54.cpp (AT&T) V.54.pdf
V.58 Management information model for V-series DCEs (its test objects, V.250's +T commands; its codes in AT#UD) core/v58.cpp, core/modem.cpp (unimodem_diag()) V.58.pdf
V.59 Managed objects for diagnostic information (V.250's +TMO) core/v59.cpp V.59.pdf
V.80 Synchronous access mode (in-band DTE control) link/v80.cpp, core/modem.cpp V.80.pdf
V.90 56000 bit/s downstream, digital modem dsp/v90.cpp, dsp/dp_v34.cpp V.90.pdf
V.91 PCM between two digital modems dsp/v91.cpp V.91.pdf
V.92 Quick connect, modem-on-hold, PCM upstream dsp/v92.cpp, dsp/dp_v34.cpp V.92.pdf
V.110 Rate adaption on an ISDN B-channel dsp/v110.cpp, dsp/dp_clear.cpp V.110.pdf
V.120 HDLC rate adaption on an ISDN B-channel link/lapb.cpp, core/modem.cpp (+B2) V.120.pdf
V.150.1 Modem-over-IP: modem relay (SSE, SPRT, the MoIP messages, SDP) dsp/dp_relay.cpp, frontend/dmodemd/v150.cpp, frontend/dmodemd/sip.cpp (v150-details.md) V.150.1.pdf
V.152 Voice band data over IP (a=gpmd) frontend/dmodemd/sip.cpp V.152.pdf
V.250 AT commands core/at.cpp V.250.pdf
V.61 Analogue simultaneous voice and data (ASVD): 4800 bit/s with speech, 14400 without dsp/dp_v61.cpp, dsp/v61_audio.cpp (v61-details.md) V.61.pdf
V.70 Digital simultaneous voice and data (DSVD) dsp/dp_v8bis.cpp, link/v76.cpp (v70-details.md) V.70.pdf
V.75 DSVD's control: H.245's messages in V.76's frames link/v76.cpp, link/h245.cpp V.75.pdf
V.76 A multiplexer on V.42 LAPM's procedures link/v76.cpp, link/lapm.cpp V.76.pdf
G.729 CS-ACELP speech coding at 8 kbit/s; Annex A, its reduced complexity coder (DSVD's voice); Annex B, silence compression and comfort noise link/g729a_*.cpp, link/g729b.cpp (v70-details.md) G.729.pdf
H.245 Multimedia control messages (OpenLogicalChannel and others, in aligned PER) link/h245.cpp H.245.pdf
V.251 AT commands for V.8 and V.8 bis (+A8E) core/at.cpp, core/modem.cpp V.251.pdf
V.253 Voice AT commands dsp/dsp_glue.cpp (voice) V.253.pdf

G.729's software (its test vectors among it) is a separate download: docs/specs/fetch_g729.sh puts Annex A's and Annex B's test vectors in g729a/, where link/test/g729a_test.cpp checks D-Modem's coder against them bit for bit (the test is skipped without them). Only the vectors are used, as data; the reference code is not built.

V.42's Annex A, the alternative procedure (MNP 4), which D-Modem implements (link/mnp.cpp), was deleted from V.42 in 2002; it is in the superseded V.42 (10/96), T-REC-V.42-199610-S at itu.int (link-details.md).

Microsoft's Unimodem Diagnostics Command Reference Specification, version 1.0 (2 July 1998), is here as umud10.rtf: AT#UD (core/modem.cpp, unimodem_diag()) follows it. Microsoft grants the right to reproduce and distribute it for making hardware that complies with it.

Not from the ITU: Bell 103 and Bell 212A (AT&T), Bell 202 caller ID (Telcordia GR-30), TIFF-F (RFC 3949), Contact ID (SIA DC-05, dsp/dp_contactid.cpp), fixed-line SMS (ETSI ES 201 912 protocol 1, dsp/dp_sms.cpp; its messages are 3GPP TS 23.040's SMS-SUBMIT and SMS-DELIVER in TS 23.038's alphabets, dsp/sms_pdu.cpp). Section references in the code and in these documents, such as "9.6.2/V.34", are to these editions.