I can't test it right now, but I suppose the problem is the "z-order" of the two objects. The ringer is painted earlier than the phone, so from the engine's point of view the phone is on top of the ringer.
The z-order (or painting order) is determined by the actor's Y position on screen. This works fine for characters, but for this specific case you'll need to fake the order somehow. One possible solution is: create two scene regions in SceneEdit, one called "phone" and one called "ringer". Change their order appropriately (phone is first in the list, ringer follows). In the scene_init.script attach the 3D actors to the regions:
phone.StickToRegion("phone");
ringer.StickToRegion("ringer");
That way the ringer is painter *after* the phone and it should work as you need it.
I hope that helps.