Asterisk 1.4 + freePBX no Debian Etch

****************************** Debian Etch + Asterisk 1.4 + Freepbx ****************************** Segue abaixo um tutorial de instalação do Asterisk 1.4 + Painel de Administração FreePBX, não iremos abordar aqui a instalação do Debian etch. Recomendo a instalação básica do Debian Etch. *********************************** # Primeiramente vamos instalar as dependencias necessárias para o Asterisk: apt-get -y install install kernel-package libncurses5-dev fakeroot wget bzip2 build-essential apt-get -y install build-essential libncurses5-dev libcurl3-dev libvorbis-dev libspeex-dev unixodbc unixodbc-dev libiksemel-dev linux-headers-`uname -r` apt-get -y install udev libedit-dev libstdc++5 libedit2 libssl-dev zlib-bin zlib1g-dev mpg123 libnewt0.52 newt-tcl libnewt-devBaixar os pacotes do Asterisk, Zaptel, Libpri e Asterisk-addons # Agora vamos baixar os pacotes do Asterisk 1.4 cd /usr/src wget http://downloads.digium.com/pub/asterisk/asterisk-1.4-current.tar.gz wget http://e100p.phoniceq.com/driver/zaptel-1.4.9.2.tar.gz wget http://downloads.digium.com/pub/libpri/libpri-1.4-current.tar.gz wget http://downloads.digium.com/pub/asterisk/asterisk-addons-1.4-current.tar.gz svn checkout http://svn.digium.com/svn/asterisk/branches/1.4 asterisk-1.4 svn checkout http://svn.digium.com/svn/zaptel/branches/1.4 zaptel-1.4 svn checkout http://svn.digium.com/svn/asterisk/branches/1.4 asterisk-addons-1.4 svn checkout http://svn.digium.com/svn/asterisk/branches/1.4 asterisk-sounds-1.4 svn checkout http://svn.digium.com/svn/asterisk/branches/1.4 libpri-1.4 # Descompactar os pacotes tar xvzf asterisk-1.4-current.tar.gz tar xvzf zaptel-1.4.9.2.tar.gz tar xvzf libpri-1.4-current.tar.gz tar xvzf asterisk-addons-1.4-current.tar.gz # Agora vamos compilar Zaptel cd /usr/src/zaptel-1.4* ./install_prereq test ./install_prereq install ./configure make && make install make config modprobe ztdummy # Compilando Libpri cd /usr/src/libpri-1.4* make && make install # Compilando Asterisk cd /usr/src/asterisk-1.4* ./configure make menuselect make make install make samples make config asterisk -vvvc stop now echo "ztdummy" >> /etc/modules # Teste se o Asterisk esta rodando executando asterisk -rexit # Compilando Asterisk-addons cd /usr/src/asterisk-addons* perl -MCPAN -e "install DBD::mysql" ./configure make make install make samples ln -s /lib/modules/`uname -r`/ /lib/modules/`uname -r`/asteriskdepmod # geralmente essa parte pode demorar ou debugar algumas coisas do kernel e entrar em loop) *********************************** Preparando do banco de dados do sistema CDR *********************************** # Para instalar o MySQL, basta usar o comando abaixo apt-get install mysql-server-5.0 # Agora vamos criar o usuário, o banco de dados e sua estrutura mysql -u root -p CREATE DATABASE asteriskcdrdb; GRANT INSERT ON asteriskcdrdb.* TO asteriskcdruser@localhost IDENTIFIED BY 'yourpassword'; USE asteriskcdrdb; CREATE TABLE cdr (`id` bigint NOT NULL auto_increment PRIMARY KEY,`calldate` datetime NOT NULL default '0000-00-00 00:00:00',`clid` varchar(80) NOT NULL default '',`src` varchar(80) NOT NULL default '',`dst` varchar(80) NOT NULL default '',`dcontext` varchar(80) NOT NULL default '',`channel` varchar(80) NOT NULL default '',`dstchannel` varchar(80) NOT NULL default '',`lastapp` varchar(80) NOT NULL default '',`lastdata` varchar(80) NOT NULL default '',`duration` int(11) NOT NULL default '0',`billsec` int(11) NOT NULL default '0',`disposition` varchar(45) NOT NULL default '',`amaflags` int(11) NOT NULL default '0',`accountcode` varchar(20) NOT NULL default '',`userfield` varchar(255) NOT NULL default '',`enviado`char(1) NOT NULL default 'N') ENGINE = innodb; ALTER TABLE `cdr` ADD INDEX ( `calldate` );ALTER TABLE `cdr` ADD INDEX ( `dst` ); Ajustar o cdr_mysql.conf Criar um arquivo de configuração informando a senha do Banco MySQL.Exemplo: /etc/asterisk/cdr_mysql.conf ;; Note - if the database server is hosted on the same machine as the; asterisk server, you can achieve a local Unix socket connection by; setting hostname=localhost;; port and sock are both optional parameters. If hostname is specified; and is not "localhost", then cdr_mysql will attempt to connect to the; port specified or use the default port. If hostname is not specified; or if hostname is "localhost", then cdr_mysql will attempt to connect; to the socket file specified by sock or otherwise use the default socket; file.;[global] hostname=localhost dbname=asteriskcdrdb password=yourpassword user=asteriskcdruser ;port=3306 ;sock=/tmp/mysql.sock ;userfield=1 Ajustar o modules.conf Editar o /etc/asterisk/modules.conf e acrescentar load cdr_addon_mysql.so e reinicializar o asterisk para carregar o módulo.Verificando a implenetação Entre no asterisk com asterisk -r e dê um restart now . Entre novamente, e verifique: asterisk*CLI> cdr mysql statusConnected to asteriskcdrdb@localhost, port 3306 using table cdr for 8 seconds.Wrote 0 records since last restart.asterisk*CLI> Pronto, seu asterisk já está gravando o CDR em MySQL. ----------------------- Instalação do FreePBX Pacotes necessários: apt-get install -y apache2 php5 php5-cli mysql-server-5.0 php-pear php5-mysql php-db libapache2-mod-php5 php5-gd php5-curl php5-mcrypt libmysqlclient-devcd /usr/src wget http://mesh.dl.sourceforge.net/sourceforge/amportal/freepbx-2.4.0.tar.gztar zxvf freepbx-2.4.0.tar.gz Mudar a linha abaixo no arquivo php.ini "upload_max_filesize = 20M"/etc/php5/apache2/php.ini Instalando o mpg123 Se voce não tem ele instalado baixe-o em:wget http://www.mpg123.de/mpg123/mpg123-0.59r.tar.gz Descompacte o código fonte:tar -zxvf mpg123-0.59r.tar.gz cd mpg123-0.59rmake linuxmake install Voce terá ele instalado em /usr/loca/binnao instale o mpg123 usando apt-get porque ele estará instalando o mpg321 ao invéz de mpg123.copie alguns arquivos mp3 para /var/lib/asterisk/mohmp3. Agora edite: /etc/asterisk/musiconhold.conf e descomente as seguintes linhas.;; Music on hold class definitions;[classes]default => quietmp3:/var/lib/asterisk/mohmp3;loud => mp3:/var/lib/asterisk/mohmp3;random => quietmp3:/var/lib/asterisk/mohmp3,-z Also make sure that your zapata.conf file has a linemusiconhold=default Link para música de atendimento:ln -s /var/lib/asterisk/moh /var/lib/asterisk/mohmp3 Instalando o LAME cd /usr/srcwget http://voxel.dl.sourceforge.net/sourceforge/lame/lame-3.96.1.tar.gztar -xvzf lame-3.96.1.tar.gzcd lame-3.96.1./configure --prefix=/usr --sysconfdir=/etcmake && make install Configuração do APACHE para FreePBX Se não existir cria o usuário asteriskadduser asterisk --disabled-password --gecos "asterisk PBX" --home /var/lib/asteriskAdicionar o usuário ao grupoadduser www-data asteriskMudar o grupo\usuário do apache2.conf de www-data para asterisk/etc/apache2/apache2.conf Criar os banco de dados e usuários no MySQL Server echo "create database asteriskcdrdb;" mysql -u rootecho "create database asterisk;" mysql -u rootecho "GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY '';" mysql -u root -pecho "GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY '';" mysql -u root -pmysql -u asteriskuser -pmasterkey asteriskcdrdb < /usr/src/freepbx-2.4.0/SQL/cdr_mysql_table.sql mysql -u asteriskuser -pmasterkey asterisk < /usr/src/freepbx-2.4.0/SQL/newinstall.sql cp /etc/asterisk/asterisk.conf /etc/asterisk/asterisk.conf.orig sed -e "s/\(astrundir *=> *\)\(.*\)/\1\/var\/run\/asterisk/" /etc/asterisk/asterisk.conf > /etc/asterisk/asterisk.conf.tmpmv /etc/asterisk/asterisk.conf.tmp /etc/asterisk/asterisk.confmkdir /var/run/asteriskchown -R asterisk:asterisk /var/run/asterisk/usr/sbin/asterisk Instalando Portal Free-PBX cp /usr/src/freepbx-2.4.0/install_amp /usr/src/freepbx-2.4.0/install_amp-origsed -e "s/\(^\$webroot*\)\(.*\)/\1 = \"\/var\/www\";/" /usr/src/freepbx-2.4.0/install_amp > /usr/src/freepbx-2.4.0/install_amp.tmpmv /usr/src/freepbx-2.4.0/install_amp.tmp /usr/src/freepbx-2.4.0/install_ampchmod 755 /usr/src/freepbx-2.4.0/install_ampcd /usr/src/freepbx-2.4.0/./install_ampkill -9 $(cat /var/run/asterisk/asterisk.pid)sed -e "s/\(RedirectMatch*\)\(.*\)//" /etc/apache2/sites-enabled/000-default > /etc/apache2/sites-enabled/000-default.tmpmv /etc/apache2/sites-enabled/000-default.tmp /etc/apache2/sites-enabled/000-default/etc/init.d/apache2 restart chown -R asterisk:asterisk /etc/asteriskchmod 777 /etc/asterisk/chown -R asterisk:asterisk /var/lib/asterisk/chmod 775 /var/lib/asterisk/chown -R asterisk:asterisk /var/www/cp /var/www/admin/modules/dashboard/images/notify_* /var/www/admin/images/sed -e "s/\(^AMPDBPASS=*\)\(.*\)/\1/" /etc/amportal.conf > /etc/amportal.conf.tmpmv /etc/amportal.conf.tmp /etc/amportal.confecho "SET PASSWORD FOR 'asteriskuser'@'localhost' = PASSWORD('');" mysql -u rootsed -e "s/\(^secret = *\)\(.*\)/\1/" /etc/asterisk/manager.conf > /etc/asterisk/manager.conf.tmpmv /etc/asterisk/manager.conf.tmp /etc/asterisk/manager.confsed -e "s/\(^AMPMGRPASS=*\)\(.*\)/\1/" /etc/amportal.conf > /etc/amportal.conf.tmp

Postagens mais visitadas deste blog

Firewall Palo Alto - Configuração inicial

Firewall Palo Alto - Alta Disponibilidade de Link de Internet e VPN Site-to-Site (Dual ISP and VPN)