During the call not only the number of remote end but name associated with remote end is displayed to local user. In some cases, the name delivered by SIP protocol is ignored by local device and other name is displayed instead.
Exact behavior seems to be documented nowhere.
Following interactions has been observed on SPA508G with 7.5.4 firmware. For the purpose of text bellow, the term 'local list' mean local phone directory maintained by user within phone. Interactions to other phone directories, like LDAP, has not been tested.
A. Incoming call
Name extracted from local list is preferred against name delivered by SIP protocol. If no record in local list, then name delivered by SIP protocol is displayed. Placed/answered/missed calls list are not used. Call record will be placed in answered or missed calls list with name shown on display.
B. Outgoing call
Name extracted from local/missed/answered calls list is displayed. If more than one list contain name related to called number, then local list is preferred against missed call list which is preferred against answered calls list. If more than one record matches within same list, then newest record wins. Displayed name WILL NOT BE changed, even after different remote name will be delivered from remote end (COLP service, 'Remote-Party-ID: ...;party=called;...' header within SIP 18x (or 200) response).
If no list contain name related to called number then COLP delivered remote name will appear on display when become available.
In both cases, call record will be added to "placed" list with name shown on display.
I would like to configure the device to always prefer COLP name against name stored in local answered/missed call list (but not against local phone directory maintained intentionally by local user), but it seems not to be possible. It's annoying because obsolete names related to particular line is are shown to many user just because they are in missed or answered list despite valid current name is delivered to phone by SIP protocol.