Установка Asterisk 13 на Ubuntu 14 +FreePBX 12

Телефонный разговор находится на полпути между искусством и жизнью. Это разговор не с человеком, а с образом, который складывается у тебя, когда ты его слушаешь.
Андре Моруа

Asterisk-logo (1)Asterisk — свободное решение компьютерной телефонии (в том числе, VoIP) с открытым исходным кодом от компании Digium. Эта статья должна помочь в быстром развертывании данного программного продукта.

 Первоначальная настройка системы

При начальной установке Ubuntu выберите обязательно OpenSSH server и LAMP сервер. Установите дополнительные пакеты на ваше усмотрение.

ubuntuinstall

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

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

2. Установите требуемые зависимости

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 php-db php5-gd curl sox\
  libncurses5-dev libssl-dev libmysqlclient-dev mpg123 libxml2-dev libnewt-dev sqlite3\
  libsqlite3-dev pkg-config automake libtool autoconf git subversion unixodbc-dev uuid uuid-dev\
  libasound2-dev libogg-dev libvorbis-dev libcurl4-openssl-dev libical-dev libneon27-dev libsrtp0-dev\
  libspandsp-dev libiksemel-dev libiksemel-utils libiksemel3

3. Перезагрузите сервер

reboot

4. Установите PearDB

pear uninstall db
pear channel-update pear.php.net
pear install -Z db-1.7.14
Установка Asterisk

5. Скачайте исходные файлы

cd /usr/src
wget http://sourceforge.net/projects/lame/files/lame/3.98.4/lame-3.98.4.tar.gz &&
wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz &&
wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-current.tar.gz &&
wget http://soft-switch.org/downloads/spandsp/spandsp-0.0.6pre21.tgz &&
git clone https://github.com/akheron/jansson.git &&
wget http://www.pjsip.org/release/2.2.1/pjproject-2.2.1.tar.bz2 &&
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-13-current.tar.gz

6. Скомпилируйте и установите Lame (mp3)

cd /usr/src &&
tar zxvf lame-3.98.4.tar.gz &&
cd lame-3.98.4 &&
./configure &&
make &&
make install

7. Скомпилируйте и установите DAHDI и LibPRI

cd /usr/src &&
tar xvfz dahdi-linux-complete-current.tar.gz &&
tar xvfz libpri-current.tar.gz &&
rm -f dahdi-linux-complete-current.tar.gz libpri-current.tar.gz &&
cd dahdi-linux-complete-* &&
make all &&
make install &&
make config &&
cd /usr/src/libpri-current &&
make &&
make install

8. Скомпилируйте и установите pjproject

cd /usr/src &&
tar -xjvf pjproject-2.2.1.tar.bz2 &&
cd pjproject-2.2.1 &&
CFLAGS='-DPJ_HAS_IPV6=1' ./configure --prefix=/usr --enable-shared --disable-sound\
--disable-resample --disable-video --disable-opencore-amr &&
make dep &&
make &&
make install

9. Скомпилируйте и установите jansson

cd /usr/src/jansson &&
autoreconf -i &&
./configure &&
make &&
make install

10. Скомпилируйте и установите SpanDSP

cd /usr/src/ &&
tar zxvf spandsp-0.0.6pre21.tgz &&
cd spandsp-0.0.6 &&
./configure &&
make &&
make install

для 64 битной системы:

ln -s /usr/local/lib/libspandsp.so.2 /usr/lib64/libspandsp.so.2

11. Скомпилируйте и установите Asterisk

cd /usr/src &&
tar xvfz asterisk-13-current.tar.gz &&
rm -f asterisk-13-current.tar.gz &&
cd asterisk-* &&
./configure &&
contrib/scripts/get_mp3_source.sh &&
make menuselect

После ввода команды make menuselect, вам будет предложено выбрать устанавливаемые модули. Большинство требуемых модулей выбираются автоматически. Для поддержки mp3 включите модуль ‘format_mp3’.

Asteriskmenuselect1

В разделе Core Sound Packages выберете поддержку русскоязычных файлов (если требуется)

Asteriskmenuselect2

В разделе Extra Sound Packages выберете дополнительные звуковые файлы.

Asteriskmenuselect3

 

Для работы факсов в меню Resource Modules необходимо активировать два модуля:
[*] res_fax
[*] res_fax_spandsp

Если до этого приложение было собрано корректно, то должна быть возможность выбрать эти модули, поставив около них звездочку.
Asteriskmenuselect4

 

В завершении выберете Save & Exit и продолжите установку.

make &&
make install &&
make config &&
ldconfig

12. Создайте пользователя Asterisk и задайте права пользователя.

useradd -m asterisk &&
chown asterisk. /var/run/asterisk &&
chown -R asterisk. /etc/asterisk &&
chown -R asterisk. /var/{lib,log,spool}/asterisk &&
chown -R asterisk. /usr/lib/asterisk
Установка и настройка FreePBX.

13. Скачайте и распакуйте FreePBX.

cd /usr/src &&
wget http://mirror.freepbx.org/freepbx-12.0.43.tgz &&
tar xvfz freepbx-12.0.43.tgz &&
cd /usr/src/freepbx

14. Настройте Apache

sed -i 's/\(^upload_max_filesize = \).*/\120M/' /etc/php5/apache2/php.ini &&
cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf_orig &&
sed -i 's/^\(User\|Group\).*/\1 asterisk/' /etc/apache2/apache2.conf &&
service apache2 restart

15. Подготовим MySQL

Требуется создать безопасный пароль для связи FreePBX и MySQL

export ASTERISK_DB_PW=`dd if=/dev/urandom bs=1 count=32 2>/dev/null | base64 - | cut -c2-18`

Эта команда сгенерирует 16-ти значный пароль.

16. Подготовка базы данных Asterisk в MySQL.

Если вы задали ‘root’ пароль MySQL при установке, добавьте его после ключа -pyourpassword. (mysqladmin -u root -pYOURPASSWORD create asterisk)

mysqladmin -u root create asterisk
mysqladmin -u root create asteriskcdrdb

17. Зададим права на использование БД MySQL
Замените asteriskuser на имя пользователя, которое вам нравится. Например: YOURUSER@localhost. Можно оставить как есть. Не забудьте -pyourpassword в конце, если вы задали root пароль MySQL.

mysql -u root -e "GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY '${ASTERISK_DB_PW}';"
mysql -u root -e "GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY '${ASTERISK_DB_PW}';"
mysql -u root -e "flush privileges;"

18. Запустим Asterisk и установим FreePBX.

Если в предыдущем пункте вы задали собственное имя пользователя, замените asteriskuser на него. Например: –username=YOURUSER

./start_asterisk start
./install_amp --installdb --username=asteriskuser --password=${ASTERISK_DB_PW}

Далее вас будут спрашивать о первоначальных настройках, в скобках уже стоит по умолчанию значения, можно просто скопировать( ip задайте свой).

Asteriskmenuselect5

19. Обновим пакеты freepbx

amportal a ma download manager &&
amportal a ma install manager &&
amportal a ma installall &&
amportal a ma refreshsignatures &&
amportal a reload &&
amportal chown

20. В завершении настроим создадим ссылку на директорию Music On Hold формата mp3

ln -s /var/lib/asterisk/moh /var/lib/asterisk/mohmp3

и запустим amportal

amportal start

21. Поверим состояние Asterisk подключившись к консоли

asterisk -vvr

Asteriskconsole

Подключимся к FreePBX

http://IP.Address.FreePBX.Server/admin
Первым делом, вам будет предложено задать имя пользователя и пароль FreePBX

Asteriskmenu

22. Русификация Freepbx

Чтобы начать использовать русский язык в панели управления, вначале нужно в Advanced Settings, в разделе GUI Behavior, установить параметр Show Language setting в True, после чего нажать Apply Settings. После перехода на панель статуса, в строке меню появится кнопка выбора языка. Затем необходимо отредактировать файл /etc/locale.alias. Ищем строку russian ru_RU.ISO-8859-5 и правим ее.

russian ru_RU.UTF-8

После чего перегенерируем локаль и перезапускаем апач.

sudo locale-gen ru_RU
sudo service apache2 restart

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

 

15 комментариев к “Установка Asterisk 13 на Ubuntu 14 +FreePBX 12”

  1. «В меню Resource Modules необходимо активировать два модуля.»

    Подскажите пжл, какие именно?

    • Прошу прощения. Для работы факсов нужно активировать два модуля [*] res_fax
      [*] res_fax_spandsp

  2. Здравствуйте!

    Установил freepbx по вашей инструкции. Все прошло нормально. Ввел ссылку с айпишником — ничего не открывается.
    Астериск правда устанавливал по другим разным источникам.
    Где можно искать проблему?

    • Скорей всего при установке Ubuntu Вы заняли это имя для себя и теперь в системе уже есть такой пользователь.

  3. у кого ошибка при компиляции asterisk

    первая же ссылка с гугла есть решение, просто компилируем заново pj и возвращяемся к компиляции астериска
    http://ixnfo.com/reshenie-oshibki-pri-kompilyatsii-asterisk-pjsip_tcp_transport_cfg-has-no-member-named-sockopt_params.html

    автор, можно добавить в мане проверял на дебиан 9 и убунту 14.04

  4. Nice post. I was checking constantly this blog and
    I’m inspired! Very helpful info specially the last phase 🙂 I handle such information much.
    I used to be looking for this certain information for a very lengthy time.
    Thank you and best of luck.

  5. Подскажите направление, звонки пишет нормально а вот конференцию не пишет, может кто знает ПОЧЕМУ ?

  6. Устанавливал по этому мануалу, всё работает, запись звонков тоже работает но нет аудио записей конференции
    подскажите как записать конференцию .

Добавить комментарий для Elton Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *

*