[AsteriskBrasil] Bug report para chan_mobile

Caio Begotti caio em ueberalles.net
Sábado Janeiro 19 01:08:48 BRST 2008


On 16/01/2008, at 21:00, Marcelo/Porks wrote:
> Eu creio que descobri o motivo de não ter áudio (andei olhando o
> código fonte do chan_mobile)

Como você eu também não sou programador, Porks, mas resolvi dar uma  
olhadinha pra ver se ajuda alguma coisa... de agora em dianta tá por  
conta e risco sua. Boas Googleadas :-)

> onde há a linha:
> 	if ((adapter->sco_socket = socket(PF_BLUETOOTH, SOCK_SEQPACKET,
> BTPROTO_SCO)) < 0) {
> [...]
> Como eu não sou bom programador, nem sei localizar onde está essa
> função 'socket' (e eu tentei mexer em algo.. juro que tentei... mas
> não consegui não).

Esse socket() aqui não é do Asterisk, é do sistema mesmo, então não  
adianta procurar muito nos fontes dele. Olhe em /usr/include/sys/ 
socket.h. Aparentemente o chan_mobile é Linux-centric, porque pelo  
que vi de socket no meu OSX isso aí não funcionaria também, suspeito.  
Não testei pra ver.

Agora... o bug acontece quando? Você chega a carregar o módulo e tudo  
o mais e é só na hora de usar mesmo? Olhe seus logs com debug  
habilitado no logger.conf, eu acredito que deve ter algo errado já no  
carregamento do chan_mobile.so aí.

O sco_socket é um socket específico pra Bluetooth transmitir voz e  
talvez ele não esteja funcional na compilação aí. Você tem os headers  
com isso do Bluetooth? Você pode tentar procurar por algum código que  
teste isso no Google se quiser, pra garantir que é culpa do  
chan_mobile mesmo. Se está retornando erro é porque o sistema pensou  
algo como "putz cara! não consegui criar nesse sistema um socket  
Bluetooth decente e usando SCO pra transmitir voz".

Uma grande dica que economiza horas de procura:
apt-get install/port install/urpmi ctags

Aí rode "ctags -R ." no diretório do fonte e no vim execute "set  
tags=tags". Dê uma olhada na documentação de como navegar pelo código  
com ctags, mas logo de cara já pode sair digitando "ctrl + ]" em cima  
de algo do código pra ser levado pra declaração/chamada dele.

> Qual seria o caminho mais indicado para eu reportar
> esse problema?

Primeiro é bom ter certeza que é um problema, senão ignoram seu  
report ou fecham ele sem muitas explicações. O fato do código não  
estar conseguindo abrir um socket no seu sistema pode ser problema  
local. Você não usa BSD? Acho que me lembro de ter dito isso no IRC  
outro dia, ou me enganei? Se sim, pode ser isso, igual meu caso. O  
Asterisk tem vários problemas pra funcionar com BSD, e se for isso  
mesmo, pode ser um bom bug pra você se divertir fechando.

> Eu deveria abrir um bug report em http://bugs.digium.com/ ??
> Alguém sabe me dizer o que eu posso fazer? hehehe

Minha sugestão:

1. teste isso em um Linux, se estiver usando BSD
2. tente fazer funcionar primeiro, procure algo no Google
3. fale com alguém disso no IRC, pois tem gente usando o chan_mobile  
normalmente
4. mande e-mail pra lista asterisk-dev dizendo que suspeita do bug,  
no caso de não ter certeza ainda
5. siga o que falarem, que provavelmente ou será "configure direito,  
o código tá certo" ou "por favor, reporte como bug"

> Muito Obrigado.

Happy hacking :-)

--
Caio Begotti <http://caio.ueberalles.net>

TEM DUVIDAS? LEIA O FAQ DO ASTERISK:
http://caio.ueberalles.net/asterisk/faq/















More information about the AsteriskBrasil mailing list