gcoap and DTLS

Hi all,

Recently I received private mail with some specific questions about gcoap and DTLS. Responses below.

There is a work-in-progress pull request for integration of DTLS and gcoap, #7177. There is good discussion in there about the best way to integrate DTLS generically with RIOT's sock networking.

RIOT's master branch includes support for the Observe extension for non-confirmable messaging. There is an open PR for integration with confirmable messaging, #7548.

There also was a question about "periodic resources", but that's not part of the CoAP spec AFAIK. Certainly one could integrate a timer to periodically send Observe notifications.


I think an example with an observable, periodic resource would be a useful addition to the example collection. The periodic resource could be simply sending the xtimer_now value or adc_read or similar periodically every 5 seconds or something to show how to set up periodic notifications in gcoap. Without looking at the code I guess it would be driven by xtimer to provide events to the gcoap observable resource event loop.

Best regards, Joakim

Thanks, Joakim. I have created a similar example, although it’s not in the repository examples collection. For anyone interested, check out the, “gcoap presentation” thread on the ML from last October [1]. It references the data collection application as well as a presentation and video I created about it.




Until the date, I’ve been working with IPv6,gcoap and Mulle devices, but I would like to know if I could send from the device a GET to an IPv4 address. I read that it’s not supported by RIOT, but I found some library IPv4, I tried to use and it’s not working.

someone knows more about the use of IPv4 in RIOT?

Thank you all, Cristina.

Hi Cristina,

I cannot help with the IPv4 code fragments, but I wonder why you want to use IPv4 on RIOT?

To gain 'transparent' IPv4 connectivity, you can use IPv6-embedded IPv4 addresses and perform stateless address translation at a gateway.

Would that help?

Best,   Thomas

Hi Cristina,

To expand a bit on Thomas suggestion, I have good experience with Tayga[1] at a gateway and using this to provide connectivity to the IPv4 part of the internet from IPv6 only hosts. For guides on setting this up I would suggest looking for generic guides on NAT64 for IPv6 only networks, similar to the setup described in rfc6586[2]. While the situation there is more aimed at regular wired networks, from a network perspective, it seems similar to your requirements.


[1]: http://www.litech.org/tayga/ [2]: https://tools.ietf.org/html/rfc6586


There is a service in IPv4 that it’s used to register any device or system, not only the ones that are used RIOT. it’s already developed in IPv4 ( A server at one computer). I have to find a way to register my own device and interact with it. Maybe I can use your solution, I’ve never tried before.

Thank you, Cristina.