I've done it, but I took a different route that is more flexible.
1. I created a new entity called "Timesheet"; that had the following basic attributes: Timesheet Name, Duration, Cost, Lookup User field, Working hours.
Entity is enforced by security roles.
New Timesheets can be created on-the-fly with flexible duration and working hours.
2. On the Phone Activity Entity, I used OData and json to populate the fields onLoad defending on user connected; but additionally, the user can select several timesheets e,g:
"Client Follow-up call" - 15mins, charged at $7.00
3. Calculations are then carried out on the form using Jscript.