async def METHOD_NAME(self):
    p = argparse.ArgumentParser()
    p.add_argument("rd_uri", help="Preconfigured address of the resource"
            " directory", nargs='?', default='coap://[ff05::fd]')
    p.add_argument("--simple", help="Run simple registration rather than"
            " full (incomplete: Never renews)", action="store_true")
    p.add_argument("--register-as", help="Endpoint name to register as (default: node$SITE",
            default=None)
    p.add_argument("--site", help="Use a different resource / link layout", default=1, type=int)
    add_server_arguments(p)
    opts = p.parse_args()
    if opts.site == 1:
        site = build_site_node1()
    elif opts.site == 2:
        site = build_site_node2()
    elif opts.site == 3:
        site = build_site_node3()
    else:
        raise p.error("Invalid site value")
    if opts.register_as is None:
        opts.register_as = "node%s" % opts.site
    self.context = await server_context_from_arguments(site, opts)
    if opts.simple:
        rd_wkc = urljoin(opts.rd_uri, '/.well-known/core?ep=%s&lt=6000' % opts.register_as)
        await self.context.request(Message(code=POST, uri=rd_wkc)).response
    else:
        self.registerer = Registerer(self.context, opts.rd_uri, lt=120,
                registration_parameters={'ep': opts.register_as})