What about an activity check on the call-ui process? If it is consuming x% of CPU then ProfileMatic assumes a call is in progress? This is assuming that Cal-ui uses a noticeable amount of CPU between Idle and In-call states.