"""Cisco BroadWorks preset — OCS web UI / SOAP hybrid. BroadWorks exposes CDRs via several mechanisms — SOAP OCI-P, OSS push to an SFTP dropoff, or manual CSV download from the OCS web portal. The simplest cross-deployment path is the OCS web UI scrape (CSV export button on the "CDR File Delivery" page). SOAP / OCI-P can be added later if a deployment only allows programmatic access. """ from __future__ import annotations from ._scrape_base import ScrapePreset class BroadWorksPreset(ScrapePreset): PRESET_SLUG = "broadworks" LABEL = "Cisco BroadWorks (OCS)" CDR_FORMAT = "generic_csv" DEFAULT_CRON = "0 3 * * *" FORMAT_CONFIG = { "start_time": "startTime", "caller_number": "callingNumber", "called_number": "calledNumber", "duration_sec": "releaseTime", # computed (release - answer) in custom map "call_id": "correlationId", "trunk_group": "trunkGroup", "disposition": "releaseCauseKey", "ts_format": "%Y-%m-%dT%H:%M:%S", }