Outbound doesnt failover to next available trunk

I am new to asterisk and having difficult with my outbound calls. I have setup 25 internal phones: cisco and digium phones. I have a Digium Wildcarm TDM800P with 8 FXO ports. I current have port 2 and 4 setup for outbound. Both are on g0 and I have port 3 to receive calls only and not dial out. Port 2 and 4 can receive and dial out. I setup a trunk with g0 and my outgoing settings for Dahdi trunks are: Group 0 with round robin Ascending. I have manage to receive and dial out calls. It works like a charm, but then after some time, for some unexplained reason, I cannot receive nor place calls. I get the “All circuits are busy…”. I have replace my Digum card, but still the same issue.

When I access web freepbx and go to “CONNECTIVITY” and select “DAHDI CONFIG” and click on “Restart DAHDI and Asterisk”, i am able to receive and place calls.

But after a couple of hours, it goes back to busy…

I have asterisk 11.6.0
Freepbx 2.11.0.38
and Centos 6.4
Kernel: 2.6.32-358.14.1.el6.i686

Here is a log of asterisk -rvvv

Connected to Asterisk 11.6.0 currently running on localhost (pid = 14463)
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
== Extension Changed auto_hint_100[from-internal] new state InUse for Notify User 1
== Extension Changed auto_hint_100[from-internal] new state InUse for Notify User USER
== Extension Changed auto_hint_100[from-internal] new state InUse for Notify User 1000
[2014-08-14 21:40:49] WARNING[21382][C-0000009b]: app_dial.c:2437 dial_exec_full: Unable to create channel of type ‘DAHDI’ (cause 34 - Circuit/channel congestion)
== Everyone is busy/congested at this time (1:0/1/0)
[2014-08-14 21:40:53] WARNING[21382][C-0000009b]: channel.c:4816 ast_prod: Prodding channel ‘SIP/100-000000cf’ failed
== Spawn extension (macro-outisbusy, s, 5) exited non-zero on ‘SIP/100-000000cf’ in macro ‘outisbusy’
== Spawn extension (from-internal, 6691641, 6) exited non-zero on ‘SIP/100-000000cf’
== Spawn extension (from-internal, h, 1) exited non-zero on ‘SIP/100-000000cf’
== Extension Changed auto_hint_100[from-internal] new state Idle for Notify User 1
== Extension Changed auto_hint_100[from-internal] new state Idle for Notify User USER
== Extension Changed auto_hint_100[from-internal] new state Idle for Notify User 1000

Can somebody please help me out. It has frustrated me already. have I anything wrong

probably incorrect disconnect supervision. many recipes here and elswhere to ameliorate.