Dialplan Looping

I’m attempting to dial out from a local channel and for some reason the dialplan appears to be looping. This is the output I see from my CLI on each attempt to dial:

    -- Executing [dial@outdial:1] Verbose("Local/dial@outdial-c7be;2", "Dial String = DAHDI/4/916367552335") in new stack
Dial String = DAHDI/4/916367552335
    -- Executing [dial@outdial:2] Verbose("Local/dial@outdial-c7be;2", "Dial Timeout = 20") in new stack
Dial Timeout = 20
    -- Executing [dial@outdial:3] Dial("Local/dial@outdial-c7be;2", "DAHDI/4/916367552335, 20") in new stack
    -- Called 4/916367552335
    -- DAHDI/4-1 is ringing
    -- DAHDI/4-1 answered Local/dial@outdial-c7be;2
    -- Executing [dial@outdial:1] Verbose("Local/dial@outdial-c7be;1", "Dial String = DAHDI/4/916367552335") in new stack
Dial String = DAHDI/4/916367552335
    -- Executing [dial@outdial:2] Verbose("Local/dial@outdial-c7be;1", "Dial Timeout = 20") in new stack
Dial Timeout = 20
    -- Executing [dial@outdial:3] Dial("Local/dial@outdial-c7be;1", "DAHDI/4/916367552335, 20") in new stack
[Jan  7 10:45:53] WARNING[15585]: app_dial.c:1547 dial_exec_full: Unable to create channel of type 'DAHDI' (cause 0 - Unknown)
  == Everyone is busy/congested at this time (1:0/0/1)
    -- Executing [dial@outdial:4] Verbose("Local/dial@outdial-c7be;1", "Dial Status = CHANUNAVAIL") in new stack
Dial Status = CHANUNAVAIL
    -- Executing [dial@outdial:5] Hangup("Local/dial@outdial-c7be;1", "") in new stack

Here is the portion of my dialplan that is repeating:

[outdial]
exten => dial,1,Verbose(Dial String = ${DIAL_STRING})
exten => dial,n,Verbose(Dial Timeout = ${DIAL_TIMEOUT})
exten => dial,n,Dial(${DIAL_STRING}, ${DIAL_TIMEOUT})
exten => dial,n,Verbose(Dial Status = ${DIALSTATUS})
exten => dial,n,Hangup()

Here is the contents of my chan_dahdi.conf file:

[trunkgroups]

[channels]
usecallerid=yes
callwaiting=yes
usecallingpres=yes
callwaitingcallerid=yes
threewaycalling=yes
transfer=yes
canpark=yes
cancallforward=yes
callreturn=yes
echocancel=yes
echocancelwhenbridged=yes
busydetect=yes
busycount=2
callprogress=yes
progzone=us

context=default
signalling=auto ; fxo_ks
channel => 1

context=default
signalling=auto ; fxs_ks
channel => 4

Asterisk version: 1.6.1.11.
Dahdi version: 2.2.1-rc2+2.2.1-rc2
Linux version 2.6.27.29-0.1-default (geeko@buildhost) (gcc version 4.3.2 [gcc-4_3-branch revision 141291] (SUSE Linux) ) #1 SMP 2009-08-15 17:53:59 +0200

Does anyone have any ideas on why this would be happening?

From logs You have posted:
There is no loop.
For me there are two diffrent connections. First get DAHDI/4 channel and second can’t get it, so "Every one is busy"
There are two channels id: Local/dial@outdial-c7be;2 and Local/dial@outdial-c7be;1