Number timezone and state resolution
Every quiet-hours and calling-window verdict starts with the same question: where is the recipient? TCPA windows are recipient-local, so before Orbit can decide whether a call or message is inside the allowed window it has to derive a timezone — and, for US numbers, a state — from the phone number itself. This page explains that derivation: what the lookup tables contain, how they chain together, where coverage stops, and what the verdict becomes when an area code is unresolvable. This is an internal-lookup explainer, not endpoint documentation — it describes how the resolution layer underneath quiet hours, state calling windows, and the recording-consent gate derives its inputs. Nothing here is a control you configure; the tenant-owned controls sit on those pages. The resolution layer just answers “what timezone and state does this number imply” identically for all of them, so a blocked or released verdict is traceable to one lookup chain rather than per-feature guesswork.1. Why resolution matters for TCPA quiet hours
The federal TCPA voice window — 8 AM–9 PM in the recipient’s local time — cannot be evaluated without a timezone. A 7:30 PM dial to a Miami number is legal; the same dial to a Seattle number is not. Quiet-hours evaluation therefore runs a fixed precedence:- An explicit timezone hint you pass (per-recipient or per-request) is honored first — it always wins over any lookup.
- For +1 (NANP) numbers, the recipient’s area code resolves to an IANA timezone through the inventory described below.
- For non-+1 numbers, a country-code prefix table supplies a best-available timezone.
- If none of these resolve, the verdict depends on the surface — the fail-open / fail-closed split is covered in section 4.
- TCPA quiet hours / federal voice window — the recipient-local hour must fall inside the window (default 8 AM inclusive – 9 PM exclusive). The hour is computed through ICU/Intl timezone rules, so DST transitions are handled correctly on spring-forward and fall-back weekends.
- State calling windows — the recipient’s USPS state may carry a mini-TCPA overlay (shorter hours, a Sunday ban, or both), intersected with the federal window most-restrictive-wins. The full overlay table is on US calling windows.
2. Area-code extraction and the timezone inventory
The lookup layer’s entry point is area-code extraction: given an E.164 number, strip everything except digits and the leading+, then read the
three digits after a +1 country code. Anything that is not a +1 NANP
shape yields no area code and exits the NANP chain entirely — non-US
recipients are out of TCPA jurisdiction and resolve through the
country-code fallback instead.
Those three digits index the NANP area-code inventory: a hand-maintained
map of IANA timezone → assigned area codes, sourced from the NANPA Active
Codes report (the North American Numbering Plan Administrator’s monthly
assignment list). Its coverage:
- US — all 50 states + DC, including the IANA sub-zones that matter
for quiet-hours math (Indiana and Michigan each resolve to their own
zone, Arizona resolves to the no-DST
America/Phoenix). - US territories — Puerto Rico, US Virgin Islands, Guam, American Samoa, Northern Mariana Islands.
- Canada — all 10 provinces + 3 territories.
3. State resolution for US numbers
For US numbers there is a second projection: area code → USPS state code, a map of roughly 170 single-state assignments built from the same NANPA data. It exists because two gates need a state, not a timezone:- TCPA state calling-window overlays — seven mini-TCPA states (FL, OK, MS, LA, AL, AR, WV) tighten the federal window. Overlays are only looked up when the state resolves — the overlay table deliberately stays small so your counsel can audit it cheaply.
- Recording-consent gating — two-party-consent states (CA, IL, WA, and the others listed on the recording consent page) require consent from all parties before a call may be recorded.
4. Coverage boundaries and the fail posture
Knowing the boundaries tells you what a given number can and cannot resolve:
Overlays. When a city gains an overlay area code, the new NPA resolves
to the same timezone and state as the code it overlays as soon as it is
added to the inventory. Until then it is an unmapped area code with the
fail posture below.
Timezone ≠ residency. An area code reflects where a number was
assigned, not where the subscriber lives now. Number portability means a
Miami 305 number can belong to someone in Oregon. When you know a
recipient’s actual local timezone, pass it as the explicit
timezone hint — the hint always outranks the area-code lookup.
Fail-open vs. fail-closed. The unresolvable case splits by surface:
- Quiet-hours evaluation and the standalone TCPA window check fail
open. An unmapped +1 area code resolves to
unknown_timezoneand the send is allowed, with the reason recorded for audit. The alternative — blocking every legitimate call to a newly assigned area code — over-blocks real traffic. - The campaign/dialer voice path under the federal guard fails closed.
Because the penalty exposure of an unlawful call outweighs a missed send,
an unresolvable recipient timezone on that path returns
timezone_unresolvedand the call is held. The state calling windows page details that asymmetry; the fix is to pass an explicit timezone hint. - State resolution failing is never fatal. A
nullstate means “no overlay applies — federal window unchanged,” for both the NANP and the non-NANP shapes above. It does not block, and it does not trip the timezone fail-closed posture on the voice path.
5. Where the resolution feeds
The same lookup chain is consumed by:- TCPA quiet-hours decisions — the boolean allowed/denied evaluation behind the send gates and the quiet-hours preview endpoint. The preview returns the resolved timezone and local hour alongside the verdict, which is what makes a blocked decision debuggable: you can see the exact timezone the gate resolved and compare it against your recipient’s actual location.
- Voice-guard timezone resolution — the campaign/dialer pre-dial gate resolves the recipient timezone before any window math; an explicit hint is honored first, then the area-code inventory.
- State calling windows — the state overlay intersection, as on US calling windows.
- Recording-consent gating — the per-state consent gate, as on recording consent.
Related
- Quiet hours preview — read a verdict without sending
- US calling windows — the federal + state overlay intersection
- Recording consent — the per-state consent gate
- TCPA quiet hours and windows — the tenant-owned setup workflow