The title is the question....
Due to restrictions imposed by Network Operators, it will be impossible to have mobile phones talk directly to each other. So, you will need to implement an HTTP service that will act as the middle man.
The idea is that mobile phones will connect to the service and register. They will then use the service to discover other connecting phones. The service will finally proxy the conversation between two connected devices. A suitable software layer could make the whole process transparent.
You can open a ServerSocketConnection and a SocketConnection on the other side. This allow two way direct communication between two mobile phones. You can look at this page for some more details.
Possibly you can send the initial connection information by SMS and after that switch to socket communication.
@Szere, very cool. Do you know of any successful companies or J2ME applications (peer-to-peer gaming, IM or streaming) that are using this technique of opening a ServerSocketConnection and then embedding the IP address into an SMS to send to another phone to connect? Thks