Call recording error codes (mpbx-recording)
Raised by the recording routes (/api/v1/recordings, /api/v1/me/recordings,
/api/v1/recording-files, /api/v1/calls/{id}/recording, /api/v1/recording-consent) and the
recording controller (W3-REC-01, W6-TEL-06). Messages never contain
phone numbers, object keys, signed URLs or tokens. Guide: Call recording.
mpbx-media's own codes (MPBX-MEDIA-*, for example MPBX-MEDIA-CRYPTO) are in
media.md and can appear as a recording's error_code.
| Code | Kind | Meaning | What to do |
|---|---|---|---|
MPBX-REC-NOT-FOUND | not_found | No such recording in this company. Another company's recording is invisible, so its id is a 404 too. | Check the id. |
MPBX-REC-ACCESS-DENIED | permission_denied | The caller may not see or change this recording: it has no participant in the departments the caller's recordings:read (or recordings:delete) covers, or "users see their own recordings" is off for the company (/me/recordings). | Ask an administrator for the permission in the right department, or to switch on users_access_own. |
MPBX-REC-NOT-STORED | conflict | The recording is still running, paused or failed, so there is no file to download yet. | Wait until status is stored. A failed recording has no file; its error_code says why. |
MPBX-REC-URL-INVALID | permission_denied | A download link is malformed, forged, for another company or expired. One code for every case, so a link cannot be probed. | Ask for a new link (POST .../download-url); links live 5 minutes by default, at most one hour. |
MPBX-REC-INVALID | invalid_argument | A setting, policy or consent announcement is out of range (retention 1 to 3650 days, mode off/all/external, a consent prompt that is neither beep nor a prompt of the company's library of at most 7 s, an opt-out key other than 0-9, *, #, a DID that is not E.164, an on-demand action other than start/stop/pause/resume), or the target (extension, queue, trunk, DID) does not exist in the company. | Fix the named value. |
MPBX-REC-LEGAL-HOLD | conflict | The recording is under legal hold: neither an administrator nor retention deletes it. | Release the hold first (PUT /recordings/{id}/legal-hold with {"legal_hold": false}, recordings:delete). |
MPBX-REC-START-FAILED | n/a (recording error_code) | A policy asked for the call to be recorded but the rtpengine fork or mpbx-media refused it (the call itself goes on). Stored as the recording's error_code, with an audit record. | Check the rtpengine and mpbx-media logs for the call; the media error codes are in media.md. |
MPBX-REC-CONSENT-FAILED | unavailable (recording error_code) | The call has a consent announcement (its DID, queue or trunk, or the recording policy) but it could not be played: no audio player on rtpengine, the prompt was deleted, is longer than 7 s, or is not playable. The call is not recorded (fail closed: never without the announcement the company asked for); the call itself goes on. | Check rtpengine's play media support (the transcoding build) and the prompt; pick beep to rule the prompt out. |
MPBX-REC-CALL-NOT-FOUND | not_found | On-demand control: no answered call with this id in the company (it ended, it was never answered, or it is another company's). | Find the call's id with POST /calls/lookup while it is up. |
MPBX-REC-NOT-RECORDING | conflict | On-demand control: pause, resume or stop of a call that is not being recorded. | start it first. |
MPBX-REC-POLICY-REQUIRED | conflict | A party of the call tried to stop a recording that a recording policy asks for. It can be paused (PCI) and resumed, not stopped. | Pause it, or ask somebody with calls:control for the call's department. |
MPBX-REC-DECLINED | conflict | The caller pressed the opt-out key during the consent announcement: the call is not recorded, not even on demand. | Nothing; the caller's choice stands for the call. |
MPBX-REC-CONTROL-UNAVAILABLE | unavailable | This server does not run the call recorder (no SIP side, or no mpbx-media), so it cannot start, stop or pause a live call's recording. | Send the request to a node that runs the call engine with mpbx-media. |