# Remote SIP Calls, CDR, and Billing API Test Report Date: 2026-06-29T05:34:25.003Z Base URL: https://100.90.90.91 Username: admin Low-Privilege Username: codex.low | Result | Check | Detail | | --- | --- | --- | | PASS | admin can login | status=200, duration=1308ms | | PASS | admin login returns access token | tokenLength=296 | | PASS | low-privilege user can login for RBAC checks | status=200, duration=1060ms | | PASS | low-privilege user cannot list CDRs | status=403, duration=477ms | | PASS | low-privilege user cannot list active calls | status=403, duration=464ms | | PASS | CDR list can be queried | status=200, duration=1818ms | | PASS | CDR list returns page shape | total=56, take=20, skip=0, hasMore=true | | PASS | CDR list items do not expose secrets | items=20 | | PASS | CDR detail can be fetched | status=200, duration=683ms | | PASS | CDR detail matches list item id and event id | id=raw_4281ea422d1c4465964c6bf054a90115, eventId=s28-ok-1782701051-2331-s40-01-1782701049649-q3u-fde892c670e534f8 | | PASS | CDR detail does not expose secrets | id=raw_4281ea422d1c4465964c6bf054a90115 | | PASS | rated CDR detail has numeric fee fields | billSec=6, customerFee=0.012000, vendorCost=0.012000, grossProfit=0.000000 | | PASS | CDR caller filter can be queried | status=200, duration=2032ms | | PASS | CDR caller filter returns matching rows | rows=9, caller=s36-1001 | | PASS | CDR carrier filter can be queried | status=200, duration=1585ms | | PASS | CDR carrier filter returns matching rows | rows=10, carrier=UNKNOWN | | PASS | invalid CDR carrier is rejected | status=400, duration=774ms | | PASS | invalid carrier returns CARRIER_INVALID | code=CARRIER_INVALID | | PASS | invalid CDR pagination is rejected | status=400, duration=464ms | | PASS | invalid pagination returns QUERY_INVALID | code=QUERY_INVALID | | PASS | invalid CDR time range is rejected | status=400, duration=458ms | | PASS | invalid time range returns TIME_RANGE_INVALID | code=TIME_RANGE_INVALID | | PASS | missing CDR detail returns 404 | status=404, duration=389ms | | PASS | missing CDR returns CDR_NOT_FOUND | code=CDR_NOT_FOUND | | PASS | active calls list can be queried | status=200, duration=969ms | | PASS | active calls response has normalized shape | source=opensips-mi, total=0 | | PASS | invalid active call hangup id is rejected before MI call | status=400, duration=561ms | | PASS | invalid active call id returns ACTIVE_CALL_ID_INVALID | code=ACTIVE_CALL_ID_INVALID | ## Not Executed By This Black-Box API Run - Real IP/SIP customer calls from T through A to UAS. - SIP Digest wrong-password REGISTER/INVITE signaling assertions. - Low-balance hot-path rejection assertions. - Primary/backup route failover proven by live call CDR vendorGatewayId. - Redis Stream CDR injection, duplicate event idempotency, deadletter, and retry/pending checks. - Direct customer balance deduction by CDR Worker transaction. These require A/B/T SIP tooling or Redis/DB side access in addition to the HTTPS API.