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:
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 |
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.
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.
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.
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>
When protocolVersion
is set to "0", the SBC advertises "T38FaxVersion:0" in the outgoing offer SDP. If an offer with T38FaxVersion is absent or set to any value other than "0", the SBC answers with "T38FaxVersion:0" and configures the DSP channel for T.38 Version 0 operation.
When protocolVersion
is set to "3", the SBC advertises "T38FaxVersion:3" in the outgoing offer. If an offer with T38FaxVersion is not set to "3" or is absent, theSBC 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.
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.