[Question] Inconsistent Call Directory number matching across regions (Japan, Taiwan, U.S.)
We’re developing a Call Directory extension and observed inconsistent number matching depending on carrier region and number format.
Environment
- Device: iPhone (iOS 26.0)
- Call Directory Extension: Custom implementation
- Carrier A: Japan carrier SIM
- Carrier B: Taiwan carrier SIM
- Numbers added to Call Directory patterns:
+81 120 580 2XXX
+81 704 336 2XXX
Observed Behavior (Japan Carrier SIM)
-
Incoming call from +81 120 580 2XXX →
Caller name not displayed (Call Directory match failed).
Entering 0120 580 2XXX in the Phone app dialer → Name displayed correctly. -
Incoming call from +81 704 336 2XXX →
Caller name displayed correctly.
Entering 070 4336 2XXX in the Phone app dialer → Name displayed correctly.
Observed Behavior (Taiwan Carrier SIM)
-
Entering +81 120 580 2XXX in the dialer →
Name not displayed until the call button is pressed. -
Entering +81 704 336 2XXX in the dialer →
Name displayed immediately, before the call is placed.
Steps to Reproduce
For Japan carrier:
- Use a device running iOS 26 with a Japanese SIM card.
- Add the following numbers to the Call Directory extension:
+81 120 580 2XXX
and+81 704 336 2XXX
- Receive an incoming call from
+81 120 580 2XXX
→ ❌ Caller name not displayed. - Open the Phone app and enter
0120 580 2XXX
→ ✅ Caller name displayed. - Receive an incoming call from
+81 704 336 2XXX
→ ✅ Caller name displayed. - Open the Phone app and enter
070 4336 2XXX
→ ✅ Caller name displayed.
For Taiwan carrier:
7. Insert a Taiwan SIM card (keep the same Call Directory patterns).
8. Enter +81 120 580 2XXX
→ ❌ Name not shown until the call button is pressed.
9. Enter +81 704 336 2XXX
→ ✅ Name shown immediately.
Expected Result
For both numbers:
- Caller name from Call Directory should display consistently:
- a) On incoming calls.
- b) When entering the full number in the dialer (before pressing call).
- Behavior should be consistent across regions (Japan, Taiwan, United States).
Actual Result
Japan | +81 120 580 2XXX | ❌ Not shown | ✅ Shown (0120 580 2XXX) |
Japan | +81 704 336 2XXX | ✅ Shown | ✅ Shown (070 4336 2XXX) |
Taiwan | +81 120 580 2XXX | N/A | ❌ Not shown until call |
Taiwan | +81 704 336 2XXX | N/A | ✅ Shown immediately |
Questions
- How should numbers be formatted or stored in the Call Directory patterns so that they match both incoming calls and dialer input consistently across regions?
- Are there region-specific number normalization rules (e.g., Japan’s 0-prefixed local dialing or Taiwan’s international format handling)?
- Is there an official guideline or recommendation for formatting phone numbers in Call Directory extensions (e.g., E.164 vs local format) to ensure consistent matching?
Notes
- The inconsistent behavior appears to be related to how iOS normalizes numbers per carrier region and local dialing conventions.
- In Japan, incoming calls from mobile numbers starting with
070
match correctly, while0120
(toll-free) fails unless entered in local format.