Códigos de error de medios (mpbx-media-app, mpbx-media)
Códigos generados por mpbx_media_app (W3-MAPP-01, W3-MAPP-02), la aplicación de medios propia que reproduce avisos, captura DTMF, graba buzones de voz y mezcla salas de conferencia sobre piernas RTP simples ancladas a través de rtpengine (ADR-0004). Los tipos se asignan a estados HTTP en la capa de API igual que en los códigos comunes. Los mensajes nunca contienen cuerpos SDP, direcciones, dígitos, números telefónicos ni tokens de sesión. Consulte la guía de mpbx-media.
| Código | Tipo | Significado | Qué hacer |
|---|---|---|---|
MPBX-MEDIA-SESSION-UNKNOWN | not_found | El manejador de la sesión, conferencia o participante es desconocido, ya se cerró (o salió), o su token no coincide. Un solo código para los tres casos, para que quien llama no pueda sondear sesiones activas. | Por lo general es un error de estado de llamada: el actor de la llamada usó un manejador después de cerrarlo, o después de reiniciar mpbx-media. Abra una nueva sesión. |
MPBX-MEDIA-TENANT-MISMATCH | permission_denied | Un manejador de sesión, conferencia o participante de una empresa se usó con el contexto de otra (incluido unirse a la sala de conferencia de otra empresa), o se pasó a play un aviso de otra empresa. No se asignó ni encoló nada. | Un error o un ataque en el código que llama: los manejadores y los avisos en caché deben quedarse con la empresa que los posee. Una sala de conferencia nunca mezcla dos empresas. |
MPBX-MEDIA-CODEC-UNSUPPORTED | invalid_argument | El SDP no ofrece ningún códec que mpbx-media maneje. mpbx-media solo termina PCMU, PCMA, G.722 y Opus (DECISIONS Round 10). | Pida a rtpengine que transcodifique la pierna hacia mpbx-media a PCMU (o G.722 para banda ancha), como lo hace la política de códecs de control de medios. |
MPBX-MEDIA-SDP-INVALID | invalid_argument | El SDP no tiene una sección de audio utilizable: no hay línea m= de audio, no hay dirección de conexión, puerto 0 (flujo rechazado), un tipo de carga no válido, o un protocolo distinto de RTP/AVP simple. | mpbx-media solo habla RTP simple con rtpengine. Pase el SDP que produjo rtpengine para la pierna de mpbx-media (ICE eliminado, sin SRTP), no el SDP propio del endpoint. |
MPBX-MEDIA-PROMPT-INVALID | invalid_argument | Un archivo de aviso no es un WAV utilizable: no es RIFF/WAVE, le faltan fragmentos, pesa más de 32 MiB, o no es PCM de 16 bits / G.711 de 8 kHz a 8 o 16 kHz. | Convierta el aviso al subirlo (W3-TEL-07 transcodifica las cargas a WAV). |
MPBX-MEDIA-OVERLOADED | unavailable | mpbx-media rechazó trabajo nuevo: se alcanzó el límite de sesiones (media.max_sessions, incluidos los participantes de conferencia), una sala de conferencia está llena (media.max_conference_participants), una cola de trabajadores está llena, un trabajador se detuvo, o no hay ningún puerto RTP libre en media.rtp_ports. Se puede reintentar. | Agregue capacidad a mpbx-media (núcleos o instancias) o amplíe el rango de puertos. Vigile mpbx_media_sessions y mpbx_media_tick_overruns_total. |
MPBX-MEDIA-BAD-STATE | conflict | La operación no es válida en el estado de la sesión, por ejemplo una segunda grabación de buzón de voz mientras otra está en curso. | Detenga primero la grabación en curso. |
MPBX-MEDIA-CRYPTO | internal | Falló el cifrado o descifrado de una grabación guardada: la clave del archivo no se puede abrir en esta empresa (archivo de otra empresa, id de archivo incorrecto), el archivo fue modificado, reordenado o truncado, o no es un archivo cifrado de mpbx-media. | Verifique que la grabación pertenezca a la empresa que la lee y que el objeto no se haya alterado. Una clave maestra de instalación incorrecta aparece como MPBX-SECRETS-* en el registro. |
MPBX-MEDIA-CONFIG | config | Configuración media no válida: un bind_ip comodín o de multidifusión, trabajadores fuera de 1-256, tramas de jitter fuera de 1-10, un rango de puertos RTP incorrecto, un límite en cero, participantes de conferencia fuera de 2-1000, o el servicio se inició fuera de un runtime de tokio. | Corrija la configuración. bind_ip debe ser una dirección interna que rtpengine alcance (loopback en un solo host). |
MPBX-MEDIA-IO | internal | Falló una operación de socket (bind, envío, creación de un hilo de trabajo). | Revise la dirección de bind y los límites del proceso (archivos abiertos, hilos). |
MPBX-MEDIA-CODEC | internal | Un códec no se pudo inicializar, codificar o decodificar. Una carga recibida dañada se oculta en lugar de fallar, así que esto es raro. | Repórtelo con la línea del registro. |
MPBX-MEDIA-PROTOCOL | invalid_argument | La conexión de control de medios entre el motor y un mpbx-media separado rompió el protocolo (MVP-GAP-02): una trama no pasó la autenticación (modificada, repetida, reordenada, de otra conexión), su longitud está fuera de límites, o un mensaje está mal formado o es desconocido. La conexión se cierra; las llamadas que estaban en ella terminan. | Un error o un ataque en la red interna. Verifique que ambos extremos ejecuten la misma versión, y revise mpbx_media_control_frames_rejected_total. |
MPBX-MEDIA-REMOTE-UNAVAILABLE | unavailable | El motor no tiene una conexión autenticada con un mpbx-media remoto ([media] mode = "remote"): ninguno de los [media] remote responde, el servicio se está apagando, los secretos de control no coinciden, o se perdió la conexión (las llamadas que estaban en ella terminan). Se puede reintentar. | Revise el servicio mpbx-media y sus registros, y que ambos tengan el mismo MPBX_MEDIA_CONTROL_SECRET. La alerta MediaServiceDown se activa con mpbx_media_remote_up == 0. |
MPBX-MEDIA-REMOTE-TIMEOUT | unavailable | El mpbx-media remoto no respondió a una solicitud de control dentro de [media] request_timeout_ms, o la solicitud no se pudo encolar a tiempo (contrapresión). Se puede reintentar. | mpbx-media está sobrecargado o la red interna está congestionada: vigile mpbx_media_tick_overruns_total y agregue capacidad. |
MPBX-MEDIA-REMOTE-ERROR | (según se reporte) | El mpbx-media remoto reportó un error cuyo código este motor no conoce (una versión más nueva del otro lado). El tipo se conserva. | Ejecute la misma versión en el motor y en mpbx-media. |
MPBX-MEDIA-ROOM-FULL | conflict | La sala de conferencia ya tiene tantos participantes como su propio límite permite (ConferenceOptions::max_participants, el límite configurado de una sala de acceso telefónico; W6-TEL-07). No se agregó a quien se unió; la verificación y la reserva son un solo paso, así que dos llamadas nunca pueden ocupar el último lugar. | Es lo esperado cuando la sala está llena: la sala de acceso telefónico reproduce su aviso de "sala llena" y termina la llamada. Aumente el límite de la sala si ocurre con frecuencia. |