It depends on the environment. Most consumer NAT devices are not symmetric, but there have been a few, and some of those were given away with every new connection by some ISPs. A whole lot of enterprise NAT devices are symmetric. So it really depends on the user base of your application.
Successful NAT traversal is somewhere between 50% and 97%, depending on the environment, according to other studies. Above 90% for most consumer user bases studied.
What you pointed out, which wasn't apparently to me, is that NetConnection/NetStream capability and behavior varies widely depending on whether Stratus, LCCS, or FMS is used.
While this might make sense to Adobe, it's very frustrating to developers who, while trying to figure out the missing details in documentations, also has to keep track of which details works where. Oy.
Anyway, thanks for your reply Matthew. BTW, your video on RTMFP was a blast to watch.
Well, what a NetConnection "can do" always stays the same, but the server at the other end might provide services that another server might not.
(For instance, Stratus provides no media relaying... LCCS does). Likewise what
a Netstream "can do" never changes... but whether or not the server you're talking to allows you to open NetStreams to it and publish or play on them also changes.
But this is no different than how the behavior of a NetConnection and NetStreams might change if you connect to an FMS application that does multi-user text chat vs. connecting to an FMS application that plays video on demand.
In Netherlands telecommunication company named KPN is ubiquitous. They give their customers routers such as Arcadyan ARV7519 and Thomson SpeedTouch with symmetric NAT set and modifies firmware preventing customer to change NAT type. If you develop for Netherlands, you will loose *70%* of users due to this. KPN is also operating in Belgium, Germany, Spain and France. If it would be possible to define in RTMFP which port ranges to use or RTMFP would support uPNP, then problem would be solved.
If I ever find a reasonable sollution to this problem, I will post it here.