jansson asterisk что это

Как установить Asterisk 16 LTS на CentOS 7 / Fedora

В этой статье мы расскажем как произвести установку Asterisk 16 LTS на CentOS 7 / Fedora. Asterisk – это мощная УАТС с открытым исходным кодом и с огромным количеством корпоративных функций.

Особенности Asterisk

Подготовка системы

Прежде чем вы начнете выполнять команды установки Asterisk на вашем сервере CentOS 7 / Fedora, убедитесь, что все пакеты в системе обновлены.

Подключим дополнительные репозитории и обновим систему.

Установите SELinux в Permissive Mode, выполнив следующие команды:

Шаг 1: Установка зависимостей Asterisk 16

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

Шаг 2: Загрузка и установка Jansson

Jansson – это библиотека C для кодирования, декодирования и обработки данных JSON. Загрузите и установите его на сервере CentOS 7, выполнив следующие команды:

Шаг 3: Загрузка и установка PJSIP

PJSIP – это бесплатная мультимедийная библиотека с открытым исходным кодом, написанная на языке C, реализующая стандартные протоколы, такие как SIP, SDP, RTP, STUN, TURN и ICE. Клонируйте проект из Github, затем скомпилируйте и установите.

Шаг 4: Загрузка и установка Asterisk

Теперь, когда у нас установлены все пакеты и зависимости, мы готовы загрузить и установить Asterisk 16 на CentOS 7.

Если все идет хорошо, вы должны получить вывод, подобно приведенному ниже:

Шаг 5: Установка параметров меню Asterisk

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

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

На дополнениях выберите chan_ooh323 и format_mp3 как показано ниже.


В Core Sound Packages выберите форматы аудиопакетов, как показано ниже.


Для Music On Hold выберите следующие минимальные модули:

Для дополнительных звуковых пакетов выберите, как показано ниже:

Включить в app_macro разделе «Приложения». По умолчанию в Asterisk 16 Macro() выключен.


Вы можете изменить конфигурацию, которую вы считаете нужной в вашем проекте. Когда закончите, нажмите ‘ Save & Exit ‘.

Устанавливаем библиотеку mp3-декодера.

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

Успешная установка сопровождается следующим выводом:

Для вас будет создан Asterisk systemd.

Создайте отдельного пользователя и группу для запуска Asterisk 16 и назначьте права:

Установка пользователя Asterisk.

Перезапустите службу Asterisk для применения настроек.

Установим службу в загрузку

Заключение

Теперь у вас есть работающий Asterisk 16 на сервере CentOS 7. Оставайтесь с нами и оставляйте комментарии, если у вас возникнут какие-либо проблемы с настройкой.

Любое использование материалов сайта возможно только с разрешения автора и с обязательным указанием источника.

Источник

Настройка Asterisk АТС: пошаговая инструкция

IP-АТС Asterisk умеет все то же, что и традиционная АТС, плюс поддерживает актуальные для бизнеса VoIP-протоколы: голосовую почту, конференц-связь, центр обработки звонков, интерактивное меню, хранение записей. Рассказываем, как настроить с нуля базовый функционал «Астериск» АТС и получить рабочий сервер компьютерной телефонии.

Для примера настройки Asterisk возьмем офис с такими характеристиками:

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

В разных операционных системах (Cent Os, Ubunty и др.) отличаются команды и необходимые зависимости.

Файлы для первоначальной настройки

Настройка Asterisk – это, по сути, редактирование конфигурационных файлов в директории /etc/asterisk/. К таким файлам относят:

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

Сборка и установка необходимых зависимостей и пакетов.

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

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

Приводим пример установки Asterisk 13 в системе Cent OS 6.9:

Для 12-13 версии Asterisk требуется установка пакетов uuid и janson. Для установки библиотеки uuid в RHEL / Centos выполните команду:

. Для установки библиотеки jansson в RHEL / Centos выполните команду:

После обновляем систему до последней версии командой yum update –y и перегружаем ее: reboot

Установка и установка их исходников

Настройка Asterisk выполняется в чистом виде, без дополнительных плат расширения и модемов. Так вы получите максимально эффективное и рабочее решение – программную АТС, которую можно легко переносить с одного сервера на другой. Для этого необходимо установить Asterisk с нуля, инсталлировать pjproject с jansson, обновить систему и отключить SELinux.

Читайте также:  какой клей использовать при ремонте динамиков

Для начала отключим Selinux. Для этого заходим /etc/selinux/config и ставим: SELINUX=DISABLED.

Также выключаем FireWall (iptables):

Скачайте и инсталлируйте pjproject:

git clone git://github.com/asterisk/pjproject pjproject

./configure –libdir=/usr/lib64 –prefix=/usr –enable-shared –disable-sound –disable-resample

Для конвертации mp3-файлов необходим пакет Lame. Установим его из репозитория:

yum repolist — проверка установленных репозиториев

Далее устанавливаем сам пакет: yum install lame

Скачиваем и устанавливаем библиотеку Libpri:

tar xvfz libpri-1.4-*.tar.gz

Если команды wget – не существует, то устанавливаем ее командой yum –y install wget

Далее скачиваем и устанавливаем сам asterisk 13:

tar xvfz asterisk-13-current.tar.gz

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

make menuselect — выбираются все необходимые параметры, но в принципе можно оставить по умолчанию, главное чтобы были включены необходимые драйверы каналов

Выберите модули и звуки (можно оставить по умолчанию). В модулях выбираем только sip. (pjsip не ставим):

Другие настройки можно оставить по умолчанию. Если вы установили модуль, но поняли, что он вам не нужен, просто отключите его в конфигурации и сделайте заново сборку через make. Сохраняем выбранные изменения.

При успешной установки Asterisk видно в строчках лога эмблему Asterisk (появляется после этапа configure).

Добавьте Asterisk в автозапуск и приступайте к работе:

chkconfig asterisk on

service asterisk start

Проверьте корректность запуска через консоль:

Перегрузите компьютер чтобы проверить автоматический запуск Asterisk. При вводе asterisk –r мы должны попасть в консоль, как на скрине выше.

Источник

Установка Asterisk 16 на Debian 10 или Centos 7, 8

перейти в распакованную директорию

Установка зависимостей

установить все зависимости

При установке на Centos 7 не было найдено 3 пакета: speexdsp-devel, iksemel-devel, hoard

Вместо speexdsp-devel, установить пакет speex-devel.

Для установки пакета iksemel-devel не нашел решения.

скачать исходники mp3

Установка пакетов для шифрования TLS:

или скачать и установить:

Установка

подготовка исходников к компиляции

На Centos 7 подготовка исходников закончилась с ошибкой:

При проверке на существование пакета:

Версия пакетов не подходит.

Установка подходищих версий:

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

нажать Save & Exit

запуск компиляции (-j )

ошибка при компиляции:

установка asterisk и всех его модулей

формирование образцов файлов конфигурации

создание init скрипта

обновить кэш используемых динамических библиотек

Запуск

раскомментировать в конфиге /etc/sysconfig/asterisk

назначить пользователю права на директории asterisk

проверка статуса работы

добавить в автозапуск

Открыть CLI консоль астериска:

Ошибки

если в статусе есть ошибка:

в /etc/asterisk/cdr.conf раскомментировать и отредактировал строки:

то же самое в /etc/asterisk/cel.conf:

перезагрузить астериск и проверить статус

При попытки открыть консоль CLI:

Для решения данного вопроса нужно открыть на редактирование:

Если подключаеться другая Asterisk то параметрах пользователя установить:

Источник

Установка Asterisk 16 на Centos 8

Продолжаю обновление и актуализацию статей после выхода новой версии популярной серверной системы. Сегодня расскажу как собрать из исходников и установить сервер телефонии Asterisk 16 на Centos 8. Установка будет из исходных текстов, так как репозиториев с готовыми пакетами под новую систему я не смог найти.

Цели статьи

Данная статья является частью единого цикла статьей про сервер Centos.

Введение

Устанавливать Asterisk 16 на Centos 8 будем из исходников. Это не для того, чтобы показать олдскул и крутость самостоятельной сборки софта. Это вынужденная мера. Всегда, когда есть возможность установить из пакетов, лучше ей воспользоваться. Либо можно собрать свой пакет и ставить уже из него. Сборка софта из исходников крайняя мера, когда готового пакета просто не существует.

Я устанавливаю версию 16, хотя есть уже 17-я. Именно 16-я версия имеет статус LTS, то есть длительная поддержка. Если вам не нужны новые фичи промежуточных версий, рекомендую всегда ставить lts версии.

Для установки Asterisk 16 на свежую Centos 8 я не нашел репозитория, где бы были собраны все пакеты с зависимостями для быстрой и безпроблемной установки. Так что будем по старинке собирать все руками. Ничего сложного тут нет. Все примерно так же, как и в прошлых версиях. Каких-то новых сложностей или нюансов я не заметил.

Если у вас еще нет готового сервера, то рекомендую мои статьи по установке и настройке Centos.

Для отладки и тестирования работы voip я рекомендую сервис Zadarma. Плюс его в том, что после регистрации вы получите настройки пира для внутренней сети оператора. И внутри этой сети вы можете бесплатно звонить. Например, я одного пира регистрирую на sip клиенте смартфона и с него звоню на второй аккаунт, пир от которого настроен в астериске. Таким образом эмулирую внешний звонок. Удобно отлаживать различные конфигурации звонков, не требуя платного подключения.

Читайте также:  какой корабль затонул в баренцевом море

Подготовка сервера

Первым делом надо отключить SELinux. Открываем файл /etc/sysconfig/selinux и меняем параметр.

Для применения настройки нужно перезагрузиться, либо временно приостановить selinux.

Установим теперь пакеты, которые нам понадобятся для сборки. В первую очередь подключим репозиторий epel.

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

И еще некоторые зависимости, которые будут нужны.

Настройте mysql сервер, задав пароль для root.

На этом подготовка закончена.

Устанавливаем Jansson и pjsip

Все готово к установке непосредственно Astersik

Установка Asterisk 16

Я буду устанавливать LTS версию Asterisk 16. Советую для долгосрочного использования всегда использовать LTS версии. Они в целом стабильнее и дольше срок поддержки. Идем на страницу https://www.asterisk.org/downloads/asterisk/all-asterisk-versions и копируем ссылку на нужную версию. Загружаем ее на сервер.

Устанавливаем на centos 8 пакет libedit-devel.

Выбирайте необходимые модули и звуки, в зависимости от того, что вам нужно. Я в общем случае указываю:

Все остальные настройки оставляем по-умолчанию. Ставится много модулей. Все они не нужны, но мало ли, пригодится что-то в будущем. Неиспользуемые модули можно будет потом отключить в конфигурации.

Создание пользователя asterisk и запуск

По-умолчанию, asterisk установлен от root и будет запускаться от него же. Я предлагаю для этого создать отдельного пользователя и запускать астериск от него. Для этого создаем пользователя и добавляем его в некоторые группы.

Настраиваем Asterisk на запуск под этим пользователем. Для этого добавляем в конфиг /etc/sysconfig/asterisk параметры:

Теперь добавим примерно то же самое в сам конфиг астера /etc/asterisk/asterisk.conf.

Пробуем запустить asterisk:

Если нет сообщений об ошибке, скорее всего все в порядке. Проверяем статус службы.

Asterisk запустился, но есть небольшие ошибки.

Связаны с тем, что в конфигах неверно указан путь к radiusclient. Сейчас исправим это.

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

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

Видео

Для тех, у кого что-то не получается или не понятно, как сделать, записал видео по приведенной инструкции. Видео подтверждает, что материал актуален и если делать по нему, то все получится.

Заключение

На этом установка Asterisk 16 на Centos 8 закончена. Можете приступать к настройке. В этой статье очень подробно рассказано как настроить на астериске базовый функционал по телефонии для среднего офиса или коллектива.

Напоминаю, что данная статья является частью единого цикла статьей про сервер Centos.

Онлайн курс Infrastructure as a code

Помогла статья? Подписывайся на telegram канал автора

Автор Zerox

57 комментариев

Спасибо за мануал! Подскажите, у вас был опыт переноса астера с физической машины на виртуальную? Есть ли там подводные камни?

Никаких нет. Можете в виртуалке установить ту же версию asterisk и перенести конфиги. Весь астериск живет в них, если не использовали mysql для хранения настроек.

Спасибо! Классная инструкция. Все получилось

К сожалению на шаге «И еще некоторые зависимости, которые будут нужны.» ошибка:

Error: Unable to find a match: kernel-devel-4.18.0-240.el8.x86_64

Спасибо, поправил. Раньше имя репозитория с заглавными буквами указывалось, теперь только со строчными.

Вам спасибо за отличные инструкции за ваши труды

После выполнения команды: «# systemctl enable asterisk» выдается сообщение:
asterisk.service is not a native service, redirecting to systemd-sysv-install.
Executing: /usr/lib/systemd/systemd-sysv-install enable asterisk.
Выполняю «/usr/lib/systemd/systemd-sysv-install enable asterisk», пишется: пусто.
Выполняю снова первую команду- выдается тоже самое сообщение.

Это в Centos 8 происходит?

у меня в oracle linux 8 такая история

Здравствуйте. У меня все работает помимо вкладки Inbound Routes. Никакие изменения не применяются, даже если удалить маршрут, входящие звонки все еще идут через старый маршрут, который когда-то применился. А теперь игнорирует любые изменения. Из за чего это может быть?

Что может быть, если при команде:
service asterisk restart

Дальше:
systemctl status asterisk.service

Выход:
Oct 24 10:26:07 pbx***.ru systemd[1]: Starting LSB: Asterisk PBX.
Oct 24 10:26:07 pbx***.ru asterisk[13186]: Asterisk is already running.
Oct 24 10:26:07 pbx***.ru systemd[1]: New main PID 11312 does not belong to service, and PID file is not owned by root. Refusing.
Oct 24 10:26:07 pbx***.ru systemd[1]: New main PID 11312 does not belong to service, and PID file is not owned by root. Refusing.
Oct 24 10:26:07 pbx***.ru systemd[1]: Failed to start LSB: Asterisk PBX.
Oct 24 10:26:07 pbx***.ru systemd[1]: Unit asterisk.service entered failed state.
Oct 24 10:26:07 pbx***.ru systemd[1]: asterisk.service failed.

Читайте также:  какой нахлест у металлочерепицы на крышу должен быть

Asterisk 16.13. Что делать, как бороться?? ЗАРАНЕЕ БОЛЬШОЕ СПАСИБО.

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

Ошибка с radius актуальна. не устранятется путём правки как в статье.

Нет, ни разу. Да и смысла особо не вижу. Его же один раз развернул и он годами работает. Докер для разработки хорош, когда постоянно новые версии выкатывают.

Подскажите пожалуйста что с этим делать?

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

Ребята помогите уже от бессилия
1 каким то чудом завелась на одной из машин сейчас к ней нет доступа
2 решил дома реализовать srtp и упал
loader.c:2396 load_modules: Error loading module ‘res_srtp.so’: /usr/lib64/asterisk/modules/res_srtp.so: undefined symbol: crypto_policy_set_aes_cm_128_hmac_sha1_32

Извиняюсь, разобрался, надо было предыдущую статью по настройке Centos прочитать и сделать всё как там. Походе не хватало репозитория yum install epel-release

*******************************
[Mar 3 11:51:45] WARNING[19186]: chan_sip.c:35379 deprecation_notice: chan_sip has no official maintainer and is deprecated. Migration to
[Mar 3 11:51:45] WARNING[19186]: chan_sip.c:35380 deprecation_notice: chan_pjsip is recommended. See guides at the Asterisk Wiki:

localhost*CLI> sip show peers
No such command ‘sip show peers’ (type ‘core show help sip show’ for other possible commands)
localhost*CLI> module load chan_sip.so
Loaded chan_sip.so
SIP channel loading.
== SIP Listening on 0.0.0.0:5060
== Using SIP CoS mark 4
— Message technology ‘sip’ registered.
== Registered channel type ‘SIP’ (Session Initiation Protocol (SIP))
== Registered RTP glue ‘SIP’
== Registered application ‘SIPDtmfMode’
== Registered application ‘SIPAddHeader’
== Registered application ‘SIPRemoveHeader’
== Registered custom function ‘SIP_HEADER’
== Registered custom function ‘SIP_HEADERS’
== Registered custom function ‘SIPPEER’
== Registered custom function ‘CHECKSIPDOMAIN’
== Manager registered action SIPpeers
== Manager registered action SIPshowpeer
== Manager registered action SIPqualifypeer
== Manager registered action SIPshowregistry
== Manager registered action SIPnotify
== Manager registered action SIPpeerstatus
[Mar 3 11:51:45] WARNING[19186]: chan_sip.c:35379 deprecation_notice: chan_sip has no official maintainer and is deprecated. Migration to
[Mar 3 11:51:45] WARNING[19186]: chan_sip.c:35380 deprecation_notice: chan_pjsip is recommended. See guides at the Asterisk Wiki:
[Mar 3 11:51:45] WARNING[19186]: chan_sip.c:35381 deprecation_notice: https://wiki.asterisk.org/wiki/display/AST/Migrating+from+chan_sip+to+res_pjsip
[Mar 3 11:51:45] WARNING[19186]: chan_sip.c:35382 deprecation_notice: https://wiki.asterisk.org/wiki/display/AST/Configuring+res_pjsip
Loaded chan_sip.so => (Session Initiation Protocol (SIP))
localhost*CLI> sip show peers
Name/username Host Dyn Forcerport Comedia ACL Port Status Description
0 sip peers [Monitored: 0 online, 0 offline Unmonitored: 0 online, 0 offline]
localhost*CLI>

Беда. Я только от Macro отказался, переделал все на Gosub. Теперь вот sip выпиливают 🙁 Пустая возня на ровном месте. Переделываешь ради переделывания. Функционал, который используешь, все равно не меняется.

Как я понял, просто установить пакет не достаточно. При сборке идет попытка его скачать и установить и она не проходит. Надо либо убрать как-то эту проверку, либо решить вопрос с доступом к github. У меня нормально открывается путь по ссылке на pjproject.

С офф сайта все качается отлично, оттуда я пакет ручками и установил, но вот с гитхаба 404. Собственно вопрос в том и заключается, как убрать эту проверку? И может ли помочь ручной перенос установленного пакета в директорию, в которую пытается скачаться требуемый пакет?

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

Проблема локальная, я согласен. Но вот мне теперь интересно, ставлю астериск на девственно чистую центось, в каком месте что-то пошло не так?

Решение проблемы, скачать данный пакет в tmp
[root@localhost

Не помогает, ошибка
verifying /tmp/pjproject-2.10.tar.bz2
Verify failed

а зачем вам mariadb если вы не подключаете odbc в меню конфигурации?

Чаще всего она все же нужна. В том числе используется в моей статье про настройку астериск. Так что лучше сразу поставить.

выскакивает asterisk.service: Supervising process 4384 which is not
как исправить?

Припоминаю такую ошибку. Вроде тоже видел, но не стал разбираться, потому что прямая работа с mysql уже давно объявлена deprecated, а используется подключение через odbc.

Добрый день!
Спасибо за обзор. lame-3.98.4.tar.gz не пробовали ставить? Make install выводит Nothing to be done for ‘install-exec-am’.

Как насчет утилиты DAHDI? Я не увидел её в процессе установки.

Она еще кому-то нужна? Я ни разу ей не пользовался, поэтому не описываю ее установку.

Источник

Сказочный портал