Registro de llamadas
El registro de tramos en Voice > Legs muestra cada conexión que tu espacio de trabajo realizó o recibió, de más reciente a más antigua. Una llamada puede contener varios tramos, como la conexión entrante y la reenviada. Cada entrada es un registro detallado de llamada (CDR), incluidas las conexiones que no fueron contestadas o fueron rechazadas. Úsalo para revisar la duración, la respuesta SIP final y el coste.
Bird escribe cada registro cuando el tramo termina, de modo que cada entrada del registro tiene un resultado final. La pestaña Live junto a él muestra los tramos que siguen activos.
Para ver la interacción completa, abre Voice > Calls. Una llamada agrupa tramos y participantes relacionados. Conserva el Call ID para correlación y el Leg ID cuando investigues una conexión; identifican registros distintos.
La lista de llamadas
Cada fila es un tramo. Una llamada con varios tramos tiene varias filas:
| Columna | Qué muestra |
|---|---|
| Status | Cómo terminó el tramo (consulta Estados) |
| From | El número que llama, el identificador de llamante que presentó tu equipo |
| To | El número al que se llamó |
| Direction | Saliente para los tramos que originó tu equipo, entrante para los que llegaron a tus números |
| Duration | Duración total del tramo, desde el momento en que Bird lo recibió hasta el cuelgue |
| Started | Cuándo Bird recibió el tramo |
La lista está paginada, 25 tramos por página. Selecciona cualquier fila para abrir el registro del tramo.
Llamadas en curso
La pestaña Live muestra los tramos activos en este momento e incluye un contador para que veas cuántos hay sin abrirla. Un tramo activo tiene uno de dos estados:
| Estado | Qué está ocurriendo |
|---|---|
| Ringing | Un intento de llamada activo está esperando respuesta; esto no confirma que el destino haya sonado |
| In progress | El destino contestó y la llamada está conectada |
Las columnas coinciden con el registro de tramos salvo Elapsed, que reemplaza a Duration. Cuenta desde la respuesta en un tramo conectado y desde el inicio en uno que está sonando. La pestaña se actualiza cada pocos segundos. Cuando un tramo termina, pasa al registro de tramos con su resultado final.
Búsqueda y filtros
La página comienza con una búsqueda por número y sus filtros. Se combinan: un filtro de estado más un rango de fechas muestra solo los tramos que cumplen ambos.
Buscar por número. El cuadro de búsqueda compara un número con cualquiera de los dos extremos del tramo, así que una sola consulta encuentra los tramos hacia él y los tramos desde él.
Dirección. Filtra por tramos salientes o entrantes.
Status. Filtra por answered, no answer, failed, rejected o unknown. Cada uno se define en Estados. En la pestaña Live las opciones son ringing e in progress.
Date. En el registro de llamadas, elige un periodo predefinido (las últimas 24 horas, 7 días o 30 días) o selecciona un rango personalizado en el calendario.
Uso del mes
El resumen mensual contiene tres tarjetas para el mes calendario en curso en UTC:
| Tarjeta | Qué cuenta |
|---|---|
| Legs | Registros de tramos completados en el mes, incluidos los no contestados y los rechazados |
| Total duration | La duración completa de cada tramo sumada, desde el momento en que Bird lo recibió hasta el cuelgue |
| Billable time | El tiempo contestado de cada tramo sumado |
La diferencia entre la duración total y el tiempo facturable es el tiempo de tono sin respuesta. Un tramo no contestado no tiene tiempo facturable.
La tarifa de cada destino redondea el tiempo facturable a su incremento de facturación. Consulta Coste y facturación para detalles de precios.
Estas tarjetas cubren el mes completo sin importar los filtros que apliques a la lista.
Estados
Un tramo en el registro terminó con uno de estos resultados:
| Estado | Qué ocurrió |
|---|---|
| Answered | El destino contestó. El tiempo facturable va desde la respuesta hasta el cuelgue |
| No answer | El intento agotó el tiempo sin recibir respuesta; esto no prueba que el teléfono de destino haya sonado |
| Rejected | La llamada fue rechazada en lugar de cursarse |
| Failed | La llamada se intentó y no funcionó; SIP response es lo que se recibió de vuelta |
| Unknown | No se pudo determinar el resultado, por ejemplo cuando nunca llegó una respuesta final |
Rejected abarca dos tipos de rechazo, y el motivo del rechazo los distingue. O bien Bird rechazó la llamada antes de que interviniera un operador, en cuyo caso el motivo indica la verificación que falló, o bien el extremo remoto la declinó directamente, en cuyo caso SIP response lleva su respuesta y no hay motivo. Una llamada entrante que el número marcado rechazó también aparece como Rejected sin motivo, porque no falló ninguna verificación: su Inbound route indica lo que el número estaba configurado para hacer. Ver Llamadas rechazadas.
Failed no es un rechazo. Significa que la llamada se intentó y no funcionó: un número ocupado es Failed con respuesta del operador 486, y uno no asignado es Failed con 404.
Si lees estos valores desde tus propias herramientas, haz coincidir los que manejas y trata cualquier otro como un estado que no manejas en lugar de un error. La lista también incluye busy y canceled, reservados para llamadas entrantes entregadas a tus propios números. Ninguno se emite aún, y ambos resultados se reportan como failed por ahora.
Inspeccionar una llamada
Al abrir un tramo puedes ver lo que Bird registró sobre esa conexión:
| Campo | Qué te indica |
|---|---|
| Status | El resultado del tramo (consulta Estados). Un tramo que Bird rechazó también muestra el motivo y qué hacer al respecto |
| SIP response | El código SIP final del tramo, por ejemplo 200 o 486. Un tramo que Bird rechazó lleva 503, sin intervención de operador |
| From / To | Ambos números, cada uno copiable |
| Inbound route | En una llamada entrante, la ruta seleccionada para el número, como un trunk, reenvío, secuencia o rechazo. Enlaza a ese número |
| Trunk | El trunk SIP por el que entró la llamada o al que se entregó, útil cuando varios sitios comparten un espacio de trabajo |
| Started | Cuándo Bird recibió el tramo |
| Answered | Cuándo se contestó el tramo, o Not answered |
| Ended | Cuándo se desconectó el tramo |
| Leg ID | El ID propio del registro de conexión (vcl_…). Úsalo con GET /v1/voice/legs/{leg_id} y cítalo al contactar a soporte. |
| Call ID | Compartido por todos los tramos de una misma llamada (vcs_…). Usa el filtro call_id para encontrar tramos relacionados. Una llamada reenviada tiene dos tramos que comparten uno. |
| Billing | Tiempo facturable, duración total y coste del tramo una vez tarifado |
Inbound route aparece en llamadas entrantes y registra la ruta seleccionada. Una ruta de trunk en una llamada rechazada significa que la llamada no llegó a una respuesta activa. Recibir llamadas explica las rutas y lo que registra cada una.
Llamadas rechazadas
Una llamada rechazada fue denegada en lugar de cursarse, y dos situaciones distintas producen ese resultado.
Bird la rechazó antes de que interviniera un operador. Antes de marcar, Bird verifica el caller ID, el destino, los límites de la cuenta y el saldo del monedero, y rechaza la llamada si falla alguno de ellos. Tu sistema telefónico recibe SIP 503, mientras que el registro autenticado de la llamada guarda el motivo específico. Esto evita que llamantes no autenticados obtengan datos de la cuenta. Abre la llamada para ver la causa y un enlace al ajuste correspondiente.
El número marcado rechazó la llamada. Una llamada entrante a un número configurado para rechazar, o a un número al que nadie ha apuntado, se rechaza sin motivo alguno: no falló ninguna verificación nuestra. Inbound route es lo que lo indica. Recibir llamadas detalla esos rechazos.
Los motivos siguientes son del primer tipo. Se aplican tanto a llamadas entrantes como salientes, porque los límites de la cuenta y el monedero se verifican en ambos casos.
Motivos que puedes corregir
| Motivo | Qué ocurrió | Qué hacer |
|---|---|---|
source_not_allowed | La llamada llegó desde una dirección que la lista de IPs permitidas del trunk no cubre | Añade la dirección desde la que envía tu sistema telefónico al trunk |
caller_id_not_verified | El número en la cabecera From no es un número Bird elegible ni un caller ID externo verificado en este espacio de trabajo | Usa un número Bird elegible, o verifica el número externo |
destination_not_enabled | Las llamadas a ese país están desactivadas para tu espacio de trabajo | Activa el país en Destinations |
insufficient_balance | Tu monedero no cubría la llamada, así que Bird la rechazó de antemano | Recarga, o activa las recargas automáticas para que un saldo bajo no interrumpa las llamadas |
daily_spend_exceeded | La llamada habría superado el techo diario de gasto en voz de tu organización | Espera a que el techo se reinicie al inicio del siguiente día UTC, o pide a Bird que lo aumente |
concurrent_calls_exceeded | Tienes tantas llamadas simultáneas como permite tu cuenta | Espera a que termine una llamada, o contacta a soporte para aumentar el techo |
calls_per_second_exceeded | Realizaste llamadas nuevas más rápido de lo que tu cuenta permite | Reduce tu velocidad de marcación y reintenta. Reintentar inmediatamente da la misma respuesta |
number_ownership_not_verified | Compraste este número, pero el país que lo emitió no ha aceptado la documentación que acredita tu titularidad | Completa lo que pide el campo ownership del número y vuelve a realizar la llamada |
Un marcador de campaña puede recibir calls_per_second_exceeded sin estar cerca del techo de llamadas simultáneas, así que comprueba cuál de los dos obtuviste antes de cambiar nada.
Motivos que Bird resuelve por ti
Estos corresponden al lado de Bird en la configuración. Contacta a soporte y cita el Leg ID del registro:
| Motivo | Qué ocurrió |
|---|---|
routing_not_configured | El enrutamiento de tu espacio de trabajo aún se está vinculando, lo cual es normal mientras se completa una nueva configuración de voz |
no_route_found | El enrutamiento está vinculado, pero no cubre el número que marcaste. Contacta a soporte con el ID de tramo para verificar la ruta |
destination_blocked | La configuración de enrutamiento de Bird bloquea las llamadas a ese destino |
call_not_permitted | Bird no pudo completar la llamada para tu cuenta, así que la rechazó en lugar de realizarla en condiciones desconocidas |
Cómo se lee un rechazo
Lee el estado y el motivo de rechazo juntos:
- Rejected con motivo de rechazo. Bird rechazó la llamada y el motivo identifica la verificación que falló.
SIP responsees el503que recibió tu sistema telefónico. Sigue la resolución de cuenta o enrutamiento del motivo. - Rejected sin motivo de rechazo. En una llamada saliente, el extremo remoto la declinó directamente y
SIP responselleva su código. En una llamada entrante, el número marcado la rechazó, y Inbound route indica lo que ese número estaba configurado para hacer. - Failed. La llamada se intentó y no funcionó;
SIP responsecontiene el código que se recibió de vuelta.486significa ocupado y404significa que el número no está asignado. Esto suele apuntar al número, no a tu configuración.
Una llamada que Bird no puede admitir en absoluto se rechaza antes de que exista un registro, por lo que nunca aparece en el registro. Solución de problemas de voz cubre esas llamadas.
Obtener los registros
Cuatro formas de trabajar con estos registros fuera del panel:
- Exportar CSV. Download CSV en la pestaña Leg log exporta los registros que coincidan con tus filtros actuales en todas las páginas, hasta 10.000 tramos. Una selección mayor devuelve un error sin archivo; reduce el rango de fechas o los filtros y exporta cada selección por separado. Úsalo para conciliación e informes puntuales.
- Leerlos a través de la API.
GET /v1/voice/legsdevuelve la lista filtrada yGET /v1/voice/legs/{leg_id}devuelve un registro. Ambos requieren una clave API con el alcancevoicea nivelread. Consulta la referencia de API para ver las operaciones publicadas de otros recursos de Voice y los alcances que requieren. - Leerlos desde la terminal. La Bird CLI proporciona
bird voice legs list,bird voice legs getybird voice stats. El servidor MCP expone las mismas lecturas a los agentes. - Suscribirse a los eventos.
voice_call.initiated,voice_call.answeredyvoice_call.endedse envían a tu endpoint a medida que ocurren las llamadas, para que tus sistemas se mantengan actualizados sin hacer polling. Ver Eventos de voz.
Siguientes pasos
| Página | Qué cubre |
|---|---|
| Eventos de voz | Los tres eventos de llamada, sus payloads y cómo consumirlos |
| Realizar llamadas | Lo que Bird espera en el INVITE, y cómo se tarifa una llamada |
| Recibir llamadas | Apuntar un número a un trunk o un reenvío, y qué registra |
| Trunks SIP | La lista de IPs permitidas, claves API permitidas y ajustes Digest |
| Destinos de voz | Activar países y qué significa la disponibilidad |
| Errores | La respuesta de error de API y sus campos de recuperación |
Recursos relacionados
Continúa con la documentación, guías y ejemplos de este tema.