I just spent quite some time getting to the bottom of a crazy softkey programming issue on my spa504g with Asterisk so I thought I would post it here incase someone else has the same issue.
I was trying to program PSK1 to do a call pickup with 'fnc=sd;ext=*8@PROXY;vid=1;name=pickup' but whenever I pressed the pickup key, I got a 'Declined' response. When I checked the SIP INVITE message being sent to the PROXY, I saw that the 'To' header was empty with 'To: <sip:>'. I tried changing it to a proper extension speeddial instead of the '*8' and I got the same results.
What turned out to be the issue was my use of the name 'pickup'. Because this matches the name of an internal function, it was getting tripped up somehow inside the phone. When I changed the name to 'name=pkup', the pickup button functioned as expected.