Asterisk calls back after hanging up

Hello,
After hanging up the phone, * calls back and the phone starts ringing. Here is what * outputs on the console:
– Starting simple switch on ‘Zap/4-1’
– Executing [90264280888@phones:1] Dial(“Zap/4-1”, “Zap/1/0264280888”) in new stack
– Called 1/0264280888
– Zap/1-1 answered Zap/4-1
– Native bridging Zap/4-1 and Zap/1-1
– Started three way call on channel 4
– Native bridging Zap/4-1 and Zap/1-1
– Started music on hold, class ‘default’, on Zap/1-1
– Native bridging Zap/4-1 and Zap/1-1
– Starting simple switch on ‘Zap/4-2’
– Stopped music on hold on Zap/1-1
– Started music on hold, class ‘default’, on Zap/1-1
– Native bridging Zap/4-1 and Zap/1-1
– Hungup ‘Zap/4-2’
– Native bridging Zap/4-1 and Zap/1-1
– Native bridging Zap/4-1 and Zap/1-1
– Stopped music on hold on Zap/1-1
– Native bridging Zap/4-1 and Zap/1-1
– Native bridging Zap/4-1 and Zap/1-1
– Hungup ‘Zap/1-1’
== Spawn extension (phones, 90264280888, 1) exited non-zero on ‘Zap/4-1’
– Hungup ‘Zap/4-1’
– Starting simple switch on ‘Zap/4-1’
– Hungup ‘Zap/4-1’

And the called party didn’t even answer, it was busy.

Here is my extension:
exten => _90XXXXXXXXX.,1,Set(DIRNAME=${STRFTIME(${EPOCH},%Y%m/%d)})
exten => _90XXXXXXXXX.,n,Set(FILENAME=${DIRNAME}/${STRFTIME(${EPOCH},%H%M%S)}-${EXTEN:3})
exten => _90XXXXXXXXX.,n,System(/bin/mkdir -p /var/spool/asterisk/monitor/${DIRNAME})
exten => _90XXXXXXXXX.,n,Verbose(1|Echo /var/spool/asterisk/monitor/${DIRNAME})
exten => _90XXXXXXXXX.,n,MixMonitor(${FILENAME}.gsm,b)
exten => _90XXXXXXXXX.,n,Dial(${OUTBOUNDTRUNK}/${EXTEN:1})
exten => _90XXXXXXXXX.,n,Congestion()
exten => _90XXXXXXXXX.,n,Hangup()

I have 2 FXO and 2 FXS ports on my TDM card.

So why does * call back after hanging up?