Newer
Older
ubFramework / Portal / cron / voip / daily_call_stats.php
@Christopher W. Olsen Christopher W. Olsen on 10 Dec 2017 1 KB Cleaning Up Making It A Sub Module
#!/usr/local/bin/php

<?php

/*
 * (c) 2014 Christopher Olsen <cwolsen@uBixTechnologies.com>
 *
 * $Id: daily_call_stats.php 1800 2014-11-30 03:36:43Z reddawg $
 *
 */

include("/usr/web/sites/manage.ubixtechnologies.net/include/cron_config.php");

$cron_name = "daily_calls";

$data['cron']->init($cron_name);

$r_date = date("Y-m-d") . " 00:00:00";

/* Get All Available System Extensions */
$query = "SELECT name, mailbox FROM sippeers ORDER BY name";
$qRes = $data['voip_db']->query($query);

while ($qData = $qRes->fetch_assoc()) {
  $ext     = $qData['name'];

  /* Get Voicemail Count */
  if ($qData['mailbox'] != "") {
    $mailbox = explode("@", $qData['mailbox']);
    $result = $data['voicemail_db']->query("SELECT count(*) from voicemessages WHERE mailboxuser = '" . $mailbox[0] . "' AND mailboxcontext = '" . $mailbox[1] . "'");
    $row = $result->fetch_row();
    $vmail = $row[0] + 0;
    $result->free();
  }
  else
    $vmail = 0;

  /* Get Calls Per EXT */
  $query = "select sum(billsec), count(*) from cdr_master where (dstchannel like 'SIP/" . $ext . "%' or channel like 'SIP/" . $ext . "%') AND calldate >= '$r_date'";
  $result = $data['cdr_db']->query($query);
  $row = $result->fetch_row();
  $query = "UPDATE sip_stats_view SET calls_today = " . ($row[1] + 0) . ", talk_today = " . ($row[0] + 0) . ", voicemail = $vmail WHERE name = '" . $ext . "'";
  $result->free();

  $data['voip_db']->query($query);
}

$qRes->free();

$data['cron']->finish();

?>