Коды ошибок записи разговоров (mpbx-recording)
Возникают в маршрутах записей (/api/v1/recordings, /api/v1/me/recordings, /api/v1/recording-files,
/api/v1/calls/{id}/recording, /api/v1/recording-consent) и в контроллере записи (W3-REC-01, W6-TEL-06).
Сообщения никогда не содержат номера телефонов, ключи объектов, подписанные URL или токены. Руководство:
Запись разговоров. Коды самого mpbx-media (MPBX-MEDIA-*, например MPBX-MEDIA-CRYPTO) описаны в
media.md и могут появляться как error_code записи.
| Код | Вид | Значение | Что делать |
|---|---|---|---|
MPBX-REC-NOT-FOUND | not_found | В этой компании нет такой записи. Запись другой компании не видна, поэтому её идентификатор тоже возвращает 404. | Проверьте идентификатор. |
MPBX-REC-ACCESS-DENIED | permission_denied | Вызывающий не может видеть или изменять эту запись: он не участвует в отделах, которые покрывает его право recordings:read (или recordings:delete), либо для компании выключено «пользователи видят свои записи» (/me/recordings). | Попросите администратора выдать право в нужном отделе или включить users_access_own. |
MPBX-REC-NOT-STORED | conflict | Запись ещё идёт, приостановлена или завершилась ошибкой, поэтому файла для скачивания пока нет. | Дождитесь, пока status станет stored. У записи с ошибкой нет файла; её error_code объясняет причину. |
MPBX-REC-URL-INVALID | permission_denied | Ссылка для скачивания некорректна, подделана, принадлежит другой компании или истекла. Один код для всех случаев, чтобы ссылки нельзя было проверять. | Запросите новую ссылку (POST .../download-url); ссылки действуют 5 минут по умолчанию, не более одного часа. |
MPBX-REC-INVALID | invalid_argument | Настройка, политика или объявление о согласии вне допустимого диапазона (срок хранения от 1 до 3650 дней, режим не off, all или external, объявление о согласии, которое не beep и не голосовое сообщение из библиотеки компании длиной не более 7 с, клавиша отказа, отличная от 0–9, *, #, DID не в формате E.164, действие по требованию, отличное от start/stop/pause/resume), либо цель (внутренний номер, очередь, транк, DID) не существует в компании. | Исправьте названное значение. |
MPBX-REC-LEGAL-HOLD | conflict | Запись находится на юридическом хранении: её не удаляют ни администратор, ни срок хранения. | Сначала снимите хранение (PUT /recordings/{id}/legal-hold с {"legal_hold": false}, recordings:delete). |
MPBX-REC-START-FAILED | нет (error_code записи) | Политика требует записывать вызов, но ответвление rtpengine или mpbx-media отказало в записи (сам вызов продолжается). Сохраняется как error_code записи, с записью в аудите. | Проверьте журналы rtpengine и mpbx-media для этого вызова; коды ошибок медиа описаны в media.md. |
MPBX-REC-CONSENT-FAILED | unavailable (error_code записи) | У вызова есть объявление о согласии (его DID, очередь или транк, либо политика записи), но его не удалось проиграть: на rtpengine нет аудиоплеера, голосовое сообщение удалено, длиннее 7 с или не воспроизводится. Вызов не записывается (закрытый отказ: никогда без объявления, которое запросила компания); сам вызов продолжается. | Проверьте поддержку play media в rtpengine (сборка с транскодированием) и голосовое сообщение; выберите beep, чтобы исключить голосовое сообщение. |
MPBX-REC-CALL-NOT-FOUND | not_found | Управление по требованию: в компании нет отвеченного вызова с этим идентификатором (он завершился, на него не ответили или он принадлежит другой компании). | Найдите идентификатор вызова через POST /calls/lookup, пока вызов активен. |
MPBX-REC-NOT-RECORDING | conflict | Управление по требованию: приостановка, возобновление или остановка вызова, который не записывается. | Сначала запустите запись (start). |
MPBX-REC-POLICY-REQUIRED | conflict | Одна из сторон вызова попыталась остановить запись, которую требует политика записи. Её можно приостановить (PCI) и возобновить, но не остановить. | Приостановите запись или попросите того, у кого есть calls:control для отдела вызова. |
MPBX-REC-DECLINED | conflict | Вызывающий нажал клавишу отказа во время объявления о согласии: вызов не записывается, даже по требованию. | Ничего делать не нужно; выбор звонящего действует для этого вызова. |
MPBX-REC-CONTROL-UNAVAILABLE | unavailable | Этот сервер не запускает регистратор вызовов (нет стороны SIP или mpbx-media), поэтому не может запускать, останавливать или приостанавливать запись активного вызова. | Отправьте запрос на узел, который запускает движок вызовов с mpbx-media. |