Asterisk 12 установка с нуля. Базовая настройка asterisk после установки. Установка необходимых пакетов

Asterisk - это решение для компьютерной телефонии с открытым исходным кодом, которое поддерживает протоколы VoIP, SIP и PJSIP для операционной системы Linux. Если подключить к компьютеру соответствующее оборудование, то с помощью Asterisk можно создать полноценную станцию ATC. Среди основных возможностей программы можно отметить голосовую почту, конференции, интерактивное голосовое меню и распределение звонков.

В этой статье мы рассмотрим как выполняется установка Asterisk 13 на Ubuntu 16.04. Самой новой версии программы нет в официальных репозиториях, так как используется она рядовыми пользователями на так часто, поэтому нам придется собрать ее из исходников.

Установка Asterisk на Ubuntu 16.04

Для сборки из исходников нам нужно будет выполнять большинство действий от имени суперпользователя, поэтому сразу же получим полные права в системе:

Обратите внимание, что если вы заходите зайти на свой сервер по 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

Перед тем как компилировать программу нам нужно собрать и установить 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

Когда установка будет завершена, выполните такую команду, чтобы не создавать сотни конфигурационных файлов вручную:

Чтобы установить скрипты инициализации, которые позволят запускать asterisk автоматически, при каждой загрузке выполните:

make config ldconfig

Теперь вы можете запустить сервер asterisk и убедится, что все действительно работает:

service asterisk start

И смотрим информацию про утилиту через терминал:

Если все было сделано правильно и установка Asterisk на Ubuntu 16.04 прошла успешно, то все будет работать.

Настройка Asterisk в Ubuntu 16.04

Программа запускается от суперпользователя. Но нам нужно, чтобы ее можно было запустить ее от пользователя 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, а значит мы сделали все правильно.

Выводы

Вот и все. Установка Asterisk 13 на Ubuntu 16.04 завершена. Теперь вы можете перейти к дальнейшей настройке сети для совершения звонков между вашими абонентами прямо через интернет. В качестве клиентского программного обеспечения можно использовать любую программу, поддерживающую нужные протоколы, например Jitsi или Linphone.

Об авторе

Основатель и администратор сайта сайт, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux интересуюсь всем, что связано с информационными технологиями и современной наукой.

Что нужно сделать перед установкой Обратитесь к разделу , если Вам необходимо инсталлировать АТС, которая должна справляться с большой нагрузкой, и Вы не уверены потянет ли ее Ваше программное и аппаратное обеспечение.Операционные системы: сервер Asterisk прекрасно работает на Linux системах, также была проделана большая работа участниками проекта по портированию сервера Asterisk на BSD платформу, включая FreeBSD, OpenBSD и Mac OS X. Однако, драйвер zaptel и драйверы ISDN каналов могут не поддерживаться на этих платформах. Обратитесь к разделу Операционные системы для сервера Asterisk, чтобы получить, специфичной для каждой операционной системы, информацию.В качестве альтернативы, Вы можете использовать методы, описанные на нижеприведенных страницах: Asterisk Install CDROM Asterisk Bootable CDROMИнструкция по быстрой установкеПрочтите раздел 10-минутный обзор сервера Asterisk, если Вы хотите узнать, что же может делать сервер Asterisk. В противном случае, этот раздел можно пропустить.Прочтите раздел Пошаговая инструкция по инсталляции Asterisk, где найдете информацию, начиная с настройки линукса, до первого телефонного вызова червез Ваш Asterisk. http://www.automated.it/guidetoasterisk.htm http://asterisk.net.au/ Руководство по инсталляции сервера Asterisk от гуру этого дела Требования к системе Вам не нужно ни какое специфичное оборудование для инсталляции и запуска сервера Asterisk. Необходимости в звуковой карте нет.Вам необходимо установить следующие программные пакеты перед компиляцией Asterisk: Исходники ядра (kernel sources)Заголовочные.h файлы для Вашего ядра (kernel headers)bison (необходим для обработки выражений в файле )Пакеты: openssl и openssl-dev или libssl-devlibnewt: необходим для работы интерфейса управления astman. Для сервера Asterisk он не требуется, но без этого пакета у Вас не будет приложения astman, которая является отдельной программой.Вам более не нужно устанавливать пакеты "readline" и "readline-devel" для Asterisk. Сервер поставляется со своей реализацией пакета "readline", который называется "editline".Если Вы планируете использовать дополнения для работы с базой mysql, установите пакеты для mysql, mysql_devel & mysql serverЕсли Вы планируете использовать интерфейсные карты от Digium, то Вам необходимо будет установить модуль ядра для поддержки драйвера устройства Zaptel, перед тем, как Вы сможете использовать их в Asterisk. Однако, может вы хочется сначала скачать и установить Asterisk - протестировать работу SIP и IAX телефонов - и уже после этого добавить поддержку для ваших карт Digium. Инсталляция Посмотрите раздел "Операционные системы на которых работает сервер Asterisk", чтобы получить дополнительные инструкции, которые зависят от используемой операционной системы.Как получить сервер Asterisk Asterisk таймер : нужен для конференции MeetMe и для IAX2 транков.Подготовка утилит сторонних разработчиков Обратите внимание на секцию утилиты сторонних разработчиков на основной странице посвященной , на предмет получения информации о следующих приложениях:
Музыка ожидания (music-on-hold): использование mpg123voicemail: для него требуется sendmail, для отправки уведомлений по Email.call detail recording: Сервер Asterisk может записывать эту информацию в CSV файлы, в базу данных PostgreSQL или в SQLite. Обратите внимание на пакет дополнений asterisk_addons из SVN .odbc: для хранения и получения данных из других баз данных (отличных от MySQL).кодек speex: требуется установка дополнительных библиотек.Синтезатор речи: FestivalРаспознавание речи: интеграция с приложением Sphinx.

Для установки из репозитория в debian / Ubuntu запустите из командной строки:

sudo apt-get install asterisk

Для установки из репозитория в RHEL / CentOS запустите из командной строки:

yum install asterisk

При этом будут проанализированы зависимости, и в случае отсутствия необходимых пакетов сначала будут установлены эти пакеты, а затем уже - Asterisk.

Главным недостатком такого подхода является то, что Вы не можете контролировать, какая именно версия Asterisk будет установлена. Скорее всего, это будет стабильная версия, но достаточно старая. Поэтому настоятельно рекомендую установку Asterisk из исходников. В этом случае Вы не только контролируете, какая именно версия будет установлена, но также можете выбрать необходимые компоненты, включить или отключить нужные модули Asterisk.

Установка из исходников Установка необходимых пакетов

Вначале нужно установить дополнительные пакеты, которые необходимы для установки и работы Asterisk. Без части из этих пакетов Asterisk вообще откажется устанавливаться (к примеру, если отсутствует gcc). Без некоторых пакетов Asterisk установится и даже будет работать, однако часть функционала будет недоступна. Например, пакет bison необходим для обработки выражений в файле extensions.conf. Еще пример: libnewt необходим для работы интерфейса управления astman. Для сервера Asterisk он не требуется, но без этого пакета у Вас не будет приложения astman, которое является отдельной программой.

Для Debian / Ubuntu:

Sudo apt-get install linux-headers-`uname -r` bison flex curl sox libncurses5-dev libssl-dev libxml2-dev binutils gcc g++ ncurses-dev libsqlite3-dev make uuid uuid-dev

Для RHEL / CentOS:

Yum -y install gcc gcc-c++ make ncurses-devel libxml2-devel sqlite-devel bison kernel-headers kernel-devel openssl openssl-devel newt newt-devel flex curl sox binutils

после чего выполнить команду:
yum update
(чтобы загрузить последние обновления пакетов)

Дополнение для asterisk 12 / 13

Для asterisk 12 / 13 необходимо также установить библиотеки uuid и libjansson.

Для установки библиотеки uuid в RHEL / Centos выполните команду:
yum -y install libuuid-devel

Для установки пакета libjansson необходимо сначала подключить дополнительный репозиторий EPEL .

После этого в RHEL / CentOS нужно поставить пакет jansson-devel, выполнив команду:
yum -y install jansson-devel

Автоматизация установки необходимых пакетов DAHDI и LibPRI

Перед установкой самого Asterisk необходимо решить для себя, устанавливать ли компоненты DAHDI и/или libpri. На официальном сайте Asterisk, в wiki-разделе () разработчики настоятельно рекомендуют устанавливать эти пакеты, даже если Вы не планируете их использовать (libpri предназначен для работы с ISDN соединениями, а DAHDI - с аналоговыми телефонными линиями - PTSN).

Если Вы решите устанавливать DAHDI и/или LibPRI, инструкции по скачиванию и установке можно взять здесь:

Загрузка и распаковка Asterisk

Переходим в каталог исходников Linux:

Cd /usr/src

для версии 1.8 это будет:

Wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-1.8-current.tar.gz

Для версии 11 это будет:

Wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-11-current.tar.gz

распаковываем asterisk - для этого выполняем команду tar:

Tar -xvzf asterisk-...tar.gz

где asterisk...tar.gz - это имя архива с asterisk, например:

Tar -xvzf asterisk-1.8-current.tar.gz

Tar -xvzf asterisk-11-current.tar.gz

Теперь нам нужно перейти в папку, которая создалась при распаковке архива. Название папки может совпадать, а может и не совпадать с именем архива. Узнать, какие папки есть в /usr/src, можно с помощью команды ls. Найдя папку, переходим в нее:

Cd asterisk-X.Y.Z

Компиляция asterisk

Перейдя в папку с исходными кодами asterisk, запускаем конфигурирование пакета перед компиляцией:

./configure

Если конфигурирование было успешным, то в конце выполнения команды на экране появится значок астериска (звездочка).

Теперь запускаем выбор компонентов пакета:

Make menuselect

Здесь Вы можете выбрать любые необходимые компоненты. Компоненты, которые выбрать нельзя, отмечены крестиками (XXX). Чтобы появилась возможность их выбрать, надо выйти из этого меню, установить недостающие пакеты (например, кодеки, приложение Festival, и так далее), и заново запустить компиляцию asterisk (начиная с команды configure).

На данном этапе рекомендуем установить поддержку русских звуковых файлов в asterisk . Если коротко: для этого перейдите в раздел Core Sound Packages, и отметьте галочками пакеты CORE-SOUNDS-EN-WAV и CORE-SOUNDS-RU-WAV. Кроме того, перейдите в раздел Extras Sound Packages и отметьте галочкой EXTRA-SOUNDS-EN-WAV. В данном случае мы выбрали установку базового голосового пакета для русского языка, а также установку базового и расширенного голосовых пакетов для английского языка (расширенного пакета звуковых файлов для русского языка непосредственно в дистрибутиве asterisk пока нет). Английский пакет рекомендуем устанавливать, поскольку в случае отсутствия нужных файлов в русском пакете, будет воспроизведен файл из английского пакета - и проблемы будет легче обнаружить.

После выбора требуемых пакетов обязательно выберите "сохранить изменения и выйти": "Save and exit".

Теперь мы запускаем самую главную (и самую длительную) часть компиляции пакета - сборку:

Если сборка прошла успешно, то в результате на экране появится текст в рамочке, сообщающий что-то вроде: "Asterisk build complete", "Asterisk has successfully been built...". Если этого не произошло, то это значит, что возникли проблемы при установке asterisk . Вероятнее всего, не установлен какой-то из пакетов, требующихся для работы asterisk (список нужных астериску пакетов см. выше, "Установка необходимых пакетов"). Как вариант, Вы можете попробовать установить другую (более новую или более старую) версию asterisk.

Если все прошло удачно, выполняем саму установку asterisk:

Make install

Если при этом на этапе make menuselect были выбраны дополнительные звуковые пакеты, asterisk скачает их из интернета перед установкой.

Если установка была успешной, Вы увидите сообщение в рамке, вида "Asterisk Installation Complete".

Если Вы делаете установку первый раз, то необходимо также создать конфигурационные файлы. Если же Вы переустанавливаете / обновляете asterisk, обязательно убедитесь, что Ваши конфигурационные файлы сохранены (или не выполняйте команду создания конфигов).

Создаем конфигурационные файлы:

Make samples

А теперь добавляем asterisk в сценарии запуска linux:

Make config

Если у Вас RHEL/CentOS, то понадобится выполнить еще одну команду:

Chkconfig asterisk on

Теперь до перезагрузки компьютера Вы можете проверить, работает asterisk или нет. Для этого в командной строке linux наберите:

Если Вы увидите сообщение "Asterisk ready", значит asterisk установлен успешно. После чего из командной строки asterisk (Asterisk CLI) наберите:

Core stop now

для остановки астериска.

Теперь Вы можете перезагрузить компьютер, и убедиться, что asterisk автоматически запускается при старте. Для этого после перезапуска (и логина под root) запустите следующую команду:

Если Вы увидите приглашение системы asterisk, значит asterisk установлен успешно, Вы правильно настроили запуск asterisk при старте компьютера, и не возникло никаких других ошибок.

Проблемы при установке asterisk

При возникновении проблем, возникающих в процессе компиляции / установки / запуска asterisk, смотрите .

Графический интерфейс администратора IP – АТС Asterisk – FreePBX, насчитывает огромное количество опций настройки, вариантов маршрутизации, подключения различного оборудования, начиная от телефонных аппаратов и заканчивая шлюзами. В статье мы опишем базовую настройку тринадцатой версии FreePBX сразу после .

Пошаговое видео

Подключение к FreePBX

Чтобы подключиться к графическому интерфейсу FreePBX, нужно ввести IP – адрес Asterisk, который вы указали на этапе установки. Если вы забыли, какой IP – адрес указали, то подключите монитор и клавиатуру к вашему серверу, а затем введите данные для пользователя root, как показано ниже:



При подключении, вам будет указан IP – адрес вашего сервера. Если версия вашего дистрибутива отличается, и вы не увидели аналогичного вывода, укажите следующую команду:

# ifconfig

Вывод команды позволит вам увидеть все доступные интерфейсы и их IP – адреса.

Активация и пароль администратора

Подключившись к FreePBX 13 через интернет – браузер вам будет сразу предложено создать учетную запись администратора указав логин, пароль и адрес электронной почты администратора системы. После успешного создания, выберите на главной страницу пункт FreePBX Administration и укажите созданные параметры:



Сразу после подключение, перейдите во вкладку Admin → System Admin и нажмите кнопку Activation




После этого, следуйте инструкциям инсталлятора. Необходимо будет указать адрес электронной почты, пароль, номер телефона и местоположение вашего сервера.


Настройки SIP

Модуль SIP Settings это графическая визуализация настроек в файле /etc/asterisk/sip_nat.conf. Здесь, с помощью графического интерфейса можно настроить важнейшие параметры, такие как настройки NAT, внешний IP – адрес и настройки кодеков. Чтобы перейти к настройке нажмите на вкладку Settings , а далее Asterisk Sip Settings .



Allow Anonymous inbound SIP Calls
Данная опция позволяет разрешить, или запретить входящие звонки с неизвестных номеров. Мы советуем запрещать данный вид звонков, так как потенциально, разрешенные анонимные звонки могут стать лазейкой для злоумышленников.

Local Networks
Введите локальные (находящиеся внутри вашей сети) адреса подсетей, которым Asterisk будет доверять. Например, 192.168.2.0/255.255.255.0

RTP Ranges
Укажите диапазон RTP портов. Рекомендуем все оставлять по умолчанию.

Strict RTP
Когда между двумя устройствами устанавливается RTP поток, то назначаются адреса источника и назначения. При включенной данной опции, все пакеты приходящие с другого IP – адреса буду отброшены. Мы рекомендуем не выключать данную опцию.

Codecs
Галочкой отметьте нужные кодеки.

Положение кодеков указывает их приоритет. Например, на скриншоте ниже приоритет отдан g.711 u-law, затем g.711 a-law, gsm и так далее. Более подробно про телефонные вы можете прочитать в наших прошлых статях.
Настройка NAT в FreePBX

В большинстве случаев, если администратор обнаруживает проблему односторонней слышимости, или то, что звонки обрываются спустя несколько секунд разговора – проблема в NAT. Вот что нужно сделать, чтобы избавиться от этой проблемы: в настройка модуля Asterisk SIP Settings , переходим во вкладку Chan SIP Settings и отмечаем следующее:

NAT - yes
IP Configuration - Static IP
Override External IP - введите ваш внешний IP - адрес

Reinvite Behavior - No
Обязательно укажите в настройках Local Networks в предыдущей вкладке вашу локальную подсеть. Помимо этого, пробросьте на вашем маршрутизаторе порт 5060 и диапазон портов из параметра RTP Ranges , по умолчанию равный 10000-20000

Настройка сетевых параметров FreePBX

Есть три важных пункта данной настройки:

  • Настроить статический IP – адрес для сервера
  • Настроить DNS
  • Настроить временную зону
  • Перейдем к настройке IP. Для этого, перейдите во вкладку Admin → System Admin → Network Settings

    Здесь мы настраиваем следующие опции:

    • Network Interface - сетевой интерфейс, то есть конкретная сетевая карта (NIC)
    • IP Assignment - выберите Static чтобы настроить статический IP - адрес
    • Static IP - введите IP – адрес сервера
    • Netmask - маска сети
    • Gateway - шлюз по умолчанию
    • Start Automatically - старт при загрузке сервера



    Настроим уведомления нашего сервера Asterisk, при таких сбоях, как например малое дисковое пространство или сбой в работе RAID массива:



    Производим настройку следующих опций:

    • From Address - адрес электронной почты, который АТС будет указывать как адрес отправителя при формировании письма
    • Storage Notifications - почта для уведомлений о проблемах с хранением данных (сбой RAID или нехватка места на дисках)
    • Intrusion Detection Notifications IP - почта для уведомлений о вторжениях или попытках взлома сервера

    Конфигурация системы безопасности

    В Asterisk встроена система обнаружения вторжений – Fail2Ban. Для настройки системы перейдите во вкладку Admin → System Admin → Intrusion Detection



    Система гибкая, и, порой реагирует когда не нужно:) Поэтому, советуем заранее вносить в Whitelist перечень нужных IP – адресов, таких как IP SIP – прокси, адреса шлюзов, например FXS. Порой, бывает так, что в бан попадает IP – адрес FXS шлюза, к которому подключены все офисные аналоговые телефоны.

    • Status - мы рекомендуем всегда контролировать состояние Fail2Ban, чтобы статус был running
    • Intrusion Detection - в данном пункте можно остановить и перезапустить службу.
    • Ban Time - время в секундах, которое IP – адрес будет находиться в статусе блокировки
    • Max Retry - количество попыток подключения к АТС, которое пользователь может осуществить в течение Find Time.
    • Find Time - время, в течение которого у пользователя есть Max Retry попыток подключения к системе.
    • E-mail: - адрес электронной почты, на которую будут отправляться уведомления о внесении нового IP – адреса в бан.
    • Whitelist - список заранее внесенных IP – адресов, которым доверяет администратор.

    Настройка внутренних номеров

    Для настройки телефонных аппаратов и создания внутренних номеров перейдите во вкладку Applications → Extensions . Процесс создания внутренних номеров (Extension) мы описали в статье по ссылке ниже:

    Настройка SIP - транка

    Подключение к провайдеру является важнейшим этапом в настройке вашего сервера IP - АТС Asterisk. Именно настройки провайдера, позволят нашим пользователям совершать исходящие, и принимать входящие вызовы. Для настройки SIP – транка перейдите во вкладку Connectivity → Trunks . Процесс создания SIP - транка подробно расписан в статье по ссылке ниже:

    Настройка маршрутизации

    После того, как мы настроили внутренние номера и SIP – транки для подключения к провайдеру, нам необходимо настроить маршрутизацию вызова. В рамках данной настройки, мы будем учить наш сервер Asterisk как обрабатывать входящий и исходящие вызовы. Connectivity Нам жаль, что статья не была полезна для вас:(Пожалуйста, если не затруднит, укажите по какой причине? Мы будем очень благодарны за подробный ответ. Спасибо, что помогаете нам стать лучше!

    Asterisk, установка которого будет рассмотрена в данном материале, представляет собой программное обеспечение для организации так называемой офисной телефонной станции или IP-АТС (англ. Private Branch eXchange, PBX). Оно объединяет все телефоны в офисе в одну информационную сеть, на базе которой работают разнообразные службы голосовой связи. Asterisk работает на Linux, BSD, OS X и на Windows с использованием эмулятора.

    Asterisk может осуществлять передачу голоса по четырем различным протоколам VoIP и взаимодействовать практически со всеми стандартизованными телефонными аппаратами (включая мобильные) при помощи относительно недорогого оборудования. Asterisk реализует различные возможности голосовой почты (voicemail), включая телефонный справочник, конференц-связь, интерактивный голосовой ответ и очереди вызовов.

    В данном материале мы рассмотрим процесс установки Asterisk на ОС Linux, в частности на популярных дистрибутивах CentOS и Debian, а также базовые процедуры настройки сервера голосовой почты.

    Установка сервера Asterisk из исходников

    Для начала рассмотрим алгоритм инсталляции сервера IP-телефонии, который доступен абсолютно на любом дистрибутиве Linux, а именно сборку и установку программного обеспечения из исходного кода. Данный метод позволяет выполнить установку Asterisk с нуля.

    Перед установкой сервера IP-телефонии в системе должен быть обеспечен ряд условий. Asterisk должен устанавливаться на систему, работающую на ядре версии не ниже 2.6, при этом в системе должны присутствовать файлы заголовков, чтобы программа успешно скомпилировалась. Asterisk написан на языке C, поэтому для сборки в системе должен быть установлен компилятор gcc с сопутствующими библиотеками, такими как termcap и openssl. Для сборки дополнений Asterisk также требуются предустановленные библиотеки и клиент mysql, а также соответствующие им файлы заголовков.

    Когда система подготовлена для установки, вам будет необходимо перейти в раздел Download на официальном сайте и загрузить с него следующие архивы:

  • asterisk.
  • asterisk-sounds.
  • asterisk-addons.
  • zaptel.
  • libpri.
  • Файлы необходимо скопировать на сервер, который будет осуществлять функции офисной АТС. Разместите их в папке /usr/src/.

    После этого запустите на Перейдите в каталог с архивами и распакуйте каждый из них командой:

    tar-xzftar.gz

    Архивы будут распакованы в папки с именами, совпадающими с названиями архивов. Последовательно перейдите в каждую из папок командой:

    cd

    И выполните в каждой папке нижеуказанные команды.

    1. Подготовка к сборке:

    2. Сборка:

    3. Установка:

    Если вышеприведенные команды завершатся с успешным результатом, вы соберете и установите Asterisk на своем сервере.

    Процедура установки из исходников одинакова для всех дистрибутивов Linux, но не всем привычна. Как правило, большинство пользователей предпочитает методы установки, предлагаемые конкретным дистрибутивом.

    В связи с этим, рассмотрим процедуры инсталляции Asterisk на двух популярных платформах для создания офисных АТС: CentOS и Debian GNU/Linux.

    Установка Asterisk на CentOS

    В рамках данного примера мы будем устанавливать Asterisk 13. Мы выполним установку Asterisk на CentOS 7.

    Предполагается, что инсталляция будет выполняться в текстовом консольном режиме от имени суперпользователя (root).

    Для начала необходимо установить все необходимые пререквизиты. Убедитесь, что в системе присутствуют все пакеты, указанные ниже. Их достаточно много:

    В результате в системе будут присутствовать все зависимости, требующиеся для успешной сборки сервера телефонии Asterisk.

    Следующим шагом должно стать отключение SELinux. Система безопасности Security-Enhanced Linux в CentOS включена по умолчанию и очень часто препятствует нормальному функционированию Asterisk. Поэтому для успешной настройки и работы сервера ее необходимо отключить.

    Проверим статус активности системы SELinux следующей командой:

    Если система сообщает, что SELinux включен, выполним процедуру отключения. Для этого необходимо внести изменения в конфигурационный файл в папке /etc/selinux, установив соответствующий флаг.

    sed -i "s/\(^SELINUX=\).*/\SELINUX=DISABLED/" config

    timedatectl set-timezone (например, America/Los_Angeles)

    Для того, чтобы проверить, был ли установлен часовой пояс, можно использовать следующую команду:

    ​timedatectl status

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

    Теперь непосредственно перейдем к установке Asterisk.

    Фактически, установка Asterisk на CentOS сводится к той же самой сборке из исходников, с которой мы познакомились в предыдущем разделе. Здесь же мы рассмотрим процесс сборки с учетом особенностей конкретного дистрибутива Linux, а именно CentOS 7.

    Для начала загрузим и установим сам сервер IP-телефонии.

    Скачаем из раздела Downloads на официальном сайте продукта архив с Asterisk 13 и сохраним его в папку /usr/src. Распакуем архив командой:

    tar zxvf

    Перейдем в папку с распакованным архивом и выполним команды, приведенные ниже.

    ./configure --libdir=/usr/lib64 --with-pjproject-bundled

    Данная последовательность команд позволит подготовить исходники к сборке.

    make menuselect.makeopts

    После настройки опций компиляции выполните следующую последовательность действий:

    1. Создайте отдельную учетную запись пользователя для сервера IP-телефонии.

    adduser asterisk -s /sbin/nologin -c "Asterisk User"

    2. Соберите и установите сервер.

    make && make install

    3. Задайте права доступа к Asterisk для вновь созданного пользователя.

    chown -R asterisk. /var/lib/asterisk

    В результате базовый сервер Asterisk будет собран и установлен.

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

    FreePBX

    FreePBX - это полнофункциональный графический Web-интерфейс, предназначенный для настройки и управления офисной АТС. Установка Asterisk с FreePBX осуществляется в нижеприведенной последовательности.

    Запустим базу данных:

    systemctl start mariadb

    Скачаем с сайта GitHub в папку /usr/src исходный код FreePBX:

    git clone -b release/13.0 https://github.com/FreePBX/framework.git freepbx

    ./start_asterisk start

    И ряд команд для настройки FreePBX:

    DAHDI

    DAHDI - это драйвер, обеспечивающий взаимодействие Asterisk с различным телефонным оборудованием. Он отвечает за работу плат интерфейсов телефонии, устанавливаемых непосредственно в сервер, на котором работает Asterisk. Процедура установки DAHDI описана ниже.

    Скачайте в каталог /usr/src архив с драйвером, распакуйте его и перейдите в разархивированную папку. В ней выполните команды:

    PJSIP

    PJSIP - это библиотека, написанная на С, которая отвечает за поддержку различных протоколов IP-телефонии. С версии Asterisk 13.8 включительно библиотека PJSIP может устанавливаться отдельно. Впрочем, если Asterisk компилируется с флагом --with-pjproject-bundled (что мы и сделали в предыдущем разделе), библиотека PJSIP будет установлена непосредственно при компиляции сервера.

    Для того, чтобы установить PJSIP отдельно, требуется произвести следующую процедуру.

    Скачайте с сайта pjsip.org в каталог /usr/src архив с драйвером, распакуйте его и перейдите в разархивированную папку. В ней выполните команды:

    Пост-инсталляционные процедуры

    По завершению установки Asterisk необходимо выполнить ряд дополнительных действий. Данные процедуры являются обязательными.

    1. Установить защиту для сервера базы данных:

    mysql_secure_installation

    Для выполнения процедуры просто ответьте Y на все вопросы.

    2. Изменить настройки веб-сервера:

    3. Открыть доступ к службам и портам, необходимым для работы Asterisk:

    firewall-cmd --permanent --zone=public --add-service={http,https} --add-port=5060-5061/tcp --add-port=5060-5061/udp --add-port=10000-20000/udp

    4. Настроить автозагрузку базы данных:

    systemctl enable mariadb

    5. Настроить загрузку веб-сервера при запуске системы:

    systemctl enable httpd

    6. Настроить автозапуск FreePBX при загрузке системы:

    nano /etc/systemd/system/freepbx.service

    systemctl enable freepbx

    7. Настроить соединение с базой данных через ODBC. Если установлен устаревший модуль cdr_mysql.so, этот пункт опционален, но все же рекомендуется:

    nano /etc/odbc.ini

    Для того, чтобы проверить связь по ODBC, используйте следующую команду:

    isql -v asteriskcdrdb

    8. Перезагрузите систему, чтобы применить сделанные изменения:

    Установка Asterisk 13 на Debian

    В данном разделе мы рассмотрим процедуру установки на другой популярной платформе - Debian. Хорошая новость для пользователей: она относительно проста, несмотря на то, что также включает в себя сборку из исходников. В качестве примера мы выполним установку Asterisk на Debian 8.

    Установка производится от имени суперпользователя (root). Откройте терминал, получите соответствующие права, после чего можно приступить к инсталляции.

    Сначала загрузите Asterisk 13 с официального сайт и распакуйте загруженный архив. Перейдите в папку с распакованными исходниками.

    Теперь установим необходимые зависимости. Самая важная - компилятор gcc - в Debian уже есть. Поэтому просто загрузим оставшиеся:

    После того, как все зависимости загружены и установлены, выполните в папке с распакованным архивом Asterisk следующую команду:

    Команда должна завершиться без ошибок. Если в результате возникнет сообщение об отсутствии некоторых зависимостей, установите их.

    Перед компиляцией Asterisk есть возможность включить или отключить отдельные модули:

    Будет открыто консольное приложение со списком модулей. Перемещаясь клавишами вниз и вверх по списку, вы можете включать и отключать их. Некоторые дополнительные модули требуют установки зависимостей. Это можно сделать при помощи apt-get.

    Теперь приступим к компиляции Asterisk. Введите в консоли уже знакомые команды:

    1. Сборка исходников:

    2. Установка в системные каталоги:

    Когда выполнение компиляции завершится без ошибок, нужно запустить команду:

    На этом завершается установка. Asterisk успешно проинсталлирован на ваше сервер. Следующая команда вызовет консоль управления Asterisk:

    asterisk -vvvvvvgc

    Настройка Asterisk

    Теперь рассмотрим базовые процедуры настройки сервера телефонии Asterisk. Они принципиально одинаковы для всех дистрибутивов Linux.

    Для начала нужно добавить следующий текст в файл sip.conf:

    Тем самым мы создадим пять учетных записей, которые могут использоваться любым клиентом SIP (Cisco SIP Phone, xlite, ATA и тому подобные). Все пользователи будут зарегистрированы в Asterisk. Если данная конфигурация не работает, попробуйте отключить сетевой экран до завершения настройки программного обеспечения.

    Создание первого номерного плана

    Номерной план (диалплан) предоставляет собой формализованное описание процессов обработки телефонных звонков. Диалплан в деталях указывает системе, что нужно делать с исходящими и входящими звонками. Например, Asterisk может переадресовывать их, отвечать на них при помощи автоответчика и так далее.

    Откройте файл extension.conf в папке /etc/asterisk и добавьте в него строку:

    exten=> _XXXX,1,Dial(SIP/${EXTEN})

    Теперь все сконфигурированные клиенты SIP смогут принимать и отправлять звонки. Благодаря простоте настройки диалплана, Asterisk и является одной из самых дружелюбных платформ IP-телефонии. Не так уж и много навыков требуется, чтобы поднять офисную АТС.

    Создание первого транка SIP

    Asterisk может выполнять исходящие и входящие вызовы. Для исходящих вызовов нам требуется провайдер, который будет перенаправлять вызовы в нашу систему, а также публичный IP-адрес.

    Для этого нужно настроить SIP-транк - канал виртуальной связи между клиентским оборудованием и телефонным оператором. Если в роли оборудования клиента будет выступать наш сервер с Asterisk, настройка транка позволит подключить к нему любое количество городских телефонных номеров по протоколу SIP

    Для создания транка добавьте следующий код в файл sip.conf:

    После этого нужно будет внести в extension.conf еще одну строку:

    exten => _XXXXXXX.,1,Dial(SIP/trunk1/${EXTEN})

    Это позволит установить связь с провайдером для осуществления исходящих вызовов.

    Заключение

    Настройка полноценной офисной АТС на базе Asterisk, установка которого была рассмотрена в данной статье, включает в себя гораздо больше процедур, чем описано выше. Подробная информация о сервере телефонии и его возможности представлена к официальной документации по Asterisk.