When I’m on my extension and another call comes through, I get the call waiting beeping, and I see the call on my display. But when I don’t answer it, the person gets my unavailable message instead of my busy message. My extension macro looks like:
From looking at the code it seems that you have it set that if you dont pick up within 20 seconds then it should go to the next context. The problem is that when you are on the phone and the second call comes in it tries you for 20 seconds and then goes to VM. The n + 101 extension is only if the extension is busy (i.e. if its a ZAP channel thats off the hook or it cant send the call to the phone etc.). What you can do is set in your configs to see if your on the phone. If you are go to a diff pri. and if you dont pick up in 20 seconds then to go to busy vm.
as i recall you dont need the n+101. Priority jumping is considered ‘bad’ and is discouraged in v1.2 and later. Thus, Dial() does not jump unless you use the ‘j’ flag. adding the j flag to dial() will make your code work as intended.
I believe if you remove the u, that Voicemail() will automatically read the dialstatus variable and play unavail or busy automatically…