Вы здесь

Asterisk 02 Установка

С ресурса http://www.ubuntu.com забираю образ:
Ubuntu Server 14.04.3 LTS

Установку проводим на VMWare 5.5.0

Создаём виртуальную машину:
asterisk_02_ustanovka_01_ciscomaster.ru.jpg
asterisk_02_ustanovka_02_ciscomaster.ru.jpg
asterisk_02_ustanovka_03_ciscomaster.ru.jpg
asterisk_02_ustanovka_04_ciscomaster.ru.jpg
asterisk_02_ustanovka_05_ciscomaster.ru.jpg
asterisk_02_ustanovka_06_ciscomaster.ru.jpg
asterisk_02_ustanovka_07_ciscomaster.ru.jpg
asterisk_02_ustanovka_08_ciscomaster.ru.jpg
asterisk_02_ustanovka_09_ciscomaster.ru.jpg
asterisk_02_ustanovka_10_ciscomaster.ru.jpg
asterisk_02_ustanovka_11_ciscomaster.ru.jpg
asterisk_02_ustanovka_12_ciscomaster.ru.jpg
asterisk_02_ustanovka_13_ciscomaster.ru.jpg

Загружаемся с образа ISO

- Выбираем Русский Language
- Install Ubuntu Server
- language to use for the installation, выбираем English
- list of countries, выбираем Russian Federation
- Detect keyboard layout: No
- Layout of keyboards: Russian
- Keyboard layout: Russian
- Method of toggling: Alt+Shift

После установки ругнулась что не работает DHCP.
Выставляем IP настройки вручную.
Вводим hostname
Domain name
Имя пользователя
Логин asteriskpbx
Пароль
Encrypt home directory - NO
Вводим таймзону Moscow+00
- Partitions disks: оставляем по умолчанию Use entire disk and set up LVM
- Выбираем Disk Partition
- Последнее подтверждение перед изменениями на диске.
- No automatic updates
- Отметить на установку OpenSSH server
- Install the GRUB bootloader - YES

Начальная настройка OS

Задаём пароль для рута:

sudo passwd root

Но все установки нужно делать из под учетки asteriskpbx

Устанавливаем обновления на Ubuntu Server system:

sudo apt-get update

Ребутаемся:

sudo shutdown -r now

Enable NTP

sudo apt-get install ntp

Рестартуем NTP:

sudo /etc/init.d/ntp restart

Установка Software Dependencies

Для успешной установки Asterisk system необходимо предварительно установить:

sudo apt-get install build-essential subversion libncurses5-dev libssl-dev libxml2-dev libsqlite3-dev uuid-dev vim-nox

Установка Asterisk

mkdir -p ~/src/asterisk-complete/asterisk

Создастся директория
/root/src/asterisk-complete/asterisk

При установке мы будем следовать следующему порядку:
1. DAHDI - Digium Asterisk Hardware Device Interface - интерфейс для взаимодействия Asterisk с telephony hardware. Его установка необходима т.к. от него зависит множество модулей.
2. LibPRI - это библиотека для поддержки ISDN (PRI and BRI). Его установка рекомендуется.
3. Asterisk

Установка dependency для DAHDI

sudo apt-get install linux-headers-`uname -r`

Установка DAHDI
Устанавливать следует последнюю актуальную версию.

cd ~/src/asterisk-complete/ mkdir dahdi cd dahdi/ wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-2.10.2+2.10.2.tar.gz tar -zxvf dahdi-linux-complete-2.10.2+2.10.2.tar.gz cd dahdi-linux-complete-2.10.2+2.10.2 make all sudo make install sudo make config

Установка LibPRI

Устанавливать следует последнюю актуальную версию. cd ~/src/asterisk-complete/ mkdir libpri cd libpri/ wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-1.4-current.tar.gz tar -zxvf libpri-1.4-current.tar.gz cd libpri-1.4.15 make sudo make install

Установка Asterisk

cd ~/src/asterisk-complete/asterisk wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-11-current.tar.gz tar zxvf asterisk-11-current.tar.gz cd asterisk-11.19.0 ./configure make sudo make install sudo make config

Установка производилась под пользователем vs.
Посмотрим текущих юзеров и группы:

cut -d: -f1 /etc/passwd compgen -g compgen -u

В целях безопасности:

sudo chown -R asteriskpbx:asteriskpbx /var/lib/asterisk/ sudo chown -R asteriskpbx:asteriskpbx /var/spool/asterisk/ sudo chown -R asteriskpbx:asteriskpbx /var/log/asterisk/ sudo chown -R asteriskpbx:asteriskpbx /var/run/asterisk/

Также правим файл:
/etc/udev/rules.d/dahdi.rules

Там правим строку

SUBSYSTEM=="dahdi", OWNER="asteriskpbx", GROUP="asteriskpbx", MODE="0660"

Base Configuration

Для правильной работы Asterisk нам необходимо создать несколько конфигурационных файлов.
Вообще, для создания файлов можно запустить команду sudo make samples, но данная команда создаёт конфигурационные файлы для множества модулей, которые нам никогда не понадобятся, поэтому мы всё сделаем вручную.

Создаём рабочую директорию:

sudo mkdir -p /etc/asterisk/ sudo chown asteriskpbx:asteriskpbx /etc/asterisk/
  • indications.conf - файл содержит информацию telephony tones для разных стран
    cp ~/src/asterisk-complete/asterisk/asterisk-11.19.0/configs/indications.conf.sample /etc/asterisk/indications.conf
  • asterisk.conf - файл содержит множество опций. В данный момент мы подправим там юзера, под кем Asterisk будет запускаться.
    cp ~/src//asterisk-complete/asterisk/asterisk-11.19.0/configs/asterisk.conf.sample /etc/asterisk/asterisk.conf

    После копирования сразу правим в этом файле две строки:
    runuser=asteriskpbx
    rungroup=asteriskpbx

Это есть минимальный конфиг.
Запустим Asterisk:
/usr/sbin/asterisk -cvvv

Проверить установленные модули:
module show
asterisk_02_ustanovka_14_ciscomaster.ru.jpg
Собственно это демонстрирует Asterisk в минимальной установке, т.е. без единого рабочего модуля.

Остановим всё:
core stop now

Продолжение

  • modules.conf - файл управляет загрузкой модулей.

    создаём файл:
    echo > /etc/asterisk/modules.conf

    Далее делаем его содержимое:

    ; The modules.conf file, used to determine which modules Asterisk should load (or ; not load. ; [modules] autoload=yes ; Resource modules noload => res_speech.so noload => res_phoneprov.so noload => res_ael_share.so noload => res_clialiases.so noload => res_adsi.so ; PBX modules noload => pbx_ael.so noload => pbx_dundi.so ; Channel modules noload => chan_oss.so noload => chan_mgcp.so noload => chan_skinny.so noload => chan_phone.so noload => chan_agent.so noload => chan_unistim.so noload => chan_alsa.so ; Application modules noload => app_nbscat.so noload => app_amd.so noload => app_minivm.so noload => app_zapateller.so noload => app_ices.so noload => app_sendtext.so noload => app_speech_utils.so noload => app_mp3.so noload => app_flash.so noload => app_getcpeid.so noload => app_setcallerid.so noload => app_adsiprog.so noload => app_forkcdr.so noload => app_sms.so noload => app_morsecode.so noload => app_followme.so noload => app_url.so noload => app_alarmreceiver.so noload => app_disa.so noload => app_dahdiras.so noload => app_senddtmf.so noload => app_sayunixtime.so noload => app_test.so noload => app_externalivr.so noload => app_image.so noload => app_dictate.so noload => app_festival.so

    Команды:
    /usr/sbin/asterisk -c
    module show

    Покажут нам что загрузилось множество модулей.

  • musiconhold.conf - позволяет определить classes for music on hold (MOH). Определяя разные классы, можно задать разную музыку под разные ситуации. Мы пока сделаем следующий конфиг:
    echo > /etc/asterisk/musiconhold.conf
    ; musiconhold.conf [general] [default] mode=files directory=moh

make menuselect

menuselect - это текстовое меню в Asterisk, в котором мы задаём какие модули компилировать и устанавливать. Также тут можно поставить флаги, которые нам помогут в дебаге, оптимизации, и т.д.

menuselect может работать в двух интерфейсах:
- curses - чернобелый
- newt - цветной

Для работы newt нужно дополнительно установить:

sudo apt-get install libnewt-dev
cd ~/src/asterisk-complete/asterisk/asterisk-11.19.0/ cd menuselect make clean ./configure cd .. make menuselect

Для использования menuselect
cd ~/src/asterisk-complete/asterisk/asterisk-11.19.0/
make menuselect

Откроется меню. Там мы можем выбрать всё что нам нужно, далее жмем Esc и сохраняемся.

sudo make install sudo chown -R asteriskpbx:asteriskpbx /var/lib/asterisk/sounds/

Scripting menuselect

При установке Asterisk на несколько машин, возможно создать скрипты и автоматизировать процесс menuselect.

Полезные команды

Мы установили Asterisk в базовой комплектации.

  • Запуск Asterisk
    /usr/sbin/asterisk
  • Доступ к консоли Asterisk
    /usr/sbin/asterisk -r
  • Полезные команды в консоли Asterisk
    - core reload - перечитать все конфиги
    - core restart gracefully - перезагрузить Asterisk по завершению всех текущих вызовов (свободные каналы закрываются)
    - core restart now - перезагрузить Asterisk немедленно
    - core restart when convenient - перезагрузить Asterisk если нет разговоров
    - core stop now - Остановить Asterisk

Добавить комментарий

Filtered HTML

  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Допустимые HTML-теги: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Строки и абзацы переносятся автоматически.

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и абзацы переносятся автоматически.
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.
Target Image