[AsteriskBrasil] R2 DIGITAL

Caio Begotti caio em ueberalles.net
Quinta Dezembro 1 13:20:00 BRT 2005


On Wednesday 30 November 2005 18:33, Darlon wrote:
> Quais as versões que vc está usando dos pacotes libtiff, libtiff-devel,
> libxml2 and libxml2-devel ?

Darlon, aqui eu uso as seguintes versões das dependências relacionadas a R2 e 
outros pacotes periféricos também (coisas do Steve Underwood):

ii  libxml2        2.6.16-7       GNOME XML library
ii  libxml2-dev    2.6.16-7       Development files for the GNOME XML library
ii  libspandsp-dev 0.0.2pre21c-2  Telephony signal processing library
ii  libspandsp-doc 0.0.2pre21c-2  Documentation for the spandsp signal process
ii  libspandsp0    0.0.2pre21c-2  Telephony signal processing library
ii  libunicall     0.0.3-1        Abstration layer for telephone signalling
ii  libunicall-dev 0.0.3-1        Development files for the Unicall library
ii  libmfcr2       0.0.3-1        Library for MFC/R2 signaling on E1 lines
ii  libmfcr2-dev   0.0.3-1        Development package for the MFC/R2 library
ii  libsupertone-d 0.0.2-4        Development package for the supertone librar
ii  libsupertone1  0.0.2-4        Library for supervisory tone generation and
ii  libtiff4       3.7.2-3        Tag Image File Format (TIFF) library
ii  libtiff4-dev   3.7.2-3        Tag Image File Format library (TIFF), develo
ii  libzap-dev     1.0.1-1        Zapata telephony interface library (developm
ii  libzap1        1.0.1-1        Zapata telephony interface library (runtime)
ii  libpri-dev     1.2.0-release- Primary Rate ISDN specification development
ii  libpri1        1.2.0-release- Primary Rate ISDN specification library
ii  libjpeg62      6b-10          The Independent JPEG Group's JPEG runtime li
ii  libjpeg62-dev  6b-10          Development files for the IJG JPEG library
ii  libaudiofile-d 0.2.6-6        Open-source version of SGI's audiofile libra
ii  libaudiofile0  0.2.6-6        Open-source version of SGI's audiofile libra
ii  xsltproc       1.1.12-8       XSLT command line processor

Mais autotools, conf, make e tantas outras coisas que você já deve ter...

> > From: Fabio Vasco
> > (o EUA não usam R2 por exemplo) a Digium só desenvolveu o libpri 
> > (ISDN) que vem por default com o Asterisk. Tem uma cara chamado Steve que
> > tem uma página www.soft-switch.org, onde ele fala disso...

Pelo que conversei com ele, o Steve Underwood também foi quem começou o 
suporte R2 no Asterisk, no canal Zap, mas parou pois não estava funcionando 
ou sei lá as razões dele. Depois de tanto tempo, ainda não tiraram o código 
velho que não funciona dali. Por isso que é necessário remover a linkagem do 
chan_zap.so com a libmfcr2 interna (que não serve pra nada), pro R2 funcionar 
através da implementação Unicall dele.

Finalmente eu entendi o porquê disso :-)

> > Ele criou um módulo para a utilização da sinalização MFCR2 (libmfcr2) em
> > aplicações open-source de telefonia (como o Asterisk) e também criou um
> > módulo [libunicall] que usado em conjunto com o [chan_unicall] dá soporte
> > ao R2 no Asterisk...

Na verdade quem dá o suporte R2 ao Asterisk é o arquivo protocol_mfcr2.so que 
vem na instalação da libmfcr2. A implementação Unicall do Steve é uma camada 
de abstração (i.e. uma coisa que lida com outras coisas complicadas pra você 
e te repassa isso mais mastigado e/ou convertido) pra qualquer sinalização, 
pelo que eu entendi até agora. Aparentemente, nada impediria fulano de criar 
uma implementação Pri usando o chan_unicall.so como "túnel", mas até agora só 
tem pra MFC/R2.

A libunicall é a biblioteca que funciona em conjunto com o chan_unicall.so pra 
prover esse tipo de abstração para qualquer protocolo implementado através 
dela e que precise conversar com o Asterisk, no caso.

> > Dica 2: Tive que compilar todos os módulos com um --prefix=/usr para o
> > comandos [./configure]... só assim funcionou...

Isso é necessário porque a libunicall sempre procura os protocolos da libmfcr2 
em um diretório fixo, específico e não alterável via configuração, a não ser 
padronizando o destino da compilação pro /usr, que é onde a libunicall espera 
achar os protocolos:

root em localhost:~/unicall-0.0.3/mfcr2# dpkg -S protocol_ | grep so.0.0.
libmfcr2: /usr/lib/unicall/protocols/protocol_mfcr2.so.0.0.0

Eu fiz alguns patches tentando mudar isso, inclusive o nome da biblioteca e 
path dela, mas a libunicall *sempre* procura aí, e apesar de não ter olhado o 
fonte dela, aposto que isso tá codificado na unha dentro de algum .c/.h dela.

> > De pronto algum fã do Debian saberá como instalar o R2 de uma maneira más
> > rapida e prática.

Eu mantenho e crio pacotes disso tudo pro Debian, mas nada impede alguém de 
usar o alien pra converter os .deb para .rpm :-) eu só não garanto que vá 
funcionar decentemente heheh

-- 
Caio Begotti (caio1982)
http://caio.ueberalles.net


Mais detalhes sobre a lista de discussão AsteriskBrasil