The documentation set for this product strives to use bias-free language. For the purposes of this documentation set, bias-free is defined as language that does not imply discrimination based on age, disability, gender, racial identity, ethnic identity, sexual orientation, socioeconomic status, and intersectionality. Exceptions may be present in the documentation due to language that is hardcoded in the user interfaces of the product software, language used based on RFP documentation, or language that is used by a referenced third-party product. Learn more about how Cisco is using Inclusive Language.
This document describes how Fax over IP (FoIP) operates in Cisco Unified Border Element (CUBE) call flows with IP Service Providers.
Cisco recommends that you have knowledge of these topics:
The information in this document is based on these software and hardware versions: Cisco IOS® Releases 12.4T, 15.0M, 15.0T, 15.1M, 15.1T, 15.2M, 15.2T, 15.3T on Cisco Integrated Services Routers (ISR) Series 2800, 3800, 2900, 3900, 3900e or the Cisco AS5400XM Universal Gateway
Note: This configuration example is not limited to the software versions and hardware platforms listed here.
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.
FoIP with CUBE operates in a multitude of environments and is implemented in order to leverage current VoIP networks for reliable fax services. There are multiple fax protocols that CUBE supports along with a multitude of switchover mechanisms. However, in the context of IP service providers, you must adhere to fax protocols and switchover methods that are supported by vendors outside of Cisco.
In FoIP call flows, CUBE is between the Terminating Gateway (TGW) and the Originating Gateway (OGW). From a signaling perspective, the CUBE configuration either permits, or denies, the switchover from a voice call to a fax call. Due to the fact that FoIP protocols are negotiated end-to-end in a VoIP environment, it is essential that everything from the OGW to the TGW are configured in order to use the same FoIP protocol.
It is important to know what FoIP flows are supported and what configuration is necessary on CUBE, as well as the TGWs and OGWs, in order to ensure reliable fax communication.
Due to the fact that IP Service Providers typically have a mixed environment of Cisco and non-Cisco equipment, it is essential that you use an industry-standard method in order to switch from a voice call to a fax call. This means that the Named Signaling Event (NSE) cannot be used, since NSEs are Cisco-proprietary. There are exceptions to this rule, but they are extremely infrequent.
Note: The inability to use a protocol-based switchover means that Skinny Call Control Protocol (SCCP) is only used in fax call flows to IP Service Providers with G711ulaw and is a "best effort."
This document discusses two FoIP transport methods, Fax Pass-Through and T.38 Fax Relay.
Fax Pass-Through is a fax transport method where the T30 signals and page data are transported through the IP network as Pulse-Code Modulation (PCM)-encoded data, wrapped in Real-time Transport Protocol (RTP) frames.
The Fax Pass-Through switchover is triggered by the detection of the V.21 Preamble on the TGW. The resultant INVITE (for SIP) or Request Mode (for H323) is sent through the CUBE and the rest of the call signaling path to the OGW.
The Fax Pass-Through switchover switches over from any voice codec to the codec defined under the Fax Pass-Through configuration (this process is outlined later in this document).
Note: An MGCP gateway cannot be configured in order to initiate upspeed to G.711 for Fax Pass-Through. Therefore, any fax that uses pass-through on the CUBE that terminates to an MGCP gateway must be routed with G.711 codec.
Note: Fax Pass-Through should not be configured with H.323 if the initial codec is G.711. This causes a H.245 request mode to be sent to switch to G.711 when G.711 is already negotiated. CUCM responds with a H.245 request mode rejection.
Fax Relay is a fax transport method where the TGWs and OGWs detect the T30 signals and page data. The gateways take those signals and convert them into relay messages, which are digital representations of the analog signals. Those relay messages are then sent through the IP network.
The T.38 Fax Relay switchover is also triggered by the detection of the V.21 preamble on the TGW.
Debug examples are in the Troubleshoot section of this document.
CUBE can be configured for FoIP in two places: globally under voice service voip as well as under the dial-peer. Configuration at the dial-peer matched for a given call always takes precedence over the global configuration. Configuration for T.38 and Fax Pass-Through can be configured at the same time if under different dial-peers, so that both protocols are simultaneously supported.
In order to configure Fax Pass-Through under voice service voip, use this command (in bold):
voice service voip
no ip address trusted authenticate
allow-connections h323 to h323
allow-connections h323 to sip
allow-connections sip to h323
allow-connections sip to sip
fax protocol pass-through g711ulaw
In order to configure Fax Pass-Through at the dial-peer, use this command (in bold):
dial-peer voice 1 voip
description T38 Test
destination-pattern ^1000$
session protocol sipv2
session target ipv4:192.168.0.1
dtmf-relay rtp-nte
fax protocol pass-through g711ulaw
no vad
Note: Fax Pass-through is not the same as Fax Passthrough. Fax Passthrough leverages Cisco Network Services Engines (NSEs) in order to switch over from a voice call to a fax call.
Note: T.38 Version 3 (Super G3 fax speeds) is supported in Cisco IOS Versions 15.1(1)T and later.
In order to configure T.38 Version 0 (G3 fax speed) under voice service voip, use this command (in bold):
voice service voip
no ip address trusted authenticate
allow-connections h323 to h323
allow-connections h323 to sip
allow-connections sip to h323
allow-connections sip to sip
fax protocol t38 version 0 ls-redundancy 0 hs-redundancy 0 fallback none
In order to configure T.38 at the dial-peer, use this command (in bold):
dial-peer voice 1 voip
description T38 Test
destination-pattern ^1000$
session protocol sipv2
session target ipv4:192.168.0.1
dtmf-relay rtp-nte
fax protocol t38 version 0 ls-redundancy 0 hs-redundancy 0 fallback none
no vad
In order to configure T.38 Version 3, either under voice service VoIP or at the dial-peer, use this command:
fax protocol t38 version 3 ls-redundancy 0 hs-redundancy 0 fallback none
If a Media Transfer Protocol (MTP) is used when interworking through a CUBE, it must support codec passthrough. Cisco Unified Communications Manager (CUCM) MTP supports codec passthrough for Version 8.6.1 and later. Cisco IOS MTP must have codec pass-through in the Digital Signal Processor (DSP) Farm configuration:
dspfarm profile 2 mtp
codec pass-through
codec g729r8
maximum sessions software 50
associate application SCCP
For an SCCP controlled TDM gateway, this configuration is used for Fax Pass-Through.
voice service voip
no modem passthrough
fax protocol none
no fax-relay sg3-to-g3
Note: The codec in the regions setting for this interworking must be G.711. As noted previously, an SCCP gateway cannot be set to use T.38 when interworking with CUBE.
In order to configure Fax Pass-Through for SIP and H.323 TDM gateways interworking with CUBE, enter:
voice service voip
no modem passthrough
no fax-relay sg3-to-g3
fax protocol pass-through g711ulaw
In order to configure T.38 for SIP and H.323 TDM gateways interworking with CUBE, enter:
voice service voip
no modem passthrough
fax protocol t38 version 0 ls-redundancy 0 hs-redundancy 0 fallback none
Note: T.38 Version 3 can be used if it is configured on the CUBE and is supported by the SIP service provider.
In order to configure an MGCP TDM gateway for Fax Pass-Through inteworking with CUBE, enter:
no mgcp fax-relay sg3-to-g3
no mgcp package fxr-package
mgcp fax t38 inhibit
no mgcp modem passthrough voip mode nse
Note: Since a MGCP gateway does not support upspeeding for Fax Pass-Through, the regions in CUCM between the MGCP gateway and the CUBE must have a codec of G.711.
There is currently no verification procedure available for this configuration.
In order to troubleshoot this issue on CUBE, these debugs must be enabled.
Enable these debugs for SIP:
debug voip ccapi inout
debug ccsip mess
After the voice call is set up, the TGW sends a SIP ReINVITE to the OGW through CUBE. If the switchover is successful, the OGW responds with a SIP 200 OK with the correct Session Description Protocol (SDP) parameters.
INVITE sip:2101@10.0.0.1:5060 SIP/2.0
Via: SIP/2.0/UDP 10.0.0.2:5060;branch=z9hG4bK171D71
Remote-Party-ID: <sip:1101@10.0.0.2>;party=calling;screen=no;privacy=off
From: <sip:8141101@10.0.0.2>;tag=8D815D8-646
To: <sip:2101@10.0.0.1>;tag=DD4D344-21B2
Date: Fri, 25 Feb 2011 19:25:15 GMT
Call-ID: 32395B08-403E11E0-818C9D5B-499FBE40@10.0.0.1
Supported: 100rel,timer,resource-priority,replaces,sdp-anat
Min-SE: 1800
Cisco-Guid: 786980147-1077809632-2173148507-1235205696
User-Agent: Cisco-SIPGateway/IOS-12.x
Allow: INVITE, OPTIONS, BYE, CANCEL, ACK, PRACK, UPDATE, REFER, SUBSCRIBE,
NOTIFY, INFO, REGISTER
CSeq: 101 INVITE
Max-Forwards: 70
Timestamp: 1298661915
Contact: <sip:8141101@10.0.0.2:5060>
Expires: 180
Allow-Events: telephone-event
Content-Type: application/sdp
Content-Length: 384
v=0
o=CiscoSystemsSIP-GW-UserAgent 3745 9509 IN IP4 10.0.0.2
s=SIP Call
c=IN IP4 10.0.0.2
t=0 0
m=image 17682 udptl t38
c=IN IP4 10.0.0.2
a=T38FaxVersion:0
a=T38MaxBitRate:7200
a=T38FaxFillBitRemoval:0
a=T38FaxTranscodingMMR:0
a=T38FaxTranscodingJBIG:0
a=T38FaxRateManagement:transferredTCF
a=T38FaxMaxBuffer:200
a=T38FaxMaxDatagram:180
a=T38FaxUdpEC:t38UDPRedundancy
!!NOTE!! Not all of the above bolded fields are required.
The above is an example of how Cisco implements T38.
SIP/2.0 100 Trying
Via: SIP/2.0/UDP 10.0.0.2:5060;branch=z9hG4bK171D71
From: <sip:8141101@10.0.0.2>;tag=8D815D8-646
To: <sip:2101@10.0.0.1>;tag=DD4D344-21B2
Date: Fri, 25 Feb 2011 17:48:05 GMT
Call-ID: 32395B08-403E11E0-818C9D5B-499FBE40@10.0.0.1
CSeq: 101 INVITE
Allow-Events: telephone-event
Server: Cisco-SIPGateway/IOS-12.x
Content-Length: 0
176443: Feb 25 17:48:05.360:
//134/2EE85D338187/SIP/Msg/ccsipDisplayMsg:
Sent:
SIP/2.0 200 OK
Via: SIP/2.0/UDP 10.0.0.2:5060;branch=z9hG4bK171D71
From: <sip:8141101@10.0.0.2>;tag=8D815D8-646
To: <sip:2101@10.0.0.1>;tag=DD4D344-21B2
Date: Fri, 25 Feb 2011 17:48:05 GMT
Call-ID: 32395B08-403E11E0-818C9D5B-499FBE40@10.0.0.1
CSeq: 101 INVITE
Allow: INVITE, OPTIONS, BYE, CANCEL, ACK, PRACK, UPDATE, REFER, SUBSCRIBE,
NOTIFY, INFO, REGISTER
Allow-Events: telephone-event
Remote-Party-ID: <sip:2101@10.0.0.1>
;party=called;screen=no;privacy=off
Contact: <sip:2101@10.0.0.1:5060>
Supported: replaces
Supported: sdp-anat
Server: Cisco-SIPGateway/IOS-12.x
Supported: timer
Content-Type: application/sdp
Content-Length: 384
v=0
o=CiscoSystemsSIP-GW-UserAgent 5552 9399 IN IP4 10.0.0.1
s=SIP Call
c=IN IP4 10.0.0.1
t=0 0
m=image 16710 udptl t38
c=IN IP4 10.0.0.1
a=T38FaxVersion:0
a=T38MaxBitRate:7200
a=T38FaxFillBitRemoval:0
a=T38FaxTranscodingMMR:0
a=T38FaxTranscodingJBIG:0
a=T38FaxRateManagement:transferredTCF
a=T38FaxMaxBuffer:200
a=T38FaxMaxDatagram:320
a=T38FaxUdpEC:t38UDPRedundancy
ACK sip:2101@10.0.0.1:5060 SIP/2.0
Via: SIP/2.0/UDP 10.0.0.2:5060;branch=z9hG4bK181B79
From: <sip:8141101@10.0.0.2>;tag=8D815D8-646
To: <sip:2101@10.0.0.1>;tag=DD4D344-21B2
Date: Fri, 25 Feb 2011 19:25:15 GMT
Call-ID: 32395B08-403E11E0-818C9D5B-499FBE40@10.0.0.1
Max-Forwards: 70
CSeq: 101 ACK
Allow-Events: telephone-event
Content-Length: 0
INVITE sip:2101@10.0.0.1:5060 SIP/2.0
Via: SIP/2.0/UDP 10.0.0.2:5060;branch=z9hG4bK154F2
Remote-Party-ID: <sip:1101@10.0.0.2>;party=calling;screen=no;privacy=off
From: <sip:8131101@10.0.0.2>;tag=8D66B94-7BF
To: <sip:2101@10.0.0.1>;tag=DD32900-5D4
Date: Fri, 25 Feb 2011 19:23:25 GMT
Call-ID: F12F0BBB-403D11E0-81869D5B-499FBE40@10.0.0.1
Supported: 100rel,timer,resource-priority,replaces,sdp-anat
Min-SE: 1800
Cisco-Guid: 3990792353-1077744096-2172755291-1235205696
User-Agent: Cisco-SIPGateway/IOS-12.x
Allow: INVITE, OPTIONS, BYE, CANCEL, ACK, PRACK, UPDATE, REFER, SUBSCRIBE,
NOTIFY, INFO, REGISTER
CSeq: 101 INVITE
Max-Forwards: 70
Timestamp: 1298661805
Contact: <sip:8131101@10.0.0.2:5060>
Expires: 180
Allow-Events: telephone-event
Content-Type: application/sdp
Content-Length: 174
v=0
o=CiscoSystemsSIP-GW-UserAgent 107 1892 IN IP4 10.0.0.2
s=SIP Call
c=IN IP4 10.0.0.2
t=0 0
m=audio 16464 RTP/AVP 0
a=rtpmap:0 PCMU/8000
a=silenceSupp:off - - - -
SIP/2.0 100 Trying
Via: SIP/2.0/UDP 10.0.0.2:5060;branch=z9hG4bK154F2
From: <sip:8131101@10.0.0.2>;tag=8D66B94-7BF
To: <sip:2101@10.0.0.1>;tag=DD32900-5D4
Date: Fri, 25 Feb 2011 17:46:16 GMT
Call-ID: F12F0BBB-403D11E0-81869D5B-499FBE40@10.0.0.1
CSeq: 101 INVITE
Allow-Events: telephone-event
Server: Cisco-SIPGateway/IOS-12.x
Content-Length: 0
SIP/2.0 200 OK
Via: SIP/2.0/UDP 10.0.0.2:5060;branch=z9hG4bK154F2
From: <sip:8131101@10.0.0.2>;tag=8D66B94-7BF
To: <sip:2101@10.0.0.1>;tag=DD32900-5D4
Date: Fri, 25 Feb 2011 17:46:16 GMT
Call-ID: F12F0BBB-403D11E0-81869D5B-499FBE40@10.0.0.1
CSeq: 101 INVITE
Allow: INVITE, OPTIONS, BYE, CANCEL, ACK, PRACK, UPDATE, REFER, SUBSCRIBE,
NOTIFY, INFO, REGISTER
Allow-Events: telephone-event
Remote-Party-ID: <sip:2101@10.0.0.1>;party=called;screen=no;privacy=off
Contact: <sip:2101@10.0.0.1:5060>
Supported: replaces
Supported: sdp-anat
Server: Cisco-SIPGateway/IOS-12.x
Supported: timer
Content-Type: application/sdp
Content-Length: 194
v=0
o=CiscoSystemsSIP-GW-UserAgent 4896 2709 IN IP4 10.0.0.1
s=SIP Call
c=IN IP4 10.0.0.1
t=0 0
m=audio 19054 RTP/AVP 0
c=IN IP4 10.0.0.1
a=rtpmap:0 PCMU/8000
a=silenceSupp:off - - - -
ACK sip:2101@10.0.0.1:5060 SIP/2.0
Via: SIP/2.0/UDP 10.0.0.2:5060;branch=z9hG4bK16A56
From: <sip:8131101@10.0.0.2>;tag=8D66B94-7BF
To: <sip:2101@10.0.0.1>;tag=DD32900-5D4
Date: Fri, 25 Feb 2011 19:23:25 GMT
Call-ID: F12F0BBB-403D11E0-81869D5B-499FBE40@10.0.0.1
Max-Forwards: 70
CSeq: 101 ACK
Allow-Events: telephone-event
Content-Length: 0
Enable these debugs for H323:
debug voip ccapi inout
debug cch323 all
debug h225 asn1
debug h245 asn1
After the voice call is set up, the TGW sends a H245 RequestMode to the OGW through CUBE. If the switchover is successful, the OGW responds with a RequestModeAck.
value MultimediaSystemControlMessage ::= request : requestMode :
{
sequenceNumber 1
requestedModes
{
{
{
type dataMode :
{
application t38fax :
{
t38FaxProtocol udp : NULL
t38FaxProfile
{
fillBitRemoval FALSE
transcodingJBIG FALSE
transcodingMMR FALSE
version 0
t38FaxRateManagement transferredTCF : NULL
t38FaxUdpOptions
{
t38FaxMaxBuffer 200
t38FaxMaxDatagram 72
t38FaxUdpEC t38UDPRedundancy : NULL
}
}
}
bitRate 144
}
}
}
}
}
001378: May 31 20:56:19.745: H245 MSC OUTGOING PDU ::=
value MultimediaSystemControlMessage ::= response :
requestModeAck :
{
sequenceNumber 1
response willTransmitMostPreferredMode : NULL
}
value MultimediaSystemControlMessage ::= request : requestMode :
{
sequenceNumber 1
requestedModes
{
{
{
type audioMode : g711Ulaw64k : NULL
}
}
}
}
value MultimediaSystemControlMessage ::= response :
requestModeAck :
{
sequenceNumber 1
response willTransmitMostPreferredMode : NULL
}
If you encounter this problem, complete these steps:
If you encounter this problem, complete these steps: