Телефонный разговор находится на полпути между искусством и жизнью. Это разговор не с человеком, а с образом, который складывается у тебя, когда ты его слушаешь.
Андре Моруа
Asterisk — свободное решение компьютерной телефонии (в том числе, VoIP) с открытым исходным кодом от компании Digium. Эта статья должна помочь в быстром развертывании данного программного продукта.
Первоначальная настройка системы
При начальной установке Ubuntu выберите обязательно OpenSSH server и LAMP сервер. Установите дополнительные пакеты на ваше усмотрение.
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’.
В разделе Core Sound Packages выберете поддержку русскоязычных файлов (если требуется)
В разделе Extra Sound Packages выберете дополнительные звуковые файлы.
Для работы факсов в меню Resource Modules необходимо активировать два модуля:
[*] res_fax
[*] res_fax_spandsp
Если до этого приложение было собрано корректно, то должна быть возможность выбрать эти модули, поставив около них звездочку.
В завершении выберете 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 задайте свой).
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
Подключимся к FreePBX
http://IP.Address.FreePBX.Server/admin
Первым делом, вам будет предложено задать имя пользователя и пароль FreePBX
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
В выпадающем списке языков теперь можно выбрать русский, и все должно заработать.
Очень замечательно, спасибо!
«В меню Resource Modules необходимо активировать два модуля.»
Подскажите пжл, какие именно?
Прошу прощения. Для работы факсов нужно активировать два модуля [*] res_fax
[*] res_fax_spandsp
Здравствуйте!
Установил freepbx по вашей инструкции. Все прошло нормально. Ввел ссылку с айпишником — ничего не открывается.
Астериск правда устанавливал по другим разным источникам.
Где можно искать проблему?
Юрий, попробуйте зайти по адресу http://IP.Address.FreePBX.Server/admin. В моем случае я устанавливал на машину с ip:192.168.0.69, тогда строка подключения будет http://192.168.0.69/admin
пункт 5
wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-1.4-current.tar.gz &&
выдает ошибку. по ссылке нет /libpri-1.4-current.tar.gz, есть только /libpri-current.tar.gz
Спасибо, поправил.
Раз 5 пробовал, застревает на 13 пункте, хоть убейся. Ubuntu 14.04 32 bit
Добрый день, а что конкретно Вам пишет? На что ругается?
13 пункт
useradd -m asterisk
пишет useradd: user ‘asterisk’ already exists
Скорей всего при установке Ubuntu Вы заняли это имя для себя и теперь в системе уже есть такой пользователь.
у кого ошибка при компиляции asterisk
первая же ссылка с гугла есть решение, просто компилируем заново pj и возвращяемся к компиляции астериска
http://ixnfo.com/reshenie-oshibki-pri-kompilyatsii-asterisk-pjsip_tcp_transport_cfg-has-no-member-named-sockopt_params.html
автор, можно добавить в мане проверял на дебиан 9 и убунту 14.04
Подскажите направление, звонки пишет нормально а вот конференцию не пишет, может кто знает ПОЧЕМУ ?
Устанавливал по этому мануалу, всё работает, запись звонков тоже работает но нет аудио записей конференции
подскажите как записать конференцию .