def setUp(self): self.proxy = sip.RegisterProxy(host="127.0.0.1") self.registry = sip.InMemoryRegistry("bell.example.com") self.proxy.registry = self.proxy.locator = self.registry self.sent = [] self.proxy.sendMessage = lambda dest, msg: self.sent.append( (dest, msg))
def setUp(self): self.proxy = sip.RegisterProxy(host="127.0.0.1") self.registry = sip.InMemoryRegistry("bell.example.com") self.proxy.registry = self.proxy.locator = self.registry self.serverPort = reactor.listenUDP(0, self.proxy, interface="127.0.0.1") self.client = Client() self.clientPort = reactor.listenUDP(0, self.client, interface="127.0.0.1") self.serverAddress = (self.serverPort.getHost().host, self.serverPort.getHost().port)
class SipProxy(sip.RegisterProxy): registry = sip.InMemoryRegistry("127.0.0.1") def __init__(self, *args, **kw): sip.RegisterProxy.__init__(self, *args, **kw) def register(self, message, host, port): if hasattr(self, 'registrar_handler'): self.event_func(servicetest.Event('sip-register', uri=str(message.uri), headers=message.headers, body=message.body, sip_message=message, host=host, port=port)) if self.registrar_handler(message, host, port): sip.RegisterProxy.register(self, message, host, port) else: self.unauthorized(message, host, port) def handle_request(self, message, addr): if message.method == 'REGISTER': return sip.RegisterProxy.handle_REGISTER_request(self, message, addr) elif message.method == 'OPTIONS' and \ 'REGISTRATION PROBE' == message.headers.get('subject','')[0]: self.deliverResponse(self.responseFromRequest(200, message)) else: headers = {} for key, values in message.headers.items(): headers[key.replace('-', '_')] = values[0] self.event_func(servicetest.Event('sip-%s' % message.method.lower(), uri=str(message.uri), headers=message.headers, body=message.body, sip_message=message, **headers)) def handle_response(self, message, addr): headers = {} for key, values in message.headers.items(): headers[key.replace('-', '_')] = values[0] self.event_func(servicetest.Event('sip-response', code=message.code, headers=message.headers, body=message.body, sip_message=message, **headers))