Разворачиваем Asterisk 13 в связке с FreePBX 13 на Debian 8 Jessie/Ubuntu Server 14.04 LTS. Добавление поддержки протокола SCCP.

Разберем как выполнить установку Asterisk 13 в связке с FreePBX 13 и с поддержкой протокола SCCP на Debian 8 Jessie/Ubuntu Server 14.04 LTS.

 

Переходим в режим работы под root:

sudo su

 

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

Перед началом установки обновляем систему до актуального состояния:

apt-get update && apt-get upgrade -y

Устанавливаем необходимые зависимости:

apt-get install -y build-essential linux-headers-`uname -r` openssh-server apache2 mysql-server mysql-client bison flex php5 php5-curl php5-cli php5-mysql php-pear php5-gd curl sox libncurses5-dev libssl-dev libmysqlclient-dev mpg123 libxml2-dev libnewt-dev sqlite3 libsqlite3-dev pkg-config automake libtool autoconf git unixodbc-dev uuid uuid-dev libasound2-dev libogg-dev libvorbis-dev libcurl4-openssl-dev libical-dev libneon27-dev libsrtp0-dev libspandsp-dev libmyodbc -y

Перезагружаем систему:

reboot

После перезагрузки, не забываем снова войти под root.

Устанавливаем DAHDI

wget http://jakondo.ru/wp-content/uploads/file-manager/Asterisk/13/dahdi-linux-complete-current.tar.gz
tar -zxvf dahdi-linux-complete-current.tar.gz
cd dahdi-linux-complete-2.11.1+2.11.1/
make all
make install
make config
cd ..

Устанавливаем Libpri

wget http://jakondo.ru/wp-content/uploads/file-manager/Asterisk/13/libpri-current.tar.gz
tar -zxvf libpri-current.tar.gz
cd libpri-1.6.0/
make
make install
cd ..

Устанавливаем SRTP (библиотека для шифрования телефонных соединений)

wget http://jakondo.ru/wp-content/uploads/file-manager/Asterisk/13/libsrtp-2.0.0.tar.gz
tar -zxvf libsrtp-2.0.0.tar.gz
cd libsrtp-2.0.0/
./configure CFLAGS=-fPIC
make
make runtest
make install
cd ..

Устанавливаем Pjproject

Начиная с Asterisk 13, стабильная версия Pjproject включена в дистрибутив Asterisk. Поэтому установку Pjproject мы выполним вместе с установкой Asterisk. Но в качестве памятки, опишу как установить Pjproject и исходников:

wget http://jakondo.ru/wp-content/uploads/file-manager/Asterisk/13/pjproject-2.6.tar.bz2
tar -zjvf pjproject-2.6.tar.bz2
cd pjproject-2.6
./configure --enable-shared --disable-sound --disable-resample --disable-video --disable-opencore-amr
make dep
make
make install
ldconfig
cd..

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

wget http://jakondo.ru/wp-content/uploads/file-manager/Asterisk/13/jansson-2.10.tar.gz
tar -zxvf jansson-2.10.tar.gz
cd jansson-2.10/
./configure
make
make install
ldconfig
cd ..

Установка SpanDSP (для поддержки факсов)

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

wget http://jakondo.ru/wp-content/uploads/file-manager/Asterisk/13/spandsp-0.0.6.tar.gz
tar zxvf spandsp-0.0.6.tar.gz
cd spandsp-0.0.6
./configure
make
make install
cd..

Устанавливаем Asterisk 13 LTS

wget http://jakondo.ru/wp-content/uploads/file-manager/Asterisk/13/asterisk-13-current.tar.gz
tar -zxvf asterisk-13-current.tar.gz
cd asterisk-13.15.1/
./contrib/scripts/install_prereq install

В процессе установки, необходимо будет задать телефонный код, оставляем по-умолчанию 7 (Россия).

 

Выполняем конфигурацию установки Asterisk включающую в себя pjproject, так же добавляем поддержку mp3 и вызываем меню установщика, где выберем необходимые нам компоненты Asterisk.

./configure --with-pjproject-bundled
./contrib/scripts/get_mp3_source.sh
make menuselect

В разделе Add-ons выбираем:

  • format_mp3
  • app_mysql (Необходимо если планируется установка FreePBX)
  • cdr_mysql (Необходимо если планируется установка FreePBX)

 

 

В пункте Core Sound Packeges выбираем основные кодеки:

  • CORE-SOUNDS-EN-ALAW
  • CORE-SOUNDS-EN-GSM 
  • CORE-SOUNDS-EN-G729
  • CORE-SOUNDS-RU-ALAW
  • CORE-SOUNDS-RU-GSM
  • CORE-SOUNDS-RU-G729

 

В пункте Music On Hold FIle Packages указываем поддержку WAV:

  • MOH-OPSOUND-WAV

 

В пункте Extras Sound Packages указываем какие дополнительные звуковые файлы необходимо установить. Русских звуков в установщике нет, поэтому выбираем поддержку только англоязычных звуков:

  • EXTRA-SOUND-EN-WAV
  • EXTRA-SOUND-EN-ALAW
  • EXTRA-SOUND-EN-GSM
  • EXTRA-SOUND-EN-G729

 

Нажимаем сохранить (F12) и выполняем установку Asterisk:

make
make install

Если не планируется установка FreePBX, то создаем примеры файлов конфигурации Asterisk.

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

 

Завершаем установку Asterisk:

make config
ldconfig
update-rc.d -f asterisk remove
cd ..

Добавляем Asterisk в автозагрузку:

systemctl enable asterisk

 

Добавляем пользователя Asterisk и назначаем права на каталоги

adduser asterisk --no-create-home --disabled-password --gecos "Asterisk User"
chown asterisk. /var/run/asterisk
chown -R asterisk. /etc/asterisk
chown -R asterisk. /var/{lib,log,spool}/asterisk
chown -R asterisk. /usr/lib/asterisk

Укажем запуск Asterisk, от пользователя asterisk. Для этого в файле /etc/default/asterisk убираем комментарии с строчек:

AST_USER=«asterisk»
AST_GROUP=«asterisk»

Теперь можно запустить Asterisk и войти в его консоль:

service asterisk start
asterisk -rv

 

 

Установка FreePBX 13

wget http://jakondo.ru/wp-content/uploads/file-manager/Asterisk/FreePBX/freepbx-13.0-latest.tgz
tar -zxvf freepbx-13.0-latest.tgz
cd freepbx/

Для корректной установки удаляем директорию веб сервера:

rm -rf /var/www/html

В файле /etc/php5/apache2/php.ini, приводим строки к виду:

memory_limit = 256M
upload_max_filesize = 128M

В файле /etc/apache2/envvars, приводим строки к такому виду:

export APACHE_RUN_USER=asterisk
export APACHE_RUN_GROUP=asterisk

Рестарт сервера apache2:

service apache2 restart

В файл /etc/odbcinst.ini добавляем:

[MySQL]
Description = ODBC for MySQL
Driver = /usr/lib/x86_64-linux-gnu/odbc/libmyodbc.so
Setup = /usr/lib/x86_64-linux-gnu/odbc/libodbcmyS.so
FileUsage = 1

В файл /etc/odbc.ini добавляем:

[MySQL-asteriskcdrdb]
Description=MySQL connection to 'asteriskcdrdb' database
driver=MySQL
server=localhost
database=asteriskcdrdb
Port=3306
Socket=/var/run/mysqld/mysqld.sock
option=3

Входим в MySQL и добавляем необходимые таблицы и права:

mysql -u root -p

Вбиваем последовательно:

CREATE DATABASE asterisk;
CREATE DATABASE asteriskcdrdb;
GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY 'asterpass';
GRANT ALL PRIVILEGES ON asteriskcdrdb.* to asteriskuser@localhost IDENTIFIED BY 'asterpass';
FLUSH PRIVILEGES;
EXIT

Запускаем Asterisk и выполняем установку FreePBX:

./start_asterisk start
./install -n --dbuser=asteriskuser --dbpass=asterpass

 

Установка завершена, через Web браузер заходим в консоль FreePBX.

 

Поддержка SCCP протокола в Asterisk 13

wget http://jakondo.ru/wp-content/uploads/file-manager/Asterisk/SCCP/asterisk-chan-sccp_4.3.0.orig.tar.gz
tar -zxvf asterisk-chan-sccp_4.3.0.orig.tar.gz
cd chan-sccp-4.3.451.g4236401/

Установка протокола SCCP, различается в зависимости как установлен Asterisk, с использованием FreePBX или нет. Рассмотрим оба варианта.

 

Установлен чистый Asterisk
./configure
make 
make install 
cd ..

Выполним конфигурацию Asterisk, на работу с SCCP. Редактируем файл:

nano /etc/asterisk/modules.conf

Добавляем следующие параметры:

noload => chan_skinny.so
load => chan_sccp.so
load => res_features.so

Рестарт ядра Asterisk и проверяем работу SCCP протокола:

asterisk -rv
core restart now

asterisk -rv
sccp show devices

Вывод:

+--- Devices --------------------------------------------------+
| Descr Address Mac RegSt ate Token RegTime Act Lines Nat      |
+ =============================================================+
| Phone Number One -- SEP001122334455 None None None No 0 Auto |
| Phone Number Two -- SEP002244668800 None None None No 0 Auto |
+--------------------------------------------------------------+

 

Установленный Asterisk + FreePBX 13

В файле /etc/asterisk/, приводим строки к виду:

 

Выполняем конфигурацию и установку протокола SCCP:

./configure
make 
make install 
cd ..

Выполним конфигурацию Asterisk, на работу с SCCP. Открываем FreePBXAsterisk Module (Модули Asterisk)

 

Вкладка Excluded Module (Исключенные модули) , добавляем:

noload => chan_skinny.so

Вкладка Manually Loaded Modules (Модули, загруженные вручную), добавляем:

load => chan_sccp.so 
load => res_features.so

 

Рестарт amportal и входим в консоль для проверки работы SCCP протокола:

amportal restart
asterisk -rvvvvvvvvv
sccp show devices

Вывод:

+--- Devices --------------------------------------------------+
| Descr Address Mac RegSt ate Token RegTime Act Lines Nat      |
+ =============================================================+
| Phone Number One -- SEP001122334455 None None None No 0 Auto |
| Phone Number Two -- SEP002244668800 None None None No 0 Auto |
+--------------------------------------------------------------+

 

На этом установка Asterisk 13 + FreePBX 13 SCCP завершена.

 

Понравилась или оказалась полезной статья, поблагодари автора

 

БесполезноСлабоватоПриемлемоОтличноПревосходно (1 голос(ов), в среднем: 5,00 из 5)
Загрузка...

Всего комментариев: 8 Комментировать

  1. Юрий /

    E: Для пакета «php5» не найден кандидат на установку
    E: Для пакета «php5-curl» не найден кандидат на установку
    E: Для пакета «php5-cli» не найден кандидат на установку
    E: Для пакета «php5-mysql» не найден кандидат на установку
    E: Для пакета «php5-gd» не найден кандидат на установку
    E: Для пакета «libmysqlclient-dev» не найден кандидат на установку
    E: Для пакета «libmyodbc» не найден кандидат на установку

    Что добавить в sources.list ?

    1. Жаконда / Автор записи

      Какая ОС ? Покажите что у вас вообще там в sources.list

      1. Юрий /

        Debian 9

        deb http://mirror.yandex.ru/debian/ stretch main
        deb-src http://mirror.yandex.ru/debian/ stretch main

        deb http://security.debian.org/debian-security stretch/updates main
        deb-src http://security.debian.org/debian-security stretch/updates main

        # stretch-updates, previously known as ‘volatile’
        deb http://mirror.yandex.ru/debian/ stretch-updates main
        deb-src http://mirror.yandex.ru/debian/ stretch-updates main

        1. Жаконда / Автор записи

          В Debian 9 репозиториях php7* версии и вместо libmysqlclient-dev пишите default-libmysqlclient-dev, а libmyodbc судя по всему нужно из исходников собирать..

  2. Роман /

    Здравствуйте. Подскажите, пожалуйста, в чем может быть проблема? sccp show devices телефон видит, если позвонить с SIP телефона на SCCP, то астериск закрывается. Если с SCCP на SIP. то звонок проходит, голоса с двух сторон слышно, но после завершения разговора также закрывается. Заранее благодарен за помощь, в астериске не силен.

    1. Жаконда / Автор записи

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

  3. Игорь /

    Куда копать ?

    mysql> EXIT
    Bye
    root@debian:/usr/src/freepbx# ./start_asterisk start

    STARTING ASTERISK
    Asterisk is already running
    root@debian:/usr/src/freepbx# ./install -n —dbuser=asteriskuser —dbpass=asterpass
    Checking if SELinux is enabled…Its not (good)!
    Reading /etc/asterisk/asterisk.conf…Done
    Checking if Asterisk is running and we can talk to it as the ‘asterisk’ user…Error!
    Error communicating with Asterisk. Ensure that Asterisk is properly installed and running as the asterisk user
    Asterisk appears to be running as asterisk
    Try starting Asterisk with the ‘./start_asterisk start’ command in this directory
    root@debian:/usr/src/freepbx#

    1. Жаконда / Автор записи

      Копать в сторону правильности выполнения всего что написано в статье.. вы явно что то не так сделали.

Оставить ответ

три + 12 =