Callback problem without cell number provided

Hi, I have problems with the call back service, in the freepbx callback settings, I leave the callback number as blank then it should callback the callerid.
But no matter what i have tried it will only call one of my zap extensions. I am using TDM400p card. The zap extension number i created is 112. Anyone knows the problem?
the CLI log is :

Goto (callback,1,1)
– Executing Set(“Zap/3-1”, “CALL=112”) in new stack
– Executing Set(“Zap/3-1”, “DESTINATION=disa.1.1”) in new stack
– Executing Set(“Zap/3-1”, “SLEEP=16”) in new stack
– Executing System(“Zap/3-1”, “/var/lib/asterisk/bin/callback 112 disa.1.1 16 &”) in new stack
– Executing Hangup(“Zap/3-1”, “”) in new stack
== Spawn extension (callback, 1, 5) exited non-zero on ‘Zap/3-1’

If i put the callback number as my mobile number then everything is fine and the server will callback this number, but just my handphone won’t hangup although i can see ZAP/3-1 is hanging up from CLI, is that a way to configure asterisk to let the call hangup first before calling back?