Exemplo n.º 1
0
     $ViMain->ClearUserInfo();
     $ViMain->ClearAccountInfo();
 } else {
     if ($_POST['COMMAND'] == 'init') {
         $ViMain = new CVoxImplantMain($userId);
         $result = $ViMain->GetDialogInfo($_POST['NUMBER']);
         if ($result) {
             echo CUtil::PhpToJsObject(array('DIALOG_ID' => $result['DIALOG_ID'], 'HR_PHOTO' => $result['HR_PHOTO'], 'ERROR' => ''));
         } else {
             echo CUtil::PhpToJsObject(array('CODE' => $ViMain->GetError()->code, 'ERROR' => $ViMain->GetError()->msg));
         }
     } else {
         if ($_POST['COMMAND'] == 'deviceStartCall') {
             $_POST['PARAMS'] = CUtil::JsObjectToPhp($_POST['PARAMS']);
             if (CVoxImplantUser::GetPhoneActive($USER->GetId())) {
                 CVoxImplantOutgoing::StartCall($USER->GetId(), $_POST['PARAMS']['NUMBER']);
             }
         } else {
             if ($_POST['COMMAND'] == 'deviceHungup') {
                 $_POST['PARAMS'] = CUtil::JsObjectToPhp($_POST['PARAMS']);
                 CVoxImplantIncoming::SendCommand(array('CALL_ID' => $_POST['PARAMS']['CALL_ID'], 'COMMAND' => CVoxImplantIncoming::RULE_HUNGUP));
             } else {
                 if ($_POST['COMMAND'] == 'wait') {
                     $_POST['PARAMS'] = CUtil::JsObjectToPhp($_POST['PARAMS']);
                     CVoxImplantIncoming::SendCommand(array('CALL_ID' => $_POST['PARAMS']['CALL_ID'], 'COMMAND' => CVoxImplantIncoming::RULE_WAIT));
                 } else {
                     if ($_POST['COMMAND'] == 'answer') {
                         $_POST['PARAMS'] = CUtil::JsObjectToPhp($_POST['PARAMS']);
                         CVoxImplantIncoming::SendCommand(array('CALL_ID' => $_POST['PARAMS']['CALL_ID'], 'COMMAND' => CVoxImplantIncoming::RULE_WAIT));
                         CVoxImplantIncoming::SendPullEvent(array('COMMAND' => 'answer_self', 'USER_ID' => $userId, 'CALL_ID' => $_POST['PARAMS']['CALL_ID']));
                         if (CModule::IncludeModule('im')) {
Exemplo n.º 2
0
        } elseif ($params["COMMAND"] == "UnlinkExpirePhoneNumber") {
            $result = CVoxImplantConfig::DeleteConfigBySearchId($params['PHONE_NUMBER']);
            CVoxImplantHistory::WriteToLog($result, 'CONTROLLER UNLINK EXPIRE PHONE NUMBER');
            echo json_encode($result);
        } elseif ($params["COMMAND"] == "UpdateOperatorRequest") {
            $params['OPERATOR_CONTRACT'] = \Bitrix\Main\Text\Encoding::convertEncodingToCurrent($params['OPERATOR_CONTRACT']);
            CVoxImplantPhoneOrder::Update($params);
            $result = array('RESULT' => 'OK');
            CVoxImplantHistory::WriteToLog($result, 'UPDATE OPERATOR REQUEST');
            echo json_encode($result);
        } else {
            if ($params["COMMAND"] == "ExternalHungup") {
                $res = Bitrix\Voximplant\CallTable::getList(array('filter' => array('=CALL_ID' => $params['CALL_ID_TMP'])));
                if ($call = $res->fetch()) {
                    Bitrix\Voximplant\CallTable::delete($call['ID']);
                    CVoxImplantOutgoing::SendPullEvent(array('COMMAND' => 'timeout', 'USER_ID' => $call['USER_ID'], 'CALL_ID' => $call['CALL_ID'], 'FAILED_CODE' => intval($params['CALL_FAILED_CODE']), 'MARK' => 'timeout_hit_7'));
                    CVoxImplantHistory::WriteToLog($call, 'EXTERNAL CALL HANGUP');
                }
            } else {
                if ($params["COMMAND"] == "VerifyResult") {
                    $params['REVIEWER_COMMENT'] = \Bitrix\Main\Text\Encoding::convertEncodingToCurrent($params['REVIEWER_COMMENT']);
                    $ViDocs = new CVoxImplantDocuments();
                    $ViDocs->SetVerifyResult($params);
                }
            }
        }
    } else {
        echo "You don't have access to this page.";
    }
}
CMain::FinalActions();