Upgrade, lost all sound and ability to qualify

I have two asterisk servers.

one 1.4.x compiled from source
one 1.6.x centos rpms

the 1.4 has about a dozen sip phones that connect from various parts of the country. everything works fine, phones qualify, calls work both ways, etc.

I decided it was time to update, so starting with 1.4, i backed up evertying for easy restoral (its in puppet as well). stopped asterisk and installed the centos6 1.8.x rpms along with the dahdi modules. which went ok. Started asterisk with the rpm configs, moved in relivant entries (iax.conf,sip.conf,ext, etc) and reloaded. phones register and qualify, iax connection connects. But i cant hear anything other than ringing generated by the phone. No sound for calls to phones on the same server, no sound for calls across the iax2 pipe, no cound for playback locally or remote, etc. The calls do pick up, and the server reports its playing the files, i just cant hear anything.

I know, nat or rtp right? well, the rtp.conf looks normal, and of course nothing has changed on the firewall between the upgrade.

So its 3 am, i figure maybe i’ll try 11.8 directly from the digium repo.

uninstall 1.8, install all the 11.8 packages. Start it up, and in the config data. This time, none of the phones qualify. i immediately get peer ‘xxx’ is now unreachable last qualify 0. for every phone. the phones are registered, just cant qualify. If i change the type from peer to friend, still no qualify, but i can call out and get no sound as with 1.8. However in that situation i cannot call the phone.

if i leave it at type=peer and try to call out, i get unable to authticate device ‘XXX’

now, i ensured it was all set to use UDP, TCPenable=no, directmedia yes and no, etc. no tls.

I feel like i’ve missed some major upgrade step and just cant figure out what it is.

in the end at about 5am i reverted to the old code. i actually ran “make install” again, copied over the old configs and everything worked fine.

any ideas?