Перейти к основному содержимому

Коды ошибок управления медиа (mpbx-media-control, rtpengine NG)

Коды, которые возвращает mpbx_media_control (W2-MED-01), клиент, с помощью которого B2BUA закрепляет медиа на rtpengine. Виды сопоставляются со статусами HTTP на уровне API так же, как в общих кодах. Сообщения называют в лучшем случае узел rtpengine и команду NG; они никогда не содержат тела SDP, тегов, телефонных номеров или адресов. См. руководство по управлению медиа.

КодВидЗначениеЧто делать
MPBX-RTPE-TIMEOUTunavailableУзел не ответил в пределах бюджета повторных передач (retransmit_ms × attempts, по умолчанию 1,5 с). Повтор возможен. Учитывается при пометке узла как недоступного.Проверьте, что rtpengine запущен и что media_control.nodes[].address совпадает с его --listen-ng. Следите за mpbx_rtpengine_nodes_up и rtpe:nodes.
MPBX-RTPE-UNREACHABLEunavailableПорт NG отклонил запрос (ICMP port unreachable для UDP, connection refused для TCP, ошибка HTTP). Повтор возможен. Учитывается при пометке узла как недоступного.Запустите rtpengine или исправьте адрес и транспорт узла.
MPBX-RTPE-NO-NODEunavailableВсе настроенные узлы помечены как недоступные, поэтому новый вызов нельзя закрепить. Существующие вызовы сохраняют свой узел.Верните один из узлов в работу; он снова станет доступным после up_after успешных проверок состояния.
MPBX-RTPE-UNKNOWN-NODEnot_foundДескриптор сессии ссылается на узел, которого больше нет в настройке (например, после перезапуска с изменённым списком узлов).Не меняйте имена узлов, пока вызовы активны.
MPBX-RTPE-REJECTEDinvalid_argumentrtpengine ответил result: error (сообщение содержит его error-reason, обрезанный до 160 символов), например «Unknown call-ID» для сессии, которая уже удалена, или SDP, который он не смог разобрать. Это не отказ узла.Обычно это ошибка состояния вызова в вызывающем коде или некорректный SDP от оконечного устройства.
MPBX-RTPE-PROTOCOLinternalОтвет не является корректным NG: неверный bencode, нет cookie, нет result или код ошибки HTTP.Проверьте, что адрес указывает на порт NG rtpengine, а не на другой сервис. Сообщите о проблеме вместе со строкой журнала.
MPBX-RTPE-CODEC-UNSUPPORTEDinvalid_argumentПолитика кодеков требует транскодирования в кодек, который стандартная сборка не может кодировать (iLBC, AMR, AMR-WB: только декодирование, W1-SPK-02, раздел 4.8), либо кодек, не включённый в этом выпуске (включены: Opus, G.711, G.722, G.729; GSM пока нет). Такие кодеки по-прежнему проходят без изменений, если их предлагают обе стороны.Уберите кодек из списка транскодирования.
MPBX-RTPE-TENANT-MISMATCHpermission_deniedДескриптор медиасессии одной компании использован с контекстом другой компании. В rtpengine ничего не отправлено.Ошибка или атака в вызывающем коде: дескрипторы сессий должны оставаться у вызова, которому они принадлежат.
MPBX-RTPE-SUBSCRIBE-PT-MISMATCHinvalid_argumentSDP ответа subscribe answer (ответвление медиа для записи) не повторяет каждый тип полезной нагрузки из предложения subscribe request, включая telephone-event; rtpengine отклонил бы его (ADR-0004, решение 7). Ничего не отправлено.Сформируйте ответ через sdp::mirror_recvonly_answer.
MPBX-RTPE-CONFIGconfigНекорректная настройка media_control: нет узлов, имя узла вне [a-z0-9_-]{1,32}, повторяющееся имя или нулевой интервал или порог.Исправьте настройку.