diff --git a/site/public/order/fcc-carrier-registration/index.html b/site/public/order/fcc-carrier-registration/index.html
index c002c1b..78598fb 100644
--- a/site/public/order/fcc-carrier-registration/index.html
+++ b/site/public/order/fcc-carrier-registration/index.html
@@ -142,6 +142,18 @@ select:focus,input:focus{outline:none;border-color:#1e3a5f;box-shadow:0 0 0 2px
Nationwide
+
+
+
Will you offer international services?
+
Calls to/from other countries, international data transit, or serving customers outside the US.
+
Yes — international calling, transit, or foreign customers
+
No — domestic US only
+
+ International Section 214 Authorization
+ The FCC requires a separate International Section 214 license to provide telecommunications services between the US and foreign points. This applies to international voice termination, international toll-free, global SIP trunking, and international data transit. Domestic-only carriers do not need this.
+
+
+
See What You Need →
@@ -335,12 +347,12 @@ select:focus,input:focus{outline:none;border-color:#1e3a5f;box-shadow:0 0 0 2px
// ── Wizard state ──
var wizard = {
- serviceTypes: [], customerType: 'retail',
+ serviceTypes: [], customerType: 'retail', international: false,
voiceDelivery: '', infraNeeds: [],
broadbandType: '', operatingStates: '',
// Derived
needsRmd: false, needsCpni: false, needsCalea: false, needsBdc: false,
- needsOcn: false, needsStirShaken: false,
+ needsOcn: false, needsStirShaken: false, needs214: false,
// Entity
entitySource: 'existing', formationState: '', entityType: 'llc',
entityName: '', ein: '', frn: '', legalName: '',
@@ -419,6 +431,17 @@ select:focus,input:focus{outline:none;border-color:#1e3a5f;box-shadow:0 0 0 2px
document.querySelectorAll('[data-states]').forEach(function(b) { b.classList.remove('selected'); });
btn.classList.add('selected');
wizard.operatingStates = btn.dataset.states;
+ document.getElementById('q6').classList.remove('hidden');
+ });
+ });
+
+ // ── Q6: International services ──
+ document.querySelectorAll('[data-intl]').forEach(function(btn) {
+ btn.addEventListener('click', function() {
+ document.querySelectorAll('[data-intl]').forEach(function(b) { b.classList.remove('selected'); });
+ btn.classList.add('selected');
+ wizard.international = btn.dataset.intl === 'yes';
+ document.getElementById('intl-explain').classList.toggle('hidden', !wizard.international);
});
});
@@ -429,14 +452,19 @@ select:focus,input:focus{outline:none;border-color:#1e3a5f;box-shadow:0 0 0 2px
var hasVoice = wizard.serviceTypes.indexOf('voice') >= 0;
var hasBroadband = wizard.serviceTypes.indexOf('broadband') >= 0;
var hasRetail = wizard.customerType === 'retail' || wizard.customerType === 'both';
+ var wholesaleOnly = wizard.customerType === 'wholesale';
// Voice carriers always need RMD + CPNI regardless of retail/wholesale
wizard.needsRmd = hasVoice;
wizard.needsCpni = hasVoice;
- // CALEA: all voice carriers + facilities-based broadband
- wizard.needsCalea = hasVoice || (hasBroadband && wizard.broadbandType === 'facilities');
+ // CALEA: carriers serving end users (retail/both). Wholesale-only "carrier's carrier"
+ // providers are exempt as "interconnecting carriers" under CALEA.
+ // Also required for facilities-based broadband serving end users.
+ wizard.needsCalea = !wholesaleOnly && (hasVoice || (hasBroadband && wizard.broadbandType === 'facilities'));
// BDC only for broadband providers with retail end users
wizard.needsBdc = hasBroadband && hasRetail;
+ // International Section 214 authorization
+ wizard.needs214 = wizard.international;
wizard.needsOcn = wizard.infraNeeds.indexOf('lcr') >= 0 || wizard.infraNeeds.indexOf('own_dids') >= 0 ||
wizard.infraNeeds.indexOf('interconnect') >= 0 || wizard.infraNeeds.indexOf('stir_sign') >= 0;
wizard.needsStirShaken = wizard.infraNeeds.indexOf('stir_sign') >= 0 || wizard.needsOcn;
@@ -482,6 +510,7 @@ select:focus,input:focus{outline:none;border-color:#1e3a5f;box-shadow:0 0 0 2px
// Add-ons (extra cost)
addonRow('STIR/SHAKEN Implementation', 49900, 'stir_shaken', wizard.needsStirShaken);
addonRow('NECA OCN Registration', 265000, 'ocn', wizard.needsOcn);
+ addonRow('International Section 214 Authorization', 149900, 'intl_214', wizard.needs214);
addonRow('State PUC Registration (per state)', 39900, 'state_puc', false);
updatePrice();
@@ -497,6 +526,7 @@ select:focus,input:focus{outline:none;border-color:#1e3a5f;box-shadow:0 0 0 2px
var key = cb.dataset.reg;
if (key === 'stir_shaken') { total += 49900; details.push('STIR/SHAKEN: +$499'); }
if (key === 'ocn') { total += 265000; details.push('OCN: +$2,650'); }
+ if (key === 'intl_214') { total += 149900; details.push('Intl 214: +$1,499'); }
if (key === 'state_puc') { total += 39900; details.push('State PUC: +$399/state'); }
});
@@ -640,6 +670,7 @@ select:focus,input:focus{outline:none;border-color:#1e3a5f;box-shadow:0 0 0 2px
];
if (services.indexOf('stir_shaken') >= 0) items.push({ name: 'STIR/SHAKEN Implementation', price: 49900 });
if (services.indexOf('ocn') >= 0) items.push({ name: 'NECA OCN Registration', price: 265000 });
+ if (services.indexOf('intl_214') >= 0) items.push({ name: 'International Section 214 Authorization', price: 149900 });
if (services.indexOf('state_puc') >= 0) items.push({ name: 'State PUC Registration', price: 39900 });
if (wizard.entitySource === 'new_formation') {
items.push({ name: 'Business Formation (' + (document.getElementById('new-formation-state').value || '?') + ' ' + document.getElementById('new-entity-type').value.toUpperCase() + ')', price: wizard.formationFee + wizard.stateFee });
@@ -699,6 +730,7 @@ select:focus,input:focus{outline:none;border-color:#1e3a5f;box-shadow:0 0 0 2px
service_wizard: {
service_types: wizard.serviceTypes,
customer_type: wizard.customerType,
+ international: wizard.international,
voice_delivery: wizard.voiceDelivery,
infra_needs: wizard.infraNeeds,
broadband_type: wizard.broadbandType,