- Sangoma Software
- Hardware Products
- Tutorials
- Asterisk®
- FreeSWITCH
- Netborder SS7 to VoIP
- NetBorder Express
- Netborder Call Analyzer
- Vega Appliances
- Yate
- CallWeaver
- Legacy & End of Life
- Technical Support
LibSangoma - Voice API
LibSangoma - Voice API
WANPIPE® TDM Voice API: LibSangoma is a device based, multi-threaded suite of kernel drivers and user space libraries (LibSangoma) that can be used to build custom Voice applications over TDM Voice hardware, on both Linux & Windows.
The WANPIPE® TDM Voice API has been designed to fit easily into a network programming model. Therefore anyone who has ever done any socket programming will feel right at home. Thanks to the socket API model, a channel on a particular span is just a file descriptor that can be used to transmit and received voice data. Along with standard rx/tx, a tdm device also support OOB messages that become useful in DTMF detection and RBS signaling. Standard IOCTL calls are use to control channel socket parameters such as rx/tx period, codec control, echo control, rbs and dtmf.
WANPIPE® TDM Voice API is supported on Linux & WIndows. Furthermore all sample codes are identical for all operating systems.
Sangoma Wanpipe TDM API Architecture:

Sangoma Wanpipe TDM API Provides:
- Support for Linux & Windows operating systems.
- Common API for all Sangoma Hardware (T1/E1/Analog/BRI).
- Extensive Support for TDM Voice Applications
- SPAN API Mode - one device per span (TDM Voice or WAN Data)
- CHAN API Mode - one device per chan (TDM Voice Only)
- Timer Devices used for Timing
- Global Config Device used to configure/control/debug.
- Global Control Device receives all events from all devices.
- LibSangoma (Library/DLL) - Abstracts all OS API calls.
Sangoma Wanpipe TDM API Components:
- Wanpipe Kernel Driver & Utilties - Common for Linux & Windows
- LibSangoma API Library/DLL
- libsangoma is a device based, multi-threaded suite of kernel drivers and user space libraries that is used to build custom Voice applications over Sangoma TDM Voice hardware, on both Linux & Windows.
- Is a user space library (.so/.dll)
- Abstracts Linux and Windows system calls into a OS agnostic API
- Provides a common API for all Sangoma hardware.
- Is a very low level “RAW” API. It has not logic or state machines.
- Provides greatest flexibility for a developer, consequently its hardest to use.
- Distributed under BSD license
- Is a helper user space library (.so/.dll)
- implements voice processing: callerid, dtmf
- Implements PRI decoding
More documentation coming soon....