Cairo
Cairo

Reputation: 341

Peer to peer over 3G

Hey I'm trying to get a CFStream connection going over 3G. I can get it working over wifi using the host name, but when I try to connect directly to the ip address it fails.

Is there a guide out there on how to connect over 3G?

Thanks ASH

Upvotes: 0

Views: 1054

Answers (2)

Julien
Julien

Reputation: 36

You can use NAT traversal in some cases. This is not a guaranteed method and depends on the type of NAT so you will still need a relay server if you want to guarantee connectivity.

A general rule is if both clients are behind symmetric NATs then a relay server is required. If only one NAT is symmetric then STUN, ICE, methods can be helpful in establishing P2P connections.

The following might help you:

Interactive Connectivity Establishment see en.wikipedia.org/wiki/Interactive_Connectivity_Establishment

PJNATH Open source project for NAT traversal in SIP/VoIP solutions see PJSIP.ORG

Upvotes: 2

Stefan Arentz
Stefan Arentz

Reputation: 34945

When you are connected to 3G then you are usually behind a router that implements some 'NAT' scheme. This means that your iPhone gets a private internal IP address on the inside (the 3G network) and a shared 'real' public IP address on the outside (the Internet).

This is all fine when you are just a client connecting to services on the Internet, but it will fail horribly when you try to connect to other clients in the same situation.

There is no simple solution for this. Programs like Skype work around this problem by using intermediate servers with public IP addresses that can relay network traffic between hosts behind such 'NATted' networks.

Upvotes: 2

Related Questions