Going further, I'd totally support you simply renaming hangupIfNecessary to hangup before merging this PR, as that would make it consistent with all the various state machines and other routines named hangup.  Of course, that is less explicit about what the routine does.

If you agree that the above renaming is the right thing, I'd also suggest adding an XXX comment suggesting a future refactoring of the call model tests to use external APIs only (could do it now, but that may not be sensible given other upcoming refactorings).