Audio Codes FAX and Modem Training
Transcript of Audio Codes FAX and Modem Training
1
Fax and Modem Training
May 2004
2
Modem Types
3
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
4
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
5
Fax basic callCNG
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)
6
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
7
Fax T.30 Diagram
PCM In ORG
PCM In ANS
CNG
CED/DIS
DCS/TCF Fax Image P1/MPS Fax Image P2/EOP DCN
CFR MCF MCF
L
R
8
8
T.38 messagesT.38 messages are divided into three groups:
1) 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.
9
T.38 Packets
The following parameters define the T.38 packet redundancy.
a) FaxRelayEnhancedRedundancyDepth = 0 to 4b) 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 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.
10
Annex DReal-time facsimile over H.323
systems
• Annex defines H.323 procedure to transfer T.38 packets.
11
Originating Endpoint
Terminating Endpoint
Established voice call Fax tone is detected
OpenLogicalChannelAck (T.38)
OpenLogicalChannel (T.38)
CloseLogicalChannelAck (audio)
CloseLogicalChannel (audio)
CloseLogicalChannel (audio)
CloseLogicalChannelAck (audio)
RequestModeAck (T.38)
RequestMode (T.38)
OpenLogicalChannel (T.38)
OpenLogicalChannelAck (T.38)
Fax transmission and reception
Replacing an existing audio stream with a T.38 fax stream
12
SIP T.38 Call Flow
13
T.38 REINVITE Message (F11) INVITE sip:[email protected];user=phone SIP/2.0 Via: SIP/2.0/UDP obelix.banyuls.com:5060; branch=z9hG4bK2d008.1 Via: SIP/2.0/UDP iftgw.there.com:5060;branch=z9hG4bK2d017.1 Max-Forwards: 69 Record-Route: <sip:[email protected]; maddr=obelix.banyuls.com> From: sip:[email protected];user=phone;tag=ab11 To: sip:[email protected];user=phone;tag=cde17 Call-ID: [email protected] CSeq: 18 INVITE Contact: <sip:[email protected]> Content-Type: application/sdp Content-Length: 320 v=0 o=faxgw1 2890844527 171090 IN IP4 iftgw.there.com s=Session SDP c=IN IP4 iftmg.there.com t=0 0 m=image 49172 udptl t38 a=T38FaxVersion:0 a=T38MaxBitRate:9600 a=T38FaxRateManagement:transferredTCF a=T38FaxMaxBuffer:72 a=T38FaxMaxDatagram:316 a=T38FaxUdpEC:t38UDPFEC a=T38FaxUdpEC:t38UDPRedundancy
14
SIP 200OK to T38 REINVITE (F14)
SIP/2.0 200 OK Via: SIP/2.0/UDP obelix.banyuls.com:5060; branch=z9hG4bK2d008.1 Via: SIP/2.0/UDP iftgw.there.com:5060;branch=z9hG4bK2d017.1 From: sip:[email protected];user=phone;tag=ab11 To: sip:[email protected];user=phone;tag=cde17 Call-ID: [email protected] CSeq: 18 INVITE Contact: <sip:[email protected]> Content-Type: application/sdp Content-Length: 320 o=faxgw1 2890846527 2890846528 IN IP4 ift.here.com s=Session SDP c=IN IP4 iftmg.here.com t=0 0 m=image 15002 udptl t38 a=T38FaxVersion:0 a=T38MaxBitRate:9600 a=T38FaxRateManagement:transferredTCF a=T38FaxMaxBuffer:72 a=T38FaxMaxDatagram:316 a=T38FaxUdpEC:t38UDPRedundancy
15
• IsFaxUsed0 - No1 - Fax is send/received using SIP or H323 Annex D. T38 procedure
• DetFaxOnAnswerTone0 - 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)
• CNGDetectorMode0 – don’t use (default)2 - T.38 will start after CNG detection (applicable only for SIP and not recommended)
H323/SIP FAX Configuration Parameters
16
Channel Parameters (1) • DJBufMinDelay
0 to 150 msec (default = 70)Dynamic Jitter Buffer Minimum Delay.
• DJBufOptFactor0 to 13 (default = 7)Dynamic jitter buffer frame error/delay optimization.
13 is used for fax and modem calls
• FaxTransportMode Sets the Fax transport0 = disable (transparent mode)1 = relay, (default, to be used for T.38)2 = bypass.
17
• FaxRelayEnhancedRedundancyDepth0 to 4 (default =0)Number of repetitions to be applied to each fax control packet
• FaxRelayRedundancyDepth0 to 2 (default =0)Number of repetitions to be applied to each fax relay payload when transmitting to network
• FaxRelayMaxRateLimits the maximum rate at which fax messages are transmitted.0 = 2.4 kbps1 = 4.8 kbps2 = 7.2 kbps3 = 9.6 kbps4 = 12.0 kbps5 = 14.4 kbps, (default)
• FaxRelayECMEnable0 = Disable using ECM mode during Fax Relay 1 = Enable using ECM mode during Fax Relay. (default)
Channel Parameters (2)
18
• FaxModemBypassBasicRTPPacketInterval0 – set internally, default (20msec)1 – 5msec (not recommended)2 – 10msec3 – 20msec
• FaxModemBypassDJBufMinDelay0 to 150 msec (default 40msec)Jitter Buffer during Modem/Fax bypass ,
• NSEModeCisco compatible modem bypass mode0 = NSE Disabled (default)1 = NSE EnabledNote: 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 (3)
19
• 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_3211 = 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 (4)
20
• V21ModemTransportType0 = Transparent, (default) 2 = ModemBypass.
• V22ModemTransportType0 = Transparent2 = ModemBypass, (default).
• V23ModemTransportType0 = Transparent 2 = ModemBypass, (default).
• V32ModemTransportType (For V.32 & V.32bis modems)0 = Transparent 2 = ModemBypass, (default).
• V34ModemTransportType (For V.34 & V.90 modems)0 = Transparent 2 = ModemBypass, (default).
Channel Parameters (5)
21
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,…
22
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
23
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
24
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;
25
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.
26
Supporting V.34 FaxesV.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) VxxModemTransportType = 2 (Modem bypass) 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.