This may be a common problem across all SPA devices from Cisco/Linksys but I have only tested with the SPA942/962 IP phones. For most users this would not even be an issue.
The problem is the way that the SPA deals with anonymous calls. Instead of passing the actual "anonymous" caller id received from the carrier (or gateway) it transforms it to "Anonymous Caller" which may have been a nice touch by one of their engineers to give it a nice looking appearance but it truly messes things up in a scenario where a multi-tenant phone system is used.
In one of deployments we had configured FreePBX to handle three different companies. We didn't do anything special with FreePBX except change the Caller ID prefix for each companies incoming lines. eg. Company A would receive calls with the caller id "A:XYZ Comp <1234567890>"
All this worked great and the receptionist knew how to answer the calls for the different companies. This unfortunately didn't work with anonymous calls. So instead of displaying "A:anonymous" it displayed "Anonymous Caller" - and the receptionist had to no clue for which company the call was for.
To determine that this was truly was a problem with the SPA phones we tested using the following:
1. x-lite - showed the correct caller id for anonymous with the company prefix
2. snom phone - also worked
3. Even a GXP2000 from Grandstream worked - these phones have other issues but the caller id worked
Tried getting this resolved with Cisco - but didn't get far on their public community board.
I am not a Cisco partner so I can't submit a bug report
I did submit as much info to their myciscocommunity.com site as i had time for.
I didn't have time to continue with the additional requests for more info.
At this point I think submitted enough info to reproduce the problem and we had already resolved the problem with an an Asterisk solution - we completely changed all the anonymous calls to "Unknown" before they hit SPA phones.
Just putting this out for anyone who may run into the same issue.