В этой статье я хочу рассказать как установить самую свежую версию Asterisk 14.3.0 на Ubuntu 16.04 с поддержкой PJSIP. Устанавливать будем из исходников, тем самым в дальнейшем мы всегда сможем поддерживать актуальную версию продукта.
За основу возьмем установленную ОС Ubuntu Server 16.04 LTS, которую скачать можно по этой ссылке. Так же данная инструкция применима к Ubuntu 16.10.
И так первым делом обновляем список пакетов:
1 |
apt-get update |
Устанавливаем необходимые пакеты:
1 |
apt-get install automake gcc build-essential openssl libjansson-dev sqlite libxml2-dev libncurses5-dev uuid-dev sqlite3 libsqlite3-dev pkg-config ccache ncurses-dev libssl-dev libxml2-dev libedit-dev libxslt-dev |
Далее качаем, собираем и устанавливаем библиотеку pjsip:
1 2 3 4 5 6 7 8 |
cd /usr/src/ wget http://www.pjsip.org/release/2.3/pjproject-2.3.tar.bz2 tar -xjvf pjproject-2.3.tar.bz2 cd pjproject-2.3 ./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 14:
1 2 3 4 5 6 |
cd /usr/src wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-14-current.tar.gz tar -zxvf asterisk-14-current.tar.gz cd asterisk-14.3.0 ./configure make menuselect |
Далее проверяем включены ли необходимые нам модули. Если вы новичок, то лучше вообще ничего не трогать, однако обязательно смотрим что бы в разделе Resource Modules были включены все модули pjsip, как на скриншоте ниже:
Если все ОК, то сохраняемся и выходим.
Собираем и устанавливаем с примерами конфигов и скриптом автозагрузки:
1 2 3 4 |
make make install make samples make config |
Если всё прошло без ошибок, то запускаем демон:
1 |
service asterisk start |
Проверяем запустился ли Asterisk и загрузились модули PJSIP:
1 2 |
asterisk -rvvv module show like pj |
Если модули в статусе Running, тогда у нас все получилось и можно начинать конфигурацию.
какой командой ? или в каком файле смотреть???
«смотрим что бы в разделе Resource Modules были включены все модули pjsip»
После успешного завершения ./configure ,
делаем make menuselect и откроется меню как на скриншоте.
не открылось ! проделал дальше все без проверки ! критично ? повторяться можно на шаге make menuselect
каталог menuselect есть ! может там что теперь глянуть ?
Нет меню потому что разрешение терминала меньше 80х27. Растяните окно.
после
asterisk -rvvv
module show like pj
пишет
0 modules loaded , значит не подгрузились модули PJSIP
Да, всё верно. Напиши мне ВК или в Скайп в шапке в контактах, помогу.
Доброго времени суток.
При сборке и установке библиотеки pjsip выдает ошибку о невозможности создания каталога ну и дальше все стопится. Команды выполняю от рута. Не могу понять в чем проблема. Не сталкивались?
make[1]: вход в каталог «/usr/src/pjproject-2.3/pjlib/build»
make -f /usr/src/pjproject-2.3/build/rules.mak APP=PJLIB app=pjlib ../lib/libpj-i686-pc-linux-gnu.a
make[2]: вход в каталог «/usr/src/pjproject-2.3/pjlib/build»
mkdir -p output/pjlib-i686-pc-linux-gnu/
mkdir: невозможно создать каталог «output/pjlib-i686-pc-linux-gnu/»: Отказано в доступе
/usr/src/pjproject-2.3/build/rules.mak:176: ошибка выполнения рецепта для цели «output/pjlib-i686-pc-linux-gnu/»
make[2]: *** [output/pjlib-i686-pc-linux-gnu/] Ошибка 1
make[2]: выход из каталога «/usr/src/pjproject-2.3/pjlib/build»
Makefile:105: ошибка выполнения рецепта для цели «libpj-i686-pc-linux-gnu.a»
make[1]: *** [libpj-i686-pc-linux-gnu.a] Ошибка 2
make[1]: выход из каталога «/usr/src/pjproject-2.3/pjlib/build»
Makefile:14: ошибка выполнения рецепта для цели «all»
make: *** [all] Ошибка 1
Спасибо, Станислав:)
P.S.:
Начиная с 14 версии можно так:
/usr/src/asterisk-14.7.5$ sudo ./configure —with-pjproject-bundled
/usr/src/asterisk-14.7.5$ sudo make install
а с 15 версии, библиотеки PJSIP устанавливаются по умолчанию:
/usr/src/asterisk-version$ sudo ./configure
/usr/src/asterisk-version$ sudo make install