Use Yealink DSS Keys for transfering, and also DND monitoring

I’m in the process of transferring away from a different Asterisk based system. I’m trying to get a feature we had before set up in VitalPBX.

Currently, when we place a phone (Yealink T46S) into DND, it shows on the other extensions as a red light. I was able to replicate that on VitalPBX by setting the DSS key value to DND_ext. That works, but introduces other issues.

The main issue is that I can’t transfer calls to that extension now that the DSS value is different. Also, the DSS key doesn’t turn red when the extension is actually on a call.

Is there a way to get this working this way?

Hey Zach, welcome to the community!

Unfortunately, it does not seem like the regular extension BLF monitors DND as well.

This would be a goo feature request to add a toggle whether to include or not DND in the standard BLF monitoring.

Feature requests are usually posted under #wish-list

It worked before 3.1.2-1. Toggling DND on would show the extension BLF as busy.


Seems the fix, completely decoupled DND from the extension status, which not sure if should be the fully expected behavior right?

IMO: it should be optional, like a toggle which admins can enable/disable.

In our old system, if the extension has DND on, it showed as if the extension was on a call when monitoring them from the PBX. In hindsight, this must’ve been a workaround for this same problem… is there any way to get that sort of work around for this system?

Right now even with DND on, queues are also able to send calls to extensions. I just tested with (EDIT: via a client, doing my direct tests now) allow diversion on for the extension as well. So right now DND is basically only working for direct calls. This is certainly an odd behavior, DND set on a registered extension should mean the phone is busy in my opinion.

With the latest version, the behavior was modified, it used to work as you are describing before. Though before the change, extension not registered to the server showed as IDLE instead of UNAVAILABLE, so fixing this modfied the behavior for DND a lot for a registered extension.

Ok, well, here’s to hoping upcoming updates will address these breaking changes. If what you say is correct, I can’t be the only one bummed out by this functionality.

Issue is DND is not changing the extensions status. here is an example via a softphone, DND is active but the actual extension status is showing available.


So any body that is tracking the extension BLF directly will never now the extension not available via there status light. Only until they call will they get the DND message, its basically as if you where using local DND only not server side DND

Agents should be able to put themself on DND? Why don’t use the Pause feature?

In our use case, we have a receptionist that will do an attended transfer to our staff for MOST calls, but not all. If the receptionist is away or busy, it rings through to a (weighted) queue.

So, in short, I can’t rely on our staff to remember to go on DND AND use the pause feature when they step away from their phone. I can barely get them to remember to turn on DND.

Furthermore, since there’s no presence indication when an ext is on DND, the receptionist only knows the destination is unavailable once they start an attended transfer. If they’re on DND, the transfer has to be canceled and the receptionist has to find someone that IS available… which can be a slow process if she has to ring a dozen extensions before finding someone not on DND.


We are working on this, as I mentioned in another post you made it.


Not all usages of queues are related to pure call center scenarios, we use them mostly as advanced ring groups. So people do really expect hitting DND will mean no calls received at all which currently is not happening since the last update as Queues not even enabling ALLOW DIVERSIONS are taking into account the DND status of the phone.

@Miguel is there something we can add to the [sub-dnd-state] in extension__20-baseplan.conf that can allow the extension hint to also be set to INUSE when DND is activated?

So adding &Custom:DND_EXTENSION to the extension hints allows having the DND status to be tracked along with the extension status. In the current vital release this is not added to the hints, so only the actual call status of the extension is tracked. Of course any manual changes to the local file will get overwritten by the GUI config reload.

File: extensions__25_1.conf
exten => 801,hint,pjsip/801&Custom:DND_801
exten => 802,hint,pjsip/802&Custom:DND_802
exten => 803,hint,pjsip/803&Custom:DND_803
exten => 804,hint,pjsip/804&Custom:DND_804
exten => 805,hint,pjsip/805&Custom:DND_805

If this could be a toggle ans PitzKey mention I think it would be great, as some people would rather track DND along with the extension status rather than track if a phone is disconnected or not.

1 Like

Modifying that conf file would be enough of a solution for me, if there’s a way to make the changes permanent?

Create a custom file


Sorry, could you explain further? I’m new to editing asterisk files. I’ve tried crafting the file multiple different ways and it doesn’t seem to override the original hint.

I’m testing for extension 10. So, if I add exten => 10,hint,pjsip/10&Custom:DND_10 to the file you suggested, I see the following hints for 10 when I run asterisk -rx "core show hints"

10@extension-hints : pjsip/10 State:Idle Presence:not_set Watchers 1
10@not-allowed-featu: pjsip/10&Custom:DND_ State:Idle Presence:not_set Watchers 0

Adding that line doesn’t seem to be overriding the original hint setting.

Also, is there a sort of wildcard option I can use, instead of a new line for each extension. I’d rather not have to do it each time I add/remove an extension.

Actually, I think I figured it out right after I replied. I named my file extensions__22_custom_hints.conf, so it would load before the other hints. The contents of the file looked like this:

exten => 10,hint,pjsip/10&Custom:DND_10

Apparently having the [extension-hints] header was necessary too. That what it took for it to work for me, at least.

I’d still like to know if there’s a way to ‘wildcard’ this override, for all extensions.

This issue got addressed on VitalPBX 3.1.3

1 Like

After update to 3.1.3 the vitalpbx communicator softphone can no longer use DND, it says