Como instalar o Asterisk® SCF™ 16 no RHEL8/CentOS 8



O Asterisk® SCF™ é uma implementação de software baseada em CLI de um PBX (Private Branch Exchange). Em conjunto com interfaces de hardware de telefonia e aplicativos de rede adequados, o Asterisk® SCF™ é usado para estabelecer e controlar chamadas telefônicas entre terminais de telecomunicações, como aparelhos telefônicos habituais, destinos na rede telefônica pública comutada (PSTN) e dispositivos ou serviços de voz sobre Internet Protocol, dentro das Redes de Computadores, seja, LAN, WAN ou a Mundial (W3C- WWW/VoIP/ToIP/GoIP/TDMoIP). Seu nome deriva do símbolo asterisco (*) de um sinal usado na discagem por tom múltiplo (DTMF). Neste guia detalhado, você aprenderá como instalar o Asterisk® SCF™ 16 no RHEL 8/CentOS 8.

Clique aqui para ver os recursos disponíveis no Asterisk® SCF™.

Etapa 1: Instalar o Repositório EPEL 8

Antes de continuar neste artigo, atualize seu sistema:
# dnf update -y

Execute o comando abaixo para instalar o EPEL Release 8
# dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm -y

Etapa 2: Desativar o SELinux

Abra o arquivo /etc/SELinux/config usando o comando abaixo e modifique uma linha de SELINUX=enforcing para SELINUX=disabled
# vim /etc/selinux/config
Em seguida, salve as alterações e saia (Tecla ESC + : + x = Esc :x).


Agora reinicie sua máquina
# reboot

Etapa 3: Instalar Dependências

Instale as ferramentas de desenvolvimento de software e outras dependências necessárias para executar o Asterisk® SCF™ usando os seguintes comandos.
# dnf groupinstall "Development Tools" -y
# dnf install git wget net-tools sqlite-devel psmisc ncurses-devel libtermcap-devel newt-devel libxml2-devel libtiff-devel gtk2-devel libtool libuuid-devel subversion kernel-devel kernel-devel-$(uname -r) crontabs cronie-anacron -y

Etapa 4: Compilar e Instalar JANSSON

Jansson é uma biblioteca C, é usada para codificar/decodificar e manipular dados JSON. execute os comandos abaixo para instalá-lo.
# cd /usr/src/
# git clone https://github.com/akheron/jansson.git
# cd jansson
# autoreconf -i
# ./configure --prefix=/usr/
# make && make install

Etapa 5: Compilar e Instalar PJSIP

O PJSIP é uma biblioteca de comunicação multimídia gratuita e de código aberto, escrita na linguagem C, implementando protocolos baseados em padrão, como SIP, SDP, RTP, STUN, TURN e ICE. Ele combina o protocolo de sinalização (SIP) com a rica estrutura multimídia e a funcionalidade de passagem NAT na API de alto nível que é portátil e adequada para praticamente qualquer tipo de sistema, desde desktops, sistemas embarcados a aparelhos móveis.

Execute o seguinte comando para instalar o PJSIP
# cd /usr/src/
# git clone https://github.com/pjsip/pjproject.git
# cd pjproject
# ./configure CFLAGS="-DNDEBUG -DPJ_HAS_IPV6=1" --prefix=/usr --libdir=/usr/lib64 --enable-shared --disable-video --disable-sound --disable-opencore-amr
# make dep
# make
# make install
# ldconfig

Etapa 6: Instalar e Configurar o Asterisk®  SCF™

Todas as dependências estão instaladas e o 
Asterisk® SCF™ está pronto para instalação.
# cd /usr/src/
# wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-16-current.tar.gz
# tar xfz asterisk-16-current.tar.gz
# rm -f asterisk-16-current.tar.gz
# cd asterisk-16*/

Instale os pacotes libedit usando os comandos abaixo:
# dnf install https://rpmfind.net/linux/fedora/linux/releases/29/Everything/x86_64/os/Packages/l/libedit-3.1-24.20170329cvs.fc29.x86_64.rpm -y
# dnf install https://rpmfind.net/linux/fedora/linux/releases/29/Everything/x86_64/os/Packages/l/libedit-devel-3.1-24.20170329cvs.fc29.x86_64.rpm -y

Configuração do Asterisk® SCF™
# contrib/scripts/Install_prereq Install
# contrib/scripts/Install_prereq Install-unpackaged
# ./configure --libdir=/usr/lib64

Etapa 7: Configurar as opções do Asterisk®  SCF™ Module e Build Option Selection

Defina as opções de menu do Asterisk® SCF™ usando o seguinte comando, você também pode selecionar as opções desejadas.

Aqui você usará as teclas de seta (Cima, Baixo, Direita e Esquerda) para navegar e a tecla Enter para selecionar a opção desejada. A opção selecionada será marcada com o símbolo *.

# make menuselect

1 => Selecione “app_macro” na seção Aplicativos (Applications).


2 => Em Complementos (Add-ons), selecione "chan_ooh323" e "format_mp3"


3 => Em Pacotes principais de som (Core Sound Packages), selecione os seguintes formatos de áudio.
  • CORE-SOUNDS-EN-ULAW
  • CORE-SOUNDS-EN-ALAW
  • CORE-SOUNDS-EN-GSM
  • CORE-SOUNDS-EN-G729
  • CORE-SOUNDS-EN-G722
  • CORE-SOUNDS-EN-SLN16
  • CORE-SOUNDS-EN-SIREN7
  • CORE -SOUNDS-EN-SIREN14

4 => Para Música em espera (Music On Hold), selecione os seguintes módulos mínimos:
  • MOH-OPSOUND-WAV
  • MOH-OPSOUND-ULAW
  • MOH-OPSOUND-ALAW
  • MOH-OPSOUND-GSM

5 = > Em Pacotes de Som Extra (Extra Sound Packages), selecione como mostrado abaixo
  • EXTRA-SOUNDS-EN-WAV
  • EXTRA-SOUNDS-EN-ULAW
  • EXTRA-SOUNDS-EN-ALAW
  • EXTRA-SOUNDS-EN-GSM

Em seguida, salve e saia.

Etapa 8: Criar (Build) e Instalar (Install) o Asterisk®  SCF™

Baixe a biblioteca de decodificadores de mp3 na árvore de origem e construa (Build) o Asterisk® SCF™.
# contrib/scripts/get_mp3_source.sh
# make
# make install
# make samples
# make config
# ldconfig

Etapa 9: Criar usuário "asterisk" e iniciar o Asterisk®  SCF™

Crie um grupo e usuário para os serviços do Asterisk® SCF™ e atribua permissões apropriadas usando os seguintes comandos:
# groupadd asterisk
# useradd -r -d /var/lib/asterisk -g asterisk asterisk
# usermod -aG audio,dialout asterisk
# chown -R asterisk.asterisk /etc/asterisk /var/{lib,log,spool}/asterisk /usr/lib64/asterisk

Defina o usuário padrão do 
Asterisk® SCF™:
edite o arquivo /etc/sysconfig/asterisk usando o comando abaixo:
# vim /etc/sysconfig/asterisk
e adicione as linhas abaixo neste arquivo.
AST_USER="asterisk"
AST_GROUP="asterisk"
Em seguida, edite o arquivo /etc/asterisk/asterisk.conf usando o comando abaixo.
# vim /etc/asterisk/asterisk.conf
e adicione as linhas abaixo neste arquivo.
runuser = asterisk ; The user to run as.
rungroup = asterisk ; The group to run as.

Etapa 10: Configurar os serviços do Asterisk®  SCF™

Agora reinicie o serviço 
Asterisk® SCF™ e ative-o na inicialização
# systemctl restart asterisk
# systemctl enable asterisk
# systemctl status asterisk

Verifique se você pode se conectar ao Asterisk® SCF™ *CLI> executando o comando abaixo:
# rasterisk -vvvvgci

Se você entrou na tela acima, parabéns! você tem acesso ao Asterisk® SCF™ no RHEL 8/CentOS 8.

Deste ponto em diante, você está pronto para avançar em seus estudos com o livro Asterisk Guia Definitivo - Telefonia de código aberto para empresas. Um livro excelente para você que está entrando neste mundo de Telefonia IP ou que já está nele! 

OBS: Este artigo cobre as paginas de 53 a 63 do capitulo 3 - Instalando o Asterisk, logo não execute nada destas paginas caso tenha seguido este artigo. Qualquer dúvida venha fazer parte da comunidade Asterisk Brasil Community no Telegram. Aguardamos você!



Toda vez que um homem supera os reveses, torna-se mentalmente e espiritualmente mais forte!

Tecnologia do Blogger.