May 2004 Fax and Modem Training
Modem Types
T.30 FAX protocol T.30 is control protocol between fax machines. It is used for call establishment, capabilities exchange, end-of page and multipage signaling and call release The T.30 control signals are send at speed of 300bps and are modulated according to ITU V.21 standard Image data is send at speed of 2,400 – 14,400bps
T.30 FAX Tones CNG – Originating FAX calling tone, short periodic tone of 1100Hz, 0.5sec every 3.5 seconds CED – FAX answering tone, continuous 2100Hz , 2.6 to 4.0 seconds duration V.21 Preamble – series of HDLC flags send for 1.5seconds, modulated on 1650Hz
Fax basic call CNG Answer CED Preamble followed by DIS Preamble followed by DCS Training (TCF) Preamble followed by CFR Training (TCF) Transmit Fax page) End of procedure (EOP)
T.30 FAX signal messages DIS – Digital Identification signal indicating terminating fax capabilities (such as data rate) DCS – Digital Command signal indicating mtransmission mode (such as rate) that will be used by originating fax. TCF – Training check sequence sent for 1.5 seconds CFR – Confirm to receive message, indicating that the fax is ready to receive the document. MPS – MultiPage signal, send after each page (if more than one page is send) MCF – Message Confirmation that the page was received EOP – End of procedure message, indicating that there are no more page to be sent. DCN – Disconnect message
Fax T.30 Diagram 8 CNG DCS/TCF Fax Image P1/MPS Fax Image P2/EOP DCN PCM In ORG L CED/DIS CFR MCF MCF PCM In ANS R 8
T.38 messages T.38 messages are divided into three groups: T.30 Indicator messages – 1 byte packets indicating No signal, CNG, CED, V.21preamble,…) – such as "00 00 01 06“ “00 00” – are the T.38 packet sequence number “01” – number of bytes, 1 byte in this example “06” – code of V.21 preamble “04” – code of CED signal 2) Low speed data control messages (V.21 data) – usually 6 bytes packets carrying T30 control messages such as DIS, DCS, EOP,DCN (used for FAX capabilities exchange, end of page and call release)…. – such as "00 02 06 c0 01 80 00 00 c0" (packets starting with c0 01 80 .. are the V.21 data) 3) High speed data type message– usually 50bytes (or more) packets containing fax image.
T.38 Packets The following parameters define the T.38 packet redundancy. a) FaxRelayEnhancedRedundancyDepth = 0 to 4 b) FaxRelayRedundancyDepth = 0 to 2 The "'FaxRelayEnhancedRedundancyDepth" parameter defines the redundancy level (or number of repetitions) of T.30 Indicator messages and redundancy level of low speed data control messages. For example if "FaxRelayEnhancedRedundancyDepth = 2" each indicator message will be send three times: 00 00 01 06 00 00 01 06 The Low speed data control messages with FaxRelayEnhancedRedundancyDepth =4 00 09 06 c0 01 80 00 00 8c 00 04 06 c0 01 80 00 00 c2 06 c0 01 80 00 00 c0 06 c0 01 80 00 00 ff 06 c0 01 80 00 00 c8 In the example above the first six bytes are current data (c0 01 80 00 00 8c), while the other 4 groups of six bytes contain data of earlier four T.38 packets. The "FaxRelayRedundancyDepth" parameter defines the redundancy of high speed data packets. For example if "FaxRelayRedundancyDepth = 2" each T.38 packet will carry current data and the data of previous two packets.
Annex D Real-time facsimile over H.323 systems Annex defines H.323 procedure to transfer T.38 packets.
Replacing an existing audio stream with a T.38 fax stream
SIP T.38 Call Flow
T.38 REINVITE Message (F11)
SIP 200OK to T38 REINVITE (F14)
H323/SIP FAX Configuration Parameters IsFaxUsed 0 - No 1 - Fax is send/received using SIP or H323 Annex D. T38 procedure DetFaxOnAnswerTone 0 - Receiving Gateway will initiate T38 on receiving V.21 preamble signal from FAX (default) 1- Receiving GW will initiate T38 upon receiving of CED answer tone from Fax (not recommended) CNGDetectorMode 0 – don’t use (default) 2 - T.38 will start after CNG detection (applicable only for SIP and not recommended)
Channel Parameters (1) DJBufMinDelay 0 to 150 msec (default = 70) Dynamic Jitter Buffer Minimum Delay. DJBufOptFactor 0 to 13 (default = 7) Dynamic jitter buffer frame error/delay optimization. 13 is used for fax and modem calls FaxTransportMode Sets the Fax transport 0 = disable (transparent mode) 1 = relay, (default, to be used for T.38) 2 = bypass.
Channel Parameters (2) FaxRelayEnhancedRedundancyDepth 0 to 4 (default =0) Number of repetitions to be applied to each fax control packet FaxRelayRedundancyDepth 0 to 2 (default =0) Number of repetitions to be applied to each fax relay payload when transmitting to network FaxRelayMaxRate Limits the maximum rate at which fax messages are transmitted. 0 = 2.4 kbps 1 = 4.8 kbps 2 = 7.2 kbps 3 = 9.6 kbps 4 = 12.0 kbps 5 = 14.4 kbps, (default) FaxRelayECMEnable 0 = Disable using ECM mode during Fax Relay 1 = Enable using ECM mode during Fax Relay. (default)
Channel Parameters (3) 0 – set internally, default (20msec) FaxModemBypassBasicRTPPacketInterval 0 – set internally, default (20msec) 1 – 5msec (not recommended) 2 – 10msec 3 – 20msec FaxModemBypassDJBufMinDelay 0 to 150 msec (default 40msec) Jitter Buffer during Modem/Fax bypass , NSEMode Cisco compatible modem bypass mode 0 = NSE Disabled (default) 1 = NSE Enabled Note: if used with SIP, the SDP contains “a=rtpmap:100 X-NSE/8000” for 100 as NSE payload type NSEPayloadType Range 96-127, default NSE payload type is 105. Cisco are using 100
Channel Parameters (4) FaxModemBypassCoderType - Coder to be used while performing fax/modem bypass. Refer to acTCoders enumeration. Usually, high bit rate coders such as G.711 and G.726/G.727 should be used. 0 = G711 A-law =0, (default) 1 = G711 -law=1, 4 = G726_32 11 = G727_32. FaxModemBypassM Number of 20 msec payloads to be used for generating one RTP fax/modem bypass packet. 1, 2 (default = 1) FaxBypassPayloadType - Fax Bypass RTP dynamic payload type, default 102 ModemBypassPayloadType - Modem Bypass RTP dynamic payload type, default 103
Channel Parameters (5) V21ModemTransportType 0 = Transparent, (default) 2 = ModemBypass. V22ModemTransportType 0 = Transparent 2 = ModemBypass, (default). V23ModemTransportType 0 = Transparent 2 = ModemBypass, (default). V32ModemTransportType (For V.32 & V.32bis modems) V34ModemTransportType (For V.34 & V.90 modems)
T.38 FAX parameters – example 1 IsFaxUsed = 1 /* Should be “1” for H323/Annex D or SIP/T38 FaxTransportMode = 1 /* Fax Relay, shall be set automatically if IsFaxUsed=1 (default) DetFaxOnAnswerTone = 0 /* Rx GW will start T38 on V.21 Preamble – (default) ;Optional but recommended FaxRelayEnhancedRedundancyDepth = 4 /* Repetitions of control packets FaxRelayRedundancyDepth = 2 /* Repetitions of T.38 payload packets FaxRelayECMEnable = 1 /* Enable ECM mode FaxRelayMaxRate = 5 (or lower) /* 14.4 kbps (default), 3 for 9,6,…
Trasparent FAX parameters – example 2 IsFaxUsed = 0 /* Don’t use Annex D FaxTransportMode = 0 /* Transparent mode, fax is handled same as voice CoderName = g711Ulaw64k /* G.711 A_law or U_law V21ModemTransportType = 0 /* Transparent V22ModemTransportType = 0 /* Transparent V23ModemTransportType = 0 /* Transparent V32ModemTransportType = 0 /* Transparent V34ModemTransportType = 0 /* Transparent DJBufOptFactor = 13 /* optimized jitter buffer for data SCE = 0 /* No silence suppression ECE = 1 /* Echo canceller enabled
Fax/Modem Bypass Mode – example 3 IsFaxUsed = 0 /* Don’t use T38 H323/SIP procedures FaxTransportMode = 2 /* Bypass mode, fallback to G.711 if fax FaxModemBypassCoderType = 0 /* g711Ulaw64k/A_law default bypass coder FaxBypassPayloadType = 102 /* FAX Bypass dynamic payload type ModemBypassPayloadType = 103 /* Modem Bypass dynamic payload type FaxModemBypassBasicRTPPacketInterval= 3 /* 2 for 10msec, 3 for 20msec V21ModemTransportType = 2 /* Bypass V22ModemTransportType = 2 /* Bypass V23ModemTransportType = 2 /* Bypass V32ModemTransportType = 2 /* Bypass V34ModemTransportType = 2 /* Bypass FaxModemBypassDJBufMinDelay = 40 /* 0-150msec, minimal delay for bypass
Modem Bypass CISCO NSE Mode parameters – example 4 IsFaxUsed = 1 /* Use T38 H323/SIP procedures NSEMode = 1 NSEPayloadType = 100 FaxModemBypassBasicRTPPacketInterval= 2 /* 2 for 10msec, 3 for 20msec ModemRTPBypassPayloadType = 103 /* Modem Bypass dynamic payload type V21ModemTransportType = 2 /* Bypass V22ModemTransportType = 2 /* Bypass V23ModemTransportType = 2 /* Bypass V32ModemTransportType = 2 /* Bypass V34ModemTransportType = 2 /* Bypass;
V.34 Faxes Up to 33,600 bit/s compared to 14400 with T.30 faxes At the start looks exactly same as modem Can’t be transmitted using T.38 relay, unless fallback to T.30 Always works with ECM enabled Answering fax tone is called ANSam (2100hz with amplitude-modulation. The ANSam tone is followed by V.8 signal V.34 capable terminal responds with Call Menu (CM) signal to the detection of ANSam.
Supporting V.34 Faxes V.34 fax machine full rate is available only in Bypass mode , when the channel is configured in one of the configurations described below: 1) FaxTransportMode = 2 (Bypass) VxxModemTransportType = 2 (Modem bypass) In this configuration, both T.30 and V.34 faxes (and all other Modems) work in Bypass mode 2) FaxTransportMode = 1 (Relay) In this configuration, T.30 faxes use Relay mode (T.38) while V.34 Fax uses Bypass mode. In order to use V.34 fax in Relay mode (fallback to T.38), you must configure: FaxTransportMode = 1 (Relay) VxxModemTransportType = 0 (Transparent) This configuration forces the V.34 fax machine to work in T.30 mode.