59 lines
1.9 KiB
PHP
59 lines
1.9 KiB
PHP
|
|
<?php
|
|||
|
|
|
|||
|
|
header('Content-Type: application/json');
|
|||
|
|
ini_set('display_errors',1);
|
|||
|
|
error_reporting(E_ALL & ~E_DEPRECATED & ~E_STRICT & ~E_NOTICE);
|
|||
|
|
//$content = file_get_contents('data.txt');
|
|||
|
|
|
|||
|
|
$arrQuery = json_decode($content);
|
|||
|
|
$result = $arrQuery;
|
|||
|
|
|
|||
|
|
//var_dump($result);
|
|||
|
|
|
|||
|
|
//var_dump($result);
|
|||
|
|
|
|||
|
|
require_once($_SERVER['DOCUMENT_ROOT']."/config.php");
|
|||
|
|
//var_dump($result['cmd']);
|
|||
|
|
//echo $result->eventType;
|
|||
|
|
//echo 'dsfsf';
|
|||
|
|
if($result->eventType != 'CALL_RECEIVED'){
|
|||
|
|
//Проверка на наличее звонка
|
|||
|
|
$pdopg = new MysqlPdo(hstpg, ndbpg, userpg, passpg, false, '5432', true);
|
|||
|
|
$sql = "SELECT id FROM call_events WHERE uuid_call_id = '$result->callid'";
|
|||
|
|
//echo $sql;
|
|||
|
|
$q = $pdopg->query($sql);
|
|||
|
|
if($pdopg->num_rows($q) == 0) die();
|
|||
|
|
}
|
|||
|
|
$data = array();
|
|||
|
|
$data['operator'] = 'MTS';
|
|||
|
|
$data['operator_rus'] = 'МТС';
|
|||
|
|
$data['operator_call_id'] = $result->payload->callId;
|
|||
|
|
$data['abonentId'] = $result->abonentId;
|
|||
|
|
|
|||
|
|
|
|||
|
|
// $data['internal_number'] = '+'.$result->telnum;
|
|||
|
|
$data['external_number'] = '+'.str_replace(['tel:','+'],'',$result->payload->remotePartyAddress);
|
|||
|
|
|
|||
|
|
//$data['vpbx_id'] = '+'.$result->telnum;
|
|||
|
|
//$data['user'] = $result->user;
|
|||
|
|
$data['uuid'] = str_replace(['callhalf-',':'], '', $result->payload->callId);
|
|||
|
|
|
|||
|
|
if (empty($data['external_number'])) die();
|
|||
|
|
$data['status'] = 1;
|
|||
|
|
if($result->payload->state == 'Detached'
|
|||
|
|
|| $result->payload->state == 'Released'
|
|||
|
|
|| $result->payload->state == 'Idle')
|
|||
|
|
$data['status'] = 0;
|
|||
|
|
|
|||
|
|
$data['start_time'] = ceil($result->payload->startTime/1000);
|
|||
|
|
|
|||
|
|
$data['answer_time'] = ceil($result->payload->answerTime/1000);
|
|||
|
|
|
|||
|
|
$data['release_time'] = ceil($result->payload->endTime/1000);
|
|||
|
|
|
|||
|
|
//var_dump($data);
|
|||
|
|
|
|||
|
|
$CallEvents = new CallEvents();
|
|||
|
|
$CallEvents->process($data);
|
|||
|
|
|