Outbound calling issues

I have been googling around for the last 2 days and I haven’t found anything useful but basically I have Asterisk up and running and capable of receiving inbound calls. However when making outbound calls there are a number of problems:

(1) There is a delay between the call being placed and the receiving system ringing of about 5 seconds
(2) The ring tone (I guess generated by Asterisk) continues on top of the ring tone generated by the downstream systems.
(3) If the downstream system is engaged we get both the engaged tone and a normal ring tone (again I suspect the latter is being generated by Asterisk - somehow!)
(4) We don’t seem to be able to detect CONGESTION correctly which I susepct explains some of the above and also why we are unable to get follow me functionality to work. Here it appears to be doing the right thing but then fails at the last hurdle of placing the outbound call.

The system was configured using Asterisk GUI and build from the latest source (1.4.25.1). We have a PRI interface with 8 channels running through a TE110P card as our main interface to the outside world. Internally we are running the 3CX client.

If somebody could point me in the right direction that would be really useful. If it would help I can paste up files and the debug from Asterisk though there’s loads of it so please let me know which parts would be the most relevant.

Thanks