Asterisk

An open source PBX and telephony toolkit for managing internet and traditional telephony channels.

Asterisk screenshot 1

Asterisk is an open-source PBX and telephony toolkit that functions as middleware between internet and telephony channels and various communication applications. It provides the necessary infrastructure to manage both internet-based telephony and traditional telephony channels, allowing for the creation of complex communication systems. The software acts as a bridge, connecting the bottom layer of telephony interfaces to the top layer of telephony applications.

The software is deployed as a server application, primarily developed and tested for the GNU/Linux operating system, though it is supported across every major GNU/Linux distribution. It has also been ported to run on Apple's Mac OS X and various BSD variants. It is used to build communication systems that interface with VoIP, SIP, and traditional PSTN telephony, making it suitable for environments that require a mix of modern and legacy hardware.

Key features

  • Support for SIP and VoIP communication
  • Integration with traditional PSTN telephony
  • Compatibility with Sangoma analog and digital interface cards
  • Support for full duplex sound cards via PortAudio
  • Integration with Xorcom Astribank channel banks
  • Command line console for system management
  • Modular architecture with selectable compilation components
  • Support for TDM and analog services

Asterisk is written in C and requires a C99 compatible compiler, such as GCC version 4.1 or higher, for installation. It utilizes a specific section-based configuration file format where comments are delimited by semicolons to avoid conflict with DTMF digits. The architecture is designed to handle a high volume of file descriptors to manage simultaneous network calls, hardware access, and voicemail storage. Because it is sensitive to large jumps in system time, it requires the use of time synchronization packages like ntpd, chronyd, or systemd-timesyncd to ensure SIP registrations and internal processes do not fail.

This software is intended for administrators and developers building custom telephony infrastructure and private branch exchange systems. It provides a flexible toolkit for those who need to manage a wide variety of telephony interfaces within a single server environment.

Last Modified
Software TypeWeb App / Server
Platform
Last Activity20 days ago
Repository Age11 years
LicenseGPL-2.0
Open Source Alternative to
Open Source Software.io

Join our newsletter to get shiny new open source software delivered to your inbox. Unsubscribe anytime.