Asterisk – это платформа с открытым исходным кодом, используемая для построения коммуникационных приложений.
Вы можете использовать его для превращения локального компьютера или сервера в коммуникационный сервер.
Он используется для питания IP-АТС, VoIP-шлюзов, серверов конференций и других решений.
Он используется всеми организациями во всем мире и, наконец, но не последний, он бесплатный и с открытым исходным кодом.
В этом уроке мы покажем вам, как установить Asterisk на CentOS 7 (инструкции также работают на RHEL 7), но прежде чем мы начнем, нам нужно будет сделать некоторые приготовления, чтобы Asterisk мог работать плавно после установки.
Шаг 1: Отключите SELinux на CentOS 7
Чтобы сделать это, сначала зайдите через SSH в вашу систему и используя ваш любимый текстовый редактор командной строки, откройте / etc / selinux / config и отключите SELINUX.
# vim /etc/selinux/config
Строка SELinux должна выглядеть так:
SELINUX=disabled
- Как отключить SELinux в Ubuntu Server / Desktop
- Как использовать команду Semanage для политики SELinux
Теперь перезагрузите вашу систему и снова зайдите через ssh.
Шаг 2. Установка необходимых пакетов.
У Asterisk есть немало требований, которые необходимо установить.
Вы можете использовать следующую команду yum для установки необходимых пакетов, как показано далее
# yum install -y epel-release dmidecode gcc-c++ ncurses-devel libxml2-devel make wget openssl-devel newt-devel kernel-devel sqlite-devel libuuid-devel gtk2-devel jansson-devel binutils-devel
Затем установите PJSIP, бесплатную библиотеку мультимедийных сообщений с открытым исходным кодом, которая реализует стандартные протоколы, такие как SIP, SDP, RTP, STUN, TURN и ICE.
Именно драйвер Asterisk SIP-канала должен улучшить четкость вызовов.
Чтобы получить последнюю версию, сначала создадим временный каталог, в котором мы будем собирать пакет из исходного кода.
# mkdir ~/build && cd ~/build
Теперь перейдите на страницу загрузки PJSIP и возьмите пакет или используйте следующую команду wget для загрузки пакета непосредственно в терминал.
Обратите внимание, что при написании этой статьи последняя версия – 2.8, онп может измениться в будущем, поэтому обязательно используйте последнюю версию:
# wget https://www.pjsip.org/release/2.8/pjproject-2.8.tar.bz2
По завершении загрузки извлеките файл и перейдите в этот каталог.
# tar xvjf pjproject-2.8.tar.bz2 # cd pjproject-2.8
Следующим шагом будет подготовка пакета для компиляции. Вы можете использовать следующую команду:
./configure CFLAGS="-DNDEBUG -DPJ_HAS_IPV6=1" --prefix=/usr --libdir=/usr/lib64 --enable-shared --disable-video --disable-sound --disable-opencore-amr
Вы не должны увидеть никаких ошибок или предупреждений. Убедитесь, что все зависимости выполнены:
# make dep
И теперь мы можем завершить установку
# make && make install && ldconfig
Наконец, убедитесь, что все библиотеки установлены и представлены:
# ldconfig -p | grep pj
Вы должны получить следующий результат:
libpjsua2.so.2 (libc6,x86-64) => /lib64/libpjsua2.so.2 libpjsua2.so (libc6,x86-64) => /lib64/libpjsua2.so libpjsua.so.2 (libc6,x86-64) => /lib64/libpjsua.so.2 libpjsua.so (libc6,x86-64) => /lib64/libpjsua.so libpjsip.so.2 (libc6,x86-64) => /lib64/libpjsip.so.2 libpjsip.so (libc6,x86-64) => /lib64/libpjsip.so libpjsip-ua.so.2 (libc6,x86-64) => /lib64/libpjsip-ua.so.2 libpjsip-ua.so (libc6,x86-64) => /lib64/libpjsip-ua.so libpjsip-simple.so.2 (libc6,x86-64) => /lib64/libpjsip-simple.so.2 libpjsip-simple.so (libc6,x86-64) => /lib64/libpjsip-simple.so libpjnath.so.2 (libc6,x86-64) => /lib64/libpjnath.so.2 libpjnath.so (libc6,x86-64) => /lib64/libpjnath.so libpjmedia.so.2 (libc6,x86-64) => /lib64/libpjmedia.so.2 libpjmedia.so (libc6,x86-64) => /lib64/libpjmedia.so libpjmedia-videodev.so.2 (libc6,x86-64) => /lib64/libpjmedia-videodev.so.2 libpjmedia-videodev.so (libc6,x86-64) => /lib64/libpjmedia-videodev.so libpjmedia-codec.so.2 (libc6,x86-64) => /lib64/libpjmedia-codec.so.2 libpjmedia-codec.so (libc6,x86-64) => /lib64/libpjmedia-codec.so libpjmedia-audiodev.so.2 (libc6,x86-64) => /lib64/libpjmedia-audiodev.so.2 libpjmedia-audiodev.so (libc6,x86-64) => /lib64/libpjmedia-audiodev.so libpjlib-util.so.2 (libc6,x86-64) => /lib64/libpjlib-util.so.2 libpjlib-util.so (libc6,x86-64) => /lib64/libpjlib-util.so libpj.so.2 (libc6,x86-64) => /lib64/libpj.so.2 libpj.so (libc6,x86-64) => /lib64/libpj.so
Шаг 3: Установите Asterisk в CentOS 7
Теперь мы готовы начать установку Asterisk. Вернитесь в наш каталог ~ / build:
# cd ~/build
Перейдите на страницу загрузки Asterisk и скачайте последнюю версию, или вы можете использовать следующую команду wget для загрузки файла в терминале.
# wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-16-current.tar.gz
Теперь извлеките архив и перейдите во вновь созданный каталог:
# tar -zxvf asterisk-16-current.tar.gz # cd asterisk-16.0.0
Пришло время упомянуть, что если вы хотите включить поддержку mp3 для воспроизведения музыки, когда клиент находится на удержании, вам нужно будет установить еще несколько зависимостей. Эти шаги являются необязательными:
# yum install svn # ./contrib/scripts/get_mp3_source.sh
После второго шага вы должны получить аналогичный результат:
A addons/mp3 A addons/mp3/MPGLIB_README A addons/mp3/common.c A addons/mp3/huffman.h A addons/mp3/tabinit.c A addons/mp3/Makefile A addons/mp3/README A addons/mp3/decode_i386.c A addons/mp3/dct64_i386.c A addons/mp3/MPGLIB_TODO A addons/mp3/mpg123.h A addons/mp3/layer3.c A addons/mp3/mpglib.h A addons/mp3/decode_ntom.c A addons/mp3/interface.c
Начните с запуска скрипта configure для подготовки пакета для компиляции:
# ./configure --libdir=/usr/lib64
Если вы получаете какие-либо недостающие зависимости, установите их. В моем случае я получил следующую ошибку:
configure: error: patch is required to configure bundled pjproject
Чтобы обойти это, просто запустите:
# yum install patch
И заново запустите скрипт configure. Теперь давайте начнем процесс сборки:
# make menuselect
Через несколько секунд вы должны получить список функций, которые можно включить:
Если вы попытаетесь использовать музыку на удержании, вам нужно включить функцию format_mp3 из раздела «Add-ons».
Сохраните список и выполните следующую команду:
# make install
Чтобы установить образцы файлов конфигурации, используйте следующую команду:
# make samples
Чтобы запустить Asterisk при загрузке, используйте:
# make config
Наконец, давайте проверим нашу установку:
# service asterisk start # asterisk -rvv
Вы должны увидеть результат, похожий на этот:
Asterisk 16.0.0, Copyright (C) 1999 - 2018, Digium, Inc. and others. Created by Mark Spencer <markster@digium.com> Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details. This is free software, with components licensed under the GNU General Public License version 2 and other licenses; you are welcome to redistribute it under certain conditions. Type 'core show license' for details. ========================================================================= Connected to Asterisk 16.0.0 currently running on asterisk (pid = 3985) asterisk*CLI>
Если вы хотите увидеть список доступных команд, введите:
asterisk*CLI> core show help
Чтобы выйти из консоли Asterisk, просто введите:
asterisk*CLI> exit
Asterisk все еще работает в фоновом режиме.
Asterisk is an open-source framework used for building communication applications. You can use it to turn a local computer or server to the communication server. It is used to power IP PBX systems, VoIP gateways, conference servers, and other solutions. It’s used by all kind of organizations worldwide and finally, but not last it is free and open source.
In this tutorial, we are going to show you how to install Asterisk on CentOS 8/7 (instructions also works on RHEL 8/7), but before we start, we will need to make some preparations so Asterisk can run smoothly after the installation.
Step 1: Disable SELinux on CentOS
To do this, SSH to your system and using your favorite command line text editor, open /etc/selinux/config and disable SELINUX.
# vim /etc/selinux/config
SELinux line should look like this:
SELINUX=disabled
Now reboot your system. Once it comes back SSH again to that system.
Step 2: Install Required Packages
Asterisk has quite a few requirements that need to be installed. You can use the following yum command to install the required packages as shown.
# yum install -y epel-release dmidecode gcc-c++ ncurses-devel libxml2-devel make wget openssl-devel newt-devel kernel-devel sqlite-devel libuuid-devel gtk2-devel jansson-devel binutils-devel libedit libedit-devel
Before we continue further, create a new user with sudo privileges called “asterisk“, we will use this user to setup asterisk on the system.
# adduser asterisk -c "Asterisk User" # passwd asterisk # usermod -aG wheel asterisk # su asterisk
Next, install PJSIP, is a free open source multimedia communication library that implements standard based protocols such as SIP,SDP,RTP,STUN,TURN, and ICE. It is the Asterisk SIP channel driver that should improve the clarity of the calls.
To get the latest version, first let’s create a temporary directory where we will build the package from source.
$ mkdir ~/build && cd ~/build
Now go the PJSIP download page and grab the package or use the following wget command to download the package directly in the terminal.
Note that by the writing of this article the latest version is 2.8, this may change in future, thus make sure to use the latest version:
$ wget https://www.pjsip.org/release/2.9/pjproject-2.9.tar.bz2
Once the download is complete, extract the file and change to that directory.
$ tar xvjf pjproject-2.9.tar.bz2 $ cd pjproject-2.9
The next step is to prepare the package to be compiled. You can use the following command:
$ ./configure CFLAGS="-DNDEBUG -DPJ_HAS_IPV6=1" --prefix=/usr --libdir=/usr/lib64 --enable-shared --disable-video --disable-sound --disable-opencore-amr
You should not see any errors or warnings. Ensure that all dependencies are met:
$ make dep
And now we can complete the install and link libraries with:
$ make && sudo make install && sudo ldconfig
Finally, ensure that all libraries are installed and present:
$ ldconfig -p | grep pj
You should get the following output:
libpjsua2.so.2 (libc6,x86-64) => /lib64/libpjsua2.so.2 libpjsua2.so (libc6,x86-64) => /lib64/libpjsua2.so libpjsua.so.2 (libc6,x86-64) => /lib64/libpjsua.so.2 libpjsua.so (libc6,x86-64) => /lib64/libpjsua.so libpjsip.so.2 (libc6,x86-64) => /lib64/libpjsip.so.2 libpjsip.so (libc6,x86-64) => /lib64/libpjsip.so libpjsip-ua.so.2 (libc6,x86-64) => /lib64/libpjsip-ua.so.2 libpjsip-ua.so (libc6,x86-64) => /lib64/libpjsip-ua.so libpjsip-simple.so.2 (libc6,x86-64) => /lib64/libpjsip-simple.so.2 libpjsip-simple.so (libc6,x86-64) => /lib64/libpjsip-simple.so libpjnath.so.2 (libc6,x86-64) => /lib64/libpjnath.so.2 libpjnath.so (libc6,x86-64) => /lib64/libpjnath.so libpjmedia.so.2 (libc6,x86-64) => /lib64/libpjmedia.so.2 libpjmedia.so (libc6,x86-64) => /lib64/libpjmedia.so libpjmedia-videodev.so.2 (libc6,x86-64) => /lib64/libpjmedia-videodev.so.2 libpjmedia-videodev.so (libc6,x86-64) => /lib64/libpjmedia-videodev.so libpjmedia-codec.so.2 (libc6,x86-64) => /lib64/libpjmedia-codec.so.2 libpjmedia-codec.so (libc6,x86-64) => /lib64/libpjmedia-codec.so libpjmedia-audiodev.so.2 (libc6,x86-64) => /lib64/libpjmedia-audiodev.so.2 libpjmedia-audiodev.so (libc6,x86-64) => /lib64/libpjmedia-audiodev.so libpjlib-util.so.2 (libc6,x86-64) => /lib64/libpjlib-util.so.2 libpjlib-util.so (libc6,x86-64) => /lib64/libpjlib-util.so libpj.so.2 (libc6,x86-64) => /lib64/libpj.so.2 libpj.so (libc6,x86-64) => /lib64/libpj.so
Step 3: Install Asterisk on CentOS 8/7
We are now ready to initiate the installation of Asterisk. Navigate back to our ~/build directory:
$ cd ~/build
Go to the Asterisk download page and grab the latest version or you can use the following wget command to download the file in terminal.
$ wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-16-current.tar.gz
By the writing of this tutorial, the latest Asterisk version is 16. Make sure that you are downloading the latest version of Asterisk, when you are following the steps.
Now extract the archive and navigate to the newly created directory:
$ tar -zxvf asterisk-16-current.tar.gz $ cd asterisk-16.5.1
This is the time to mention, that if you wish to enable mp3 support to play music while the client is on hold, you will need to install a few more dependencies. These steps are optional:
$ sudo yum install svn $ sudo ./contrib/scripts/get_mp3_source.sh
After the second step, you should get output similar to these:
A addons/mp3 A addons/mp3/Makefile A addons/mp3/README A addons/mp3/decode_i386.c A addons/mp3/dct64_i386.c A addons/mp3/MPGLIB_TODO A addons/mp3/mpg123.h A addons/mp3/layer3.c A addons/mp3/mpglib.h A addons/mp3/decode_ntom.c A addons/mp3/interface.c A addons/mp3/MPGLIB_README A addons/mp3/common.c A addons/mp3/huffman.h A addons/mp3/tabinit.c Exported revision 202.
Start by running the configure script to prepare the package for compiling:
$ sudo contrib/scripts/install_prereq install $ ./configure --libdir=/usr/lib64 --with-jansson-bundled
If you get any missing dependencies to install them. In my case, I got the following error:
configure: error: patch is required to configure bundled pjproject
To go around this simply run:
# yum install patch
And re-run the configure script. If all went perfectly without errors, you will see the following screenshot.
Now, let’s start the build process:
$ make menuselect
After a few seconds, you should get a list of features to enable:
If you attempt to use music on hold feature, you will need to enable the “format_mp3” feature from “Add-ons” section. Save your list and run the following command:
$ make && sudo make install
To install the sample configuration files, use the command below:
$ sudo make samples
To start Asterisk on boot, use:
$ sudo make config
Update the ownership of the following directories and files:
$ sudo chown asterisk. /var/run/asterisk $ sudo chown asterisk. -R /etc/asterisk $ sudo chown asterisk. -R /var/{lib,log,spool}/asterisk
Finally, let’s test our installation with:
$ sudo service asterisk start $ sudo asterisk -rvv
You should see output similar to this one:
Asterisk 16.5.1, Copyright (C) 1999 - 2018, Digium, Inc. and others. Created by Mark Spencer <[email protected]> Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details. This is free software, with components licensed under the GNU General Public License version 2 and other licenses; you are welcome to redistribute it under certain conditions. Type 'core show license' for details. ========================================================================= Connected to Asterisk 16.5.1 currently running on centos8-tecmint (pid = 9020) centos8-tecmint*CLI>
If you want to see a list of available commands type:
asterisk*CLI> core show help
To exit the Asterisk prompt, simply type:
asterisk*CLI> exit
Asterisk will still be running in the background.
Conclusion
Now you have a running Asterisk server and you can start connecting phones and extensions and adjust your configuration per your needs. For more details how to achieve this, it is recommended to use the Asterisk Wiki page. If you have any questions or comments, please let us know in the comment section below.
Theres a way to use the res_speech_vosk.so in FreePbx? i tried to compile but is not working
I had limited success in this, meaning I could only get audio out from
freepbx to the vosk server if they were the same machine, which severely
limited my options.
…
Theres a way to use the res_speech_vosk.so in FreePbx? i tried to compile but is not working
It is the same asterisk, you just point asterisk path in configure and it should build.
Let us know what is the problem you’ve met.
freepbx to the vosk server if they were the same machine, which severely
You’d better open another issue, it doesn’t seem related to original problem.
Could someone forward the commands to compile on FreePBX?
I installed the package using yum install asterisk-devel, and run ./configure —with-asterisk=/usr/lib64/asterisk/modules —prefix=/usr/include/asterisk
I get the following error:
configure: error: patch is required to configure bundled pjproject
configure: error: patch is required to configure bundled pjproject
It says you need «patch» binary. You can instal it with yum.
that you’re recompiling all the asterisk modules, you wouldn’t need only the vosk-asterisk module?
Sorry, I have no idea what are you asking about. You’d better describe with technical details.
that you’re recompiling all the asterisk modules, you wouldn’t need only the vosk-asterisk module?
Sorry, I have no idea what are you asking about. You’d better describe with technical details.
I messed up when compiling, I managed to compile on FreePBX, thanks for your attention…
Asterisk is an open source framework used for building communication applications. You can use it to turn a local computer or server to communication server. It is used to power IP PBX systems, VoIP gateways, conference servers and other solutions. It’s used by all kind of organizations worldwide and finally, but not last it is free and open source.
In this tutorial, we are going to show you how to install Asterisk on CentOS 7 (instructions also works on RHEL 7), but before we start, we will need to make some preparations so Asterisk can run smoothly after the installation.
Step 1: Disable SELinux on CentOS 7
To do this, first SSH to your system and using your favorite command line text editor, open /etc/selinux/configand disable SELINUX.
# vim /etc/selinux/config
SELinux line should look like this:
SELINUX=disabled
Now reboot your system. Once it comes back SSH again to that system.
Step 2: Install Required Packages
Asterisk has quite a few requirements that need to be installed. You can use the following yum command to install required packages as shown.
# yum install -y epel-release dmidecode gcc-c++ ncurses-devel libxml2-devel make wget openssl-devel newt-devel kernel-devel sqlite-devel libuuid-devel gtk2-devel jansson-devel binutils-devel
Before we continue further, create a new user through which we will use asterisk.
# adduser asterisk -c "Asterisk User" # su asterisk
Next, install PJSIP, is a free open source multimedia communication library that implements standard based protocols such as SIP,SDP,RTP,STUN,TURN and ICE. It is the Asterisk SIP channel driver that should improve the clarity of the calls.
To get the latest version, first let’s create a temporary directory where we will build the package from source.
$ mkdir ~/build && cd ~/build
Now go the PJSIP download page and grab the package or use the following wget command to download the package directly in terminal.
Note that by the writing of this article the latest version is 2.8, this may change in future, thus make sure to use the latest version:
$ wget https://www.pjsip.org/release/2.8/pjproject-2.8.tar.bz2
Once the download is complete, extract the file and change to that directory.
$ tar xvjf pjproject-2.8.tar.bz2 $ cd pjproject-2.8
The next step is to prepare the package to be compiled. You can use the following command:
$ ./configure CFLAGS="-DNDEBUG -DPJ_HAS_IPV6=1" --prefix=/usr --libdir=/usr/lib64 --enable-shared --disable-video --disable-sound --disable-opencore-amr
You should not see any errors or warnings. Ensure that all dependencies are met:
$ make dep
And now we can complete the install and link libraries with:
$ make && sudo make install && sudo ldconfig
Finally ensure that all libraries are installed and present:
$ ldconfig -p | grep pj
You should get the following output:
libpjsua2.so.2 (libc6,x86-64) => /lib64/libpjsua2.so.2 libpjsua2.so (libc6,x86-64) => /lib64/libpjsua2.so libpjsua.so.2 (libc6,x86-64) => /lib64/libpjsua.so.2 libpjsua.so (libc6,x86-64) => /lib64/libpjsua.so libpjsip.so.2 (libc6,x86-64) => /lib64/libpjsip.so.2 libpjsip.so (libc6,x86-64) => /lib64/libpjsip.so libpjsip-ua.so.2 (libc6,x86-64) => /lib64/libpjsip-ua.so.2 libpjsip-ua.so (libc6,x86-64) => /lib64/libpjsip-ua.so libpjsip-simple.so.2 (libc6,x86-64) => /lib64/libpjsip-simple.so.2 libpjsip-simple.so (libc6,x86-64) => /lib64/libpjsip-simple.so libpjnath.so.2 (libc6,x86-64) => /lib64/libpjnath.so.2 libpjnath.so (libc6,x86-64) => /lib64/libpjnath.so libpjmedia.so.2 (libc6,x86-64) => /lib64/libpjmedia.so.2 libpjmedia.so (libc6,x86-64) => /lib64/libpjmedia.so libpjmedia-videodev.so.2 (libc6,x86-64) => /lib64/libpjmedia-videodev.so.2 libpjmedia-videodev.so (libc6,x86-64) => /lib64/libpjmedia-videodev.so libpjmedia-codec.so.2 (libc6,x86-64) => /lib64/libpjmedia-codec.so.2 libpjmedia-codec.so (libc6,x86-64) => /lib64/libpjmedia-codec.so libpjmedia-audiodev.so.2 (libc6,x86-64) => /lib64/libpjmedia-audiodev.so.2 libpjmedia-audiodev.so (libc6,x86-64) => /lib64/libpjmedia-audiodev.so libpjlib-util.so.2 (libc6,x86-64) => /lib64/libpjlib-util.so.2 libpjlib-util.so (libc6,x86-64) => /lib64/libpjlib-util.so libpj.so.2 (libc6,x86-64) => /lib64/libpj.so.2 libpj.so (libc6,x86-64) => /lib64/libpj.so
Step 3: Install Asterisk in CentOS 7
We are now ready to initiate the installation of Asterisk. Navigate back to our ~/build directory:
$ cd ~/build
Go to Asterisk download page and grab the the latest version or you can use the following wget command to download the file in terminal.
$ wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-16-current.tar.gz
By the writing of this tutorial, the latest Asterisk version is 16. Make sure that you are downloading the latest version of Asterisk, when you are following the steps.
Now extract the archive and navigate to the newly created directory:
$ tar -zxvf asterisk-16-current.tar.gz $ cd asterisk-16.0.0
This is the time to mention, that if you wish to enable mp3 support to play music while client is on hold, you will need to install few more dependencies. These steps are optional:
# yum install svn # ./contrib/scripts/get_mp3_source.sh
After the second step, you should get output similar to these:
A addons/mp3 A addons/mp3/MPGLIB_README A addons/mp3/common.c A addons/mp3/huffman.h A addons/mp3/tabinit.c A addons/mp3/Makefile A addons/mp3/README A addons/mp3/decode_i386.c A addons/mp3/dct64_i386.c A addons/mp3/MPGLIB_TODO A addons/mp3/mpg123.h A addons/mp3/layer3.c A addons/mp3/mpglib.h A addons/mp3/decode_ntom.c A addons/mp3/interface.c
Start by running the configure script to prepare the package for compiling:
$ sudo contrib/scripts/install_prereq install $ ./configure --libdir=/usr/lib64 --with-jansson-bundled $ make menuselect
If you get any missing dependencies install them. In my case, I got the following error:
configure: error: patch is required to configure bundled pjproject
To go around this simply run:
# yum install patch
And re-run the configure script. Now lets start the build process:
$ make menuselect
After few seconds, you should get a list of features to enable:
Asterisk Modules
If you attempt to use music on hold feature, you will need to enable the “format_mp3” feature from “Add-ons” section. Save your list and run the following command:
make && sudo make install
To install the sample configuration files, use the command below:
sudo make samples
To start Asterisk on boot, use:
sudo make config
As root user update the ownership of the following directories and files:
# chown asterisk. /var/run/asterisk # chown asterisk. -R /etc/asterisk # chown asterisk. -R /var/{lib,log,spool}/asterisk
Finally let’s test our installation with:
$ sudo service asterisk start $ sudo asterisk -rvv
You should see output similar to this one:
Asterisk 16.0.0, Copyright (C) 1999 - 2018, Digium, Inc. and others. Created by Mark Spencer <markster@digium.com> Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details. This is free software, with components licensed under the GNU General Public License version 2 and other licenses; you are welcome to redistribute it under certain conditions. Type 'core show license' for details. ========================================================================= Connected to Asterisk 16.0.0 currently running on asterisk (pid = 3985) asterisk*CLI>
If you want to see a list of available commands type:
asterisk*CLI> core show help
To exit the Asterisk prompt, simply type:
asterisk*CLI> exit
Asterisk will still be running in the background.
Conclusion
Now you have a running Asterisk server and you can start connecting phones and extensions and adjust your configuration per your needs. For more details how to achieve this, it is recommended to use the Asterisk Wiki page. If you have any questions or comments, please let us know in the comment section below.
Source
Asterisk is an open supply framework used for constructing communication functions. You should use it to show a neighborhood laptop or server to communication server. It’s used to energy IP PBX techniques, VoIP gateways, convention servers and different options. It’s utilized by all sort of organizations worldwide and at last, however not final it’s free and open supply.
On this tutorial, we’re going to present you easy methods to set up Asterisk on CentOS 7 (directions additionally works on RHEL 7), however earlier than we begin, we might want to make some preparations so Asterisk can run easily after the set up.
Step 1: Disable SELinux on CentOS 7
To do that, first SSH to your system and utilizing your favourite command line textual content editor, open /and many others/selinux/config and disable SELINUX.
# vim /and many others/selinux/config
SELinux line ought to appear to be this:
SELINUX=disabled
Now reboot your system. As soon as it comes again SSH once more to that system.
Step 2: Set up Required Packages
Asterisk has fairly a couple of necessities that must be put in. You should use the next yum command to put in required packages as proven.
# yum set up -y epel-release dmidecode gcc-c++ ncurses-devel libxml2-devel make wget openssl-devel newt-devel kernel-devel sqlite-devel libuuid-devel gtk2-devel jansson-devel binutils-devel
Subsequent, set up PJSIP, is a free open supply multimedia communication library that implements normal primarily based protocols corresponding to SIP,SDP,RTP,STUN,TURN and ICE. It’s the Asterisk SIP channel driver that ought to enhance the readability of the calls.
To get the most recent model, first let’s create a short lived listing the place we’ll construct the package deal from supply.
# mkdir ~/construct && cd ~/construct
Now go the PJSIP obtain web page and seize the package deal or use the next wget command to obtain the package deal immediately in terminal.
Notice that by the writing of this text the most recent model is 2.8, this will change in future, thus be sure to make use of the most recent model:
# wget https://www.pjsip.org/release/2.8/pjproject-2.8.tar.bz2
As soon as the obtain is full, extract the file and alter to that listing.
# tar xvjf pjproject-2.8.tar.bz2 # cd pjproject-2.8
The following step is to arrange the package deal to be compiled. You should use the next command:
./configure CFLAGS="-DNDEBUG -DPJ_HAS_IPV6=1" --prefix=/usr --libdir=/usr/lib64 --enable-shared --disable-video --disable-sound --disable-opencore-amr
You shouldn’t see any errors or warnings. Make sure that all dependencies are met:
# make dep
And now we are able to full the set up and hyperlink libraries with:
# make && make set up && ldconfig
Lastly be sure that all libraries are put in and current:
# ldconfig -p | grep pj
It is best to get the next output:
libpjsua2.so.2 (libc6,x86-64) => /lib64/libpjsua2.so.2 libpjsua2.so (libc6,x86-64) => /lib64/libpjsua2.so libpjsua.so.2 (libc6,x86-64) => /lib64/libpjsua.so.2 libpjsua.so (libc6,x86-64) => /lib64/libpjsua.so libpjsip.so.2 (libc6,x86-64) => /lib64/libpjsip.so.2 libpjsip.so (libc6,x86-64) => /lib64/libpjsip.so libpjsip-ua.so.2 (libc6,x86-64) => /lib64/libpjsip-ua.so.2 libpjsip-ua.so (libc6,x86-64) => /lib64/libpjsip-ua.so libpjsip-simple.so.2 (libc6,x86-64) => /lib64/libpjsip-simple.so.2 libpjsip-simple.so (libc6,x86-64) => /lib64/libpjsip-simple.so libpjnath.so.2 (libc6,x86-64) => /lib64/libpjnath.so.2 libpjnath.so (libc6,x86-64) => /lib64/libpjnath.so libpjmedia.so.2 (libc6,x86-64) => /lib64/libpjmedia.so.2 libpjmedia.so (libc6,x86-64) => /lib64/libpjmedia.so libpjmedia-videodev.so.2 (libc6,x86-64) => /lib64/libpjmedia-videodev.so.2 libpjmedia-videodev.so (libc6,x86-64) => /lib64/libpjmedia-videodev.so libpjmedia-codec.so.2 (libc6,x86-64) => /lib64/libpjmedia-codec.so.2 libpjmedia-codec.so (libc6,x86-64) => /lib64/libpjmedia-codec.so libpjmedia-audiodev.so.2 (libc6,x86-64) => /lib64/libpjmedia-audiodev.so.2 libpjmedia-audiodev.so (libc6,x86-64) => /lib64/libpjmedia-audiodev.so libpjlib-util.so.2 (libc6,x86-64) => /lib64/libpjlib-util.so.2 libpjlib-util.so (libc6,x86-64) => /lib64/libpjlib-util.so libpj.so.2 (libc6,x86-64) => /lib64/libpj.so.2 libpj.so (libc6,x86-64) => /lib64/libpj.so
Step 3: Set up Asterisk in CentOS 7
We are actually able to provoke the set up of Asterisk. Navigate again to our ~/construct listing:
# cd ~/construct
Go to Asterisk obtain web page and seize the the most recent model or you should use the next wget command to obtain the file in terminal.
# wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-16-current.tar.gz
By the writing of this tutorial, the most recent Asterisk model is 16. Just remember to are downloading the most recent model of Asterisk, if you find yourself following the steps.
Now extract the archive and navigate to the newly created listing:
# tar -zxvf asterisk-16-current.tar.gz # cd asterisk-16.0.0
That is the time to say, that in the event you want to allow mp3 assist to play music whereas shopper is on maintain, you will have to put in few extra dependencies. These steps are optionally available:
# yum set up svn # ./contrib/scripts/get_mp3_source.sh
After the second step, it’s best to get output much like these:
A addons/mp3 A addons/mp3/MPGLIB_README A addons/mp3/frequent.c A addons/mp3/huffman.h A addons/mp3/tabinit.c A addons/mp3/Makefile A addons/mp3/README A addons/mp3/decode_i386.c A addons/mp3/dct64_i386.c A addons/mp3/MPGLIB_TODO A addons/mp3/mpg123.h A addons/mp3/layer3.c A addons/mp3/mpglib.h A addons/mp3/decode_ntom.c A addons/mp3/interface.c
Begin by working the configure script to arrange the package deal for compiling:
# ./configure --libdir=/usr/lib64
If you happen to get any lacking dependencies set up them. In my case, I obtained the next error:
configure: error: patch is required to configure bundled pjproject
To go round this merely run:
# yum set up patch
And re-run the configure script. Now lets begin the construct course of:
# make menuselect
After few seconds, it’s best to get a listing of options to allow:
Asterisk Modules
If you happen to try to make use of music on maintain function, you will have to allow the “format_mp3” function from “Add-ons” part. Save your checklist and run the next command:
# make set up
To put in the pattern configuration information, use the command under:
# make samples
To start out Asterisk on boot, use:
# make config
Lastly let’s check our set up with:
# service asterisk begin # asterisk -rvv
It is best to see output much like this one:
Asterisk 16.0.0, Copyright (C) 1999 - 2018, Digium, Inc. and others. Created by Mark Spencer <[email protected]> Asterisk comes with ABSOLUTELY NO WARRANTY; sort 'core present guarantee' for particulars. That is free software program, with parts licensed beneath the GNU Common Public License model 2 and different licenses; you might be welcome to redistribute it beneath sure situations. Sort 'core present license' for particulars. ========================================================================= Related to Asterisk 16.0.Zero at the moment working on asterisk (pid = 3985) asterisk*CLI>
If you wish to see a listing of obtainable instructions sort:
asterisk*CLI> core present assist
To exit the Asterisk immediate, merely sort:
asterisk*CLI> exit
Asterisk will nonetheless be working within the background.
Conclusion
Now you’ve gotten a working Asterisk server and you can begin connecting telephones and extensions and modify your configuration per your wants. For extra particulars easy methods to obtain this, it is strongly recommended to make use of the Asterisk Wiki web page. If in case you have any questions or feedback, please tell us within the remark part under.
В общем установил. Вот последовательность, которая привела к положительному результату:
1. yum -y update
2. Скачать asterisk с оф. сайта
https://www.asterisk.org/downloads
wget _далее_ссылка_на_загрузку
3. Переходим в каталог, куда скачали, распаковываем:
tar -xvjf _имя_архива_
4. Переходим в каталог, куда распаковался архив
5. ./configure
В случае ошибки
patch is required to configure bundled pjproject
выполняем:
yum -y install patch
В случае других проблем на этом этапе для fedora подходят советы для CentOS:
http://linux.mixed-spb.ru/aste… oubles.php
6. make menuselect -> F12
7. make && make install
8. make samples && make config
9. Добавляем в автозагрузку:
chkconfig asterisk on
10. Запускаем asterisk:
asterisk -vvv
11. Зайти в консоль:
asterisk -rvvv
Чтобы выйти, exit или quit
Неплохая инструкция по установке:
https://voxlink.ru/kb/asterisk… om-source/
Теперь пытаюсь залогиниться абонентом.
Для этого в sip.conf прописал (см. скрин). Вприсал эти настройки в phonerlite — пишет в авторизации отказано (request timeout).
Если что, виртуалке присвоил статический IP из локалки, проверил пинг до шлюза и даже инет, на всякий случай. С компа, откуда пытаюсь подключиться, пинганул виртуалку с астером — все ок. Но тем не менее логин не проходит. Что делать дальше?
И кстати, можно как-то просмотреть что делает астериск в реальном времени? Чтобы все что происходит валилось на экран.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.