
More technical information can be found here, if needed:
http://www.source-elements.com/public
Introduction to how Source-Connect works.
Source-Connect transfers a real-time, high-quality audio stream between remote
locations via the UDP protocol. UDP is used in order to allow low delay
communication, and thus relies on network access to UDP ports.
Generally, the machine running Source-Connect is on a private network address
(behind NAT, or Network Address Translation). UDP is unable to independently
negotiate NAT, so the network (secured by a router and/or firewall) must be
configured with specific Port Mapping (or Port Forwarding) rules.
If for some reason Port Mapping is not possible, e.g. the user has no administration
access to the network, Source-Connect will attempt to negotiate the network.
Negotiation, if possible at all, is often slower and can create unwelcome delays and
data loss because the UDP data must traverse an unknown and possibly temporarily
available path. And, when this negotiation attempt simply attempt fails, the user
cannot receive the audio stream. In addition, if the ports are not mapped Quality of
Service rules cannot be applied. Therefore, we recommend to all users that in a
permanent studio situation they administer the network appropriately to allow
proper UDP port mapping.
Using other port numbers:
Source-Connect allows the user to specify a particular set of UDP ports. First, the user must
configure their internal network settings to connect via a static IP, rather than DHCP, and
then configure port mapping on the router. For example, the user configures the router to
forward all incoming UDP data on ports 6000 and 6001 to their internal IP address, and
enters the number 6000 in the Settings Panel of Source-Connect. (Ports may be any even
number between 1024 – 65534 and this number plus one).
How Source-Connect determines its network status
1. Source-Connect determines the internal(private/local) and external (public) IP addresses.
The external IP address is determined by sending an HTTP request to a remote application
on our server, source-elements.com:80 (147.202.41.185:80).
2. Source-Connect determines the port mapping status by sending an HTTP request to our
remote server to begin forwarding a series of test UDP packets to the specified ports (e.g.
6000 and 6001) on the determined IP address.
If Source-Connect receives these test UDP packets, it knows that port mapping is enabled,
and will use these ports for the incoming audio stream.
If Source-Connect does not receive any of the UDP packets, it will time-out and inform the
user that the test has either returned 'port not mapped' or 'failed'. In the case of 'port not
mapped', Source-Connect may have detected an alternative method of connecting and it is
still possible that the user will receive an incoming stream. Usually an outgoing stream is
8
ElDorado Recording Services Copyright Dec. 2009