handle the call state change in a separate loop thread