[AsteriskBrasil] Open R2 no Trixbox

Alexandre Cavalcante Alencar alexandre.alencar em gmail.com
Segunda Dezembro 1 01:46:19 BRST 2008


Olá Yuri, boa noite,

Pelo que pude ver em suas dúvidas, você não tem experiência em configuração
e compilação de softwares baseados em source. Então, vamos para um
passo-a-passo mais detalhado:
PS: Estou copiando para a lista caso alguém tenha dúvida.

Instruções para a instalação da OpenR2 (instalação prévia do Zaptel ou DAHDI
é necessária)

1. Download da OpenR2
http://openr2.googlecode.com/files/openr2-1.0.0-rc2.tar.gz

# rpmbuild -ta libopenr2-1.0.0-rc2.tar.gz

Uma vez construídos os pacotes, instale-os

# rpm -i rpmbuild/RPMS/i386/libopenr2-{1,devel}*.rpm


 Instruções para a instalação do Asterisk com MFC/R2 (instalação prévia da
OpenR2 é necessária)

1. Download do source do Asterisk com suporte a MFC/R2

svn export svn://libopenr2.org/openr2/trunk asterisk-1.4.22.0

2. Download do source do Asterisk da Elastix

# yumdownloader --source asterisk

# rpm -i asterisk*.src.rpm

3. Edite rpmbuild/SPECS/asterisk.spec e comente as linhas que fazem
referência ao Unicall

4. Construa o pacote do Asterisk

# tar zcf rpmbuild/SOURCES/asterisk-1.4.22.0.tar.gz asterisk-1.4.22.0

# rpmbuild -ba rpmbuild/SPECS/asterisk.spec

5. Uma vez construídos os pacotes, instale-os

# rpm -i rpmbuild/RPMS/asterisk-{1,sounds,devel}*.rpm

6. As configurações devem ser feitas como de costume.

Com relação às suas outras dúvidas, estou respondendo logo abaixo delas.

Alexandre C Alencar (Skarmeth)
http://blog.alexandrealencar.net/
http://www.alexandrealencar.net/
http://people.debian-ce.org/skarmeth/



2008/11/30 Yuri <yuri.asterisk em gmail.com>

> O  Alexandre muito obrigado pelas informações, o problema com o Trixboxé o
> seguinte, se eu pegar o source do asterisk no site da Digium é provavel que
> nao funcione com o trixbox, teria que ter um source no repositorio
> deles! Pelo que vi não tem a ultima versão do asterisk de final 22 conforme
> vc comenta! Se eu estiver errado me corrija!
>
>

Na verdade, você tem que baixar uma versão específica do SVN reservado ao
desenvolvimento do Asterisk com MFC/R2, o Asterisk padrão não serve.

 Teve algumas coisas que não entendi em sua explicação então vou escrever em
> negrito para ficar de melhor entendimento!
>
>  Para mim é um desafio fazer funcionar em versões já prontas como o trixbox
> e etc. Gostei muito dos passos que vc criou para construcao de um RPM para
> instalação o SPEC que vc fez ja está disponivel no seu blog (
> http://blog.alexandrealencar.net/)? Se for esse ele é bem famoso!
>

Sim, o meu blog é este mesmo. Basicamente:

Instale a LibPRI do trixbox (yum install libpri)

DAHDI Linux:

wget -c http://people.debian-ce.org/skarmeth/arquivos/dahdi-linux.spec
wget -c
http://downloads.digium.com/pub/telephony/dahdi-linux/dahdi-linux-2.0.0.tar.gz
mv dahdi-linux-2.0.0.tar.gz rpmbuild/SOURCES
rpmbuild -ba dahdi-linux.spec

Veja em rpmbuild/RPMS/<arch> os pacotes gerados, instale-os com exceto os
debug.

DAHDI Tools:
http://people.debian-ce.org/skarmeth/arquivos/dahdi-tools.spec
http://downloads.digium.com/pub/telephony/dahdi-linux/dahdi-tools-2.0.0.tar.gz
mv dahdi-tools-2.0.0.tar.gz rpmbuild/SOURCES
rpmbuild -ba dahdi-tools.spec

Veja em rpmbuild/RPMS/<arch> os pacotes gerados, instale-os com exceto os
debug.

OpenR2:

wget -c http://openr2.googlecode.com/files/openr2-1.0.0-rc2.tar.gz
rpmbuild -ba openr2-1.0.0-rc2.tar.gz

Veja os pacotes gerados em rpmbuild/RPMS/<arch>/libopenr2* e instale-os,
exceto os debug.

Asterisk MFC/R2:

svn export http://svn.digium.com/svn/asterisk/team/moy/mfcr2-1.4asterisk-1.4.22.0
tar zcf rpmbuild/SOUCES/asterisk-1.4.22.0.tar.gz asterisk-1.4.22.0

Edite o rpmbuild/SPECS/asterisk e edite o número da versão para 1.4.22.0,
comente as linhas do Unicall (não dependemos do Unicall).

rpmbuild -ba rpmbuild/SPECS/asterisk.spec

Veja os pacotes gerados em rpmbuild/RPMS/<arch>/asterisk* e instale-os,
exceto os debug.


>  Alexandre outra grande duvida que eu tenho, se eu tiver o asterisk ja
> funcionando e instalado somente ´necessário reinstalar os drivers DAHDI ou
> zaptel, e mais as bibliotecas
> openr2 juntamente com o (spandsp-0.0.4pre18.tgz<http://www.soft-switch.org/downloads/spandsp/spandsp-0.0.4pre18.tgz>,
> spandsp-0.0.5pre4.tgz<http://www.soft-switch.org/downloads/spandsp/spandsp-0.0.5pre4.tgz>,
> spandsp-0.0.6pre1.tgz<http://www.soft-switch.org/downloads/spandsp/spandsp-0.0.6pre1.tgz>,
> spandsp-0.0.6pre2.tgz<http://www.soft-switch.org/downloads/spandsp/spandsp-0.0.6pre2.tgz>)
> quais dessas eu preciso ter no sistema? Ou é necessario instalar o asterisk
> do zero?
>

Funciona tanto com DAHDI como com Zaptel, mas já que vai mexer, faça logo o
upgrade. Não dependemos do Unicall, então, a menos que vá usar as aplicações
app_(r,t)xfax.so, não precisará da SpanDSP.

O Asterisk MFC/R2 precisa ser instalado, o que você tem não funciona.



>
>  É que antigamente qdo tinha os patches era necessário recompilar tudo em
> http://www.soft-switch.org!
>

A OpenR2 não depende da Unicall e relacionadas.


>
>  Ja me cadastrei na lista só de OpenR2 qdo consiguir fazer funcionar vou
> postar as solucoes e problemas encontrados tudo lá!
>

OK


>
> Existe cancelamento de eco para r2 nos Drivers DAHDI?
> Para ligacao voip via SIP existe solução para problemas de eco fora
> problemas de QOS?
>

O cancelamento de eco não é implementado pela lib de sinalização, o que
funciona em PRI, SS7, funciona em OpenR2, uma vez que o patch é na própria
infraestrutura do Asterisk, e não em algo totalmente à parte.


> Tenho algumas duvidas qunato a solução passa por vc, as mesmas
> encontram-se logo abaixo em negrito!
>
> *Muiito obrigado Alexandre.*
> * *
>
> Olá Yuri,
>
> O pacote libopenr2 que está no Tribox é uma versão muito antiga (61, 68 e
> 98
> pelo que pude ver no forum e yum.trixbox.org/centros/5/beta). Ontem à
> noite
> subi uma nova versão do spec file que constrói o pacote.
> Baixe o rc2 e instale no trixbox (você vai precisar dos pacotes rpmdevtools
> e yum-utils pelo menos). As pedendências poderão ser solicitadas. Note
> porém
> que o spec file não está 'configurado' para requisitar Zaptel ou DAHDI,
> pois
> o sistema RPM não suporta dependências do tipo OU como no caso do sistema
> DEB. Então, certifique-se de instalar o DAHDI (dahdi-tools, dahdi-linux)
> antes de tentar construir a OpenR2.
> *Quando vc diz baixe o RC2 o que vc quiz dizer?*
> *Onde eu baixo o RC2?*
>

Baixar site do projeto, seja via tar.gz ou via SVN, no blog há um guia sobre
isso, com estas instruções, também incluídas neste e-mail.

**
>
> $ rpmdev-setuptree
> $ rpmbuild -ba libopenr2.spec
>
> Caso não tenha DAHDI no repositório, veja no meu blog os links para os spec
> que uso em meus sistemas que ainda são baseados em RPM. Há também para
> Asterisk, caso o próprio trixbox não seja baseado do Asterisk MFC/R2, você
> pode fazer assim (fiz assim em um Elastix de uma pessoa de Minhas que
> queria
> Asterisk com MFC/R2 em seu sistema):
> *O OpenR2 é compativel somente com o DAHDI, ou zapatel tb funciona? Tem
> que ser o repositorio do trixbox ou da digium?*
>

A OpenR2 é compatível com DAHDI e Zaptel (por enquando, mais por vir). Tanto
faz, mas no seu caso, instale o do trixbox (yum install zaptel zaptel-devel)

**
> *Qdo vc diz *baseado do Asterisk MFC/R2 ele tem que ser compativel? Tem
> uns sites que demonstram sem RPM mais o seu estou achando show de bola
> http://www.asteriskexperts.com.br/content/view/271/0
>
>

O procedimento descrito é o mesmo. Desde o post inicial em meu blog, já fiz
diversas atualizações para acompanhar o andamento do projeto e o feedback
das pessoas que me enviam comentários. Então, sempre procuro abordar o que
há na versão estável atual da lib/patch.



> (só faça isso depois que tiver instalado a libopenr2, libopenr2-devel)
> ; baixe o source do asterisk para usarmos os patchs e spec
> *As libs libopenr2, libopenr2-devel vamos instalar apartir do site **
> http://svn.digium.com/svn/asterisk/team/moy/mfcr2-1.4*<http://svn.digium.com/svn/asterisk/team/moy/mfcr2-1.4>
>  ?
>

Não, isso aí é o repositório SVN para o Asterisk com suporte a MFC/R2. Você
instala a OpenR2 através dos procedimentos que descrevi neste e-mail. Ou via


http://code.google.com/p/openr2/downloads/list


> $
> $ yum-downloader --source asterisk
> $ rpm -ivh asterisk*.src.rpm
> $ svn export
> http://svn.digium.com/svn/asterisk/team/moy/mfcr2-1.4asterisk-1.4.22.0
> $ tar zcf rpmbuild/SOURCES/asterisk-1.4.22.0.tar.gz asterisk-1.4.22.0
>
> *O endereco citado acima da erro, seria este abaixo?*
> *http://svn.digium.com/svn/asterisk/team/moy/mfcr2-1.4/*<http://svn.digium.com/svn/asterisk/team/moy/mfcr2-1.4/>
>

apenas separe a URL de asterisk-1.4.22.0, está tudo junto quando não deveria
ser...

svn export http://svn.digium.com/svn/asterisk/team/moy/mfcr2-1.4asterisk-1.4.22.0


>
> Edite o arquivo rpmbuild/SPECS/asterisk.spec e mude a versão de 1.4.21 para
> 1.4.22.0 e em seguida execute:
>
> $ rpmbuild -ba rpmbuild/SPECS/asterisk.spec
> Serão gerados alguns pacotes em rpmbuild/RPMS/<arch>/asterisk-*, você deve
> instalá-los via:
>
> *Instalar via???*
>
> você pode antes verificar se o chan_dahdi.so ou chan_zap.so foi gerado com
> o
> comando rpm -qpl rpmbuild/RPMS/<arch>/asterisk-1.4.22.0*.rpm | grep
> chan_dahdi.so (ou chan_zap.so). Se mostrar um arquivo, vá em frente com o
> passo seguinte, caso contrário, faltou zaptel-devel ou o dahdi devel
> correspondente.
>

>>>>>>>>>>>>>> via este comando aqui <<<<<<<<<<<<<<<<<<<<<<<<<

> # rpm -Uvh rpmbuild/RPMS/<arch>/<pacotes>.rpm
>
>>>>>>>>>>>>>> via este comando aqui <<<<<<<<<<<<<<<<<<<<<<<<<

O outro trecho acima era apenas um comentário informando que deveria checar
antes de instalar para confirmar se está tudo OK.

> Os pacotes -debug e -devel não precisam ser instalados. É possível que o
> asterisk-fax reclame de dependências, basta usar o --deps (e um bug no spec
> que não detalharei aqui), não haverá problemas por conta disto.
>
> *Que pacotes são estes citados acima?*
>

São os pacotes que serão gerados nos passos descritos acima. Note porém que
o pacote zaptel-devel ou o dahdi devel correspondente deve está instalado ao
menos até a libopenr2 ser gerada.

> **
>
> Para saber se o suporte a MFC/R2 foi ativado (via OpenR2), digite o
> seguinte
> na cli do Asterisk
>
> mfcr2 show version
> mfcr2 show channels
>
> Qualquer coisa, entra no #openr2 da FreeNode ou manda mensagem para
> asterisk-r2 em lists.digium.com.
>
> Ats,
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://listas.asteriskbrasil.org/pipermail/asteriskbrasil/attachments/20081201/3f37dcdd/attachment-0001.htm 


Mais detalhes sobre a lista de discussão AsteriskBrasil