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

Return to Documentation Home I Return to Sangoma Support