Includes: API (Express/TypeScript), Astro site, Python workers, document generators, FCC compliance tools, Canada CRTC formation, Ansible infrastructure, and deployment scripts. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
54 lines
2.5 KiB
SQL
54 lines
2.5 KiB
SQL
-- 043: Carrier classification for FCC compliance checkup
|
|
--
|
|
-- Adds carrier type classification fields to telecom_entities.
|
|
-- Used to determine proper RMD letter template, CPNI cert format,
|
|
-- and 499-A filing preparation based on carrier category.
|
|
|
|
-- Primary carrier category (how the provider registers with FCC)
|
|
ALTER TABLE telecom_entities ADD COLUMN IF NOT EXISTS carrier_category TEXT
|
|
CHECK (carrier_category IN (
|
|
'interconnected_voip',
|
|
'non_interconnected_voip',
|
|
'clec',
|
|
'ixc',
|
|
'cmrs',
|
|
'other'
|
|
));
|
|
|
|
-- Operational role flags (not mutually exclusive)
|
|
ALTER TABLE telecom_entities ADD COLUMN IF NOT EXISTS is_wholesale BOOLEAN DEFAULT FALSE;
|
|
ALTER TABLE telecom_entities ADD COLUMN IF NOT EXISTS is_gateway_provider BOOLEAN DEFAULT FALSE;
|
|
ALTER TABLE telecom_entities ADD COLUMN IF NOT EXISTS is_international_only BOOLEAN DEFAULT FALSE;
|
|
ALTER TABLE telecom_entities ADD COLUMN IF NOT EXISTS uses_ucaas_provider BOOLEAN DEFAULT FALSE;
|
|
|
|
-- Type-specific metadata (JSONB to avoid endless nullable columns)
|
|
-- UCaaS: {"ucaas_provider": "RingCentral", "ucaas_provider_frn": "0012345678"}
|
|
-- Gateway: {"gateway_countries": ["Mexico","India"], "gateway_type": "international"}
|
|
-- Wholesale: {"wholesale_customer_types": ["clec","voip"], "downstream_count_approx": 50}
|
|
ALTER TABLE telecom_entities ADD COLUMN IF NOT EXISTS carrier_metadata JSONB DEFAULT '{}';
|
|
|
|
-- STIR/SHAKEN specifics (needed for RMD letter sections)
|
|
ALTER TABLE telecom_entities ADD COLUMN IF NOT EXISTS stir_shaken_status TEXT
|
|
CHECK (stir_shaken_status IN (
|
|
'complete_implementation',
|
|
'partial_implementation',
|
|
'robocall_mitigation_only',
|
|
'exempt_small_carrier',
|
|
'not_applicable'
|
|
));
|
|
ALTER TABLE telecom_entities ADD COLUMN IF NOT EXISTS stir_shaken_cert_authority TEXT;
|
|
|
|
-- Upstream provider (for resellers and UCaaS-based carriers)
|
|
ALTER TABLE telecom_entities ADD COLUMN IF NOT EXISTS upstream_provider_name TEXT;
|
|
ALTER TABLE telecom_entities ADD COLUMN IF NOT EXISTS upstream_provider_frn TEXT;
|
|
|
|
-- RMD letter generation tracking
|
|
ALTER TABLE telecom_entities ADD COLUMN IF NOT EXISTS rmd_letter_minio_path TEXT;
|
|
ALTER TABLE telecom_entities ADD COLUMN IF NOT EXISTS rmd_letter_generated_at TIMESTAMPTZ;
|
|
|
|
-- Last compliance checkup timestamp
|
|
ALTER TABLE telecom_entities ADD COLUMN IF NOT EXISTS last_compliance_checkup TIMESTAMPTZ;
|
|
|
|
-- Index for filtering by carrier category
|
|
CREATE INDEX IF NOT EXISTS idx_telecom_entities_carrier_category
|
|
ON telecom_entities(carrier_category) WHERE carrier_category IS NOT NULL;
|