LibSangoma Overview
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 supports OOB messages that become useful in DTMF detection and RBS signaling. Standard IOCTL calls are used to control channel socket parameters such as rx/txperiod, codec control, echo control, Rbs and dtmf.
The WANPIPE® TDM Voice API is supported on Linux & WIndows. Furthermore, all sample codes are identical for all operating systems.
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 perchan (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:
WanpipeKernel Driver & Utilties - Common for Linux & Windows
LibSangoma API Library/DLL
WANPIPE® Voice API
libsangomais 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.
LibSangoma
Is a user space library (.so/.dll)
Abstracts Linux and Windows systemcallsintoaOS agnostic API
Provides a common API for all Sangoma hardware.
Is a very low level “RAW” API. It has not logic or state machines.
Providesgreatest flexibilityfor a developer, consequently itshardestto use.
LibStelephony
Is a helper user space library (.so/.dll)
implementsvoice processing:callerid, dtmf
Implements PRI decoding