Asterisk — свободное решение компьютерной телефонии (в том числе, VoIP) с открытым исходным кодом от компании Digium.
Возможностей у Asterisk много, главные из них:
- Голосовая почта;
- Запись разговоров (Call Detail Record);
- Интерактивное голосовое меню (IVR);
- Конференции;
- Центр обработки вызовов (постановка звонков в очередь и распределение их по агентам используя различные алгоритмы).
Ну в общем кто знает для чего нужен Asterisk, то приступим к подготовке ОС и установки нужного ПО для Asterisk.
1. Установка ОС Debian Squeeze x64.
Установка описывалась ранее по ссылке [3].
2. Что нужно перед началом установки.
aptitude install linux-source-2.6 kernel-package make g++ libncurses5-dev cd /usr/src/ tar xvjf /usr/src/linux-source-2.6.32.tar.bz2 ln -s /usr/src/linux-source-2.6.32 /usr/src/linux cp /boot/config-`uname -r` /usr/src/linux/.config cd linux/ yes "" | make oldconfig make prepare make prepare scripts
3. Установка Dahdi-Linux
cd /usr/src/ wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz tar zxvf dahdi-linux-complete-current.tar.gz cd /usr/src/dahdi-linux-complete-<version>/linux/ make make install
4. Установка Dahdi-Tools
cd /usr/src/dahdi-linux-complete-<version>/tools/ ./configure make make install make config
5. Установка libpri
cd /usr/src/ wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-1.4-current.tar.gz tar zxvf libpri-1.4-current.tar.gz cd /usr/src/libpri-<version>/ make make install
6. Установка mp3 lame
Для установки mp3lame надо добавить репозиторий:
echo "deb http://www.deb-multimedia.org squeeze main non-free" >> /etc/apt/sources.list.d/mmedia.list
wget "http://deb-multimedia.org/pool/main/d/deb-multimedia-keyring/deb-multimedia-keyring_2012.05.10-dmo4_all.deb" \ -O /tmp/deb-multimedia-keyring_2012.05.10-dmo4_all.deb dpkg -i /tmp/deb-multimedia-keyring_2012.05.10-dmo4_all.deb
apt-get update
apt-get install lame libmp3lame-dev
7. Установка Asterisk
Требуется установить несколько дополнительных пакетов
apt-get install libxml2-dev unixodbc-dev libmyodbc subversion libmysqlclient-dev \ libsqlite0-dev libsnmp-dev
Теперь скачаем и скомпилируем сам Asterisk
cd /usr/src/ wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-1.8-current.tar.gz tar zxvf asterisk-1.8-current.tar.gz cd /usr/src/asterisk-<version>/ ./contrib/scripts/get_mp3_source.sh ./configure make menuconfig
Выбор модулей в menuconfig:
1. Заходим "Add-ons" и в нём выбираем: app_mysql, app_saycountpl, cdr_mysql, format_mp3, res_config_mysql;
2. Заходим теперь "Extras Sound Packages" и тут выберем EXTRAS-SOUNDS-EN-GSM;
3. Нажимаем кнопку Esc и после кнопку S, где кнопка S делает сохранения и применяет наши изменения.
И скомпилируем
make make install make samples
8. Установка дополнительных пакетов и настройка PHP и MySQL
Установим дополнительные пакеты
apt-get install libxml2 libxml2-dev libtiff4 libtiff4-dev apache2 libapache2-mod-php5 \ php5-mysql php5-gd php-pear mysql-server openssl libssl-dev linux-source-2.6.32 bison \ libncurses5-dev libaudiofile-dev curl sox sudo
Изменим настройки в файле /etc/php5/cli/php.ini
upload_max_filesize = 120M memory_limit = 1024M
Создадим группу и пользователя asterisk
groupadd asterisk useradd -c "asterisk PBX" -d /var/lib/asterisk -g asterisk asterisk
Создадим MySQL базу и пользователей (пароль amp109 на данном шаге не меняйте, т.к. при установке FreePBX могут возникнуть проблемы и не все установится как требуется)
mysql -u root -p Enter password: ****** mysql> create database asteriskcdrdb; mysql> create database asterisk; mysql> GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY 'amp109'; mysql> GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY 'amp109'; mysql> quit;
9. Установка FreePBX
Скачаем и распакуем FreePBX
cd /usr/src/ wget http://mirror.freepbx.org/freepbx-2.9.0.tar.gz tar zxvf freepbx-2.9.0.tar.gz cd /usr/src/freepbx-2.9.0/
Зальем базы данных в MySQL
mysql -u asteriskuser -pamp109 asteriskcdrdb < /usr/src/freepbx-2.9.0/SQL/cdr_mysql_table.sql mysql -u asteriskuser -pamp109 asterisk < /usr/src/freepbx-2.9.0/SQL/newinstall.sql
Скомпилируем FreePBX
mv /etc/asterisk/sip_notify.conf /etc/asterisk/sip_notify.conf.backup /usr/src/freepbx-2.9.0/start_asterisk start pear install DB /usr/src/freepbx-2.9.0/install_amp
Почти везде нажимаем enter, меняем только путь к web каталогу и IP. Enter your USERNAME to connect to the ‘asterisk’ database: [asteriskuser] Enter your PASSWORD to connect to the ‘asterisk’ database: [amp109] Enter the hostname of the ‘asterisk’ database: [localhost] Enter a USERNAME to connect to the Asterisk Manager interface: [admin] Enter a PASSWORD to connect to the Asterisk Manager interface: [amp111] Enter the path to use for your AMP web root: [/var/www/html] /var/www Enter the IP address or hostname Used To access the AMP web-admin: [xx.xx.xx.xx] 192.168.10.1 Enter a PASSWORD to perform call transfers with the Flash Operator Panel: [passw0rd] Use simple Extensions [extensions] admin or Separate Devices and Users [deviceanduser]? [Extensions] Enter directory in Which to store AMP executable scripts: [/var/lib/asterisk/bin] Enter directory in Which to store super-user scripts: [/usr/local/sbin]
Изменяем в конфиге apache пользователя и группу, для этого редактируем файл /etc/apache2/apache2.conf и меняем в нем два параметра
User asterisk Group asterisk
Теперь перезапустим apache
service apache2 restart
На этом установка астериска и freepbx в общем то законченна и теперь можно зайти в web интерфейс FreePBX по IP сервера, в моем случае так http://192.168.10.1/admin с логином и паролем admin.
10. Смена паролей установленных по умолчанию.
Теперь приступим к смене дефолтных паролей на наши, я выберу для настройки пароль "0123456789".
Замена пароля для подключения к БД MySQL (amp109 - по умолчанию).
Для этого требуется отредактировать 3 файла:
1. /etc/amportal.conf изменить пароль на свой в строке "AMPDBPASS=amp109"
2. /etc/asterisk/cdr_mysql.conf изменить пароль на свой в строке "password = amp109"
3. /etc/freepbx.conf изменить пароль на свой в строке "$amp_conf['AMPDBPASS'] = 'amp109'"
NEWPASS='0123456789'; sed -i "s/\(^AMPDBPASS=*\)\(.*\)/\1$NEWPASS/" /etc/amportal.conf sed -i "s/\(^password = *\)\(.*\)/\1$NEWPASS/" /etc/asterisk/cdr_mysql.conf sed -i "s/\($amp_conf\['AMPDBPASS'\]\\t= '*\)\(.*\)/\1$NEWPASS';/" /etc/freepbx.conf
echo "SET PASSWORD FOR 'asteriskuser'@'localhost' = PASSWORD('$NEWPASS');" | mysql -u root -p
NEWPASS='0123456789'; sed -i "s/\(^secret = *\)\(.*\)/\1$NEWPASS/" /etc/asterisk/manager.conf sed -i "s/\(^AMPMGRPASS=*\)\(.*\)/\1$NEWPASS/" /etc/amportal.conf
echo "UPDATE freepbx_settings SET value='$NEWPASS' WHERE keyword='AMPMGRPASS';" | mysql -u root -p asterisk
Остальные пароли меняются из админки FreePBX.
11. Создание скрипта для автозапуска
Создадим файл amportal-startup в папке /etc/init.d/:
touch /etc/init.d/amportal-startup
Теперь откроем файл для редактирования:
nano /etc/init.d/amportal-startup
#!/bin/sh # /etc/init.d/amportal-startup # ### BEGIN INIT INFO # Provides: Asterisk # Required-Start: $remote_fs $syslog $all # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start Asterisk at boot time # Description: Enable Asterisk. ### END INIT INFO PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" export PATH case "$1" in start) amportal start ;; stop) amportal stop ;; restart) amportal stop amportal start ;; *) echo "Usage: /etc/init.d/amportal-startup {start|stop|restart}" exit 1 ;; esac exit 0
chmod +x /etc/init.d/amportal-startup
insserv amportal-startup
reboot
Если есть вопросы, то просим Вас посетить наш форум [5], на котором Вы сможете попросить описание совершенно бесплатно...
Ссылки:
[1] http://htfl.ru/asterisk
[2] http://htfl.ru/linux/debian
[3] http://htfl.ru/install-minimal-debian-squeeze-x64
[4] /out.php?link=http://deb-multimedia.org/pool/main/d/deb-multimedia-keyring
[5] /out.php?link=http://htff.ru/