<?php if (!CModule::IncludeModule("voximplant")) { return false; } if (is_object($APPLICATION)) { $APPLICATION->RestartBuffer(); } CVoxImplantHistory::WriteToLog($_POST, 'PORTAL HIT'); $params = $_POST; $hash = $params["BX_HASH"]; unset($params["BX_HASH"]); // VOXIMPLANT CLOUD HITS if (isset($_GET['b24_direct']) && CVoxImplantHttp::CheckDirectRequest($params)) { if (isset($params['PHONE_NUMBER']) && isset($params['ACCOUNT_SEARCH_ID']) && $params["COMMAND"] != "OutgoingRegister") { $params['PHONE_NUMBER'] = $params['ACCOUNT_SEARCH_ID']; } if ($params["COMMAND"] == "OutgoingRegister") { if (isset($params['CALLER_ID']) && isset($params['ACCOUNT_SEARCH_ID'])) { $params['CALLER_ID'] = $params['ACCOUNT_SEARCH_ID']; } $result = CVoxImplantOutgoing::Init(array('ACCOUNT_SEARCH_ID' => $params['ACCOUNT_SEARCH_ID'], 'CONFIG_ID' => $params['CONFIG_ID'], 'USER_ID' => $params['USER_ID'], 'USER_DIRECT_CODE' => $params['USER_DIRECT_CODE'], 'PHONE_NUMBER' => $params['PHONE_NUMBER'], 'CALL_ID' => $params['CALL_ID'], 'CALL_ID_TMP' => $params['CALL_ID_TMP'] ? $params['CALL_ID_TMP'] : '', 'CALL_DEVICE' => $params['CALL_DEVICE'], 'CALLER_ID' => $params['CALLER_ID'], 'ACCESS_URL' => $params['ACCESS_URL'], 'CRM' => $params['CRM'])); foreach (GetModuleEvents("voximplant", "onCallInit", true) as $arEvent) { ExecuteModuleEventEx($arEvent, array(array('CALL_ID' => $params['CALL_ID'], 'CALL_ID_TMP' => $params['CALL_ID_TMP'] ? $params['CALL_ID_TMP'] : '', 'CALL_TYPE' => 1, 'ACCOUNT_SEARCH_ID' => $params['ACCOUNT_SEARCH_ID'], 'PHONE_NUMBER' => $params['PHONE_NUMBER'], 'CALLER_ID' => $params['CALLER_ID']))); } CVoxImplantHistory::WriteToLog($result, 'OUTGOING REGISTER'); echo json_encode($result); } else { if ($params["COMMAND"] == "IncomingInvite") { $result = CVoxImplantIncoming::Init(array('SEARCH_ID' => $params['PHONE_NUMBER'], 'CALL_ID' => $params['CALL_ID'], 'CALLER_ID' => $params['CALLER_ID'], 'DIRECT_CODE' => $params['DIRECT_CODE'], 'ACCESS_URL' => $params['ACCESS_URL'])); CVoxImplantHistory::WriteToLog($result, 'INCOMING INVITE: ANSWER');