I would like to know if the following use case is possible. I have done points 1-3. I am presently using WTK20 and MIDP 2.0.
1) Register a socket://<port> on a MIDlet via the Push Registry, dynamically
2) Allow the MIDlet to 'wake up' when this socket port in called by another entity.
3) Allow a ServerSocketConnection to read the bytes from the socket
4) Allow a Java AppServer to place a client call to this device, to reach socket://port, thus waking up the MIDlet
the problem then is what IP address i use to contact this MIDlet, as if the phone even has an IP address, it is dynamic and private.
It seems that there is little point in registering a serversocket or datagramconnection on a MIDlet via the Push Registry as there is no way for them to be contacted straight from an AppServer.
The WTK20 and JSR 120 talk about how to send a message via SMS or CBS. These appear to involve using a network provider's gateway, or the WTK20 utility.
So my question is: how do I wake up a MIDlet from an AppServer, that has NO dependency on any network operators' services?
Hi, I'm replying to myself as I haven't had any replies yet.
My issue was how I would get a third-party appserver to 'push' a message to a device, via socket, datagram, sms etc.
I now understand that WMA API is intended for device -> device message sending, with no server.
I would still like to be able to allow a third-party appserver, like JBoss, to send an SMS to a device, say to sms://+555000:789.
My issue now is, which Nokia API do I use, from within JBoss, to invoke a 'client' SMS call to an emulated mobile device? Is there an SMS Server API I should look at, that would integrate with the Nokia MIDP 2.0 SDK, or the WTK 2.0?
I understand this would have to be an emulation API, and I would have to send via an SMS gateway in production. I also realise that I could use the WTK 2.0 SMS Send utility, but I would like to be able to send SMS's to my my emulators programatically.
i just came across your thread. i been searching for some kind of special "server" (maybe fro, nokia or j2me itself) to do what you wanted to do. so far nothing yet. i am thinking of something similar too. so, i have to say that we are out of luck. the bottom line is that v have to send it sms through a carrier and cause most carrier would not let inbound connection through their network.(i also doubt they allow third party sms). pls someone say im wrong
yes, i guess the only way is to do that. but what i want my system to do is:
1) a server to get a mobile phone's ip
2) if new info available, server just open a port xxx without doing anything else.
3) thta midlet which is always listening, detects activity on port xxx and awakens.
i wanted to do this without using a sms to awaken the midlet.
i think this is possible cause i tried it using an emulator. by setting the midlet to listen to port xxx and then i open up the telnet and just open up the port xxx. true enough the midlet detects activity on port xxx and awaken.
all this done in my pc, so i was tryin to do this in real world.
i can't use the getLocalAddress() cause i don't own a midp2.0 phone. by using an emulator it will just return the pc's ip.
1 ques: how do a typical telco assign ip to device; do ip address get assigned each time a user access a WAP site/ uses GPRS connection(meaning whenever user uses GPRS a new IP is assigned) OR the ip address is re-assigned only when a device moves from one base station to another??
It works with Nokia, but you can only get the IP dynamically, that means, you can only get a real IP when you've established an internet connection.
If you haven't got an internet connection, the answer will be 127.0.0.1.
That means the whole modell only works when you are always 'online' and in my case it doesn't work either, because the real IP, I get from Vodafone when I'm online, isn't accessible from outside Vodafone.
I guess it isn't worth spending more time for this kind of application model...