You could create a custom feature code(s) to log what you want to log:
Feature Codes Admin User Guide - PBX GUI - Documentation (freepbx.org)
Defining custom feature codes - FreePBX - FreePBX Community Forums
You’ll need to develop the script to log and the reporting.
If these are queue calls you may be able to create different pause codes and count those as well. I don’t see one be advantageous over the other.
Another option, depending on the phone you have, would be to create buttons on the phone that log when pressed/activated (like an API URL or something)