Dúvida com Conexão via WMA

Olá a todos!

Postei a algumas semanas atrás, perguntando sobre os possíveis meios que tenho para a partir de um servidor web, conectar no meu cliente J2ME (sem que este esteja conectado o tempo todo).

Entretanto não obtive sucesso. Então, instalei o JWTK 2.2, que integra a API WMA (Wireless Messaging API). Esta possui algumas funcionalidades adicionais, comparada com o método de conexão HttpConnection. Ela prove, basicamente, tratamento para envio e recebimento de SMS.

Minha dúvida seria: Alguém já tentou utilizar WMA a partir de servidor para chegar no client, sem ter problemas com operadora?

Sei que mesmo assim, o client ainda, num primeiro momento, precisa “ouvir” a chegada de novas mensagens. Mas se alguém puder dizer algo sobre a conexão (via ou não operadora) eu já agradeceria muito.

Obrigado

Schmidt

Ninguém ?!?

Aceito sugestões sobre outras arquiteturas tb, já que tenho de desenvolver um framework que ofereça mais de um meio de comunicação.

Obrigado!

Estive fazendo uma busca sobre o assunto nos post’s aqui do fórum e encontrei uma situação semelhante a minha.

A API WMA, entretanto, foi utilizada para fazer a comunicação entre dois celulares e, meu caso, seria para comunicar um Servidor Web com um celular.

Mas enfim, já tenho esperança de que possa funcionar, tentarei fazer uma implementação para fins de teste, enquanto aguardo respostas.

Obrigado

Schmidt

Salve Schmidt!

Seguinte, pelo que entendi, você precisa saber se existe uma barreira (a operadora) entre o seu Servidor J2EE (capaz de enviar SMS via WMA API) e os clientes “cadastrados” em seu servidor. Correto?

Não tenho muita experiência com J2ME, mas acredito que as operadoras sejam, de fato, “gateways” entre um celular e outro. Assim, isso levaria ao pressuposto de que toda mensagem enviada pela sua aplicação J2EE para um cliente de operadora obrigatoriamente passaria por este “gateway”, gerando uma cobrança para você, ou então simplesmente não funcionaria.

Agora vem minha opinião… Se de fato as coisas funcionam assim, acredito que seja possível configurar seu próprio gateway, um servidor como o Kannel, funcionando exatamente como uma “operadora” entre a sua aplicação e os clientes J2ME da sua aplicação J2EE. Detalhes de configuração e protocolo são dependentes da tecnologia que você utilizar.
`
Agora, se as operadoras não bloqueiam essa comunicação entre o seu servidor e seus clientes J2ME, todo esse trabalho com o Kannel é desnecessário. Acho que o que você quer saber é se existe realmente esse “obstáculo” da operadora, “impedindo” a comunicação direta entre o seu servidor J2EE e seus clientes. Bem, eu não sei dizer ao certo, mas acho que SIM.

Vamos aguardar que alguém mais experiente se manifeste =D

Rodrigo

Opa!!!

Então para poder mandar mensagens através da rede de uma operadora não depende de tecnologia e sim de Contratos. :wink: Bom, nenhuma operadora deixa passar nada para a rede dela se isso nõao estiver acordado. É justamente por isso que quando surge uma nova operadora de telefonia celular é impossível mandar mensagens para telefones de outras operadoras e o contrário tbm. Pois, os contratos ainda nõa foram negociados.

Bom, existe uma alternativa, que é vc comprar um pacote de mensagens através da operadora, e assim ela permite que um IP seu possa mandar mensagens na rede dela. Uma vez fizemos um projeto que era assim.

Bom, se era essa a dúvida espero ter ajudado!

Abraços!

Bah, isso é um problema. Chegamos no consenso de que a operadora barra SMSs provenientes de um IP “não autorizado”, digamos assim.

Pelo que entendi, clientes J2ME podem acessar conteúdo de um gateway como o Kannel (http://www.kannel.org), mas o servidor não é capaz de enviar mensagens para um cliente em uma rede “privada”, ou seja, de uma operadora qualquer.

@jujo

Você diz que já se deparou com situação semelhante, poderia nos dar detalhes sobre o problema/solução?

Rodrigo

Opa!

A solução foi a que retratei acima. Comprar o pacote de mensagens com a operadora (TIM no caso). Com, isso ela liberou nosso IP, para que pudessemos acessar sua rede. Foi para um projeto de uma empresa que precisava enviar SMS para o celular de clientes, e funcionários!

Enfim, eu não sei se há como burlar este sistema, mas acredito que não haja mesmo senõa com certeza operadoras novas não teriam tantos problemas com isso!

Abraços!

hi !!!

@jujo e javaBeats

Valeu pela ajuda nas definições e esclarecimentos do atual sistema de comunicação/tarifação com celulares.

De certa forma, esses obstáculos impostos pela operadora já eram previstos, infelizmente. Visitando sites de empresas como a TMDATA (http://www.tmdata.com.br), percebe-se que a idéia de funcionamento segue o que jujo escreveu, a empresa deve manter os tais contratos com as operadoras para prover os serviços listados.

Para fins de pesquisa, irei consultar com detalhes esse pacote de mensagens, levantar custos, etc. Confesso entretanto, que irei continuar em busca de uma alternativa que alie custo/benefício. =D

Abraços!

Schmidt

[quote=jujo]Opa!

A solução foi a que retratei acima. Comprar o pacote de mensagens com a operadora (TIM no caso). Com, isso ela liberou nosso IP, para que pudessemos acessar sua rede. Foi para um projeto de uma empresa que precisava enviar SMS para o celular de clientes, e funcionários!

Enfim, eu não sei se há como burlar este sistema, mas acredito que não haja mesmo senõa com certeza operadoras novas não teriam tantos problemas com isso!

Abraços![/quote]

Se tu tiver um programa rodando no celular do cliente, ouvindo seu canal vc resolveria isso né? pelo menos estamos apostando nesta idéia aqui… só que o custo de investimento (pelo cliente - ter um celular “moderno” que rode MIDP 2.0) não é baixo - ( cerca de 900 reais - no mínimo). Mas se isso fosse uma possibilidade, resolveria neh!!!

Note o uso da palavra “ouvindo”: isso significa manter uma conexão WAP aberta com o servidor, ou seja, você pode se dar ao luxo de pagar a conta depois?

Não sei se estou enganado, mas acho que ainda não podemos nos dar ao luxo de manter um celular usando a banda constantemente. Mesmo em intervalos de tempo pré-definidos o custo deve ser absurdo.

Fico devendo uma idéia sobre bluetooth, com o qual nunca trabalhei.

Rodrigo

Note o uso da palavra “ouvindo”: isso significa manter uma conexão WAP aberta com o servidor, ou seja, você pode se dar ao luxo de pagar a conta depois?

Não sei se estou enganado, mas acho que ainda não podemos nos dar ao luxo de manter um celular usando a banda constantemente. Mesmo em intervalos de tempo pré-definidos o custo deve ser absurdo.

Fico devendo uma idéia sobre bluetooth, com o qual nunca trabalhei.

Rodrigo[/quote]

Opa, tu tem toda razão… não tinha atentado a isso, mas vem k,… usando PushRegistry vc mata este problema, correto?

Wow… agora você me atentou para algo que não conhecia. Realmente, PushRegistry + WMA API parece promissor. Encontrei o seguinte artigo:

http://www.devx.com/wireless/Article/22266/0/page/3

Que provavelmente fará do meu amigo Schmidt um cara mais feliz! =D

PushRegistry está além dos meus humildes conhecimentos em J2ME. Vou ter de ler um pouco mais a respeito pra descobrir se pode ser um bom “work around” para este tipo de problema.

Rodrigo

[quote=javaBeats]Wow… agora você me atentou para algo que não conhecia. Realmente, PushRegistry + WMA API parece promissor. Encontrei o seguinte artigo:

http://www.devx.com/wireless/Article/22266/0/page/3

Que provavelmente fará do meu amigo Schmidt um cara mais feliz! =D

PushRegistry está além dos meus humildes conhecimentos em J2ME. Vou ter de ler um pouco mais a respeito pra descobrir se pode ser um bom “work around” para este tipo de problema.

Rodrigo[/quote] :smiley: :smiley: :smiley: :smiley:

é isso ai pessoal , vamo nessa rs…

Wow … realmente, PushRegistry pode nos ajudar.

Mas pelo que li sobre o assunto até então, PushRegistry iria “startar” minha aplicação, assim que uma nova mensagem SMS (protocolo WMA) chegasse. Ótimo.

Entretando, a questão é, o celular receberia esse SMS enviado pelo meu servidor? Pelo que vimos nos post’s anteriores, mesmo usando PushRegistry, ainda existe uma “barreira” chamda “operadora” entre o server e o client.

É isso ou falei besteira?

Schmidt

[quote=schmidt] Wow … realmente, PushRegistry pode nos ajudar.

Mas pelo que li sobre o assunto até então, PushRegistry iria “startar” minha aplicação, assim que uma nova mensagem SMS (protocolo WMA) chegasse. Ótimo.

Entretando, a questão é, o celular receberia esse SMS enviado pelo meu servidor? Pelo que vimos nos post’s anteriores, mesmo usando PushRegistry, ainda existe uma “barreira” chamda “operadora” entre o server e o client.

É isso ou falei besteira?

Schmidt[/quote]

Até onde meus conhecimentos chegam, esta ai o grande problema. O teu cliente teria que ter um Midlet rodando que iria ser ativado ao receber uma SMS. Caso contrário não irá funcionar.

Alguem ai poderia entrar em mais detalhes sobre este Kannel? Valeu!!
E pelo o que eu vi ele soh funciona em SOs Unix, existe alguma alternativa para o Windows?