DND state out of sync between Yealink phone and FreePBX extension

Hi,

We have a number of SIP-T54W phones and I have noticed that if DND is toggled (on or off) while there is a network connectivity problem that prevents phones from reaching the FreePBX server, when network connectivity is restored, DND state on the phone will remain what the user last selected, but the extension DND state in FreePBX is not updated/synced to match the phone DND state.
For example:

  1. Amy toggles DND on while her SIP-T54W phone has a good connection to the FreePBX server and the associated FreePBX extension DND state is also enabled.
  2. A network problem causes Amy’s phone connection to the FreePBX server to be disrupted.
  3. Before her phone’s connection to the FreePBX server is restored, Amy toggles DND off, on her phone. Amy’s phone DND status is off, but her associated FreePBX extension DND status is still on.
  4. Amy’s phone’s connection to the FreePBX server is restored, but her phone’s DND status remains off and her FreePBX extension DND status remains on, callers will immediately be sent to Amy’s voicemail and her phone won’t ring. Toggling DND (on and back off) on her phone resolves this and updates/syncs Amy’s phone DND status and FreePBX extension DND status.

Our SIP-T54W phone settings include:

features.dnd.allow = 1 (this is default)
features.dnd_mode = 0 (this is default)
features.dnd.on_code = *78 (default FreePBX feature code for DND Activate)
features.dnd.off_code = *79 (default FreePBX feature code for DND Deactivate)

If possible, I would like to configure the phones and/or FreePBX to automatically update the FreePBX extension DND state, in the described scenario. This doesn’t happen frequently, but it has confused users a few times. Thank you in advance for your suggestions!

There is no synchronization between your phone and FreePBX in this case. When you enable DND on the Yealink phone it will enable DND on the phone itself and silenty calls the feature code *78 in the background to aslo enable DND on the FreePBX too. It is only one way. Disabling DND in FreePBX will not disable DND on the phone. There exists a Subscribe Event “as-feature-event” which is supported by Yealink phone but sadly Asterisk does not support this event. This feature would allow to synchronize DND and call forwarding between phones and the pbx like the BLF buttons do.
There was a pull request for the Asterisk project (see: res_pjsip_device_features: Add forwarding and DND synchronization. by InterLinked1 · Pull Request #128 · asterisk/asterisk · GitHub) but sadly it was not excepted.

Thank you, Jonathan. That is helpful!
We’ll either need to offer additional training to our few users who regularly use DND and/or (probably effort better spent) do our best to eliminate network disruptions between the phones and phone server. :blush:

To be fair, the PR was auto closed because the submitter didn’t follow up on needed changes.

True. But this feature would have been a meaningful improvement. The missing synchronization leads to issues from time to time.
How many tickets I had with phones call forwarding to each other …