I know this is an old thread but pfSense 2.0.2 still has the same "problem", it's actually a security feature.
Anyone using pfSense should understand what I'm about to type out to get this working properly.
First, a run-down of the problem. pfSense, by default, rewrites the source port on all outgoing connections. What this means is even if icam and uPnP are both working on port 12000, pfSense will tell the iCam client (phone, tablet, whatever) that it's using port 55432 or something to that effect.
What needs to be done with pfSense is Advanced Outbound NAT needs enabled, and the icam server requires a static port setting. More info here. Apparently I can't post links so you'll need to copy, paste, and fix this link: hxxp://doc.pfsense.org/index.php/Static_Port
I set up an AO NAT rule as well as manual port forwarding (I don't do uPnP, big security hole) for my iCamSource pc and don't have a single issue.
Don't forget to either clear the states or reboot pfSense after changing outbound NAT rules.
It's working beautifully for me with my pfSense router.