Faxing Tips and Tricks

⌘K
  1. Home
  2. Programmable Voice
  3. Faxing
  4. Faxing Tips and Tricks

Faxing Tips and Tricks

The following information is helpful when using the powerful fax engine within your Voice Elements application.
 

Voice Elements Fax Modes

When using fax, you are able to select between two modes: Normal and T.38.

Normal Fax Mode

In Normal mode, the fax information is sent or received using tones sent within in the audio stream. This mode is recommended only for networks that are managed by the user (such as within a local lan). Normal mode is extremely susceptible to packet loss. As the audio stream is packetized, losing a few packets can wreck havoc on a fax transmission.

T.38 Fax Mode

In T.38 mode, the facsimile data is transported in a more reliable way that was designed to account for some limited packet loss. Some packets are sent redundantly. Recovery from packet loss is also more reliable. When using fax over the internet, T.38 is the preferred mode of transmission.
 

Selecting a Fax Mode

To select the mode use the following code:

     
FaxResource fr = m_ChannelResource.GetFaxResource();
Log.WriteWithId(m_ChannelResource.DeviceName, "Fax Resource: {0}", fr.DeviceName);

fr.FaxMode = FaxMode.Normal;
//or
//fr.FaxMode = FaxMode.T38;

 

Specifying the Called Subscriber Identification (CSID)

The called subscriber identification is a string of information received from the far side’s fax machine. It typically has the phone number of the receiving fax machine and perhaps a username. It is limited to 20 bytes of data.

To view the CSID use the following:

     
FaxResource fr = m_ChannelResource.GetFaxResource();
Log.WriteWithId(m_ChannelResource.DeviceName, "Fax Resource: {0}", fr.DeviceName);

// Code to receive or send a fax here...  (omitted for brevity)

Log.WriteWithId(m_ChannelResource.DeviceName, "Far side CSID: {0}", fr.CalledSubscriberId);

 

Specifying the Transmitting Subscriber Identification (TSID)

The transmitting subscriber identification is a string of information sent to the far side’s fax machine. It typically has the phone number of the your fax machine and perhaps a username. It is limited to 20 bytes of data.

Be aware that many areas require that you specify a TSID. It is your responsibility to know and follow all applicable laws in your locale and/or country.

To set the TSID use the following:

     
FaxResource fr = m_ChannelResource.GetFaxResource();
Log.WriteWithId(m_ChannelResource.DeviceName, "Fax Resource: {0}", fr.DeviceName);
fr.TransmittingSubscriberId = "800-555-1212"

// Code to receive or send a fax here...  (omitted for brevity)

 

Specifying Page Header Information

In addition to the CSID and TSID that are printed at the top of the page of each fax, you can optionally specify a header to be included. It is limited to 50 bytes of data. You may also leave this blank, or null.

To set the page header use the following:

     
FaxResource fr = m_ChannelResource.GetFaxResource();
Log.WriteWithId(m_ChannelResource.DeviceName, "Fax Resource: {0}", fr.DeviceName);
fr.HeaderText= "My Company Info Here"

// Code to send a fax here...  (omitted for brevity)

 

Suppressing the Page Header

All page header information may be suppressed by passing the value “<NOHEADER>” as the header text. For example, the following code snippet will suppress the usage of any header information along the top of the faxed document:

     
FaxResource fr = m_ChannelResource.GetFaxResource();
Log.WriteWithId(m_ChannelResource.DeviceName, "Fax Resource: {0}", fr.DeviceName
fr.HeaderText= "<NOHEADER>"

// Code to send a fax here...  (omitted for brevity)

 

Using Fax with Inventive Labs’ Server Banks

When using one of our server banks, we recommend that you always use T.38 for increased reliability.

All of our server banks have access to multiple carriers. Some of those carriers, however, do not support T.38. To properly use T.38 on a server bank, you must add a special header to the call setup information to tell the server bank that you require a T.38 carrier. When doing so, the server bank will not attempt to place the call on any of the carriers that do not support T.38.

To inform our server bank of your T.38 request, use the following:

     
FaxResource fr = m_ChannelResource.GetFaxResource();
Log.WriteWithId(m_ChannelResource.DeviceName, "Fax Resource: {0}", fr.DeviceName);
fr.TransmittingSubscriberId= "800-555-1212"
fr.HeaderText= "My Company Info Here"

// Prepare to Dial...

SipChannel sc = m_ChannelResource as SipChannel;
sc.OutgoingSipHeaders = new string[] { "IBC-T38FaxCarrier: True" };

// Code to Dial out here...  (omitted for brevity)

// Code to send a fax here...  (omitted for brevity)

 

For more information, see:

 

Voice Elements Developer Help

Voice Elements Demo

Was this article helpful to you? No Yes 4

How can we help?