Yealink T46S/T46G BLF show green DOT icon even if NOT registered


Running Asterisk 16.12.0.
All phones have latest ROMS.

Asterisk shows correct state of phones using either “sip show subscriptions” or “core show hints”:

192.168.XX.XX   XXXXXX  0_110577667@192  1000@CHECK    Unavailable    dialog-info+xml <none>     001800
192.168.XX.XX   XXXXXX  0_3059174130@19  1004@CHECK    Unavailable    dialog-info+xml <none>     001800


    -= Registered Asterisk Dial Plan Hints =-
1000@CHECK           : SIP/XXXXXX  State:Idle            Presence:not_set         Watchers  X
1004@CHECK           : SIP/XXXXXX  State:Idle            Presence:not_set         Watchers  X
1003@CHECK           : SIP/XXXXXX  State:Unavailable     Presence:not_set         Watchers  X

When I dial an OUTSIDE line on another phone I can see correctly (on my phone) the BLF (button) of the person calling out is RED plus the icon shows a RED dot.
If I call another internal phone from another phone I can see (on my phone) the CALLING phone in RED and the CALLED phone red blinking.

That ALL works perfectly!

What is annoying that the icon shows a green dot even if the phone is NOT connected and/or NOT registered.
What I would like to see a RED dot in case the phone is NOT registered/connected.

How can I achieve that?

Hi @jobst, I’m running Asterisk 16.13.0. and Yealink T48S.
I was searching a solution for the same problem you described. Unavailables phone, i.e. not registered at all, are wrongly indicated as available (solid green BLF) by my T48S.
I did some testing with DEVICE_STATE(Custom:test-state) to find working states. When the Yealink receives the state UNAVAILABLE or INVALID it turns BLF to solid green. Looks like Asterisk is doing right but Yealink is doing something wrong.

If you find a solution, I’d appreciate if you share it here.

I have asked Yealink about this.

They reply was something like this: “Currently the phone can only support the BLF LED display with early/confirmed/terminated/proceeding NOTIFY states.”

I am currently asking on some lists about this.
This is stupid, it should display a red dot.

They are expecting one of these on the notification body, I dont know any setting on the Asterisk side to change the default behaviour on the notify process when the phone is not registered in order to match the Yeahlink requiments



1 Like

Thanks @ambiorixg12.

I want to understand something.
Asterisk is showing the correct information and send notifies for “unavailable” if you simply disconnect a phone yet the yealink phones simply display a green dot.

Is this a problem with the SIP protocol?
Is this a “fault” of Yealink?
Is this a “fault” of Asterisk?
Is this a missing feature?


Before answer your question let me explain you something about the states

Ringing (LED blinking)

The ringing state is notified within the dialog event subscription. The dialog state in the message body is early

Connected/Busy (LED on)

The connected/busy state is notified within the dialog event subscription. The dialog state in the message body is confirmed

Idle (LED off)

The idle state is notified within the dialog event subscription. The dialog state in the message body is terminated or left empty .

Unfortunately the way Asterisk notify is not compatible with the way yealink expect to receive the notification

Thank you for the detailed information. Seems like there is no easy fix.

I have the same problem, I even created a post on the yealink forum:

I have a T21P_E2 (Firmware the BLF Light is ON when Unavailable/UNKNOWN, is it right?
Is the BLF Light should not turn off when Unavailable?

The same occur on VP59.

finti*CLI> core show hints -= Registered Asterisk Dial Plan Hints =-7065@default : SIP/7065 State:Unavailable Presence:not_set Watchers 0

finti*CLI> sip show peersName/username Host Dyn Forcerport Comedia ACL Port Status Description Realtime7065/Celso MicroSip (Unspecified) D Yes Yes 0 UNKNOWN Cached RT

The answer from Yealink was:

Our R&D has analyzed the diagnostic files and find that the server sends the notify information to the phone which contains the status “terminated”, so the phone judges that monitored account is “terminated” and makes the BLF light on.

In this situation, please contact your service provider and ask them why server sends the “terminated” when the monitored account is Unavailable/UNKNOWN because the issue in on the server side not phone side.

If anyone find the solution, please let us know.

Looks this wont work unless asterisk or Yealink make a modification of their code, usally others SIP phone providers make Idle (LED off) when the dialog state in the message body is terminated or left empty . but Yealink does the opposite

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.