CDR Records

This endpoint allows telecom operators and authorized partners to submit Call Detail Records (CDRs) for tax verification and monitoring purposes. The system ensures traceability, integrity, and consistency of telecommunications data to support taxation, prevent fraud, and enable regulatory compliance.

Sentinal® supports two ingestion methods:

• RESTful API Submission

• Secure SFTP File Drop

All submitted CDRs are stored securely, processed, and cross-checked against known tax rules and telecom event patterns.

RESTful CDR Submission

POST /v1/telecom/recordCDR

Headers

Name
Type
Description

x-api-key*

string

Request Body

{
  "cdr_id": "202501310001",
  "timestamp": "2025-01-31T12:30:15Z",
  "caller_number": "+27123456789",
  "receiver_number": "+27119876543",
  "call_start_time": "2025-01-31T12:30:15Z",
  "call_end_time": "2025-01-31T12:35:45Z",
  "call_duration_seconds": 330,
  "call_type": "voice",
  "call_status": "completed",
  "caller_location": {
    "latitude": -26.2041,
    "longitude": 28.0473
  },
  "receiver_location": {
    "latitude": -26.2055,
    "longitude": 28.0500
  },
  "network_provider": "PROVIDER",
  "imei_caller": "356938035643809",
  "imei_receiver": "357284099178261",
  "billing_information": {
    "call_cost": 3.50,
    "currency": "ZAR",
    "billing_plan": "prepaid",
    "data_used_kb": 0
  },
  "voip_details": {
    "codec": "G.711",
    "packet_loss_percentage": 0.1,
    "jitter_ms": 5,
    "latency_ms": 50
  },
  "recording_available": false
}

{
  "success": true,
  "message": "CDR recorded and queued for tax verification.",
  "cdr_reference": "CDR-202501310001"
}

This endpoint is for recording only. Tax analysis and report generation will be processed asynchronously.

CDR Submission via SFTP

Telecom operators can submit batches of Call Detail Records (CDRs) via secure SFTP. This method is optimised for high-volume, scheduled transfers and is the recommended integration method for most operators due to its simplicity and compatibility with legacy systems.

• Directory: /cdr/incoming/

• File Format: .csv

• Naming Convention:

cdr_<operator_id>_<YYYYMMDDHHMMSS>.csv

Example .csv File:

cdr_id,timestamp,caller_number,receiver_number,call_start_time,call_end_time,call_duration_seconds,call_type,call_status,network_provider,call_cost,currency
202501310001,2025-01-31T12:30:15Z,+27123456789,+27119876543,2025-01-31T12:30:15Z,2025-01-31T12:35:45Z,330,voice,completed,MTN,3.50,ZAR
202501310002,2025-01-31T12:40:10Z,+27111111111,+27222222222,2025-01-31T12:40:10Z,2025-01-31T12:42:10Z,120,voip,completed,Vodacom,2.75,ZAR

Processing Details

• Pickup Frequency: Every 15 minutes

• Validation Logs: Returned in /cdr/status/ as .json files

• Invalid Records: Flagged with detailed errors for correction

JSON remains supported for advanced integrations requiring nested data, but CSV is preferred for simplicity and operational efficiency.

Last updated