diff --git a/pyVoIP/SIP.py b/pyVoIP/SIP.py index 5bd9867..41cdb8e 100644 --- a/pyVoIP/SIP.py +++ b/pyVoIP/SIP.py @@ -583,10 +583,16 @@ def start(self): def stop(self): self.NSD = False - self.registerThread.cancel() - self.deregister() - self.s.close() - self.out.close() + if self.registerThread: + self.registerThread.cancel() + self.deregister() + self._close_sockets() + + def _close_sockets(self): + if self.s: + self.s.close() + if self.out: + self.out.close() def genCallID(self): return hashlib.sha256(str(self.callID.next()).encode('utf8')).hexdigest()[0:32]+"@"+self.myIP+":"+str(self.myPort)