Journal d'appels
Le journal d'appels sous Voice > Calls liste chaque appel passé par votre espace de travail et chaque appel arrivé sur l'un de ses numéros, du plus récent au plus ancien. Chaque entrée est un enregistrement détaillé d'appel (CDR), y compris les appels aboutis, restés sans réponse ou refusés. Utilisez-le pour vérifier la durée, la réponse SIP finale et le coût.
Bird écrit chaque enregistrement à la fin de l'appel : chaque appel du journal possède donc un résultat final. L'onglet Live à côté contient les appels encore en cours.
La liste d'appels
Chaque ligne correspond à un appel :
| Colonne | Ce qu'elle affiche |
|---|---|
| Status | Comment l'appel s'est terminé (voir Statuts) |
| From | Le numéro appelant, l'identifiant d'appelant présenté par votre équipement |
| To | Le numéro appelé |
| Direction | Outbound pour les appels passés par votre équipement, inbound pour les appels arrivés sur vos numéros |
| Duration | Durée totale de l'appel, du moment où Bird l'a reçu jusqu'au raccroché |
| Started | Moment où Bird a reçu l'appel |
La liste est paginée, 25 appels par page. Sélectionnez une ligne pour ouvrir l'appel.
Appels en cours
L'onglet Live liste les appels en cours en ce moment et affiche un compteur pour voir combien sont actifs sans l'ouvrir. Un appel en cours porte l'un de ces deux statuts :
| Statut | Ce qui se passe |
|---|---|
| Ringing | L'appel a atteint sa destination, qui n'a pas encore décroché |
| In progress | La destination a décroché et l'appel est connecté |
Les colonnes sont identiques à celles du journal d'appels, sauf Elapsed qui remplace Duration. Il compte à partir du décrochage pour un appel connecté et à partir du début pour un appel en sonnerie. L'onglet se rafraîchit toutes les quelques secondes. Quand un appel se termine, il passe dans le journal d'appels avec son résultat final.
Recherche et filtrage
La page commence par une recherche par numéro et ses filtres. Ils se combinent : un filtre de statut plus une plage de dates restreint les résultats aux appels correspondant aux deux critères.
Recherche par numéro. Le champ de recherche compare un numéro aux deux côtés de l'appel : une seule requête trouve les appels vers ce numéro et les appels depuis ce numéro.
Direction. Filtrez par appels sortants ou entrants.
Status. Filtrez par answered, no answer, failed, rejected ou unknown. Chacun est défini dans Statuts. Dans l'onglet Live, les choix sont ringing et in progress.
Date. Dans le journal d'appels, choisissez un préréglage (les dernières 24 heures, 7 jours ou 30 jours) ou sélectionnez une plage personnalisée dans le calendrier.
Utilisation du mois
Le résumé mensuel contient trois tuiles pour le mois calendaire en cours en UTC :
| Tuile | Ce qu'elle compte |
|---|---|
| Calls | Enregistrements d'appels terminés dans le mois, y compris ceux sans réponse et refusés |
| Total duration | Somme de la durée complète de chaque appel, du moment où Bird l'a reçu jusqu'au raccroché |
| Billable time | Somme du temps décroché de chaque appel |
La différence entre la durée totale et le temps facturable correspond au temps de sonnerie sans réponse. Un appel sans réponse n'a pas de temps facturable.
Chaque tarif de destination arrondit le temps facturable à son incrément de facturation. Consultez Coût et facturation pour le détail des tarifs.
Ces tuiles couvrent l'intégralité du mois, quel que soit le filtre appliqué à la liste.
Statuts
Un appel dans le journal s'est terminé avec l'un de ces résultats :
| Statut | Ce qui s'est passé |
|---|---|
| Answered | La destination a décroché. Le temps facturable va du décrochage au raccroché |
| No answer | L'appel a sonné à destination sans obtenir de réponse avant l'expiration du délai |
| Rejected | L'appel a été refusé au lieu d'être acheminé |
| Failed | L'appel a été tenté sans aboutir, et SIP response est la réponse obtenue |
| Unknown | Le résultat n'a pas pu être déterminé, par exemple quand aucune réponse finale n'est arrivée |
Rejected couvre deux types de refus, et la raison du rejet les distingue. Soit Bird a refusé l'appel avant qu'un opérateur ne soit impliqué, auquel cas la raison nomme le contrôle échoué, soit l'interlocuteur distant l'a décliné directement, auquel cas SIP response contient sa réponse et il n'y a pas de raison. Un appel entrant rejeté par le numéro composé est également Rejected sans raison, car il n'a échoué à aucun contrôle : son Inbound route indique ce que le numéro devait faire. Voir Appels rejetés.
Failed n'est pas un refus. Il signifie que l'appel a été tenté sans aboutir : un numéro occupé est Failed avec la réponse opérateur 486, et un numéro non attribué est Failed avec 404.
Si vous lisez ces valeurs depuis vos propres outils, traitez ceux que vous gérez et considérez tout autre comme un statut non géré plutôt qu'une erreur. La liste contient aussi busy et canceled, réservés aux appels entrants acheminés vers vos propres numéros. Aucun des deux n'est émis pour l'instant, et les deux résultats sont signalés comme failed.
Inspecter un appel
L'ouverture d'un appel affiche ce que Bird a enregistré à son sujet :
| Champ | Ce qu'il vous indique |
|---|---|
| Status | Le résultat de l'appel (voir Statuts). Un appel refusé par Bird affiche aussi la raison et la marche à suivre |
| Réponse SIP | Le code SIP final de l'appel, par exemple 200 ou 486. Un appel refusé par Bird porte 503, sans opérateur impliqué |
| From / To | Les deux numéros, chacun copiable |
| Inbound route | Sur un appel entrant, ce que le numéro composé devait faire : acheminer vers un trunk, transférer ou rejeter. Lien vers ce numéro |
| Trunk | Le trunk SIP par lequel l'appel est arrivé ou a été acheminé, utile quand plusieurs sites partagent un espace de travail |
| Started | Moment où Bird a reçu l'appel |
| Answered | Moment du décrochage, ou Not answered |
| Ended | Moment de la libération de l'appel |
| Call ID | L'identifiant propre à l'enregistrement (vcl_…). Communiquez-le au support, et utilisez-le pour corréler avec vos propres journaux |
| Session ID | Partagé par chaque segment d'un même appel (vcs_…), ce qui permet de regrouper les enregistrements liés. Un appel transféré a deux segments partageant un même identifiant |
| Billing | Temps facturable, durée totale et coût de l'appel une fois la tarification appliquée |
Inbound route n'apparaît que sur les appels entrants et indique ce que le numéro devait faire, pas que cela a fonctionné : un acheminement vers un trunk sur un appel rejeté signifie que le numéro pointait vers un trunk qui n'a pas pris l'appel. Réception d'appels décrit les trois réponses et ce que chacune enregistre.
Appels rejetés
Un appel rejeté a été refusé au lieu d'être acheminé, et deux situations distinctes produisent ce résultat.
Bird l'a refusé avant qu'un opérateur ne soit impliqué. Avant de lancer l'appel, Bird vérifie l'identifiant d'appelant, la destination, les limites du compte et le solde du portefeuille, et refuse tout appel qui échoue à l'un de ces contrôles. Votre système téléphonique reçoit SIP 503, tandis que l'enregistrement d'appel authentifié stocke la raison précise. Cela empêche les appelants non authentifiés d'obtenir des détails sur le compte. Ouvrez l'appel pour voir la cause et un lien vers le paramètre concerné.
Le numéro composé a refusé l'appel. Un appel entrant vers un numéro configuré pour rejeter, ou vers un numéro que personne n'a pointé quelque part, est rejeté sans aucune raison : il n'a échoué à aucun de nos contrôles. C'est Inbound route qui l'indique. Réception d'appels détaille ces refus.
Les raisons ci-dessous relèvent du premier cas. Elles s'appliquent aussi bien aux appels entrants qu'aux appels sortants, car les limites du compte et le portefeuille sont vérifiés dans les deux sens.
Raisons que vous pouvez corriger
| Raison | Ce qui s'est passé | Marche à suivre |
|---|---|---|
| source_not_allowed | L'appel est arrivé depuis une adresse non couverte par la liste d'adresses IP autorisées du trunk | Ajoutez l'adresse depuis laquelle votre système téléphonique émet au trunk |
| caller_id_not_verified | Le numéro dans l'en-tête From n'est pas un identifiant d'appelant vérifié pour cet espace de travail | Vérifiez ce numéro, ou présentez-en un déjà vérifié |
| destination_not_enabled | Les appels vers ce pays sont désactivés pour votre espace de travail | Activez le pays sous Destinations |
| insufficient_balance | Votre portefeuille ne couvrait pas l'appel, Bird l'a donc refusé d'emblée | Rechargez, ou activez les rechargements automatiques pour qu'un solde bas n'interrompe pas les appels |
| daily_spend_exceeded | L'appel aurait dépassé le plafond de dépenses vocales quotidien de votre organisation | Attendez la réinitialisation du plafond au début du jour UTC suivant, ou demandez à Bird de l'augmenter |
| concurrent_calls_exceeded | Vous avez autant d'appels simultanés que votre compte le permet | Attendez la fin d'un appel, ou contactez le support pour augmenter le plafond |
| calls_per_second_exceeded | Vous avez passé de nouveaux appels plus vite que votre compte ne le permet | Réduisez votre cadence de numérotation, puis réessayez. Réessayer immédiatement donne la même réponse |
| number_ownership_not_verified | Vous avez acheté ce numéro, mais le pays qui l'a émis n'a pas accepté les documents prouvant que vous en êtes propriétaire | Complétez ce que le champ ownership du numéro demande, puis relancez l'appel |
Un automate d'appels peut atteindre calls_per_second_exceeded bien avant le plafond d'appels simultanés : vérifiez lequel des deux vous avez reçu avant de modifier quoi que ce soit.
Raisons que Bird résout pour vous
Celles-ci relèvent du côté Bird. Contactez le support en indiquant le Call ID de l'enregistrement :
| Raison | Ce qui s'est passé |
|---|---|
| routing_not_configured | Le routage de votre espace de travail est encore en cours d'activation, ce qui est normal pendant la mise en place d'une nouvelle configuration vocale |
| no_route_found | Le routage est activé, mais il ne couvre pas le numéro composé. Contactez le support avec l'identifiant d'appel pour vérifier la route |
| destination_blocked | La configuration de routage de Bird bloque les appels vers cette destination |
| call_not_permitted | Bird n'a pas pu effectuer l'appel pour votre compte et l'a refusé plutôt que de le passer à des conditions inconnues |
Comment lire un refus
Lisez le statut et la raison du rejet ensemble :
- Rejected avec une raison de rejet. Bird a refusé l'appel, et la raison identifie le contrôle échoué. Le SIP response est le 503 que votre système téléphonique a reçu. Suivez la résolution compte ou routage indiquée par la raison.
- Rejected sans raison de rejet. Sur un appel sortant, l'interlocuteur distant l'a décliné directement et SIP response contient son code. Sur un appel entrant, le numéro composé l'a refusé, et Inbound route indique ce que ce numéro devait faire.
- Failed. L'appel a été tenté sans aboutir, et SIP response contient le code obtenu en retour. Un 486 signifie occupé, tandis qu'un 404 signifie que le numéro n'est pas attribué. Cela pointe généralement vers le numéro plutôt que vers votre configuration.
Un appel que Bird ne peut pas du tout admettre est rejeté avant qu'un enregistrement n'existe : il n'apparaît jamais dans le journal. Dépannage vocal couvre ces appels.
Extraire les enregistrements
Quatre façons d'exploiter ces enregistrements en dehors du tableau de bord :
- Export CSV. Download CSV dans l'onglet Call log exporte tous les enregistrements correspondant à vos filtres actifs, toutes pages confondues. Utilisez-le pour le rapprochement et les rapports ponctuels.
- Les lire via l'API. GET /v1/voice/calls renvoie la liste filtrée, et GET /v1/voice/calls/{call_id} renvoie un seul enregistrement. Les deux nécessitent une clé API avec le scope voice au niveau read. Les paramètres de trunk, d'identifiant d'appelant et de destination ne font pas partie de l'API publique.
- Les lire depuis le terminal. Le Bird CLI fournit bird voice list, bird voice get et bird voice stats. Le serveur MCP expose les mêmes lectures aux agents.
- S'abonner aux événements. voice_call.initiated, voice_call.answered et voice_call.ended sont poussés vers votre endpoint au fil des appels, pour que vos systèmes restent à jour sans interrogation périodique. Voir Événements vocaux.
Étapes suivantes
| Page | Ce qu'elle couvre |
|---|---|
| Événements vocaux | Les trois événements d'appel, leurs payloads et comment les consommer |
| Passer des appels | Ce que Bird attend sur le INVITE, et comment un appel est tarifé |
| Recevoir des appels | Pointer un numéro vers un trunk ou un transfert, et ce qui est enregistré |
| Trunks SIP | La liste d'adresses IP autorisées, les clés API autorisées et les paramètres Digest |
| Destinations vocales | Activer des pays et ce que signifie la disponibilité |
| Erreurs | La réponse d'erreur API et ses champs de reprise |
Ressources associées
Poursuivez avec la documentation, les guides et les exemples sur ce sujet. Les ressources sont en anglais.
Comprendre le conceptWhat is a voice API?Explorer la fonctionnalitéVoiceGuide d'implémentationVoice overview
Obtenir un guide d'implémentation