User Tools

Site Tools


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
    • Body Mass Index bundle which consists of height and weight sensors
    • Discomfort Index Sensor Bundle which consists of temperature and humidity sensors

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

  • C/C++ and Java Support for Multi-Platforms
    • Linux, Android, and Tizen (API and Sample Application)
  • Provides service common functionalities
    • Resource Broker for presence monitoring
    • Resource Cache for tracking the latest resource value
    • Discovery extension for monitoring late creation/join of interested resource.

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

  • Mediator SDK support in Android
    • Wi-Fi OnBoarding with SoftAP in Mediator
    • Wi-Fi Enroller Provisioning
      • Provide OnBoarding Samples using Wi-Fi
  • Enrollee SDK support in Arduino
    • SoftAP OnBoarding
    • Wi-Fi Enroller Provisioning
    • Provide OnBoarding samples using Wi-Fi

Resource Directory

  • Hosting of RD (Server side)
    • Respond to discovery request with the bias factor.
    • Response after receiving publish resource and payload handling (Server side)
    • Storage of resources at RD (Server side)
    • /oic/res querying support with a response in collection format.
  • Discovery using RD (Client side)
    • API to initiate discovery of RD
    • Publish resources to RD using the collection format.
    • Stop Multicast API suport

IoTivity Simulator

  • Java SDK API support on Linux Platform
  • Server : Resource simulation
    • OIC resources can be simulated, using resource model definitions defined in RAML format
    • Manage creation, deletion, request handling and notifications for OIC resources
    • Manual and automatic modes of attribute value modifications
  • Client : Resource operations
    • Discover different IoTivity resource types available in the network
    • Manual and automatic modes of sending different kind of requests and display of the response payload received
    • Validating the responses received as per the RAML file provided in automatic requests scenario


  • Client-Driven Just-Works and Pin based Device On-Boarding
    • Onboarding (aka Take Ownership) of New Server Device
    • Provision New Device
    • Deny Access Request
    • Grant Access Request
  • 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)

  • Connectivity Abstraction enabled for remote access endpoint
  • Support for observing changes to remote resources

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.


  • 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.


  • JSON replaced with CBOR as the IoTivity communication protocol -Uses TinyCBOR library, avialable from
  • C SDK converted to use an object model rather than sharing the data buffer, saving memory and preventing consumers from having to do parsing

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

  • Plugin Interface's IoTivityandZigbeeClient application fails to send requests to resources hosted at an IPv6 address. Solution until post-1.0.0 release: Use Git commit from master branch of IoTivity repository “d4253c1c48cf3f844811739cd48d1b80cf38df7f”(commit Id) as patch against iotivity-1.0.0 directory.
release_note_1.0.0.txt · Last modified: 2016/02/15 17:31 by Phil Coval