Skip to main content

US State Calling Windows

The federal TCPA sets a dialing window of 8 AM–9 PM in the recipient’s local time (47 U.S.C. § 227(b)(1)(B), implemented by 47 CFR § 64.1200(c)(1)). Several US states run “mini-TCPA” statutes with stricter hours, day-of-week bans (usually Sunday), or both. Federal law expressly does not preempt stricter state law (47 U.S.C. § 227(e)), so the binding outbound rule is always the most restrictive of the two windows — Orbit computes that intersection for every US (+1) recipient. This page documents which states carry an overlay, how a recipient is mapped to a state, how the federal + state windows intersect, and where the enforcement surfaces. Everything here describes controls you own as the tenant — the platform does not impose a global block beyond the one federal-only asymmetry documented below. This page is not legal advice; confirm your obligations with counsel.

Which states carry an overlay

Orbit maintains an overlay table for the seven states whose statutes set stricter hours than the federal 8 AM–9 PM window or restrict day-of-week dialing. States not in this table fall through to the federal window unchanged. All windows are recipient-local; the end hour is exclusive (8 AM–8 PM means the last permitted dial starts at 7:59 PM).
Mississippi’s statute sets a 7:30 PM end. Orbit encodes this conservatively at the hour boundary — the last permitted dial starts at 6:59 PM — because the window model resolves to whole hours. The full 30-minute cutoff is preserved in the statute citation for legal traceability.
The intersection is always the most-restrictive-of-the-two:
  • Start hour — the later of the federal and state starts (currently 8 AM everywhere).
  • End hour — the earlier of the federal and state ends.
  • Blocked days — the union of all day-of-week bans (only states set these; federal law has none).
When a state-based block fires, the error details carry the specific statute citation (e.g. Fla. Stat. § 501.059) so you can trace the decision back to the source statute without reading platform code.

How the recipient’s state is resolved

Orbit maps a US (+1) number to a USPS state code through its NANP area code. The platform’s shared phone library extracts the area code from the E.164 number; the overlay engine then looks the area code up in a NANP-area-code → state table that covers every area code in the seven overlay states (and a representative sample of overlay-free states). The resolver deliberately keeps single-state assignments only. When a recipient lands in a state with no overlay, the federal 8 AM–9 PM window applies unchanged; the resolved state code is still attached to the decision for telemetry and audit filtering. A recipient falls through to the federal window when:
  • the number is not a +1 NANP number (TCPA jurisdiction is US-only),
  • the area code maps to no state in the table — Canadian and Caribbean NANP area codes, and US area codes not yet mapped,
  • the area code resolves to a state with no overlay (the common case — TX, CA, NY, IL, etc.).
In every fall-through case the federal window applies. A fall-through is not a failed lookup, so it does not trip the timezone-unresolved fail-closed behaviour described below.

Where the block is enforced — two paths

The state overlay rides on top of the same recipient-local evaluation the platform runs for every US voice call, but the enforcement between the two voice paths differs — one tenant knob and one documented platform asymmetry:

1. Ad-hoc voice: tenant-owned opt-in gate

For 1:1 dashboard/softphone dials, the recipient-local-window decision (including the state overlay) is advisory-only by default — the call dispatches and the decision is logged for operator visibility. Dialing windows are tenant policy, and you own where they are enforced. Flip quiet_hours.voice.enabled = true in your organization settings — see the quiet hours guide — and the same evaluation becomes a hard hold. A blocked call returns 422 TCPA_DIALING_WINDOW_BLOCKED (or TCPA_TIMEZONE_UNKNOWN when the recipient’s timezone cannot be resolved) with next_allowed_at and, for state-driven blocks, the statute citation in the error details. The decision’s reason codes let you separate state-driven from federal-driven blocks in the compliance dashboard and audit log:

2. Campaign + dialer voice: always hard-blocked (federal window)

Campaign, dialer, and automated voice origination (predictive / progressive / preview / agentless modes, scheduled callbacks, and the Jambonz-side pre-dial gate) is always hard-blocked outside the federal 8 AM–9 PM window regardless of your tenant settings — the one compliance control that is not tenant-toggleable, per the send gates reference. A blocked call returns 422 TCPA_FEDERAL_DIALING_WINDOW_BLOCKED. If the recipient’s timezone cannot be resolved, the call fails closed and is blocked (fail-closed) — an unresolved timezone is never treated as “in window”. This path is the asymmetry you can’t opt out of. The tenant opt-in gate above only ever adds restrictions on top of it; nothing on the tenant side relaxes the federal hard block for automated voice.

Worked example — a Sunday dial to Florida vs. Texas

Dials evaluated at Sunday 8:30 PM recipient-local: Miami, FL (area code 305):
  1. The area-code lookup resolves 305FL.
  2. FL carries an overlay: 8 AM–8 PM, Sunday banned (Fla. Stat. § 501.059).
  3. The intersected window is 8 AM–8 PM with Sunday banned.
  4. Sunday → state_blocked_day → blocked. The error details carry Fla. Stat. § 501.059 as the citation plus the next allowed time (Monday 8 AM).
Dallas, TX (area code 214):
  1. The area-code lookup resolves 214TX.
  2. TX carries no overlay → the federal 8 AM–9 PM window applies unchanged.
  3. At 8:30 PM the hour is still inside 8 AM–9 PM → the call is allowed. (After 9 PM it would be outside_federal_window.)
On the tenant opt-in gate both outcomes are advisory-only until you enable the voice channel; on the campaign/dialer path only the federal window is hard-blocked by default — so the TX Sunday 8:30 PM dial dispatches in both paths, while the FL one is blocked on the opt-in gate and — once enabled — returns the citation-bearing error above for your campaign tooling to schedule around.

Verification and re-verification

The overlay table was last verified against statute text 2026-05-29. Each entry cites its statute so your counsel can re-verify before a commercial campaign — the table is deliberately small (seven states) to keep that audit cheap. Statutes shift: Florida’s FTSA was amended in 2021 and 2023 without relaxing the time-of-day window, and new mini-TCPA bills land every session. Treat the citations as the audit trail, not a substitute for jurisdiction-specific legal review.
  • Send gates — the preview endpoint and the federal dialer asymmetry documented above
  • Quiet hours configuration — flipping the tenant opt-in gate and the timezone-resolution policy