(Delphini) Asterisk Administrator Red Hat and Forks SO
(Delphini) Asterisk Administrator Red Hat and Forks SO
(Delphini) Asterisk Administrator Red Hat and Forks SO
ASTERISK ADMINISTRATOR
Red Hat and Forks S.O.
Profª Esp. Angelo B. Delphini
2
FALSA FOLHA DE ROSTO
3
© Angelo B. Delphini
ASTERISK ADMINISTRATOR: Red Hat and Forks S.O.
- Revisão 01 em 04 de julho de 2019
- Revisão 02 em 05 de julho de 2019
ISBN papel:
ISBN pdf:
Impresso em Espanha
“Reservados todos os direitos. Salvo exceção prevista pela lei, não é permitida a
reprodução total ou parcial desta obra, nem a sua incorporação a um sistema
informático, nem a sua transmissão em qualquer forma ou por qualquer meio
(eletrónico, mecânico, fotocopia, gravação ou outros) sem autorização prévia e por
escrito dos titulares do copyright. A infração de ditos direitos implica sanções legais e
pode constituir um delito contra a propriedade intelectual.
4
Toda vez que um homem supera os reveses,
Torna-se mentalmente e espiritualmente mais forte.
5
Índice
6
Capítulo 1
Montando o laboratório de estudos
Preparando as ferramentas
7
Baixe a versão mais atualizada da distro CentOS em:
• URL: “http://www.centos.org/download/”
Dúvida: No site tem o DVD ISO e o Everything ISO. Qual deles devo
baixar e instalar? A diferença entre esses dois downloads é o tamanho e
os pacotes instalados. No DVD ISO, o tamanho é menor, logo há me-
nos pacotes inclusos nele. Já o Everything ISO, o tamanho é maior e,
portanto, há mais pacotes inclusos nele. Fica a seu critério qual esco-
lher, uma vez que é possivél operar o sistema nas duas versões.
8
Clique em ‘Modo Expert’. Dessa vez faremos alguns passos diferente,
mas o resultado é o mesmo que o do Debian.
9
x86_64-Everything) na Appliance em 32-bit, mas a tela de instalação
não iniciou. Quando mudei a Appliance para 64-bit, a instalação ocor-
reu normalmente. Outro ponto importante para o laboratório é reco-
mendado 2048 MB (2 GB) de memória RAM, caso seu notebook não
disponibilize de memória o suficiente para a Appliance deixa a mesma
com 1024 MB (1 GB). Mas tenha em mente que sua Appliance ficará
lenta e isto vai fazer com que a mesma demora para executar as tarefas
durante a capacitação.
10
tamanho do disco rígido, aqui deixei como 160 GB que é um tamanho
razoável. Em “Tipo de arquivo de disco rígido”, os principais
são VDI e VMDK. A diferença entre eles é que o VDI você só poderá
utilizar em outra máquina física se ela possuir o VirtualBox instalado,
enquanto o VMDK serve tanto para o VirtualBox como outros softwa-
res de virtualização como o VMWare. No nosso caso, escolhi VMDK.
Em “Armazenamento em disco rígido físico”, selecione “Dinami-
camente alocado”. Isto vai fazer que ocupe espaço físico do seu HD
físico conforme o HD virtual for sendo consumido pelo Sistema Ope-
racional da Appliance.
11
Pronto! Agora é necessário realizar mais alguns ajustes na Appliance,
para isso, selecione a Appliance “OpenPBX-BR” e clique em ‘Configu-
rações’. Pode ser feito também clicando com o lado direito do mouse
sobre a Appliance seleciona (banner fica azul). O primeiro item do Po-
pUp é Configurações.
12
Navegue até “Sistema”. Na aba “Placa-Mãe”, devemos configurar a
“Ordem de Boot”, desmarque a opção “Disquete” e deixe no topo a
opção ‘Óptico’ e logo em seguida ‘Disco Rígido’, pois utilizaremos
uma ISO para instalar o CentOS e proceder com a instalação do Siste-
ma Operacional na Appliance. Marque a opção de ‘Recursos Estendi-
dos’ para ‘Habilitar o I/O APIC’, pois configuraremos o processador
no passo seguinte. E tenha certeza que “Relógio da máquina retorna
hora UTC esteja habilitado”. Então clique no botão “OK”.
13
Clique novamente no botão “Configurações” e volte a aba “Sistema”,
navegue até a aba ‘Processador’. Dependendo da sua máquina física,
estarão disponíveis mais quantidades de “CPU”. No meu caso, tenho
somente uma CPU disponíveis, apensar de meu notebook ter quatro
CPUs. Se você configurar mais de 1 núcleo, o VirtualBox exigirá que
você marque a opção ‘Habilitar o I/O APIC’ na aba ‘Placa-Mãe’.
Como não realizamos alterações clique no menu lateral no item “Re-
de”. Caso tenha feito alguma alteração, clique no botão “OK” e volte
para configurações da Appliance, e vá para o item Rede no menu late-
ral.
14
Aqui em “Rede” navegue para a aba “Adaptador 1”, e caso queira mais
que um adaptador Ethernet, faça este procedimento para todos. Você
pode ter até quatro adaptadores Ethernet. Em ‘Conectado a:’, selecio-
ne “Placa em modo Bridge”. Isso fará com que a Appliance fique na
mesma rede que a sua máquina física. Estando na mesma rede, pode-
mos nos comunicar e facilitar seus testes e estudos. Clique em “Avan-
çado” em “Modo Promíscuo” selecione “Permitir Tudo”. Clique em
‘OK’.
15
Instalando o S.O. CentOS na Appliance (VM) criada
Uma vez que a máquina foi criada, agora procederemos para a instala-
ção da distro CentOS nela. Para isso, selecione a Apliance na lista da
esquerda e clique em ‘Configurações’. Vá para a se-
ção ‘Armazenamento’ > ‘Controladora IDE’ > ‘Vazio’ e clique no
botão com o ícone de disco. No menu, escolha ‘Selecione um arquivo
de CD/DVD virtual…’ e navegue nas pastas até encontrar a ISO da
distro CentOS que você baixou. No caso, baixei o CentOS-7.0-1406-
x86_64-Everything. Depois clique no botão “OK”.
16
Agora selecione a Appliance do OpenPBX-BR e clique em ‘Iniciar’.
Na tela de instalação, há um menu, escolha ‘Install CentOS 7’.
17
A primeira tela da instalação pede o idioma do instalador, ou seja, du-
rante todo o processo de instalação, o idioma escolhido será exibido.
No meu caso, escolhi o English, English (United States). Clique na
sequencia em Continue.
18
Vamos configurar a Data e Hora (Date & Time). Clique em ‘Date &
Time’.
19
Escolha, clicando na região próxima à sua cidade. No meu caso, é São
Paulo. Clique em ‘Done’.
20
Agora configuraremos o teclado, clique em ‘Keyboard’ no dashboard.
Clique no ícone de ‘+’ e um pop-up abrirá. Ao começar a digitar a pala-
vra “portuguese”, o filtro será ativo. No meu caso, escolhi “Portu-
guese (Brazil)”. Clique em ‘Add’.
21
Selecione o idioma “Portuguese (Brazil)” na lista e depois clique na
seta para cima, de forma que o modo de entrada padrão seja o idioma
escolhido (ficará como primeiro da lista).
22
Caso queira conferir se o layout está correto, clique no ícone de tecla-
do.
23
Uma vez configurado o teclado, clique em ‘Done’ e você retornará para
o Dashboard. Quanto ao ‘Language Support’, deixei co-
mo English (United States) mesmo, mas você pode alterar se desejar.
24
Quanto ao ‘Software Selection’ o default é ‘Mininum Install’, mas
dependendo do objetivo de cada usuário, o template pode mudar. No
meu caso, estou instalando o Linux para estudos focado em Open
Source Telephony Systems, e a maior parte do tempo utilizarei o mo-
do console. Logo, escolhi ‘minimum install’ marcando a opções,
“Debugging Tools”, “Compatibility Libraries”, “Development
Tools”, “Security Tools”, “Smart Card Support” e “System Admi-
nistration Tools”, que adiciona compatibilidade para as bibliotecas
desenvolvidas em versões anteriores ao CentOS 7. Clique em “Done”
após configurar.
25
Se você possui rede ativa em sua máquina, a opção de ‘Network &
Hostname’ lhe permite ativar/desativar e configurar características
básicas da rede clicando em ‘Configure’. Você também pode alterar o
“hostname” de sua máquina. No meu caso ativei a Ethernet
(enp0s3), mudei o Host neme: para openpbx-br. Após realizadas as
configurações, clique em ‘Done’.
26
Agora particionaremos o disco. Para isso, no Dashboard, escolha a op-
ção ‘Installation Destination’. Na tela, escolha a opção ‘I will confi-
gure partitioning’ e clique em ‘Done’ para ser redirecionado a outra
tela na qual efetivamente serão criadas as partições.
27
Na tela de criação de partições, clique no botão ‘+’ e um pop-up abrirá.
Nele há um combo-list com as partições, mas você também pode es-
crever manualmente. Após escolhida a partição e definido o seu tama-
nho, clique em ‘Add Mount Point’.
28
Lembrando que tal como foi tabela de partição do eBook Debian and
Forks S.O., faremos aqui no CentOS também. Logo criaremos con-
forme a seguinte tabela:
Tabela de Particionamento – 1
29
Capítulo 01 – Imagem Tabela de Particionamento – 1
30
Ao criar uma partição, no caso, “/boot”, o instalador configura o ‘Fi-
lesystem’ como ‘xfs’, mude para ‘ext4’. Outro ponto importante é alte-
rar o ‘Device Type’ de /boot para ‘Standard Partition’ que é o mes-
mo que configurar o Tipo de Partição como Primária.
31
Para as partições lógicas como o “/home”, “/var/log”, “/var”,
“/tmp”, “/usr”, “/” e “swap”, configure o “Device Type” como
“LVM”. Apenas lembrando que no caso do “swap”,
o Filesystem deverá ser configurado como ‘swap’, enquanto para as
demais partições, deverá ser ‘ext4’.
32
Repita o processo para as demais partições e após configuradas todas,
clique em ‘Done’. Um pop-up de confirmação aparecerá, confira as
informações e se estiver certo de que tudo está corretamente configura-
do, clique em ‘Accept Changes’.
33
Após configurado a instalação, clique em ‘Begin Installation’.
34
Agora é necessário criar a senha para o root e um usuário guest. Va-
mos definir uma senha para o root. Clique em ‘Root Password’.
35
Entre com a senha de root nos dois campos e clique em ‘Done’;
36
Você pode optar por criar um usuário ou não. Ao clicar em ‘User Cre-
ation’, você será levado a uma tela de criação de usuário. Pode-se torná-
lo administrador e ao clicar em ‘Advanced’, você também pode confi-
gurar aspectos adicionais como, por exemplo, o UID do usuário, adici-
oná-lo a grupos etc. Após configurado, clique em ‘Done’ e aguarde o
final da instalação.
37
Iremos criar o usuário “suporte” e usaremos a senha “toor”. Aqui
também para aceitar a senha fraca teremos que clicar em “Done” duas
vezes.
38
Instalação em progresso
39
Processo de instalação finalizado! Clique em ‘Reboot’.
40
Pronto! O CentOS está operacional! Como realizamos a instalação bá-
sica, não há o GUI (GNOME ou KDE Desktop), apenas o CLI (Con-
sole). Ainda assim, é possível estudar, uma vez que ele está configurado
com as bibliotecas necessárias. Enjoy!
41
Capítulo 2
Instalando o Notepad++
42
Agora a janela de boas-vindas, click no botão “Próximo”.
43
Agora a janela da licença, para dar sequência na instalação click no bo-
tão “Eu Concordo”.
44
Nesta janela está sendo apresentado o local de instalação, iremos deixar
o padrão, click no botão “Próximo”.
45
Esta janela serve para escolhermos os componentes da instalação, va-
mos aceitar o padrão, click em “Próximo”.
46
Vamos deixar esta janela com o padrão, clique no botão “Instalar”.
47
Tela de progresso da instalação, sem ação para o usuário.
48
Aqui está a tela de conclusão da instalação do Notepad++.
49
Capítulo 3
Instalando o MobaXterm
Na URL: http://mobaxterm.mobatek.net/, baixe a última versão
compatível com o seu Sistema Operacional, 32 bits ou 64 bits.
50
Na tela a seguir proceda com a instalação. Para isto clique em NEXT;
51
Nesta tela aceite a licença e clique em NEXT;
52
Nesta tela estamos sendo questionados onde será instalado o MobaX-
term. Vamos deixar a instalação padrão. Clique em NEXT;
53
Finalmente a tela de confirmação da instalação. Clique em INSTALL;
54
Tela de finalização da instalação do MobaXterm. Clique em FINISH;
55
Quando abrir pela primeira vez o MobaXterm, o seu Sistema Operaci-
onal (Windows) vai solicitar a liberação do firewall. É importantíssimo
que você realize a liberação selecionando as duas caixas igual a imagem
0308.
56
Finalmente seu MobaXterm está pronto para você usá-lo. Em um mo-
mento oportuno da capacitação vamos ensinar como criar uma conexão
do tipo SSH com o seu servidor softswitch pbx ip (Asterisk).
57
Capítulo 4
Instalando as dependências para nosso softswitch pbx ip
Neste capítulo, vamos instalar em nosso Sistema Operacional (Cen-
tOS), as dependências para atender de forma eficiente o Asterisk fra-
mework da Sangoma Digium. Realize os procedimentos com calma e
cautela.
Uma lista de versões do Asterisk e suas datas de final de vida pode ser
encontrada nesta URL:
“https://wiki.asterisk.org/wiki/display/AST/Asterisk+Versions
”
Atenção! executar este laboratório como Administrador:
## RHEL/CentOS 7 64-Bit ##
# su -
## RHEL/CentOS 7 64-Bit ##
# yum clean all
# yum update
# yum gropuinstall core base “Development Tools”
# yum install -y wget make vim net-tools setuptool
# yum install -y system-config-firewall*
# yum install -y system-config-keyboard
# yum install -y mlocate tcpdump
58
- Instalando os repositórios do Sistema Operacional:
## RHEL/CentOS 7 64-Bit ##
# yum -y install epel-release
- Verificando os repositórios
## RHEL/CentOS 7 64-Bit ##
# yum repolist
59
- Instalando Irontec Sngrep
Para instalar o SNGREP teremos que instalar o REPO da Irontec. Para
isto, vamos criar e editar o arquivo irontec.repo.
# > /etc/yum.repos.d/irontec.repo
# ls /etc/yum.repos.d/
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-
Media.repo
CentOS-Vault.repo epel-testing.repo CentOS-
CR.repo
CentOS-fasttrack.repo CentOS-Sources.repo
epel.repo irontec.repo
# vim /etc/yum.repos.d/irontec.repo
[irontec]
name=Irontec RPMs repository
baseurl=http://packages.irontec.com/centos/$releasever
/$basearch/
60
# mysqladmin -u root -p version (para testar a nova
senha)
- Instando phpMyAdmin
61
você deve liberar o acesso de todos, ou do seu IP pelo menos. Abra o
arquivo:
# vim /etc/httpd/conf.d/phpMyAdmin.conf
Require ip 127.0.0.1
Require ip 192.168.0.0/24
62
Reinicie o apache (systemctl restart httpd.service) e pronto!
Abra um browse e digite o IP do seu servidor adicionando o caminho
“/phpmyadmin” deverá abrir uma tela como a figura abaixo. Entre
com o usuário “root” e a senha “MyPass@2019”.
63
– Deixar o IP fixo no servidor
Logado como root edite o arquivo:
# vim /etc/sysconfig/network-scripts/ifcfg-enp0s3
GATEWAY=192.168.0.1
64
Vamos agora desabilitar o SELinux, execute os seguintes comandos:
# sestatus
# setenforce 0
# vim /etc/sysconfig/selinux
65
O retorno deve ser este:
# SELinux status: disabled
Instalando o NodeJS
# cd /opt/
# curl -sL https://rpm.nodesource.com/setup_8.x | bash -
# yum install -y nodejs
Instalando o IkSemel
# cd /opt/dcaa/
# wget
http://download.opensuse.org/repositories/home:/aevseev/CentOS7/x86
_64/iksemel-1.4-20.141.el7.x86_64.rpm
# wget
http://download.opensuse.org/repositories/home:/aevseev/CentOS7/x86
_64/iksemel-devel-1.4-20.141.el7.x86_64.rpm
# wget
http://download.opensuse.org/repositories/home:/aevseev/CentOS7/x86
_64/iksemel-debuginfo-1.4-20.141.el7.x86_64.rpm
# rpm -Uvh iksemel-1.4-20.141.el7.x86_64.rpm
# rpm -Uvh iksemel-devel-1.4-20.141.el7.x86_64.rpm
# rpm -Uvh iksemel-debuginfo-1.4-20.141.el7.x86_64.rpm
66
Instalando o Google Voice
# cd /opt/
# wget
https://github.com/meduketto/iksemel/archive/master.zi
p -O iksemel-master.zip
# unzip iksemel-master.zip
# rm -f iksemel-master.zip
# cd iksemel-master
# ./autogen.sh
# ./configure
# make all && make install
67
Capítulo 5
Instalando Asterisk 13.21 LTS
Para muitas pessoas, as duas próximas seções serão opcionais, você
provavelmente poderá pular até a seção "Asterisk" abaixo.
68
Vai para a pasta recém-criada, para compilar e instalar o DAHDI.
# cd /usr/local/src/ dahdi-linux-complete-
2.10.0+2.10.0/
# make all
# make install
# make config
69
Libpri
Como eu mencionei acima eu tenho um cartão PRI, então eu também
tenho que instalar o modulo PRI, mas você caso não tenha pode pular
esta etapa.
# wget
http://downloads.asterisk.org/pub/telephony/libpri/lib
pri-1.6.0.tar.gz
# tar -zxvf libpri-1.6.0.tar.gz -C /usr/local/src/
# cd /usr/local/src/libpri-1.6.0/
# make all
# make install
# cd /opt/dcaa/
Asterisk
Finalmente, podemos começar a instalar o Framework Certified Aste-
risk. Vamos encontrar a última versão certificada nesta página:
“http://www.asterisk.org/downloads/asterisk/all-asterisk-versions”
70
Caso queira adicionar suporte a MP3 faça os seguintes procedimentos:
Instalar o LAME;
# cd /opt/dcaa
# wget
https://downloads.sourceforge.net/lame/lame/3.100/lame
-3.100.tar.gz
# tar -zxvf lame-3.100.tar.gz -C /usr/local/src/
# cd /usr/local/src/lame-3.100/
# ./configure
# make all
# make install
# cd cd ../asterisk/
# ./contrib/scripts/get_mp3_source.sh
71
# yum install -y net-snmp-devel neon-devel
# yum install -y audiofile-devel gtk2-devel
# yum install -y speex-devel gsm-devel sqlite-devel
# yum install -y perl-DateManip spandsp-devel
# yum install -y freetds-devel mpg123 mpg123-libs
# yum install -y corosynclib-devel lua-devel
# yum install -y radiusclient-ng-devel libxslt-devel
# yum install -y portaudio-devel libical-devel
# yum install -y gmime-devel bluez-libs-devel
# yum install -y jack-audio-connection-kit-devel
# yum install -y libedit-devel libsrtp-devel
# yum install -y jansson jansson-devel
# yum install -y git-core readline-devel libvorbis
# yum install -y libtool perl-core zlib-devel
# yum install -y speex speex-devel
72
Instalar o SRTP (PJSIP)
# cd /opt/dcaa/
# wget
https://downloads.sourceforge.net/project/srtp/srtp/1.
4.4/srtp-1.4.4.tgz
# tar -zxvf srtp-1.4.4.tgz -C /usr/local/src/
# cd /usr/local/src/srtp/
# autoconf
# ./configure CFLAGS=-fPIC --prefix=/usr
# make all
# make runtest
# make install
# ldconfig
# cd /opt/dcaa/
73
Na etapa de verificação do CORE do Asterisk, verifique se o PJPRO-
JECT foi reconhecido pelo Asterisk, caso não tenha sido reconhecido
tem que refazer todo este procedimento. Vamos neste momento certifi-
car nossa instalação, o procedimento que iremos executar vai buscar
todos os pré-requisitos disponíveis nos repositórios da Sangoma Di-
gium de acordo com seu pacote, hardware e sistema operacional.
# ./contrib/scripts/install_prereq install
na linha 74 mudou (no meu caso foi a linha 74 no seu caso pode ser
outra linha, na incerteza procure pelo parâmetro abaixo) OBS: os pa-
rênteses foram colocado como delimitadores apenas. Não coloque eles
no script.
74
para
( | awk '/^p/{print $2}' |sed 's/:i386//g' )
75
Se o "libvpb0" for instalada, você pode ser solicitado a digitar o seu
código de chamada do país. Lembrando que o nosso é "55". Neste site
tem todos os códigos telefônicos do mundo “http://www.codigos-
telefonicos.com.ar”.
76
Agora vamos instalar os códigos fontes adicionais do repositório do
Red Hat, Fedora ou CentOS. Este processo é automatizado pelo co-
mando a seguir. Isto potencialmente via instalar Broadcast Network
Sound, libresample, Jansson, libsrtp e pjproject.
# ./contrib/scripts/install_prereq install-unpackaged
Se tudo ocorrer bem, você deve obter em arte ASCII o logotipo do As-
terisk:
77
Certifique-se que os módulos que você quer estão habilitados.
# make menselect
78
Capítulo 05 – Imagem 0505
79
Você deverá receber uma mensagem de que a compilação foi completa-
da com sucesso.
80
# make samples
Está feito!
# chkconfig asterisk on
# chown asterisk. /var/run/asterisk
# chown -R asterisk. /etc/asterisk
# chown -R asterisk. /var/{lib,log,spool}/asterisk
# chown -R asterisk. /usr/lib64/asterisk
# chown -R asterisk. /var/www/
81
Configurando o Apache (HTTPD) para o Asterisk
# ls -lua /var/run/asterisk/
total 0
drwxr-xr-x 2 asterisk asterisk 40 Jul 5 14:42 .
drwxr-xr-x 33 root root 1000 Jul 5 12:56 ..
Falta pouco!
Edite o arquivo asterisk.conf em /etc/asterisk/asterisk.conf
E faça as alterações abaixo relacionadas:
# vim /etc/asterisk/asterisk.conf
[files]
astctlpermissions => 775
astctlgroup => asterisk
82
E adicione estas linhas:
/var/log/asterisk/queue_log
/var/spool/mail/asterisk
/var/log/asterisk/messages
/var/log/asterisk/event_log
/var/log/asterisk/full {
weekly
missingok
rotate 5
notifempty
sharedscripts
create 0640 asterisk asterisk
postrotate
/usr/sbin/asterisk -rx 'logger reload' > /dev/null 2> /dev/null ||
true
endscript
}
Inicialize o DAHDI
# /etc/init.d/dahdi start
83
*CLI> module show like timing
Module Description Use Count
res_timing_timerfd.so Timerfd Timing Interface 1
res_timing_dahdi.so DAHDI Timing Interface 0
2 modules loaded
Por este momento é tudo, este eBook é contínuo! Até a próxima revi-
são técnica! Sugestões envia um e-mail para:
E-mail: [email protected].
84