Channel busy vs. Channel Unavailable: how to detect?

I am working on a Call queuing system and I’ve got everthing working exactly as I want it except for one thing:

I can’t differentiate whether a channel (i.e. SIP phone) is BUSY on an existing call, or is unreachable (i.e. IP network problems).

ChanIsAvail simply lets me know if the channel is available or not. If the SIP phone is already on a call, ChanIsAvail returns that it’s not available. I also get the same result if the SIP phone is unreachable (due to network errors). I need to be able to tell the difference between the two, because if the channel (i.e. SIP phone) is not reachable, I’ll send the queue to another technology (probably a ZAP channel to a POTS call).

Anybody know how to accomplish this??? :confused:

Have you figured out that you can use the AVAILSTATUS variable to determine what the status of the channel you tested is? If not, I can post details based on what I have found.