Things Manager
C/C++ and Java Support for Multi Platforms
Linux, Android,
Tizen (
API and Sample Application)
Find appropriate resources for the specific group
Check presence information of group (member resource's connectivity/resource change)
Take a single action on a group to affect all member resources (Group Action using ActionSet)
CRUD function for ActionSet
Execute an certain group action after a specified time delay (scheduled group action feature)
Execute an certain group action every a specified time interval (recursive group action feature)
Send configuration/diagnostics command to multiple things
Get the parameter list of configuration feature
Get the functionality list of Maintenance feature
Resource Container
C/C++ and Java Support for Multi-Platforms
Linux, Tizen (
API and Sample Application), and Andorid (Experimental Support)
Translate Non-OIC things into OIC resource model via Protocol Bridge template
Create virtual OIC resource which consists of a number of OIC resource via SoftSensor template and Protocol Bridge template
Provide Protocol Bridge and SoftSensor Template and Sample Bundle resources
Resource Hosting
C/C++ and Java Support for Multi-Platforms
Linux, Android, and Tizen (
API and Sample Application)
Resource Hosting Candidate Discovery
Resource hosting instead of resource constraint device(origin resource) via virtual resource creation
Resource Encapsulation
Connectivity Abstraction
Abstract following transport types on Linux, Tizen, Android and Arduino Due/Mega
IPv6/IPv4 for Linux, Android, Tizen, Arduino ( with Wifi/Ethernet Shield )
Bluetooth Serial RFCOMM for Android
BLE GATT for Linux, Android, Arduino ( with BLE Shield )
CoAP multicast, CoAP unicast request/response
Block-wise transfer over IP/BT
CoAP over TCP on Linux
Message switching between heterogeneous connectivity types( IP, BT, BLE)
Support for HIGH QoS (RESET/ACK)
DTLS for Android/Linux/Tizen
Multi-PHY EasySetup
Resource Directory
IoTivity Simulator
Security
Client-Driven Just-Works and Pin based Device On-Boarding
Secure Virtual Resource Management
Security Resources
Access Control List (
ACL)
Provisioning Status (PSTAT)
Credential (CRED)
Device Owner Transfer Method (DOXM)
Security Service Resource (SVC)
Access Manager
ACL (AMACL)
Certificate Revocation List (CRL)
Persistent Storage
Period and Recurrence in
ACL resource.
Symmetric key revocation
Certificate based key management.
Access Manager Service (AMS) service to support on-demand
ACL.
Request Filtering and Resource management
Allows the request with right permissions and with in valid time period(e.g. a read by an authorized Subject within valid time)
Denies the request with wrong permissions and/or in invalid time period(e.g. a write by an un-authorized Subject and/or at time that is not within allowable access time)
Handles SVR resource request for:
Adding ACE(Access control Entity) to
ACL and Credential to CRED resource
Deleting ACE from
ACL and Credential to CRED resource
Querying to
ACL and DOXM resource.
Server: Support for Policy Engine to deny or process the request
Client: Support for general REST get/put/delete/post/observe request to a server
Remote Access
Enabling remote access discovery, GET/PUT/POST/DELETE using XMPP for remote resources (resources not on same subnet)
Some notes:
Remote Access is tested with both local xmpp server (ejabberd) and server instance running on AWS
Currently an experimental feature and can be included in the build with the compile flag WITH_RA=1.
Applications using remote access need to call OCSetRAInfo() before OCInit() to set credentials and host information . See ocserver.cpp/ocremoteaccessclient.cpp examples.
IPv6
Fully capable IPv6 transport (equivalent functionality to IPv4).
Uses Dual-Stack approach to allow gradual migration of nodes from IPv4 to IPv6.
No application changes required to use Dual-Stack IPv4 and IPv6, but IP addressing may need to be changed.
CBOR
Plugin Interface
Depicts/Maps Zigbee Clusters as OIC Resources
Supports GET requests
Supports PUT requests
Supports OBSERVE requests
Device Supported: GE Link Bulbs
Device Supported: OSRAM Tunable White Bulb
Device Supported: SmartThings SmartSense Open/Close Sensor
Device Supported: SmartThings SmartSense SmartPlug
Device Supported: SmartThings SmartSense Water Leak Sensor
Device Supported: SmartThings SmartSense Motion
Device Supported: Smartenit ZigBee HA Wireless Motion, Light, and Temp Sensor
Known Issues