Habemus VoIP!

Finalmente consegui fazer minha primeira chamada de VoIP com o Ereséva! Viva!
Mas antes de explicar o problema, deixe-me mostrar a arquitetura da coisa toda.

Tapioca-Ereséva
Álvares de Azevedo é uma cara conectado

Funciona assim: o Ereséva usa Tapioca-Python (que é um binding para Tapioca-GLib) para conectar às redes de IM e estabelecer sessões de VoIP; o framework Tapioca se comunica via D-Bus usando a especificação do Telepathy para solicitar serviços aos Connection Managers, que “traduzem” as solicitações recebidas para o protocolo relevante, e o mesmo no sentido oposto; para estabelecer uma sessão de VoIP entra em cena o Stream Engine, que usa GStreamer para montar um pipeline com os codecs necessários e controlar o fluxo de mídia entre a aplicação cliente e a rede.

Estava tentando voipar faz alguns dias, atormentando muitas pessoas no processo (ver lista dos voipadores no final), mas toda vez que um dos meus testadores atendia não se ouvia nenhum som, e a ligação caía. Analisando mais de perto, descobri que o Stream Engine estava dando erros de fluxo de dados, mas Birunko e Tester, do canal #tapioca-voip no Freenode, me mostraram que o problema estava no processo de build. Corrigido isso pude voipar em paz. Com uma ressalva: consegui ouvir, mas não ser ouvido. Pode ser um problema de configuração no microfone ou ainda um problema do Stream Engine. Mas vou deixar pra descobrir mais tarde pois o dever acadêmico chama!

Instalação

Para usar o Ereséva você precisa de instalar o que está descrito no Installation Guide do Tapioca, (incluindo o Tapioca-Python), então baixe:

svn co https://tapioca-voip.svn.sourceforge.net/svnroot/tapioca-voip/trunk/ereseva ereseva

e instale o Ereséva com aquele processo de build de sempre: ./autogen.sh, make, sudo make install, não esquecendo de instalar o pacote pylint (sudo apt-get install pylint).

O Ereséva ainda tem vários pequenos e irritantes bugs, então sinta-se a vontade pra bug-reportar os problemas que te incomodarem.

Heróicos VoIPeiros

Como disse antes, enchi o saco de várias pessoas com os testes, e a esses bravos e pacientes VoIPeiros eu presto homenagem. Principalmente porque o sofrimento deles está longe de acabar! MuaHAHAHa

Como prometido, vou agora torná-los famosos:

  • Chicoti
  • Davi “Mestre” Pires
  • David Aragão
  • Ian Moreira
  • Pedro Leite
  • Renata “Cachinhos” Garcia

Foi Renata a primeira com quem consegui falar usando o Ereséva (ela estava usando o GoogleTalk no Windows) e por isso exibo aqui o avatar simpsoniano que ela fez.

Avatar Renata Cachinhos

Update: obrigado a Renata Bezerra, por ter pacientemente ajudado a corrigir as altamente bugadas e incompletas (pelo lado do Tapioca-Python) instruções de instalação da wiki do tapioca!

Renatas ajudam!🙂

17 pensamentos sobre “Habemus VoIP!

  1. Thank you for writing Ereseva.

    I was able to send audio out, but was not able to receive audio.

    Looking at a Google-translated version of your blog post (https://setanta.wordpress.com/2007/07/13/habemus-voip/), it appears that you are having the opposite problem from what I’m having.

    For your information, I am running Ubuntu Feisty, and SVN r2040 of tapioca-glib, tapioca-python, and ereseva.

    Any pointers?

    (PS: I am willing to help you test things out.)

  2. Eddy,
    Thank you for liking it.🙂
    As you said, in my tests I was able to receive audio (from a google talk client), but not to send it. In fact I think is a microphone problem, but I moved to other problems and leave this rest for a time.
    In you case I think it may be a StreamEngine problem, you can try using the newest version of it. But this is just a first thought, if it still not work call me on the #ereseva channel on Freenode and I will try to help you.

    >>(PS: I am willing to help you test things out.)
    Thanks a lot, have someone to test VoIP is always welcome. The only thing better than this is a private room to avoid the people around making fun of me talking “alone”.😛

  3. sou novo no linux e como usava o Gtalk tava querendo continuar usando no linux. mas to apanhando 1 semana para instalar o Tapioca + Ereséva. Segui os passos de instalação do Tapioca fornecidos no site do projeto. instalei o Eresév seguindo os passos deste tópico. mas to tendo erro na hora de rodar o Ereséva. alguém pode me ajudar??

    Traceback (most recent call last):
    File “/usr/local/bin/ereseva”, line 25, in
    from ereseva import ereseva
    File “/usr/local/lib/python2.5/site-packages/ereseva/ereseva.py”, line 34, in
    from chat_window import ChatWindow
    File “/usr/local/lib/python2.5/site-packages/ereseva/chat_window.py”, line 40, in
    from message_logger import MessageLogger
    File “/usr/local/lib/python2.5/site-packages/ereseva/message_logger.py”, line 28, in
    import elementtree.ElementTree as ElementTree
    ImportError: No module named elementtree.ElementTree

  4. Filipe,
    acredito que no seu caso é necessário reinstalar tapioca-glib e tapioca-python, aí então instalar o Eréseva.
    Embora a versão do SVN esteja buildiando legal aqui na minha máquina (e num chroot pelado) quando faco um “make distcheck” ele não passa nos testes finais. Estou corrigindo esse problema para fazer um release em forma de tarball e .deb pra logo.
    Mais uma vez, qualquer problema estou por aqui.

  5. Marcelo,
    cara, não sei se eu que to batendo cabeça mas não to conseguindo sair do lugar. Baixei novamente e reinstalei o tapioca-glib, o tapioca-python e o Eréseva mas continua dando o mesmo erro do elementtree. Acho que vou aguardar este release na forma de tarball. Abraços

  6. Filipe, estranho isso, verifica se a linha 28 do arquivo “message_logger.py” contém essa linha

    from xml.etree import ElementTree

    em vez desta que está dando erro no código que você tem aí:

    import elementtree.ElementTree as ElementTree

    Se assim for, por algum motivo sua versão está velha, então sugiro apagar essa por completo e baixar uma novinha do SVN.
    Sobre o tarball, estou tendo uns problemas com o autotools e talvez demore mais do que gostaria. :-\

  7. Marcelo,

    limpei tudo e baixei tudo de novo com o

    svn checkout https://tapioca-voip.svn.sourceforge.net/svnroot/tapioca-voip/trunk/ereseva ereseva da página do projeto tapioca.

    O arquivo “message_logger.py” tem na linha 28 o comando

    import elementtree.ElementTree as ElementTree

    então minha versão está correta certo? mas continua dando o mesmo erro e é essa a linha que está dando erro, certo?

    estou fazendo o svn do local correto? mais alguma dica?

    obrigado

  8. Marcelo, vamos lá …🙂
    eu baixei o pacote do google code. instalei. mas parece que a instalação antiga não era apagada. tava dando o mesmo erro. eu abri o arquivo de message_logger.py e vi que tava tudo certinho. mas a instalação não tava substituindo o arquivo velho. aí comecei a abusar …eheheh apaguei a pasta ereseva de /usr/local/lib/python2.5/site-packages/ereseva e tentei instalar novamente.
    quando fui rodar deu o seguinte erro:

    Traceback (most recent call last):
    File “/usr/local/bin/ereseva”, line 25, in
    from ereseva import ereseva
    ImportError: No module named ereseva

    tentei acompanhar o que o script de instalação fazia e percebi que a pasta que tinha apagado

    /usr/local/lib/python2.5/site-packages/ereseva

    não estava sendo novamente criada mesmo o script dizendo que ta fazendo isto. não sei se é este o erro agora.

    tem uma pista do que tenho que fazer!!!
    sou um cara persistente🙂
    obrigado
    abraços

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s