Recent Changes - Search:

Documents

Download

Building

Support

Wiki Stuff

edit SideBar

FaxSupport

Main.FaxSupport History

Hide minor edits - Show changes to output

Changed lines 1-80 from:
Opal has extensive support for fax. This support can be divided into four areas

!!1. SIP

Opal can send and receive faxes using the T.38 protocol. This has been tested extensively.
It will respond to incoming Re-INVITEs to switch into T.38 mode.
Opal can also send Re-INVITEs to trigger T.38 mode. This can be triggered by the receipt
of an in-band CED tone, the receipt of CED via RFC-2833, or by a timer.

This support requires the availability of the spandsp_util helper program.

!!2. H.323

Opal contains all of the code needed to negotiate T.38 over H.323. However, this code
has not been tested for some time.

!!3. Connecting a fax to the internet.

There are four scenarios here based on the medium being used on the local and remote endpoints.
(:table border=1 cellpadding=5 cellspacing=0:)
(:cell width=20%:)
(:cell width=40%:)T.38
(:cell width=40%:)Audio RTP, e.g. G.711
(:cellnr width=20%:)TIFF File, must be G.3 compatible.
(:cell width=40%:)Supported now by T38EndPoint class & spandsp_util.exe helper application
(:cell width=40%:)Supported now by FaxEndPoint class & spandsp_util.exe helper application
(:cellnr width=20%:)Raw PCM, e.g. via OpalLineEndPoint or OpalLocalEndPoint classes
(:cell width=40%:)Fax codec plug in. While this code works, it needs further work to separate the spandsp
functions from the remainder of the code as they use mutually incompatible licenses.
It is intended that this be done using the same spandsp_util helper application used by T38EndPoint and FaxEndPoint classes.
(:cell width=40%:)Basic OPAL routing and functionality, does not involve anything special
(:tableend:)

!!4. Building from source
Two external source code projects are needed in order to build spandsp_util from source

!!!1. libtiff

libtiff is TIFF handling library and is required provides the ability to load and save fax image files, which are in TIFF format.

On most Linux systems, this library will be preinstalled. If not, it will almost certainly be available to install via yum/yast etc.

A pre-compiled Windows version is available from the following URL:

  http://gnuwin32.sourceforge.net/packages/tiff.htm

Downloading and installing the complete package is recommended.

Don't be tempted to use the Win32 version of libtiff. It won't work

Once installed, add "C:\Program Files\GnuWin32\include" to the Include directory
list, and "C:\Program Files\GnuWin32\lib" to the Library directory list. The path
"C:\Program Files\GnuWin32\bin" must also be added to the PATH environment variable,
else the libtiff DLL files will not be found at runtime.

!!!2. spandsp

Spandsp is a GPL library and suite of programs that implement a faxmodem.

On most Linux systems, this library will be preinstalled. If not, it
can be downloaded from the site below, then compiled and installed as usual.

    http://www.soft-switch.org/downloads/spandsp

You will need to add "C:\Program Files\GnuWin32\include" to the Include directory
list, and "C:\Program Files\GnuWin32\lib" to the Library directory list

Windows users will need to download and compile the library. A link to a suitably modified
version of the library will be included here at a later date.

!!!3. Common problems

If you see errors such as the following:

spandsp_if.cpp(912) : error C2664: 't38_core_rx_ifp_packet' : cannot convert parameter 2 from 'const unsigned char *__w64 ' to 'int'
spandsp_if.cpp(1101) : error C2664: 't38_core_rx_ifp_packet' : cannot convert parameter 2 from 'const unsigned char *__w64 ' to 'int'

then uncomment the line '#define SPANDSP_VER3  1' near the top of spandsp_if.h

to:
Opal has extensive support for fax. This operates on both SIP, H.323 and even PSTN. It relies on the external package [[http://www.soft-switch.org|spandsp]].

!!Building from source

For Linux, spandsp is usually available as a development library in most distributions. If installed configure will find it and it will be included.

For Windows you will need to download the [[[http://www.soft-switch.org/downloads/spandsp/spandsp-0.0.6pre21.tgz|spandsp]]|tarball]] and build it.

After installing SpanDSP, simply then use the spandsp_fax_2005.sln or spandsp_fax_2008.sln file to build the plug in. Note Visual Studio 2003 is not supported.

Note, this will automatically try and download libtiff, another open source library for TIFF file operations. Thus the first time you build it you should be connected to the Internet so the download can proceed.

Then copy the following two files from:
        opal\bin\plugins\Release\SpanDSPFax_ptplugin.dll
        opal\plugins\fax\fax_spandsp\Release\libspandsp.dll

to C:\PTLib_Plugins, or wherever you have set the PTPLUGINDIR environment variable. It should work in the same directory as your application as well.

Additional note: If you get errors building libtiff, you may need to edit tiff-3.8.2\libtiff\tiffconf.h and comment out the entries for JPEG_SUPPORT, LZW_SUPPORT, PIXARLOG_SUPPORT and ZIP_SUPPORT.
July 04, 2008, at 04:50 AM by 220.101.81.246 -
Changed lines 17-25 from:
!!3. Conversion between TIFF and fax

Opal can use the spandsp_util helper program to convert between TIFF files and modulated fax audio, or T
.38.
This is implemented by the T38EndPoint and FaxEndPoint classes
.

!!4. Conversion between audio and T
.38

Opal contains a fax codec that converts directly between T
.38 data and modulated fax audio.
This code uses spandsp. While this code works, it needs further work to separate the spandsp
to:
!!3. Connecting a fax to the internet.

There are four scenarios here based on the medium being used on the local and remote endpoints
.
(:table border=1 cellpadding=5 cellspacing=0:)
(:cell width=20%:)
(:cell width=40%:)T
.38
(:cell width=40%:)Audio RTP, e
.g. G.711
(:cellnr width=20%:)TIFF File, must be G.3 compatible
.
(:cell width=40%:)Supported now by T38EndPoint class &
spandsp_util.exe helper application
(:cell width=40%:)Supported now by FaxEndPoint class & spandsp_util.exe helper application
(:cellnr width=20%:)Raw PCM, e.g. via OpalLineEndPoint or OpalLocalEndPoint classes
(:cell width=40%:)Fax codec plug in
. While this code works, it needs further work to separate the spandsp
Changed lines 30-32 from:
It is intended that this be done using the same spandsp_util helper application used by T38EndPoint and FaxEndPoint.

!!5. Building from source
to:
It is intended that this be done using the same spandsp_util helper application used by T38EndPoint and FaxEndPoint classes.
(:cell width=40%:)Basic OPAL routing and functionality, does not involve anything special
(:tableend:)

!!4
. Building from source
Changed lines 3-4 from:
1. SIP
to:
!!1. SIP
Changed lines 12-13 from:
2. H.323
to:
!!2. H.323
Changed lines 17-18 from:
3. Conversion between TIFF and fax
to:
!!3. Conversion between TIFF and fax
Changed lines 22-23 from:
4. Conversion between audio and T.38
to:
!!4. Conversion between audio and T.38
Added lines 28-75:

!!5. Building from source
Two external source code projects are needed in order to build spandsp_util from source

!!!1. libtiff

libtiff is TIFF handling library and is required provides the ability to load and save fax image files, which are in TIFF format.

On most Linux systems, this library will be preinstalled. If not, it will almost certainly be available to install via yum/yast etc.

A pre-compiled Windows version is available from the following URL:

  http://gnuwin32.sourceforge.net/packages/tiff.htm

Downloading and installing the complete package is recommended.

Don't be tempted to use the Win32 version of libtiff. It won't work

Once installed, add "C:\Program Files\GnuWin32\include" to the Include directory
list, and "C:\Program Files\GnuWin32\lib" to the Library directory list. The path
"C:\Program Files\GnuWin32\bin" must also be added to the PATH environment variable,
else the libtiff DLL files will not be found at runtime.

!!!2. spandsp

Spandsp is a GPL library and suite of programs that implement a faxmodem.

On most Linux systems, this library will be preinstalled. If not, it
can be downloaded from the site below, then compiled and installed as usual.

    http://www.soft-switch.org/downloads/spandsp

You will need to add "C:\Program Files\GnuWin32\include" to the Include directory
list, and "C:\Program Files\GnuWin32\lib" to the Library directory list

Windows users will need to download and compile the library. A link to a suitably modified
version of the library will be included here at a later date.

!!!3. Common problems

If you see errors such as the following:

spandsp_if.cpp(912) : error C2664: 't38_core_rx_ifp_packet' : cannot convert parameter 2 from 'const unsigned char *__w64 ' to 'int'
spandsp_if.cpp(1101) : error C2664: 't38_core_rx_ifp_packet' : cannot convert parameter 2 from 'const unsigned char *__w64 ' to 'int'

then uncomment the line '#define SPANDSP_VER3  1' near the top of spandsp_if.h

Changed line 5 from:
Opal can send and receive faxes using the T.38 protocol.
to:
Opal can send and receive faxes using the T.38 protocol. This has been tested extensively.
Added lines 1-27:
Opal has extensive support for fax. This support can be divided into four areas

1. SIP

Opal can send and receive faxes using the T.38 protocol.
It will respond to incoming Re-INVITEs to switch into T.38 mode.
Opal can also send Re-INVITEs to trigger T.38 mode. This can be triggered by the receipt
of an in-band CED tone, the receipt of CED via RFC-2833, or by a timer.

This support requires the availability of the spandsp_util helper program.

2. H.323

Opal contains all of the code needed to negotiate T.38 over H.323. However, this code
has not been tested for some time.

3. Conversion between TIFF and fax

Opal can use the spandsp_util helper program to convert between TIFF files and modulated fax audio, or T.38.
This is implemented by the T38EndPoint and FaxEndPoint classes.

4. Conversion between audio and T.38

Opal contains a fax codec that converts directly between T.38 data and modulated fax audio.
This code uses spandsp. While this code works, it needs further work to separate the spandsp
functions from the remainder of the code as they use mutually incompatible licenses.
It is intended that this be done using the same spandsp_util helper application used by T38EndPoint and FaxEndPoint.
Edit - History - Print - Recent Changes - Search
Page last modified on January 20, 2014, at 11:58 AM