In this section:
The SBC Core supports Fax over IP (FoIP) between packet networks. FoIP allows the two T.30 end-point fax terminals to establish a fax call, and transmit/receive fax images without knowing the call was actually traversing an IP network. A typical example of a network deployment involving IP networks for fax calls is shown in figure below:
Fax Terminals Across IP Networks
A fax call starts with a voice call. In case of a transcoding voice call:
The SBC can detect ANS/CED tone, and depending on the configuration and the capabilities of the SBC, the SBC can switch to G.711 on one or both legs of the call.
The SBC Core supports fax interworking as described in the table below:
Legend: | |
---|---|
supported | |
not supported |
Fax Interworking
Protocols | SBC 5000/7000 Series | SBC SWe |
---|---|---|
Fallback to G.711 | ||
T.38 Passthrough (V0 or V3) | ||
G.711 – T.38 (V0) | ||
G.711 – T.38 (V3) | ||
T.38 (V0) – T.38 (V0)* | ||
T.38 (V3) – T.38 (V3)* | ||
T.38 (V0) – T.38 (V3) |
After a packet-to-packet call is established as audio, the SBC Core detects modem and fax tones using the DSP resources. When a modem or fax tone is detected, the SBC transitions each call leg to G.711 or fax protocol, such as T.38 Fax Relay, as determined by the signal (2100 Hz phase reversing signal for a modem tone; 2100 Hz non phase reversing signal or V.21 preamble for a T.30 fax tone) and the applicable Packet Service Profile. The SBC also inhibits both silence suppression (if enabled) and any reduction in jitter/playout delay.
If the initial call is a G.711 call, when the SBC receives a RE-INVITE with SDP containing G.711 and "doNotIncludeSsAttributeInReInvite
" flag is enabled, the SBC treats the re-invite as a Fax transition request.
The SBC supports fax and modem tone detection (CED, ANSam, and Fax v.21 preamble) on the G.711 leg of a transcoded call. For transcoded G.711 to G.711 calls, the SBC supports fax and modem tone detection on both the legs.
Fax Tone Detection with DSP Resources
The SBC supports the honorToneDetection
flag to the fax
and modem
parameters in the media codecEntry
configuration for G.711 to appropriately handle fax and modem tones.
fax
toneTreatment
configuration is either faxRelayOrFallbackToG711
or fallbackToG711
and the honorToneDetection
flag is enabled. If the fax
toneTreatment
configuration is either faxRelayOrFallbackToG711
or fallbackToG711
and the honorToneDetection
flag is disabled, the SBC ignores the fax tone. modem
toneTreatment
configuration is fallbackToG711
and the honorToneDetection
flag is enabled. If the modem
toneTreatment
configuration is fallbackToG711
and the honorToneDetection
flag is disabled, the SBC ignores the modem tone. The honorToneDetection
default value is disable
. This flag is only displayed for the G.711 codec.
The following table outlines how the SBC handles G.711 to G.711 transcoded calls when the honorToneDetection
flag is either enabled or disabled.
G.711 to G.711 Transcoded Calls with honorToneDetection Flag
Tone Treatment | Tone Treatment Configuration | honorToneDetection Configuration on the G.711 codec | Result |
---|---|---|---|
fax toneTreatment | faxRelayOrFallbackToG711 | fax honorToneDetection flag is enabled | The SBC initiates a fax re-invite with the T.38 codec towards the ingress peer when the CED fax tone is received from the egress peer. |
fax toneTreatment | faxRelayOrFallbackToG711 | fax honorToneDetection flag is disabled | The SBC does not transition to fax. |
fax toneTreatment | fallbackToG711 | fax honorToneDetection flag is enabled | The SBC initiates a fax re-invite with the G.711 codec and the a=silenceSupp:off parameter towards the ingress peer when the CED fax tone is received from the egress peer. |
fax toneTreatment | fallbackToG711 | fax honorToneDetection flag is disabled | The SBC does not transition to fax. |
modem toneTreatment | fallbackToG711 | modem honorToneDetection flag is enabled | The SBC initiates a re-invite with the G.711 codec and the |
modem toneTreatment | fallbackToG711 | modem honorToneDetection flag is disabled | The SBC ignores the modem tone detection and does not initiate a re-invite upon modem tone detection. |
T.38 protocol Version 0 supports relay of Group 3 fax. T.38 protocol Version 3 supports V.34 fax relay or Super G3 fax. V.34 fax machines use a start-up procedure as described by ITU-T standard V.8, which is the same used by V.34 data modems.
The SBC Core supports the following V.34 fax relay support features:
Refer to V.8 Signal Analysis Support page for V8 signal analysis DSP resource allotment.
Fax Call Lifetime Using V.34
A V.34 fax call is established between two fax terminals, exchanging T.30/V.8 signals through the SBC as shown in figure below.
Not all of the required signals are shown in this example.
Fax Call Establishment Call Flow Example
Most compressed codecs are unsuitable for fax transmission; the result ranges from poor to unusable based on specific endpoints and network topology. ITU has defined the T.38 protocol for Fax transmittal over IP networks. The SBC supports detecting Fax tones and re-negotiating to T.38, or receiving a re-negotiation to T.38. T.38 is also used with uncompressed codecs such as G.711.
The SBC is configurable to use predefined T.38 maxBitRate values using Packet Service Profile (Refer to Packet Service Profile - CLI or Media Profiles - Packet Service Profile (EMA) for command details).
% set profiles media packetServiceProfile <unique_profile_name> t38 maxBitRate <2.4Kbits_s | 4.8Kbits_s | 9.6Kbits_s | 14.4Kbits_s>
When G711 is selected as the audio codec and fax toneTreatment
is set to faxRelayOrFallbackToG711
, the SBC does not transition to T.38 when fax tone is detected, but responds to T.38 transitions offered by the peer. However, when toneTreatment
is set to faxRelay
, the SBC initiates a transition to T.38 when fax tone is detected even if audio codec is G711. For a complete listing of fax tone behavior refer to Codec Entry - CLI or Media Profiles - Codec Entry (EMA) pages.
The SBC supports T.38 versions 0 and 3. This is configurable using the protocolVersion
configurable in the Packet Service Profile. The CLI syntax is shown below (Refer to Packet Service Profile - CLI for details).
% set profiles media packetServiceProfile <unique_profile_name> t38 protocolVersion <0 | 3>
protocolVersion
is set to "0", the SBC advertises "T38FaxVersion:0" in the outgoing offer SDP. If the SBC receives an offer either without T38FaxVersion or with T38FaxVersion set to any value other than "0", the SBC answers with "T38FaxVersion:0" and configures the DSP channel for T.38 Version 0 operation.protocolVersion
is set to "3", the SBC advertises "T38FaxVersion:3" in the outgoing offer. If the SBC receives an offer either without T38FaxVersion or with T38FaxVersion set to any value other than "3", the SBC answers with "T38FaxVersion:0" and configures the DSP channel for T.38 Version 0 operation. If the received offer is "T38FaxVersion:3", the SBC answers with the same version and configures the DSP channel for T.38 Version 3 operation. This behavior mirrors the design of the answer SDP which contains the same or a lower version number than the offer SDP.Choosing T.38 version 0 or version 3 for a call leg is based on both fax tone treatment and modem tone treatment for that call leg and the associated call leg.
T.38 v0 vs. T.38 v3 Output
T38 v3 |
---|
Support max bit rate up to 33600 bps |
Output: v=0 o=Sonus_UAC 2117318520 1798954445 IN IP4 10.54.172.6 s=SIP Media Capabilities c=IN IP4 10.54.172.6 t=0 0 m=image 1028 udptl t38 a=T38FaxVersion:3 a=T38MaxBitRate:33600 a=T38FaxRateManagement:transferredTCF a=T38FaxMaxBuffer:553 a=T38FaxMaxDatagram:370 a=T38FaxUdpEC:t38UDPRedundancy a=sendrecv |
T.38 v0 |
---|
Supports max bit rate up to 14400 bps |
Output: v=0 o=user1 53655765 2353687637 IN IP4 10.128.254.86 s=- c=IN IP4 10.128.254.86 t=0 0 m=image 5008 udptl t38 a=T38FaxVersion:0 a=T38MaxBitRate:14400 a=T38FaxRateManagement:transferredTCF a=T38FaxMaxBuffer:262 a=T38FaxMaxDatagram:176 a=T38FaxUdpEC:t38UDPRedundancy a=sendrecv |
A call is treated as fax transition request when the re-invite is received with G711 and silence suppression is off, "a=sendrecv" direction attribute includes a valid IP address in "c-line", and the call is not retrieve request.
When a Re-Invite is received with G711 and silence suppression is off, the call is not taken as fax transition request irrespective of silenceSuppTreatment
flag value. All variations for call hold (a=sendonly, a=inactive, a= recvonly, c=0.0.0.0) is supported. The corresponding egress Re-invite has the same direction attribute as received from ingress.
When a re-invite is received with G711 and silence suppression is off as part of retrieve request, the call is not treated as fax transition request, irrespective of silenceSuppTreatment flag value. All the possible ways for call retrieve (a=sendrecv, c=a.b.c.d[valid ip address]) is supported. If the direction attribute is omitted, it is considered as a=sendrecv. The corresponding egress re-invite has the same direction attribute as received from ingress.
(Refer to SIP Trunk Group - Signaling - CLI or SIP Trunk Group - Signaling for command details)
SBC Core supports transitioning a transcoded call back to G.711 in two scenarios using the toneTreatment
parameter. The default value is "none
".
toneTreatment
options. % set profiles media codecEntry <codecentry_name> fax toneTreatment fallbackToG711 % set profiles media codecEntry <codecentry_name> fax toneTreatment fallbackToG711AllowPeerToNegotiateFaxRelay
Refer to Codec Entry - CLI for CLI parameter details.