Lomadee, uma nova espécie na web. A maior plataforma de afiliados da América Latina.

segunda-feira, maio 26, 2008

Meu primeiro terremoto em Fortaleza capital do Ceará

No dia 21 de Maio, Fortaleza tremeu. Por volta das 16:25 (GMT -03:00), o reflexo do tremor, com magnitude de 4.3 na Escala Ritcher, ocorrido na região Norte do Estado. Em seguida, outro tremor, com magnitude de 3.9, foi registrado. Segundo a UFRN, por volta de 10 tremores ocorreram naquele dia.

Eu estava com minha equipe no trabalho quando o fato ocorreu. Senti o piso tremer e confirmei com mais dois colegas que também haviam sentido. Foi uma sensação ruim, principalmente por não saber o que se passava. À noite, veio a confirmação que havia sido um terremoto em Sobral.

Segundo dados da Defesa Civil do Ceará, já chegam a 1.000 os tremores de terra registrados apenas em 2008 na região. E é muito provavel que outros terremotos de mesma intensidade ou maiores ocorram no futuro. Resta saber se as autoridades locais estarão preparadas para gerenciar uma situação destas.

quarta-feira, maio 14, 2008

Como seria o Google se você estivesse no comando?

Você certamente já jogou Banco Imobiliário, Mundo dos Negócios ou Monopólio certo? Que tal agora jogar Googolopoly, uma versão destes clássicos que tem como tema central as aquisições feitas pela Google Inc em sua tragetória pelo mundo dos negócios?

A Box.net disponibilizou a versão completa que pode ser baixada do site do Googolopoly gratuitamente. Imprima o material e boa diversão.



Quem sabe adquirir o Yahoo! agora que a Microsoft retirou sua oferta de compra ou levar à frente a proposta de aquisição da Skype do eBay?

Você pode também jogar o velho e bom Monopoly online neste site e se divertir a valer.

sexta-feira, maio 02, 2008

Asterisk com MFC/R2 - OpenR2

Durante muito tempo, manter um servidor Asterisk utilizando links de telefonia com sinalização MFC/R2 era uma dor de cabeça para qualquer um que fosse responsável pelo sistema.

A única solução disponível por muito tempo foi a Unicall desenvolvida pelo Steve Underwood, um conjunto de bibliotecas e um channel driver para Asterisk, com dependências complexas entre suas versões. Não era simples manter um sistema com esta solução, e, era comum problemas com o sistema, muitas vezes, tornnando-o indisponível.

Eis que há umas três semanas, estava discutindo sobre o assunto no #asterisk-br e resolvi baixar a última versão do código do Steve para criar pacotes de simples instalação e manutenção para aqueles que dependem desta sinalização (MFC/R2). Após algum tempo analisando o código, e consultando informações no Google, me foi inidicado o pacote mantido pelo Moisés Silva, o qual rapidamente baixei para verificar.

Instalei-o em um sistema de testes e senti a necessidade de atualizar alguns componentes, e eis que me veio o problema das depenências entre as versões das diversas bibliotecas que compõem a Unicall.

Parei um pouco para consultar o andamento da solução de um bug junto ao Mantis da Digium e me surpreendi com um patch implementando uma nova feature no chan_zap/chan_dahdi, essa feature era o suporte a MFC-R2 tão esperado por muitos administradores de sistemas Asterisk que utilizam esta sinalização.

A solução proposta pelo Moisés Silva é genérica, composta de um patch ao chan_zap.c e uma biblioteca de sinalização chamada OpenR2. Li as instruções no blog e no Mantis, baixei os sofwares e iniciei os testes. Em pouco tempo, construi um SPEC para criar um pacote RPM da biblioteca, compilei e instalei o Zaptel e o Asterisk com o patch, configurei a placa e magicamente tudo funcionou (após algumas debug sessions com o Moisés Silva). Realizei e receber chamadas e faxes sem nenhum problema.

Ficou curioso para testar a solução? Então, lance mão de um link com sinalização MFC/R2, uma placa de telefonia compatível com o Zaptel e siga os passos descritos abaixo para ter seu sistema em funcionamento. O guia abaixo é para o Asterisk 1.6, que ainda não é estável o suficiente para produção. Estão disponóveis patch's e pacotes do Asterisk 1.2 e 1.4 com suporte a OpenR2, mais seguro para servidores em produção. Muito provavelmente, o suporte a MFC/R2 estará disponível nativamente no Asterisk 1.6.1, isto vai depender apenas do retorno dado por todos aqueles que estão testando a solução.

Instalando o Asterisk com MFC/R2 utilizando a OpenR2

Uma versão atual do DAHDI (ou Zaptel) será suficiente, você poderá usar a branch 1.4, para tanto, basta realizar um checkout, configurar e instalar como mostrado abaixo:

svn co http://svn.digium.com/svn/zaptel/branches/1.4 zaptel
cd zaptel
./configure
make
make install
make config

Uma vez instalado este pacote de software, vamos baixar a OpenR2, compilar e instalar. Se não for hackaer esta biblioteca, instale o pacote (pré-)release:

OpenR2 via pacote de (pré-)release

wget -c http://openr2.googlecode.com/files/openr2-1.0.0-rc1.tar.gz
tar zxvf openr2-1.0.0-rc1.tar.gz
cd openr2-1.0.0-rc1
./configure
make
make install


OpenR2 via SVN

svn checkout http://openr2.googlecode.com/svn/trunk/ openr2
cd openr2
./configure
make
make install


Instale a LibPRI em seu sistema, de forma a completar dependências do Asterisk.

svn co http://svn.digium.com/svn/libpri/branches/1.4 libpri
cd libpri
./configure
make
make install

Chegou a hora de instalar o Asterisk, e para isto, precisaremos da branch onde o desenvolvimento do suporte à MFC/R2 está ocorrendo. Lembre-se de que as dependências padrões do Asterisk precisam estar disponíveis no sistema.

svn co http://svn.digium.com/svn/asterisk/team/moy/mfcr2 asterisk
cd asterisk
./configure
make
make install
make samples

Se você chegou aqui sem problemas, significa que seu sistema já possui suporte a MFC/R2 e é hora de testar e reportar sucessos ou falhas no Mantis. Para isto, precisaremos configurar quatro arquivos, considerando um link MFC/R2 Embratel de 30 canais, são eles: zaptel.conf, logger.conf, zapata.conf e extensions.conf

/etc/zaptel.conf

loadzone = br
deafultzone =br

span=1,1,0,cas,hdb3
cas=1-15:1101
cas=17-31:1101
dchan=16


/etc/asterisk/logger.conf

console => notice,warning,error,debug

/etc/asterisk/zapata.conf

[trunkgroups]

[channels]
usecallerid=yes
callwaiting=yes
usecallingpres=yes
callwaitingcallerid=yes
threewaycalling=yes
transfer=yes
canpark=yes
cancallforward=yes
callreturn=yes
echocancel=yes
echocancelwhenbridged=yes

signalling=mfcr2
mfcr2_variant=br
mfcr2_get_ani_first=no
mfcr2_max_ani=20
mfcr2_max_dnis=4
mfcr2_category=national_subscriber
mfcr2_logdir=span1
mfcr2_logging=all

context=embratel
group=0
callgroup=0
pickupgroup=0
channel => 1-15
channel => 17-31


/etc/asterisk/extensions.conf


[embratel]

exten => _XXXX,1,Answer()
exten => _XXXX,2,Dial(SIP/1000,,T)
exten => _XXXX,3,Hangup()

exten => _XXXXXXXX,1,Dial(Zap/g0/${EXTEN},,T)
exten => _XXXXXXXX,n,Congestion()
exten => _XXXXXXXX,n,Hangup()

exten => _0800.,1,Dial(Zap/g0/${EXTEN},,T)
exten => _0800.,n,Congestion()
exten => _0800.,n,Hangup()

Carrege os módulos do DAHDI (Zaptel) e sua placa de telefonia, execute a verificação da configuração (ztcfg -f), inicie o Asterisk, conecte no console e realize testes de recepção e realização de ligaões. Reporte o sucesso ou falhas com detalhes do ambiente (e logs quando em falhas). No console do Asterisk, veja o comando mfcr2 e seus subcomandos para obter mais detalhes sobre o estado atual do seu sistema.

Onde relatar sucessos ou falhas?

http://bugs.digium.com/view.php?id=12509

Onde obter ajuda?

#asterisk-br em irc.freenode.net

Qual o site do projeto?

http://www.libopenr2.org/

Onde acho os arquivos Spec para construir RPM's

http://people.debian-ce.org/skarmeth/arquivos/libopenr2.spec
http://people.debian-ce.org/skarmeth/arquivos/asterisk.spec