Praveen
Praveen

Reputation: 1

J2ME SMS Server on mobile phone

Is it possible to have a j2me app on a mobile to act as a "SMS gateway" that will handle incommming messages, do a query on a database via GPRS and reply the user back?

Upvotes: 0

Views: 1772

Answers (3)

Daniel Hepper
Daniel Hepper

Reputation: 29977

It probably depends if your phone supports it. Have a look at the J2ME Wireless Messaging API:

The Wireless Messaging API (WMA) is an optional package for the Java 2 Platform, Mobile Edition (J2ME) that provides platform-independent access to wireless communication resources like Short Message Service (SMS).

http://java.sun.com/products/wma/overview.html

This article has some examples which can probably serve as a starting point for what you want to achieve: http://www.ibm.com/developerworks/wireless/library/wi-extendj2me/

Edit: as others have pointed out, you might not be able to receive all messages.

Upvotes: 0

funkybro
funkybro

Reputation: 8671

This is entirely possible on any J2ME handset that supports JSR 120 (i.e.: most of them). However as Wonil said, you can't just process ANY incoming SMS message. It has to be an SMS sent to a port number on which your app is listening (using a server connection as Wonil explained).

It wouldn't be automatic unless the app was signed (as confirmation is generally required for sending SMS and network access).

Another approach is to tether your phone to a PC using a USB cable/bluetooth/IR, open a serial connection using the phone as a modem, and write a program to listen for new SMSs using AT+CGML as described here. This would allow ANY incoming SMS to be processed (no port number required), and without any annoying confirmation prompts.

HTH

Upvotes: 2

Wonil
Wonil

Reputation: 6727

I think you should check about JSR-120 documentation to confirm. But, in my thought it might be impossible. If you want to receive message by using JSR-120, you should assign specific end point(port number) to listen as like below:

serverConn = (MessageConnection)Connector.open("sms://:5000");

So, you can't catch all SMS messages. It can't be a gateway then.

Upvotes: 1

Related Questions