Incorporate nat-traverse

Asked by Thomas R. N. Jansson

I was thrilled to read your goals and seeing that someone finally looked into solving the problem of supporting non-technical users. However I think that asking a non-technical user to open ports in a router is bit to much to demand.

The perl script nat-traverse can transverse through NAT routers and if Remote Help Assistant utilized this the experience would be much simpler for the user who would like support. nat-traverse can be found here:
http://linide.sourceforge.net/nat-traverse/

Do you think it would be possible to incorporate this script into your program?

Good luck and kind regards
Thomas Jansson

Question information

Language:
English Edit question
Status:
Answered
For:
Remote Help Assistant Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
Andrew Sayers (andrew-bugs-launchpad-net) said :
#1

Adding NAT traversal would be really useful, but I'm afraid nat-traverse isn't currently appropriate, for three reasons:

1. The assistant uses an MIT license, so I wouldn't feel comfortable including GPL'd code directly in the project.
2. The assistant aims to only depend on packages in Ubuntu's main repository, so that the most complex case for users is to install a new package from a repository they already have access to.
3. Smarter people than I say that getting NAT traversal right is Hard, so I'm concerned about adding a complexity that can fail in strange ways

The Telepathy project is looking to solve all sorts of problems like this, so it might be possible to do NAT traversal with that as it becomes more mature. If you can get another NAT-traversing program into Ubuntu main before that, I'd be happy to try that.

The premise of your question is interesting though. The user requesting help shouldn't need to open up any ports in the normal case, as the program is designed to let the helper do all the work. I had assumed that those offering help would be technical enough to open up ports on their router, or have a new enough router to support UPnP. Am I missing something from that analysis?

Revision history for this message
Thomas R. N. Jansson (tjansson) said :
#2

I see the point with the licensing problem, but if it possible in perl it should possible to create similar functionality in python as well - not that I understand the perl script good enough to it my self though. :) I have no doubt that NAT traversal is hard but if the program is to support users that are not technical at all I think it is necessary.

In Denmark where I live it is very common to live in "andelsforeninger", which is a kind of housing cooperative where the owners by a part of the building with the apartment. The problem is that these housing cooperatives often have one large shared connection behind a single router. In this case some 10-50 apartments are behind one router and none of the apartments have rights to open ports.
In the case that both the user requesting support and the supporter are living in a "andelsforening" none of them will be able to open any ports and NAT-traversal is the only way to establish a connection.

It sounds interesting with the Telepathy project. If stumble upon another NAT-transversal project I will let you know. Which licenses are compatible with MIT in the case I find another script?

Kind Regards
Thomas Jansson

Revision history for this message
Andrew Sayers (andrew-bugs-launchpad-net) said :
#3

Argh, that does make NAT traversal a more important problem then. I've had a quick look at nat-traverse, and it seems to be an ingenious, but technically simple, wrapper around pppd. Pppd is installed by default in Ubuntu, so I should just be able to use that.

I'm going to have a look at this now, but my availability will be fairly sporadic this side of Christmas, so you'll either hear back within 24 hours, or not for a couple of weeks. I will need some help testing this though, so would you be willing to sign up to the mailing list and test out new versions from time to time?

Revision history for this message
Thomas R. N. Jansson (tjansson) said :
#4

Sound great that it is seem possible to implement within the packages in Ubuntu. I more than happy to test the versions for you but I can't seem to find the place to subscribe to the maillinglist?

Kind regards
Thomas Jansson

Revision history for this message
Launchpad Janitor (janitor) said :
#5

This question was expired because it remained in the 'Open' state without activity for the last 15 days.

Revision history for this message
Thomas R. N. Jansson (tjansson) said :
#6

Did you have anytime to look into this? Is there anything I can do to help?

Revision history for this message
Andrew Sayers (andrew-bugs-launchpad-net) said :
#7

Hi Thomas,

Sorry I didn't get back to you. I have looked at this issue a bit - it looks like the nat-traverse solution could work in principle, but I haven't yet got it working in practice. It's working its way up my todo list, and I hope to have some news in a week or two.

I should have been more clear about the mailing list. I was referring to the remote-help-assistant team list, at https://launchpad.net/~remote-help-assistant

Thanks for the prod :)
 - Andrew

Can you help with this problem?

Provide an answer of your own, or ask Thomas R. N. Jansson for more information if necessary.

To post a message you must log in.