I
think what Tim is saying is that his AP's are at a remote site behind a firewall (using NAT) but they access the controller with a public IP address (which too, is probably NAT'd). This is the setup that I just got up and running with. It works well, but I was told explicitly that you
cannot upgrade your AP's in this configuration (yet).
The problem is that the AP is sending "authorize firmware version" requests to the controller, and the controller is saying "no, you need to upgrade". The AP tries, but then the TFTP will fail every time. I think support may actually be working on that (from what I hear from support).
I resolved this on two different locations using two different fixes. 1) Brought the AP on site, let it upgrade, took it back to where it came from, and 2) I logged into the AP remotely with ssh and downloaded the firmware from a TFTP server (tftpd) running on a PC local to the AP. You can find
instructions for that here.