I need to send information from one to another phone using 3g connection; following the ideal scenario:
open the application
fill a form
click on "send to phone B"
Phone B (with the application in the background)
receive the request
execute the request associated code
send a reply to phone B
I just googled around but there are a lot of people that reported to me that such a thing is not possible because 3g network are NATed.
I perfectly know what is NAT and the reason behind nating on a 3g network but so I can't understand how applications like gtalk works.
I read that Gtalk use a server in the middle but anyway I can't understand how the server can communicate with the phone B for delivering the information received by the phone A since the server have only the public IP address of phone B (maybe shared with thousands of other devices)
Can someone explain me how does it works?
Since as for me have a server in the middle of the communication entities is not a problem how can I redesign the communication diagram?