CRITICAL FINDING .. Please Support
Dear Team,
We are facing an issue with the CDR API response.
When calling the CDR API, the latest record returned is cdr_id = 99, with calldate = 2026-05-29 05:29:02. The API response shows only 95 rows and indicates that there are no additional pages available:
{
"rows": 95,
"meta": {
"current_page": 1,
"limit": 100,
"total_pages": 1,
"has_next": false,
"next_page": null
}
}
However, the database contains newer CDR records after this record. For example, the database includes records with cdr_id 100 through 105, with call dates up to 2026-05-30 23:50:40. These records are not returned by the API, even though they exist in the cdr table.
Example newer records existing in the database:
cdr_id: 105
calldate: 2026-05-30 23:50:40
disposition: ANSWERED
calltype: 3
tenant: vitalpbx
cdr_id: 104
calldate: 2026-05-30 23:39:20
disposition: ANSWERED
calltype: 3
tenant: vitalpbx
cdr_id: 100
calldate: 2026-05-30 22:46:40
disposition: ANSWERED
calltype: 3
tenant: vitalpbx
This means the issue does not appear to be that Asterisk is failing to write CDR records to the database. The CDR records are present in the database, but the API is not returning them.
Could you please check why the CDR API is only returning records up to cdr_id = 99, while newer records are already available in the database?
Please verify whether the API has any hidden/default filters, such as:
date range filter
call type filter
tenant filter
inbound/outbound filter
recording/cloud_path filter
pagination issue
cache issue
API query ordering issue
permission or role-based filter
Expected behavior:
The CDR API should return the latest records from the database, including records after cdr_id = 99, unless a specific filter is applied.
Best regards,
Mohamed Soliman