Re: [regext] Registry Maintenance Notifications for the EPP

Jody Kolker <> Thu, 02 July 2020 19:14 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 54C123A00D3 for <>; Thu, 2 Jul 2020 12:14:30 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id o-zCtGxRIUrP for <>; Thu, 2 Jul 2020 12:14:28 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 66A833A00D4 for <>; Thu, 2 Jul 2020 12:14:27 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901;; cv=none; b=BT2KdEv+RQHfkBefzXSBDzPVNR9sx5E/QdyBfyyHlh/ZAAASra9iv5GOKqX/7G7t/fBrGKzVrx+oqKYiZ3NT/d21ONoi78YAvShF/dOUG+qAHT/xQOjqijuf2AyK2+kcX8ltE1KfhSjcfZPZyoDk47j8vnRPagnJIZBwP4GV4uHnvS25mukjmJ3Zzmmg0UMQKK9uP9LXJeVFib81SkYTrB6bEqwNC4uWzWfxdL5wXEgfEIM/Cv760k/rTRUVuao2FW/q/puYhJ/1xD2lHvuPIWLsWSFpqkkALWsdPG6nt1YHsuJKNyyzvt0zeD0Ya7Gb62xMYF+BciBi+I+cme352Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed;; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=tszl/S9qCy0SXXsiMk5TVBENCe3dj7w78jYVRz9/W6k=; b=VfCBsvQDqpfxt14P2V2oUSnUwPvZbrsmlfGdPXBUQVaTyeppTv/InTjkeHng8Tc0RjFy4gT31xlgW+DHX+KtmAmURax+CLwLS5go+3M8jqmapV8ZNlz3fQVfMA3QD+PJXVqoHXwFEDfhLqnkIZ/rnEa1x5gpXCqpEpFeo0yKGwf3WC5b++GktZ8lbiIwNgM3REqqXvOKg2Y6RcckRe7M7F9ofakR6E02Uh0Zx4i2QruN0vcQGB7EQj2qJeptGgVN5xV7OYQLkMJgICUowHniAY14+7kTOd+F6aknvCmYDUUfUwCkbIxiICYTSyEs92EL4tRe09JTJ3jWeS+n2Em+BA==
ARC-Authentication-Results: i=1; 1; spf=pass; dmarc=pass action=none; dkim=pass; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=selector1-secureservernet-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=tszl/S9qCy0SXXsiMk5TVBENCe3dj7w78jYVRz9/W6k=; b=jyKYlROLtkuXGM79U5zVgT2CHpYNxjyfVVCWeQ3R1/Ry1q/k7piDj4E8hsWta44KjyvZq/LFjE3wFa/M52V4U3exIniGKp4zOcqIGEaXkgegasCQRGF07pWQG9jBApN+qyW+ee3k9EV7nOoyghcl/7hUuBXrOBKGIQvidKlF+eo=
Received: from (2603:10b6:610:7::16) by (2603:10b6:610:85::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3153.24; Thu, 2 Jul 2020 19:14:25 +0000
Received: from ([fe80::cc6f:6157:a4d1:5468]) by ([fe80::cc6f:6157:a4d1:5468%4]) with mapi id 15.20.3131.028; Thu, 2 Jul 2020 19:14:25 +0000
From: Jody Kolker <>
To: Patrick Mevzek <>, "" <>
Thread-Topic: [regext] Registry Maintenance Notifications for the EPP
Thread-Index: AQHTxM14cHpTxdTWIES74VSsTaeqcKPx1VsAhQfqeeA=
Date: Thu, 2 Jul 2020 19:14:25 +0000
Message-ID: <>
References: <> <>
In-Reply-To: <>
Accept-Language: en-US
Content-Language: en-US
authentication-results:; dkim=none (message not signed) header.d=none;; dmarc=none action=none;
x-originating-ip: []
x-ms-publictraffictype: Email
x-ms-office365-filtering-ht: Tenant
x-ms-office365-filtering-correlation-id: 53aef074-ca6a-48c2-cb80-08d81ebc22c3
x-ms-traffictypediagnostic: CH2PR02MB7047:
x-microsoft-antispam-prvs: <>
x-ms-oob-tlc-oobclassifiers: OLM:8882;
x-forefront-prvs: 0452022BE1
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: uVDWyv+Od5/1+FcAEkgSjWxWm8FNswZdiOwqRx1IQA2Jken7d23om8/p0U0ePdWIlhafBFhT33mj05w93EmirQ1JXzMmZwFzB6fRcsFvAEu2NNSfObD3OpxyDbktifOp4OJH4xpAwXpc0F7HMt5kjURrh5yjeNEpXH0HQXtfGUVF0ZIXDeqVH8GBeFURXgGNdy+TvJEkEjF0erMFoPagj8NLEx1B7Gb7pEP9U7sHywpjpvk7YYYS5Wlz5KeXFi8JrgnH5pS3PU3pjPAkoJF6U0kH9+40SM+vbmh+HmSGD/eCb2F9sY2hKz7RE3FBS7DaO7rv2ifQoM2sHU63uPj9mseLbAl7lV1THTEELBOmDwDJqSeBzkRyeza+CKHmEfkFsjr1SgbUyql+XtBaHe4GXw==
x-forefront-antispam-report: CIP:; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM;; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(376002)(136003)(346002)(366004)(396003)(39850400004)(53546011)(110136005)(966005)(86362001)(55016002)(316002)(71200400001)(33656002)(15650500001)(30864003)(9686003)(186003)(7696005)(76116006)(26005)(6506007)(66556008)(66476007)(83380400001)(64756008)(2906002)(52536014)(66446008)(478600001)(5660300002)(8676002)(8936002)(66946007); DIR:OUT; SFP:1102;
x-ms-exchange-antispam-messagedata: ADimISc5xjfvsek1TeDjRitmmHQhCKvFp0z7nZvu2h+jLZm3ZfgfMFme4W1L6aeprkJb5EmGdDoCBWYtUV6u/DTHyB59AK0wY4Vh+Cn0g+0TaYlqQY0SKaaftDN2BMDALjfOzbwkduSDrPMx4jDRyZ2ftP1uYzw7/OfCXEG5dfkGw6aDZhHbwE2yFM9nFWNHrvGMNVbZ58b6HK+vV2JYEDOytOO6JSyhmxrIPYDWMHQVpbjpm7ApzIbnd8R2Mgy1lqA2UXf5aBmkqIDyNl3exlxZBQpJ4M94AU2d2BB7RwopEtIrc5quD1QhLnDQyUI98krw206VDnmFrXcsw+BZ156sFNyiLvKaBmpHNnmqT/mj2bwbG2sKZ63kSZvJD0L/sjG/hXvAqP8ZpWIly7AhNAp0wO0u1AC3j44Sj/Her76HCPZPTT6UhArYxO7zbUwVDB1Kcti99Akwsdgd917dtwAEKzidBMLPKMql7bE4e2w=
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-Network-Message-Id: 53aef074-ca6a-48c2-cb80-08d81ebc22c3
X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Jul 2020 19:14:25.8297 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: d5f1622b-14a3-45a6-b069-003f8dc4851f
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: u4fCz838aVpSkasQcSBTGYAiEOYOijEu5JBdKjYyYe1BfcNOex6Q2pqPWBuzX16y2g7ygJNwTqIS/WpxmwkeNQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR02MB7047
Archived-At: <>
Subject: Re: [regext] Registry Maintenance Notifications for the EPP
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Registration Protocols Extensions <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Thu, 02 Jul 2020 19:14:30 -0000

Hi Patrick,

Here are our responses inline.  Let me know if you have any questions.


-----Original Message-----
From: regext <> On Behalf Of Patrick Mevzek
Sent: Thursday, April 5, 2018 2:27 AM
Subject: Re: [regext] Registry Maintenance Notifications for the EPP

Hello Tobias,

On Mon, Mar 26, 2018, at 08:41, Tobias Sattler wrote:
> This group created an IETF draft on Registry Maintenance Notification 
> for the EPP, to make it easier for registrars to keep track and to 
> prepare their systems while a registry maintenance is or will happen.
> Due to the heavy work that the IETF REGEXT working group is lifting, 
> the idea came up to refine this draft to a certain level before asking 
> for support and/or adoption. We think that we reached this point.

As a side note, and as already stated privately, I do not think this is the best way to operate. The community of EPP/RDAP engineers is not big and not extensible(!), so fragmenting it by having multiple circles where documents are discussed will only lower the participation and final quality.

Also, doing it like that may look like as if the IETF is just rubber stamping things that have been cooked outside of it. Which is certainly the wrong image to convey.
> e/
> If you have any thoughts, suggestions, ideas, etc., please do not hesitate.

I already implemented version -02 of your draft in my EPP library and will try to update it in the near future to implement your latest version.
If I find any new items worthwhile to discuss, I will then send it.

I already sent all the following comments about a previous version of the draft, and based on a cursory look I do not think they were all adressed already.
So I am giving them here again, in hope they are useful and trigger some discussion.


* Abstract
I am not sure you really need to specify "Domain Name" in "Domain Name Registry". As written in RFC5730, the protocol is generic and can be used for other things than domain names, and could then profit from your extension in the same way as domain name registries

Same remark in the introduction and further below in the document.

-- JWK - Updated in Draft from "Domain Name Registry" to "Registry"

* 1.1
You should probably there have an explanation on the XML namespace you are using, in the same way that is done in the fee document for example (the fact that the namespace change if the draft version change), and also about the prefix you use (with the custom warning that it should not be hardcoded on clients)

-- JWK -  Draft has been updated.

* 2.3
Generic remark: have you looked at other models that exist for this type of data?
As it is clearly not anything specific to our area and I am pretty sure they should already exist some definitions related to that or close to it. I lack specific references right now but I suspect similar works exist at the IETF or the W3C or the ISO.
It may be worthwhile to have a look, even if it is to redefine things completely at the end of the day.
There are also various things around SLAs at ICANN that are related to this.

-- JWK - We have not seen any other models for this type of data.  If anyone else is, please reply to the list.

* 2.3
Why is maint:id mandatory to be an UUID? There are various other identification tokens in EPP, such as clTRID and svTRID and they are left to be formatted the way the registry likes it. Why imposing UUID here?
Even more since you define in the XML schema the id as just a token type.

-- JWK - We have updated to use a server unique ID.

* 2.3
I would advise using "recognized" terminology, such as RDDS instead of whois.
In the schema it is left open as a token, shouldn't there be a list of values?

-- JWK -  These are only examples, the list will be server dependent.  Although we would like to have the systems names as standardized as possible.  

* 2.3
I am not a fan of having this element be a name or an IP.
This makes validation complicated, and also does not cater precisely to all needs I believe.

--  JWK - The draft has been updated to use RFC 5731 definitions.

* 2.3
This seems under-defined to me.

-- JWK - That was the intent, it is server definable.  These are two example values.

* 2.3
This is overly specific to domain name registries (see my initial remark) and I think there is no need to be so specific.
Instead, why not use the already defined namespaces (like EPP domain-1.0) to define the type of objects impacted by the maintenance, and then a value being the object themselves (like a TLD for object type = domain-1.0)

-- JWK - <maint:tlds> has been changed from MUST to SHOULD.

* 2.3
It seems vague or underspecified.
You say "if a client needs to do something that is connection related, such as a reconnect."
For me "such as" denotes an example, one case among others. But the element is a boolean so that does not live very much spaces for multiple cases.
For example, there could be a maintenance where the registrar has to reconnect BUT also is forced to change its password. Currently there would be no way to code for that.

-- JWK -- <maint:connection> has been changed from MUST to SHOULD.  Our intent was to only state if the maintenances would affect connections.  Any additional information could be covered in the <maint:description> element.  I doubt that we will be able to imagine all issues that could affect connections; so I think it would be best to keep it generic for now.

* 2.3
Same problem (even larger) than for maint:connection.

-- JWK -- <maint:implementation> has been changed from MUST to SHOULD.  Our intent was to only state if the maintenances would be a code breaking change.  Any additional information could be covered in the <maint:description> element.  

* 2.3
Please further detail active vs inactive.

-- JWK - Active/Inactive is described at the beginning of this section (2.3)

* 3.1.3
I am not sure to understand why you needed to create a new action. Why couldn't the notification messages just be available through the poll mechanism, with the other messages?
Can you describe the rationale?
If the argument is that registrars may not poll their messages, hence the need for a specific case for these messages, then in the same way it could be argued that registrars will not take time to implement this specific extension, whereas just having another poll notification result does not mean implementing anythin on the protocol level, just the parsing of a new message type.

-- JWK - The messages are available through the poll messages.  If the registrar has missed the poll messages, the registrar can use the <maint:list> command to obtain the list of maintenances and then use the <maint:info> command to retrieve the information regarding maintenances.  I would like to hear from other registrys or registrars as to their opinion if this is overkill.

I believe that maint:list is underspecified. What are "all maintenance notifications"? Only future ones or really all of them, even from the past? Does that include ongoing ones?
Only active ones?
For registries having fixed maintenance slots (like sunday 6AM, each sunday), how should they handle that? They would obviously need to limit the amount of future maintenances to return.

-- JWK -  I would expect that this command would only show future maintenances that are either active or inactive and would only show maintenances that are within the next 6 months - to a year.  Thoughts?  I don't see any reason to list prior maintenances or recurring maintenances that are more than 6 - 12 months in the future.  In the end, this should be server policy.

* 4.1 Schema

- I see both start and end are optional. What is the meaning of a maintenance without a start? Without an end? Without a start and without an end?
-- JWK -  The maintenance could be an emergency maintenance for which the start and end is not known.  We can update the doc to explain.    
- The status list here is active and deleted, where the text speaks only about active and inactive, so there is a discrepancy.
-- JWK - Updated

- You changed maint:remark to maint:detail in the text, but not in the schema Also since you say there are URLs, why not choose something more specific than token for its type?
-- JWK - Updated

* Other generic comments/ideas

- Some maintenances may be a follow-up, a fix, or a reply to another past maintenance.
It may be useful hence to add a parameter (optional) in a maintenance data that would reference a previous maintenance id.
--  JWK This could be referenced in the description.  Should an additional parameter be added?

- Also registries may provide specific point of contact during the maintenance, specially for important cases. It should be useful to be able to put this somewhere in the maintenance details maybe?
-- JWK This could also be referenced in the description.  Should an additional parameter be added?

- How would your extension code for the fact that some maintenances for example would make EPP read-only, the registry would accept all queries but only act on the ones not modifying objects? Maybe a new impact value like 'read-only'?
How to code a maintenance that "only" degrades performances? 
-- JWK This could also be referenced in the description.  Degrade only maintenances could also be listed as "partial".

- I think you should also have a look at usual past cases of maintenances. For example: global change of passwords because of a breach, registry ramp-up such as a cut just before entering GA for example, EBERO switches maybe? etc.
-- JWK How would you suggest that these be referenced?

- I would like a discussion on OT&E systems too: do they have notifications? If so, where?
(because registrars may not poll on OT&E systems so it may make sense to publish OT&E maintenances even on the production EPP server).

-- JWK - I would expect OT&E maintenances would be sent to both the production and OT&E environments.  

  Patrick Mevzek

regext mailing list