Установка и настройка телефонии Asterisk в Linux Ubuntu
Ubuntu 14.04 + Asterisk 11 + CDR-Stats
Предлагаю пошаговое руководство по установке и настройке сервера Ubuntu, телефонной станции Asterisk и системы обработки и аналитики звонков CDR-STATS.
Установка Ubuntu
Ставим Ubuntu server 14.04 (LTS), скачав дистрибутив с официального сайта. Во время установки я указал SSH + LAMP + SAMBA во избежание потом долгого процесса установки нужных компонентов. Логинимся на сервер.
Первым делом я поставил midnight commander (люблю DOS-интерфейс, да и удобно): sudo apt-get install mc -y Следующий шаг вы можете пропустить, если вам не нужен GUI для сервера.
Для большего удобства и ввиду некоторых особенностей будущего сервера я накатил GUI: sudo apt-get install —no-install-recommends lubuntu-desktop После установки: sudo reboot По окончании загрузки видим классический графический интерфейс пользователя.
Настраиваем все необходимые сетевые интерфейсы, имена сервера и его Alias. (Примеры настроек не буду приводить, дабы не вводить людей в заблуждение).
Следующим шагом будет установка webmin на сервер. Я воспользовался официальной документацией с сайта webmin.com:
Using the Webmin APT repository If you to install and update Webmin via APT, edit the /etc/apt/sources.list file on your system and add the lines: deb http://download.webmin.com/download/repository sarge contribdeb http://webmin.mirror.somersettechsolutions.co.uk/repository sarge contrib You should also fetch and install my GPG key with which the repository is signed, with the commands: cd /rootwget http://www.webmin.com/jcameron-key.ascapt-key add jcameron-key.asc Возможно, потребуется запустить данную команду от root sudo apt-key add jcameron-key.asc You will now be able to install with the commands: sudo apt-get updatesudo apt-get install webmin
All dependencies should be resolved automatically.
После выполнения всех шагов webmin будет доступен по адресу: your-server-ip-or-name:10000
Настало время настроить правила для iptables. На просторах сети я нашел очень хорошую статью по защите сервера Asterisk с помощью iptables. 20.com/securing-your-asterisk-voip-server-with-iptables. Статья на английском, но все достаточно просто для понимания.
Теперь очень важный момент! Не импортируйте правила в iptables стандартным способом! Это не сработает:
iptables-restore < filename Не сработает. Необходимо выполнить следующие действия: Найти файл /etc/iptables.up.rules и скопировать его куда-либо (так сказать, сделайте бэкап), а файл etc/iptables.up.rules заменить полученным вами в результате предыдущих действий. Если вы все сделали правильно, то в webmin Networking/Linux Firewall вы увидите все необходимые правила. Ставлю доступные обновления для установленных компонентов: sudo apt-get update && sudo apt-get upgrade –y && sudo reboot Итак, сервер установлен, настроен и обновлен
Установка Asterisk
Настало время для установки asterisk. В текущей конфигурации я буду использовать Asterisk 11: cd /usr/srcwget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-11-current.tar.gzwget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gzwget http://downloads.asterisk.
org/pub/telephony/libpri/libpri-1.4-current.tar.gz Распакуем все это: tar -zxvf asterisk-11-current.tar.gztar -zxvf dahdi-linux-complete-current.tar.gztar -zxvf libpri-1.4-current.tar.
gz Поставим некоторые пакеты, буде таковые не были установлены ранее: sudo apt-get install build-essential libncurses5-dev openssl libxml2-dev Дальше есть два пути:
1-й путь:
запустить скрипт установки зависимых пакетов для работы сервера Asterisk: sudo /usr/src/asterisk-11.12.0/contrib/scripts/install_prereq install Скрипт ставит все необходимые зависимости и пакеты, но очень много ненужного.
2-й путь:
Установка из исходников Перед этим действием я сделал checkpoint на моем hyper-v сервере, во избежание так сказать: sudo apt-get install libncurses5-dev openssl libssl-dev zlib1g zlib1g-dev mpg123 linux-headers-`uname -r` build-essential mysql-server libmysqlclient15-dev php5 php5-cli php5-mysql php5-gd php-pear apache2 curl sox bison flex cpp g++ gcc make libauthen-pam-perl libio-pty-perl libnet-ssleay-perl libxml2 libxml2-dev libaudiofile-dev subversion libsqlite3-dev Ок. пакеты установили. Теперь самое время разобраться с установкой самого Asterisk. Ставим DAHDI: cd /usr/src/dahdi-linux-complete-2.10.0+2.10.0sudo make allsudo make installsudo make config Ставим LibPRI: cd /usr/src/libpri-1.4.15sudo makesudo make install Ну и сам Asterisk: cd /usr/src/asterisk-11.12.0./configuresudo make menuselect
Выбираем нужные компоненты. Поскольку я собираюсь хранить CDR в базе MySQL и прикрутить web-интерфейс CDR-STATS, отмечаю, что включил модули format_mp3, app_mysql, cdr_mysql и res_config_mysql. В остальном, за исключением звуков (а мне нужны en, en-gb и ru) все остается стандартным: sudo make install
В процессе установки при выборе format_mp3 нужно выполнить: contrib/scripts/get_mp3_source.sh Продолжаем установку: sudo make install Здесь может быть ваша реклама. Пьем кофе, чай, печеньки и ожидаем окончания процесса установки. Следующий шаг samples и config. Тестовые конфиги: sudo make samples Для несочинения скрипта автозапуска: sudo make config Ффуухх! Поставили. Стартуем: sudo asterisk start Подключаемся: sudo rasterisk Проверяем версию DAHDI: *CLI>dahdi show version Проверяем версию LibPRI: *CLI>pri show version*CLI>exit Так, поставили, посмотрели. На текущий момент asterisk запускается от пользователя root, что, как бы, не комильфо. Поэтому делаем следующее: sudo service asterisk stop Создаем пользователя asterisk и добавляем его в группу asterisk: sudo adduser —system —group —home /var/lib/asterisk —no-create-home —gecos «Asterisk PBX» asterisk Создали, меняем права на нужные каталоги: sudo chown -R asterisk:asterisk /var/lib/asterisksudo chown -R asterisk:asterisk /var/log/asterisksudo chown -R asterisk:asterisk /var/run/asterisksudo chown -R asterisk:asterisk /var/spool/asterisksudo chown -R asterisk:asterisk /usr/lib/asterisksudo chown -R asterisk:asterisk /dev/dahdisudo chmod -R u=rwX,g=rX,o= /var/lib/asterisksudo chmod -R u=rwX,g=rX,o= /var/log/asterisksudo chmod -R u=rwX,g=rX,o= /var/run/asterisksudo chmod -R u=rwX,g=rX,o= /var/spool/asterisksudo chmod -R u=rwX,g=rX,o= /usr/lib/asterisksudo chmod -R u=rwX,g=rX,o= /dev/dahdisudo chown -R root:asterisk /etc/asterisksudo chmod -R u=rwX,g=rX,o= /etc/asterisk В файле /etc/default/asterisk раскомментируем две строчки: AST_USER=«asterisk»AST_GROUP=«asterisk» Запускаем asterisk: sudo service asterisk start Смотрим, от какого пользователя запустился Asterisk: ps aux|grep aster И должны увидеть подобное:asterisk 2793 3.0 0.8 2539536 26540? Ssl 20:21 0:00 /usr/sbin/asterisk -U asterisk -G asterisk Увидели? Значит все ок. Теперь научим asterisk писать CDR в MySQL. Ставим для начала: sudo apt-get install mysql-client Логинимся в mysql: sudo mysql -p
Enter password: Welcome to the MySQL monitor. Commands end with; or g.
mysql>
Создаем базу: mysql> create database asteriskcdrdb; Создаем в базе “asteriskcdrdb” таблицу “cdr”, вот с такой структурой: mysql> use asteriskcdrdb;mysql>CREATE TABLE `cdr` (`acctid` int(11) NOT NULL AUTO_INCREMENT, `src` varchar(80) DEFAULT NULL, `dst` varchar(80) DEFAULT NULL, `calldate` datetime NOT NULL, `clid` varchar(80) DEFAULT NULL, `dcontext` varchar(80) DEFAULT NULL, `channel` varchar(80) DEFAULT NULL, `dstchannel` varchar(80) DEFAULT NULL, `lastapp` varchar(80) DEFAULT NULL, `lastdata` varchar(80) DEFAULT NULL, `duration` int(10) unsigned DEFAULT NULL, `billsec` int(10) unsigned DEFAULT NULL, `disposition` varchar(80) NOT NULL DEFAULT '', `amaflags` varchar(80) DEFAULT NULL, `accountcode` int(10) unsigned DEFAULT NULL, `uniqueid` varchar(32) DEFAULT NULL, `userfield` varchar(80) DEFAULT NULL, `import_cdr` tinyint(4) NOT NULL DEFAULT '0', PRIMARY KEY (`acctid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; Создаем пользователя asterisk с паролем 'asterisk': mysql> CREATE USER asterisk_user IDENTIFIED BY 'asterisk_password'; Теперь даем доступ для пользователя “asterisk” с паролем “asterisk″ к базе “asteriskcdrdb” только с localhost: mysql> grant all on asteriskcdrdb.* to 'asterisk'@'localhost' identified by 'asterisk';mysql> flush privileges; Теперь укажем нашему Астериску писать CDR в базу. Для этого в файле “/etc/asterisk/cdr_mysql.conf” раскомментируем и меняем строчки: [global]hostname=localhostdbname=asteriskcdrdbtable=cdrpassword=asteriskuser=asterisksock=/var/lib/mysqld/mysqld.sock Для применения изменений перезагружаем модуль cdr_mysql.so: sudo rasterisk*CLI>module unload cdr_mysql.so
Unloaded cdr_mysql.so == Unregistered 'mysql' CDR backend
*CLI> module load cdr_mysql.so
Loaded cdr_mysql.so == Parsing '/etc/asterisk/cdr_mysql.conf': Found — Found alias start for column calldate Loaded cdr_mysql.so => (MySQL CDR Backend) Чтобы убедиться, что мы все сделали правильно, в консоли Астериска вводим: *CLI> cdr mysql status
Connected to asterisk on socket file /var/lib/mysql/mysql.sock using table cdr for 0 hours, 2 minutes, 7 seconds.Wrote 0 records since last restart. Если у вас такое же сообщение, то все настроено верно.
Установка CDR-STATS
Воспользуемся инструкцией. Все казалось бы просто: wget –no-check-certificate https://raw.github.com/Star2Billing/cdr-stats/master/install/install-cdr-stats-asterisk.sh -O install-cdr-stats-asterisk.shbash ./install-cdr-stats-asterisk.sh Но, дьявол, как обычно, кроется в деталях.
У вас не получится установить CDR-stats подобным образом, потому что скрипт вывалится со следующей ошибкой: bash ./install-cdr-stats-asterisk.sh./install-cdr-stats-asterisk.sh: line 1: $'
': command not found./install-cdr-stats-asterisk.sh: line 2: !DOCTYPE: No such file or directory./install-cdr-stats-asterisk.
sh: line 3: html: No such file or directory./install-cdr-stats-asterisk.sh: line 4: head: No such file or directory./install-cdr-stats-asterisk.sh: line 5: title: No such file or directory./install-cdr-stats-asterisk.sh: line 6: meta: No such file or directory./install-cdr-stats-asterisk.sh: line 7: meta: No such file or directory./install-cdr-stats-asterisk.
sh: line 8: $'
': command not found./install-cdr-stats-asterisk.sh: line 9: $'
': command not found./install-cdr-stats-asterisk.sh: line 10: $'
': command not found./install-cdr-stats-asterisk.sh: line 11: $'
': command not found./install-cdr-stats-asterisk.sh: line 12: $'
': command not found.
/install-cdr-stats-asterisk.sh: line 13: $'
': command not found./install-cdr-stats-asterisk.sh: line 14: $'
': command not found./install-cdr-stats-asterisk.sh: line 15: $'
': command not found./install-cdr-stats-asterisk.sh: line 16: $'
': command not found./install-cdr-stats-asterisk.
sh: line 22: link: No such file or directory./install-cdr-stats-asterisk.sh: line 23: link: No such file or directory./install-cdr-stats-asterisk.sh: line 24: meta: No such file or directory./install-cdr-stats-asterisk.sh: line 25: meta: No such file or directory./install-cdr-stats-asterisk.sh: line 26: link: No such file or directory./install-cdr-stats-asterisk.
sh: line 27: syntax error near unexpected token ` CDR-Stats Installation Menu ===================================== 1) Install All 2) Install CDR-Stats Web Frontend 3) Install CDR-Stats Backend / CDR-Stats-Celery 4) Install MongoDB 0) Quit (0-4): 1 Выбираем пункт меню номер 1. И ждем пока установится. В процессе установки будет установлена mongodb и postgresql.
Далее нам будет предложено сконфигурировать подключение к MySQL: Enter database settings for Asterisk… ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) Configure Mysql Settings to connect to the Asterisk CDR database… Enter Mysql hostname (default:localhost) localhost Enter Mysql port (default:3306) 3306 Enter Mysql Username (default:root) asterisk Enter Mysql Password (default:password) asterisk Enter Database name (default:asteriskcdrdb) asteriskcdrdb We will now add a Primary Key to your CDR database We advice you to first backup your database prior continuing Далее будет предложено создать супер админа для cdr-stats:Create a super admin user… Username (leave blank to use 'root'): E-mail address: your-email@server.com Password: Password (again): Superuser created successfully. Завершаем установку кнопкой 0. И ура!
your-server-ip-or-name:8008
Доступен. Заходим и любуемся. Возможно появление следующей ошибки:No data can be found in your collections, please make sure the import of data is working correctly. Что делаем? Останавливаем CDR-stats: sudo service cdr-stats-celeryd stop Заходим в mongo: mongo Выполняем следующие действия: use cdr-stats;db.monthly_analytic.remove({});db.daily_analytic.remove({});db.aggregate_world_report.remove({});db.aggregate_result_cdr_view.remove({});db.aggregate_hourly_country_report.remove({});db.cdr_common.remove({}); Выходим: Ctrl+D Заходим в mysql: sudo mysql -p
mysql> use asteriskcdrdb;mysql> update cdr SET import_cdr = 0;
Query OK, 0 rows affected (0.24 sec)
Rows matched: 3 Changed: 0 Warnings: 0 У меня на текущий момент было 3 записи в CDR. Выходим из mysql: Ctrl+C cd /usr/share/cdr-stats Открываем файл settings_local.py и ищем строку: LOCAL_SWITCH_IP = «некое значение» Меняем его на 'localhost': LOCAL_SWITCH_IP = 'localhost' Сохраняем изменения и запускаем cdr-stats: sudo service cdr-stats-celeryd start
your-server-ip-or-name:8008 И все начинает работать. Еще один важный момент! Если у вас несколько провайдеров телефонии или вы используете нестандартные префиксы выхода на городскую или международную линию, то необходимо в cdr-stats указать их. Делается это вот тут: /usr/share/cdr-stats/setting_local.py Строка:PREFIX_TO_IGNORE = «+,00,000,0000,00000,011,55555,99999» Не изменяйте текущие значения, оставьте как есть, и добавьте ваши в конец строки Например, вот так: PREFIX_TO_IGNORE = «+,00,000,0000,00000,011,55555,99999,8,810,9,910» Сохраните изменения в файле и перезапустите cdr-stats: sudo service cdr-stats-celeryd restart
Теперь CDR-STATS будет корректно обрабатывать все звонки, в чем вы сможете убедиться, посетив соответствующий пункт меню.
Установка Asterisk + Freepbx на Debian/Ubuntu
В настоящее время большую популярность получил сервер ой связи Asterisk. Удобнее всего им управлять с помощью web панели администрирования Freepbx. Вопросом установки и настройки этого инструмента я бы и хотел заняться в этой статье. За основу возьмем сервер Debian 8. Установка на сервер Ubuntu будет аналогична с точностью до каждой команды с сервером Debian.
Что такое Freepbx
FreePBX — это удобный GUI (графический интерфейс пользователя), который управляет Asterisk — самым популярным общедоступным программным обеспечением в области компьютерной телефонии. FreePBX является продуктом Open Source, он разработан тысячами добровольцев по всему миру.
На сегодня FreePBX загружен более чем 5 000 000 раз и обслуживает более чем 500 000 активных телефонных систем. Если Вы никогда не слышали про FreePBX, то, вероятно, будете удивлены ее возможностями для Вашего бизнеса.
FreePBX — это основанный на web интерфейс, который позволяет управлять самым популярным на сегодняшний день сервером ip телефонии asterisk. FreePBX выпускается под лицензией GNU и может свободно использоваться конечными пользователями без какого-либо ограничения. Данный продукт является компонентом FreePBX Distro и некоторых других дистрибутивов.
Первый релиз системы 0.2 (28 ноября 2004 года) был назван AMP (Asterisk Management Portal). Но имя пришлось изменить, так как Asterisk является зарегистрированной торговой маркой Digium corporation.
С тех пор вышло множество обновлений, поддерживающие новые версии Astersik, добавлены новые меню и поддержка ой почты, очереди звонков, факсов, различных языков, устройств DAHDI и папок пользователей.
Поддерживаемое оборудование включает в себя устройства компаний Aastra Technologies, Algo, AND, AudioCodes, Cisco Systems, Cyberdata, Digium, Grandstream, Mitel, Panasonic, Polycom, Sangoma, Snom, Xorcom, and Yealink.
Что такое Freepbx Distro
FreePBX Distro — open source дистрибутив Linux на базе популярной операционной системы CentOS.
Его можно использовать для быстрого разворачивания сервера Asterisk и панели управления Freepbx.
Это вариант удобен для тех, кто не очень разбирается в linux и не хочет тратить время на ручную установку всех компонентов, необходимых для полноценной установки freepbx на отдельный сервер.
FreePBX Distro, в отличие от Elastix, выпускается самими разработчиками FreePBX, поэтому более динамично развивается и чаще выпускаются обновления. В него встроены Fail2Ban и IPTables, работает русский язык из коробки, настроен LAMP (Linux/Apache/MySQL).
Я не буду в данной статье касаться настройки системы из этого дистрибутива. Это тема отдельного разговора. Хотя там и говорить особо нечего, установка проходит достаточно просто и быстро.
Подготовка к установке Freepbx
Приступим к установке Freepbx. Предварительно, если вы еще не сделали, вам необходимо установить Debian сервер, а потом его настроить. Мы будем устанавливать на сервер следующей версии:
# lsb_release -aNo LSB modules are available.Distributor ID: DebianDescription: Debian GNU/Linux 8.0 (jessie)Release: 8.0Codename: jessie
Первым делом устанавливаем зависимости:
# 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 php-db php5-gd curl 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 libiksemel-dev libiksemel-utils libiksemel3
Инсталлируем PearDB:
# pear uninstall dbuninstall ok: channel://pear.php.net/DB-1.7.14# pear install db-1.7.14WARNING: «pear/DB» is deprecated in favor of «pear/MDB2″downloading DB-1.7.14.tgz …Starting to download DB-1.7.14.tgz (133,103 bytes)………………………..done: 133,103 bytesinstall ok: channel://pear.php.net/DB-1.7.14
Перезагружаем сервер:
# shutdown -r now
Установка asterisk 13
# 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-1.4-current.tar.
gz# wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-13-current.tar.gz# git clone https://github.com/akheron/jansson.git# wget http://www.pjsip.org/release/2.2.1/pjproject-2.2.1.tar.
bz2
Собираем и ставим DAHDI:
# tar xvfz dahdi-linux-complete-current.tar.gz# cd dahdi-linux-complete-*# make all# make install# make config
Собираем и ставим LIBPRI:
# cd /usr/src# tar xvfz libpri-1.4-current.tar.gz# cd libpri-*# make# make install
Компилируем и устанавливаем pjproject
# cd /usr/src# tar -xjvf pjproject-2.2.1.tar.bz2# cd pjproject-2.2.1# CFLAGS='-DPJ_HAS_IPV6=1' ./configure —prefix=/usr —enable-shared —disable-sound —disable-resample —disable-video —disable-opencore-amr# make dep# make# make install
Компилируем и устанавливаем jansson
# cd /usr/src/jansson# autoreconf -i# ./configure# make# make install
Собираем и ставим Astersik 13:
# cd /usr/src# tar xvfz asterisk-13-current.tar.gz# cd asterisk-13.4.0# ./configure
Если вылезает ошибка:
configure: error: *** uuid support not found (this typically means the uuid development package is missing)
Делаем следующее:
# contrib/scripts/install_prereq install
Выскочит окно, указываем код 7, если вы из России:
Продолжаем сборку:
# ./configure
Если все прошло без ошибок, продолжаем:
# contrib/scripts/get_mp3_source.sh# make menuselect
Выбираем отмеченные мной модули и продолжаем:
# make# make install# make config# ldconfig
Устанавливаем дополнительные звуки:
# mkdir -p /var/lib/asterisk/sounds# cd /var/lib/asterisk/sounds# wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-extra-sounds-en-wav-current.tar.gz# tar xfz asterisk-extra-sounds-en-wav-current.tar.gz# rm -f asterisk-extra-sounds-en-wav-current.tar.gz# wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-extra-sounds-en-g722-current.tar.gz# tar xfz asterisk-extra-sounds-en-g722-current.tar.gz# rm -f asterisk-extra-sounds-en-g722-current.tar.gz
Установка Freepbx 12
# cd /usr/src# wget http://mirror.freepbx.org/freepbx-12.0.43.tgz# tar xvfz freepbx-12.0.43.tgz
Создаем нового пользователя 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# rm -rf /var/www/html
Вносим изменения в конфиг apache:
# sed -i 's/(upload_max_filesize = ).*/120M/' /etc/php5/apache2/php.ini# cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf_orig# sed -i 's/(User|Group).*/1 asterisk/' /etc/apache2/apache2.conf# service apache2 restart
Настраиваем базу данный mysql:
# mysqladmin -u root -p create asterisk# mysqladmin -u root -p create asteriskcdrdb# mysql -u root -p -e «GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY '123';»# mysql -u root -p -e «GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY '123';»# mysql -u root -p -e «flush privileges;»
Стартуем asterisk:
# /usr/src/freepbx/start_asterisk startSTARTING ASTERISKAsterisk Started
Устанавливаем FreePBX:
# cd /usr/src/freepbx# ./install_amp —installdb —username=asteriskuser —password=123Checking for PEAR DB..OKChecking for PEAR Console::Getopt..OKUsing username: asteriskuserUsing password: ***Checking user..OKChecking if Asterisk is running..running with PID: 37303..OKChecking for /etc/amportal.conf../etc/amportal.conf does not exist, copying defaultCreating new /etc/amportal.conf
Отвечаем на заданные вопросы. Я везде оставлял значения по-умолчанию, кроме адреса сервера. Пароли не забудьте поставить свои:
Enter your USERNAME to connect to the 'asterisk' database: [asteriskuser]Enter your PASSWORD to connect to the 'asterisk' database: [123]Enter the hostname of the 'asterisk' database: [localhost]Enter a USERNAME to connect to the Asterisk Manager interface: [admin]Enter a PASSWORD to connect to the Asterisk Manager interface: [amp111] 123Enter the path to use for your AMP web root: [/var/www/html] Created /var/www/htmlEnter the IP ADDRESS or hostname used to access the AMP web-admin: [192.168.1.1] 192.168.8.101Use simple Extensions [extensions] admin or separate Devices and Users [deviceanduser]? [extensions]Enter directory in which to store AMP executable scripts: [/var/lib/asterisk/bin] Created /var/lib/asterisk/binEnter directory in which to store super-user scripts: [/usr/local/sbin] /etc/amportal.conf writtenAssuming new install, —install-moh added to command lineOKReading /etc/amportal.conf..parsed amp_conf variables from /etc/amportal.conf:amp_conf [AMPDBHOST] => [localhost]amp_conf [AMPDBENGINE] => [mysql]amp_conf [AMPENGINE] => [asterisk]amp_conf [AMPMGRUSER] => [admin]amp_conf [AMPMGRPASS] => [123]amp_conf [AMPBIN] => [/var/lib/asterisk/bin]amp_conf [AMPSBIN] => [/usr/local/sbin]amp_conf [AMPWEBROOT] => [/var/www/html]amp_conf [AMPCGIBIN] => [/var/www/cgi-bin ]amp_conf [FOPWEBROOT] => [/var/www/html/panel]amp_conf [FOPPASSWORD] => [passw0rd]amp_conf [AUTHTYPE] => [database]amp_conf [AMPEXTENSIONS] => [extensions]amp_conf [AMPDBUSER] => [asteriskuser]amp_conf [AMPDBPASS] => [123]amp_conf [AMPWEBADDRESS] => [192.168.8.101]amp_conf [AMPDBNAME] => [asterisk]OK
Дальше идет установка, не буду приводить вывод. В конце установки будет сообщение:
***************************************** At This Time Please Restart Asterisk *****************************************
Продолжаем установку:
# amportal chown# amportal a ma installall
Идет долгая установка, что-то постоянно качается, распаковывается, устанавливается. В конце у меня вылетела ошибка:
Setting operator panel web root and enabling dev state….
Done
Setting callevents = yes….
Creating client symlink….
Done
Enabling voicemail box polling
PHP Fatal error: Call to a member function send_request() on null in /var/www/html/admin/modules/voicemail/functions.inc.php on line 1154
Так как у меня уже был опыт установки предыдущих версий подобной связки, сразу полез проверять старые болячки. Открываем файл /etc/asterisk/manager.conf и видим в конце две строки:
#include manager_additional.conf#include manager_custom.conf
Меняем # на ; чтобы стало так:
;include manager_additional.conf;include manager_custom.conf
Сохраняем файл и перечитываем конфиг астериска:
# asterisk -r# CLI> core reload
Выходим из консоли астериск и запускаем заново установку FreePBX:
# amportal a ma installallПродолжается стандартный процесс, доустанавливается то, что не установилось ранее. В конце получаем сообщение:
SETTING FILE PERMISSIONS…………….DoneRemoving any dangling symlinksDangling symlinks removed
Если получили это сообщение, значит установка прошла успешно. Доделываем:
# amportal a reload Please wait… Successfully reloaded# amportal a ma refreshsignatures# amportal chown# ln -s /var/lib/asterisk/moh /var/lib/asterisk/mohmp3 # amportal restartPlease wait… STOPPING ASTERISKWaiting for Asterisk to Stop Gracefully… Asterisk Stopped SETTING FILE PERMISSIONS……………/var/lib/asterisk/bin/freepbx_engine: line 275: sudo: команда не найдена.DoneRemoving any dangling symlinksDangling symlinks removed STARTING ASTERISKAsterisk Started
Все, на этом установка закончена. Теперь можно зайти по адресу http://192.168.8.101 и попасть в веб интерфейс freepbx:
Создаем пользователя и заходим в админку с этой учеткой:
На этом установка окончена, можно приступать к конфигурированию. Подробным примером настройки asterisk для чайников может служить моя статья. Хотя в ней речь идет о настройке без использования freepbx, какие-то вещи из статьи можете взять на вооружение.
Дополнительные материалы по Debian
Рекомендую полезные материалы по Debian: |
Подробная установка Debian 9 Stratch с помощью графического инсталлятора со скриншотами и пояснениями к каждому пункту установщика. Подробное описание настройки сети в Debian — задать ip адрес, dhcp, отключить ipv6, dns, hostname, статические маршруты и др. |
Подробное описание установки гипервизора proxmox на raid1 mdadm на базе операционной системы Debian 8. Приведены практические советы по настройке. Чистая установка Asterisk 13 на сервер под управлением Debian 8. Никаких дополнений и GUI, только vanilla asterisk. Рассказ об установке и небольшой настройке сервера бд postgresql для работы с базами 1С. Задача не сложная, но есть небольшие нюансы как по настройке, так и по выбору дистрибутива. |
Ускорение работы 1С с postgresql и диагностика проблем производительности |
Установка Asterisk на сервере Ubuntu
Сервер Asterisk можно устанавливать на различных дистрибутивах Linux и многих архитектурах ПК. В данной статье мы устанавливаем лабораторный стенд для проведения опытов с Asterisk. Характеристики сервера будут следующими:
- Процессор Intel Core 2 Duo 3 GHz
- ОЗУ: 2 Гб
- Операционная система: Ubuntu 14.04
Основные конфигурации Asterisk содержат в себе три пакета:
- Основная программа Asterisk (asterisk)
- Драйверы телефонии (dahdi)
- PRI-библиотеки (libpri)
Стоит отметить, что если планируется создавать только VoIP-сеть, то достаточно пакета asterisk. Однако мы советует вам установить все три пакета: какие модули активировать можно выбрать позже.
Драйвер dahdi нужен, если используется аналоговое или цифровое оборудование. Сам Asterisk не умеет обмениваться данными с периферийным оборудованием, эту задачу должен выполнять драйвер. Asterisk передает и принимает данные и сигнализацию с помощью dahdi. Схема работы следующая:
сервер Asterisk chan_dahdi Драйвера dahdi Карта Телефон/Коммутатор/Тел. сеть
Библиотека libpri позволяет использовать TDM-интерфейсы ISDN: PRI (Primary Rate Interface) и BRI (Basic Rate Interface). Libpri используется различными производителями оборудования мультиплексирования с разделение каналов по времени (TDM, Time Division Multiplexing).
Необходимые пакеты для Linux
Для сборки Asterisk необходимо установить набор пакетов build-essetial (содержит в себе g++, gcc, libc6-dev, dpkg-dev, make):
$ sudo apt-get install build-essential
Ncurses — это библиотека для управления вводом-выводом на терминал.
$ sudo apt-get install libncurses5-dev
Libxml2 — библиотека для анализа XML-документов. Данная библиотека нужна, так как телефонные книги в Asterisks имеют расширение .xml.
$ sudo apt-get install libxml2-dev
OpenSSL — криптографический пакет с открытым исходным кодом для работы с SSL/TSL. Позволяет создавать ключи RSA, DH, DSA и сертификаты X.509.
$ sudo apt-get install openssl
$ sudo apt-get install libssl-dev
Получение исходного кода Asterisk
Самый оптимальный вариант — взять исходный код для Asterisk прямо с официального сайта http://www.asterisk.org или на FTP-сервере.
Стоит упомянуть, что существует две основных области разработки Asterisk: ветвь (Branch) и ствол (Trunk). Ствол является наиболее свежей версией, в него добавляются все новые функции. Ветвь, в свою очередь, содержит в себе все исправленные дефекты предыдущих версий. Соответственно для производственной эксплуатации лучше использовать ветвь, так как она является более стабильной и безопасной.
Все манипуляции с Asterisk мы будет проводить в папке /usr/src. Следует помнить что для установки Asterisk необходимо обладать правами администратора.
Получаем самую последнюю версию исходного кода с помощью команды wget:
$ cd /usr/src/
$ wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-14-current.tar.gz
$ wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-current.tar.gz
$ wget http://downloads.asterisk.org/pub/telephony/dahdi-linux/dahdi-linux-current.tar.gz
$ wget http://downloads.asterisk.org/pub/telephony/dahdi-tools/dahdi-tools-current.tar.gz
$ wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz
Извлекаем исходные коды из архива:
$ tar -zxvf asterisk-14-current.tar.gz
$ tar -zxvf libpri-current.tar.gz
$ tar -zxvf dahdi-linux-current.tar.gz
$ tar -zxvf dahdi-tools-current.tar.gz
$ tar -zxvf dahdi-linux-complete-current.tar.gz
Выполнение этих команд обеспечит извлечение пакетов и исходного кода из архивов в соответствующие папки.
Компиляция Asterisk, LibPRI, DAHDI
Прежде чем начнем компилировать проект, приведу немного теории. Большинство программ перед использованием необходимо компилировать.
Компиляция — это преобразование программы, составленной на исходном языке высокого уровня, в эквивалентную программу на низкоуровневом языке понятном компьютеру.
Процесс установки разделяется на три этапа:
- Конфигурирование (./configure)
- Сборка (make)
- Установка (make install)
Конфигурирование позволяет выполнить поиск всех зависимостей для программы (библиотек и заголовочных файлов), а также настройку особых параметров и подключение специальных библиотек. Когда команда ./configure обнаружит все, что ей нужно, она создаст Makefiles — файл, необходимый для сборки программы.
Make — является самой важной программой, выполняющей компиляции программы. Для своей работы она использует Makefiles, в котором подробно описана процедура сборки приложения со всеми параметрами.
Make install — позволяет выполнять установку программы в указанную директорию.
Прежде всего установим библиотеку PRI и драйверы телефонии dahdi.
Для установки LibPRI:
$ cd /usr/src/libpri-1.6.0
$ make
$ make install
$ cd ..
Для установки DAHDI:
$ cd /usr/src/dahdi-linux-complete-2.11.1+2.11.1
$ make all
$ make install
$ cd ..
Для установки Asterisk:
$ cd /usr/src/asterisk-14.7.6
$ ./configure
Если у вас вышло такое же окно как и внизу, поздравляю, можно продолжать дальше. В противном случае, при возникновении ошибок, воспользуйтесь данной статьей. Программа .
/configure выполнит поиск всех необходимых пакетов, в случае если какой-то пакет не установлен, она выдаст ошибку.
В коде этой ошибки будет содержаться название пакета, вам останется только его установить командой sudo apt-get install название_пакета.
Следующим командой можно выбрать модули/функции/опции Asterisk, которые вы хотите устанавливать. Если отмечено звездочкой *, значит пункт выбран.
$ make menuselect
Следующей командой компилируем Asterisk:
$ make
В случае удачной компиляции вам предложат установку:
Выполняем установку Asterisk:
$ make install
В самом конце вы должны получить следующее окно:
$ cd ..
Тестируем сервер Asterisk
После успешной установки сервера, попробуем его запустить. Создаем тестовые конфигурации:
$ make samples
Делаем первый запуск нашей станции:
$ sudo asterisk -vvvcd
Для того, чтобы не сочинять скрип автозапуска выполняем:
$ sudo make config
Теперь можно запустить наш сервер Asterisk как демон:
$ sudo /etc/init.d/asterisk start
И подключиться к его консоли:
Установка и настройка телефонии Asterisk в Linux Ubuntu
Linux-программа Asterisk нужна для создания серверов телефонии и АТС. У неё много полезных функций, которые будут к месту в любом офисе.
Конференции, автоответчики, распределение звонков, текстовые сообщения, видео, ое меню и ая почта. Утилита поддерживает популярные протоколы связи. Их можно коммутировать. Но установка Asterisk на Ubuntu — дело не самое простое.
Приложение загружается и настраивается через терминал. Поэтому надо изучить консольные команды.
Перед установкой
В Линукс одна программа может зависеть от дополнительных модулей. И без них не будет работать. Поэтому надо скачать не одну утилиту, а несколько. Для Астериска нужны пакеты:
- Взаимодействие с потоковыми интерфейсами ISDN. Например, с PRI, который нужен для связи с российскими операторами по E1.
- Работа с цифровыми интерфейсами.
Они есть на сайте asterisk.org в разделе «Download». Там же указаны терминальные команды для загрузки исходников.
Перед установкой:
- Откройте консоль. Она в меню «Программы — Стандартные».
- Перед каждой командой ставьте «sudo».
- Обновите систему. Для этого напишите «apt-get upgrade» и нажмите Enter. Потом «apt-get update».
- Перезагрузите ОС командой «reboot».
- Синхронизируйте дату и время с официальным сервером — «apt-get install ntp».
- Получите права администратора — «sudo -i».
Для работы Asterisk нужны дополнительные библиотеки. Если вы ставите программу из репозитория, они должны догрузиться автоматически. Но при запуске из исходников необходимые пакеты придётся ставить вручную. Для этого используйте команду «apt-get install [Имя-модуля]». Название библиотек вводите через пробел. Понадобятся:
- Apache Предназначен для работы с HTTP-серверами
- OpenSSL. Криптографический инструмент.
- LibSSL-Dev.
- Build-Essential.
- PHP Язык программирования, который используется для создания Web-приложений.
- PHP5-MySQL.
- Libxml2-Dev.
- Subversion. Нужна для контроля версий.
- Libncurses5-Dev.
- Wget. С её помощью вы скачаете исходники с сайта разработчика.
- Linux Headers. Для установки напишите не только название, но и параметры «linux-headers-$(uname -r)».
При загрузке система попросит ввести Root-пароль. У вас набор модулей может быть другим. Это зависит от того, какие пакеты у вас уже есть, и для каких целей вы будете использовать утилиту. Когда закончите с библиотеками, снова перезапустите систему. После этого можно устанавливать остальные зависимости.
LibPRI и DAHD
Запускайте модули в определённом порядке: вначале LibPRI, потом DAHD.
- Откройте каталог, в который собираетесь их поместить — «cd [Путь-к-папке]». Чтобы создать новую директорию, введите, «mkdir [Путь-к-новой-папке]».
- Скачайте файлы с модулями — «wget [Ссылка-на-загрузку]». URL можно узнать на сайте Asterisk. Вводить команду надо дважды — для каждой библиотеки. Ссылка должна заканчиваться расширением. Объекты будут помещены в открытую на данный момент папку.
- Если они находятся в архивах, распакуйте их — «tar zxvf [Название-файла]». Имя вводите с расширением. Номер версии можете заменить на «*» («Звёздочка»). Этот параметр воспринимается, как любое количество символов. Например, если напишете «dahdi-linux*», откроются все файлы, название которых начитается с «DAHDY Linux».
- При помощи команды «cd» перейдите в распакованную папку с LibPRI.
- Напечатайте последовательно три команды: «sudo make all», потом «sudo make install» и настройте конфигурацию «sudo make config».
- Сделайте то же самое для папки с DAHDY.
- Чтобы запустить этот сервис, напишите «service dahdi start».
- Чтобы он активировался при старте ОС, введите «chkconfig dahdi on».
Установка
Теперь установка самого Asterisk на Ubuntu.
- Скачайте его с сайта разработчика. Введите «wget [ссылка-на-загрузку]». Файл будет помещён в текущий каталог. Поэтому заранее откройте нужную папку при помощи команды «cd».
- Если программа заархивирована, распакуйте её — «tar zxvf [Название-архива]».
- Зайдите в директорию с Астериксом.
- В последних версиях утилиты используются службы WebRTC. Их можно загрузить прямо из Asterisk-исходников — введите «contrib/scripts/install_prereq install». Е нужны скрипты «Pjproject» и «Libsrtp». Чтобы их запустить, напишите ту же команду, но с параметром «-unpackaged».
- Снова перейдите в каталог с программой.
- Наберите «. /configure». Должна появиться заставка.
- Можете запустить графический интерфейс, чтобы посмотреть, как выглядит меню программы «make menuselect». Чтобы выйти из него, нажмите «Exit».
- Теперь последовательно введите две команды: вначале «make», потом «make install».
- Астериск установлен и работает.
Эту программу можно скачать из репозитория — «apt-get install asterisk».
Если «Pjproject» и «Libsrtp» не запустятся из исходников или возникнет ошибка, придётся самостоятельно их «собирать».
- Введите команду «sudo su».
- Перейдите директорию, в которой хранятся скрипты — «cd /usr/src/».
- Скачайте в неё нужный модуль — «git clone github.com/cisco/libsrtp.git».
- Просто загрузить скрипт недостаточно. Надо его подготовить. Откройте его папку — «cd libsrtp».
- Теперь введите параметры для конфигурации и настройки — «./configure CFLAGS=-fPIC».
- Затем строчку «make libsrtp.a».
- И поочерёдно команды для установки: вначале «make uninstall», потом «make install».
- Перейдите в каталоге на уровень вверх «cd ..».
- Превратите всё это в готовый скрипт — «echo «/usr/local/lib» > /etc/ld.so.conf.d/usr_local.conf».
- И завершите командой «ldconfig».
- Можете выходить из Root-режима.
Настройка
Теперь выберем параметры для телефонного сервера Ubuntu. Настройка с нуля Asterisk выглядит так.
Меню
- Зайдите в меню программы — «make menuselect».
- Активируйте все функции «MySQL».
- Откройте вкладку «Add-ons».
- Выберите опцию «format_mp3». Так ое меню будет в MP3-формате.
- Если вы хотите поставить поддержку русского языка (или какого-то другого), включите её в подразделе «Core Sound Packages».
- Вам нужны все три кодека. «ALAW» — основной. «G729» — для номеров, которые присоединяются через внешнюю сеть. «GSM» — для GSM-шлюзов.
- Скачайте модуль «meetme».
- В разделе «Extras Sound Packages» тоже подключите кодеки.
- Для использования FreePBX выберите «cdr_odbc».
- На вкладке «Music On Hold File» активируйте всё.
- Загрузите «MOH-OPSOUND-WAV». Это набор мелодий.
Потом вы сможете их заменить на те, которые вам нужны.
- Нажмите «Save & Exit».
Консоль
Включили модуль MP3? Теперь скачайте пакеты ых сообщений.
- Перейдите в папку «contrib/scripts/» при помощи команды «cd».
- Откройте скрипт «get_mp3_source.sh».
- Введите «make install».
- Подождите, пока загрузятся архивы.
Установленный Asterisk надо настраивать и через меню, и через терминал. Поэтому откройте консоль.
- Сделайте конфигурационные файлы. Можно в качестве теста. Команда — «make samples».
- Активируйте функцию автозапуска — «make config ldconfig».
- Теперь можно запустить сервис — «service asterisk start».
- Или сразу открыть его в качестве демона — «/etc/init.d/asterisk start». Чтобы включить его консоль, введите команду «sudo asterisk -rvvvcd».
Пока для работы с Астериском вам нужны права суперюзера. Но лучше создать отдельного пользователя и предоставить ему доступ к функциям программы. Для этого:
- Временно отключите утилиту — «service asterisk stop».
- Добавьте нового юзера — «adduser [Имя]». Можете создать группу, которой предоставите нужные права. Она пригодится, если вы решите сделать нескольких пользователей для работы с разными службами Астериска.
- Теперь нужна директория для запуска. Добавьте её при помощи команды «mkdir». После неё напишите параметр «-p» и путь к папке «/var/run/asterisk».
- Чтобы приложение открывалось сразу под нужным юзером, отредактируйте файл «/etc/default/asterisk». Установите там следующие параметры: «AST_GROUP=»dialout»» и «AST_USER=»asterisk»».
- Можно сделать это проще — впишите скрипт «sed -i ‘s/#AST_USER=»asterisk»/AST_USER=»asterisk»/g’ /etc/default/asterisk».
- Предоставьте пользователю доступ ко всем папкам программы — «chown -R [Имя-юзера] [Путь-к-каталогу]».
- Откройте файл «asterisk.conf», найдите в нём параметр «runuser» и укажите в нём только что созданного пользователя. Если делали группу, также перепишите строчку «rungroup».
- Перезагрузите систему — «reboot».
- Зайдите под именем Asterisk-юзера — «su [Имя]».
- И запустите программу.
- Чтобы посмотреть информацию о ней, введите «asterisk -rvvvv».
Утилита готова к работе. Дальнейшие действия зависят от того, в каких условиях будет использоваться станция. Есть несколько файлов, в которых расписана конфигурация:
- conf — общие настройки сервера. В нём можно указать, сколько подключено абонентов. Там устанавливают правила дозвона.
- conf — в нём также настраивают правила дозвона и выставляют параметры звонков.
- conf — конфигурация абонентских аккаунтов.
С Asterisk вы создадите АТС любой сложности. В нём много полезных функций и модулей. После установки и настройки вы сможете взаимодействовать со станцией при помощи клиентского программного обеспечения. Например, Linphone.
Установка Asterisk 13 на Ubuntu 16.04
Asterisk — это решение для компьютерной телефонии с открытым исходным кодом, которое поддерживает протоколы VoIP, SIP и PJSIP для операционной системы Linux.
Если подключить к компьютеру соответствующее оборудование, то с помощью Asterisk можно создать полноценную станцию ATC.
Среди основных возможностей программы можно отметить ую почту, конференции, интерактивное ое меню и распределение звонков.
В этой статье мы рассмотрим как выполняется установка Asterisk 13 на Ubuntu 16.04. Самой новой версии программы нет в официальных репозиториях, так как используется она рядовыми пользователями на так часто, поэтому нам придется собрать ее из исходников.
Установка Asterisk на Ubuntu 16.04
Для сборки из исходников нам нужно будет выполнять большинство действий от имени суперпользователя, поэтому сразу же получим полные права в системе:
sudo -i
Обратите внимание, что если вы заходите зайти на свой сервер по ssh от имени root, то вам все равно придется подключаться от имени обычного пользователя, а уже потом переключаться в консоль root. Дальше вам нужно установить зависимости для работы программы:
apt-get install build-essential wget libssl-dev libncurses5-dev libnewt-dev libxml2-dev linux-headers-$(uname -r) libsqlite3-dev uuid-dev git subversion
Дальше мы можем перейти к сборке программы, сначала скачаем исходный код из официального сайта:cd /usr/src
$ wget downloads.asterisk.org/pub/telephony/asterisk/asterisk-13-current.tar.gz
Для распаковки исходников наберите:
tar zxvf asterisk-13-current.tar.gz
Дальше нам нужно перейти в папку с исходниками, но мы не знаем точную версию программы. У нас есть мажорная версия 13, но минорную версию мы не знаем. Поэтому используйте такую команду:
cd asterisk-13*
Перед тем как компилировать программу нам нужно собрать и установить pjproject. Сначала скачаем исходники:
git clone git://github.com/asterisk/pjproject pjproject$ cd pjproject$ ./configure —prefix=/usr —enable-shared —disable-sound —disable-resample —disable-video —disable-opencore-amr CFLAGS='-O2 -DNDEBUG'$ make dep make && make install$ ldconfig
$ ldconfig -p|grep pj
Наконец теперь мы готовы выполнить сборку и установку Asterisk на Ubuntu 16.04:
cd .. contrib/scripts/get_mp3_source.sh
$ contrib/scripts/install_prereq install
Эти команды позволят вам установить некоторые зависимости для проигрывания mp3. Выполнение может занять некоторое время, а также вам нужно будет ввести код страны. Дальше начинаем сборку:
./configure && make menuselect && make && make install
Когда установка будет завершена, выполните такую команду, чтобы не создавать сотни конфигурационных файлов вручную:
make samples
Чтобы установить скрипты инициализации, которые позволят запускать asterisk автоматически, при каждой загрузке выполните:make config ldconfig
Теперь вы можете запустить сервер asterisk и убедится, что все действительно работает:
service asterisk start
И смотрим информацию про утилиту через терминал:
asterisk -rvvv
Если все было сделано правильно и установка Asterisk на Ubuntu 16.04 прошла успешно, то все будет работать.
Настройка Asterisk в Ubuntu 16.04
Программа запускается от суперпользователя. Но нам нужно, чтобы ее можно было запустить ее от пользователя asterisk, а поэтому нужно выполнить еще несколько настроек. Так ваша система будет в большей безопасности. Для начала нужно остановить запущенный сервис:
sudo service asterisk stop
Дальше добавьте группу и пользователя asterisk:
groupadd asterisk
$ useradd -d /var/lib/asterisk -g asterisk asterisk
Дальше нам нужно изменить скрипт инициализации так, чтобы программа запускалась от имени нужного пользователя. Мы можем отредактировать файл /etc/default/asterisk вручную, но проще использовать такие команды:
sed -i 's/#AST_USER=»asterisk»/AST_USER=»asterisk»/g' /etc/default/asterisk
$ sed -i 's/#AST_GROUP=»asterisk»/AST_GROUP=»asterisk»/g' /etc/default/asterisk
Для того чтобы все работало правильно, пользователю asterisk нужно дать доступ ко всем каталогам программы:
chown -R asterisk:asterisk /var/spool/asterisk /var/run/asterisk /etc/asterisk /var/{lib,log,spool}/asterisk /usr/lib/asterisk
Также укажем правильные настройки пользователя для полей runuser и rungroup в файле asterisk.conf:
sed -i 's/;runuser = asterisk/runuser = asterisk/g' /etc/asterisk/asterisk.conf
$ sed -i 's/;rungroup = asterisk/rungroup = asterisk/g' /etc/asterisk/asterisk.conf
Когда все будет готово запустите ранее остановленную службу или перезагрузите, если не останавливали:sudo service asterisk start
Затем проверяем:
asterisk -rvvv
Если пользователь и группа — asterisk, а значит мы сделали все правильно.
Выводы
Вот и все. Установка Asterisk 13 на Ubuntu 16.04 завершена. Теперь вы можете перейти к дальнейшей настройке сети для совершения звонков между вашими абонентами прямо через интернет. В качестве клиентского программного обеспечения можно использовать любую программу, поддерживающую нужные протоколы, например Jitsi или Linphone.