Queue and problem with hangup detection

Hi,

have problem with hangup detection on incoming calls.
My extension.conf:

[Sony]
exten => s,1,GotoIfTime(08:00-19:59,mon-fri,*,*?Sony_praca,s,1)
exten => s,n,GotoIfTime(10:00-15:59,sun,*,*?Sony_praca,s,1)
exten => s,n,GotoIfTime(08:00-15:59,sat,*,*?Sony_praca,s,1)
exten => s,n,GotoIfTime(*,*,1,nov?Sony_swiateczny,s,1)
exten => s,n,GotoIfTime(*,*,24-26,dec?Sony_swiateczny,s,1)
exten => s,n,GotoIfTime(*,*,1,jan?Sony_swiateczny,s,1)
;exten => s,n,GotoIfTime(*,*,11,nov?Sony_swiateczny,s,1)
exten => s,n,Playback(Sony/godziny)
exten => s,n,Hangup

[Sony_praca]
exten => s,1,Playback(silence/1)
exten => s,n,Playback(Sony/powitalny)
exten => s,n,Set(MONITOR_FILENAME=Sony_${STRFTIME(${EPOCH},GMT+8,%C%y%m%d%H%M%S)}_${CALLERID(num)}_${UNIQUEID})
exten => s,n,Set(CALLERID(name)=Sony_${UNIQUEID}_${CALLERID(num)})
exten => s,n,Set(TRANSFER_CONTEXT=transfer_Sony)
exten => s,n,Queue(qSony|t)
exten => s,n,Hangup

[Sony_swiateczny]
exten => s,1,Playback(Sony/swiateczny)
exten => s,n,Hangup

[/b]

When caller hangup while message is played asterisk doesn’t detect that remote party hangup. Empty call is added to queue and then redirected to agent. When agent aswer it asterisk hanging up the call. Any idea how to fix it?
Agents receive many calls like this - its very annoying.

Greetings