Saltar al contenido principal

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

Los devuelven las rutas de llamadas del usuario que inició sesión (MVP-GAP-04): POST /api/v1/calls/click-to-call, POST /api/v1/calls/lookup, POST /api/v1/calls/{id}/conference, POST /api/v1/calls/{id}/split, POST /api/v1/calls/{id}/pull (W6-TEL-08), y la llamada de prueba SIP de POST /api/v1/me/devices/{id}/test-call; los códigos MPBX-CALL-* del motor provienen de B2bua::originate y B2bua::find_call. Las operaciones de unir y dividir devuelven los códigos de conferencia de conference.md. Los mensajes nunca contienen números, nombres ni identificadores SIP. Guía: Llamada con un clic, llamada de prueba y conferencia desde la API.

CódigoHTTPSignificadoQué hacer
MPBX-CALL-SESSION-REQUIRED403Una clave de API llamó a una ruta que inicia o controla una llamada de un usuario que inició sesión.Use una sesión de usuario. El control de llamadas para integraciones es la API REST de control de llamadas (/api/v1/call-control/..., W7-API-01, call-control.md).
MPBX-CALL-NO-EXTENSION409El usuario no tiene extensión, o la extensión o el usuario están desactivados. También lo responden GET y PUT /me/intercom, cuyo interruptor vive en la extensión.Asigne al usuario una extensión activa.
MPBX-CALL-ENGINE-UNAVAILABLE503Ningún motor de llamadas puede atender la solicitud: este nodo no tiene ninguno ([sip] enabled = false) y, en un nodo solo de API (mpbx run --role api, FU-GAP04-6), ningún motor (rol engine o all) se ha registrado en el bus de control de llamadas en los últimos 15 segundos.Inicie un motor (rol engine o all) en el mismo Valkey, o active SIP.
MPBX-CALL-BUS-TIMEOUT503Nodo solo de API (FU-GAP04-6): los motores no respondieron a tiempo por el bus de control de llamadas (6 s; 45 s para una llamada nueva). La llamada puede haberse realizado o modificado de todos modos.Reintente después de revisar la lista de llamadas; revise los motores y Valkey.
MPBX-CALL-BUS-BAD-FRAME500Nodo solo de API: un mensaje del bus de control de llamadas no se pudo decodificar (un motor de otra versión durante una actualización).Actualice todos los nodos a la misma versión.
MPBX-CALL-UNSUPPORTED503El motor no puede originar llamadas: no hay un servicio de medios conectado (mpbx-media), no respondió o no se pudo leer el plan de marcación.Revise [media] y el servicio de medios; reintente.
MPBX-CALL-DEVICE-UNAVAILABLE409Ninguno de los dispositivos del usuario (o no el elegido) está registrado ni puede activarse ahora mediante una notificación push.Abra la aplicación o el teléfono en el navegador (se registra) y reintente.
MPBX-CALL-DESTINATION-REFUSED403El plan de marcación de la empresa rechaza el destino para este usuario (no hay regla de salida, el perfil de llamadas no lo permite, un número bloqueado o de tarificación especial, un código de función), o no es un número marcable. No sonó nada.Ese mismo número tampoco se puede marcar desde el teléfono del usuario; pida a un administrador el permiso de llamadas salientes.
MPBX-CALL-FORBIDDEN403Nunca a través de la API: un número de emergencia (márquelo desde el teléfono), la extensión propia del usuario o una extensión que no es del usuario.Marque los números de emergencia desde el teléfono.
MPBX-CALL-BUSY409El usuario ya está en una llamada y tiene desactivada la espera de llamadas.Primero cuelgue la otra llamada.
MPBX-CALL-OVERLOADED503El motor alcanzó su límite de llamadas, o el almacén de estado de llamadas (Valkey) no respondió.Reintente después del valor de Retry-After.
MPBX-CALL-REMOTE-CONTROL-OFF409Llamada con un clic con auto_answer ("Llamar usando" un teléfono de escritorio, W6-TEL-08) en un dispositivo cuyo control remoto está desactivado (el valor predeterminado). No sonó nada.El propietario del dispositivo lo activa: PUT /api/v1/me/devices/{id}/remote-control {"enabled": true}, o llame sin auto_answer (el teléfono suena).
MPBX-CALL-NOT-FOUND404POST /calls/lookup: no hay una llamada activa en la que usted tenga un tramo con ese Call-ID SIP en uno de sus dispositivos (un tramo de otro usuario, un tramo de troncal, una llamada de otra empresa y una llamada terminada se ven igual).Verifique el Call-ID de su propio tramo; es posible que la llamada haya terminado.

Captura de llamada (POST /api/v1/calls/{id}/pull, B2bua::pull)​

Guía: Captura de llamada y control remoto de llamadas.

CódigoHTTPSignificadoQué hacer
MPBX-PULL-CALL-NOT-FOUND404No hay una llamada activa y contestada de esta empresa en la que usted sea parte en uno de sus dispositivos (una llamada de otro usuario, un tramo de troncal, una llamada de otra empresa, una llamada terminada y un id desconocido se ven igual).Verifique el id de la llamada (POST /calls/lookup, eventos call.*); es posible que la llamada haya terminado.
MPBX-PULL-STATE409La llamada está ocupada con otra cosa: una transferencia, una retención en estacionamiento, una conferencia, un depósito en buzón de voz, otra captura, o una llamada con un clic cuyo destino todavía no ha contestado. No cambió nada.Reintente cuando termine.
MPBX-PULL-SAME-DEVICE409La llamada ya está en ese dispositivo.Elija otro de sus dispositivos.
MPBX-PULL-DEVICE-UNAVAILABLE409El dispositivo no está registrado ahora y no puede activarse con una notificación push, o no es un dispositivo de su extensión. No cambió nada.Abra la aplicación o el teléfono en el navegador (se registra) y reintente.
MPBX-PULL-FORBIDDEN403Una llamada de emergencia nunca se traslada a otro dispositivo; o los dispositivos de la extensión no son suyos.Permanezca en el dispositivo donde está la llamada de emergencia.

La API rechaza, antes de consultar al motor, un dispositivo que no es uno de sus dispositivos activos: 400 MPBX-INVALID-ARGUMENT en device_id.

El código de marcación de captura (*85 de forma predeterminada, códigos de marcación) responde con estados SIP: 404 (no hay una llamada suya en otro dispositivo), 485 Ambiguous (varias), 488 (sin oferta SDP), 491 (la llamada está ocupada con otra cosa), 403 (una llamada de emergencia; un dispositivo sin usuario).

Además: MPBX-RATE-LIMITED (429, api.md) al superar 10 llamadas iniciadas o 60 solicitudes de control de llamadas por minuto y por usuario, y una llamada de prueba por dispositivo cada 10 segundos.

Registros de auditoría (W3-AUD-01): call.click_to_call (detalles destination, device_id, auto_answer cuando se pide, result: ok o el código de error), call.pulled (entidad de la llamada; detalles via = api o dial_code, to_device_id, result: ok, el código de error, not_your_device, o para el código de marcación not_found, ambiguous, forbidden o el estado SIP; el actor es el usuario, o el dispositivo que marca en el caso del código de marcación), call.conference_merged (with_call_id, conference_id, result), call.conference_split (result) y device.test_call (call_id, result).