PHP : Calculer le nombre d'appels téléphoniques simultanés

Classé dans : Téléphonie | Aucun commentaire

jeudi 08 juillet 2010

Cet article présente une méthode pour calculer à un instant T le nombre d'appels téléphoniques simultanés pour lesquels on connait l'heure d'appel à la seconde et la durée.

La récupération des appels se fait ici directement dans la base des CDR (Call detail records) de notre IPBX Xivo, mais elle peut très bien se faire à partir de n'importe quelle base ou fichier (CSV, XML,...)

Il y a plusieurs éléments à paramétrer dans le script joint :

  • Ligne 4 : la connexion à la base de données ($dbXivo)
  • Ligne 7 : la date sur laquelle on traite les données ($dte)
  • Ligne 8 : L'interval en secondes entre 2 mesures ($interval)

Le principe est le suivant :

  1. On récupère la liste des appels sur la journée demandée.
  2. On récupère les horodatages contenus dans chaque appel (le 1er interval correspond au début de l'appel, le dernier celui juste avant la fin de l'appel), séparées par l'intervale défini plus haut.
  3. Pour chacun de ces horodatages , on incrémente un compteur
  4. On obtient au final un tableau d'horodatages avec pour chacun le nombre d'appel en cours.

Le script se trouve ici  : xivotel.zip