My lastest test revealed that if collision caused by node running action will always make contact.getImpulse() return 0.
But if I call rigidBody.applyForceToCenter(...) then onPostSolve() contact.getImpulse() return a positive number.
For anyone who struggle this in the past & furture.