TOP

Novidades do Asterisk 10 Beta 01

Tradução livre.

Fonte: http://blogs.digium.com/2011/07/22/asterisk-10-beta-1/

Na sequencia do anúncio de Kevin Fleming ontem que discute as mudanças no esquema de versionamento Asterisk, gostaríamos de anunciar formalmente que o Asterisk 10,Beta 1 já está disponível para testes para a comunidade. O Asterisk 10, um lançamento Standard, será a próxima versão do Asterisk e segue o lançamento doAsterisk 1,8 LTS, um lançamento LTS. Para mais informações sobre os diferentes versões do Asterisk, confira a página Versões do Asterisk na Wiki.

Vamos falar sobre algumas de suas novas capacidades.

Um dos pontos principais do ciclo de desenvolvimento Asterisk 10 foi o suporte do Asterisk para tipos de mídia. Em versões do 1,8 Asterisk e anteriores, o Asterisk suportou um número bastante limitado de codecs devido a algumas limitações de arquitetura. O encanamento foi arrancado, cozinhas foram remodeladas, vigas foram trocadas, e o Asterisk 10 agora tem uma arquitetura de mídia que é capaz de manipular um número quase ilimitado de codecs, assim como os codecs com parâmetros mais complexos. O que isso significa para os usuários?

Em primeiro lugar, isso significa que o Asterisk agora vem com alguns codecs adicionais, incluindo a variante 32kHz do codec Speex (versões anteriores do Asterisk só suportou a 8kHz ou 16kHz), o codec SILK Superwideband do Skype, e suporte para pass-through para as variantes de 44.1kHz e 48kHz  do formato CELT.

Leitores atentos irão notar que as versões anteriores do Asterisk só eram capazes de operar em amostragens de áudio  de 8kHz e 16kHz, e que os referidos recém-suportados codecs operam em outras taxas que estes. Você está absolutamente correto. A fim de suportar esses novos codecs, o Asterisk 10 também foi equipado com suporte para uma variedade de taxas de amostragem super e ultra-wideband, os quais são suportados como tipos de formato de arquivo para reprodução de arquivos ou gravação.

Uma das melhores maneiras de mostrar a maior capacidade de mídia é com uma aplicação de conferência totalmente nova. O Asterisk 10 apresenta uma aplicação de conferência totalmente funcional chamada ConfBridge. Leitores atentos irão notar  mais uma vez que o ConfBridge foi primeiramente disponibilizado na versão 1.6 do Asterisk. Mais uma vez você está correto.

Mas, o ConfBridge de outrora só foi capaz de operar a 8kHz (ou 16kHz com uma opção em tempo de compilação). O ConfBridge de hoje (Asterisk 10), suporta uma gama completa de taxas de amostragem (8, 12, 16, 24, 32, 44,1, 48, 96 e 192 kHz) para os seus participantes – ele seleciona automaticamente a melhor taxa de amostragem com base no codec nativo de cada participante. Além disso, o ConfBridge fornece muito mais controle sobre menus interativos (customizável numa base por-DTMF e por-Caller)  por-perfis de usuários, bem como a criação de dinâmica de conferências.

Falando de exibicionismo, que melhor maneira de “mostrar” a capacidade do que com algum vídeo? O ConfBridge do Asterisk 10 fornece suporte básico de vídeoconferência. É isso mesmo, se você e seus amigos têm dispositivos SIP com capacidade de vídeo, onde todos falam a mesmo codec de vídeo e perfil, você pode criar conferências de vídeo. O vídeo executado de cada participante segue um usuário marcado; um usuário escolhido por DTMF, ou o mais útil, um usuário que está atualmente conversando.

Além da melhoria das capacidades de voz e vídeo, o Asterisk 10 pode também melhorar sua experiência de fax. O Asterisk 1.4 é capaz de fazer pass-through em T.38, onde um endpoint com suporte a T.38 pode enviar um fax diretamente para outro terminal com suporte a T.38 – geralmente um par de equipamentos SIP.  O Asterisk 1.6.x e 1.8 são capazes de terminação T.38, onde o Asterisk pode ler / escrever arquivos TIFF de / para endpoints T.38. Agora, com o Asterisk 10, a transparência entre um dispositivo não -T.38 e T.38 é possível, com o seu suporte  de Gateway T.38 (também conhecido como Relay T.38).

Então, se você tiver uma placa Digium E1 na PSTN, agora você pode transmitir um fax diretamente a partir da PSTN à um dispositivo SIP T.38 habilitado, sem o passo intermediário “terminação” da conversão TIFF, necessário em versões anteriores do Asterisk . Ou, se você tem um provedor SIP com suporte a T.38, e um segundo provedor SIP sem esse suporte de T.38, você pode mediar entre os dois, novamente, sem qualquer passo “terminação” intermediário. Isso significa muito mais rapidez e mais confiabilidade nos fax no Asterisk 10.

O que precisamos da comunidade?

Testes, Testes e mais testes.

Além destas grandes características, o Asterisk 10 apresenta uma série de outras mudanças importantes, muitas das quais estão escondidas. Todas estas mudanças significam que há, provavelmente, (definitivamente) alguns pedaços quebrados que a Digium não encontrou. Assim, para encontrá-los, precisamos de sua ajuda. Por favor, relate quaisquer problemas que encontrar para o issue tracker.

Novamente, por favor, reporte qualquer problema (bugs, etc) que você encontrar para o Issue Tracker.

Também é útil ver os relatórios de testes bem sucedidos. Por favor, poste-os para a lista de discussão asterisk-dev. Ou, se você usa IRC, então entre no canal # asterisk-teste na rede Freenode para que possamos trabalhar juntos em testar muitas partes do Asterisk.
Como sempre, agradecemos a sua participação.

Read More
TOP

Xen com multi bridge e LVM

O propósito

Aqui demonstro como subir um ambiente virtualizado com Xen, utilizando um servidor com quatro interfaces de rede, sendo que cada interface estará conectada a cada máquina virtual. Essa abordagem garante maior segurança e desempenho. Além disso, as máquinas virtuais serão criadas em volumes virtuais, que podem ser redimensionados de acordo com a necessidade.

O hardware

Este é o servidor da universidade onde trabalho. Obviamente que as suas configurações podem ser diferentes. Não abordarei aqui a configuração de setup nem da RAID.

  • Dell PowerEdge 2900
  • 2 x Xeon E5410 2.33Ghz QuadCore 6MB Cache L2
  • 4GB RAM DDR2 FB-DIMM 667Mhz (2 x 2GB)
  • 1 dual Ethernet Broadcom NetXtreme II BCM5708 Gigabit Ethernet (onboard)
  • 1 dual Ethernet Intel 82571EB Gigabit Ethernet
  • 2 HD Dell SAS 73 GB 15K RPM em RAID1
  • 2 Fontes redundantes 930W

(mais…)

Read More
TOP

Dansguardian não inicializa no Debian

Recentemente precisei reinstalar meu servidor PROXY e após instalar o Dansguardian este travava na inicialização durante a atualização do ClamAV. Pesquisando um pouco descobri que o problema é em uma opção do arquivo dansguardian.conf

vim /etc/dansguardian/dansguardian.conf

Procure esta seção

# OPTION: virusengine
# Set the embedded virus scan engine to be used (clamav, clamdscan, kav, aveserver, trophie, sophie).
virusengine = 'clamav'

Altere a palavra ‘clamav’ para ‘clamscan’. Note que nas opções fornecidas aparece ‘clamdscan’, mas está errado.

Após isto é só inicializar o Dansguardian.

Esta soluções foi retirada da dica do Alexandre

Read More
TOP

Resolvendo problema com os Dashlets do SugarCRM na Locaweb

Tenho uma instalação do SugarCRM hospedada na Locaweb. Tudo funciona corretamente exceto os Dashlets do Painel, que apresentam a mensagem “No Displayable Data”, mesmo tendo dados na base. No fórum deles encontrei a solução, que é a adição de uma linha de forma a alterar as permissões antes da escrita.

Edite o arquivo SugarChart.php, que fica em /include/SugarCharts e insira a linha que está em destaque.

function saveXMLFile($xmlFilename,$xmlContents) {
global $app_strings;
global $locale;
 
$xmlContents = chr(255).chr(254).mb_convert_encoding($xmlContents, 'UTF-16LE', 'UTF-8');
 
// open file
if (!$fh = sugar_fopen($xmlFilename, 'w')) {
$GLOBALS['log']->debug("Cannot open file ($xmlFilename)");
return;
}
 
// write the contents to the file
if (fwrite($fh,$xmlContents) === FALSE) {
$GLOBALS['log']->debug("Cannot write to file ($xmlFilename)");
return false;
}
chmod($xmlFilename,0644);//<=INSIRA ESTA LINHA
 
$GLOBALS['log']-&gt;debug("Success, wrote ($xmlContents) to file ($xmlFilename)");
 
fclose($fh);
return true;

Salve o arquivo e faça o upload novamente. Tudo deve funcionar corretamente.

Fonte: Fórum do SugarCRM

Read More
TOP

LTSP usando DreamLinux

Recentemente resolvi aprender de vez a como configurar um sistema de Terminais Leves com LTSP, o Linux Terminal Server Project. Achei interessante utilizar o DreamLinux para ser um servidor LTSP pelos seguintes motivos:

  • A base é Debian, 100% GPL, extremamente flexível e escalável e com uma comunidade com milhares de usuários.
  • O Projeto DreamLinux chamou não só a minha atenção, bem como a do Guto, responsável pela área técnica do Projeto Casa Brasil para o Centro Oeste e também do Rogério Fox, implementador do projeto GESAC e responsável pelo Grupo de Usuários do BROffice.org do Mato Grosso, pelo esmero dos desenvolvedores em criar uma solução leve, robusta e agradável de ser utilizada.
  • O XFCE é altamente indicado para soluções em LTSP em terminais antigos.
  • O MKDistro constitui ferramenta importantíssima para que se possa criar uma distro específica para LTSP, já com os serviços todos pré-configurados.

Quase toda a base desse tutorial teve como referência o excelente artigo do Carlos Morimoto no Guia do Hardware
A principal alteração que fiz foi substituir o inetd pelo xinetd

Não abordei a utilização do recurso de som nem no servidor, nem nos terminais pelo motivo de que esta implementação foi testada em um ambiente de biblioteca. Mas para quem desejar ter esses recursos, é só seguir a documentação do Morimoto, que tudo sairá certinho.

Vamos utilizar a base “Testing” do Debian, portanto a primeira coisa a fazer é editar o /etc/apt/sources.list
=====================================
# vim
/etc/apt/sources.list
=====================================
(eu estou acostumado com VIM, mas você pode usar o editor de sua preferência)

Altere a linha

deb http://ftp.br.debian.org/debian testing main contrib non-free

Para

deb http://linorg.usp.br/debian testing main contrib non-free

(uso o espelho da USP pois é mais rápido)

e comente o restante das linhas

Sai do vim e atualize a lista de pacotes
=====================================
# apt-get update
=====================================

Vamos utilizar o aptitude no lugar do tradicional apt-get pois ele resolve melhor as dependências
=====================================
# apt-get install aptitude
=====================================

O DreamLinux possui um utilitário para efetuar o backup das configurações antes de atualizar o sitema e depois restaurá-las quando a atualização for concluída. Rode o seguinte comando:
=====================================
# upgrade-wizard.sh
=====================================

Selecione a primeira opção, que é realizar o backup, e quando estiver concluído, atualize o sitema
=====================================
# aptitude upgrade
=====================================

Depois que o sitema  estiver atualizado rode novamente o comando
=====================================
# upgrade-wizard.sh
=====================================

e selecione a segunda opção para restaurar as configurações

O ltsp usa o serviço de tftp que deve ser configurado para inicializar não como um daemon, mas pelo inetd, economizando recursos do servidor
O DreamLinux vem com o openbsd-inetd, mas depois de alguma leitura, resolvi usar o xinetd que possui uma série de vantagens, entre elas:

  • Limitação de conexões:
    • taxa de conexões recebidas por intervalo de tempo
    • número de conexões por host
    • número de conexões por serviço
  • Controle de acesso mais sofisticado:
    • Feito pelo próprio daemon, dispensando o TCPWrappers
    • Por host, IP, domínio ou sub-rede
    • por horário
  • Controle de logs:
    • limitação do tamanho de cada arquivo de log
    • Nível de logging de cada serviço pode ser configurado de forma independente
  • Desvio de conexões
    • Um fluxo TCP pode ser redirecionado para outro host e/ou porta de forma transparente.
  • Suporte a IPv6

Além disso a configuração dos serviços é modularizada, ou seja, um arquivo para cada serviço, todos em /etc/xinetd.d/*, de forma que fica tudo muito organizado.

Desinstale o pacote openbsd-inetd
=====================================
# aptitude purge
openbsd-inetd
=====================================

Instale o xinetd
=====================================
# aptitude install
xinetd
=====================================

Instale os serviços básicos
=====================================
# aptitude install
dhcp3-server tftpd-hpa portmap nfs-common nfs-kernel-server ltsp-utils
=====================================

Como queremos que o tftpd-hpa inicialize pelo xinetd e não como um daemon, remova as entradas dele do rc.d
=====================================
update-rc.d -f tftpd-hpa remove
=====================================

Ajuste o rcconf para fazer os serviços nfs-common e nfs-kernel-server inicializarem automaticamente e desative o tftpd-hpa

=====================================
# rcconf
=====================================

Marque as seleções
[*]
nfs-common
[*] nfs-kernel-server

e desmarque
[ ] tftpd-hpa

e dê um OK

O serviço
tftpd-hpa vem desabilitado por padrão. Ative o serviço editando o arquivo tftp-hpa
=====================================
#  vim  /etc/default/tftpd-hpa
=====================================
e deixe-o como abaixo:

RUN_DAEMON=”yes”
OPTIONS=”-l -s /tftpboot”

Salve e saia do vim

Vamos agora instalar o ltsp propriamente dito. Nós poderíamos utilizar o ltspadmin e instalar pela rede, mas além de demorado, caso algo saia errado você terá que começar tudo do zero. Portanto vamos primeiro baixar a imagem .iso, montá-la e utilizá-la como fonte de instalação

Baixe a imagem iso do site do ltsp.org
=====================================
# wget http://ltsp.mirrors.tds.net/pub/ltsp/isos/ltsp-4.2u2-0.iso
=====================================

O arquivo tem cerca de 100MB, então vai demorar um pouco, dependendo da sua conexão
Crie um diretório para montar a imagem e monte com os comandos
=====================================
# mkdir /mnt/ltsp
# mount -o loop l
tsp-4.2u2-0.iso /mnt/lstp
=====================================

Rode o configurador do LSTP
=====================================
# ltspadmin
=====================================

Selecione a segunda opção “Configure the installer options” e configure de acordo com o que está abaixo

Where to retrieve packages from?
file:///mnt/lstp

In which directory would you like to place the LTSP client tree?
/opt/ltsp

A não ser que você esteja sob um proxy, a terceira e quarta opções podem ser ignoradas

Pressione “y” para aceitar as alterações. Isso fará voltar para a tela inicial do configurador.
Selecione agora a primeira opção “Install/Update LTSP Packages”
Pressione “a” para selecionar todos os componentes e depois “q” para sair e iniciar a instalação
Quando concluir a instalação, o configurador voltará à tela inicial, então pressione “q” para sair do configurador

Com isso a instalação do lstp está concluída, mas ainda faltam as configurações
Vamos contar com a ajuda do Morimoto que disponibilizou alguns modelos de configurações
Acesse http://www.guiadohardware.net/kurumin/modelos/kurumin-terminal-server/4.2/ e baixe os seguinte modelos:

  • dhcpd.conf
  • exports
  • hosts
  • hosts.allow
  • lts.conf


Faça backup dos arquivos originais copie os arquivos modelos
=====================================
# mv /etc/dhcp3/dhcpd.conf /etc/dhcp3/dhcpd.conf.old
# cp -f dhcpd.conf /etc/dhcp3/dhcpd.conf
# mv /etc/exports /etc/exports.old
# cp -f exports /etc/exports.conf
# mv /etc/hosts /etc/hosts.old
# cp -f hosts /etc/hosts
# mv /etc/hosts.allow /etc/hosts.allow.old
# cp -f hosts.allow /etc/hosts.allow
# cp -f lts.conf /opt/ltsp/i386/etc/lts.conf
=====================================

Edite os arquivos de acordo com as características da sua rede

dhcp.conf
=====================================
# vim /etc/dhcp3/dhcp.conf
=====================================
Este arquivo está muito bem comentado pelo Morimoto, e não tem nenhum segredo. Na seção “group” basta alterar o endereço MAC e IP de cada terminal

exports
=====================================
# vim /etc/exports
=====================================
Aqui também é tranquilo, bastando alterar sub-rede e máscara

hosts
=====================================
# vim /etc/hosts
=====================================
Basta alterar a sub-rede e tomar o cuidado com a primeira linha. Ela DEVE conter o nome de host do seu servidor.

hosts.allow
=====================================
# vim /etc/hosts.allow
=====================================
Aqui é só a sub-rede mesmo.

lts.conf
=====================================
# vim /opt/ltsp/i386/etc/lts.conf
=====================================
Este arquivo fui muito bem comentado pelo Morimoto, inclusive explicando os parâmetros para habilitar o acesso aos dispositivos locais

xinetd
O xinetd funciona de maneira modular, com um arquivo de configuração para cada serviços, todos em /etc/xinetd.d/
Crie um arquivo para o serviço tftpd-hpa
=====================================
# vim /etc/xinetd.d/tftpd-hpa
=====================================

e cole o seguinte conteúdo nele
=====================================echo ‘user_allow_other’ > /etc/fuse.conf
service tftp
{
disable = no
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot -r blksize
}
=====================================

Salve, saia e reinicie os serviços
=====================================
# /etc/init.d/xinetd restart
# /etc/init.d/dhcp3-server restart
# /etc/init.d/portmap restart
# /etc/init.d/nsf-common restart
# /etc/init.d/nsf-kernel-server restart
=====================================

Para dar suporte aos dispositivos locais, devemos instalar o pacote ltsp-server-pkg-debian_0.1_i386.deb. Porém, ele foi criado para o Debain Sarge, causando um erro de dependência se for instalado. Para solucionar iso, o Morimoto disponibilizou um pacote fuse-source.deb, que resolve essa dependência
=====================================
# wget http://www.guiadohardware.net/kurumin/download/fuse-source.deb
# dpkg -i fuse-source.deb
# dpkg -i ltsp-server-pkg-debian_0.1_i386.deb
# aptitude install fuse-utils libfuse2 libx11-protocol-perl
=====================================

Carregue o módulo fuse e configure para carregar no boot
=====================================
#
modprobe fuse
# echo ‘fuse’ >> /etc/modules
# echo ‘user_allow_other’ > /etc/fuse.conf
=====================================

Para que cada usuário possa acessar os dispositivos locais, ele deve ser membro do grupo “fuse”
Execute os passos a seguir para fazer isso
=====================================
# cd /home
# for i in *; do adduser $i fuse; done

=====================================

Configure o GDM para aceitar sessões remotas

Abra o Painel de Controle do DreamLinux e vá em “Janela de Login”
Clique na aba “Remoto” e no campo “Estilo”, selecione “O mesmo que local”
Em “Mensagem de boas vindas” você pode personalizar sua mensagem selecionando “Adaptado”
Clique no botão “Configurar XDMCP…”
Marque a caixa “Honrar pedidos indiretos”
No ítem “Telas gráficas por máquina” coloque 1
No ítem “Intervalo entre pings” coloque 5

Depois das alterações efetuadas, reinicie o serviço GDM
=====================================
# /etc/init.d/gdm restart
=====================================

Agora é só configurar o seu xfce para esconder ítens que você  julgue desnecessários em um ambiente LTSP

Referências:
Guia do Hardware
Home Page do Laureano
DreamLinux Forum
Projeto LTSP

Read More