Example #1
0
<?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');