Asterisk of Linux Services

Source: Internet
Author: User

Because Asterisk is too professional and complex, there are also a large number of derived from asterisk but simplified communication system, so that users easier to use. For example, in Europe and the United States more popular Elastix, Trixbox, or Simplified Chinese-based freeiris and so on.

ASTERISK[1] is an open source software VoIP PBX system, which is a pure software implementation program running in Linux environment. ASTERISK[1] is a full-featured application that offers a number of telecom functions that can turn your x86 machine into your own switch and be an enterprise-class commercial switch. ASTERISK[1] The exciting thing is that it provides the functionality and scalability of commercial switches within the limits of small business budgets. You can use an old-fashioned Pentium 3 computer to make your organization look like a big business in the world.

From an architectural point of view, Asterisk is made up of many different modules. This modular feature provides almost limitless flexibility when designing asterisk-based systems. As a asterisk system administrator, you have the option to load modules. Each of the modules you load provides different system functions. For example, some modules can make your asterisk communicate with analog telephone lines, and some modules provide the function of traffic report. Later, we will also discuss the functions and categories of the various modules.

Http://www.cnblogs.com/einyboy/archive/2012/11/08/2759969.html
http://blog.csdn.net/yetyongjin/article/details/7520567

SIP functionality for Asterisk

The Asterlsk can support traditional lines:

TDM (Time Division Multiplexing)
T1/e1 Pri/pra & RBS (robbed Bit Signal)
Modesanalog phone Lines/phones (POTS)
ISDN (Integrated Services Digital Network)
Both BRI (Basic rate) and PRI (Primary rate)

The protocols supported by Asterisk include:

Session Initiation Protocol (SIP)
H. 323 (ITU standard, contributed support)
Inter-asterisk EXchange (IAX)
Media Gateway Control Protocol (MGCP)

Module types for asterisk

Channel Driver Module
At the top of the frame diagram, the blue section describes the channel driver. The channel driver communicates with devices outside the asterisk and converts a specific signaling or protocol for the kernel.
All incoming calls are driven through a certain channel before they reach the kernel, and all outgoing calls must be driven by some channel before they reach the peripheral device.
For example: SIP channel driver for communication with terminal devices using SIP protocol. It transforms the SIP signaling for the kernel. This means that the asterisk kernel is not related to signaling. Therefore, Asterisk is not just a sip PBX, it is a multi-protocol PBX.

All channel drivers are named chan_xxxxx.so, such as chan_sip.so, chan_dahdi.so

Dialing Rules Application module
Application provides call-related features for the system. These applications may be functions such as answering, playing a beep, or hanging a machine.

The application module provides a call function for the system. These apps are scripted in the (grass) order in the dialing scheme. For example, a call into the asterisk dial scheme may have an application to answer, another application reads a file from the disk, plays a beep, and the third application lets the caller leave a message in the specified voice mailbox.

For more detailed information about dial plan apps, refer to: DialPlan Fundamentals

All application modules are named app_xxxxx.so, such as app_voicemail.so

Dialing Rules function module
Dialing rules are, to some extent, similar to apps, but they do not work on a particular channel or call, they simply retrieve or set a setting on the channel, or perform text operations. For example, a feature module retrieves caller ID information for a call, filters some text, or sets a time-out for callers.

The dialing rules function modules are named func_xxxxx.so, for example func_callerid.so

Resource Module
As the name implies, resources are the resource services that asterisk need to use. Common resources such as Call hold music, call parking, and so on.

The resource module provides asterisk with some extended functionality that can be called at any time during a call, even if another application is executing on a channel. Resource modules are typically used for event synchronization, such as playing music when a call is held or suspended.

The resource module is named res_xxxxx.so, for example res_musiconhold.so

Codec module
A kind of codec, is a kind of audio or video codec module. Typically used to compress media to reduce bandwidth consumption.

Codec modules are named codec_xxxxx.so, such as codec_alaw.so, codec_ulaw.so

The codec module provides the encoding and decoding algorithm of the media stream. Asterisk uses a codec module when receiving and transmitting media (audio and video). This module also accomplishes the conversion between different coding algorithms.

Asterisk provides support for a variety of media formats, including: ADPCM, 32kbit/s, g.711 Alaw, 64kbit/s, g.711 Ulaw, 64kbit/s, g.726, 32kbit/s, g.726, 32kbit/s, GSM , 13kbit/s, LPC-10, 2.4kbit/s.

Others, such as g.729a and g.723.1, require a patent license.

File Format Driver module
These modules allow asterisk to support a range of file formats. Asterisk uses a file module to obtain a stream of media (audio or video) from the network, convert it to a file, store it on disk, or, in turn, read the file from disk and convert it to a media stream. These modules often relate to codec modules, and for some codecs, there may be many file formats available on disk.

The file format module is named format_xxxxx.so, such as format_wav.so, format_xxxxx.so

Call Detail Recording (CDR) driver
The purpose of the CDR module is to store call detail records in different format requirements. Common storage mechanisms include CSV files, relational databases (such as PostgreSQL). Usually each call generates a call log that includes the caller, the call, the length of the call, and so on.

The CDR modules are named cdr_xxxxx.so, such as cdr_csv.so, cdr_pgsql.so

Call Event Log Driver
CEL is similar to CDR, but it is more focused on documenting what is going on inside the asterisk during the call.

CEL records the various events that occur during a call. Because of this, it usually records more detailed things than CDR. For example, cel might record something like this: Alice calls Bob;bob's phone after ringing for 20 seconds, Bob's mobile phone rings, and in another 15 seconds, the call goes to Bob's voicemail, and Alice leaves a 25-second voice message, then hangs up. The system is also able to customize the events that need to be logged.

CEL modules are named cel_xxxxx.so, such as cel_custom.so, cel_adaptive_odbc.so

Bridging modules
Starting from Asterisk1.6.2, Asterisk introduces a new method for bridging calls. It relies on a variety of bridging modules to control how media streams are mixed between call participants. The new bridging approach is a more flexible and efficient design.

The bridging module is named bridge_xxxxx.so, such as bridge_simple.so, bridge_multiplexed.so.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.