Thanks Jay!! However, I've just tried your suggestion and it didn't work. I've set 5 entries, each pointing to my terminal's IP address, and using UDP with 12001 as both personal and public port. I did the same for 12002, 12003, 12004, 12005. But it resulted with the UDP blocking Broker Server error. I then tried editing to TCP+UDP for all five and that didn't work. But the good thing is that I tried to put my terminal in DMZ mode, and it worked perfectly.
Of course I don't want to continue expose my terminal to DMZ (BTW, is there any risk in doing so? I mean I have NIS installed on my terminal) So I usually turn on the DMZ when I need to use the iCam service, which is really inconvenient. However, at least I know it's my D-Link DI-504 Router that's causing all the problem.
The second problem I talked about, about not being able to access the Home Cam under WiFi, I found out that it's not my Home Network that's the problem. I tried using iCam under another WiFi network and it worked!!
But it's really wierd that I can't access my home cam in my office, not just WiFi, I tried the iCamWeb using my Desktop via ethernet, and it also says Source Connection Error (One or more of the iCamSources returned by the iCam Broker Server could not be connected to). I mean what could be a reason for my office network blocking INCOMING data???
Could it be that I am using the D-Link Router as the PPPoE connection and then another Wireless Router (Linksys) using DHCP as a Wireless AP. But I guess that could only explain the problem under WiFi, but I can't even see it under my desktop??
Any clue, guys??