[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Understanding voip and NAT



On Fri, Feb 04, 2005 at 10:23:37PM +0000, Alan Chandler wrote:

> I would like to set up a system to communicate via voice from my Debian Linux 
> PC on my local lan - via a NAT D-link 604 broadband router to the net, to my 
> daughter running Windows XP  - behind a NAT wireless router (Linksys WRT54G) 
> - which she shares with some friends at University.

Using a microphone and headphones this is can be done with SIP software
for Linux (e.g. linphone, kphone, sjphone, LIPZ4) and Windows (e.g.
x-lite, sjphone, firefly).  The major problem is usually NAT but by
opening ports for the SIP messages and the audio (RTP - Real Time
Protocol) stream on the routers and/or employing an outbound proxy or a
STUN server there is no reason why successful connections should not be
set up.

Public STUN servers are easily available whereas you generally have to
signup with a provider to use an outbound proxy.  There are major
differences between the two methods but essentially both are intended to
overcome the problems of traversing firewalls and NAT.
 
> It would also be nice, but not as essential, to also add my wife's Win98SE 
> computer (also on the same LAN as my PC) into this communication system, with 
> one on one, or conference calling.

Equip your wife's machine with some suitable Window's client and have it
operate on a different SIP port from the client on your machine.
Forward this port on the router to her machine.  Whether conferencing is
possible is dependent on the clients. 

> I have a spare linux server on this network to run some form of server etc.

Not required.
 
> My local D-Link router has uPnP capability, and I can freely adjust which 
> ports are forwarded to which IP address inside my LAN.  I "think" (but I am 
> not 100% sure) that I get my daughter to adjust the routing of her NAT router 
> if necessary.

If your daughter has difficulty with configuring her router or does not
have access to it then NAT traversal can be accomplished by her using an
outbound proxy.

> I have been trying to read how to do this, but everything seems to assume that 
> you already know all about what they are talking about.  Could someone who 
> does understand it, give me some recommendations about what I should read 
> about.

Some links:

http://www.freeworlddialup.com
http://www.voip-info.org
http://www.voip.org.uk
http://www.gossiptel.com
http://www.voiptalk.org

These are by no means exhaustive but hopefully will be informative.  The
last two provide UK based SIP services.

> I think that I probably need some form of SIP server (to enable both my sofe 
> and myself to have independent addresses) which I can put on my debian server 
> on the LAN side of my router.  Debian seems to have two possibilities 
> (siproxyd and asterisk) for this, but I can't find anywhere that makes this 
> 100% clear, or tells me which one I really should use. (The biggest problem 
> seems to be NAT traversal)

No SIP server is needed and neither do you want siproxd or asterisk at
this stage.  Basically you use someone else's server.  Contrast using an
ISP's smarthost with sending mail directly, which requires you to run a
mail server.

Note that siproxd and asterisk perform different functions.  siproxd
is used to proxy requests from behind NAT to the internet whereas
asterisk is a PBX.
 
> In terms of a client, I was thinking of using KPhone (since I already run KDE) 
> on my Linux PC, and am looking around for something for the Windows machines.  
> Xten seems a possibility - but then I got confused since it seems to only 
> have a number dial interface and I couldn't see how that fitted with the 
> servers.

kphone should be fine.  I've used it without KDE.  I don't have Windows
and x-lite from Xten has no Linux version so I cannot comment on the
cause of your confusion.  However, the softphones I have used have all
had a way of entering a SIP URL as username@domain in addition to a
numerical keypad.

Something intended to get you going:

1. Go to voiptalk.org.
2. Read the voiptalk documentation on setting up a SIP phone.
3. Obtain an account.
4. Configure kphone with your username (User Part) and password.
5. Use voiptalk.org for the domain (Host Part).
6. Use voiptalk's outbound proxy without any forwarding of ports.
7. Test by dialing 901, 902, 903 and 904.
8. Test by phoning me if you wish.

ABrady has also given a very nice description of Skype and no doubt it
will enable you do what you want.  However, on a list such as this I
feel it is fair to point out that Skype uses a proprietry protocol and
although it is probably possible for it to interwork with SIP based
software its developers do not appear to have any intention of allowing
this.

Brian.



Reply to: