Hi DawnK,
Please check whether the solution would work for you:
Firstly we still need to disable the quick creation feature of phone call.
Then, due to form has different types, so we can run custom javascript function at OnLoad event of Phone Call form to lock all fields when the form type is "Create":
https://docs.microsoft.com/en-us/powerapps/developer/model-driven-apps/clientapi/reference/formcontext-ui/getformtype
function disableCreate(executionContext) {
var formContext = executionContext.getFormContext();
var formType = formContext.ui.getFormType();
if (formType === 1) {
formContext.ui.controls.forEach(function (control, index) {
var controlType = control.getControlType();
if (controlType != "iframe" && controlType != "webresource" && controlType != "subgrid") {
control.setDisabled(true);
}
});
var confirmStrings = { text: "Phone call creation is disabled.", title: "Confirmation Dialog" };
var confirmOptions = { width: 450, height: 200 };
Xrm.Navigation.openConfirmDialog(confirmStrings, confirmOptions).then(
function (success) {
if (success.confirmed)
console.log("");
else
console.log("");
});
}
}
e.g: After clicking the phone icon, user will navigate to phone call form, but with the code, it will show a confirmation dialog.

All fields will be locked even if we close the dialog.

In addition, from my test, it seems that we can still save form even if all fields are locked and required field such as subject is blank, so please register another function at OnSave event of the form to prevent saving event.
function stopSave(executionContext) {
var formContext = executionContext.getFormContext();
var formType = formContext.ui.getFormType();
if (formType === 1) {
var subject = formContext.getAttribute("subject").getValue();
if (subject === null) {
var eventArgs = executionContext.getEventArgs();
eventArgs.preventDefault();
var confirmStrings = { text: "You can't save phone call with empty subject.", title: "Confirmation Dialog" };
var confirmOptions = { width: 450, height: 200 };
Xrm.Navigation.openConfirmDialog(confirmStrings, confirmOptions).then(
function (success) {
if (success.confirmed)
console.log("");
else
console.log("");
});
}
}
}

Regards,
Clofly