From my experience, most mobile Internet providers (3G, HSDPA, etc.) only provide users with a private IP address. With a private IP address, it is not possible to accept incoming connections, unless the provider gives the option to set up incoming ports (which is very unlikely). The same goes with most public Wi-Fi hotspots. Unfortunately, most P2P applications require the ability to accept incoming connections to work properly.
It's worth asking your mobile Internet provider if they can give you a public IP address. If they can, it will most likely cost a certain fee.
You can check your IP address by connecting to the Internet via the mobile Internet unit, then go to the command prompt (start -> Run, type in "cmd"), type in 'ipconfig' and press enter. If the IP starts with 10.x.x.x, 100.x.x.x, 172.16.x.x or 192.168.x.x, then your provider has provided you with a private IP.
Note that a public IP website (e.g. whatismyip.com) will unlikely be able to tell whether your IP is public or private, since if your IP is private, it will show the public IP of the NAT router your service provider uses.