I hope you appreciate this...spent some time on it. This is your Christmas present. lol Anyway, the best thing to do would be to pay extra for a static IP address for your remote location. This can be quite expensive though, so I'd understand if you wanted to avoid it. So if you want to avoid that cost, read on:
Here's an checklist of things that I would do, in order, if I were you (cheapest with good backup plans):
1) Before you depart for the remote location, enable remote management (and possibly set up a static IP/port forwarding if needed) of your local computer (computer where you live) so that you can configure/run icamsource immediately once all of the remote steps are completed. Or if you choose IP addresses/ports (read below) for each camera before you leave and set up a dyndns.org account, you could possibly schedule icamsource to start automatically when you think you'll be done with the below steps (let's figure a 8 hours max, once you get there and start working). Make sure that you have uPNP enabled on your local router (where you live) and have enabled auto port configuration in icamsource.
2) Install cameras and assign each camera a static IP address within your network (such as 192.168.1.101, 192.168.1.102, etc). Make sure you are able to access the camera through your local network, obviously. Use the same username and password for all cameras to simplify life. If the cameras are wireless and your wireless network security is WAP, try to avoid a passphrase that uses non-alphanumeric characters...some cameras have a bug that will prevent it from connecting. I'm not sure if your cameras suffers from that bug. Just keep that in mind when you're setting it up.
3) On the remote computer (computer at remote location - I will refer to it as remote computer from now on):
- enable wake-on-LAN in the BIOS at bootup (there might be an aditional option in your operating system under power management that you'd need to enable), and assign it a static IP address (such as 192.168.1.100). Wake-on-LAN might only work if your computer is wired to the router...not wireless.
- on the remote computer, make sure remote management is enabled in the operating system.
Download and install the following programs:
- dropbox (for free remote backup of motion events should you ever have to resort to using this computer again)
- dyndns.org's DNS updater program (free) & register for a free dyndns.org account and then setup the DNS updater program
- icamsource AND, if a Windows machine, download this file (
http://skjm.com/icam/iCamSourcePortForwarding.reg) to enable manual port forwarding. Install icamsource and then run the manual port forwarding registry file (with icamsource not running). Start icamsource (again, this is a backup to your desired plan), and use the IP addresses from step 2 to add the cameras as sources. For the port forwarding, forward ports 12000-12027 (or same ports you use in step 4 below). Change the motion recording directory so that it is within the dropbox directory (so motion events will be saved offsite if you ever need to use this computer to run icamsource). As far as the icamsource username/password goes, you might use the same username but make the password slightly different than your local version of icamsource so iCam doesn't freak out if you ever have them both running at the same time. This means you will have to change the password in your iCam app to switch to this icamsource. Start and stop icamsource so that it saves all settings.
4) On the remote router, enable remote management (make note of the port!). Make sure you have a secure password on your router. If possible, you might research and see what range of IP addresses AT&T uses for the iPhone. If you can find out this range, you could use it to limit the range of IP addresses that will be granted access to your remote router...preventing most hackers from even trying to guess your password. Disable uPNP. Set up manual port forwarding for the following ports (if forwarding only one specific port, I used the Virtual Server settings on the router...when forwarding a range of IP addresses, I used Firewall Rule settings on my router):
- private port 3389 for IP address of your remote computer to public port 100 (all protocols)...this is for Remote Desktop on Windows machines. If you have a Mac, you'll have to research the correct port (private) for remote management.
- private ports 7 and 9 for IP address of your remote computer to public ports 98 and 99 (all protocols)...this is for wake-on-LAN.
- private port 80 for IP address of camera #1 to public port 101 (TCP protocol)
- private port 80 for IP address of camera #2 to public port 102 (TCP protocol)
- private port 80 for IP address of camera #3 to public port 103 (TCP protocol)
- etc for additional cameras
- forward a range of UPD ports from 12000-12027 (good for 4 cameras...add 7 ports per camera) to the IP address of your remote computer (LAN interface)...this is what I had to do with a Firewall Rule. The purpose of this is to allow icamsource on your remote computer (should you ever need it) to communicate consistently with your iPhone.
5) Install the following free apps on your iPhone:
- Remote Desktop Lite - RDP (if using a Windows machine, this will allow you to remotely control it from your iPhone). There are better paid versions, such as WinRemote.
- Dropbox (this allows you to easily browse any motion events stored offsite)
- RemoteBoot Lite (this is to turn on the remote computer from anywhere...assuming the DDNS is updated correctly through the router). Read the reviews on iTunes for some helpful tips...this is kind of a pain. There is also a website that will allow you to send a WOL packet to any computer in the world. I haven't tried it, so I don't know how well it works.
6) Use your domain (let's assume icamuser.dyndns.org for now) to test the following.
- If using a Windows machine, use Remote Desktop Lite to connect to your remote computer by entering icamuser.dyndns.org:100, your computer username, and password. If you can't connect, then you'll need to figure out what you set up wrong. I'm not familiar with remoting into Mac computers, so I can't give advice on that. If you were able to connect successfully, then you'll be able to connect from anywhere you have an Internet connection...assuming DDNS is updating regularly.
- Shut down the remote computer and use RemoteBoot Lite to try to boot up the remote computer from your iPhone. If it works, then you'll be able to wake up your computer from anywhere you have an Internet connection...assuming DDNS is updating regularly. An example of the domain will be icamuser.dyndns.org:98 or icamuser.dyndns.org:99
- If your didn't set up icamsource on your local computer (back where you live) to start at a certain time, remote into that computer using Remote Desktop Lite (or Mac equivalent if using a Mac) to go in and set up/start icamsource. Your camera sources will be different than on the remote computer (which is on the same network as the cameras). You will replace the IP address of each camera with your domain name followed by a colon and the public port for each camera from step 4. For example: icamuser.dyndns.org:101/img/video.mjpeg, icamuser.dyndns.org:102/img/video.mjpeg, etc. Once you have set them all up and have a matching username/password in iCam and icamsource, start icamsource and see if you're able to view the cameras successfully.
7) Before you leave for home, save the MAC address of your remote computer's network card (for use with wake-on-LAN). Also make sure you save your remote location Internet provider's account number and customer service number. If DDNS ever fails you, you might be able to get them to give you the IP address currently assigned to your computer...which could allow you to wake up the remote computer, then login and run DDNS updater.