ib/cm: separate listen callback into own handler