DND status not shown to other phones monitoring the extension - BLF stays Green

Status
Not open for further replies.

voxip

New Member
May 23, 2018
1
0
1
54
I have this issue but it is not limited to Yealink phones after more testing.

The BLF keys are not showing the Do Not Disturb status of a monitored extension when DND is enabled.
BLF is working as it should when the monitored phone is on a call but when a monitored extension is placed into DND it still shows available to other handsets.
We are having this issue on multiple Fusion PBX installations including older stable and up to date master.

The Yealink phones are different firmware versions and models. ie T46G/T48G/T46S/T58V in addition a Grandstream GXV3240 was tried.

It seems FusionPBX is not sending the NOTIFY needed to indicate DND is enabled on an extension, although it is in the Database and is visible on the dashboard as being in DND enables state.
.
The DND or BLF LED on the Phone itself (I may be wrong here) is toggled from this in fs_cli " [presence] turn_lamp: dnd+9001@xxx.com.au - false(boolean) "
I also see the NOTIFY (Presence) sent from FusionPBX when the monitored phone sends *78(or *79) to turn DND on (or off) and then I seen the NOTIFY when the Phone is Hung UP.
But I do not ever see a NOTIFY or anything else sent for the DND status itself.

Is the the correct behavior? Does anyone have any ideas if this should be working?
Is the second notify which changes the state from "<state>confirmed</state>" (BLF Red) to "<state>terminated</state>" (BLF Green) interfering with BLF state on the phone itself as this "terminated" packet is sent after the turn_lamp function is set when the phone hangs up.

At the end of the day I am really only guessing. I have followed some advice from various threads on this forums but their is no definitive answer yet that works for me.

The customer himself put it better than I could.
He wrote to me and said
" It does strike me as very odd behavior. It seems like an oversight – given there are many scenarios where you don’t want other staff to call your extension, not JUST because you don’t want the phone to ring – you want to let staff know you’re Not Available.
For example, in a sales organisation customers call and ask for a sales person. If that sales person is busy in meeting / web conference / skype call we do NOT want reception to put the customer on hold, call the extn, hit the voicemail system and then have to go back to the customer to advise that person is busy. Reception should be able to just look at that extn on the DSSKey panels and see that there is no point trying to put a call through at that time and just tell the customer that instantly without putting them on hold etc.
DND as implemented seems only useful for someone who doesn’t want to take calls BUT doesn’t want anyone to know they have chosen to do so. Other than sleeping under you desk during work hours I don’t really understand when such a system is useful / helpful. Am I missing something? Doesn’t this seem odd to you too??"

Anywhoo:

If we cannot get BLF keys to show the status of another phone extension with DND enabled Can we program one of the DSS keys to achieve what we want (ie: prevent the phone from ringing, go straight to voicemail if called AND show the extn as busy)?


Looking forward to your replies and thanks in advance.
 

DigitalDaz

Administrator
Staff member
Sep 29, 2016
3,070
577
113
Hi, I do not have time to test but this may be what you are looking for:

In the file: /etc/freeswitch/autoload_configs/lua.conf.xml

These lines:

Code:
    <!-- FusionPBX: Support BLF for DND -->
    <!--<param name="startup-script" value="blf_subscribe.lua dnd"/>-->

Uncomment so it reads:

Code:
    <!-- FusionPBX: Support BLF for DND -->
    <param name="startup-script" value="blf_subscribe.lua dnd"/>

Then restart Freeswitch and let us know if it fixes your issue.
 

teleportal

New Member
Jun 19, 2019
14
0
1
44
South Africa
www.parysinternet.co.za
Thanks @JamesBorne

Setting up the BLF Button with dnd+123 solved my problem to some extent but created a new problem now.
LED now turns red when the user activates DND for that extension, however, the normal functionality of the BLF button ceased to work:
- Monitoring Call Status (Does not turn red on active call)
- Calling extension/transferring call by pressing BLF button.

I understand I can set up separate buttons for normal BLF and DND, but this will confuse the user.
 

JamesBorne

Active Member
Jan 24, 2019
294
57
28
Australia
I understand I can set up separate buttons for normal BLF and DND, but this will confuse the user.

I believe this is the only 'stock' way of doing this on FusionPBX (Freeswitch). You would need to write something custom to override the existing functionality of turning the button 'green' when the user becomes active again.
 

Methodz86

Member
Apr 6, 2019
47
5
8
38
Thanks @JamesBorne

Setting up the BLF Button with dnd+123 solved my problem to some extent but created a new problem now.
LED now turns red when the user activates DND for that extension, however, the normal functionality of the BLF button ceased to work:
- Monitoring Call Status (Does not turn red on active call)
- Calling extension/transferring call by pressing BLF button.

I understand I can set up separate buttons for normal BLF and DND, but this will confuse the user.


Hi All, has anyone come up with a way for BLF status to turn RED for both DND and Active calls on the single BLF key with FusionPBX
 

Methodz86

Member
Apr 6, 2019
47
5
8
38
@Methodz86 No, still can't get a single button to work as expected. Customer rather ticked of since we merged them from an Asterisk system where this feature worked 100%. Anxiously awaiting resolution, please fill me in should you be successful.

This is also causing me grief with one client after migrating them away from FreePBX/Asterisk. I will keep looking around
 

demonspork

New Member
May 30, 2018
20
1
3
34
Based on some discussions in IRC, no we don't have a single button solution. My workaround when this is absolutely mandatory is 2 buttons per user, which sucks but is workable.

The way to fix it would be these basic steps:
1) Figure out what calls/commands need to be issued to Freeswitch to cause it to mark a user as Busy and Available
2) Insert those commands into the DND dial Plan
3) Test that a user on DND doesn't get their BLF status cleared when they hang up. Might have to also add the DND status commands from steps 1 and 2 into the main dial plan somewhere with continue=true and a condition on whether their DND status is enabled.

Now that I type this out, I realize if someone can help me on step 1 I would probably be able to implement and test this.
 

Methodz86

Member
Apr 6, 2019
47
5
8
38
Based on some discussions in IRC, no we don't have a single button solution. My workaround when this is absolutely mandatory is 2 buttons per user, which sucks but is workable.

The way to fix it would be these basic steps:
1) Figure out what calls/commands need to be issued to Freeswitch to cause it to mark a user as Busy and Available
2) Insert those commands into the DND dial Plan
3) Test that a user on DND doesn't get their BLF status cleared when they hang up. Might have to also add the DND status commands from steps 1 and 2 into the main dial plan somewhere with continue=true and a condition on whether their DND status is enabled.

Now that I type this out, I realize if someone can help me on step 1 I would probably be able to implement and test this.


I was doing some testing today with Yealink T46S/T42S phones but I can't quite figure out which commands from Freeswitch mark an extension busy (i.e on an active call = RED) or just idle = GREEN. and then sends that notify message out to other extensions that are monitoring that particular extension via BLF

If we can figure that out then maybe can implement that in to the DND dial plan as you suggested
 

gking77

New Member
Sep 9, 2019
12
5
3
47
Hi,
I don't know if this helps or not, but for Polycom VVX phones I use a shared call appearance for BLF. For example, phone A has extension 1000, and phone B has line 1 has extension 1001, and line 2 has an appearance of extension 1000. Phone B is monitoring extension 1000. Using the server based DND and Call Forward (as-feature-event) both appearances of 1000 subscribe. Then on phone A, I place a speed dial key for *78 (I think it's *78 or the DND toggle, could be *79 I would have to look). Also, I remove the native DND softkey on the Polycom. When phone A presses the DND speed dial toggle key, extension 1000 is now in DND on mode, and the appearances of extension 1000 light up on both phones. Also, for phone B, I silence the ring for extension 1000. Since it's a shared call appearance, BLF also works when a call is placed, and when DND is activated or deactivated. BLF for an active call, and BLF for DND on the same key.
 
  • Like
Reactions: pksml

bcmike

Active Member
Jun 7, 2018
337
58
28
54
I've just been asked for this as well. The above solution is very clever, but I have no idea how you would ever automate that in provisioning.

It would be cool to get this working.
 

gking77

New Member
Sep 9, 2019
12
5
3
47
Hi,

I create separate device profiles and use variables. I create 1 line, 2 line, 3 line, etc... also, create separate directories for the Mac.cfg files that contain separate entires that have speed dials. All of my phones use provisioning. I never program them from the web interface of the phone. When I get a chance, I’ll see if I can send you some info. Currently working at home like a bunch of us due to pandemic, but when I get chance I’ll send you some info.

I’m not saying it’s perfect, but it works.
 
  • Like
Reactions: bcmike

gking77

New Member
Sep 9, 2019
12
5
3
47
Here is a link to a quick video clip showing the work around. I put this together in my lab. The link will expire in a few days (audio is choppy due to using phones on MiFi hotspot). Here are some screen shots. For the lab setup, not too much involved on the provisioning.

https://www.dropbox.com/s/8iohnvliaqriykc/IMG_1370.MOV?dl=0





Here is my profile for the test phones.
1584842749471.png


Here is the device for User 1000
1584842813766.png


Here is the device for User 1001, with the shared call appearance of User 1000
1584842900200.png



In your internal profile, or whatever profile you are using for your phones, set multiple-registrations to true, and manage-shared-appearance to true.

Configure server based DND and Call Forward

In Default Settings set:
polycom_feature_key_sync - true

then...
1584843054716.png


I add this to the bottom of my {mac}-directory.xml at /var/www/fusionpbx/resources/templates/provision/polycom/5.x/ and make sure the phones are using the directory. I usually do read only directories because the phones can't upload any of their files without a 405 method not allowed.
<item>
<fn></fn>
<ln>Do Not Disturb</ln>
<ct>*77</ct>
<sd>1</sd>
<rt>default</rt>
<ad>0</ad>
<ar>0</ar>
<bw>0</bw>
</item>


It's a work around. Works for me. Hope this helps somebody.
 
Last edited:
  • Like
Reactions: bcmike

bcmike

Active Member
Jun 7, 2018
337
58
28
54
Wow thanks so much for the detailed response. I'll give this a shot and report back.
 
Status
Not open for further replies.