T.37 (Store-and-Forward) is an ITU standard which deals with sending and receiving fax messages using an email. It defines the basic communication procedures between the voice gateway and both the PSTN fax and mail server used in a T.37 call flow. Additionally they cover the formatting rules and encoding methods (MIME and TIFF) used in the fax/email conversion process for T.37. The T.30 specification defines the communication protocol between the T.37 voice gateway and the PSTN fax machine. Communication between the T.37 voice gateway and the mail server occurs via SMTP. MIME supplements SMTP by removing many of the formatting restrictions imposed by RFC 822 and provides attributes that describe how the fax images are encoded within the email so that the destination device can easily decode them.
Cisco's implementation of T.37 supports a very small subset of the possible content types and encodings supported by MIME. For example, a Cisco T.37 gateway can only process emails with plain text or enriched text in the body of the email. Additionally, it only handles fax pages that are graphically encoded as TIFF-F as an attachment to the email.
T.37 has two modes of operation:
T.37 Store-and-Forward Call Flow
With the On-ramp process, a voice gateway handles incoming calls from the standard fax machine or the PSTN and converts a traditional Group 3 fax to an e-mail message with a Tagged Image File Format (TIFF) attachment. The fax e-mail message and attachment are handled by an e-mail server while traversing the packet network. When acting as the On-ramp gateway, the Cisco gateway receives faxes from end users, converts them into TIFF files, creates standard MIME e-mail messages, attaches the TIFF files to the e-mail messages, and forwards the fax-mail messages to the designated SMTP server for storage. The gateway uses the sending MTA and dial peers to complete these tasks. The sending MTA, which is the Cisco gateway, defines delivery parameters associated with the e-mail message to which the fax TIFF file is attached. The delivery parameters include defining a return e-mail path or designating a destination mail server.
! Enable T.37 function on the gateway fax interface-type fax-mail
controller T1 x/y/z
clock source line primary
pri-group timeslots 1-24 voice-port x/y/z:23
! Define the onramp script to be utilized by the POTS dial peer application
service onramp flash:app_faxmail_onramp.126.96.36.199.tcl
! Link the onramp POTS dial peer to the script defined in the application submenu.
! Ensure that this OnRamp POTS dial-peer matches the correct incoming number dial-peer voice <tag_1> pots
incoming called-number 5556667777
dial-peer voice <tag_2> mmoip
! Define the IOS-bundled onramp script for the MMoIP dial peer. service fax_on_vfc_onramp_app out-bound
! Specify that this MMoIP dial peer handles fax information-type fax
! Indicate the email address of where the fax email should be sent (“To:” field) session target mailto:
! Request that an MDN message be sent back when the destination mail client has
! opened the fax message
! Request that DSN messages be sent dsn delayed
! Define the value to be used in the CSI message sent to the originating fax machine. ! Wildcard that specifies that the information displayed is captured from the configured
! destination pattern. fax receive called-subscriber $d$
! Specify the destination email server that will receive the OnRamp fax email mta send server 10.1.1.1 port 25
! Specify text that will appear in the “Subject:” field of the email header mta send subject Incoming PSTN Fax for 5556667777
! Indicate the filename that will be used for the fax image attached to the email mta send filename pstn_fax
! Insert a user comment to the email prefix header for additional identifying information mta send origin-prefix This is an incoming fax message from the PSTN
! Define the postmaster mail account for the onramp gateway mta send postmaster
! Specifies the hostname and username for the originator (“From:” field of email header. mta send mail-from hostname cisco.com
mta send mail-from username FAXES
! Specify the hostname and username for where MDNs should be sent. mta send return-receipt-to hostname cisco.com
mta send return-receipt-to username myaccount
In this the originating PSTN fax machine dials (555) 666-7777 to reach the onramp gateway.
The call arrives on voice port x/y/z:23 and matches the inbound POTS dial peer <tag_1>, which is configured with the appropriate onramp TCL script.
On the outbound side the MMoIP dial peer <tag_2> is matched which directs the gateway to send the fax transmission as an email.
This working onramp configuration contains all of the required T.37 onramp commands as well as some of the optional ones that are commonly seen.
Note that this onramp configuration can be combined with an offramp configuration in order to create a single gateway that supports both onramp and offramp functionality.
With the Off-ramp process, a voice gateway handles calls going out from the network to fax machine or the PSTN and converts a fax e-mail with TIFF attachment into a traditional fax format that can be delivered to a standard fax machine or the PSTN. Off-ramp faxing requires that the Cisco gateway act as an Off-ramp gateway to dial the POTS and communicate with a remote fax machine (Group 3 fax device), using standard fax protocols.
The Off-ramp gateway provides the following functionality:
! Define the TSI value to be sent by the offramp gateway to the termainting fax machine.
fax send transmitting-subscriber $s$
! Specify the left fax header to display the sender’s address, the center header to
! display the transmission time and the right header to display the page number.
fax send left-header $s$
fax send center-header $t$
fax send right-header $p$
! Specify that a fax cover page be included with offramp fax transmissions.
fax send coverpage enable
! Include email header information on the fax cover sheet.
fax send coverpage show-detail
! Specify a comment to be included on fax cover pages.
fax send coverpage comment OffRamp Fax From XYZ Corporation
! Enable T.37 faxing on the voice gateway.
fax interface-type fax-mail
! Specify the mail server where DSN messages are sent.
mta send server 10.1.1.1 port 25
! Define additional hostnames to be used as an alias for this offramp gateway.
mta receive aliases 188.8.131.52
mta receive aliases offramp.cisco.com
! Specify the number of simultaneous SMTP connections for the offramp gateway.
mta receive maximum-recipients 100
! Enable MDN response on the offramp gateway.
mta receive generate mdn
! Specify the location of the offramp TCL script.
! This script is referenced by the offramp MMoIP dial peer.
service offramp flash:app_faxmail_offramp.184.108.40.206.tcl
! Configure the offramp outbound POTS dial peer.
dial-peer voice <tag_3> pots
! Configure the inbound offramp MMoIP dial peer.
dial-peer voice <tag_4> mmoip
! Link this MMoIP dial peer to the TCL offramp script defined under the application submenu
! Specify that this MMoIP dial peer handles fax
incoming called-number 4695550000
! Specify the optional use of MH image encoding.
image encoding MH
! Specify the optional image resolution of super fine.
image resolution super-fine