Saltar al contenido principal

Códigos de error de control de llamadas (rutas call-control de mpbx-api, control de mpbx-b2bua)

Se devuelven en la API REST de control de llamadas (W7-API-01, /api/v1/call-control/...) y en los métodos del motor que están detrás (B2bua::call_view, calls_view, hangup, hold, answer, send_dtmf). La transferencia y el estacionamiento pasan los códigos de transferencia de transfers.md; el originate pasa los códigos MPBX-CALL-* de calls.md. Los mensajes nunca contienen números, nombres, dígitos ni identificadores SIP. Guía: API REST de control de llamadas.

CódigoHTTPSignificadoQué hacer
MPBX-CC-CALL-NOT-FOUND404No hay una llamada activa con este id que pueda controlar: terminó, es una llamada de otra empresa, o ninguna de sus partes está en un departamento donde usted tiene calls:control (todos los casos se ven igual).Liste las llamadas (GET /call-control/calls); es posible que la llamada haya terminado.
MPBX-CC-PARTICIPANT-NOT-FOUND404El participante no es una parte activa de la llamada, no es una de las dos partes que conversan (espera, DTMF), o el dispositivo no suena para la llamada (contestar).Vuelva a leer los participantes de la llamada; use un participant_id de ellos.
MPBX-CC-STATE409La llamada no está en un estado al que aplique la acción: no contestada (espera, DTMF), no timbrando (contestar), en espera por la otra parte, en una transferencia, un estacionamiento, una aplicación, una cola o una conferencia, una llamada que el PBX originó y que aún no está conectada, en espera por el propio teléfono (reanudar), o ya terminando (colgar).Espere a que la llamada llegue a ese estado, o actúe desde el teléfono.
MPBX-CC-FORBIDDEN403Nunca se permite por la API: una llamada de emergencia no se cuelga, no se pone en espera, no se transfiere, no se estaciona ni se le envían dígitos.Nada: las llamadas de emergencia se atienden desde el teléfono.
MPBX-CC-UNSUPPORTED503El motor no puede hacerlo ahora: no hay aplicación de medios para la música en espera, el servicio de medios lo rechazó, las partes no pudieron volver a conectarse (la llamada queda en espera), no se pudo pedir al dispositivo que conteste, o la otra parte rechazó los dígitos.Revise [media] y el servicio de medios; reintente.
MPBX-CC-INVALID-DTMF400Los dígitos no son de 1 a 32 de 0-9, *, #, A-D.Envíe solo DTMF válido.
MPBX-CC-USER-OUT-OF-REACH403Originate para un usuario que no puede controlar, o nombrar a una parte de una llamada activa (transferencia, estacionamiento, espera, reanudación, DTMF) que es una persona fuera de su alcance: su calls:control no cubre ninguno de los departamentos del usuario.Use una clave o un rol con calls:control para el departamento del usuario, o para toda la empresa.
MPBX-CC-STREAM-TOO-MANY429Flujo de medios (W9-AI-06): demasiados flujos abiertos para esta clave de API o usuario (4), esta empresa (100), o esta llamada ya tiene uno.Cierre primero un flujo; reintente después de Retry-After.
MPBX-CC-STREAM-BAD-FRAME(evento error de WebSocket)Un marco de texto del flujo de medios no es un comando conocido, o un marco de audio está mal formado (encabezado, pista 0, longitud PCM par, como máximo un segundo). El flujo permanece abierto.Siga el formato de marcos de la guía del flujo de medios.
MPBX-CC-STREAM-PLAYBACK-FULL(evento error de WebSocket)Hay más de 10 s de audio en cola para reproducción. El marco se descartó.Envíe una mark y espere a que se confirme antes de enviar más audio, o envíe clear.
MPBX-CC-STREAM-UPGRADE-REQUIRED426Una solicitud HTTP normal llegó a GET /call-control/calls/{id}/media-stream.Conéctese con un cliente WebSocket.
MPBX-CC-STREAM-CREDENTIAL-ENDED(cierre 4401)Durante el flujo, la credencial venció o fue revocada, o perdió calls:control.Vuelva a conectarse con una credencial válida.

También: MPBX-RBAC-FORBIDDEN (403) sin calls:control; MPBX-CALL-ENGINE-UNAVAILABLE (503) en un nodo de API sin el motor de llamadas; MPBX-RATE-LIMITED (429, api.md) si se superan 10 llamadas originadas por minuto por clave de API o usuario (y por usuario destino), o 60 solicitudes de control de llamadas por minuto por clave de API o usuario.

Auditoría​

Cada registro tiene result (ok o el código de error) y el resultado denied para un rechazo: call.control_originate (destination, device_id, call_id; la entidad es el usuario), call.control_drop, call.control_answer (device_id), call.control_hold, call.control_resume, call.control_transfer (participant_id, destination o voicemail_extension), call.control_park (participant_id, orbit) y call.control_dtmf (participant_id, digit_count: nunca los dígitos). Flujo de medios (W9-AI-06): call.control_media_stream_open (rate, tracks, stream_id; también cuando se rechaza, por ejemplo en una llamada de emergencia) y call.control_media_stream_close (stream_id, reason, duration_s, frames_out, frames_in, commands); los comandos del flujo se auditan como sus rutas REST. El audio y los dígitos nunca se registran.