Connect 2 computers on same LAN to WAN
February 14, 2021 at 4:16 am1 year, 11 months ago(@richardbaldwin)
I have two Soundjack instances on separate computers, but on the same LAN. I cannot map WAN 50050 to two different LAN addresses, so what do I do?February 15, 2021 at 11:32 pm1 year, 11 months ago(@jgspix)
Just an idea, I have no idea if it works or not.
You can try to use the VPN version of the IP-address on one computer and the other, that gets the port forwarding, using the normal address.
In general SoundJack is not meant to be used with two computers on a NAT-separated network like every consumer router uses.
It might work if you can open a VPN connection for all traffic (or SoundJack-related traffic) to a computer on the internet that is directly addressable (no NAT) on the internet.
Another solution might be to have a SoundJack server on you internal LAN and forward the router ports to the server address. Then you can connect with the different LAN IP-addresses to the server and the external ones should be able to connect too. But then you loose p2p connectivity.February 16, 2021 at 3:44 am1 year, 11 months ago(@richardbaldwin)
Thanks very much. The VPN solution seems to work. I am not a gamer, so p2p VPNs are unfamiliar to me and there is very little documentation about this option. I will play with the server option at a later date.
RichardFebruary 17, 2021 at 10:28 pm1 year, 11 months ago(@jgspix)
Can you elaborate a bit how you have done that?
Did you use the “IP-address (VPN)”-entry in the IP-address field of the stage for the second computer or did you use a VPN provider, linking all traffic through that provider (the last should work, but then you probably need to pay the provider for the VPN access)?
That information might be helpful for others.February 22, 2021 at 10:10 pm1 year, 11 months ago(@ianhowell2)
It typically works fine if you port forward one computer so it gets (111) *currently (131). You then connect the second computer without port forwarding. It gets crazy UDP ports self assigned and (381). It piggybacks on the port forwarded connection just fine though. I use this workflow to have a broadcast hub computer on the same network that I have my own low latency connection.February 23, 2021 at 12:25 am1 year, 11 months ago(@jgspix)
Ian, is my guess right that the port forwarded computer is working as a server?
It is correct that this will work with any number of internal or external users, but for a p2p-network, it would only work with two partners, the port forwarded machine and one external partner.
It would work with unlimited internal members, but then these non-port-forwarded machines cannot reach external non-port-forwared ones (and maybe not even external port-forwarded ones).
BTW, in any p2p-group one member can fully participate without port forwarding, but if there is more than one participant without port forwarding, these participants cannot contact each other.
The UDP ports are unchanged if the first and third digit in the three digit routing ID are 1. Anything other than that indicates that the router changes the port number (incoming or outgoing), but they keep track of that, inform the application about the port change and therefor the data traffic will reach the SoundJack controller.
The three-digit routing ID i explained in the SoundJack FAQ.February 23, 2021 at 7:54 pm1 year, 11 months ago(@richardbaldwin)
With respect to Jörg’s reply 4819, I may have overstated my results due to my limited knowledge of Soundjack. I will be doing further testing this week.
With respect to Ian’s reply, who is establishing these “crazy” UDP ports? I fundamentally do not understand the process by which these p2p “connections” are established. Is there more detailed information about this?
With respect to Jörg’s reply 4839, I would think this is more the router behaviour than the port forwarded computer working as a server. Unfortunately, most of my experience is with routers on government research and not with the simplified home systems. I cannot get any detailed information from my ISP on my own router/modem.
This would all be simpler if the p2p port was specifiable, rather than fixed at 50050.
As I am looking at groups of singers larger than 4 or 5, I think I will need to migrate to the server mode, rather than p2p. Is there any documentation on the simple server?
Thanks to both of you for your help.February 24, 2021 at 12:14 am1 year, 11 months ago(@jgspix)
Alex needed to change the port from 50000 to something else since a common router in Germany used port 50000 and about 20 above for VoIP.
It really doesn’t matter which incoming port to the router is used. Technically it should be possible to define an individual port for each user, but the you cannot use your login at a different location without changing it in the settings. Doesn’t make sense, leads to (user) problems, so not a good idea.
With groups of more than 4 or 5 it might make sense to use the (simple) server mode, but even the server might have user limits. That’s the reason why there is a complex server, but it needs a lot of cores (probably more than four) to run a choir. Alex test was with 25 singers and (if I remember correctly) eight cores.
Unfortunately I couldn’t get the (simple) server mode running on Mac OS X or Windows. Alex recommended Linux, which I haven’t tested yet.
You might need to get a realtime friendly version like Ubuntu Studio (that what I will check when I find time for it).
BTW, the UDP ports showed on the SoundJack stage are the ports of your computer, not the ports on the internet side of your router. The port number does not matter, the router decides if he wants to use a different port and communicates this to your computer and they both use the new port number to communicate.
Keep in mind that in your LAN you can have a lot of computers that all have the same number of ports, but only one address on the internet side, so only one set of these same ports. So it would not be possible to use all ports from all computers at the same time. If two computers use the same ports (i.e. for web browsing) at least one of them has to change the port to be able to communicate independently from the other computer. So port changing is a standard thing and nothing evil. It’s the router manufacturers decision when and to which address a port connection gets changed. Don’t worry about that.
The basic problem is that if you have two computers on your LAN with SoundJack, only one can get the traffic addressed to a certain port from the internet side IP-address, because the router (typically) only gets one IP-address by the internet provider (to keep the very limited number of IPv4 addresses low). Theoretically it would be possible to solve it by additional ports for SoundJack that are redirected to different computers on your LAN, but in general it doesn’t make sense. The load of connections rises for any participant and using a multichannel audio interface is a better solution for such a situation.
If SoundJack would be able to use IPv6 addresses (which is currently not the case and might take a longer time until it is realized) and your internet provider can give you an IPv6 subnetwork instead of a single address and your router can process IPv6, then that problem is solved. But until then, the only way to realize that is use a server as the destination of the port forwarding.
Keep in mind, that even then every SoundJack session you want to participate in must be in server mode on your server. Even if you only use one computer or you need to reconfigure the port forwarding in your router to your computer instead of the server if you want to connect your computer in p2p-mode.
The only info how to start the server is available at the “download” and “info”->”server” tabs. But this is in Linux dialect (“./file”), on Windows it would be a backslash instead (“.\file”) and on Mac OS X it would be the same as with Linux, but you need to use the Terminal and go into the SJCuvwxyz.app folder to find the file.
But that does not work on Mac OS X (10.11) and Windows (10 Prof.), it results in an error message on my machines.February 26, 2021 at 8:52 pm1 year, 11 months ago(@richardbaldwin)
This all makes sense, but as I will become the Soundjack guru for our group, I need to know the details. I have watched Ian’s “SoundJack BootCamp Training Course” videos, which are very good, but at a more practical level. I especially do not understand the piggybacking of the second LAN computer on the conversation of the first. I have dusted off my “UNIX Network Programming” by W. Richard Stevens and will work through the process of what is going on.
I very much appreciate both your and Ian’s help on these matters. My thanks.
With regard to the simple server, I have not tested it, but when I run it on my iMac (Big Sur 11.2.1), I receive no errors on startup:
Richard$ /Applications/SJC210106.app/Contents/MacOS/soundjack SERVER 2 256 2 50050
SJC STARTED IN SIMPLE SERVER (SS) MODE
MIXDOWN CHANNELS: 2
AUDIO FRAME SIZE: 256
JITTER BUFFER : 2
BINDPORT : 50050
I have to do some reconfiguring of computers to do a proper test. I do suspect, however, that I will end up going the server route, rather than p2p.February 27, 2021 at 11:37 am1 year, 11 months ago(@jgspix)
I am not sure about it, but I think you can announce to outside users that the server is not run on the standard SoundJack-port 50050 but a different one (a bit higher would be less problematic than between 50000 and 50040). I think the port number can be defined in the server or personal settings on the website.
That way you can still use one computer to connect p2p or outside server to others and keep your internal server for your own groups. But you need a second port forwarding in that case to allow other participants to get access to your server.
Thanks for your info how the server can be started on Big Sur. It’s very nice to get help for myself here too.
I checked it with a previous version of SoundJack on MacOS X 10.11 (as I only have an old and rather slow MBP 4,1 from 2008).
So I’m going to check it with MacOS X 10.13 (hacked version for my old machine) too, which is the same SJC-version as for Big Sur, maybe it is a problem with the SJC for the old MacOSes.
I have no idea why Alex has a second VPN-entry for every selectable IP-address and what it really does.
(I do know VPNs and have set up a few myself, but I have no idea where the endpoint is.)
I may need to ask him. BTW, I’m not in his team, more a kind of a bug reporter and external advisor in a few special cases.February 27, 2021 at 12:40 pm1 year, 11 months ago(@jgspix)
Thanks Richard, the server mode works now. Maybe I started the wrong version (for 10.13 and higher) before. I will check it on Windows too, as I got the same problem there.November 22, 2022 at 10:40 am1 year, 11 months ago(@salvatore)
where is it possible to find some easy instructions on how to configure and run a Simple Server in a local PC running Linux Ubuntu?
Well, I’ve read the instructions about Simple Server on SERVER FAQ section, and launched the command line “./soundjack SERVER 1 256 2 50050”, and received the following answer:
Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
SJC STARTED IN SIMPLE SERVER (SS) MODE
MIXDOWN CHANNELS: 1
AUDIO FRAME SIZE: 256
JITTER BUFFER : 2
BINDPORT : 50050
but I’m not able to understand how to connect a client SoundJack user to this server.
Where do I find it?
To be more precise, I too would like to connect 2 users of the same LAN to the WAN, and I’ve understood that it’s necessary to run a simple server session in one of the two PCs of the LAN, so that either the other one (in the same LAN) or the other user (in the WAN) can play together.
How do every one of the three players can join the running server?
Thank you in advance.
- You must be logged in to reply to this topic.