Hello Apple Developer Technical Support team,
We have an iOS app that provides caller identification via a Call Directory extension (CXCallDirectoryProvider). Our extension provides identification entries (phone number → label), and users enable it in Settings > Phone > Call Blocking & Identification.
We would like to confirm whether Call Directory is used only for incoming calls, and understand why the outgoing call UI sometimes shows labels.
Observed behavior
Incoming calls:
After a user logs in again (which triggers a server sync and then reloads the Call Directory extension), the caller label is shown correctly on the incoming call screen for matching numbers.
Outgoing calls:
In general, the outgoing call screen often shows only the phone number (no label), even when the same number exists in our identification entries and the extension is enabled.
However, on some devices, the outgoing call screen does show a label even when the number is not saved in the local Contacts app.
In at least one customer case, the outgoing label behavior changed after an iOS update: before updating iOS, labels were not shown on outgoing calls; after updating iOS, labels started appearing (with no changes in our app settings/config).
Questions
Is the Phone app expected to consult Call Directory identification entries only for incoming calls (caller ID), and not for outgoing call UI?
If labels can appear on outgoing calls, what are the possible sources and rules (e.g., Recents cache, carrier Name Display/CNAM, other system caches), and is any of that behavior documented?
Are there known iOS version changes or issues that could explain “outgoing label not shown” becoming “outgoing label shown” after an OS update?
We can provide:
A minimal repro project, steps to reproduce, and exact iOS versions/devices
Screenshots/video
sysdiagnose / device logs (please advise what log types are most useful)
Thank you,