天天看點

Asterisk Architecture Overview

The Asterisk core handles these items internally:

PBX Switching - The essence of Asterisk, of course, is a Private Branch Exchange Switching system, connecting calls together between various users and automated tasks. The Switching Core transparently connects callers arriving on various hardware and software interfaces.

Application Launcher - launches applications which perform services for uses, such as voicemail, file playback, and directory listing.

Codec Translator - uses codec modules for the encoding and decoding of various audio compression formats used in the telephony industry. A number of codecs are available to suit diverse needs and arrive at the best balance between audio quality and bandwidth usage.

Scheduler and I/O Manager - handles low-level task scheduling and system management for optimal performance under all load conditions.

Loadable Module APIs:

Four APIs are defined for loadable modules, facilitating hardware and protocol abstraction. Using this loadable module system, the Asterisk core does not have to worry about details of how a caller is connecting, what codecs are in use, etc.

Channel API - the channel API handles the type of connection a caller is arriving on, be it a VoIP connection, ISDN, PRI, Robbed bit signaling, or some other technology. Dynamic modules are loaded to handle the lower layer details of these connections.

Application API - the application API allows for various task modules to be run to perform various functions. Conferencing, Paging, Directory Listing. Voicemail, In-line data transmission, and any other task which a PBX system might perform now or in the future are handled by these separate modules.

Codec Translator API - loads codec modules to support various audio encoding and decoding formats such as GSM, Mu-Law, A-law, and even MP3.

File Format API - handles the reading and writing of various file formats for the storage of data in the filesystem.

繼續閱讀