Fixing connection errors on external (non-local) networks

This page looks at understanding why you might not be able to connect from StreamToMe to ServeToMe when the two are on different networks (via 3G, non-local WiFi or other remote connection). If you're trying to set up for the first time, please look through the Getting Started with StreamToMe and ServeToMe guide on the Support page and make sure you've followed all the setup steps to connect before looking at these troubleshooting steps.

Required steps for external connections

An "External" connection is when you are trying to connect to your ServeToMe server from the StreamToMe player running on a device or computer that is outside your ServeToMe server's local network. Generally, this means you are connecting from a 3G or non-local WiFi location.

Connecting from an external location (via 3G, non-local WiFi or any other remote internet location) is a combination of the following steps:

  1. Your computer running ServeToMe must be on (not asleep) and accessible via the local network
  2. ServeToMe must be showing an "External address"
  3. You must connect using this "External address" entered as a manual address (the "Local Servers" functionality will not work outside your local network)

In order to satisfy the first point, we strongly recommend that you connect from StreamToMe to ServeToMe via a local network (and resolve any issues that may occur) before attempting to connect from a non-local location. Please follow the Getting Started with StreamToMe and ServeToMe guide to connect via a local network (and resolve any problems using the Connecting on a local WiFi network support page) to get StreamToMe working on a local network before you try to get a non-local connection working.

The rest of the topics on this page will help you get the remaining two required steps working.

Reading ServeToMe's External Address

The most important information for connecting to ServeToMe from an external location is displayed in the "External address" field in the ServeToMe window.

The ServeToMe window showing an "External address" of 123.45.67.89

To gain the full benefit of this field, you must have the ServeToMe setting "UPnP/NAT-PMP port mapping" switched on and the ServeToMe setting "Disable external verification" switched off. The "Network adapter address" should also be "0". These settings should have these values by default but you can confirm that they are correctly set in the ServeToMe Advanced Settings.

To make external connections easiest, the top three checkboxes in the "Advanced Settings" window should all have the settings shown in this screenshot (ON, ON, OFF respectively) and the "Network adapter address" should also be "0".

When you first open the ServeToMe window, it may show "Mapping ports" or "Verifying..." in the "External address" field. Once these temporary states are complete, the ServeToMe "External address" field will show a message in one of the following forms:

  • An IP address (e.g. 123.45.67.89)
  • None. UPnP/port mapping needed.
  • None. Double NAT network.
  • None. UPnP not working.
  • Unknown (UPnP unavailable).

The first message is a success: your computer is correctly reachable from an external location using this address. If this is the case, then all you need to do is enter this "External address" as a Manual Address in StreamToMe and you will be able to connect. Visit the Using ServeToMe's External Address for more information.

The last message indicates that "External verification" is switched off or the external verification servers are temporarily down or unreachable. Make sure your external network is working and uncheck the "Disable external verification" checkbox in the ServeToMe Advanced Settings.

The remaining three messages indicate a problem:

  • None. UPnP/port mapping needed.
  • Your computer is not reachable from an external location and no UPnP/NAT-PMP service could be found on your local network.

  • None. Double NAT network.
  • Your computer is not reachable from an external location. A UPnP/NAT-PMP server was found but could only open access to another private network (it did not connect directly to the internet).

  • None. UPnP not working.
  • Your computer is not reachable from an external location. A UPnP/NAT-PMP server was found and appeared to succeed but despite this, external verification failed — something else is blocking the connection.

Follow the links to learn more about the first two errors.

For "UPnP not working" you should try restarting your modem and router and confirming that ServeToMe is actually reachable on the local network (since this error may occur when the firewall on your computer is blocking the connection).

Using ServeToMe's External Address

In the StreamToMe player, on the "Servers" screen, tap on the "Edit" button. This will display the "Add a manual address" fields. In the "Address" field, enter the "External address" and in the "Port" field, enter the port number from the ServeToMe window.

The ServeToMe window showing an "External address" of 123.45.67.89

NOTE: if there are two different "Port" numbers shown in the ServeToMe window (in this case, 9969 and 9971) and you're trying to connect to the "External address" then enter the port number on the same line as the "External address" (in the above example, 9971). In most cases however, there will only be one "Port" number shown (and it will be on the same line as the "Local address"). In this single "Port" case, enter the only "Port" number as it is the correct port for both "Local" and "External" connection.

The StreamToMe "Servers" screen showing the "Add a manual address" fields

The "Name" field in the "Manual address" is purely so you can give your server a human readable name, instead of an IP address. You can put anything you'd like into this field or leave it blank if you want.

An example of how a typical "External address" will look:

    Name: My ServeToMe Server

    Address: 123.45.67.89

    Port: 9971

Pressing "Return" on the keyboard in each field will move focus to the next field. Press "Return" from the "Port" field to save the new address.

Warning: the address and port should be entered exactly. Failure to enter the address correctly will likely result in a "Connection Timeout" when trying to connect to the server (although firewall issues or network reachability issues may also result in the same error).

Fixing a "None. UPnP/port mapping needed." message

ServeToMe tries to use one of two technologies — either UPnP-IDG or NAT-PMP — to make your ServeToMe computer reachable from outside your local network. If you're seeing this message, ServeToMe could not find a UPnP Internet Gateway Device or a NAT-PMP router on your local network so it was unable to make ServeToMe reachable from outside the local network.

To fix this message, you must enable UPnP or NAT-PMP in the appropriate network device (which may be your modem or your wireless router, depending on how your network is configured).

If your modem/router does not support UPnP or you cannot enable it for some reason, then you should skip this section and configure manual port forwarding instead.

An example of what enabling UPnP might look like in your modem settings (Note: every modem's settings will look slightly different).

If you have multiple networking devices (perhaps a separate modem and wireless router), then they may both be set to operate as router devices which makes working out which is the correct device becomes a little tricky. Enabling UPnP/NAT-PMP in the furthest device from your computer may fail to fix the "None. UPnP/port mapping needed." message but enabling UPnP/NAT-PMP in the nearest device may result in a "None. Double NAT network." message.

Please read through the Fixing a "None. Double NAT network." message section for solutions to networks with multiple router devices.

Fixing a "None. Double NAT network." message

This message will appear when you have multiple networking devices (typically a modem and a wireless router) and both are set to operate as "Network Address Translating" (NAT) router devices.

A NAT router device is one that creates a private local network. From a private local network, you can connect outwards easily but allowing a connection from the outside to the inside requires special configuration.

Ordinarily, ServeToMe uses one of two technologies — either UPnP-IDG or NAT-PMP — to make your ServeToMe computer reachable from outside your local network. However, these technologies are limited to exactly one NAT router. If you have two NAT router devices between the computer running ServeToMe and the internet, you will see the error message "None. Double NAT network.".

To fix the problem of multiple NAT routers, you must take steps to either:

  • Disable NAT for all routers except one
  • Allow the NAT router closest to your computer to bypass the other NAT routers

Disable NAT for all routers except one

We recommend you try to disable NAT in all routers except one as the first choice. This is not possible for all networking hardware but is the best solution when available. Assuming your networking devices are a modem and a separate wireless router connected to the modem, you should try to disable NAT in the wireless router.

To do this, look through your router's settings for one of the following options:

  • Disable NAT
  • NAT and DHCP off
  • Bridge mode: On
  • Router mode: Off
  • Apple AirPort "Router mode: Off" setting.

  • Connection sharing: Off
  • AirPort 5.6 "Connection Sharing: Off" setting.

All of these terms mean exactly the same thing: your wireless router will simply extend the local network that is already created by your modem. Ensure that UPnP is enabled in your modem and ServeToMe should work correctly.

Allow the NAT router closest to your computer to bypass the others

If you cannot disable NAT in your wireless router, then you need to let the wireless router skip over the other NAT device without interference.

There are two ways to do this:

  • Configure your wireless router to connect directly through to your ISP via PPPoE
  • Make your wireless router the DMZ of your modem
  • Configure port forwarding, aka a virtual server, from your modem to your wireless router

The first solution will require that your wireless router supports PPPoE and that you have all the login details for your internet connection from your ISP.

The second option is usually straightforward. The DMZ is the location on a network that receives all incoming connections. If your wireless router is the DMZ of your modem, then all incoming connections that are sent to your modem will be passed through to your wireless router (where the UPnP/NAT-PMP will be able to receive any valid ServeToMe connection requests and forward it on to ServeToMe).

An example of what setting a DMZ might look like if your router's WAN address is 192.168.1.1 (Note: every modem's settings will look slightly different).

The only point to pay careful attention to here: you must select the IP WAN address of your wireless router — the address that is valid on the modem's network as the DMZ — Selecting the wireless router's IP address on its own network will not work as the modem does not know about this address.

The third option, port forwarding, is explained in the next topic.

Setting up manual port forwarding without UPnP/NAT-PMP

If your networking devices don't support UPnP or NAT-PMP or you have a double-NAT network and cannot use any of the other options to resolve the issue, you may need to use "port forwarding" to allow incoming connections.

"Port forwarding" is a fairly simple concept: make sure incoming connections that reach your external gateway asking for a service by its "port" number are directed to the internal computer that you want to handle the service.

Unfortunately, offering explicit instructions is made a little tricky because every modem and router that permit port forwarding may use different terminology and require different steps to get port forwarding working.

The best solution is to search for your modem's brand and model and "port forwarding" using a web search and then follow these instructions to set up the required port forwarding for ServeToMe in your networking devices. Port forwarding may also be called "virtual networking", "virtual server" or "pinhole access".

Details you will need to know for setting up port forwarding:

  • IP address to which incoming connections will be forwarded.
  • ServeToMe uses TCP port 9969 by default. You should use the same port for incoming and destination.
  • Sometimes you will be asked to specify a service type for default settings. You can use HTTP/web server.
  • Sometimes you will be asked for a TTL/reset/timeout time. This doesn't really matter but you can use 86400 seconds if you need to give a value.
  • Everything else should be set to default values.

An example of what setting up a "Virtual server" (aka "Port forwarding") for a forwarding of ServeToMe's default port to address 192.168.1.1 (Note: every modem's settings will look slightly different).

The tricky point here is the "IP address". Can you forward directly to your computer? In this case, the IP address will be your ServeToMe computer's "Local address".

However, if you have a modem and separate NAT wireless router device, then you must set up port forwarding in the modem to forward to your wireless router's WAN IP address, not the ServeToMe computer directly. Once this is done, you must either enable UPnP in the wireless router (to handle the wireless router to ServeToMe computer part of the connection) or you must set up port forwarding from the wireless router to your computer's IP address.

NOTE: if you've set up port forwarding to the IP address of a computer or device on your network, you will probably want to ensure that the computer or device will always have the same IP address. Some modems/routers will automatically give a computer or device a fixed IP address if they are used in port forwarding but in most situations you will also want to look through the settings on your modem/router to ensure that the destination computer or device for the port forwarding has a fixed IP address.

My external address keeps changing

Many ISPs assign dynamic IP addresses — please consult your ISP to determine if this is the case for you.

With a dynamic IP address, your external IP address will change periodically, so you will need to update any IP address you use to access ServeToMe from an external location.

To fix this annoyance, you can setup a dynamic name for your computer. A dynamic name is a name that remains constant but will point to your computer whatever IP address it has at the time. You can use a dynamic name instead of an address in StreamToMe.

A dynamic name must be set up with a dynamic DNS provider. These are external organizations like http://www.noip.com or other providers. If you choose the most basic level of service, many of these services are free (although some periodically nag you to upgrade to paid tiers).

The dynamic DNS requires software in your modem or computer to notify it when your IP address changes to keep the name in sync with the address. If your modem offers built-in integration with dynamic DNS services then this is the best approach. Otherwise, you will need to run a program on your computer to do this. These are often specific to the service involved:

What to do if nothing helps...

Enabling incoming access to a local network is a tricky problem due to the lack of common features between different networking hardware.

Fortunately, enabling external access for ServeToMe is no different to enabling external access for any other server on a local network. If you're having difficulty with the settings on your network devices, you can search your network device documentation, support forums, websites like PortForwarding.com or simply search the internet for your device make and model and "port forwarding.

If you're having difficulty with the settings, you can send an email to the support address at the bottom of this page. Be sure to include:

  • The exact brand and model number of your modem and wireless router
  • How your ServeToMe server computer is connected to your network (wired to your modem, wired to your wireless router, connected wirelessly to your wireless router, etc)
  • How many networking devices you have and how they are connected (i.e. a combination modem/wireless-router or a separate wireless router wired to your modem).
  • The value shown in the "External address" field in the ServeToMe window
  • Screenshots of the configuration page for your modem and your wireless router, showing DMZ, port forwarding or virtual server settings.