Per the ANIMA/CoRE/IOTops call discussion today, I’m sending the pointers to 
Thread documents and OpenThread source code where CoAP is used as the relay 
protocol (outer layer) of a “Join Proxy” entity.

There’s a Thread white paper here: 
https://www.threadgroup.org/Portals/0/documents/support/CommissioningWhitePaper_658_2.pdf
that mentions the “Joiner Router” function which is similar to Join Proxy.  
It’s unfortunately somewhat out of date, but can be useful to understand the 
context.

In the source code, here is the part where a JP (called JoinerRouter in the 
code) receives a UDP message from the Pledge:
https://github.com/openthread/openthread/blob/main/src/core/meshcop/joiner_router.cpp#L130

This UDP message is CoAPS from the Pledge, and the JP will relay the received 
data within a CoAP message sent to a fixed URI path (named kUriRelayRx):
https://github.com/openthread/openthread/blob/main/src/core/meshcop/joiner_router.cpp#L143
https://github.com/openthread/openthread/blob/main/src/core/meshcop/joiner_router.cpp#L159

Similarly there’s a handler method for incoming CoAP message with particular 
constant path ‘kUriRelayTx’ coming from e.g. a Registrar:
https://github.com/openthread/openthread/blob/main/src/core/meshcop/joiner_router.cpp#L167

The state is extracted from the CoAP message; this state information is not 
encrypted. And then the return UDP (DTLS+coap) payload is sent back to the 
Pledge:
https://github.com/openthread/openthread/blob/main/src/core/meshcop/joiner_router.cpp#L198

regards
Esko

IoTconsultancy.nl  |  Email/Teams: 
[email protected]<mailto:[email protected]>

_______________________________________________
Anima mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/anima

Reply via email to