collabSupport/tests
jmcqueen 9d0dbb071e Add per-app DPI voice-quality checks + widen WAN window to 7d
Adds three new SD-WAN checks (wanAppRtpMos/Loss/Jitter) that measure
REAL voice-traffic quality on actual RTP frames via Prisma DPI, not
synthetic link probes. Graded against the WORST 5-minute window so
transient degradation the 24h link-probe averages smooth away
actually surfaces.

Voice-app selection is tenant-configurable via PRISMA_APP_ID_VOICE +
PRISMA_APP_NAME_VOICE (Webex_Calling_RTP recommended for Webex
Calling shops — the Webex-specific DPI signature excludes non-Webex
UDP noise). Legacy PRISMA_APP_ID_RTP_BASE still honored with a
one-time deprecation warning.

Widens the default WAN look-back from 24h to 7 days: per-app metrics
only get datapoints when calls actually happen, so sporadic Webex
Calling stores (3-4 calls/day) need a wider window for worst-window
statistics to be meaningful. Interval picker snaps 7d to 1hour
buckets (168 pts) to keep payloads bounded while preserving
worst-hour granularity. Hard-capped at 7d — beyond that Prisma
downsamples to 1-day buckets and the signal collapses.

Also:
- Client-side concurrency limiter (PRISMA_MAX_INFLIGHT, default 3)
  to prevent 429 cascades when /voicediag fans out 10+ parallel
  metric fetches
- "View in Prisma UI" deep links in both /phonestatus WAN follow-up
  and /voicediag details, threading through a new
  integrations/paloalto/urls.js builder
- humanizeMetricUnit maps raw API unit strings ("percentage",
  "milliseconds") to display symbols ("%", "ms") to fix
  "11.83percentage" leaking to the UI
- getAppAudio envelope distinguishes not-configured / fetch-failed /
  no-traffic states so misleading "set env var" messages don't fire
  when the real problem is a 429

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-09 13:54:15 -04:00
..
alarmSemantics.test.js Add per-app DPI voice-quality checks + widen WAN window to 7d 2026-07-09 13:54:15 -04:00
dectDiscovery.test.js DECT relay Phase 1: WSS hub + agent + /phonestatus follow-up 2026-07-02 17:03:32 -04:00
dectRelayHub.test.js DECT relay Phase 1: WSS hub + agent + /phonestatus follow-up 2026-07-02 17:03:32 -04:00
httpDigestAuth.test.js Add Cisco DBS-210 DECT base spike (HTTP Digest client + safe probes) 2026-07-02 15:30:42 -04:00
igmpFixPayload.test.js Detect and inline-remediate Meraki IGMP snooping in /phonestatus 2026-07-02 14:10:33 -04:00
igmpSummarizer.test.js Detect and inline-remediate Meraki IGMP snooping in /phonestatus 2026-07-02 14:10:33 -04:00
markdownToAdf.test.js Initial commit: CollabFinder Webex bot 2026-07-01 16:55:03 -04:00
paloalto.client.test.js Add per-app DPI voice-quality checks + widen WAN window to 7d 2026-07-09 13:54:15 -04:00
paloalto.metrics.test.js Add per-app DPI voice-quality checks + widen WAN window to 7d 2026-07-09 13:54:15 -04:00
paloalto.sites.test.js Add Prisma SD-WAN voice-quality enrichment for /phonestatus + /voicediag 2026-07-09 09:45:29 -04:00
paloalto.urls.test.js Add per-app DPI voice-quality checks + widen WAN window to 7d 2026-07-09 13:54:15 -04:00
pollerAdf.test.js Initial commit: CollabFinder Webex bot 2026-07-01 16:55:03 -04:00
renderers.test.js DECT relay Phase 1: WSS hub + agent + /phonestatus follow-up 2026-07-02 17:03:32 -04:00
renderers.wan.test.js Add per-app DPI voice-quality checks + widen WAN window to 7d 2026-07-09 13:54:15 -04:00
sdwanEnrichment.test.js Add per-app DPI voice-quality checks + widen WAN window to 7d 2026-07-09 13:54:15 -04:00
statusXml.test.js Add DBS-210 status.xml parser + health verdict 2026-07-02 15:35:34 -04:00
voiceDiag.checks.test.js Add per-app DPI voice-quality checks + widen WAN window to 7d 2026-07-09 13:54:15 -04:00
voiceDiag.wan.test.js Add per-app DPI voice-quality checks + widen WAN window to 7d 2026-07-09 13:54:15 -04:00
voiceDiagRenderer.test.js Add per-app DPI voice-quality checks + widen WAN window to 7d 2026-07-09 13:54:15 -04:00