Manual de instalação Asterisk no Debian 1. Instalação do Debian Instalar a distribuição do Debian 4rc4 através da interface gráfica selecionado apenas a opção de "Sistema Básico" 2. Configuração do SSH A Atualizar Source List para debian 4 pico /etc/apt/sources.list deb http://downloads.teletec.com.br/debian/5rc7/cd-update/ lenny contrib main non-free deb http://downloads.teletec.com.br/debian/5rc7/cd-1/ lenny contrib main deb http://downloads.teletec.com.br/debian/5rc7/cd-2/ lenny main deb http://downloads.teletec.com.br/debian/5rc7/cd-3/ lenny main deb http://downloads.teletec.com.br/debian/5rc7/cd-4/ lenny main deb http://downloads.teletec.com.br/debian/5rc7/cd-5/ lenny main apt-get update B. Instalar os pacotes do SSH apt-get install ssh C. alterar a porta SSH para 2201 pico /etc/ssh/sshd_config Port 2201 D. Restartar serviço do SSH /etc/init.d/ssh restart 3. Instalação dos pacotes necessários para a compilação do Asterisk apt-get install libxml2-dev apt-get install unixodbc unixodbc-dev odbc-postgresql python apt-get install libavcodec-dev dialog apt-get install make gcc g++ libncurses5-dev libssl-dev zlib1g-dev apt-get install tcpdump ethtool iperf apt-get install linux-headers-`uname -r` apt-get install libusb-dev libboost-dev udev apt-get install libnewt-dev sox apt-get install php5-pgsql php5-cli sudo nmap apt-get install postgresql-8.3 python2.5-psycopg2 unzip ntp scons apt-get install libsnmp-dev apt-get install snmp snmpd 4. Copiar e descompactar arquivos necessários para a compilação do asterisk mkdir /usr/src/asterisk cd /usr/src/asterisk wget http://downloads.teletec.com.br/asterisk/1.4.42/libpri-1.4.12.tar.gz wget http://downloads.teletec.com.br/asterisk/1.4.42/dahdi-linux-complete-2.4.1.2+2.4.1.tar.gz wget http://downloads.teletec.com.br/asterisk/1.4.42/asterisk-1.4.42.tar.gz wget http://downloads.teletec.com.br/asterisk/1.4.42/sounds.tgz tar -vxzf libpri-1.4.12.tar.gz tar -vxzf dahdi-linux-complete-2.4.1.2+2.4.1.tar.gz tar -vxzf asterisk-1.4.42.tar.gz tar -vxzf sounds.tgz chmod -R u=rwx,g=rx,o=rx /usr/src/asterisk Caso possua placa digium utilizando sinalização ISDN e deseje identificar as chamadas recebidas a cobrar execute o seguinte tutorial antes de prosseguir: htt://downloads.teletec.com.br/downloads/asterisk/chamadas_a_cobrar_isdn/manual.txt 5. Compilação do Asterisk. cd /usr/src/asterisk cd libpri-1.4.12 make clean make make install cd .. cd dahdi-linux-complete-2.4.1.2+2.4.1 make clean make all make install make config cd .. cd asterisk-1.4.42 make clean ./configure make make install make samples make config cd .. /etc/init.d/asterisk stop 6. Copiar do diretório de tradução os subdiretórios para mkdir /var/lib/asterisk/sounds/pt_BR mkdir /var/lib/asterisk/sounds/digits/pt_BR mkdir /var/lib/asterisk/sounds/letters/pt_BR mkdir /var/lib/asterisk/sounds/phonetic/pt_BR cp /usr/src/asterisk/sounds/pt_BR/*.* /var/lib/asterisk/sounds/pt_BR cp /usr/src/asterisk/sounds/digits/pt_BR/*.* /var/lib/asterisk/sounds/digits/pt_BR cp /usr/src/asterisk/sounds/letters/pt_BR/*.* /var/lib/asterisk/sounds/letters/pt_BR cp /usr/src/asterisk/sounds/phonetic/pt_BR/*.* /var/lib/asterisk/sounds/phonetic/pt_BR 7. Criar usuário asterisk adduser asterisk adduser asteriskconf editar o arquivo /etc/passwd para conceder permissões de root ao usuario asterisk. Pois o asterisk tem que rodar debaixo de um usuario que tenha permissões de root para poder marcar os pacotes com prioridade (QoS) 8. Alterar permissões para que o asterisk rode no usuário asterisk cd /etc/init.d mv asterisk asterisk_old wget http://downloads.teletec.com.br/asterisk/1.4.42/asterisk chmod 744 asterisk cd / mkdir /var/run/asterisk chown -R asterisk:asteriskconf /etc/asterisk chown -R asterisk:asteriskconf /usr/lib/asterisk chown -R asterisk:asteriskconf /var/lib/asterisk chown -R asterisk:asteriskconf /var/log/asterisk chown -R asterisk:asteriskconf /var/run/asterisk chown -R asterisk:asteriskconf /var/spool/asterisk chown -R asterisk:asteriskconf /etc/odbc.ini chown -R asterisk:asteriskconf /etc/odbcinst.ini chown -R asterisk:asteriskconf /etc/rc.firewall_ipv4 chown -R asterisk:asteriskconf /etc/rc.firewall_ipv6 chmod -R u=rwx,g=rwx,o= /etc/asterisk chmod -R u=rwx,g=rwx,o= /usr/lib/asterisk chmod -R u=rwx,g=rwx,o= /var/lib/asterisk chmod -R u=rwx,g=rwx,o= /var/log/asterisk chmod -R u=rwx,g=rwx,o= /var/run/asterisk chmod -R u=rwx,g=rwx,o= /var/spool/asterisk chmod -R u=rwx,g=rwx,o= /etc/odbc.ini chmod -R u=rwx,g=rwx,o= /etc/odbcinst.ini chmod -R u=rwx,g=rwx,o= /etc/rc.firewall_ipv4 chmod -R u=rwx,g=rwx,o= /etc/rc.firewall_ipv6 9. Executar provisionamento das configurações de domínio para alterar arquivos de configuração em /etc/asterisk init q 10. Definir a quantidade de arquivos que o asterisk pode abrir echo '* soft nofile 65535' >> /etc/security/limits.conf echo '* hard nofile 65535' >> /etc/security/limits.conf 11. Startar o serviço do asterisk /etc/init.d/dahdi start /etc/init.d/asterisk start 12. Caso esteja utilizando placas (Digium/Khomp/Digivoice,etc), verificar se a placa não esta compartilhando IRQ atraves do comando lspci -v e lspci -vb As placas não podem compartilhar IRQ, um dos principais problemas é a queda de ligações. Desabilitar tambem o power management da bios do servidor e remover os pacotes instalados no servidor referente a este serviço /etc/init.d/acpid stop apt-get remove acpid dpkg --purge acpid apt-get remove apache2-utils update-rc.d -f exim4 remove 13. Forçar o debian a carregar o modulo ip_conntrack na inicialização. pico /etc/rc.local /sbin/modprobe ip_conntrack /etc/rc.firewall_ipv4 /etc/rc.firewall_ipv6 14. Configurar sudores # /etc/sudoers # # This file MUST be edited with the 'visudo' command as root. # # See the man page for details on how to write a sudoers file. # Defaults env_reset # Host alias specification # User alias specification User_Alias ADMINS=asteriskconf, zabbix # Cmnd alias specification Cmnd_Alias CRON = /sbin/iptables, /usr/bin/crontab, /var/lib/asterisk/agi-bin/carga_inicial_bdo_cadup_cnl.sh, /usr/sbin/asterisk, /bin/kill # User privilege specification root ALL=(ALL) ALL ADMINS ALL=(ALL) NOPASSWD: ALL # Uncomment to allow members of group sudo to not need a password # (Note that later entries override this, so you might need to move # it further down) # %sudo ALL=NOPASSWD: ALL