Skip to content

P2: SMS carrier registration and worker — start now, it is the long pole #279

Description

@krishagel

Problem

SMS is blocked on an external dependency: AWS End User Messaging is in
sandbox, with CARRIER_REGISTRATION_PENDING recorded. There is no verified
destination, origination identity, registration, pool, sender ID, or protection
configuration.

Carrier registration for 10DLC or toll-free takes real calendar time and cannot
be automated away. This issue tracks the dependency and the work that follows.

What to do

  1. Register. Complete carrier registration for the district. This is a
    human task with a vendor turnaround measured in weeks — start it now, before
    it becomes the critical path to launch.
  2. Request production access for AWS End User Messaging in us-west-2.
  3. Provision the origination identity, phone pool, and protection
    configuration in infra/ once registration clears.
  4. Deploy the SMS worker in workers/sms/ against the outbox.
  5. Delivery ledger + DLQ, matching the email channel's semantics.
  6. Opt-out handling. STOP/HELP are legally required. Honor them, record
    them, and never send to an opted-out number.

Safety

human-only send path, same as email and push.

Done when

  • Registration is approved and recorded in docs/INTEGRATIONS.md.
  • A drill SMS reaches one confirmed staff handset.
  • STOP suppresses further messages to that number.

Notes

Because of the external timeline, treat this as the long pole. Email and push
should not wait on it — Release 1 can launch with email and push if SMS is
still pending, provided the UI is honest about which channels are live.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestexternalHuman/external dependencyphase-2Event engine

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions