Eclipse Californium™ (Cf) is an open source implementation of the Constrained Application Protocol (CoAP). It is written in Java and targets unconstrained environments such as back-end service infrastructures (e.g., proxies, resource directories, or cloud services) and less constrained environments such as embedded devices running Linux (e.g., smart home/factory controllers or cellular gateways). Californium (Cf) has been running code for the IETF standardization of CoAP and was reimplemented from scratch having all the experience. In particular, Cf focuses now on service scalability for large-scale Internet of Things applications. The new implementation was successfully tested at the ETSI CoAP and OMA LWM2M Plugtests in November 2013 and March 2014. It complies with all mandatory and optional test cases.
The Californium (Cf) CoAP framework provides the following features (upcoming 3.0.0):
- Implementation of CoAP (RFC 7252)
- Implementation of Observe/Notify (RFC 7641)
- Implementation of Blockwise Transfers (RFC 7959)
- Implementation of No Server Response (RFC 7967, with 3.0.0)
- Implementation of the Resource Directory draft (draft-ietf-core-resource-directory-20)
- Implementation of DTLS 1.2 (RFC 6347)
- Implementation of DTLS 1.2 Connection ID (draft-ietf-tls-dtls-connection-id-13, with 3.0.0). The RFC 9146 is not released yet.
- Implementation of DTLS Record Size Limit Extension (RFC 8449)
- Implementation of DTLS Extended Master Secret (RFC 7627, with 3.0.0)
- Experimental support for RSA in DTLS
- Experimental support for Bouncy Castle in DTLS (alternative to openjdk JCE)
- Experimental (currently not complete) implementation of CoAP over TCP (RFC 8323)
- Experimental implementation of OSCORE (Object Security for Constrained RESTful Environments), see draft-ietf-core-object-security-16.
Contributed by joint project of Ericsson and RISE, Research Institutes of Sweden.
- CoAP-HTTP cross-proxy support through HttpCore-NIO and Guava
- Scalable Web resource framework with a flexible concurrency model for the implementation of Internet of Things applications
- OSGi wrapper for managed servers