From the description of your problem it seems as if RTP is not working, but SIP is. When you use the PhoneSystem you will have RTP going through different ports, in contrast to when you do a direct IP call. Is there any sort of fiewall in the middle blocking the RTP ports?

3CX Support. - http://www.3cx.com

Stop hovering to collapse...Click to collapse...Hover to expand...Click to expand...

They're all attached to a NAT router, but they're all inside it, so that shouldn't be causing any problems.

I've tried another pbx called axon, and that one (just typing in the extension details into the pbx, not changing any settings on the phones) works now and again, by which I mean I can dial other extensions, and if it puts me through then I'll have sound. More often than not though it doesn't put me through... (probably poor software!)

I've also tested a sip server called brekeke, and that one registers all the phones and allows perfect calls between. Obviously though it's not a pbx, so I would still like to fix this.

So it appears to be something to do with my software setup on the 3cx side, rather than any local settings. At least, that's the impression I'm getting.
I've tried two different pcs, but still no joy with it.

It's running on windows 2000, and I'm not getting any errors showing in the log files.