new-site/scripts/workers/cdr_presets/metaswitch.py
justin f8cd37ac8c Initial commit — Performance West telecom compliance platform
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>
2026-04-27 06:54:22 -05:00

28 lines
929 B
Python

"""Metaswitch iCM Provisioning Server preset — Playwright scrape.
iCM does not expose a public CDR API; operators download CSV exports
from the CDR Archive page inside the Provisioning Server admin UI.
Selectors vary across iCM versions (V11/V12+), so the concrete login
+ download flow is deferred until live recon on a specific deployment.
"""
from __future__ import annotations
from ._scrape_base import ScrapePreset
class MetaswitchPreset(ScrapePreset):
PRESET_SLUG = "metaswitch"
LABEL = "Metaswitch iCM (Provisioning Server)"
CDR_FORMAT = "generic_csv"
DEFAULT_CRON = "0 3 * * *"
FORMAT_CONFIG = {
"start_time": "startTime",
"caller_number": "callingNumber",
"called_number": "calledNumber",
"duration_sec": "connectionTime",
"billed_amount": "totalCharge",
"call_id": "cdr_sequence",
"ts_format": "%Y-%m-%d %H:%M:%S",
}