No idea why this is happening, the Bulk Export API returns a 500 Internal Server Error when filtering for WebRTC softphone recordings in the legal hold queue. Voice calls export fine, but WebRTC assets fail immediately upon job creation. Payload below:
{
"query": "webRTC:true AND legal_hold:true AND date:[2023-01-01 TO *]",
"include_metadata": true,
"destination": {
"type": "s3",
"bucket": "legal-discovery-eu"
}
}
The main issue here is likely the inclusion of include_metadata: true combined with the WebRTC filter in the query. The export engine struggles to resolve metadata fields for WebRTC sessions during the initial job validation phase, especially when crossing regional boundaries or dealing with specific carrier failover states. Switch to include_metadata: false for the initial batch creation. This forces the system to prioritize media file retrieval over complex metadata resolution, which often bypasses the 500 error trigger.
In my experience managing multiple BYOC trunks, WebRTC recording assets have different storage pointers compared to traditional SIP voice calls. The legal hold queue aggregates these differently, and the metadata expansion step often hits a timeout or null reference if the session logs are fragmented. Once the job succeeds, you can run a secondary API call to fetch the specific metadata for each recording URI if absolutely required for your compliance workflow. This two-step approach is more stable.