Как настроить asterisk ubuntu

Как установить 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//asterisk

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/$,,m)

* создаем контекст с именем 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.

Источник

Читайте также:  Как починить порванные шлепки
Оцените статью