[SOLVED] BLF Hints Not Working

Hello all,

I am experiencing an issue with BLF for non-extensions, like *280 for our call flow control feature code, or *45 for the call queue toggle code. I did check that the call queue toggle is enable to create the hint for BLF, but when I configure a Cisco phone to BLF *45, I see an orange light instead - the same is true for call flow control.

I also have dynamic hints enabled under advanced settings, and asterisk.conf also has execincludes=yes under [options]. When I type ‘core show hints’, I see that the hint is generated for the call queue control, but I do not see one for the call flow control.

Is there something I am doing wrong, or am I missing a setting somewhere else?

My PBX service pack version is:

And here’s everything else:

Backup & Restore Schmoozecom.comEnabled
Blacklist FreePBXEnabled
Bulk Phone Restart Schmoozecom.comEnabled
CallerID Lookup FreePBXEnabled
Custom Applications FreePBXEnabled
DUNDi Lookup Registry FreePBXEnabled
Feature Code Admin FreePBXEnabled
FreePBX ARI Framework FreePBXEnabled
FreePBX Framework FreePBXEnabled
FreePBX Localization Updates FreePBXEnabled
Java SSH FreePBXEnabled
Online Support FreePBXEnabled
Phonebook FreePBXEnabled
Phonebook Directory2.10.0.1 FreePBXEnabled
Recordings FreePBXEnabled
System Admin2.10.0.23Schmoozecom.comEnabled
User Panel FreePBXEnabled
iSymphony 1.4.3 Enabled

Announcements FreePBXEnabled
Bulk DIDs Enabled
Bulk Extensions Enabled
Call Flow Control
Call Forward
Call Recording
Call Waiting
Do-Not-Disturb (DND)
Follow Me
Info Services
Misc Applications
Misc Destinations
Paging and Intercom
Queue Priorities
Ring Groups
Set CallerID BrevdaEnabled
Time Conditions
Voicemail Blasting

PBX End Point Manager NagyEnabled

Asterisk API
Asterisk IAX Settings
Asterisk SIP Settings
Extension Settings CarlssonEnabled
Fax Configuration
Music on Hold
PIN Sets
Parking Lot
Route Congestion Messages
Speed Dial Functions
Text To Speech Engines


Also, I am using Cisco SPA 504 and 508 phones. BLF works fine for actual extensions, but not for feature codes.

Goto the “Advanced Settings” under Settings. Look for “Enable Custom Device States” Enable this and hints will work.

I believe that dynamic hints is to ensure that hints are generated properly when you are hotdesking with device and user mode, i.e., using the user login and the user logoff feature codes. As gwinton said, you want Enable Custom Device States in Advanced Settings module.

Thanks gwinton, and adhominem - that fixed the BLF for the day/night button.

However, the call queue button is still not going red or green. This would be to log in or out of a particular queue. I have it currently set to *[email protected], only because it wouldn’t work as 45115215, where 115 is the extension and 215 is the queue’s exten.

Am I doing something wrong here?

Ok, it is mostly working.

I guess I haven’t changed the BLF to say 45115215 since I enabled custom device states. Now with it set to the full string, it turns green or red if I am logged in or out, but I found I can’t press the button to active/deactivate. Is this the way it should work? In other words, is that string only meant for BLF and not for logging in and out of that specific queue?

Thanks again for all your help! Hopefully I’ll be able to do the same here soon.

EDIT: Never mind! It didn’t change the phone’s dialplan to include xxxxxxxxS0. I added this in and now I can press the button to log in and out.

EDIT: It also seems that the better way to use the dial plan string is as “xxxxxxxx.” instead of with S0. Works well now!


I would like to implement a blf exactly as you have described: a button on the phone that will log a user in or out of a queue with the light showing the phones current state (e.g. green=logged in, red=logged out).

I have never done a BLF before and am wondering if you could detail the steps that you used to set all of this up?


Bryan Hunt

We’ve been trying to do this exact same thing. We are able to properly log-in and out, but the light on the SPA-504g always remains orange and we can not get it to switch between red and green. Any ideas or clarification on how you were able to get this to work?

rastan and brhunt:

there are a couple things to make sure are set to get the BLF lights to work for call flow control and queues. what I would first suggest is in freepbx to go to settings -> advanced settings -> look for “Enable Custom Device States” -> set it to “True”.

Additionally, if you have queues configured for dynamic members to log in and out of their queue at will, you can either leave them configured with a BLF of *45 (if the given phone’s extension is only a member of one queue), or you can set the blf to 45extque - where *45 is the queue log in/out feature code, ext is the extension of the given phone, and que is the given queue number to log out of. If I’m not mistaken, pressing a blf button as *45 on a given extension that belongs to multiple queues will log that extension in or out of all queues. Or it might do nothing… can’t remember how it works when belonging to many queues.

Also, you would want to ensure your Cisco phone’s firmware is updated to the lastest version just to make sure all other kinks are worked out. I’ve also found some problems in the OSS Endpoint Manager that I’ve submitted corrections for when Cisco SPA phones are on firmware 7.5.4a or later where a speed dial button blinks orange when set through the provisioning system. If you have any problems with BLF buttons on the Cisco phones for the queue, call flow control, etc, then first try configuring directly at any phone to make sure it isn’t a provisioning glitch.

Bryan, I didn’t notice your question until now. My apologies for not replying sooner. I would first recommend that you read the configuration guide for the phone model you are trying to configure BLF for. If I tell you how to do it on a Cisco SPA 5xx phone and you’re using Yealink phones, you’ll be disappointed at the difference. I suggest using the provisioning system to make your life easier, but either way it can be done at the phone directly as well. For Cisco SPA phones, it is a little more involved than that of a Yealink phone, for example.

Either way, it is not very difficult at all, but the best place to start is the configuration and provisioning guides for those phones. We (as a company) choose to only support a few different manufacturer devices so we don’t have to become a master of too many different device types.

Thank you. We were able to get it all to work. We had to use the device ID vs the extension to accomplish the BLF toggling.


Sorry that I didn’t update this ticket. I was able to get the toggle/BLF to work the way that we wanted.


Bryan Hunt

Hi xptpa2020,

I am struggling with this issue to, could you show me which dial plan you are using?

What to do if I need a single BLF button used to monitor and set login/logout in MULTIPLE queues ???
Assign 45 to a BLF button produces (on my SPA504) an orange light , and as far I understood this is because you must assign a code that exists on hints list.
If I set a BFL with code 45ext
queue it works as login/logout only for THAT queue
Keeping that BLF and dial *45 on keypad could be a solution ,as *45 toggles login on all queue and BLF button purpose should be the notification only, but it seems to me not a practical/elegant solution.

Can I configure a button to send *45 but to be a BLF for a single queue ???
Any hint ??
Thank you

I have the same issue as you for wanting to use a single BLF button to show status of being logged in/out for all queues for that extension. Like you said, the hints only work once you put the actual queue number and extension in, so the system can then report whether that person is logged in/out. Unfortunately, I’ve not found a way to configure Cisco phones to BLF a specific string (45ext*queue) but when pressed only dial *45. I wish there was a way to do so, but haven’t found a solution as of yet.

One thing you could do on your end, digiteltlc, is configure a soft key for that Cisco SPA504 that would appear on the idle screen, saying “Login”, and when pressed would call *45. Then the respective BLF button that is assigned to only one queue could be the indicator that the extension is logged in or out.

To configure a soft key for Login, you would use the code below

      <!-- Programmable Softkeys -->	
<Programmable_Softkey_Enable ua="na">Yes</Programmable_Softkey_Enable>
<Idle_Key_List ua="na">redial|1;resume;psk2|4;lcr|5;</Idle_Key_List>
<Missed_Call_Key_List ua="na">lcr|1;miss|4;</Missed_Call_Key_List>
<Off_Hook_Key_List ua="na">redial;cfwd;lcr;</Off_Hook_Key_List>
<Dialing_Input_Key_List ua="na">option|1;dial|2;delchr|3;cancel|4;</Dialing_Input_Key_List>
<Connected_Key_List ua="na">psk1|1;conf|2;xfer|3;bxfer|4;confLx|5;xferLx|6;</Connected_Key_List>
<Start-Xfer_Key_List ua="na">redial;xfer;callCancel</Start-Xfer_Key_List>
<Start-Conf_Key_List ua="na">redial;dir;conf;callCancel</Start-Conf_Key_List>
<Conferencing_Key_List ua="na">redial;join</Conferencing_Key_List>
<Ringing_Key_List ua="na">answer;ignore;</Ringing_Key_List>
    <PSK_1 ua="na">fnc=sd;[email protected]{$server_host};vid=1;nme=Park</PSK_1>
<PSK_2 ua="na">fnc=sd;ext=*[email protected]{$server_host};vid=1;nme=Login</PSK_2>
<PSK_3 ua="na"></PSK_3>
    <PSK_4 ua="na"></PSK_4>
    <PSK_5 ua="na" />
<PSK_6 ua="na" />


Yes redial|1;resume;psk2|4;lcr|5; lcr|1;miss|4; redial;cfwd;lcr; option|1;dial|2;delchr|3;cancel|4; psk1|1;conf|2;xfer|3;bxfer|4;confLx|5;xferLx|6; redial;xfer;callCancel redial;dir;conf;callCancel redial;join answer;ignore; fnc=sd;[email protected]{$server_host};vid=1;nme=Park fnc=sd;ext=*[email protected]{$server_host};vid=1;nme=Login

Thanks for suggestion, just added PSK1 working OK
Unless a different approach is known, i’ll keep a button for operation and a lamp for notification…

O.T. How did you manage (if done) an extension BLF for transferring a call ??
(I mean a simple linekey fnc=blf+sd+cp;[email protected]$PROXY pressed while online, produces a blind transfer to that extension without any possibility to announce the call)

Unfortunately, I’ve not seen any improvement with the latest firmware 7.5.5 that allows us to select how to treat DSS/BLF keys when pressed. Yealink has done a good job with providing the option of blind, attended, and even new call bevahior when pressed, but nothing similar with Cisco that I’ve seen.

Hi Guys,

I have bin puzzling with this issue for the last week and finally solved my issue. I was trying to configure one of my extra buttons to monitor a dynamic agent in a specific queue. I will summarize my solution.

  1. Go to you queue settings in FreePBX and enable generate device hints.
  2. In your Cisco SPA504G, you will have to use the following syntax.

My Queue: 1000
My Extension: 680
My server: $PROXY

In your Cisco SPA504G go to your tab “PHONE” and set Line 2 to disabled. Under Extended Function, you can put the following syntax.

fnc=sd+blf;sub=45680[email protected]&PROXY;nme=1000

  1. We will have to adjust the dail plan of your Cisco SPA504G, otherwise you wont be able to use the same button to log In/Out of your dynamic queue. Go to Ext1 and use the following dail plan.