quarta-feira, 20 de agosto de 2008

Novo esquema de ícones de rede para o Dia

Saiu na BR-Linux: Diagramas: novo esquema de ícones de rede para o Dia. Trabalho do Thiago Ribeiro. O link original é no blog do Thiago. Pra quem usa o Dia para elaborar diagramas de rede, fluxogramas, etc, é uma boa opção. Eu instalei e gostei. Vale a pena conferir.

Slide da palestra no I Encontro Fortium de Software Livre

No dia 16 de agosto, na Faculdade Fortium, em Brasília, foi realizado o I Encontro Fortium de Software Livre e Dia D 2008. Ministrei a palestra "Asterisk: evolução da tecnologia de telefonia - VoIP". Conforme falei na palestra, o slide da apresentação encontra-se disponível aqui.

Mais uma vez sou grato ao Prof. João Eriberto Mota Filho pelo convite, à organização do evento e à todos os participantes.

Felipe Neuwald.

segunda-feira, 14 de abril de 2008

Música

Tem algum tempo que eu não escrevo aqui. As atividades profissionais, pessoais, familiares, etc, estão exigindo um bom tempo. Que bom.

Através de algumas buscas no google e dos emails enviados por alguns amigos, resolvi publicar alguns sites interessantes que tratam do assunto música.

1. Os 100 maiores discos da música brasileira. Publicação da revista Rolling Stones, edição brasuca.
2. Uau! Mapa mental musical! O Musicovery é quase isso. Escolha o gênero, tipo, época... e divirta-se.
3. O YouTorrent é um sistema de busca em sites de busca de arquivos torrent. Bom lugar para iniciar a pesquisa de um álbum ou música.
4. Acervo Origens. Ponto pra Cacai Nunes, Violeiro, Compositor, Forrozeiro, Produtor e Blogueiro. Viagem obrigatória para o pesquisador da boa música brasileira.

É isso. Aí tem material suficiente para um entretenimento digital saudável e interessante. Divirta-se!

quinta-feira, 7 de fevereiro de 2008

Arquivo Super Interessante

A revista Super Interessante liberou, para leitura e consulta, todo o conteúdo das edições antigas da revista, de 1988 à 2006. Confira: http://super.abril.com.br/super2/superarquivo/.

sábado, 24 de novembro de 2007

Baú

Mexer no baú das coisas antigas é bom de vez em quando. É bom que aquelas coisas que você pensava que seriam super úteis algum dia, e na verdade você nunca precisou delas, vão para a reciclagem, e outras que você não esperava encontrar, encontra e trazem boas lembranças. Aí uma boa lembrança:

A história desse desenho é bastante interessante. Em janeiro de 2006, em Caracas, na Venezuela, durante o Fórum Social Mundial, eu estava caminhando no Teatro Teresa Carreño, quando vi uns desenhos parecidos com as pinturas do Pablo Amaringo, um xamã peruano. Parei para conversar com a pessoa que estava vendendo os desenhos - que não eram do Pablo Amaringo. Coincidência, simplesmente pelo acaso, não existe. Eu penso assim. A guria que estava vendendo os desenhos é uma cearense, que, na época, estava cursando um curso na Universidade de Rio Grande / RS, e, morava na praia do Cassino, na cidade de Rio Grande. Já morei em Rio Grande, e na praia do Cassino. No meio do Teatro Teresa Carreño, quase que em um formigueiro de gente, encontrei uma pessoa que tinha amigos em comum. Interessante né? :-)

Pra mim esse desenho é uma representação do pensamento de que uma nova sociedade, um novo mundo é possível, onde os valores fundamentais sejam a fraternidade humana, a igualdade, a justiça. Esse mundo, meus caros amigos, não começa lá fora, não depende de fulano ou beltrano, etc. Esse mundo é possível e começa por nós mesmos. A peleja é longa, e no fim, é só você contra você mesmo. Estique-se. :-)



Este desenho foi feito por indígenas zapatistas no sul do México, em Chiapas.

Clique aqui para baixar o desenho em alta resolução, formato TIF, tamanho 2231x3061 pixels (19,6 Mb).

Clique aqui para baixar o desenho em alta resolução, formato JPG, tamano 2231x3061 pixels (6,9 Mb).

segunda-feira, 12 de novembro de 2007

Slide da Palestra no II Encontro VoIPCenter & Asterisk On-Line 2007

Nos dias 6, 7 e 8 de novembro, no Palácio de Convenções Anhembi, em São Paulo, foi realizado o II Encontro VoIPCenter & Asterisk On-Line 2007. O evento foi muito interessante. Através das palestas e apresentações, foi possível conhecer experiências e vivências bem interessantes na área de VoIP e Asterisk. Também, foi um espaço bem interessante para conhecer novas pessoas, fazer contatos, e rever os amigos antigos. Vale a pena ir no próximo ano novamente.

No dia 8, palestrei à respeito de "Conceitos de Asterisk e como explorar seus recursos". O slide da apresentação está disponível aqui.

Sou grato pela presença de todos que participaram da apresentação, e à organização do evento.

Felipe Neuwald.

quinta-feira, 27 de setembro de 2007

o3 magazine

"o3 é uma publicação eletrônica gratuita distribuída em formato PDF. o3 é publicada utilizando exclusivamente software open source. O foco da o3 é no uso de software livre e de código aberto (FOSS - Free and Open Source Software) em ambientes de negócios e empresariais."

Esta é a tradução da introdução descrita na página da o3 magazine, www.o3magazine.com. Material de boa qualidade. Recomendo.

terça-feira, 18 de setembro de 2007

Aonde estão os DNS root servers? Veja no Google Maps

Alex Soares de Moura enviou para a lista GTS-L (Grupo de Trabalho em Segurança de Redes do NIC.br) uma reportagem no site CircleID à respeito da localização geográfica dos servidores DNS raiz (DNS root servers). Para ver a reportagem, clique aqui, e para ir diretamente para o mapa de localização, clique aqui.

terça-feira, 11 de setembro de 2007

Slide da Palestra no V Encontro Nacional LinuxChix-BR

No dia 8 de setembro, ministrei a palestra "Asterisk: VoIP e Software Livre" no V Encontro Nacional LinuxChix-BR, no Instituto de Educação Superior de Brasília (IESB). O slide da palestra está disponível aqui.

Mais uma vez sou grato pela presença de todos que participaram da palestra e à coordenação do evento.

Felipe Neuwald.

quinta-feira, 23 de agosto de 2007

ATUALIZAÇÃO: Asterisk + Sinalização MFCR2 (spandsp + libsupertone + libunicall + libmfcr2)

A versão do Asterisk utilizada na documentação "Asterisk + Sinalização MFCR2 (spandsp + libsupertone + libunicall + libmfcr2)" é a versão 1.2.16. Resolvi fazer um upgrade do sistema, utilizando a versão 1.2.24 do Asterisk e a versão 1.2.7 do Asterisk-addons. Para documentação: a solução utilizando a documentação "Asterisk + Sinalização MFCR2 (...)" funcionou perfeitamente utilizando as versões 1.2.24 do Asterisk e 1.2.7 do Asterisk-addons.

Felipe Neuwald.

sexta-feira, 10 de agosto de 2007

Slide da Palestra na Semana Acadêmica de Sistemas da Informação da Faculdade Projeção

No dia 8 de agosto, ministrei a palestra "FreeBSD: principais características" na Semana Acadêmica de Sistemas da Informação da Faculdade Projeção. Foi a mesma palestra ministrada no II ESLIF. O slide da palestra encontra-se disponível (aqui).

Novamente sou grato pela presença e participação dos presentes, e também à coordenação do evento pelo convite.

Felipe Neuwald.

segunda-feira, 9 de julho de 2007

Slides das Palestras no II ESLIF

No dia 7 de Julho, ministrei duas palestras no 2o Encontro de Software Livre do Instituto Superior Fátima (II ESLIF), em Brasília.

A primeira palestra foi à respeito de FreeBSD, com o título "FreeBSD: principais características", e com o seguinte resumo: Introdução ao sistema operacional FreeBSD, suas principais características e comparação com outros sistemas operacionais, além da introdução das novidades de desenvolvimento do sistema operacional.

A segunda palestra, foi à respeito de VoIP e Asterisk, com o título "Asterisk: VoIP e Software Livre", com o seguinte resumo: Apresentação dos conceitos de VoIP e do projeto Asterisk. Detalhamento de projetos e soluções envolvendo Asterisk. Apresentação de ambiente real em produção, com exemplos práticos, demonstrando a tecnologia envolvendo VoIP, GNU/Linux, Asterisk e outros softwares livres funcionando sistemicamente integrando a solução.

Os slides das palestras encontram-se disponíveis em:
- FreeBSD: principais características (aqui)
- Asterisk: VoIP e Software Livre (aqui)

Sou grato pela presença e participação dos presentes e também à organização do evento.

Felipe Neuwald.

sexta-feira, 6 de julho de 2007

Aquecedor Solar Composto de Embalagens Descartáveis

Lavoisier disse: “Na natureza nada se perde, nada se cria, tudo se transforma.” Estar ligado à esse princípio da transformação da energia é fundamental para uma melhor compreensão do universo. A conscientização desse princípio nos leva a examinar mais profundamente as coisas que podemos fazer no dia-a-dia para transformar, melhorar, as coisas que estão ao nosso redor e nós mesmos. José Alcino Alano e sua Família fizeram um manual chamado “Manual Sobre a Construção e Instalação do Aquecedor Solar Composto de Embalagens Descartáveis (Lixo Vira Água Quente)”. A inteligência deste processo está na simplicidade. Idéias simples como essas são responsáveis por grandes transformações.

Segue o link do manual: http://josealcinoalano.vilabol.uol.com.br/manual.htm.

Parabéns a José Alcino Alano e sua Família.

domingo, 10 de junho de 2007

Domingo à noite: alguns links

Alguns links interessantes para a semana. Monitoramento com SNMP e RRDTool no FreeBSD, proxy transparente com squid e PF, filtro de rede por sistema operacional, aplicativos de ciência para GNU/Linux e o projeto WARTA (Wireless Authentication, Routing, Traffic control and Accounting).

* Using SNMP and RRDTool on FreeBSD: http://silverwraith.com/papers/freebsd-snmp.php

* Transparent proxying with squid and pf: http://www.benzedrine.cx/transquid.html

* Network Filtering by Operating System: http://www.onlamp.com/pub/a/bsd/2006/02/16/os_fingerprint_filtering.html?page=1

* Linux App Finder: Science: http://linuxappfinder.com/education/science

* Project WARTA: http://www.hpi.net/whitepapers/warta/

quarta-feira, 23 de maio de 2007

MFCR2: Solução do problema da chamada caindo com o bloqueio de DDC

Após a implementação do E1 com sinalização MFCR2 da BrasilTelecom no Asterisk (link), pude perceber que algumas ligações que eu efetuava eram atendidas e logo em seguida caiam. Busquei uma explicação para isso, e o que o pessoal da BrasilTelecom me informou, é que algumas centrais e/ou aparelhos possuem bloqueio automático à ligações DDC (ligações à cobrar).

O procedimento de uma central que faz bloqueio automático à DDC é:

1. atender a ligação;
2. desligar a ligação;
3. atender novamente.

Em uma ligação à cobrar, no segundo passo do procedimento acima, a ligação cai, e, conseqüentemente, a ligação não é efetuada e o número de destino não vai pagar por esta ligação.

Em uma ligação normal, a ligação não cai no segundo passo, e as pontas conseguem estabelecer comunicação após o terceiro passo.

O que estava acontecendo, era que as ligações efetuadas pelo E1 com sinalização MFCR2 estavam caindo já no segundo passo. A chave para a solução do problema é recompilar a libmfcr2 editando o arquivo mfcr2.c e alterando o valor da linha mfcr2->clear_back_persistence_check de 0 para 3000, da seguinte maneira:
mfcr2->clear_back_persistence_check = 3000;
O valor 3000, equivale à 3000ms, ou seja, 3 segundos. Quem me disse que é essa linha que tem que ser alterada no mfcr2.c foi o Dio Makibara - dioedu (grato novamente!!!), e no email que ele enviou em resposta à minha pergunta na lista AsteriskBrasil.org, o valor que o dioedu me informou foi 500 ou 1500. Conversando com o pessoal da BrasilTelecom de Brasília, eles me informaram que eu posso aumentar este valor. Aumentei para 3000 e para mim está funcionando bem.

Então, se você vai fazer uma nova instalação de um circuito E1 com sinalização MFCR2 e vai utilizar a documentação Asterisk + Sinalização MFCR2 (spandsp + libsupertone + libunicall + libmfcr2), antes de iniciar a compilação da libmfcr2, edite o arquivo mfcr2.c e altere o valor documentado acima, e depois siga o processo de instalação normalmente.

Se o seu circuito já está funcionando e você quer corrigir o problema, entre no diretório onde está o código-fonte do libmfcr2, rode make clean, edite o arquivo mfcr2.c de acordo com as orientações acima, e refaça a instalação (./configure --prefix=/usr/local ; make ; make install). Em seguida, recompile e reinstale o próprio Asterisk (não esqueça do chan_unicall.c e do Makefile modificado dentro do diretório channels).

É isso. Espero de alguma forma ter auxiliado você se chegou até aqui e conseguiu resolver o seu problema. Agradecimento ao Zuca da BrasilTelecom Brasília por ter informado muitos dados importantíssimos para a identificação e resolução do problema, e ao Dio Makibara (dioedu) por ter mostrado o "caminho das pedras" da solução do problema alterando o mfcr2.c.

sábado, 19 de maio de 2007

Calculadora de banda VoIP

O asteriskguru.com tem uma calculadora de banda VoIP muito interessante e funcional. Para quem precisa dimensionar um projeto VoIP, aí vai a dica: http://www.asteriskguru.com/tools/bandwidth_calculator.php .

terça-feira, 15 de maio de 2007

Asterisk + Sinalização MFCR2 (spandsp + libsupertone + libunicall + libmfcr2)

Esta documentação é à respeito da utilização do Asterisk com o protocolo de sinalização E1 MFCR2 com as placas E1 da Digium.

Introdução

Após duas semanas de muitas tentativas de configuração da sinalização MFCR2 de um circuito E1 da BrasilTelecom, utilizando a placa Digium TE210P, resolvi escrever esta documentação com o objetivo de mostrar minhas principais dificuldades encontradas e qual foi o "caminho das pedras" para fazer o circuito E1 com sinalização R2 funcionar com o Asterisk.

-----------------------------

Uma das principais dificuldades encontradas, é a escassez de documentação qualificada à respeito disso. Nessa documentação, não aprofundarei em assuntos técnicos da sinalização MFCR2, por ainda não ter conhecimento técnico suficiente para explicar à nível de protocolo como funciona em detalhes o R2. Porém, nas minhas pesquisas para entender um pouco mais como funciona o R2, encontrei uma documentação do Moisés Humberto Silva Salmerón, "NOTES ABOUT MFCR2 AND UNICALL WITH ASTERISK", que pode ser encontrada aqui ou aqui. Inicialmente, recomendo a leitura deste documento para que tenhas uma abordagem técnica à respeito do MFCR2 com o Asterisk.

Para elaborar esta documentação, estou utilizando o seguinte hardware:
* Servidor Dell Poweredge 860
* Placa Digium TE210P

E o sistema operacional é o Debian GNU/Linux:
saturn:/# uname -a
Linux saturn 2.6.18-4-686 #1 SMP Wed May 9 23:03:12 UTC 2007 i686 GNU/Linux
Inicialmente, eu tentei rodar a sinalização MFCR2 com a versão 1.4.2 do Asterisk. Consegui compilar as bibliotecas e o próprio Asterisk sem problemas, utilizando os fontes de http://moy.ivsol.net/unicall/soft-switch/r1b1/, também do Moisés Silva. Como disse, consegui compilar com os fontes acima e rodar o Asterisk, de acordo com as orientações de http://www.voip-info.org/wiki/view/Asterisk+MFC+R2, porém, estavam ocorrendo problemas de sinalização que eu não conseguia resolver, e também não conseguia entender por que eu via alguns HOW-TOs na Internet ensinando como fazer, e eu não conseguia fazer. Basicamente, com o Asterisk 1.4.2 e as modificações dos pacotes do Moisés Silva, conseguia efetuar ligações porém não conseguia receber ligações pelo canal E1. Depois tentei fazer a mesma coisa com o Asterisk 1.4.4, e também, sem sucesso. Foi aí que eu entrei em contato com o Steve Underwood, o desenvolvedor do spandsp, libsupertone, libunicall e libmfcr2, e ele me orientou a fazer um downgrade da versão do spandsp. Vamos lá, justamente o que eu não queria fazer: downgrade.

Escrevi tudo isso aí acima, para que você possa entender que eu realmente não queria utilizar a versão 1.2.16 do Asterisk e nem as versões que eu estou utilizando do spandsp, libsupertone, libunicall e libmfcr2, mas foi o jeito de fazer funcionar, principalmente após as conversas com o Alexandre Abreu (anonymouz666) e o Carlos Cesario (ccesario) no #asteriskbrasil.org da rede de IRC freenode.

Bom, então, os pacotes utilizados são:
* Asterisk 1.2.16, disponível aqui ou aqui.
* Zaptel 1.2.17.1, disponível aqui ou aqui.
* Libpri 1.2.4, disponível aqui ou aqui.
* Asterisk-addons 1.2.6, disponível aqui ou aqui.
* Asterisk-sounds 1.2.1, disponível aqui ou aqui.

Originalmente, você pode baixar o spandsp, libsupertone, libunicall e libmfcr2 em http://www.soft-switch.org/, porém algumas versões que vamos utilizar, não estão mais disponíveis na página oficial, então, estou disponibilizando as versões que estou utilizando na minha própria página:
* spandsp-0.0.3pre22, disponível aqui.
* libsupertone-0.0.2pre9, disponível aqui.
* libunicall-0.0.3pre9, disponível aqui.
* libmfcr2-0.0.3pre9, disponível aqui.
* Makefile modificado pelo Carlos Cesario, disponível aqui.
* chan_unicall.c, disponível aqui.

Crie o diretório /usr/src/asterisk e baixe todos os arquivos para este diretório. Eu estou utilizando o Debian GNU/Linux, mas com certeza você pode utilizar outra distribuição do GNU/Linux para a instalação do Asterisk e das bibliotecas necessárias para o suporte à MFCR2. Para mais detalhes dos pacotes necessários para a instalação do Asterisk no Debian GNU/Linux, veja esta referência no asteriskguru.com, e para detalhes à respeito da instalação do spandsp + libsupertone + libunicall + libmfcr2, veja http://www.voip-info.org/wiki/view/Asterisk+MFC+R2. Nesta documentação, faremos um passo-à-passo da instalação, mas é bom ler a documentação mencionada acima para ter um bom entendimento de todo o processo de instalação e configuração, e para que você tenha conhecimento do que está fazendo.

Meu sources.list está assim:
saturn:/# cat /etc/apt/sources.list
deb http://ftp.debian.org/debian/ stable main contrib non-free
deb http://security.debian.org/ stable/updates main
deb http://www.backports.org/debian/ sarge-backports main contrib non-free
Vamos começar atualizando a árvore do APT:
saturn:/# apt-get update
Get: 1 http://ftp.debian.org stable Release.gpg [378B]
Get: 2 http://security.debian.org stable/updates Release.gpg [189B]
Hit http://ftp.debian.org stable Release
Get: 3 http://www.backports.org sarge-backports Release.gpg [189B]
Hit http://security.debian.org stable/updates Release
Ign http://ftp.debian.org stable/main Packages/DiffIndex
Hit http://www.backports.org sarge-backports Release
Ign http://security.debian.org stable/updates/main Packages/DiffIndex
Ign http://ftp.debian.org stable/contrib Packages/DiffIndex
Ign http://ftp.debian.org stable/non-free Packages/DiffIndex
Hit http://www.backports.org sarge-backports/main Packages/DiffIndex
Hit http://security.debian.org stable/updates/main Packages
Hit http://ftp.debian.org stable/main Packages
Hit http://ftp.debian.org stable/contrib Packages
Hit http://www.backports.org sarge-backports/contrib Packages/DiffIndex
Hit http://www.backports.org sarge-backports/non-free Packages/DiffIndex
Hit http://ftp.debian.org stable/non-free Packages
Hit http://www.backports.org sarge-backports/contrib Packages
Fetched 191B in 2s (89B/s)
Reading package lists... Done
E em seguida instalando alguns pacotes:
saturn:/# apt-get install bison libncurses-dev libssl-dev libnewt-dev zlib1g-dev initrd-tools cvs procps make gcc g++ libtiff-dev libxml2 libxml2-dev
Descompacte o libpri e instale-o:
saturn:/usr/src/asterisk# tar zxfv libpri-1.2.4.tar.gz
saturn:/usr/src/asterisk# cd libpri-1.2.4
saturn:/usr/src/asterisk/libpri-1.2.4# make
saturn:/usr/src/asterisk/libpri-1.2.4# make install
Eu estou rodando o Kernel 2.6.18-4-686, então, instalo via APT o pacote linux-headers-2.6.18-4-686:
saturn:/usr/src/asterisk# apt-get install linux-headers-2.6.18-4-686
Descubra qual é o kernel que você está rodando e instale os repectivos cabeçalhos (headers).

Descompacte o zaptel e instale-o:
saturn:/usr/src/asterisk# tar zxfv zaptel-1.2.17.1.tar.gz
saturn:/usr/src/asterisk# cd zaptel-1.2.17.1
saturn:/usr/src/asterisk/zaptel-1.2.17.1# make
saturn:/usr/src/asterisk/zaptel-1.2.17.1# make install
Descompacte o spandsp e instale-o:
saturn:/usr/src/asterisk# tar zxfv spandsp-0.0.3pre22.gz
saturn:/usr/src/asterisk# cd spandsp-0.0.3
saturn:/usr/src/asterisk/spandsp-0.0.3# ./configure --prefix=/usr/local
saturn:/usr/src/asterisk/spandsp-0.0.3# make
saturn:/usr/src/asterisk/spandsp-0.0.3# make install
Descompacte libsupertone e instale-o:
saturn:/usr/src/asterisk# tar zxfv libsupertone-0.0.2.tar.gz
saturn:/usr/src/asterisk# cd libsupertone-0.0.2
saturn:/usr/src/asterisk/libsupertone-0.0.2# ./configure --prefix=/usr/local
saturn:/usr/src/asterisk/libsupertone-0.0.2# make
saturn:/usr/src/asterisk/libsupertone-0.0.2# make install
Descompacte libunicall e instale-o:
saturn:/usr/src/asterisk# tar zxfv libunicall-0.0.3.tar.gz
saturn:/usr/src/asterisk# cd libunicall-0.0.3
saturn:/usr/src/asterisk/libunicall-0.0.3# ./configure --prefix=/usr/local
saturn:/usr/src/asterisk/libunicall-0.0.3# make
saturn:/usr/src/asterisk/libunicall-0.0.3# make install
Descompacte libmfcr2 e instale-o:
saturn:/usr/src/asterisk# tar zxfv libmfcr2-0.0.3.tar.gz
saturn:/usr/src/asterisk# cd libmfcr2-0.0.3
saturn:/usr/src/asterisk/libmfcr2-0.0.3# ./configure --prefix=/usr/local
saturn:/usr/src/asterisk/libmfcr2-0.0.3# make
saturn:/usr/src/asterisk/libmfcr2-0.0.3# make install
Descompacte o asterisk:
saturn:/usr/src/asterisk# tar zxfv asterisk-1.2.16.tar.gz
saturn:/usr/src/asterisk# cd asterisk-1.2.16
Copie o Makefile e o chan_unicall.c de /usr/src/asterisk para /usr/src/asterisk/asterisk-1.2.16/channels/:
saturn:/usr/src/asterisk/asterisk-1.2.16# cp /usr/src/asterisk/Makefile /usr/src/asterisk/chan_unicall.c /usr/src/asterisk/asterisk-1.2.16/channels/
Compile e instale o Asterisk:
saturn:/usr/src/asterisk/asterisk-1.2.16# make mpg123
saturn:/usr/src/asterisk/asterisk-1.2.16# make
saturn:/usr/src/asterisk/asterisk-1.2.16# make install
saturn:/usr/src/asterisk/asterisk-1.2.16# make samples
Instale o Asterisk-sounds:
saturn:/usr/src/asterisk# tar zxfv asterisk-sounds-1.2.1.tar.gz
saturn:/usr/src/asterisk# cd asterisk-sounds-1.2.1
saturn:/usr/src/asterisk/asterisk-sounds-1.2.1# make install
Compile e instale o Asterisk-addons:
saturn:/usr/src/asterisk# tar zxfv asterisk-addons-1.2.6.tar.gz
saturn:/usr/src/asterisk# cd asterisk-addons-1.2.6
saturn:/usr/src/asterisk/asterisk-addons-1.2.6# make
saturn:/usr/src/asterisk/asterisk-addons-1.2.6# make install
Agora, crie os seguintes links simbólicos para a libunicall, libsupertone e libspandsp:
saturn:/usr/src/asterisk# ln -s /usr/local/lib/libunicall.so.0 /usr/lib
saturn:/usr/src/asterisk# ln -s /usr/local/lib/libsupertone.so.0 /usr/lib
saturn:/usr/src/asterisk# ln -s /usr/local/lib/libspandsp.so.0 /usr/lib
Configure o arquivo /etc/zaptel.conf, da seguinte maneira:
loadzone=br
defaultzone=br
span=1,0,0,ccs,hdb3
span=1,1,0,cas,hdb3
cas=1-15:1101
dchan=16
cas=17-31:1101
É possível que você precise configurar o seu zaptel.conf de outra maneira, de acordo com qual tipo de hardware você está utilizando, que span você está utilizando, sinalização, etc.

Agora, o próximo passo é reiniciar o servidor, para verificar se os módulos estão subindo na inicialização do sistema. Após reiniciar o sistema, verifique da seguinte maneira:
saturn:/usr/src/asterisk# lsmod | grep zaptel
zaptel 177412 1 wct4xxp
crc_ccitt 2240 1 zaptel
E verifique também se os canais subiram:
saturn:/usr/src/asterisk# cat /proc/zaptel/1
Span 1: TE2/0/1 "T2XXP (PCI) Card 0 Span 1" HDB3/ ClockSource

1 TE2/0/1/1 CAS
2 TE2/0/1/2 CAS
3 TE2/0/1/3 CAS
4 TE2/0/1/4 CAS
5 TE2/0/1/5 CAS
6 TE2/0/1/6 CAS
7 TE2/0/1/7 CAS
8 TE2/0/1/8 CAS
9 TE2/0/1/9 CAS
10 TE2/0/1/10 CAS
11 TE2/0/1/11 CAS
12 TE2/0/1/12 CAS
13 TE2/0/1/13 CAS
14 TE2/0/1/14 CAS
15 TE2/0/1/15 CAS
16 TE2/0/1/16 HDLCFCS
17 TE2/0/1/17 CAS
18 TE2/0/1/18 CAS
19 TE2/0/1/19 CAS
20 TE2/0/1/20 CAS
21 TE2/0/1/21 CAS
22 TE2/0/1/22 CAS
23 TE2/0/1/23 CAS
24 TE2/0/1/24 CAS
25 TE2/0/1/25 CAS
26 TE2/0/1/26 CAS
27 TE2/0/1/27 CAS
28 TE2/0/1/28 CAS
29 TE2/0/1/29 CAS
30 TE2/0/1/30 CAS
31 TE2/0/1/31 CAS
Bom, agora que os módulos subiram e os canais estão configurados com a sinalização correta, e hora de iniciar o asterisk com suporte ao chan_unicall.

Crie o arquivo unicall.conf dentro de /etc/asterisk, de acordo com o seguinte exemplo:
saturn:/usr/src/asterisk# cat /etc/asterisk/unicall.conf
[channels]

context=e1-inline
usecallerid=yes
hidecallerid=no
threewaycalling=yes
transfer=yes
cancallforward=yes
callreturn=yes
echocancel=yes
echocancelwhenbridged=yes
rxgain=0.0
txgain=0.0
relaxdtmf=yes
callgroup=1
pickupgroup=1
immediate=no
callerid=asreceived
musiconhold=default
protocolclass=mfcr2
protocolvariant=br,20,4
protocolend=cpe
group=1
channel => 1-15
channel => 17-31
Uma linha importante, é a protocolvariant=br,20,4. Esta é a especificação para a BrasilTelecom. Se o seu E1 é de outra operadora telefônica, é bem provável que seja diferente. Nas referências apresentadas no início desta documentação, existem os padrões para as outras operadoras de telefonia do Brasil. No mais, o unicall.conf é muito similar ao zapata.conf. Note que a linha context=e1-inline especifica o contexto que as ligações serão direcionadas ao entrarem pelo tronco E1.

Agora, é hora de iniciar o asterisk.
saturn:/usr/src/asterisk# asterisk
saturn:/usr/src/asterisk# asterisk -r
Asterisk 1.2.16, Copyright (C) 1999 - 2006 Digium, Inc. and others.
Created by Mark Spencer
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'show license' for details.
=========================================================================
Connected to Asterisk 1.2.16 currently running on saturn (pid = 2732)
saturn*CLI> UC show channels
Channel Extension Context Status Language MusicOnHold
1 e1-inline Idle default
2 e1-inline Idle default
3 e1-inline Idle default
4 e1-inline Idle default
5 e1-inline Idle default
6 e1-inline Idle default
7 e1-inline Idle default
8 e1-inline Idle default
9 e1-inline Idle default
10 e1-inline Idle default
11 e1-inline Idle default
12 e1-inline Idle default
13 e1-inline Idle default
14 e1-inline Idle default
15 e1-inline Idle default
17 e1-inline Idle default
18 e1-inline Idle default
19 e1-inline Idle default
20 e1-inline Idle default
21 e1-inline Idle default
22 e1-inline Idle default
23 e1-inline Idle default
24 e1-inline Idle default
25 e1-inline Idle default
26 e1-inline Idle default
27 e1-inline Idle default
28 e1-inline Idle default
29 e1-inline Idle default
30 e1-inline Idle default
31 e1-inline Idle default
Pelo que podemos observar, os canais estão configurados e funcionando. :-) Note que você não vai mais utilizar o comando zap no asterisk, e sim, o comando UC, quando for trabalhar com unicall. Veja:
saturn*CLI> help UC
UC debug span Enables UC debugging on a span
UC destroy channel Destroy a channel
UC no debug span Disables PRI debugging on a span
UC show channels Show active UniCall channels
UC show channel Show information on a channel
Agora, configure o Asterisk de acordo com as suas necessidades. Primeiramente, configure o dialplan de uma maneira que você possa efetuar testes do circuito E1, e faça alguns testes. Verifique se você está conseguindo originar e receber ligações pelo circuito E1. Note também, que a sua dialplan não irá redirecionar as ligações para o canal Zap, e sim, para o canal Unicall. Veja este simples exemplo do extensions.conf:
[external]
exten => _0061.,1,Dial(Unicall/g1/${EXTEN:4},50)
exten => _0061.,2,Hangup()
É isso. Espero que esta documentação seja útil para você de alguma forma. Se precisar, fique à vontade para entrar em contato comigo no correio eletrônico felipe ARROBA neuwald PONTO biz, ou para postar um comentário aqui no blog.

Boa sorte!

Agradecimentos

Primeiramente à galera da PS5 Internet por ter tido compreensão do motivo do estouro (com dinamite) do tempo deste projeto. U rock guys.

Ao Carlos Cesario (ccesario), por ter feito o Makefile e testes compilando algumas versões no seu ambiente de testes, além das conversas para chegar na solução.

Ao Alexandre Abreu (anonymouz666), por ter indicado as versões corretas do spandsp e das bibliotecas.

Ao Dio Makibara (dioedu) por ter dado algumas dicas e participado da solução do problema.

À toda galera da comunidade Software Livre que vem trabalhando para o desenvolvimento do Asterisk e de soluções livres realmente funcionais e geniais como esta.

O Autor

Felipe Neuwald, contato: felipe ARROBA neuwald PONTO biz.