[AsteriskBrasil] RES: Instalando chan_mobile

Moacir O. de Souza Junior - Personalsoft Sistemas Ltda. moacir em personalsoft.inf.br
Sábado Julho 21 21:21:18 BRT 2007


Pois eh pessoal, boa noite!

Alexandre, o seu tutorial, ficou show! Por meio dele eu consegui fazer
funcionar um adaptador bluetooth (PLANET BT 410 U) e um celular Motorola
v635 e outro BenQ. Passo por um problema agora é que o AUDIO. Quando eu
atendo a ligação feita pelo celular, eu chego a escutar parte da primeira
palavra, mas fica nisso. Daí pra frente o áudio acaba :( . Qualquer ajuda
será muito bem vinda.

Do tutorial
-----------

Minha versão

---------------------
1º Parte - Bluetooth
---------------------

1) Configuração do bluetooth no Linux. 

Para isso eu usei este link
http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=6837. Ele é para o
Debian, mas funcionou normalmente.

O passo de configurar "rfcomm.conf" não é necessário (pelo menos eu não
configurei).
O meu arquivo /etc/bluetooth/hcid.conf ficou assim. Não sei se é a melhor
forma, mas das VÁRIAS que testei (dois dias quebrando cabeça com isso tudo)
foi a que funcionou.

options {
        autoinit yes;
        security user;
        pairing multi;
        passkey "9205";
}

device {
        name "%h";
        class 0x3e0100;
        iscan enable; 
	  pscan enable;
        discovto 0;
        lm accept;
        lp rswitch,hold,sniff,park;
}

O meu arquivo rfcomm.conf está todo comentado.

2) Autenticação - PIN (maldito PIN - este me fez apanhar bastante)

Explicando rapidinho. Pelo que eu entendi a autenticação do bluetooh
funciona assim: Dispositivo A quer conectar em B, logo A pede a B para se
conectar, para isso A carrega uma senha, que B, para aceitar a conexão
precisa sabê-la.  Na pratica, no Asterisk funciona assim: O asterisk tenta
se conectar no celular e vai carregando uma senha, e no celular aparece uma
solicitação de conexão, mas para conectar você precisa digitar a mesma senha
que o asterisk carregou. 

Aqui eu não entendi muito bem, pois eu imaginava que a opção "passkey" do
arquivo hcid.conf resolveria isso (na analogia, seria a senha que o asterisk
carregaria), mas não resolve (não resolveu no meu caso). Eu só consegui
fazer funcionar com carregando um daemon chamado passkey-agent do
BLUEZ-utils (o BueZ é o pacote responsável pelo Bluetooth no Linux))

O passkey-agent fica carregado (executando em segundo plano) com a
informação do dispositivo e sua respectiva senha.

./passkey-agent 9205 00:17:84:44:C4:38 & 
                / \        / \        / \  
                 |          |          |
                 |          |          Coloca a aplicação em segundo plano
                 |          MAC do celular
                 |
                Senha para conectar no dispositivo

* Teoricamente Bluetooth configurado e funcional - Vamos ao Asterisk

---------------------
1º Asterisk 
---------------------

1) Instalação Asterisk 

Para que o chan_mobile funcione é necessário pegar a versão do asterisk do
SVN Trunk.

Atenção: Até onde eu testei o chan_mobile só vai funcionar com a versão do
Trunk! Pois existem referências que as versões estáveis que eu testei (1.4.5
e na 1.4.8) não têm. Por exemplo: "#define ast_debug(level, ...)" do
logger.h

Compile e instale normalmente (./configure, make, etc...).

2) Instalação do chan_mobile
	
	Baixar o asterisk-addons
	svn checkout http://svn.digium.com/svn/asterisk-addons
asterisk-addons

2.1) ./Configure
2.2) antes do make menuselect, execute cd asterisk-addons (selecione somente
chan_mobile)
2.3) make, make install, normalmente.

3) Configuração do Asterisk

Antes de configurar o mobile.conf na CLI do asterisk execute: mobile search
Este comando vai listar os celular que estão próximos, repare a coluna PORT,
ela deve ser a mesma do item PORT do arquivo de configuração.

/etc/asterisk/mobile.conf

[general]
interval=10

[motorola]
address=00:17:84:44:C4:38
port=7                        <--------------*resultado de mobile search
context=incoming-mobile
[benq]
address=00:02:5B:00:06:E7
port=4                        <--------------*resultado de mobile search
context=bluetoothcelular


4) Plano de discagem

Para usar o celular, ficou disponível o canal móbile. 
Exemplo: Dial(mobile/motorola/999999999,30) 
Com isso o asterisk vai discar pelo MOTOROLA (device do arquivo mobile.conf
- [motorola])

Outros comandos para o plano de discagem também ficam disponíveis: 
MobileSendSMS(motorola,999999999,Asterisk PBX and Bluetooth)

5) Veja se os mobiles são vistos pelo * usando o comando na CLI

    mobile search

6) Veja o status dos mobiles pelo * usando o comando na CLI

    mobile show devices

7) Faça testes, melhore este 'ste-by-step guide' e relate aqui na lista :)



Com certeza eu devo ter esquecido alguns passos, mas como hoje é sábado, já
passam das 21:00 e eu ainda aqui no trabalho, tomando "chocolate" do
asterisk + bluetooth, na segunda-feira vou procurar detalhar um pouco mais
este tutorial, ai coloco na lista.

[]'s 

Cordialmente, 

Moacir O. de Souza Junior
Belo Horizonte - Minas Gerais - Brasil

 

-----Mensagem original-----
De: asteriskbrasil-bounces em listas.asteriskbrasil.org
[mailto:asteriskbrasil-bounces em listas.asteriskbrasil.org] Em nome de
Alexandre Cavalcante Alencar
Enviada em: quinta-feira, 19 de julho de 2007 19:10
Para: asteriskbrasil em listas.asteriskbrasil.org
Assunto: Re: [AsteriskBrasil] Instalando chan_mobile

Dois fixes para a mensagem anterior

Em 0. antes do make menuselect, execute cd asterisk-addons

Em 4. o correto é

    exten => _0[7-9]XXXXXXX,1,Dial(Mobile/BTM-001/${EXTEN:1},45)

Ats,

On 7/19/07, Alexandre Cavalcante Alencar <alexandre.alencar em gmail.com>
wrote:
> Olá,
>
> Depois de baixar o asterisk-addons, entre no diretório, há um arquivo
> chamado chan_mobile.c na raíz. Utilize o sistema de compilação padrão
> do Asterisk, não será necessário passos adicionais.
>
> Tenha instalado o bluez-utils, libbluetooth, libbluetooth-dev (adapte
> o nome dos pacotes à sua distro), além dos requisitos do Asterisk.
> Antes de tudo, veja se o bluetooth está funcionando:
>
> Em Debian
>
> 0. Instale o chan_mobile.so do trunk (o asterisk foi instalado de lá
também)
>
>     svn checkout http://svn.digium.com/svn/asterisk-addons/trunk
asterisk-addons
>     make menuselect
>     make
>     make install
>
> 1. Inicie serviço
>
>     /etc/init.d/bluetooth start
>
> 2. Faça um scan para ver se acha algo
>
>     user em host:~$ hcitool scan
>     Scanning ...
>             11:11:11:11:11:11       BTM-001
>             22:22:22:22:22:22       BTM-002
>             33:33:33:33:33:33       BTM-003
>             44:44:44:44:44:44       BTM-004
>             55:55:55:55:55:55       BTH-001
>             66:66:66:66:66:66       BTH-002
>     user em host:~$
>
> 3. Configure o /etc/asterisk/mobile.conf
>
>     [general]
>
>     interval=60
>
>     [BTM-001]
>     address=11:11:11:11:11:11
>     port=1
>     context=bluetooth
>
> 4. Configure o /etc/asterisk/extensions.conf
>
>     [bluetooth]
>     exten => 2020,1,MobileStatus(BTM-001,BTS)
>     exten => 2020,2,GotoIf($["${BTS}" = "1"]?5:3)
>     exten => 2020,3,Playback(beep)
>     exten => 2020,4,Hangup()
>     exten => 2020,5,Playback(beep)
>     exten => 2020,n,Playback(beep)
>     exten => 2020,n,Playback(beep)
>     exten => 2020,n,Hangup()
>
>     exten => sms,1,Verbose(Mensagem SMS recebida de ${SMSSRC} ${SMSTXT})
>     exten => sms,n,Hangup()
>
>     exten => 4040,1,MobileSendSMS(BTM-001,<número para o
> envio>,Asterisk PBX and Bluetooth)
>     exten => 4040,n,Playback(beep)
>     exten => 4040,n,Hangup()
>
>     exten => _0[7-9]XXXXXXX,1,Dial(Mobile/BTM-001/${EXTEN:2},45)
>     exten => _0[7-9]XXXXXXX,n,Hangup()
>
>     exten => 6060,1,MusicOnHold()
>     exten => 6060,n,Hangup()
>
> 5. Veja se os mobiles são vistos pelo * usando o comando na CLI
>
>     mobile search
>
> 6. Veja o status dos mobiles pelo * usando o comando na CLI
>
>     mobile show devices
>
> 7. Faça testes, melhore este 'ste-by-step guide' e relate aqui na lista :)
>
> Ats,
>
> On 7/19/07, Leonardo Kamache (Gmail) <lkamache em gmail.com> wrote:
> > Boa tarde pessoal;
> >
> > Gostaria de efetuar alguns testes utilizando o chan_mobile (ou seria
> > chan_cellphone?) disponível no branch do asterisk-addons porém quando
> > baixei o pacote via svn, não encontrei o mesmo na pasta channels.
> > Alguém poderia me dar uma luz?
> >
> > Desde já agradeço.
> >
> >
> > Abraços;
> >
> > Leonardo Kamache
> > _______________________________________________
> > LIsta de discussões AsteriskBrasil.org
> > AsteriskBrasil em listas.asteriskbrasil.org
> > http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
> >
> > _______________________________________________
> > Acesse o  wiki AsteriskBrasil.org:
> > http://www.asteriskbrasil.org
> >
>
>
> --
> +-----------------------------------------------------------------------+
> |       Alexandre Cavalcante Alencar (Skarmeth)      |
> |          http://people.debian-ce.org/skarmeth/         |
> |   GNU/Linux User #260571 GNUPG 0x77EA9FF8 |
> |   Debian-CE PSL-CE LTSP SABUGOSA SCYLLA |
> |                       Fortaleza CE Brazil                       |
> |09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0|
> +------------------------------------------------------------------------+
>


-- 
+-----------------------------------------------------------------------+
|       Alexandre Cavalcante Alencar (Skarmeth)      |
|          http://people.debian-ce.org/skarmeth/         |
|   GNU/Linux User #260571 GNUPG 0x77EA9FF8 |
|   Debian-CE PSL-CE LTSP SABUGOSA SCYLLA |
|                       Fortaleza CE Brazil                       |
|09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0|
+------------------------------------------------------------------------+
_______________________________________________
LIsta de discussões AsteriskBrasil.org
AsteriskBrasil em listas.asteriskbrasil.org
http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil

_______________________________________________
Acesse o  wiki AsteriskBrasil.org:
http://www.asteriskbrasil.org



Mais detalhes sobre a lista de discussão AsteriskBrasil