Showing results for 
Search instead for 
Did you mean: 

Programming softkeys on SPA phones


I have several SPA509G phones running the SIP protocol with asterisk. I am able to configure the phones via their built in web interface and get them to register and make calls. However I cannot find any documentation on customizing the softkeys. I need to change the keys from their defaults to add selections like park etc. Via the webgui of the phone there is a section for programmable softkeys but changing those settings does not seems to have an effect it also is not clear on how to tell it what each button is doing. Either web based config or xml will do but I just cannot find the documentation. Thanks.

24 Replies 24


and we still all waiting to hear how we can press the DND button and send a request to the PBX...

Frequent Contributor
Frequent Contributor

Do you already have the DND programmed into one of the softkey?  If not, refer to the admin guide and read the section on programmable softkey.  If programmed, you should see the DND under one of the softkeys.  When you activate the DND, the screen will show Do Not Disturb or -dnd in the softkey.  When you call that phone from another phone, that other phone will get either busy or voicemail if the phone set to DND has voicemail service.

Regarding the 8800, new firmware is scheduled in a couple of months.

I want to do the same press a softkey on the phone and have it communicate with the server. To be clear: I understand this can be done through Announcement codes but that requires the user to memorise a code. As an example:

1. user presses DND softkey on phone

2. DND is activated on phone

3. phone sends an invite message to the server. This message can be configured e.g. it may be *61

Is this possible?

Unfortunately cisco have not done this even though its been requested over and over again

Well, it is possible to do what you are asked for using vertical announcements codes. Unfortunatelly, I suspect you missed important things - you requested one way signalisation. If server rejects the DND request, it doesn't affect the phone state. If server accepts the request and phone will be rebooted later (loosign it's DND status), the phone and server become dissynchronised again. If status of phone's DND change on server by an event, there is no way to synchronize the phone's status as well.

And even worse it is for supplementary services with parameter (like call forward). Vertical announcements code doesn't announce the parameter user for particular supplementary service.

In the fact, Cisco lack DOCUMENTED support for the feature you are asking for.

But you can implement the feature you are speaking of via generic fnc=blf+sd feature if you have spare button and you have control over your's server behavior. A unused line key can be configured to speed-dial a code switching DNS status. And BLF feature of the same line key can be used to show current status to the user. Of course, you need learn your's PBX to publish DND state as BLF.

Hi All

One way to achieve this works fine (I think):

1)     In Regional Tab note down the DND Act Code and DND Deact Code (ie *09 for act and *10 for deact)

2)     In Regional Tab Enter the Virtacal Service Announcement Code section

        * Service Annc Base Number as the prefix to dial (on your PBX)    

        * In Service Annc Extension Code add DDT:x;DDT:y where x and y are the suffixes appended to the prefix you dial to enable and disable DND on the server,  IE use something like 9998 for the prefix and 1 and 2 for the suffix, so 99981 enables DND and 99982 disables DND.

3)     Now for some reason Cisco don't send these codes when you press the generic dnd/-dnd Softkeys so you need to remove these and program your own to replace them.   Luckily as of firmwere 7.5.3 cisco support dual states on psk's so you can have a + and - version of the same key:

4)     Phone tab.

     Programable softkeys enable = yes

     PSK 1:     fnc=sd;ext=*09;nme=DND;ext2=*10; nme2=-DND

     (note the *09 and *10 are from the regional tab on the DND Act and DND Deact code)

     Under the Idle key list find the dnd|8 and replace it with psk1|8  to get rid of the generic internal dnd softkey.

save and reboot.

Now you still have DND on your idle soft keys, press it, your phone should both set DND, change the soft key to "-DND" and add "Do Not Disturb" across the screen panel.  Most importantly the phone will now auto dial 99981@$proxy and the switch now knows the DND state.  Press the  -DND softkey and the phone will disable DND locally and also dial the switch telling it dnd is now off.

I'm 99% this is what people have been asking for? Essentially local dnd support with server notification not having to dial the crazy *codes to make it all work?



Yes, but you need not to forget that it's still one way system and local signalisation of service state is not connected with true PBX state. If phone will reboot when service turned on, it will show "off" status past reboot. If your's soft-key doesn't change the server state, for whatever reason, the soft key will show incorrect state of service.

I can't decide if it is suitable for 99% systems. We received plenty of complaints "it's broken, nobody can call me" caused by false "DND turned off" label until we implemented true bidirectional signalisation.

The system described by you is better than nothing, with no doubt, but disadvantages needs to be described and considered acceptable.

Hi Dan

I'm curious what you did for the bi-directional signalisation system?  

We were considering using a line key with blf+sd to illuminate and toggle.  Then remove the dnd softkey.  Atleast then it can be set on phone or on server (and pushed back to the phone to ensure 100% synchronisation).

The only problem we have is that uses a line key which I'm not really happy about.

I wish you could use a BLF in combination with a PSK then it would be perfect (to toggle between psk ext1/nme1 and ext2/nme2 (Cisco hint!)

Like all this stuff nothing is perfect, it's somewhat a compromise.

We've got the same issue with regards cfwdall, we'd like to have cfwd set at the server (so it can be controlled from phone or from our portal applications), but clients tend to like the the softkey approach, again if the phone loses it's connection or is powered down all bets are off.

Keen for any feedback you may be able to add!

cheers and thanks!


We were considering using a line key with blf+sd to illuminate and toggle.  Then remove the dnd softkey.  

Exactly. It's the way we did it.

We have about 1000 pieces of SPA504G phones, first two keys are used for calling, second two keys are used for BLF-based signalling of DND and Call Forward state.

The "DND line key" BLF is attached to exchange's view of  line's DND state. The SD of same key is configured to dial "DND toggle" code when pressed. It solve the problem with DND as it's on/off service. It doesn't solve the CFU service in full as it require parameter, so our line key signal current CFU state, but it allow deactivation only on button press. Call forward can be activated by other means only.

Of course, it require PBX that is "opened enougth" or you will not be able to implement such kind customisation. We are using plain Asterisk (I'm the author of our's extensions.conf call script)

The only problem we have is that uses a line key which I'm not really happy about.

I wish you could use a BLF in combination with a PSK then it would be perfect (to toggle between psk ext1/nme1 and ext2/nme2 (Cisco hint!)

Obvious idea. I mentioned it on some other thread as well. In the fact, I'm surprised the programmer implementing state toggle on PSK missed it.

In advance, I hate interaction between sub= and ext= parameter. I would like to configure blf+cp with sub= specifying blf state source and ext1/ext2 specifying "speed dial" action. But it's not possible now ...

Almost wish we had more 508's and not 504's for some extra buttons.


Are you across at all if the SPA phones can be pushed a notice via a SIP message.  We'd be happy using PSK toggles if we could push a status notice down to the phone from the switch - atleast the state could be asserted back to the phone visually "DND and CFWD Active" for example.?

It's a little frustrating, the SPA series is so close to being exceptional and just falls 1% short.

I'd be curious if anyone uses the Annc services on these phones, given that they are 1 way and possibly prone to failure and yet they've invested so much into their firmware for all that guff and then dropped the ball on some simple stuff that would really be useful!

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community:

Recognize Your Peers