DND status stays "busy", will not switch to "Unavailable" voicemail

Im using asterisk Ver. and FreePBX and a yealink phone mdl sip-t26p and a grandstream ATA (i think thats what its called) adapter.

I have 4 extentions, 50-53. 50,51,52 are on the yealink and 53 is on the grand stream. I have setup voicemail on ext 50 and have enabled VMX Locater and follow me settings. I have a busy and unaval voice mai.

What I am trying to acheave is the following.

Call comes in between 10am-5pm > goes to IVR >goes to ring group 600 or 601 (1 is sales 1 is tech support)

if ext 50 & 53 are busy goto a que and the have the option to press # to leave a voice mail or wait for free ext. OR

IF 50 on the yealink is DND get the UNAV voicemail with VMX to ring my cell.

Right now the only way to get the UNAV voicemail is to unplug the phone from the power, otherwise it returns busy the whole time.

Thanks in advance

I’m not sure if I followed your entire slow, however, I can tell you that DND from a phone, whether server side DND is used or a device specific DND, the DIALSTATUS that is returned is Busy and DND is most commonly equated with 'I’m busy, do not disturb me."

That may not be the case for your use model but that is the more ‘standard’ interpretation. In the FreePBX case that is what we set it to. The chunk of code is in macro-dial-one:

exten => s,n,GotoIf($["${DEXTEN:-1}"="#" | "${DB(DND/${DEXTEN})}"=""]?skip1)
exten => s,n,Set(DEXTEN=)
exten => s,n,Set(DIALSTATUS=BUSY)

That is consistent with device side DND implementations that I have observed where they send back a SIP 486 (Busy Here) which Asterisk will also interpret as Busy.

1 Like

I have the phone set to return 480 (temp Unaval) when DND is enabled.

I guess the bottom line question is how do I get the VMX Locator feature and voicemail to know the diff between “busy” and “unaval” . The idea for me is that if I am on the phone or it rings and I refuse/dont pickup its “busy” and If I turn on “DND” ext becomes “Unaval” thus the correct voicemail msg plays. Right now I have to unplug the phone and then it becomes unaval

A few small suggestions that might help you.

  1. You don’t need three separate accounts on the T26, unless you really want to have 3 separate numbers. If you program just the first account, then the phone will automatically do call waiting onto the other two line buttons… just make sure “call waiting” is enabled on your extension.

  2. On the T26, you can configure which SIP response it sends when you’re in DND mode. Log into the web interface of the phone itself, and under Phone->Features look for the entry “Return code when DND”. Sounds like it’s set for “486 - Busy here”, but you probably in your case want “480 - Temporarily not available”.

EDIT: Ignore #2, you posted 2 seconds before me saying you’d done that already.



Rob thanks for the info. I will delete the other two extensions. But the dnd being set to send 580 I still get the busy voicemail greeting. I have been trying figure this out even if I dial *78 it dosent work. If I look at peers in the cli if it shows anything other then unaval, when unplugged, it goes to busy. Side note if I try any of the core feature codes like *22 etc they don’t work. Do I have dmtf settings off? Server is running on amazon ec2 FYI. Thanks

If you are doing device side DND as you describe then it’s at the mercy of what Asterisk sends back.

If you do server side feature codes for DND then you could of course modify our dialplan though that’s always a bit undesirable. I don’t recall anyone ever brining up an issue with what DND returns so it’s never been considered making an option to choose the state for the internal DND feature.

You are welcome to put up a feature code for future consideration to control this, but if you are using device side DND then you may want to try and experiment with different response codes that it sounds like you can program to where Asterisk gives you what you are looking for.

there is hardly any network traffic, that is the least of your concerns. If anything, doing client side feature codes significantly reduces load to the PBX usually.

The downside of client side is that the server doesn’t know in advance the status of your phone and some features may not work quite as nicely as when it’s server side. From the FreePBX perspective we prefer phone’s are in server side mode.

However, I do understand that there may be different behaviors desired by some people as you have in this case. As mentioned, you are welcome to put in a feature request to keep it on the radar scope of making it possibly configurable in FreePBX.

Rob Thanks the ext hint on worked perfect.

Philippe - I am sending the 480 temp unaval from the phone however, it appears that asterisk is using server side feature codes for DND. I say this because if I dial *78 or press the dnd button the channel subscription status for ext 50 changes to busy. So I asume that asterisk does not even reach out to the phone to get the 480 unaval response. How can I make it device side and not server side for the DND. Also I will post a feature code for consideration.


Edit---- Ok on the yealink if I do not put in the feature codes for DND it appears asterisk trys to hit the phone and takes the response as unaval triggering the unaval voice mail and vmx options. This seems to solve my problem and for a small office the overhead will be min. If I had lots of phones and was worried about network traffic I could see the need for having the feature code to have it server side to keep network traffic down.

Thanks for walking me through this and the great help…

Ill be back Im sure