Cheap Point-To-Point VoIP Through NAT?
An anonymous reader asks: "70% of my phone bill comes from calls to a few colleagues. We all have 'broadband' internet access (at least 100 kbit/s upstream) and are behind NATs, so we can share our access with the rest of our house-mates. The OS most used is Linux. In order to lower our phone bills I'm looking for a Point-to-Point audio tool which enables you to pass relatively easily through the NATs. I've had a look at Speak-Freely, which is quite nice as it sports things like GPG-encryption. But it uses two UDP and one TCP ports which is a bit much and not very NAT friendly. I wouldn't like to use commercial tools with central servers like Skype. What would be ok is to use a webserver to serve as a kind of starting point where you would update your IP address and ports. But it should be possible to give your mom and pop webhoster to set up or even better just a cgi-script which interacts with the clients via http or https. The audio data itself shouldn't be routed over a server (what a waste of bandwidth). Thanks for all ideas."
uses one port
open source, cross platform
here
Use Teredo and whatever protocol you like.
Teredo is a way to give yourself a realworld IPv6 address, even though you are stuck behind NAT (and without cooperation from the NAT device, like uPnP requires).
Basically Teredo tunnels IPv6 packets over UDP, and relies on the fact that most NAT's reuse the same source port for all udp packets that you send that have the same source address internally.
All your application only need to support IPv6. There are Teredo implementations for Linux and FreeBSD and Teredo is built into Windows SP2. Teredo also supports two people both behind NAT to talk to each other directly in almost all common circumstances.
So go add IPv6 support to your applications, and recommend your users use Teredo to defeat NAT!
Why not? I use it on Linux, I had some trouble with the sound but it works ok now. You can use it for free. I even payed for the skype out service to call regular phones and have saved a ton of money this month. I'm quite happy.
Take a look at Asterisk http://www.asterisk.org/. The wiki http://www.voip-info.org/wiki-Asterisk has more useful information. It is a full VoIP softswitch solution. In addition to SIP, H323 and MGCP it also supports the IAX protocol, which was designed to be NAT friendly. You won't be able to run it point-to-point. You will have to run an Asterisk server somewhere in your network, but since you are already running Linux on the desktop, it should be fairly easy to run it on one of them for a small network. Combine that with a dynamic dns service like dyndns.org and voila!
There's no easy way to communicate between two agents, both behind NAT. Period.
,,proxy''.
Having said that, where've you been for the last couple of years? There are free registrars that let you use rfc compliant VoIP like SIP: FWD, IPTel. You register there, but you communicate directly between your internet connections. This is really something like web page with your IPs, but automated. Kphone or Linphone are good for it on Linux.
You have to set up some kind of NAT traversal. You can set up port forwarding on the NAT and/or use STUN server.
Also, Skype isn't communicating via server. Skype only authenticates with server, but communication more or less is point to point. When the Skype client is unreachable directly, you communicate with it via third party (i.e. any Skype client with externally open ports). And the communication is encrypted with AES in order to avoid snooping by your
There's also teamspeak which requires extrenally running server (there are some servers publically available) but works like a charm with every kind of NAT, because all the communication goes thru server.
Robert
Bastard Operator From 193.219.28.162
Skype is not centralized. The authentication server is, but the voice traffic is all peer-to-peer.
Skype is nat friendly. All you need to do is forward one port. If you don't, the traffic will still get through by routing through people who are NOT on a nat, encrypted end to end.
I would say that Skype is the most NAT friendly of any of the consumer voice over ip programs, and the voice quality is superior.
Go with Skype; you won't regret it.
SIP based VoIP, Asterisk compatible if you want to get fancy, uses STUN to traverse nat'ing firewalls. They even sponsor a few SIP clients so it's all free, and you can buy a cheap hardware SIP phone or interface and make the calls from a real phone instead of a PC.
Get away from the computers and look to sipphone.com - just buy a small device and plug your phone into it. Except for the initial hardware purchase (which is minimal), it costs nothing. If you want to, you can also pay per minute and get to call regular phones, or even get yourself a normal phone number. I've been using it for about a year now and it works great.
linphone seems to work ok for this. Just forward the correct ports.
Connect the sites via IPSec VPN tunnels. Most NAT firewall/routers that support IPSec will allow the private IPs used at each site to be addressed directly, without any NAT. You'll be able to use whichever VoIP product suits your needs best without having to worry about NAT compatibility.
As a bonus, all calls and any other data between the sites will be encrypted.
Just use teamspeak, gamers have used voice comms for ages and teamspeak is just one of many. http://www.goteamspeak.com/products.php?t=screensh ots
Unless I'm totally missing something, why not just use port forwarding on your NAT?
Personally, I like FWD (Free World Dialup). While it can be used with various SIPS phones (hardware and software), they also put out pulver.Communicator which is like Trillian with VoIP.
http://www.google.com/profiles/malachid
...a Brita filter to make it smoother.
Stop the world; I need to get off.
rat
you specify the other end's ip address and single udp port. easy to port-forward.
it doesn't encode end-point data in stream, so rat won't get all confused when the other end identifies itself as a non-routable ip address, as with some protocols.
and with multicast, you can do teleconferencing with multiple people.
Don't try and fight with NAT's, wonky clients, etc., just VPN the lot together and make it all look like a simple little network. Takes the whole question and approaches it from an entirely different, and sound, angle. That's not flaky; that's inspired.
Heck, not just chat but file sharing, white boarding, remote printing, and everything else between these folks will then be trivial too, probably their next request anyway.
OpenVPN is pretty easy to set up, even for non-geeks. It's certainly no harder getting a bunch of folks to open ports on their diverse router models and then configure whatever chat clients to use 'em appropriately.
Again, clever solution. Mebbe not the best one but definitely an interesting one.
I don't read ACs: If a post isn't worth so much as a nom de plume to its author then I wont bother either.
I have to second this advice to SIPphone.com. There are number of benefits to going with SIPphone that the beginner may not realize. But first the cons:
1. There are upfront costs for hardware, unless you just go with the free softphone (X-ten lite). The hardware runs around $50.
2. Quality is not so good if you have shoddy upload rates (but this is general downside to VoIP in the real world and not unique to SIPphone).
But the pros are definitely worth the cost:
1. The ability to call other VoIP users in other networks (such as to FWD, IPtel, and IAXtel users). However, FWD has better peer access, allowing you to call Vonage users and other paid networks.
2. Nationwide access numbers are available. So, for example, you could call the access number on a regular landline (PSTN line, in VoIP lingo), and then be able to connect to a SIPphone.
3. Virtual numbers are available for purchase pretty cheap (about $6 a month) and all incoming calls to a SIPphone is always FREE! A virtual number means that you can have, say a phone number that's specific for a geographical region--for example, you can have a 610 area code number for the Philly area and have people call that number whenever they want to connect to your SIPphone. The benefit of this is: if you wanted to setup a dedicated fax line to just receive faxes, this is the way to go. As a price comparison, getting an eFax line is $12.95 a month (twice the virtual number price) and you don't get unlimited faxes.
4. The hardware you buy from SIPphone is NOT locked, which means that if you don't like the service, you can take it elsewhere. But from my own experience, it's about on par or better than other services such as Broadvoice.
5. Best of all, it's FREE! No monthly payments forever, nada, zip, zilcho. You just pay the upfront costs of the hardware and even then the prices are very competitive compared to outside (i.e. eBay). In fact, if you're just looking to buy fair priced VoIP hardware, I'd buy from SIPphone.
I realize that this post sounds like an advertisement for SIPphone, but in actuality, I'm a SIPphone user who's just real happy with my service. I wanted to let you know also that if one of your buddies go to school at UCSD, they can dial any SIPphone from their phone line anytime, free of charge to use. I've recently posted some thoughts about the whole VoIP service for the consumer on my blog http://linuxathome.com, perhaps you could check it out.
Linux at home