Core Platform Suite · Port :3000

Ultima V2 PBX.
Autonomous Voice AI & Telephony.

Next-generation cloud PBX and autonomous voice AI agent platform combining Asterisk ARI, Telnyx WebRTC, dynamic agent scripts, and the strict DR-028 compliance rules engine (TCPA calling-hours windowing, DNC opt-out registry, and FTC safe-harbor pacing).

Production Version v2.5.0-GA
Voice Latency < 42ms WebRTC
Test Coverage 208 / 208 Green
● WebRTC SIP Trunk Simulator DTMF Audio Enabled
1-800-ULTIMA-PBX
SIP Trunk Ready · Asterisk ARI Online

Technical Specifications

The DR-028 Compliance Rules Engine.

Most autodialers hardcode calling logic into business controllers. Ultima V2 PBX decouples compliance policy into a declarative rules engine (DR-028) that evaluates time zones, local holiday calendars, and FTC safe-harbor abandonment rate caps before placing any outbound leg.

⚖️

Automated TCPA Window Evaluation

Calculates recipient area code local time down to the minute, blocking calls outside 8:00 AM – 9:00 PM local time automatically.

⚡

Cluster-Wide Redis Multi-Node Pacing

Global concurrency counters across distributed dialer workers prevent carrier trunk saturation and burst penalties.

🛡️

Ecosystem Telemetry Bridge

Passes call event webhooks into Tambayan War Rooms for immediate incident escalation and Manom for agent handling telemetry.

services/rules/dispatchEngine.ts
// Ultima PBX — Call Routing & Safe-Harbor Pacing Engine
import { evaluateCallingHours, checkDncRegistry } from '@/services/rules';
import { ConcurrencyCounter } from '@/services/redis-pacing';

export async function dispatchVoiceAgent(callParams: CallRequest) {
  // 1. Enforce DR-028 compliance rules engine (time-window & DNC block)
  const isCompliant = await evaluateCallingHours(callParams.contactTz);
  if (!isCompliant) {
    throw new ComplianceWindowError('Calling window closed for timezone');
  }

  // 2. Reserve cluster pacing slot via Redis multi-node pacing
  const slotToken = await ConcurrencyCounter.acquire(callParams.tenantId);
  
  // 3. Initiate Telnyx WebRTC leg to Asterisk ARI bridge
  return await TelephonyBridge.connectLeg({
    ...callParams,
    slotToken,
    sampleRate: 48000,
    channels: 1
  });
}