Fix buggy passive mode response, and implement active listening mode