- Как установить Asterisk в Ubuntu 18.04
- Подготовка
- Скачивание Asterisk
- Установка зависимостей Asterisk
- Установка Asterisk
- Создание пользователя Asterisk
- Запуск Asterisk
- Настройка межсетевого экрана
- Выводы
- Установка и базовая настройка сервера Asterisk на Ubuntu
- Подготовка сервера
- Установка
- Сборка DAHDI
- Сборка LibPRI
- Установка Asterisk
- Настройка и запуск
- Ошибки запуска
- Предупреждения при запуске
- Заведение первых номеров
- Проверка
Как установить Asterisk в Ubuntu 18.04
Asterisk — самая популярная и широко используемая платформа PBX с открытым исходным кодом, которая поддерживает системы IP PBX, серверы конференций и шлюзы VoIP. Он используется частными лицами, малым бизнесом, крупными предприятиями и правительствами по всему миру.
Функции Asterisk включают голосовую почту, музыку в режиме ожидания, конференц-связь, постановку вызовов в очередь, запись разговоров, интерактивный голосовой ответ и многое другое.
Это руководство проведет вас через шаги, необходимые для установки Asterisk 15 в Ubuntu 18.04.
Подготовка
Прежде чем продолжить это руководство, убедитесь, что вы вошли в систему как пользователь с привилегиями sudo .
Обновите свою систему Ubuntu и установите следующие пакеты, необходимые для загрузки и сборки Asterisk:
Скачивание Asterisk
Мы собираемся загрузить исходный код Asterisk в каталог /usr/src который является обычным местом для размещения исходных файлов, перейдите в каталог с помощью:
Загрузите последнюю версию Asterisk 15, используя следующую команду wget :
После завершения загрузки распакуйте архив с помощью:
Прежде чем перейти к следующим шагам, убедитесь, что вы перешли в исходный каталог Asterisk, набрав:
Установка зависимостей Asterisk
Следующий скрипт загрузит исходники MP3, необходимые для сборки модуля MP3 и использования файлов MP3 в Asterisk:
Используйте сценарий install_prereq для разрешения всех зависимостей в вашей системе Ubuntu:
Скрипт установит все необходимые пакеты и после успешного завершения выведет следующее сообщение:
Установка Asterisk
Сценарий configure выполнит ряд проверок, чтобы убедиться, что все зависимости в вашей системе присутствуют, запустите сценарий, набрав:
После успешного завершения вы увидите следующий результат:
Следующим шагом является выбор модулей, которые вы хотите скомпилировать и установить. Войдите в систему Menuselect, набрав:
Мы уже скачали исходные файлы MP3, и теперь нам нужно указать Asterisk создать модуль MP3, выбрав format_mp3 :
Когда вы закончите, нажмите F12 чтобы сохранить и выйти, или переключитесь на кнопку « Save and Exit и нажмите Enter .
Теперь мы можем запустить процесс компиляции с помощью команды make :
После завершения процесса сборки вам будет представлено следующее сообщение:
Как говорится в сообщении выше, следующим шагом будет установка Asterisk и его модулей, набрав:
По завершении установки сценарий отобразит следующее сообщение:
Теперь, когда у нас установлен Asterisk, нам нужно установить образцы файлов конфигурации.
Установите либо общие файлы конфигурации со справочной документацией, набрав:
Или установите базовые файлы конфигурации АТС:
Последний шаг — установить сценарий инициализации Asterisk, набрав:
Также неплохо запустить ldconfig для обновления кеша разделяемых библиотек:
Создание пользователя Asterisk
По умолчанию Asterisk запускается от имени пользователя root. По соображениям безопасности мы создадим нового системного пользователя и настроим Asterisk для работы от имени вновь созданного пользователя.
Чтобы создать нового системного пользователя с именем asterisk выполните следующую команду:
Чтобы настроить Asterisk для запуска от имени пользователя asterisk , откройте файл /etc/default/asterisk и раскомментируйте следующие две строки:
Добавьте пользователя asterisk в группы dialout и audio :
Нам также необходимо изменить владельца и разрешения для всех файлов и каталогов asterisk, чтобы пользователь asterisk мог получить доступ к этим файлам:
Запуск Asterisk
Теперь, когда мы все настроены, мы можем запустить службу Asterisk с помощью следующей команды:
Чтобы убедиться, что Asterisk работает, подключитесь к интерфейсу командной строки Asterisk (CLI), набрав:
Вы увидите приглашение Asterisk CLI по умолчанию:
Последний шаг — разрешить запуск службы Asterisk при загрузке:
Настройка межсетевого экрана
Брандмауэр защитит ваш сервер от нежелательного трафика.
Если на вашем сервере не настроен брандмауэр, вы можете ознакомиться с нашим руководством о том, как настроить брандмауэр с ufw на ubuntu.
По умолчанию SIP использует UDP-порт 5060, чтобы открыть порт:
Если вы включили протокол реального времени (RTP), вам также необходимо открыть следующий диапазон портов:
Не стесняйтесь настраивать брандмауэр в соответствии с вашими потребностями.
Выводы
В этом руководстве мы показали вам, как установить последнюю версию Asterisk из исходного кода в вашей системе Ubuntu.
Теперь вам следует проверить документацию по Asterisk и узнать больше о том, как настроить и использовать Asterisk.
Если вы столкнулись с проблемой или хотите оставить отзыв, оставьте комментарий ниже.
Источник
Установка и базовая настройка сервера Asterisk на Ubuntu
Инструкция позволит быстро познакомиться с сервером Asterisk, выполнив базовые действия по установке и настройке сервера. Нижеописанные действия протестированы на Ubuntu 16.04 и Asterisk 15.
Подготовка сервера
Актуализируем список пакетов:
Установка
Установку можно выполнить с помощью команды apt install asterisk. Но в данной инструкции мы разберем установку путем сборки из исходников.
Рекомендуется установить Asterisk с DAHDI (драйверы плат интерфейсов телефонии) и LibPRI (библиотека для работы с потоковыми TDM-интерфейсами). Сначала необходимо собрать DAHDI, затем LibPRI и только потом — Asterisk.
Устанавливаем пакеты, необходимые для корректной сборки DAHDI и LibPRI:
apt install make gcc
Сборка DAHDI
Распаковываем его и переходим в распакованный каталог:
tar -xvf dahdi-linux-complete-current.tar.gz
Собираем пакет и устанавливаем его:
Выходим из каталога dahdi:
Сборка LibPRI
tar -xvf libpri-current.tar.gz
Собираем и устанавливаем:
Выходим из каталога libpri:
Установка Asterisk
Переходим по ссылке https://downloads.asterisk.org/pub/telephony/asterisk и копируем ссылку на последнюю версию asterisk. Используя ссылку, скачиваем исходник:
* в моем случае, последняя версия была 15.
Распаковываем архив и переходим в папку, появившуюся после распаковки:
tar -xvf asterisk-*.tar.gz
Устанавливаем библиотеки для работы с mp3:
./configure —prefix=/usr —sysconfdir=/etc —localstatedir=/var —libdir=/usr/lib64 —with-dahdi —with-pri —with-iconv —with-libcurl —with-speex
- —with-dahdi — с драйверами DAHDI.
- —with-pri — с библиотекой PRI.
- —with-iconv — с возможностью конвертации кодировок (будет не лишним для поддержки русских символов).
- —with-libcurl — возможность извлекать данные посредством CURL-запросов (по http).
- —with-speex — дополнительный VBR-кодек (используется на многих софт-фонах).
** список всех доступных опций можно посмотреть командой ./configure -h.
Мы должны увидеть логотип астериска:
Вызываем оконное меню настройки модулей:
Для большинства случаев, настройки можно оставить по умолчанию. В противном случае рекомендуется изучить опции и выбрать необходимые. После нажимаем Save & Exit.
Затем собираем исходник:
И выполняем установку:
Установим примеры конфигурационных файлов и документацию:
Устанавливаем скрипт инициализации (для автозапуска):
Устанавливаем скрипты для отсекания логов:
Создаем конфигурационный файл для указания дополнительного пути с библиотеками:
Добавляем в него одну строчку:
* это путь до каталога с библиотеками, с которым мы собирали asterisk (опция —libdir).
Настройка и запуск
Открываем конфигурационный файл:
И редактируем следующее:
runuser = asterisk
rungroup = asterisk
defaultlanguage = ru
documentation_language = ru_RU
Создаем системную учетную запись asterisk:
useradd asterisk -m
chown -R asterisk:asterisk /var/run/asterisk
chown -R asterisk:asterisk /etc/asterisk
chown -R asterisk:asterisk /var/
chown -R asterisk:asterisk /usr/lib64/asterisk
chown -R asterisk:asterisk /var/log/asterisk
Исправляем ошибки и предупреждения. В моем случае были следующие.
Ошибки запуска
No configured users for ARI. ARI предоставляет API для Asterisk REST Interface. В данном примере, отключаем поддержку:
Name or service not known. Если появится такая ошибка, система не может разрешить имя компьютера в IP-адрес. Необходимо правильно настроить DNS или прописать имя компьютера в файл /etc/hosts.
No directory URL or host found. Модуль для работы lpad неправильно настроен или не настроен.
PostgreSQL RealTime: Failed to connect database asterisk on 127.0.0.1. Модуль для работы с СУБД PostgreSQL.
Failed to open /dev/dahdi/transcode: No such file or directory. Ошибку можно увидеть, если нет оборудования DAHDI.
Вышеописанные ошибки возникают из-за включенных, но не используемых модулей. Отключаем:
noload => res_config_ldap.so
noload => res_config_pgsql.so
noload => codec_dahdi.so
Предупреждения при запуске
- Unable to find a valid server address or name.
- Process_dahdi: Ignoring any changes to .
- CEL pgsql config file missing global section.
- Cel_tds module had config problems; declining load.
Отключаем следующие модули:
noload => res_phoneprov.so
noload => app_dahdiras.so
noload => chan_dahdi.so
noload => res_pjsip_phoneprov_provider.so
noload => cel_pgsql.so
noload => cel_tds.so
Список всех загружаемых модулей можно посмотреть командой:
ls -la /usr/lib64/asterisk/modules/
Разрешаем сервис asterisk и запускаем его:
systemctl enable asterisk
systemctl start asterisk
Заведение первых номеров
Для первой настройки достаточно завести 2 номера с возможностью подключения по SIP.
Создаем правило обработки вызова (контекст). Открываем следующий файл:
И добавляем в него следующее:
[outcaling]
exten => _XXXX,1,Dial(SIP/$
* создаем контекст с именем outcaling для четырехзначных номеров (XXXX) с вызовом по SIP по внутреннему номеру.
Открываем следующие конфигурационный файл:
И добавляем в него два внутренних номера (extensions):
[1001]
type=friend
regexten=1001
secret=1234
context=outcaling
host=dynamic
callerid=»1001″
disallow=all
allow=alaw
allow=ulaw
language=ru
callgroup=1
pickupgroup=1
qualify=yes
canreinvite=yes
call-limit=4
nat=no
[1002]
type=friend
regexten=1002
secret=1234
context=outcaling
host=dynamic
callerid=»1002″
disallow=all
allow=alaw
allow=ulaw
language=ru
callgroup=1
pickupgroup=1
qualify=yes
canreinvite=yes
call-limit=4
nat=no
- [1001], [1002] — имена для обозначения номеров.
- type — типы проверки номеров. Могут быть peer, user или friend. Peer — вызовы сопоставляются с IP-адресами и номерами портов. User — проверка username. Friend — включает возможности peer и user (проверка username и IP-адреса источника) и лучше всего подходит для телефонов и телефонных программ.
- regexten — добавочный номер. Если не задан, используется имя.
- secret — пароль для аутентификации.
- context — контекст или группа правил.
- host — IP-адрес или имя клиента. Для автоматической регистрации используем dynamic.
- callerid — идентификатор пользователя при звонке.
- disallow — запрещает кодеки (задается перед параметром allow).
- allow — разрешает кодеки. alaw и ulaw — алгоритмы для кодеков g711.
- language — код используемого языка.
- callgroup — задает группу устройства (для возможности перехвата).
- pickupgroup — задает перечень групп, которые можно перехватывать.
- qualify — включает или отключает периодическую проверку подключенного клиента.
- canreinvite — включает или отключает прохождение голосового RTP трафика через Asterisk. Устанавливать, только если клиент поддерживает функцию SIP re-invites.
- call-limit — ограничение количества одновременных вызовов.
- nat — устанавливается в yes, если клиент находиться за NAT.
systemctl restart asterisk
Проверка
Все, что происходит в Asterisk можно посмотреть в лог-файле командой:
tail -f /var/log/asterisk/messages
Для теста настроенного сервера можно воспользоваться IP-телефоном или софт-фоном на компьютере или телефоне. Например, а качестве SIP-клиента под Windows можно установить бесплатную программу 3CX, для Android — Zoiper.
Подробнее рассмотрим настройку 3CX. Скачиваем ее с официального сайта. Устанавливаем, приняв лицензионное соглашение и нажимая далее. После установки запускаем приложение и на запрос отвечаем, что создадим новый профиль. Нажимаем New и вводим данные для подключения:
* настраиваем первый клиент для подключения с логином и паролем 1001 / 1234, второй — 1002 / 1234.
Источник