fix signaling and support keep alive