[Reviewer: Andy] Call Diversion AS

Alex,

Please can you review the call diversion AS code?  I've manually live-tested but not yet UT-ed (except for simservs, which was trivial) or regressibly-live-tested.

Matt
All the `if` blocks seem overly defensive, this function won't be called twice.  If you're worried about this possibly happening in future, should we have a `bool initialized` and just set/check that?