title: Creating an IPv6 SocketServer on Android device on a cellular network
body: <p>I'm trying to connect from a host (PC or other) to a mobile cellular Android device on the Verizon/AT&amp;T cellular network. This device uses only the 3G network and has its Wi-Fi turned off. The Android device has a listening socket and I need the remote host to be the connection initiator. As far as I know, Verizon/AT&amp;T uses NAT traversal for mobile phones and assigns local IP addresses to them on the cellular network. This prevents me from initiating a connection to the device from a remote host. Please correct me if I'm wrong about that.</p>
  
  <p>With the usage of IPv6 assignments there shouldn't be any practical limitation (virtually unlimited) to the number of "real" IPs that can be assigned.
  Therefore my questions are:
  1. Does the Verizon/AT&amp;T cellular network support IPv6 and assigns IPv6 addresses to capable Android devices?
  2. Is it a feasible solution to this problem?
  3. Does Android 2.2+ have enough support for IPv6 to implement such solution?</p>
  
  <p>I am aware of other methods that can be used, such as C2DM, but they have some drawbacks (such as unknown response time) that prevent me from using them.</p>
  
  <p>Thanks.</p>