$params['PORTAL_NUMBER'] = $params['ACCOUNT_SEARCH_ID']; } CVoxImplantHistory::Add($params); $ViAccount = new CVoxImplantAccount(); $ViAccount->SetAccountBalance($params["balance"]); echo "200 OK"; } elseif ($params["COMMAND"] == "IncomingGetConfig") { $result = CVoxImplantIncoming::GetConfigBySearchId($params['PHONE_NUMBER']); CVoxImplantHistory::WriteToLog($result, 'PORTAL GET INCOMING CONFIG'); if ($result['ID']) { $result = CVoxImplantIncoming::RegisterCall($result, $params); } $isNumberInBlacklist = CVoxImplantIncoming::IsNumberInBlackList($params["CALLER_ID"]); $isBlacklistAutoEnable = Bitrix\Main\Config\Option::get("voximplant", "blacklist_auto", "N") == "Y"; if ($result["WORKTIME_SKIP_CALL"] == "Y" && !$isNumberInBlacklist && $isBlacklistAutoEnable) { $isNumberInBlacklist = CVoxImplantIncoming::CheckNumberForBlackList($params["CALLER_ID"]); } if ($isNumberInBlacklist) { $result["NUMBER_IN_BLACKLIST"] = "Y"; } if (!CVoxImplantAccount::IsPro()) { $result["CRM_SOURCE"] = 'CALL'; $result["CALL_VOTE"] = 'N'; if ($result["QUEUE_TYPE"] == CVoxImplantConfig::QUEUE_TYPE_ALL) { $result["QUEUE_TYPE"] = CVoxImplantConfig::QUEUE_TYPE_EVENLY; $result["NO_ANSWER_RULE"] = CVoxImplantIncoming::RULE_VOICEMAIL; } } foreach (GetModuleEvents("voximplant", "onCallInit", true) as $arEvent) { ExecuteModuleEventEx($arEvent, array(array('CALL_ID' => $params['CALL_ID'], 'CALL_TYPE' => 2, 'ACCOUNT_SEARCH_ID' => $params['ACCOUNT_SEARCH_ID'], 'PHONE_NUMBER' => $params['PHONE_NUMBER'], 'CALLER_ID' => $params['CALLER_ID']))); }