Você está na página 1de 17

Conhecendo o Asterisk:

MODULO 3 - 001

Janeiro 2013 – Rio de Janeiro, Brasil Professor: Esp. Angelo de Barros Delphini

Conhecendo o Asterisk: MODULO 3 - 001 Janeiro 2013 – Rio de Janeiro, Brasil Professor: Esp.
Conhecendo o Asterisk: MODULO 3 - 001 Janeiro 2013 – Rio de Janeiro, Brasil Professor: Esp.

Estrutura de pastas

O Asterisk trabalha com as pastas que serão informadas neste momento, quando é feita a instalação padrão a partir dos códigos-fonte.

É importante conhecê-los para saber onde procurar os módulos ou ficheiros utilizados e gerados pelo sistema, assim como para melhor dimensionar o particionamento do seu sistema operativo.

Caso for alterada essa estrutura de pastas deve-se alterar no ficheiro asterisk.conf quais as pastas serão utilizadas e que correspondem as originais.

Estrutura de pastas

/etc/asterisk/: é a pasta onde são encontrados todos os ficheiros de configuração do Asterisk.

/usr/lib/asterisk/modules/: nesta pasta estão todos os módulos que englobam as APIs. Se não houver configurações no ficheiro modules.conf negando o carregamento de algum módulo, todos os módulos que estiverem na pasta /usr/lib/asterisk/modules/ serão carregados, por isso é preciso ter o cuidado de não manter backups de módulos para teste de outros. Caso o Asterisk sinta qualquer dificuldade ao carregar os módulos desta pasta o serviço não ira iniciar. Caso o módulo já esteja em execução, este não irá parar. Mas ao ser reiniciado não funcionará.

Estrutura de pastas

/var/lib/asterisk/: armazena o arquivo de base de dados do Asterisk, AstDB, e uma série de sub pastas com ficheiros que podem ser usados para apoiar alguns aplicativos do IP PBX.

/var/lib/asterisk/sounds/: pasta padrão para armazenar os ficheiros de áudio utilizados pelos aplicativos do Asterisk. Por padrão, na compilação podem ser instalados ficheiros de áudio em inglês, espanhol e francês. Também é possível colocar os áudios em português desde que se mantenham os mesmos nomes dos ficheiros do projeto Asterisk. Os ficheiros desta pasta geralmente se encontram em formato gsm por terem a mesma qualidade de chamadas telefónicas convencionais e serem ficheiros menores que outros formatos.

Estrutura de pastas

/var/lib/asterisk/moh/: pasta onde ficam os áudios de música em espera. Para cada classe configurada no ficheiro musiconhold.conf podem ser criados novas pastas dentro desta.

/var/lib/asterisk/agi-bin/: armazena os scripts AGI. São utilizados para

estender

aplicativos.

os

recursos

do

Asterisk

e

facilitar

a

integração

com

outros

/var/lib/asterisk/keys/: para garantir maior segurança é possível utilizar chaves criptografadas para autenticar extensões ou outros sistemas que utilizam DUNDi por exemplo. Nesta pasta são armazenadas essas chaves quando houver esse tipo de requisito em seu IP PBX.

Estrutura de pastas

/var/lib/asterisk/imagens/: é uma pasta pouco utilizada atualmente, pois serve apenas para armazenar imagens. No entanto, poucos dispositivos suportam a visualização de imagens. Porem se necessário no futuro esse uso se ampliar, a pasta para esse tipo de recurso já está previsto.

/var/lib/asterisk/firmware/: armazena os rmwares de dispositivos compatíveis com o Asterisk. Por padrão o rmware do IAX se encontra nele. Também raramente é utilizado; sua finalidade exata não está bem descrita.

/var/spool/asterisk/: nesta pasta são encontrados sub-pastas que armazenam ficheiros consumidos e gerados dinamicamente pelo sistema durante sua execução (voicemail e gravações por exemplo).

Estrutura de pastas

/var/spool/asterisk/monitor/: é onde são armazenadas por padrão as gravações geradas pelos aplicativos Monitor() e MixMonitor() quando o caminho completo não é passado como parâmetro.

/var/spool/asterisk/voicemail/: para cada caixa postal é gerado uma nova sub-pasta que irá conter as pastas e mensagens gravadas.

/var/spool/asterisk/outgoing/: essa pasta é constantemente monitorada pelo Asterisk para que, assim que for colocado nela um ficheiro com um padrão predefinido – chamado de calle – contendo informações de marcação, essa chamada seja imediatamente executada.

Estrutura de pastas

/var/spool/asterisk/meetme/: quando é feita a configuração para gravar

uma

armazenados.

conferência,

é

nessa

pasta

que

os

ficheiros

gerados

serão

/var/spool/asterisk/dictate/: raramente utilizada, é onde o aplicativo dictate irá procurar pelos ficheiros correspondentes quando necessário.

/var/spool/asterisk/system/: quando é utilizado o aplicativo system() para executar algum comando de dentro do plano de marcação direto do sistema operativo, é nessa pasta que são armazenadas as informações temporárias caso seja necessário.

Estrutura de pastas

/var/spool/asterisk/tmp/: guarda dados temporários gerados pelo Asterisk principalmente para fazer controle de concorrência entre aplicativos de leitura e escrita em dados que estão sendo usados.

/var/run/: contém o ficheiro com o PID (Process ID – número que identifica o processo quando em execução) que é gerado quando o Asterisk é inicializado.

/var/log/asterisk/: armazena os logs gerados pelo Asterisk. As informações que serão escritas nos logs são configuradas no ficheiro logger.conf. Existe uma sub pasta chamada /var/log/asterisk/cdr-csv/ onde fica armazenado o ficheiro Master.csv que contém os registros dos bilhetes gerados no Asterisk. Esses bilhetes também podem ser personalizados e gerados em outra sub pasta, a /var/log/asterisk/cdr-custom/.

Iniciando o Asterisk

Para a inicialização do Asterisk, basta executar:

# rasterisk –vvvvgci, na linha de comando do GNU/Linux.

O prompt deverá mudar para *CLI>. As opções mais usadas com o comando # asterisk no Linux são os seguintes: (para mais informações digite # man asterisk no prompt do Linux):

-v: indica o nível de verbose que o Asterisk irá exibir após iniciado, múltiplos v indicarão maior verbose;

-c: Inicia o Asterisk na consola. Executa o processo como utilizador e não como um daemon do sistema.

-i: Pede pelos códigos criptográficos de inicialização.

Iniciando o Asterisk

-d: ativa o modo debug;

-g: gera coredumps em caso de segmentation fault;

-G<grupo>: grupo que iniciará o Asterisk;

-r: conecta ao Asterisk que estiver sendo executado no servidor e não inicia uma nova instância.

-U<utilizador>: utilizador que iniciará o Asterisk;

-x<comando>: conecta ao Asterisk que estiver sendo executado, executa o comando passado como parâmetro, imprime o resultado na consola do Linux e fecha a conexão.

Exemplo:

# rasterisk -x “core show channels“

Iniciando o Asterisk

Com base nas informações anteriores o modo recomendado para trabalhar com o Asterisk já em produção é:

# rasterisk -vvvvgci

No centOS é possível usar o comando service para o Asterisk.

# service asterisk start

# service asterisk restart

# service asterisk stop

# service asterisk status

Estes são satisfatórios para usar em testes, mas eles interrompem o serviço, então não são apropriados para um sistema em produção.

Comandos da consola do Asterisk

*CLI>core show version: Mostra a versão do Asterisk.

*CLI>core show applications: Mostra a lista de aplicações disponíveis para serem usadas no plano de marcação do Asterisk.

*CLI>core show application <application>: Mostra a descrição e a sintaxe da aplicação especificada.

*CLI>core show channel <channel>: Mostra informações sobre o canal de comunicação especifico.

*CLI>core show translation: Mostra informações sobre o tempo de transcodificação entre os codecs habilitados no Asterisk.

Comandos da consola do Asterisk

Procedimentos para parar e reinicializar o Asterisk em produção:

*CLI>core restart gracefully: Para de aceitar novas chamadas e reinicia quando todas as chamadas tiverem terminado.

*CLI>core restart now: Reinicia o Asterisk imediatamente, encerando todas as chamadas em curso.

*CLI>core restart when convenient: Reinicia o Asterisk quando não houver nenhuma atividade.

Comandos da consola do Asterisk

Para interromper a execução do Asterisk é possível escolher entre os seguintes comandos na linha de comando:

*CLI>core stop gracefully: não permite que sejam geradas novas chamadas e espera as que estão em andamento acabarem para parar o serviço;

*CLI>core stop now: derruba o Asterisk imediatamente;

*CLI>core stop when convenient: espera o momento em que não houverem mais chamadas para interromper o serviço;

*CLI>core abort halt: opção para cancelar qualquer um dos comandos acima.

Comandos da consola do Asterisk

O ponto de exclamação é usado para executar comandos GNU/Linux externos a consola do Asterisk. Você pode também abrir um envelope do GNU/Linux dentro da consola do Asterisk.

*CLI> !

[root@pbxip~]#

Digite “exit” para retornar ao Asterisk.

Prática 001:

Proceder com as Práticas; – 02 - GSA-M3 - 001 - pratica_001;