Для начала определимся что такое Asterisk — это бесплатное решение компьютерной телефонии, проще говоря IP АТС. Первая версия ПО была выпущена 23 сентября 2004. Asterisk активно развивается и по сей день. Большое сообщество поклонников не зря выбирают данную АТС. Благодаря не очень сложной настройке, стабильности и большому количеству расширений. Давайте рассмотрим как проходит установка Asterisk 18 на Centos 8.
- Начальная настройка системы
- Отключение selinux
- Установка зависимостей
- Выполняем команды также как и раньше
- Установка
- Осуществим некоторые модификации в Apache
- Скачивание и установка FreePBX
- Выключение фаервола и запуск и автозагрузка http сервера
- Готово!
- Проблемы с отображением кириллицы в CDR
- Недорогой хостинг для сайтов
- Установите Asterisk 16 в Ubuntu 18.04 / 16.04 и Debian 10/9
- Шаг 1. Обновите систему
- Шаг 2. Установите зависимости Asterisk 16 LTS
- Шаг 3. Загрузите тарбол Asterisk 16 LTS
- Шаг 4. Соберите и установите Asterisk 16 в Ubuntu 20.04 / 18.04 / 16.04 и Debian 10/9
- Создать пользователя Asterisk
- Рекомендуемый контент
- Задайте пароль root пользователя системы
- Получите права супер пользователя
- Сделайте апдейт системы
- Установите требуемые зависимости
- Установка php5.6 вместо php7.0
- libmyodbc ubuntu 16.04
- Как использовать данное руководство.
- Скачайте исходные файлы
- Скомпилируйте и установите Lame (mp3)
- Скомпилируйте и установите DAHDI и LibPRI
- Скомпилируйте и установите pjproject
- Скомпилируйте и установите Asterisk
- Asterisk 14 + OPUS
- Запуск от имени пользователя ‘Asterisk’
- Перезагрузите сервер и проверьте состояние Asterisk подключившись к консоли
- Настроим Apache
- настроим ODBC
- Скачайте FreePBX
- Подключимся к FreePBX
- Первоначальная настройка FreePBX 13
- Advanced Settings
- Установка Asterisk 18 на Debian 11
- Как установить Asterisk на Debian 11 | Debian 10
- Шаг 2. Установка Asterisk на Debian 11.
- Шаг 3. Проверьте сервер VoIP Asterisk.
- Asterisk and PostgreSQL
- ./etc/asterisk/modules.conf
- ./etc/asterisk/res_odbc.conf
- odbc.ini
- odbcinst.ini
- docker-compose.yml
- PostgreSQL Schema
- init.sql
- Start Asterisk and PostgreSQL
- Install Asterisk 18 with FreePBX on Debian 11 / Debian 10
- Features of Asterisk
- System updates
- Install Asterisk 18 LTS Dependencies
- Download and Install Asterisk 18 LTS
- Building Asterisk 18 LTS on Debian 11/10
- Create Asterisk User and Start Asterisk
- Install FreePBX 16 on Debian 11 / Debian 10
- Install MariaDB database server / client
- Install Node.JS
- Install Apache2 Web Server
- Install and Configure PHP
- Install FreePBX 16 on Debian 11 / Debian 10
- SUPPORT OUR WORK WITH A CUP OF COFFEE
- Шаг 1. Обновление системы
- Шаг 2. Установка необходимых зависимостей
- Шаг 3. Перезапускаем систему
- Шаг 4. Скачаем необходимые пакеты
- Шаг 5. Распакуем и установим Dahdi, LibPRI
- Шаг 6. Распакуем и установим PjProject
- Шаг 7. Распакуем и установим Asterisk 13
- Шаг 8. Скачаем и установим звуковые файлы для Asterisk 13
- Шаг 9. Сделаем русский голос в Asterisk 13 по умолчанию
- Шаг 10. Создаем одноименного пользователя и задаем права на каталоги
- Шаг 11. Сделаем запуск Asterisk от одноименного пользователя
- Подготовка сервера
Настройка системы
Все действия по настройке и установке я произвожу с правами суперпользователя (root). Если у вас возникает ошибка с доступом используйте root или sudo.
Установка времени
Если при установки операционной системы вы выставили правильное время, можете смело пропускать данный пункт. Проверить текущий часовой пояс и время можно командой

В моём случае стоит временная зона America/New_York необходимо заменить ее на Europe/Moscow.
timedatectl set-timezone Europe/Moscow

Перевод SELINUX в режим Permissive
Режим Permissive означает что SELINUX не будет ничего блокировать. Все действия попадающие под блокировку будут просто записываться в журнал.
setenforce 0 sed -i 's/\(^SELINUX=\).*/\SELINUX=permissive/' /etc/selinux/config
Проверить текущий статус SELINUX можно командой
Откроем необходимые порты
Откроем порты в firewalld для подключения клиентов
firewall-cmd --permanent --add-port=5060/{tcp,udp} firewall-cmd --permanent --add-port=5061/{tcp,udp}
- 5060 — порт для подключения SIP
- 5061 — порт для подключения SIP с использованием шифрования TLS
Перечитаем измененный конфиг для применения новых параметров firewalld
Подключение репозитория EPEL
rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
EPEL репозиторий содержит большое количество дополнительных пакетов, которых нет в стандартном репозитории. Некоторые из пакетов необходимых для работы Asterisk будут устанавливаться отсюда.
Установка связанного ПО
Установим набор пакетов Development Tools
dnf groupinstall "Development tools"
Установка пакета jansson
dnf install jansson-devel
Установим пакет libedit
dnf install https://rpmfind.net/linux/fedora/linux/releases/33/Everything/x86_64/os/Packages/l/libedit-3.1-33.20191231cvs.fc33.x86_64.rpm dnf install https://rpmfind.net/linux/fedora/linux/releases/33/Everything/x86_64/os/Packages/l/libedit-devel-3.1-33.20191231cvs.fc33.x86_64.rpm
Загрузим и установим PJSIP
PJSIP — это новая мультимедийная библиотека для работы с протоколами SIP, RTP, STUN, SDP и т.д. Впоследствии Asterisk откажется от старой библиотеки SIP в пользу PJSIP.
cd /opt/ git clone https://github.com/pjsip/pjproject.git cd pjproject ./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
Установка Asterisk
Скачаем последнюю версию Asterisk с сайта разработчика и распакуем архив
cd /opt wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-18-current.tar.gz tar -xvf asterisk-*.tar.gz cd asterisk-*/
Запустим установку зависимостей Asterisk
./contrib/scripts/install_prereq install
После успешной установки появится соответствующее сообщение.

Очистка временных файлов созданных в процессе установки
Добавляем возможность работы с форматом mp3
./contrib/scripts/get_mp3_source.sh
Конфигурируем исходник Asterisk
./configure --libdir=/usr/lib64
После успешного выполнения команды появиться примерно такая надпись, как на картинке ниже

Запустим меню выбора дополнительных параметров установки Asterisk
Передвигаемся по меню стрелочками, выбрать или отменить выбор компонента можно клавишей Enter. Разберем какие компоненты помимо стандартных должны быть отмечены.
- Add-ons — chan_ooh323, format_mp3, res_config_mysql
- Codec Translators — отмечаем все кодеки
- Core Sound Packages — выделяем все звуковые пакеты с русским языком CORE-SOUNDS-RU
- Music On Hold File Packages — выделяем все пункты в данном меню




После завершения выбора компонентов нажимаем кнопку Save & Exit
Переходим к установке Asterisk
Результатом успешного выполнения команды make будет текст такого содержания

Далее выполним make install
После успешной установки будет сообщение

На данном этапе установка Asterisk завершена, перейдём к настройке. Соберем конфигурационные файлы с комментариями и примерами. Данная процедура не обязательна, делаете по необходимости.
Добавим скрипты инициализации в автозагрузку
Учитывая тот факт что Asterisk генерирует достаточно большое количество журналов, советую использовать ротацию. Это не обязательно, но в случае высокой нагрузки крайне желательно. Итак, включить ротацию логов можно так
Создание пользователя asterisk
Необходимо создать пользователя под которым Asterisk будет запускаться.
groupadd asterisk useradd -r -d /var/lib/asterisk -g asterisk asterisk usermod -aG audio,dialout asterisk
Изменим владельца соответствующих каталогов
chown -R asterisk.asterisk /etc/asterisk chown -R asterisk.asterisk /var/lib/asterisk chown -R asterisk.asterisk /var/log/asterisk chown -R asterisk.asterisk /var/spool/asterisk chown -R asterisk.asterisk /usr/lib64/asterisk
Укажем пользователя от которого будет запускаться Asterisk
Редактируем файл /etc/sysconfig/asterisk
nano /etc/sysconfig/asterisk
Проверяем указанные строки, если они есть раскомментируем, если нет, добавим в файл.
AST_USER="asterisk" AST_GROUP="asterisk"

Откроем на редактирование файл /etc/asterisk/asterisk.conf
nano /etc/asterisk/asterisk.conf
Раскомментируем две строки
runuser = asterisk ; The user to run as. rungroup = asterisk ; The group to run as.

Перезагрузим Asterisk для применения внесенных нами изменений
systemctl restart asterisk
Добавим Asterisk в автозагрузку при старте системы
systemctl enable asterisk
Проверяем работу Asterisk
Давайте проверим статус процесса asterisk. Запущен он или нет и есть ли какие-то ошибки
systemctl status asterisk

По статусу видно что служба запущена (active). Внизу можно увидеть краткий лог работы программы.
Зайдем в консоль Asterisk и проверим что программа отвечает. Также выполним несколько команд. Зайти в консоль можно командой asterisk -r я обычно использую asterisk -rvvvvvv для полной детализации лога в консоли.

После успешного входа в консоль можно увидеть версию Asterisk. Попробуем ввести парочку команд для проверки работы.

Команда отработала успешно, проверим список всех SIP peers
Эта команда не сработает. В предыдущих версиях Asterisk данная команда сработала бы без вопросов. Дело в том что начиная с 17 версии Asterisk модуль chan_sip отвечающий за работу модуля SIP считается устаревшим и по умолчанию отключен. Попытаемся его загрузить из консоли.

Видим что модуль загрузился но с предупреждениями. как раз повествует о том, что модуль устарел и скоро его не станет, используйте PJSIP. Попробуем выполнить

Команда отработала успешно. Но, чтобы модуль загружался и после выхода из консоли при старте сервера, необходимо отредактировать файл /etc/asterisk/modules.conf
nano /etc/asterisk/modules.conf
Находим в файле запись noload => chan_sip.so и комментируем её поставив перед ней точку с запятой
Сохраняемся и можно перезагружаться для проверки что все работает.
Я сам постепенно перехожу и всем советую использовать новую библиотеку res_pjsip
В данной статье я рассмотрел как проходит установка Asterisk 18 на Centos 8. В следующей статье планирую рассмотреть процесс первоначальной настройки: подключение пользователей, транков и т.п. Список консольных команд Asterisk также есть на нашем сайте.
Весь процесс установки Asterisk 18 на Centos 8 я записал на видео.
https://youtube.com/watch?v=7XfuR30hs4w%3Ffeature%3Doembed
Хотите отблагодарить автора статьи? Это даст ему дополнительный стимул к написанию новых статей.
Начальная настройка системы
Отключение selinux
sed -i s/SELINUX=enforcing/SELINUX=disabled/g /etc/selinux/config
SELinux status: disabled
Установка зависимостей
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum -y install kernel-devel kernel-headers \ https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm \ http://rpms.remirepo.net/enterprise/remi-release-7.rpm yum-utils
yum-config-manager --enable remi-php56
yum install -y e2fsprogs-devel keyutils-libs-devel krb5-devel libogg \ libselinux-devel libsepol-devel libxml2-devel libtiff-devel gmp php-pear \ php php-gd php-mysql php-pdo php-mbstring ncurses-devel \ audiofile-devel libogg-devel openssl-devel zlib-devel \ perl-DateManip sox git wget net-tools psmisc
yum install -y gcc gcc-c++ make gnutls-devel \ libxml2-devel ncurses-devel subversion doxygen \ texinfo curl-devel net-snmp-devel neon-devel \ uuid-devel libuuid-devel sqlite-devel sqlite \ speex-devel gsm-devel libtool libtool-ltdl libtool-ltdl-devel \ libsrtp libsrtp-devel xmlstarlet
yum install -y unixODBC unixODBC-devel
reboot
yum -y install mariadb-server mariadb mariadb-devel
systemctl start mariadb.service && systemctl enable mariadb.service
Для нормального отображения кириллицы в FreePBX, скомпилируйте коннектор ODBC проблемы_с_отображением_кириллицы_в_cdr
или просто установите из репо
yum install -y mysql-connector-odbc
yum update -y
mysql_secure_installation
Если вы задали пароль root пользователя mysql, позднее, при установке FreePBX выполните скрипт ./install в интерактивном режиме без ключа «-n».
В ходе выполнения установки вам будет предложено ввести пароль пользователя root в mysql.
Введите ранее заданный пароль.
Выполняем команды также как и раньше
cd /usr/src wget http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-15.7.4.tar.gz
http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-16-current.tar.gz
tar zxvf asterisk-1*.tar.gz
cd asterisk*
contrib/scripts/get_mp3_source.sh
contrib/scripts/install_prereq install
./configure --with-pjproject-bundled --with-crypto --with-ssl=ssl --with-srtp
./configure --with-pjproject-bundled --with-crypto --with-ssl=ssl --with-srtp --with-jansson-bundled
make menuselect
На скриншотах показана минимальная установка аддонов, кодеков и драйверов канала.
Установка
make && make install && make config && ldconfig
sed -i 's/ASTARGS=""/ASTARGS="-U asterisk"/g' /usr/sbin/safe_asterisk
useradd -m asterisk && chown asterisk.asterisk /var/run/asterisk && chown -R asterisk.asterisk /etc/asterisk && chown -R asterisk.asterisk /var/{lib,log,spool}/asterisk && chown -R asterisk.asterisk /usr/lib/asterisk
/etc/init.d/asterisk start
Starting asterisk (via systemctl): [ OK ]
ps aux | grep asterisk
root 872 0.0 0.0 115300 780 ? S 12:12 0:00 /bin/sh /usr/sbin/safe_asterisk asterisk 881 2.4 0.9 1314384 36532 ? Sl 12:12 0:01 /usr/sbin/asterisk -f -U asterisk -vvvg -c
Если ответ будет такой:
Unable to connect to remote asterisk (does /var/run/asterisk/asterisk.ctl exist?)
То просто перезагрузите сервер и выполните:
asterisk -vvvr
Осуществим некоторые модификации в Apache
sed -i 's/\(^upload_max_filesize = \).*/\120M/' /etc/php.ini && sed -i 's/^\(User\|Group\).*/\1 asterisk/' /etc/httpd/conf/httpd.conf && sed -i 's/AllowOverride None/AllowOverride All/' /etc/httpd/conf/httpd.conf && systemctl restart httpd.service
Скачивание и установка FreePBX
cd /usr/src && wget http://mirror.freepbx.org/modules/packages/freepbx/freepbx-14.0-latest.tgz && tar xfz freepbx-14.0-latest.tgz && rm -f freepbx-14.0-latest.tgz && cd freepbx && ./start_asterisk start
./install -n
Если после выполнения последней команды консоль выдаст ошибку типа:
Reading /etc/asterisk/asterisk.conf...Error! Unable to read /etc/asterisk/asterisk.conf or it was missing a directories section
Добавить в конец конфига /etc/asterisk/asterisk.conf строки:
[directories] astetcdir => /etc/asterisk astmoddir => /usr/lib/asterisk/modules astvarlibdir => /var/lib/asterisk astdbdir => /var/lib/asterisk astkeydir => /var/lib/asterisk astdatadir => /var/lib/asterisk astagidir => /var/lib/asterisk/agi-bin astspooldir => /var/spool/asterisk astrundir => /var/run/asterisk astlogdir => /var/log/asterisk astsbindir => /usr/sbin
Выключение фаервола и запуск и автозагрузка http сервера
systemctl stop firewalld && systemctl disable firewalld
systemctl start httpd && systemctl enable httpd
Готово!
Проблемы с отображением кириллицы в CDR
сносим старый коннектор:
rpm -e mysql-connector-odbc --nodeps
wget https://cmake.org/files/v3.12/cmake-3.12.3.tar.gz
tar zxvf cmake-3.* cd cmake-3.* ./bootstrap && make && make install
Компилируем новый коннектор:
cd /usr/src git clone https://github.com/MariaDB/mariadb-connector-odbc.git cd mariadb-connector-odbc git checkout 3.0.7 git submodule init git submodule update cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCONC_WITH_UNIT_TESTS=Off -DWITH_OPENSSL=true -DCMAKE_INSTALL_PREFIX=/usr/local make make install
Правим /etc/odbcinst.ini , добавляем новый драйвер:
[MariaDB] Description=ODBC for MariaDB Driver=/usr/local/lib64/libmaodbc.so Setup=/usr/lib64/libodbcmyS.so UsageCount=1
Убедитесь что libmaodbc там где указано:
# find / -name "libmaodbc.so" /usr/local/lib64/libmaodbc.so /usr/src/mariadb-connector-odbc/libmaodbc.so
И измените имя драйвера в odbc.ini на MariaDB
, ну или на то что вы укажете в odbcinst.ini
[MySQL-asteriskcdrdb] Description=MySQL connection to 'asteriskcdrdb' database driver=MariaDB server=localhost database=asteriskcdrdb Port=3306 Socket=/var/lib/mysql/mysql.sock option=3 Charset=utf8
Недорогой хостинг для сайтов
Привет добрые люди !. В этой статье мы расскажем, как установить Asterisk 16 LTS в Ubuntu 20.04 / 18.04 / 16.04 и Debian 10 / Debian 9. Asterisk — это полная система PBX с открытым исходным кодом с функциями большинства коммерчески доступных систем PBX. Он поддерживает конференц-связь, прямой доступ к системе, парковку вызовов, очереди вызовов и многие другие функции.
Установите Asterisk 16 в Ubuntu 18.04 / 16.04 и Debian 10/9
Ниже приведены шаги по установке Asterisk 16 на Ubuntu 20.04 / 18.04 / 16.04 и Debian 10/9.
Шаг 1. Обновите систему
Начните установку Asterisk 16 в Ubuntu 20.04 / 18.04 / 16.04 и Debian 10/9, обновив систему, чтобы избежать проблем с зависимостями:
sudo apt update && sudo apt -y upgrade
sudo reboot
Шаг 2. Установите зависимости Asterisk 16 LTS
После того, как система будет запущена и обновлена, установите все необходимые пакеты зависимостей Asterisk:
sudo apt -y install git curl wget libnewt-dev libssl-dev libncurses5-dev subversion libsqlite3-dev build-essential libjansson-dev libxml2-dev uuid-dev
Если вы получаете сообщение об ошибке пакета Subversion в Ubuntu, как показано ниже:
E: Package 'subversion' has no installation candidate
Затем добавьте репозиторий юниверса и установите из него Subversion:
sudo add-apt-repository universe
sudo apt update && sudo apt -y install subversion
Шаг 3. Загрузите тарбол Asterisk 16 LTS
Поскольку Asterisk 16 недоступен в исходных репозиториях Debian и Ubuntu, установка будет выполнена из исходников. Сборка из исходного кода позволяет легко создавать все необходимые функции УАТС и настраивать систему VoIP.
$ sudo apt policy asterisk
asterisk:
Installed: (none)
Candidate: 1:13.14.1~dfsg-2+deb9u3
Version table:
1:13.14.1~dfsg-2+deb9u3 500
...
$ sudo apt policy asterisk
asterisk:
Installed: (none)
Candidate: 1:13.18.3~dfsg-1ubuntu4
Загрузите последнюю версию Asterisk 16 LTS в локальную систему для установки
cd /usr/src/
sudo curl -O http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-16-current.tar.gz
Затем извлеките файл:
sudo tar xvf asterisk-16-current.tar.gz
cd asterisk-16*/
Выполните следующую команду, чтобы загрузить библиотеку mp3-декодера в дерево исходных текстов.
$ sudo contrib/scripts/get_mp3_source.sh 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 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 Exported revision 202.
Убедитесь, что все зависимости разрешены:
sudo contrib/scripts/install_prereq install
В конце вы должны получить сообщение об успешном завершении:
############################################# ## install completed successfully #############################################
Шаг 4. Соберите и установите Asterisk 16 в Ubuntu 20.04 / 18.04 / 16.04 и Debian 10/9
После того как вы скачали архив Asterisk 16 и установили необходимые зависимости, вы должны быть готовы к сборке Asterisk.
Запустите сценарий настройки, чтобы удовлетворить зависимости сборки.
sudo ./configure
Успех должен иметь результат, как показано ниже:
.................. configure: Menuselect build configuration successfully completed .$$$$$$$$=.. .$7$7.. .7$7:. .$:. ,$7.7 .$7. 7$$ .$77 ..$. $$$ .$$7 ..7$ .?. $$$ .?. 7$$. $.$. .$$7. $$7 .7$$. .$$. .777. .$$$77$$77$$$7. $$, $$~ .7$$$$$$$7. .$$. .$7 .7$$$$7: ?$$. $$ ?7$$$$$I .$$7 $$ .7$$$$$$$$ :$$. $$ $$$7$$$$$$ .$$. $$ $$ 7$$7 .$$ .$$. $$ $$7 .$$. 7$$7 7$$ 7$$ $$$ $$ $$7. $ (TM) $$$$. .7$$$ $ $$$$$$7$$$$$.$$$ $$$$$$$$. configure: Package configured for: configure: OS type : linux-gnu configure: Host CPU : x86_64 configure: build-cpu:vendor:os: x86_64 : pc : linux-gnu : configure: host-cpu:vendor:os: x86_64 : pc : linux-gnu :
Параметры меню настройки, выполнив следующую команду:
sudo make menuselect
Используйте клавиши со стрелками для навигации и клавишу Enter для выбора.
Add-ons выберите chan_ooh323
и, format_mp3
как показано ниже
В Core Sound Packages выберите форматы аудио пакетов, как показано ниже.
Для Music On Hold выберите следующие минимальные модули
В дополнительных звуковых пакетах выберите, как показано ниже:
Вы можете изменить другие конфигурации по своему усмотрению. Когда закончите, сохраните и выйдите, затем установите Asterisk с выбранными модулями.
Затем соберите Asterisk, запустив:
sudo make
Building Documentation For: third-party channels pbx apps codecs formats cdr cel bridges funcs tests main res addons
+--------- Asterisk Build Complete ---------+
+ Asterisk has successfully been built, and +
+ can be installed by running: +
+ +
+ make install +
Когда закончите, установите Asterisk, выполнив команду:
sudo make install
+---- Asterisk Installation Complete -------+
+ +
+ YOU MUST READ THE SECURITY DOCUMENT +
+ +
+ Asterisk has successfully been installed. +
+ If you would like to install the sample +
+ configuration files (overwriting any +
+ existing config files), run: +
+ +
+ For generic reference documentation: +
+ make samples +
+ +
+ For a sample basic PBX: +
+ make basic-pbx +
+ +
+ +
+----------------- or ---------------------+
+ +
+ You can go ahead and install the asterisk +
+ program documentation now or later run: +
+ +
+ make progdocs +
+ +
+ **Note** This requires that you have +
+ doxygen installed on your local system +
+-------------------------------------------+
При желании вы можете установить документацию:
sudo make progdocs
Наконец, установите конфиги и образцы.
sudo make samples
sudo make config
sudo ldconfig
Будет создан файл служебной единицы systemd для звездочки.
Создать пользователя Asterisk
Создайте отдельного пользователя и группу для запуска служб asterisk и назначьте правильные разрешения:
sudo groupadd asterisk
sudo useradd -r -d /var/lib/asterisk -g asterisk asterisk
sudo usermod -aG audio,dialout asterisk
sudo chown -R asterisk.asterisk /etc/asterisk
sudo chown -R asterisk.asterisk /var/{lib,log,spool}/asterisk
sudo chown -R asterisk.asterisk /usr/lib/asterisk
Установите для пользователя Asterisk по умолчанию asterisk:
$ sudo vim /etc/default/asterisk AST_USER="asterisk" AST_GROUP="asterisk" $ sudo vim /etc/asterisk/asterisk.conf runuser = asterisk ; The user to run as. rungroup = asterisk ; The group to run as.
После внесения изменений перезапустите службу asterisk:
sudo systemctl restart asterisk
Включите службу звездочки для запуска при загрузке системы:
sudo systemctl enable asterisk
Сервис должен работать без ошибок:
$ systemctl status asterisk
● asterisk.service - LSB: Asterisk PBX
Loaded: loaded (/etc/init.d/asterisk; generated)
Active: active (running) since Sun 2020-05-03 12:18:29 UTC; 1min 19s ago
Docs: man:systemd-sysv-generator(8)
Tasks: 69 (limit: 2344)
Memory: 112.0M
CGroup: /system.slice/asterisk.service
└─88786 /usr/sbin/asterisk -U asterisk -G asterisk
May 03 12:18:29 ubuntu20 systemd[1]: Starting LSB: Asterisk PBX...
May 03 12:18:29 ubuntu20 asterisk[88756]: * Starting Asterisk PBX: asterisk
May 03 12:18:29 ubuntu20 asterisk[88756]: ...done.
May 03 12:18:29 ubuntu20 systemd[1]: Started LSB: Asterisk PBX.
Проверьте, можете ли вы подключиться к Asterisk CLI:
$ sudo asterisk -rvv
Asterisk , 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.
=========================================================================
Running as user 'asterisk'
Running under group 'asterisk'
Connected to Asterisk 16.10.0 currently running on ubuntu20 (pid = 88786)
ubuntu-01*CLI> core show channels
Channel Location State Application(Data)
0 active channels
0 active calls
0 calls processed
ubuntu-01*CLI> exit
Asterisk cleanly ending (0).
Executing last minute cleanups
Если у вас есть активный брандмауэр ufw, откройте порты http и порты 5060,5061:
sudo ufw allow proto tcp from any to any port 5060,5061
Теперь у вас установлен Asterisk 16 LTS на вашем сервере Ubuntu 20.04 / 18.04 / 16.04 и Debian 10/9.
Рекомендуемый контент
Установка Asterisk 14 и FreePBX 13.
Первоначальная настройка FreePBX с нуля. Кодек Opus. php5.6.
Odbc. Тотальное руководство.
Данное руководство можно использовать, как для установки чистого Asterisk, так и в связке с Freepbx.
При установке системы, на стадии software selection выберите, как минимум openssh.
Если выбран LAMP сервер, или позднее, при установке mysql-server из репозитория, вам будет предложено задать пароль root пользователя MySQL. Если оставить поле пустым, задать пароль можно будет после установки FreePBX 13 командой mysql:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('Password');
или утилитой проверки безопасности:
mysql_secure_installation
Задайте пароль root пользователя системы
$ sudo passwd root Enter new UNIX password: Retype new UNIX password: passwd: password update successfully
Получите права супер пользователя
$ sudo -i
Сделайте апдейт системы
# apt update && sudo apt upgrade -y
Установите требуемые зависимости
apt install -y build-essential linux-headers-`uname -r` openssh-server apache2 mysql-server\ mysql-client bison flex sox libncurses5-dev libssl-dev libmysqlclient-dev mpg123 libxml2-dev\ libnewt-dev sqlite3 libsqlite3-dev pkg-config automake libtool autoconf git subversion unixodbc-dev\ uuid uuid-dev libasound2-dev libogg-dev libvorbis-dev libcurl4-openssl-dev libical-dev libneon27-dev\ libsrtp0-dev libspandsp-dev libopus-dev opus-tools libiksemel-dev libiksemel-utils libiksemel3 xmlstarlet
Установка php5.6 вместо php7.0
Ubuntu 16 по умолчанию ставит из репозитория php7.0,
а FreePBX с ним не дружит.
Если вы планируете использовать не чистый Asterisk, надо установить php5.6.
apt install -y software-properties-common python-software-properties
add-apt-repository ppa:ondrej/php
apt update -y
apt-key adv —keyserver keyserver.ubuntu.com —recv-keys <PUBKEY>
apt install -y php5.6 php5.6-curl php5.6-cli php5.6-mysql php5.6-odbc php5.6-db php5.6-gd php5.6-xml curl libapache2-mod-php5.6
apt install -y php-pear
a2dismod php7.0
a2enmod php5.6
systemctl restart apache2
update-alternatives --set php /usr/bin/php5.6
Перезагрузите сервер, чтобы загрузить свежую версию ядра после апдейта. Если вы уверены, что загружена последняя версия, можно не перезагружать.
reboot
Убедитесь, что mod_rewrite включен, чтобы избежать возможных атак.
a2enmod rewrite service apache2 restart
pear install Console_Getopt
libmyodbc ubuntu 16.04
Пакета libmyodbc больше нет в репозиториях Ubuntu начиная с версии Xenial.
Скачаем нужный коннектор (требуется регистрация):
https://dev.mysql.com/downloads/connector/odbc/
или по прямой ссылке:
wget https://dev.mysql.com/get/Downloads/Connector-ODBC/5.3/mysql-connector-odbc-5.3.9-linux-ubuntu16.04-x86-64bit.tar.gz
tar -zxvf mysql-connector-odbc-5.3.9-linux-ubuntu16.04-x86-64bit.tar.gz
И скопируем в директорию /usr/lib/x86_64-linux-gnu/odbc/:
cd mysql-connector-odbc-5.3.9-linux-ubuntu16.04-x86-64bit/lib cp libmyodbc5* /usr/lib/x86_64-linux-gnu/odbc/
Конфигурацию DSN и odbcinst см. ниже
Как использовать данное руководство.
Блоки команд с ключом ‘&&’ могут быть скопированы вместе и будут выполняться последовательно. ‘&&’ выполняет переход к следующей команде, при условии успешного выполнения предыдущей. Если вы хотите полностью, пошагово контролировать процесс установки, выполните каждую команду отдельно, без ввода ‘&&’.
Скачайте исходные файлы
cd /usr/src wget http://sourceforge.net/projects/lame/files/lame/3.98.4/lame-3.98.4.tar.gz && wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz && wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-current.tar.gz && wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-14-current.tar.gz && git clone https://github.com/akheron/jansson.git && wget http://www.pjsip.org/release/2.5.5/pjproject-2.5.5.tar.bz2 && echo " ¯\_(ツ)_/¯ "
Скомпилируйте и установите Lame (mp3)
cd /usr/src && tar zxvf lame-3.98.4.tar.gz && cd lame-3.98.4 && ./configure && make && make install && echo " ¯\_(ツ)_/¯ "
Скомпилируйте и установите DAHDI и LibPRI
cd /usr/src && tar xvfz dahdi-linux-complete-current.tar.gz && tar xvfz libpri-current.tar.gz && rm -f dahdi-linux-complete-current.tar.gz libpri-current.tar.gz && cd dahdi-linux-complete-* && make all && make install && make config && cd /usr/src/libpri-* && make && make install && echo " ¯\_(ツ)_/¯ "
Скомпилируйте и установите pjproject
(Требуется для поддержки драйвера SIP канала PjSIP)
Для установки Pjproject и Asterisk 14, рекомендуется использовать Pjproject Bundled Version.
В этом случае компиляцию Pjproject из исходников можно пропустить (под спойлером).
Скомпилируйте и установите Asterisk
cd /usr/src && tar xvfz asterisk-14-current.tar.gz && rm -f asterisk-14-current.tar.gz && cd asterisk-* && ./contrib/scripts/install_prereq install && ./configure --with-pjproject-bundled --with-crypto --with-ssl=ssl --with-srtp && contrib/scripts/get_mp3_source.sh && make menuselect
После ввода команды make menuselect, вам будет предложено выбрать устанавливаемые модули. Большинство требуемых модулей выбираются автоматически. Для поддержки mp3 включите модуль ‘format_mp3’. ‘res_config_mysql’ вынесено в addons по условиям лицензирования.
В разделе Core Sound Packages выберите поддержку русскоязычных файлов (если требуется)
В разделе Extra Sound Packages выберите дополнительные звуковые файлы.
Asterisk 14 + OPUS
Asterisk 14 поддерживает Opus без дополнительных патчей. Зависимости (xmlstarlet) должны быть установлены до конфигурации. В разделе Codec Translators убедитесь, что модуль кодека доступен для компиляции
и отметьте для установки.
Для сохранения нажмите Save & Exit и продолжите установку.
make && make install && make config && ldconfig
Если вы не планируете использовать FreePBX,
команда make basic-pbx установит минимальный начальный набор конфигов Asterisk.
Запуск от имени пользователя ‘Asterisk’
Расcкомментируйте в /etc/default/asterisk
AST_USER="asterisk" AST_GROUP="asterisk"
Создайте пользователя Asterisk и задайте права пользователя.
useradd -m asterisk && chown asterisk. /var/run/asterisk && chown -R asterisk. /etc/asterisk && chown -R asterisk. /var/{lib,log,spool}/asterisk && chown -R asterisk. /usr/lib/asterisk
Перезагрузите сервер и проверьте состояние Asterisk подключившись к консоли
asterisk -vvvr
Asterisk 14.2.0, Copyright (C) 1999 - 2016, 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 14.2.0 currently running on ubuntu (pid = 1269) ubuntu*CLI>
Убедитесь, что Asterisk запущен под своим пользователем:
ps aux | grep asterisk asterisk 1269 4.7 11.4 1446068 57504 ? Ssl 07:57 0:07 /usr/sbin/asterisk -U asterisk -G asterisk
Прежде всего обновите сертификаты сервера:
sudo -u asterisk gpg --refresh-keys --keyserver pool.sks-keyservers.net
Настроим Apache
sed -i 's/\(^upload_max_filesize = \).*/\256M/' /etc/php/5.6/apache2/php.ini && sed -ie 's/\;date\.timezone\ \=/date\.timezone\ \=\ "Europe\/Moscow"/g' /etc/php/5.6/apache2/php.ini && cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf_orig && sed -i 's/^\(User\|Group\).*/\1 asterisk/' /etc/apache2/apache2.conf && sed -i 's/AllowOverride None/AllowOverride All/' /etc/apache2/apache2.conf && systemctl restart apache2
настроим ODBC
cat >> /etc/odbcinst.ini << EOF [MySQL] Driver=/usr/lib/x86_64-linux-gnu/odbc/libmyodbc5w.so UsageCount=2 EOF
cat >> /etc/odbc.ini << EOF [MySQL-asteriskcdrdb] Description=MySQL connection to 'asteriskcdrdb' database driver=MySQL server=localhost database=asteriskcdrdb Port=3306 Socket=/var/run/mysqld/mysqld.sock option=3 EOF
Скачайте FreePBX
cd /usr/src && wget http://mirror.freepbx.org/modules/packages/freepbx/freepbx-13.0-latest.tgz
Проблема с созданием таблицы cdr БД asteriskcdrdb при установке FreePBX
В исходниках FreePBX тип поля calldate таблицы cdr задано как datetime.
Это вызывает ошибку при создании таблицы.
Решение
изменить в файле:
/usr/src/freepbx/installlib/SQL/cdr.sql
тип данных поля calldate с datetime на varchar(32).
было:
calldate datetime NOT NULL default '0000-00-00 00:00:00',
calldate varchar(32) NOT NULL default '0000-00-00 00:00:00',
Распакуйте и установите FreePBX
tar vxfz freepbx-13.0-latest.tgz && cd /usr/src/freepbx && ./install -n
Если при установке Ubuntu вы задали root пароль MySQL
запустите скрипт установки без ключа -n.
Установка пройдет в интерактивном режиме,
во время которого вам будет предложено ввести пароль:
./install Database engine [mysql]: Database name [asterisk]: CDR Database name [asteriskcdrdb]: Database username [root]: Database password:
Подключимся к FreePBX
http://IP.Address.FreePBX.Server/admin
Первым делом, вам будет предложено задать имя пользователя и пароль FreePBX
Первоначальная настройка FreePBX 13
Advanced Settings
Поддержка русского языка в интерфейсе
Чтобы отображался выбор локализаций FreePBX,
включите данную опцию в Settings > Advanced Settings:
Show Language setting —
Если переключение на русский не работает, выполните следующие действия:
echo "russian ru_RU.UTF-8" >> /etc/locale.alias
locale-gen ru_RU
systemctl restart apache2
Country Indications Tone
Выберите тоны КПВ, занято и тд в российском стандарте, если требуется:
Settings > Anvanced Settings — Dialplan and Operational
Обратите внимание на опцию CW Enabled by Default.
Можно отключить Call Waiting, по умолчанию, для вновь создаваемых екстеншенов.
По умолчанию включено.
Speaking Clock Time Format
Установите 24-х часовой формат времени.
Ringtime default
Измените время вызова екстеншена по умолчанию, если требуется:
SIP channel driver определяет использование драйверов SIP. По умолчанию и chan_sip и res_pjsip включены, но можно выбрать какой-то один из них.
Давайте рассмотрим как происходит установка Asterisk на Ubuntu. Последние события об отказе IBM от дальнейшей поддержки Centos подталкивают к выбору другой ОС. Из самых популярных и поддерживаемых это конечно Ubuntu, вот её и возьмем для наших экспериментов. Тестировать буду на самой свежей версии на данный момент Ubuntu 20.04 LTS и Asterisk 18.
Для удобства сразу перейдем в режим root
Установка необходимого ПО
Установим необходимые пакеты для компиляции приложений
apt-get install build-essential git
Далее необходимо установить библиотеку PJSIP
cd /opt/ git clone https://github.com/pjsip/pjproject.git cd pjproject ./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
Открываем порты в брандмауэре
Если у вас активирован брандмауэр необходимо открыть стандартные порты используемые asterisk
ufw allow 5060/udp ufw allow 5060/tcp ufw allow 10000:20000/udp
Установка Asterisk
cd /opt wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-18-current.tar.gz tar -xvf asterisk-*.tar.gz cd asterisk-*/
./contrib/scripts/install_prereq install
По окончанию установки будет сообщение

Очистим систему от временных файлов установочного пакета
Добавим возможность использования mp3
./contrib/scripts/get_mp3_source.sh
Конфигурация исходника Asterisk
./configure --libdir=/usr/lib64
После завершения работы команды конфигурации исходника будет изображение как на картинке ниже

Приступим к выбору дополнительных параметров Asterisk
В первом пункте меню Add-ons отмечаем * все записи под —Extended—

Переходим в пункт Codec Translators и выбираем все кодеки

Заходим в Core Sound Packages и выделяем звуковые пакеты с нужным вам языком, в моем случае это русский RU

И последним пунктом заходим в меню Music On Hold File Packages и отмечаем все пункты

Нажимаем кнопку Save & Exit
Перейдем к компиляции Asterisk из исходников
По окончанию отработки команды будет сообщение об успешном завершении

Понять что все закончилось хорошо можно по сообщению

С установкой Asterisk мы закончили. Добавим примеры настроек в конфигурационные файлы. Данный пункт не обязателен, если примеры вам не нужны, можете пропустить данный пункт.
Выполним make config
Создаем файл конфигурации
nano /etc/ld.so.conf.d/asterisk.conf
Добавляем в него путь к библиотекам Asterisk
Необходимо сохранить файл и выполнить команду
Включим ротацию логов Asterisk
Создаём пользователя asterisk
Для работы Asterisk необходимо создать пользователя и дать ему права
groupadd asterisk useradd -r -d /var/lib/asterisk -g asterisk asterisk usermod -aG audio,dialout asterisk
Поменяем владельца папок asterisk на вновь созданного пользователя
chown -R asterisk.asterisk /etc/asterisk chown -R asterisk.asterisk /var/lib/asterisk chown -R asterisk.asterisk /var/log/asterisk chown -R asterisk.asterisk /var/spool/asterisk chown -R asterisk.asterisk /usr/lib64/asterisk
Запуск сервиса от пользователя asterisk
Укажем сервису asterisk от какого пользователя запускаться. Откроем на редактирование файл asterisk.conf
nano /etc/asterisk/asterisk.conf
Найдем следующие строки и раскомментируем их
runuser = asterisk rungroup = asterisk

Сохраним файл и запустим asterisk
Проверить что сервис запустился можно узнав его статус
systemctl status asterisk

Выделенный зеленым цветом статус active говорит о том что сервис запущен.
Добавим сервис asterisk в автозагрузку
systemctl enable asterisk
Проверка работы
Запустим консоль asterisk и удостоверимся что все работает

Как видно на картинке выше мы успешно вошли в консоль и выполнили команду pjsip show version сообщающую нам о версии библиотеки PJSIP.
Видео процесса установки asterisk на ubuntu смотрите ниже
https://youtube.com/watch?v=4PoM8cFEikM%3Ffeature%3Doembed
Хотите отблагодарить автора статьи? Это даст ему дополнительный стимул к написанию новых статей.
Установка Asterisk 18 на Debian 11
Asterisk должен быть собран с поддержкой mysql (модули cdr_mysql,res_config_mysql).
Сначала обновите вашу систему
установите все необходимые пакеты зависимостей Asterisk:
Убедитесь, что GCC и CMAKE установлены и работают в нашей локальной системе
Устанавливаем необходимые зависимости
в процессе предложить выбрать код страны ставим 7
Скрипт установит все необходимые пакеты и после успешного завершения выведет следующее сообщение:
Очистим систему от временных файлов установочного пакета
Теперь нам нужно проверить, присутствуют ли все зависимости в вашей системе, чтобы скомпилировать исходный код. Затем выполните следующую команду:
В конце вас встретит красивый логотип ASCII Asterisk.
Затем выберите модули, которые вы хотите скомпилировать и установить. Чтобы получить доступ к меню, введите следующее:
По завершении должны получить:
Чтобы начать компиляцию исходного кода, выполните команду
Если все прошло успешно, вы должны получить:
После завершения компиляции установите Asterisk и его модули, набрав:
Затем установите Asterisk
Установите документацию, как показано, если вы хотите
Создание документации C-API. Это займет некоторое время.
Затем, наконец, используйте приведенные ниже команды для установки конфигураций и примеров
включить ротацию логов можно так
Создаем пользователя Asterisk и запускаем
Давайте подтвердим идентификатор пользователя Asterisk:
Чтобы настроить Asterisk для запуска от имени вновь созданного пользователя, откройте файл и раскомментируйте следующие две строки в начале (удалите # перед строками):
переместим и архивируем в домашнюю категорию
Создайте свой новый сервис файл в /etc/systemd/system/asterisk.service
проверить свой сервис файл
После внесения изменений перезапустите службу asterisk
Проверьте подключение к Asterisk CLI
Вы должны увидеть результат, подобный этому:
Попробуем ввести парочку команд для проверки работы.
Настройка межсетевого экрана
Разрешите доступ к портам на брандмауэре, выполнив следующую команду:
Как установить Asterisk на Debian 11 | Debian 10
В этом руководстве мы покажем вам, как установить Asterisk в Debian 11. Для тех из вас, кто не знал, Asterisk — это платформа с открытым исходным кодом, используемая для создания коммуникационных приложений, включая шлюзы VoIP и серверы конференций. Asterisk использует протокол VoIP, который позволяет совершать звонки с использованием TCP/IP без каких-либо затрат. Asterisk также поддерживает все используемые в настоящее время протоколы, такие как SIP, IAX2, GSM, G.711 или ISDN.
В этой статье предполагается, что у вас есть хотя бы базовые знания о Linux, вы знаете, как использовать оболочку, и, самое главное, вы размещаете свой сайт на собственном VPS. Установка довольно проста и предполагает, что вы работаете с учетной записью root, в противном случае вам может потребоваться добавить ‘ sudo ‘ к командам, чтобы получить привилегии root. Я покажу вам пошаговую установку VoIP-сервера Asterisk на Debian 11 (Bullseye).
Шаг 2. Установка Asterisk на Debian 11.
По умолчанию Asterisk доступен в официальном репозитории Debian 11. Теперь мы запускаем следующую команду ниже, чтобы установить Asterisk в вашу систему Debian:
После завершения установки нам нужно запустить сервер Asterisk, чтобы он начал работать. Мы делаем это с помощью следующей команды ниже:
Шаг 3. Проверьте сервер VoIP Asterisk.
Давайте проверим версию Asterisk с помощью этой команды:
Поздравляем! Вы успешно установили Астериск . Благодарим вас за использование этого руководства по установке последней версии сервера VoIP Asterisk на Debian 11 Bullseye. Для получения дополнительной помощи или полезной информации мы рекомендуем вам посетить официальный сайт Asterisk .
Asterisk and PostgreSQL
I started out wanting a real-time database connection to our existing LDAP server. This went well, but involved importing a schema into the LDAP cn=config and mapping the data into Asterisk.
Why PostgreSQL? We primarily build PostgreSQL databases for all of the cloud services we deliver, so sticking with what we know. The aim will be to replicate this configuration and look at bringing some high availability and redundancy into the system.
As I’m using the Asterisk 17 Docker image. I reworked it and added in LDAP and now ODBC to handle our PostgreSQL requirements.
First you have to make sure you have a functional ODBC setup. I edited the configuration for modules.conf to enable the odbc resources.
./etc/asterisk/modules.conf
Make sure you don’t have any noload => statements that contradicts these later in the file, eg.
Setup the ODBC details in res_odbc.conf
./etc/asterisk/res_odbc.conf
Configure the ODBC ini files. These are mounted into the docker image.
odbc.ini
odbcinst.ini
docker-compose.yml
Note that I’m mounting the .pgsocket in both containers. This is how I’m talking to postgresql between containers using unix sockets. You could change this by specifying the host and port, which I have left commented out in the above odbc.ini.
PostgreSQL Schema
This was quite a challenge. Asterisk comes with the tools to build the SQL schema using a migration tool called alembic.
As I’ve already done this and it’s part of the compose repository the sql is ready to go, but I thought it important to record how I achieved this.
Instead of running alembic against a live DB I had it dump out the generated SQL and put it into the init.sql script. By mounting a .sql file into the folder docker-entrypoint-initdb.d it gets executed when there is no database and initialises everything for us.
I cloned the asterisk repo to a local folder and changed into the contrib/ast-db-manage folder.
Using alembic required me to install pipenv and some python scripts.
This should have created a large schema.sql script. We need to paste that into an init script below. But you also need to take it out of a transaction by removing the lines BEGIN; and COMMIT; first.
init.sql
Start Asterisk and PostgreSQL
Get to the asterisk console and let’s see how things are.
Next step is to add some data into the tables so we can start using Asterisk live.
Install Asterisk 18 with FreePBX on Debian 11 / Debian 10
In today’s article, we are going to look at how to install Asterisk 18 LTS with FreePBX on Debian 11 and Debian 10.
Asterisk is an free and opensource PBX software used in managing SIP sessions. It is quite powerful and can be used in implementing VoIP gateways, PBX, conference servers, IVRs etc. It supports a number of VoIP protocols such as SIP, SCCP, IAX and MGCP as well as supports various hardware devices. It also interoperates with traditional standard-based systems.
Features of Asterisk
Asterisk comes with quite a number of call features that make it a choice for many organizations. These include but not limited to:
- Blacklists
- Blind transfer
- Call Detail Records
- Call Forward on Busy
- Authentication
- Append message
- Call Monitoring
- Call queuing
- Calling Cards
- Music on Hold
- Music on Transfer
- Three-way calling and many more features.
System updates
You need to ensure that you are running the latest system packages before beginning your installation. when updated, reboot your server for the new changes to take effect.
Install Asterisk 18 LTS Dependencies
The following packages are required to run Asterisk 18 LTS on Dedian 11/10. Install them as shown:
Download and Install Asterisk 18 LTS
The command below downloads Asterisk 18 LTS to your server. For this installation, we are building Asterisk from source. We will be able to configure features that we want.
Extract the file and change into the resulting directory
Download mp3 decoder library into source tree using the below command
Make sure that all the dependencies have been resolved by running the below command:
You may see a prompt asking to enter your country number where the phones will be used, ensure to provide the correct number.
You should see the below output at the end
Building Asterisk 18 LTS on Debian 11/10
At this point, we are ready to build our Asterisk LTS 18. Run configure script as below to satisfy build dependencies.
You should see the below output at the end when run successfully
Now set up the menu options that you will need. The command below displays the menu to select from.
Make use of arrows keys to move through the options and click ‘Enter‘ Key to make a selection.
Under Add-ons, select chan_ooh323 and format_mp3
On Core Sound Packages, pick audio packets formats as shown
Go to Music On Hold and select the below modules
Also select on Extra Sound Packages as shown
Under Applications, enable app_macro
When done, click Save and Exit . Remember you can add more modules depending on what you need for your installation. After which we build Asterisk using the below command
When done, you should see this output at the end.
Next, install Asterisk
Some output at the end
Install documentation as shown if you wish to
Then finally use the below commands to install configs and samples
Create Asterisk User and Start Asterisk
Restart and enable Asterisk
Confirm the service is running
Test connectivity to Asterisk CLI
In case you are running an active firewall, you need to allow some ports as below:
Install FreePBX 16 on Debian 11 / Debian 10
Install MariaDB database server / client
Run the below commands to install, start and enable MariaDB
Set up the DB and set root password
Install Node.JS
NodeJS 8 and above is a requirement for FreePBX and we are going to install as shown below
Install Apache2 Web Server
Install and Configure PHP
Install dependency packages.
Add Sury PPA repository which contain latest packages of PHP.
Import repository GPG key.
Uninstall any current version of PHP installed if not in use.
Install PHP 7.4 packages and all required extensions.
Also install PHP module for Apache.
Set maximum PHP filesize
Perform a change for memory limit as well.
Install FreePBX 16 on Debian 11 / Debian 10
When done with the above configurations, it is time to install FreePBX 16. Run the below commands. First download FreePBX archive and extract it.
Run the start script
Connect to the DB and configure
Install all Freepbx modules
Enable Apache Rewrite engine and restart Apache
Installation complete. Visit your browser http:// to load FreePBX. You get the below page
Provide the above required initial settings and scroll down and click on setup system
Configure your preferred language
That’s it. You have successfully installed Asterisk 18 LTS with FreePBX on Debian 11/10. I hope the guide has been useful. Check below more interesting guides:
SUPPORT OUR WORK WITH A CUP OF COFFEE
As we continue to grow, we would wish to reach and impact more people who visit and take advantage of the guides we have on our blog. This is a big task for us and we are so far extremely grateful for the kind people who have shown amazing support for our work over the time we have been online.
Thank You for your support as we work to give you the best of guides and articles. Click below to buy us a coffee.
В данной статье будем производить установку Asterisk 13-current на Debian 8.10.0
Установка должна производится от имени пользователя root. При попытке использования “sudo” могут возникнуть коллизии при установке пакетов. Если установка осуществляется дистанционно, используя SSH, временно разрешите авторизацию пользователю root.
! По окончании установки отключите авторизацию root по SSH
Для этого используйте команду:
sed -i 's/PermitRootLogin without-password/PermitRootLogin yes/' /etc/ssh/sshd_config service sshd restart
Шаг 1. Обновление системы
apt-get update && apt-get upgrade -y
Шаг 2. Установка необходимых зависимостей
apt-get install -y build-essential linux-headers-`uname -r` openssh-server apache2 mysql-server mysql-client bison flex php5 php5-curl php5-cli php5-mysql php-pear php5-gd curl sox libncurses5-dev libssl-dev libmysqlclient-dev mpg123 libxml2-dev libnewt-dev sqlite3 libsqlite3-dev pkg-config automake libtool autoconf git unixodbc-dev uuid uuid-dev libasound2-dev libogg-dev libvorbis-dev libcurl4-openssl-dev libical-dev libneon27-dev libsrtp0-dev libspandsp2 libspandsp-dev libopus-dev opus-tools sudo libmyodbc subversion
В процессе установки вышеперечисленных пакетов будет предложено установить пароль для MySQL. Если вы не хотите устанавливать пароль сейчас жмем “Ввод“. Для обеспечения безопасности рекомендую установить пароль на данном шаге.
Шаг 3. Перезапускаем систему
reboot
Шаг 4. Скачаем необходимые пакеты
cd /usr/src && wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz && wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-current.tar.gz && wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-13-current.tar.gz && wget http://www.pjsip.org/release/2.7.2/pjproject-2.7.2.tar.bz2 &&
Шаг 5. Распакуем и установим Dahdi, LibPRI
cd /usr/src && tar xvfz dahdi-linux-complete-current.tar.gz && cd dahdi-linux-complete-* && make all && make install && make config && cd /usr/src && tar xvfz libpri-current.tar.gz && cd libpri-* && make && make install
Шаг 6. Распакуем и установим PjProject
cd /usr/src && tar -xjvf pjproject-*.tar.bz2 && cd pjproject-* && CFLAGS='-DPJ_HAS_IPV6=1' ./configure --enable-shared --disable-sound --disable-resample --disable-video --disable-opencore-amr mr && make dep && make && make install
Шаг 7. Распакуем и установим Asterisk 13
cd /usr/src && tar xvfz asterisk-13-current.tar.gz && cd asterisk-13.* && contrib/scripts/get_mp3_source.sh && contrib/scripts/install_prereq install && ./configure && make menuselect
В открывшемся окне необходимо указать код страны 7
Также необходимо выбрать модули format_mp3 и те, которые могут вам понадобится в дальнейшем.
После того, как модули выбраны жмем Save & Exit и продолжаем установку:
make && make install && make config && make samples && ldconfig
Шаг 8. Скачаем и установим звуковые файлы для Asterisk 13
cd /var/lib/asterisk/sounds && wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-core-sounds-ru-wav-current.tar.gz && tar xvf asterisk-core-sounds-ru-wav-current.tar.gz && rm -f asterisk-core-sounds-ru-wav-current.tar.gz # Скачаем широкополосные аудио файлы на русском языке wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-core-sounds-ru-g722-current.tar.gz && tar xfz asterisk-core-sounds-ru-g722-current.tar.gz && rm -f asterisk-core-sounds-ru-g722-current.tar.gz
Шаг 9. Сделаем русский голос в Asterisk 13 по умолчанию
sed -i 's/defaultlanguage = en/defaultlanguage=ru/' /etc/asterisk/asterisk.conf sed -i 's/;language=en/language=ru/' /etc/asterisk/*.conf
Шаг 10. Создаем одноименного пользователя и задаем права на каталоги
useradd --user-group --no-create-home --comment "Asterisk PBX user" --system asterisk usermod -a -G dialout,fax,voice,audio asterisk
chown -R asterisk:asterisk /var/lib/asterisk && chown -R asterisk:asterisk /var/log/asterisk && chown -R asterisk:asterisk /var/run/asterisk && chown -R asterisk:asterisk /var/spool/asterisk && chown -R asterisk:asterisk /usr/lib/asterisk && chown -R asterisk:asterisk /etc/asterisk && chmod -R u=rwX,g=rX,o=rX /var/lib/asterisk && chmod -R u=rwX,g=rX,o=rX /var/log/asterisk && chmod -R u=rwX,g=rX,o=rX /var/run/asterisk && chmod -R u=rwX,g=rX,o=rX /var/spool/asterisk && chmod -R u=rwX,g=rX,o=rX /usr/lib/asterisk && chmod -R u=rwX,g=rX,o=rX /etc/asterisk
Шаг 11. Сделаем запуск Asterisk от одноименного пользователя
В файле /etc/default/asterisk раскомментируем строки
AST_USER="asterisk" AST_GROUP="asterisk"
Установка Asterisk 13 произведена.
Любое использование материалов сайта возможно только с разрешения автора и с обязательным указанием источника.
Тематические термины: Asterisk, Linux, Ubuntu
Инструкция позволит быстро познакомиться с сервером Asterisk, выполнив базовые действия по установке и настройке сервера. Нижеописанные действия протестированы на Ubuntu 16.04 и Asterisk 15.
Подготовка
Установка
Сборка DAHDI
Сборка LibPRI
Установка Asterisk
Настройка и запуск
Возможные ошибки
Возможные предупреждения
Заведение первых номеров (extensions)
Проверка
Подготовка сервера
Актуализируем список пакетов: