def _IDLE(self, ev, *args): if ev == UserAgent.Evento.Mensagem: msg = self._rcv_message() if self._req == None: return if not self._req.related_to(msg): return if isinstance(msg,meusip.SIPRequest): if msg.metodo == 'BYE': resp = meusip.SIPResponse(200, 'OK', msg=msg) self._send(resp) elif ev == UserAgent.Evento.Start: self._req = self._gen_request('invite', self._dest, self._destport, self._gensdp()) self._send() self._estado = self._START
def _END(self, ev, *args): if ev == UserAgent.Evento.Mensagem: msg = self._rcv_message() if not self._req.related_to(msg): return if isinstance(msg,meusip.SIPResponse): if 200 <= msg.status < 300: self._estado = self._IDLE else: pass else: # Request if msg.metodo == 'BYE': resp = meusip.SIPResponse(200, 'OK', msg=msg) self._send(resp) elif ev == UserAgent.Evento.Timeout: msg = meusip.SIPBye(self._dest, msg=self._req) self._send(msg)