• Asterisk: installation and instructions. Asterisk - enterprise level computer telephony system

    Asterisk has all the features of a classic PBX, supports many VoIP protocols and provides voice mail, conferences, interactive voice menu (IVR), call center (queuing calls and distributing them to agents using various algorithms), CDR recording and other functions. To create your own functionality, you can use Asterisk's own dialplan language by writing a module in C, or by using AGI, which is a flexible and versatile interface for integrating with external systems data processing. What is done through AGI can be written in any programming language.

    Asterisk is distributed under the terms of a dual license, thanks to which, simultaneously with the main code distributed under the open license GNU General Public License, it is possible to create closed modules containing licensed code. For example, a module to support the G.729 codec.

    OS
    The application runs on GNU/Linux, FreeBSD and Solaris operating systems and is designed to create computer telephony solutions. The name of the project comes from the name of the symbol *, which in Unix and DOS operating systems denotes a match of any sequence of characters in file names.

    Protocols
    Asterisk provides enough protocols to support connections between traditional systems telephony and IP networks including H.323, Session Initiation Protocol (SIP), Media Gateway Control Protocol (MGCP), and Skinny Client Control Protocol (SCCP).

    A special Inter-Asterisk eXchange (IAX) VoIP protocol has also been developed for communication between Asterisk servers, which provides voice and data transmission transparently through various heterogeneous networks. The use of the IP protocol allows Asterisk to send various data, such as URLs or pictures and photos during the conversation, integrating different kinds information.

    The structure of Asterisk is completely modular, the command line interface allows you to overload individual modules and their configurations without disrupting the work as a whole and without breaking established connections, as well as upload and download interfaces, files and codecs. Makes transparent the connection between all supported interfaces by concatenating various telephone systems into a single network environment.

    Hardware
    Asterisk does not require any special hardware for Voice over IP. Almost all devices from various manufacturers of VoIP equipment can be connected without special problems. For the use of digital and analog telephone equipment, Asterisk supports a wide range of equipment, in which a special place is occupied by PCI boards Digium, creator of Asterisk.

    Thanks to an open license, Asterisk is actively developed and supported by thousands of people from all over the planet. Over the past two years, Asterisk applications have been actively developed in the United States and Europe. In one form or another, Asterisk has taken a strong place in the IT technology market (more than 1000 companies, support centers, online consultations). Many companies use Asterisk in their off-the-shelf VoIP devices, such as companies

    There is an opinion that IP telephony for offices is not suitable due to the unreliability of the connection. But one can name a huge number of arguments that will present this connection in a completely different light. Companies with standard telephone network PBX-based systems lose a lot when compared to IP technologies, which provide a cheap and high-quality communication environment based on the Asterisk IP server software.

    Automatic telephone exchange Asterisk allows you to create communication in offices using cable local network, and also maintains contact with remote employees who are outside the office premises.

    Features of installing IP PBX Asterisk

    For software server Asterix uses analog and digital telephony. The server is installed by connecting to special T1 / E1 broadband lines, while all office equipment must be designed specifically for IP telephony.

    Asterisk PBX software will allow even small companies to have basic functions telephone communication. Asterisk setup will not take much time to enable features such as voice mail, call recording, detailing and distribution of calls to subscribers. Previously, these opportunities were predominantly only in large companies.

    A structured cabling network is perfect for installing an Asterix PBX, so there will be no need to pull new wires or install additional gateways. In order for IP telephony to work, you only need to purchase a server that will cost less than a classic PBX.

    To create an Asterisk IP PBX in your office, you only need to pay for the basic steps: Asterisk installation and configuration, as well as future maintenance. A feature of this system is the ability to connect an unlimited number of subscribers. If there is a need to make additional extension points, then this action will take much less time than creating a new telephone exchange and synchronizing with other exchanges.

    Setting up asterisk pbx is done by specialists and allows you to reboot, install new modules, while the connection continues to function. This type of telephony works with many operating systems and is available to everyone around the world.

    ATC Asterisk for offices provides great opportunities for IP telephony:

    • record and save phone conversations;
    • track an active call;
    • use the voice menu;
    • use voicemail and send emails;
    • work with faxes in electronic format;
    • call detailing;
    • create a call center for inner work office
    • support popular communication protocols: skype, google talk, sip, iax, jabber. This gives additional opportunity video communications, and also implies the exchange of documents or images;
    • connect remote subscribers to the system;
    • hold conferences between three users;
    • hold an unlimited number of calls in standby mode if you cannot answer immediately;
    • create black lists of subscribers;
    • make calls to several numbers at once;
    • asterisk setting allows software to manage calls;
    • create additional modules TS.

    Benefits of IP PBX Asterisk

    • Integration of IP telephony into offices.
    • Service at a high level.
    • Ability to combine Asterix with accounting program 1C Enterprise or CRM system.
    • Communication management does not require special costs and allows for each subscriber to create a separate line.
    • Setting PBX asterisk allows you to make improvements at the request of the client.
    • Accessibility to all companies due to the creation of telephony based on the existing digital PBX.
    • This type of communication operates on the basis of the operating Unix systems, which has established itself as a reliable and high-quality software. In case of any failures, automatic copying operation of the IP-telephony server to another server.
    • Asterix allows you to create single network even between company offices that are located in different points cities. Therefore, it is not necessary to carry out the purchase of several traditional stations.

    is an ATC created by hackers (in the original sense of the word), or rather, it is a super converged computer telephony platform distributed under the GNU GPL license, originally developed by Mark Spencer(Mark Spencer), who later became President and CTO of Digium. Thanks to the commercial support of His company and the GNU GPL license, Asterisk is actively developed and supported by thousands of people from all over the planet.

    Asterisk supports

    Protocols

    Audio codecs

    Name Transfer rate, Kbps The need for a license
    G.711 64 Need not
    G.726 16, 24, 32 or 40 Need not
    G.729A 8
    GSM 13 Need not
    iLBC 13.3 (30ms frames) or 15.2 (20ms frames) Need not
    Speex Variable between 2.15 and 22.4 Need not
    G.723.1 6.4 Kbps (a frame is 189 bits padded to 24 bytes) and 5.3 Kbps (a frame is 158 bits padded to 20 bytes). The mode of operation can change dynamically from frame to frame Needed (not needed for transit)
    MP3

    Important points to choose

    Performance of Asterisk systems

    Experienced system performance data presented in forum and original text. Asterisk - can run on almost any Linux platform plus some other operating systems such as Solaris, BSD, MacOS X and there is even an Asterisk for Win32 project. Regarding the choice of OS for Asterisk, I don’t want to develop a holivar and I suggest you choose it yourself, while it does not interfere with reading the form branch dedicated to this issue. In conclusion, I'll say that I myself use CentOS - a popular distribution used with Asterisk (built from RedHat raw materials) version 5.2.
    Detailed guide to installing CentOS 5.2 from the blog Linuxoid.
    I recommend not to install Xs, since they will compete with Asterisk for resources.

    Installing and configuring Asterisk

    Asterisk in the basic package includes three main packages available for download on the official website:
    • Asterisk itself, version 1.6.0.6 available;
    • DAHDI telephony drivers - acronym Digium Asterisk Hardware Device Interface, formerly zaptel + DAHDI Tools;
    • PRI - Libpri libraries.
    links to 32-bit versions, but 64-bit versions are also available
    If you plan to use only VoIP, then the Asterisk package is enough, but it is recommended to install all packages.

    Additionally, you can install

    • Modules and addons , contains modules for working with MySQL and playing mp3 files, IMHO is not included in the official distribution and is not necessary. For example, Asterisk is installed with ODBC support, and when installing an add-on for working with MySQL, the system may not work, so it is recommended to use only one of the drivers at the same time and disable the other. Playing mp3 files, in turn, will cause an additional load on the system. the file being played will need to be decompressed.

    Required Linux packages

    • GCC 3.x;
    • ncurses-devel;
    • libtermcap-devel;
    • Kernel Development Headers;
    • GCC C++ 3.x;
    • OpenSSL (optional) ;
    • newt-devel (optional) ;
    • zlib-devel (optional) ;
    • unixODBC; unixODBC-devel (optional) ;
    • libtool (recommended) ;
    • GNU make (version 3.80 and up).
    In my case, everything was already contained in the system, I just updated the kernel (let it not seem scary to anyone).

    The Trixbox distribution is especially popular and loved - it is a software package based on CentOS and Asterisk, the main task of which is to create an IP telephony server in the shortest possible time.
    On this moment available . The installation steps can be viewed on the site voiceip.com.ua.

    The Elastix distribution from PaloSanto Solutions is not far behind the Trixbox Community Edition in terms of functionality. Distributed under the GNU GPL license. Elastix is ​​based on CentOS 5 with kernel 2.6.18. The basis of the VoIP system is Asterisk 1.4.18, the developers have supplemented it with utilities of their own design and third-party modules. A redesigned A2Billing is used as a billing system. The delivery also includes an Openfire 3.4.2 server that provides messaging via the XMPP/Jabber protocol. Also, the distribution kit comes with two CRM (Customer relationship management) - SugarCRM and VTigerCRM
    An overview and installation can be seen in the Linuxoid article.

    Let's continue

    Download article general questions I will not install and configure Asterisk, especially since there are wonderful articles on the network that tell in detail about each of the stages. Despite the fact that the articles were written 3-4 years ago, believe me, they do not lose their relevance, I do not argue, the versions have changed from 1.2 right up to 1.6, even the name of the phone driver has changed and the functionality has expanded significantly, but this should not scare you. Articles about Asterisk in the journal "System Administrator"
    Author Mikhail Platov:
    • Asterisk and Linux - the mission of IP-telephony - the main features of Asterisk, setting up and working with the SIP protocol are considered;
    • Asterisk and Linux: the mission of IP telephony. Action 2 - considers the operation of the H323 protocol and the provision of communication with the PSTN;
    • Asterisk and Linux: the mission of IP telephony. Step 3 is the final article in this series, covering voicemail, conferencing, and web interfaces that greatly facilitate the work of both users and administrators of Asterisk.

    Note: The articles use zaptel utilities, which have changed their name to DAHDI
    ztcfg -> dahdi_cfg
    ztmonitor -> dahdi_monitor
    ztscan -> dahdi_scan
    ztspeed -> dahdi_speed
    zttest -> dahdi_test
    zttool -> dahdi_tool
    zapconf -> dahdi_genconf formerly known as genzaptelconf)

    And the paths have changed:

    • The system configuration file has been renamed from /etc/zaptel.conf to /etc/dahdi/system.conf
    • The dahdi_cfg utility can now be used to select an echo suppressor for each channel or group of channels based on the settings in the configuration file: system.conf; A complete list of changes on the developers' svn trunk or in Russian on the site voip.rus.net.

    Asterisk: organizing automatic distribution of incoming calls - considers the issues of arranging a call processing queue, which is so necessary in services working with clients. Author Sergey Yaremchuk

    Storing CDR Files in the Database

    Call Detail Records (CDR) - a file that records the parameters of calls that have passed through the system. Asterisk allows you to store CDR files V:
    • Comma Separated Values ​​(CSV) - file;
    An important part of the dialplan that provides it with power and dynamism is func_odbc , it allows you to create and use functions for extracting and using information from the database in the dialplan.

    IVR

    Interactive Voice Response (IVR) is already an integral part of any customer service platform and business. The cost of commercial IVR systems (Avaya, Cisco, Genesys, Nortel or Dialogic) is sufficient, high, and Asterisk is simply created for this.
    Unfortunately, the Russian female voice no (free) for Asterisk. After installation, Asterisk speaks to us with a voice Allison Smith(Allison Smith) - this is about 300 prompts, plus another 600 in the addition of asterisk-sounds.

    Available text translation voice prompts for Asterisk versions 1.4, 1.6A also a male Russian voice from romik_g for Asterisk 1.4.

    On the ivrvoice.ru resource, you can download and use for any peaceful purposes, including business, Russian prompts for Asterisk.

    If you decide to record prompts yourself, then the main requirement is to normalize the recordings to -3dB with pauses at the beginning and end of the recording. A utility (Sound eXchange) is used to convert an audio file.

    However, IVR systems are “not only valuable fur” and DTMF, but also Automatic Speech Recognition (ASR - speech recognition systems) and Text-to-speech (TTS) speech engines. True, with the Russian here it is still tight.
    But you should know:

    • Open source TTS-engine

    is an ATC created by hackers (in the original sense of the word), or rather, it is a super converged computer telephony platform distributed under the GNU GPL license, originally developed by Mark Spencer(Mark Spencer), who later became President and CTO of Digium. Thanks to the commercial support of His company and the GNU GPL license, Asterisk is actively developed and supported by thousands of people from all over the planet.

    Asterisk supports

    Protocols

    Audio codecs

    Name Transfer rate, Kbps The need for a license
    G.711 64 Need not
    G.726 16, 24, 32 or 40 Need not
    G.729A 8
    GSM 13 Need not
    iLBC 13.3 (30ms frames) or 15.2 (20ms frames) Need not
    Speex Variable between 2.15 and 22.4 Need not
    G.723.1 6.4 Kbps (a frame is 189 bits padded to 24 bytes) and 5.3 Kbps (a frame is 158 bits padded to 20 bytes). The mode of operation can change dynamically from frame to frame Needed (not needed for transit)
    MP3

    Important points to choose

    Performance of Asterisk systems

    Experienced system performance data presented in forum and original text. Asterisk - can run on almost any Linux platform plus some other operating systems such as Solaris, BSD, MacOS X and there is even an Asterisk for Win32 project. Regarding the choice of OS for Asterisk, I don’t want to develop a holivar and I suggest you choose it yourself, while it does not interfere with reading the form branch dedicated to this issue. In conclusion, I'll say that I myself use CentOS - a popular distribution used with Asterisk (built from RedHat raw materials) version 5.2.
    Detailed guide to installing CentOS 5.2 from the blog Linuxoid.
    I recommend not to install Xs, since they will compete with Asterisk for resources.

    Installing and configuring Asterisk

    Asterisk in the basic package includes three main packages available for download on the official website:
    • Asterisk itself, version 1.6.0.6 available;
    • DAHDI telephony drivers - acronym Digium Asterisk Hardware Device Interface, formerly zaptel + DAHDI Tools;
    • PRI - Libpri libraries.
    links to 32-bit versions, but 64-bit versions are also available
    If you plan to use only VoIP, then the Asterisk package is enough, but it is recommended to install all packages.

    Additionally, you can install

    • Modules and addons , contains modules for working with MySQL and playing mp3 files, IMHO is not included in the official distribution and is not necessary. For example, Asterisk is installed with ODBC support, and when installing an add-on for working with MySQL, the system may not work, so it is recommended to use only one of the drivers at the same time and disable the other. Playing mp3 files, in turn, will cause an additional load on the system. the file being played will need to be decompressed.

    Required Linux packages

    • GCC 3.x;
    • ncurses-devel;
    • libtermcap-devel;
    • Kernel Development Headers;
    • GCC C++ 3.x;
    • OpenSSL (optional) ;
    • newt-devel (optional) ;
    • zlib-devel (optional) ;
    • unixODBC; unixODBC-devel (optional) ;
    • libtool (recommended) ;
    • GNU make (version 3.80 and up).
    In my case, everything was already contained in the system, I just updated the kernel (let it not seem scary to anyone).

    The Trixbox distribution is especially popular and loved - it is a software package based on CentOS and Asterisk, the main task of which is to create an IP telephony server in the shortest possible time.
    Currently available. The installation steps can be viewed on the site voiceip.com.ua.

    The Elastix distribution from PaloSanto Solutions is not far behind the Trixbox Community Edition in terms of functionality. Distributed under the GNU GPL license. Elastix is ​​based on CentOS 5 with kernel 2.6.18. The basis of the VoIP system is Asterisk 1.4.18, the developers have supplemented it with utilities of their own design and third-party modules. A redesigned A2Billing is used as a billing system. The delivery also includes an Openfire 3.4.2 server that provides messaging via the XMPP/Jabber protocol. Also, the distribution kit comes with two CRM (Customer relationship management) - SugarCRM and VTigerCRM
    An overview and installation can be seen in the Linuxoid article.

    Let's continue

    I will not upload an article with general questions about installing and configuring Asterisk, especially since there are wonderful articles on the network that tell in detail about each of the stages. Despite the fact that the articles were written 3-4 years ago, believe me, they do not lose their relevance, I do not argue, the versions have changed from 1.2 right up to 1.6, even the name of the phone driver has changed and the functionality has expanded significantly, but this should not scare you. Articles about Asterisk in the journal "System Administrator"
    Author Mikhail Platov:
    • Asterisk and Linux - the mission of IP-telephony - the main features of Asterisk, setting up and working with the SIP protocol are considered;
    • Asterisk and Linux: the mission of IP telephony. Action 2 - considers the operation of the H323 protocol and the provision of communication with the PSTN;
    • Asterisk and Linux: the mission of IP telephony. Step 3 is the final article in this series, covering voicemail, conferencing, and web interfaces that greatly facilitate the work of both users and administrators of Asterisk.

    Note: The articles use zaptel utilities, which have changed their name to DAHDI
    ztcfg -> dahdi_cfg
    ztmonitor -> dahdi_monitor
    ztscan -> dahdi_scan
    ztspeed -> dahdi_speed
    zttest -> dahdi_test
    zttool -> dahdi_tool
    zapconf -> dahdi_genconf formerly known as genzaptelconf)

    And the paths have changed:

    • The system configuration file has been renamed from /etc/zaptel.conf to /etc/dahdi/system.conf
    • The dahdi_cfg utility can now be used to select an echo suppressor for each channel or group of channels based on the settings in the configuration file: system.conf; A complete list of changes on the developers' svn trunk or in Russian on the site voip.rus.net.

    Asterisk: organizing automatic distribution of incoming calls - considers the issues of arranging a call processing queue, which is so necessary in services working with clients. Author Sergey Yaremchuk

    Storing CDR Files in the Database

    Call Detail Records (CDR) - a file that records the parameters of calls that have passed through the system. Asterisk allows you to store CDR files in:
    • Comma Separated Values ​​(CSV) - file;
    An important part of the dialplan that provides it with power and dynamism is func_odbc , it allows you to create and use functions for extracting and using information from the database in the dialplan.

    IVR

    Interactive Voice Response (IVR) is already an integral part of any customer service platform and business. The cost of commercial IVR systems (Avaya, Cisco, Genesys, Nortel or Dialogic) is sufficient, high, and Asterisk is simply created for this.
    Unfortunately, there is no Russian female voice for Asterisk (free). After installation, Asterisk speaks to us with a voice Allison Smith(Allison Smith) - this is about 300 prompts, plus another 600 in the addition of asterisk-sounds.

    Text translation of voice prompts for Asterisk versions 1.4, 1.6 is available, as well as a male Russian voice from romik_g for Asterisk 1.4.

    On the ivrvoice.ru resource, you can download and use for any peaceful purposes, including business, Russian prompts for Asterisk.

    If you decide to record prompts yourself, then the main requirement is to normalize the recordings to -3dB with pauses at the beginning and end of the recording. A utility (Sound eXchange) is used to convert an audio file.

    However, IVR systems are “not only valuable fur” and DTMF, but also Automatic Speech Recognition (ASR - speech recognition systems) and Text-to-speech (TTS) speech engines. True, with the Russian here it is still tight.
    But you should know:

    • Open source TTS-engine