When a physics object collides with any models, an EVENT_FRICTION is being generated for all involved physics objects (i.e. phent vs MDL: 1 event, phent vs. phent: 2 events)
The TARGET variable is set to the point of impact. Also, if you set PH_CANCEL_CONTACT to a non-zero value inside the event handler, the physics engine will discard the contact.
A single collision can generate a large number of events therefore it is advisable to make the event handler as fast as possible.