DIALSTATUS and BUSY on Cisco when called party is onthephone

This sort of works, but not the way I intended. If I’m on a call using my Cisco 7960, the DIALSTATUS=BUSY statement is false. If I pick up the handset and get a dialtone, the statement is true before dialing any digits and a SIP BUSY response is returned. But not when I’m actually connected to a call.

Is there a way to make this work when I’m actually on a call?

exten => _2180616,1,Dial(${P500},20,tr)
exten => _2180616,2,GotoIf($["${DIALSTATUS}" = “BUSY”]?3:6)
exten => _2180616,3,Wait(1)
exten => _2180616,4,Playback(the-party-you-are-calling)
exten => _2180616,5,Playback(vm-isonphone)
exten => _2180616,6,Voicemail(su500@extensions)
exten => _2180616,7,Hangup