xmlstr_to_array($content); //var_dump($inputArray); //file_put_contents($_SERVER["DOCUMENT_ROOT"]."/callevents/request3.txt", print_r($content, true) . "\n", FILE_APPEND); } if (function_exists('fastcgi_finish_request')) { fastcgi_finish_request(); } else { ignore_user_abort(true); set_time_limit(0); ob_start(); echo 'OK'; header('Connection: close'); header('Content-Length: '.ob_get_length()); ob_end_flush(); ob_flush(); flush(); } require_once($_SERVER['DOCUMENT_ROOT']."/config.php"); $type = $inputArray['xsi:eventData']['@attributes']['type']; if($type == 'xsi:CallAnsweredEvent' or $type == 'xsi:CallReleasedEvent' or $type == 'xsi:CallReceivedEvent') { $callDetail = $inputArray['xsi:eventData']['xsi:call']; if ($callDetail['xsi:personality'] == 'Terminator') { $data = array(); $data['operator'] = 'BEELINE'; $data['operator_rus'] = 'Билайн'; $data['operator_call_id'] = $callDetail['xsi:callId']; $data['internal_number'] = '+7' . str_replace('@ip.beeline.ru', '', $inputArray['xsi:targetId']); $data['external_number'] = str_replace('tel:', '', $callDetail['xsi:remoteParty']['xsi:address']['@content']); if (empty($data['external_number']) || $data['external_number'] == 't') die(); $data['status'] = 1; if($callDetail['xsi:state'] == 'Released') $data['status'] = 0; $data['uuid'] = $inputArray['xsi:targetId'] . '.' . $callDetail['xsi:startTime']; $data['vpbx_id'] = $inputArray['xsi:targetId']; if (isset($callDetail['xsi:startTime'])) $data['start_time'] = (int)($callDetail['xsi:startTime'] / 1000); else $data['start_time'] = 0; if (isset($callDetail['xsi:answerTime'])) $data['answer_time'] = (int)($callDetail['xsi:answerTime'] / 1000); else $data['answer_time'] = 0; if (isset($callDetail['xsi:releaseTime'])) $data['release_time'] = (int)($callDetail['xsi:releaseTime'] / 1000); else $data['release_time'] = 0; if(isset($callDetail['xsi:redirect'])){ $data['redirect'] = $callDetail['xsi:redirect']; } else { $data['redirect'] = false; } $CallEvents = new CallEvents(); $CallEvents->process($data); } } elseif ($type == 'xsi:SubscriptionEvent'){ $subscriptionId = $inputArray['xsi:subscriptionId']; $beeline = new BeelineApiClass($subscriptionId); $beeline->subscription_url = 'http://subscribe.joywork.ru/incall.php'; $beeline->renewSubscription($subscriptionId); } ?>