Hello Ralph,
I started looking at the tcpdumps and here's what I found so far:
Whether the connection is being NAT'd or not, it appears that the packet exchange between the host and snatmap are the same. In my case, it was always using ports 16384, 16385, 16386, and 16387 to try and put my video chat on. Unfortunately, I was unable to decode these packets to see what was going on in these exchanges and whether they were different. However, they were the same and at this point appear to be a non-factor. After all, based on what I am seeing here, I wouldn't respond on one of the ports if I was unable to see the inbound packet on a particular port and from what I can tell, I am responding on all four ports based on communications received on those ports.
After that, SIP appears to try and start traversing back and forth. In the case where it does work, SIP begins talking to the other peer on a randomly chosen port...somewhere in the 64000 range for me most of the time. In the case where it doesn't work, SIP refuses to be setup (NAT'd), a random port is not chosen and thus the conversation is not setup. If you can't find the SIP NAT failure in a tcpdump, the sure way to tell is if you look at the rest of the packets after the snatmap exchange and all packet exchange will reside on only one of the four AV ports...in my case, it always used the first one on 16384.
So, I did some more investigation on this and found that there is full cone, restricted cone, port restricted cone, and symmetrical NAT. I'm really not sure which one Apple supports, but it would appear that the developers at Apple only chose one or so of the types.
In my particular case, I am not sure which component on my network won't properly NAT SIP and I don't really feel like going back to my original network configuration to figure it out. All I can tell you is that a Cisco 2514, a Motorola Canopy SM, and a Linksys WRT54GS v1.1 is what my network consists of.
Thanks