[plug] Skype

Craig Ringer craig at postnewspapers.com.au
Sun Nov 14 13:20:40 WST 2004


On Sat, 2004-11-13 at 12:53, Alan Graham wrote:

> > The random port can be explained if the program connects to some sort of
> > central or distributed registration database to tell clients where to
> > connect to.
> > 
> > In fact, the same thing can be used to punch through NAT without
> > firewall changes. The trick is to maintain a connection from the skype
> > client behind NAT to a directly accessible host. Potential callers
> > contact that host, which sends a message to your client through the
> > connection it is keeping open to say "please contact <blah> to receive a
> > call". It's a bit like a reverse charges call with an operator putting
> > the call through.
> > 
> I'd assumed that that's the way it works, but according to the FAQ,
> there's no central register.  It's a de-centralised peer to peer system.

That doesn't necessarily rule out the use of the approach I described.
You could simply have a lookup stage that discovers which node to ask
for the connection, then connect to it. A little like a Gnutella search,
for example, except the "answer" is "what node do I connect to when I
want to get a connection to this number?". There doesn't have to be a
central directory / registration server to perform that function (it's
just easier that way).

> I agree.  But it's so easy that my folks (both sets) in England
> installed it and got it working in no time.  That's just too good to
> resist.

Makes sense.

--
Craig Ringer




More information about the plug mailing list