Windows FreeTDM API Installation
Introduction
This page describes how to install FreeTDM in Windows. You have two options. Install as standalone or as a part of FreeSWITCH. Most users really want to install it with FreeSWITCH unless they're creating custom applications in C.
If you want to install FreeTDM with FreeSWITCH, then just skip the "FreeTDM standalone" section. When you're done, be sure to get back to the main FreeTDM web page to learn how to configure FreeTDM.
Wanpipe Quick Install
Before installing FreeTDM you need to have the Wanpipe Windows drivers which can be found at Operations-Window Wanpipe Driver .
Below is the list of commands to run to install the drivers and libsangoma. Make sure the commands are ran in the order listed. This will create a "Program Files\Sangoma\" directory with Sangoma headers and libraries on it.
setup.exe install_devel_files
setup.exe install
Â
FreeTDM with FreeSWITCH (sangoma_prid stack)
Â
Note: sangoma_prid is now deprecated. For PRI/BRI support, please use libsng_isdn
This section describes how install FreeTDM to be used with FreeSWITCH under Windows. The configuration of the FreeSWITCH XML file is described in the main FreeTDM web page.
You need to download the latest FreeSWITCH code either using git or downloading the latest tarball. Follow the FS wiki instructions for that:Â
Installation | FreeSWITCH Documentation
Build FreeSWITCH with visual studio, the FreeSWITCH solution file is Freeswitch.2008.sln, the generated FreeSWITCH binaries will be in the Debug/ directory along with the configuration.
Now build FreeTDM with the solution file libs/freetdm/freetdm.2008.sln, the generated DLL and LIB files should be at libs/freetdm/Debug
Place all FreeTDM generated DLLs inside FreeSWITCH Debug directory.
In addition to the generated DLLs, there is also several DLL's that are part of the Sangoma PRI stack. Download them from:Â
https://ftp.sangoma.com/WINDOWS/sangoma_prid/, be sure you download the latest ones even if the driver version does not match exactly. The driver version included in the directory for the package is meant as a guide showing which driver version was used to test them, but newer driver versions should work too if using latest for each package.
Unzip the sangoma_prid package and place all the DLLs inside the stack/ folder in the FreeSWITCH Debug/ directory.
Create the directory "C:/freetdm/", this directory will be used to place configuration files.
Copy all the files inside libs/freetdm/conf/ to "C:/freetdm/".
Now you can proceed to configure your wanpipe board. (Skip the FreeTDM standalone section!)
Â
FreeTDM standalone (binary installation)
Note: sangoma_prid is now deprecated. For PRI/BRI support, please use libsng_isdn
This section should only be read for people that are familiar with the C programming language and needs FreeTDM to create custom voice applications. FreeSWITCH users do not need to follow this step. If you want standalone usage but you want the source code for the FreeTDM library you must follow the same steps in FreeTDM with FreeSWITCH, skipping the installation of FreeSWITCH.
Download FreeTDM/sangoma_prid stack.
Download the .zip file matching your driver from https://ftp.sangoma.com/WINDOWS/sangoma_prid/.
Note: Be sure you download the latest sangoma_prid package even if the driver version does not match exactly. The driver version included in the directory for the package is meant as a guide showing which driver version was used to test them, but newer driver versions should work too.
Unzip the package.
The package contains the needed FreeTDM library and headers to compile along with Sangoma PRI stack dlls. This is a list of the more important files and directories:
freetdm/bin/ftmod_sangoma_boost.dll - The boost signaling module for FreeTDM which takes care of talking to the PRI stack on behalf of the user.
freetdm/bin/ftmod_wanpipe.dll - The I/O module for FreeTDM to talk to Sangoma boards.
freetdm/include - The headers files you need to build your custom applications. In your application you only need to include freetdm.h ( but the other headers must be available too ).
freetdm/lib - The FreeTDM dll and .lib to link
stack/ All the Sangoma PRI stack libraries. This includes a C runtime and operating system abstractions that have been tested with the stack.
Build your application.
To build your application just make sure you include the headers in freetdm/include and that you link to the freetdm.lib file. When running your application all the DLL's located at stack/ and freetdm/bin/ folders must be in the loader PATH.
Please refer to http://docs.sangoma.com/doxygen/freetdm/ for the C API documentation. Although the ultimate reference are the comments in the C header files inside the src/include/freetdm.h header.
You can also take a look at sample/boost/ftdm_start.c for a quick sample program placing and receiving calls.
Â
Wanpipe configuration
Make sure you configure your Wanpipe devices with just 1 group with the following settings:
Â
Â
Â