Skip to content

Commit ca20cb5

Browse files
authored
Merge pull request #12 from namib-project/thing-behavior
Expand Thing Behavior section
2 parents 550ca9b + 236efd1 commit ca20cb5

File tree

1 file changed

+43
-5
lines changed

1 file changed

+43
-5
lines changed

draft-romann-mud-constrained.md

Lines changed: 43 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ In the following, we will first outline these additional means for exposing MUD
180180
URLs before going into more detail regarding potential exposure and discovery
181181
flows.
182182

183-
## MUD CoAP Payloads
183+
## MUD CoAP Payloads {#mud-payloads}
184184

185185
- Text/Plain
186186
- text/mud-url+plain
@@ -238,10 +238,48 @@ In the remainder of this section, we will outline potential use-cases and proced
238238

239239
## Thing Behavior
240240

241-
- Exposition/Announcing
242-
- (same as General Architecture/Discovery)
243-
- Providing the MUD-URL Resource
244-
- (guidance for Content Format, static pre-generation(?), etc.)
241+
### Exposing MUD URLs
242+
243+
Things MAY expose their MUD URL using a dedicated resource hosted under
244+
`/.well-known/mud-url`.
245+
If a MUD URL is exposed this way, the resource MUST offer at least one of the
246+
specified serialization methods and MUST allow clients to choose between them
247+
using the Accept option, if provided.
248+
If the Thing supports resource discovery using a `/.well-known/core` resource,
249+
MUD URL resources SHOULD be advertised there using the CoRE Link-Format
250+
{{!RFC6690}}, indicating the available Content-Formats using the `ct` parameter.
251+
252+
### Registering MUD URLs with MUD Managers
253+
254+
Things MAY actively register their MUD URLs with MUD managers offering a
255+
registration interface.
256+
To perform the registration process, Things can perform a discovery
257+
process using the CoRE Link Format or directly include their MUD URL as a
258+
payload of a CoAP POST request.
259+
If Things are actively registering their MUD URLs with MUD managers, they
260+
SHOULD regularly repeat the process to keep interested parties informed about
261+
their presence and their associated MUD URL.
262+
263+
Using the CoRE Link Format, Things MAY send a GET request to the All CoAP Nodes
264+
or the All MUD Managers multicast address, requesting the `/.well-known/core`
265+
resources and including an (optional) query parameter `rt=mud.url-register`.
266+
After filtering the obtained links for the Resource Type `mud.url-register` to
267+
identify available submission interfaces, the Thing MAY then send a unicast
268+
POST request to the discovered MUD manager, containing the MUD URL as a payload
269+
and a corresponding Content-Format option.
270+
Alternatively, a Thing MAY also use a CoRE Resource Directory {{!RFC9176}} to
271+
perform the discovery process.
272+
273+
Things MAY also directly send a POST request containing the MUD URL as
274+
a payload and a corresponding Content-Format option via unicast or to the All
275+
CoAP Nodes or the All MUD Managers multicast address, using the well-known URI
276+
`/.well-known/mud-submission`.
277+
278+
### Finding MUD URLs of Other Things
279+
280+
If a Thing should be interested in the MUD URLs of one or more of its peers, it
281+
MAY use the same mechanisms specified for MUD Receivers described in the
282+
following section.
245283

246284
## Receiver Behavior
247285

0 commit comments

Comments
 (0)