База знаний

www. IT-Mehanika .ru --  журнал доброго админа

Asterisk + GUI + скромный анализатор логов (часть 1)

Надо сделать из двух черных ящиков, один - белый. Рита.Ф (с)

Здесь рассмотрено как установить Астериск 10 из исходников, дать ему морду (не в, а просто морду) и следить не вставая с кресла кто куда звонил. 
Подготовка к установке астериска 10 с gui.
Для установки потребуется:

  • сам астериск, адонсы, dahdi-linux (это не только для железок, но и для некоторых полезных функций надо)
  • исходники 729 asterisk-g72x-1.1, исходники asterisk GUI .

Все это, кроме GUI качается с http://asterisk.ru/ ,

GUI качается svn checkout http://svn.digium.com/svn/asterisk-gui/trunk asterisk-gui

Все сделаем по порядку :

Для начала, установим систему Ubuntu Server 10.10 i386 LTS. Почему именно эта ОС. Я считаю что данная система уже проверенна полностью и исправленны все недочеты и стабильна. Да плюс ко всему, я полностью уверен что все что описано ниже будет работать.

Систему устанавливаем без автоматического обновления, без каких либо дополнительных пакетов, единственное сразу установите в пакетах OpenSHH Server.

Произведем скачивание всех пакетов: wget с сайта http://downloads.asterisk.org/pub/telephony/asterisk/releases/ астериск,аддонс,dahdi

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

$ cd /usr/src

$ wget http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-10.1.3.tar.gz # сам астер

$ wget http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-10.1.3-patch.gz # патчик с обновлениями

$ wget http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-addons-1.6.2.4.tar.gz # адонсы

$ wget http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-sounds-1.2.1.tar.gz # русскую речь

$ wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz # dahdi

$ wget http://downloads.asterisk.org/pub/telephony/asterisk-gui/asterisk-gui-2.1.0-rc1.tar.gz # это я на свой страх и риск скачал GUI

$ wget http://asterisk.hosting.lv/src/asterisk-g72x-1.1-beta4.tar.bz2 # полезные кодеки

$ wget http://downloads.asterisk.org/pub/telephony/asterisk/webmin/webmin.tgz # это я прихватил попробовать в webmin`e

Дальше tar xf разпаковываем все файлы:

$ tar xf asterisk-10.1.3.tar.gz

$ tar xf asterisk-addons-1.6.2.4.tar.gz

$ tar xf asterisk-sounds-1.2.1.tar.gz

$ tar xf dahdi-linux-complete-current.tar.gz

$ tar xf asterisk-gui-2.1.0-rc1.tar.gz

$ tar xf asterisk-g72x-1.1-beta4.tar.bz2

$ tar xf webmin.tgz

$ gzip -d asterisk-10.1.3-patch.gz

Можно распаковать с помощью MC. Сначала устанавливаем сам коммандер командой:

$ apt-get update

$ apt-get install mc

После чего запускаем, и заходим в каждый файл и распаковываем.

Сразу установим все что надо для компиляции, ведения журналов и анализатора логов:

$ apt-get update # если не устанавливали МС


$ apt-get install build-essential linux-headers-`uname -r` openssh-server bison flex apache2 php5 php5-curl php5-cli php5-mysql php-pear php-db php5-gd curl sox libncurses5-dev libssl-dev libmysqlclient15-dev mpg123 libxml2-dev binutils gcc g++ libxml2-dev ncurses-dev php5-cli php-pear mysql-server libsqlite3-dev subversion

Вводим пароль MySQL  сервера и запоминаем его.

Необходимо также установить что бы mysql работал в кодировке utf8. Соответственно в файле /etc/mysql/my.cnf

В секцию [client]

default-character-set=utf8

В секцию [mysqld]

default-character-set=utf8

default-collation=utf8_general_ci

После чего установим phpmyadmin:

$ apt-get install phpmyadmin


Дальше святое - компиляция :)

Для начала скопируйте файлик asterisk-10.1.3-patch в папку /usr/src/asterisk-10.1.3


$ cd /usr/src/asterisk-10.1.3
$ patch -p0 < asterisk-10.1.3-patch # наверное надо зачем-то..
$ sh contrib/scripts/get_ilbc_source.sh # неплохо закачать исходники кодека iLBC
$ contrib/scripts/get_mp3_source.sh # это mp3
$ ./configure
$ make menuconfig # 1. выделяем все звуки (en и ru)- в пункте Sounds ...и в Music, 2.в аддонсах выделяем все что относится к mysql, в кодеках включаем iLBC и нажимаем кнопочку X что бы сохранить .
$ make # идем пить кофе ))))

$ make config # для того чтобы собрались скрипты запуска самого астериска
$ make install # пиво пить рано , можно еще пол чашки кофе
$ make samples #это то что лежит в /etc/asterisk
$ cd /usr/src/dahdi-linux-complete-2.6.0+2.6.0
$ make all
$ make install
$ make samples
$ make config
$ cd /usr/src/asterisk-g72x-1.1-beta4
$ ./configure --with-ipp=/usr/src/asterisk-g72x-1.1-beta4/ipp

правим строчку в файле build-itu.sh что бы получилось :

inc=/usr/src/asterisk-10.1.3/include
def=-DG72X_ASTERISK=100

Раскрываем строки для астериск 10, а для 1.8 комментим
Запускаем файл.
Далее копируем файлы codec_g723.so codec_g729.so

$ cp *.so /usr/lib/asterisk/modules

Вот здесь не плохо перегрузить машину, и набрать:

$ asterisk -r


Если перед вашим удивленным взором вылезло:

Asterisk 10.1.3, Copyright (C) 1999 - 2011 Digium, Inc. and others.
Created by Mark Spencer
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
Connected to Asterisk 10.1.3 currently running on newmail2 (pid = 870)                                                   <---эта строчка говорит что все нормально!!!
xxxxxil2*CLI>

Значит можно выпить пива, первый этап пройден.


теперь перейдем в

$ cd /usr/src/asterisk-gui-2.1.0-rc1

попробую прикрутить кандидата на релиз.


$ ./configure
$ make
$ make install
$ make checkconfig


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


--- Checking Asterisk configuration to see if it will support the GUI ---
* Checking for http.conf: OK
* Checking for manager.conf: OK
* Checking if HTTP is enabled:
FAILED
-- Please be sure you have 'enabled = yes'
-- in /etc/asterisk/http.conf
make: *** [checkconfig] Ошибка 1

поэтому

$ nano /etc/asterisk/http.conf

и там правим:

enabled=yes
enablestatic=yes
bindaddr=0.0.0.0
bindport=8088
redirect = / /static/config/index.html

ФСЁ - сохранить !

Изменяем файлик в /etc/asterisk/

$ nano manager.conf

webenabled = yes
enabled = yes
;; водим админа что бы доступ имел из сети 192.168.0.0/16 (все локальные сети компании)
[ya-admin]
secret = vobla-and-pivo
deny=0.0.0.0/0.0.0.0
permit=192.168.0.0/255.255.0.0
read = system,call,log,verbose,agent,user,config,dtmf,reporting,cdr,dialplan
write = system,call,agent,user,config,command,reporting,originate

еще раз:

$ make checkconfig

если видим :


* Checking for http.conf: OK
* Checking for manager.conf: OK
* Checking if HTTP is enabled: OK
* Checking if HTTP static support is enabled: OK
* Checking if manager is enabled: OK
* Checking if manager over HTTP is enabled: OK

то быстро вводим в организм полтишок )))) - заслужили ))))

$ /etc/init.d/asterisk restart

пробуем открыть http:/ip-address:8088
вводим админа с паролем, который прописывали в файле manager.conf и соглашаемся со всем что скажет.
потом снова в терминале:

$ /etc/init.d/asterisk restart


На этом рекомендую первую часть закончить и идти заниматься вредными привычками. Пусть мозг отдохнет
P.S. если вы отметили в меню аддонсы при компиляции астериска, тогда вам не зачем лезть в /usr/src/asterisk-addons-1.6.2.4
но если вы вспомнили об этом протрезвев через день, тогда что бы не переустанавливать астериск скомпилируйте дополнения
Часть вторая будет после перекура ...



Комментарии   

0 #4 mrbublik 17.05.2013 17:16
Ну частично я описал это здесь - www.it-mehanika.ru/.../
Обещаю выложить краткую выжимку по безопасности
0 #3 obsession 17.05.2013 12:14
Да, mr. bublik я бы еще добавил третью часть по настройки Asterisk + Gui, с настройкой по отключению подводных камней (типа Allow Guest = yes) + настройкой fail2ban + iptables rule. А то люди могут наказать себя на большие денежки, из-за сусликов-партиз анов.
0 #2 mrbublik 13.05.2013 09:19
Цитирую gerasim:
а у вас получается добавить сип-транк ? у меня кнопка Add не срабатывает после вводе парамтеров транка... браузер фаерфокс крайний на винда, сафари на макосе.. одна фигня.

Чего-то я не понял, а где кнопка АДД ??? добавленние транка - Trunks (меню) - Voip Trunks (Закладка) - + New Sip/Iax Trunk - Save
А где АДД ???? нет такой :) Уточните ...
0 #1 Guest 11.05.2013 13:37
а у вас получается добавить сип-транк ? у меня кнопка Add не срабатывает после вводе парамтеров транка... браузер фаерфокс крайний на винда, сафари на макосе.. одна фигня.

You have no rights to post comments