ࡱ > ( q s l m n o p u v w x y ~ t p
u v d < s } g ~ a 8 bjbjڥڥ O R\R\/ Q 5 5 B B B B B B B B 8 B T 6L B z- 2P W ( W W W *Y R
|f Xj , , , , , , , $ Z1 4 - B Hl *Y *Y Hl Hl - B B W W 4 4- ~ ~ ~ Hl & B W B W , ~ Hl , ~ ~ w . # W p7 ё nn
, J- 0 z- Y 4 .| 4 , # # J 4 B i# | Hl Hl ~ Hl Hl Hl Hl Hl - - | Hl Hl Hl z- Hl Hl Hl Hl 4 Hl Hl Hl Hl Hl Hl Hl Hl Hl 5 > \A :
oneM2M
Technical ReportDocument NumberTR-0025 V2.0.0Document Name:Application Developer GuideDate:2017-February-28Abstract:Provides a use case for guiding application developers to develop applications using functionalities provided by a oneM2M service platform. Template Version:23 February 2015 (Dot not modify)
This Specification is provided for future development work within oneM2M only. The Partners accept no liability for any use of this Specification.
The present document has not been subject to any approval process by the oneM2M Partners Type 1. Published oneM2M specifications and reports for implementation should be obtained via the oneM2M Partners' Publications Offices.
About oneM2M
The purpose and goal of oneM2M is to develop technical specifications which address the need for a common M2M Service Layer that can be readily embedded within various hardware and software, and relied upon to connect the myriad of devices in the field with M2M application servers worldwide.
More information about oneM2M may be found at: http//www.oneM2M.org
Copyright Notification
2017, oneM2M Partners Type 1 (ARIB, ATIS, CCSA, ETSI, TIA, TSDSI, TTA, TTC).
All rights reserved.
The copyright and the foregoing restriction extend to reproduction in all media.
Notice of Disclaimer & Limitation of Liability
The information provided in this document is directed solely to professionals who have the appropriate degree of experience to understand and interpret its contents in accordance with generally accepted engineering or other professional standards and applicable regulations. No recommendation as to products or vendors is made or should be implied.
NO REPRESENTATION OR WARRANTY IS MADE THAT THE INFORMATION IS TECHNICALLY ACCURATE OR SUFFICIENT OR CONFORMS TO ANY STATUTE, GOVERNMENTAL RULE OR REGULATION, AND FURTHER, NO REPRESENTATION OR WARRANTY IS MADE OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR AGAINST INFRINGEMENT OF INTELLECTUAL PROPERTY RIGHTS. NO oneM2M PARTNER TYPE 1 SHALL BE LIABLE, BEYOND THE AMOUNT OF ANY SUM RECEIVED IN PAYMENT BY THAT PARTNER FOR THIS DOCUMENT, WITH RESPECT TO ANY CLAIM, AND IN NO EVENT SHALL oneM2M BE LIABLE FOR LOST PROFITS OR OTHER INCIDENTAL OR CONSEQUENTIAL DAMAGES. oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PROVIDED IN THIS DOCUMENT IS AT THE RISK OF THE USER.
Contents
TOC \o \w "1-9" Contents PAGEREF _Toc476059868 \h 3
1 Scope PAGEREF _Toc476059869 \h 5
2 References PAGEREF _Toc476059870 \h 5
2.1 Normative references PAGEREF _Toc476059871 \h 5
2.2 Informative references PAGEREF _Toc476059872 \h 5
3 Definitions and abbreviations PAGEREF _Toc476059873 \h 5
3.1 Definitions PAGEREF _Toc476059874 \h 5
3.2 Abbreviations PAGEREF _Toc476059875 \h 6
4 Conventions PAGEREF _Toc476059876 \h 6
5 Use case PAGEREF _Toc476059877 \h 6
6 Architecture PAGEREF _Toc476059878 \h 7
7 Procedures PAGEREF _Toc476059879 \h 8
7.1 Introduction PAGEREF _Toc476059880 \h 8
7.2 Call Flows PAGEREF _Toc476059881 \h 9
7.2.1 Application registration and Access control policy creation PAGEREF _Toc476059882 \h 9
7.2.2 Initial resource creation PAGEREF _Toc476059883 \h 9
7.2.3 Discovery of group resources PAGEREF _Toc476059884 \h 10
7.2.4 Discovery and retrieval of contentInstance resources PAGEREF _Toc476059885 \h 11
7.3 Remote control scenarios PAGEREF _Toc476059886 \h 13
7.3.1 Introduction PAGEREF _Toc476059887 \h 13
7.3.2 Single light control PAGEREF _Toc476059888 \h 13
7.3.3 Multiple light control PAGEREF _Toc476059889 \h 13
8 Implementation PAGEREF _Toc476059890 \h 14
8.1 Introduction PAGEREF _Toc476059891 \h 14
8.2 Assumptions PAGEREF _Toc476059892 \h 14
8.3 Addressing for Entities PAGEREF _Toc476059893 \h 15
8.4 Modelling for Light State Data PAGEREF _Toc476059894 \h 15
8.5 Resource Structure PAGEREF _Toc476059895 \h 15
8.5.0 Introduction PAGEREF _Toc476059896 \h 15
8.5.1 Resource Structure of IN-CSE PAGEREF _Toc476059897 \h 15
8.5.2 Resource Structure of MN-CSE PAGEREF _Toc476059898 \h 16
8.6 Role of Entities PAGEREF _Toc476059899 \h 17
8.6.1 oneM2M service platform (IN-CSE) PAGEREF _Toc476059900 \h 17
8.6.2 Home gateway application (MN-AE) PAGEREF _Toc476059901 \h 18
8.6.3 Light applications (ADN-AE1 and ADN-AE2) PAGEREF _Toc476059902 \h 18
8.6.4 Smartphone application (IN-AE) PAGEREF _Toc476059903 \h 18
8.7 Implementation Procedures PAGEREF _Toc476059904 \h 18
8.7.1 Introduction PAGEREF _Toc476059905 \h 18
8.7.2 MN-CSE registration PAGEREF _Toc476059906 \h 18
8.7.3 Access control policy creation PAGEREF _Toc476059907 \h 19
8.7.4 Application entities registration PAGEREF _Toc476059908 \h 21
8.7.4.1 Light application ADN-AE1 PAGEREF _Toc476059909 \h 21
8.7.4.2 Light application ADN-AE2 PAGEREF _Toc476059910 \h 22
8.7.4.3 Home gateway application MN-AE PAGEREF _Toc476059911 \h 23
8.7.4.4 Smartphone application IN-AE PAGEREF _Toc476059912 \h 23
8.7.5 Containers creation PAGEREF _Toc476059913 \h 24
8.7.5.1 Create a container of ADN-AE1 PAGEREF _Toc476059914 \h 24
8.7.5.2 Create a container of ADN-AE2 PAGEREF _Toc476059915 \h 25
8.7.6 ContentInstances creation PAGEREF _Toc476059916 \h 26
8.7.6.1 Create a content instance of ADN-AE1 PAGEREF _Toc476059917 \h 26
8.7.6.2 Create a content instance of ADN-AE2 PAGEREF _Toc476059918 \h 27
8.7.7 Group creation PAGEREF _Toc476059919 \h 27
8.7.8 Subscriptions creation PAGEREF _Toc476059920 \h 28
8.7.8.1 Subscription to the content instance of ADN-AE1 PAGEREF _Toc476059921 \h 28
8.7.8.2 Subscription to the content instance of ADN-AE2 PAGEREF _Toc476059922 \h 29
8.7.9 Discovery PAGEREF _Toc476059923 \h 30
8.7.9.1 Introduction PAGEREF _Toc476059924 \h 30
8.7.9.2 Discovery of single light registered with MN-CSE PAGEREF _Toc476059925 \h 31
8.7.9.3 Discovery of groups located in MN-CSE PAGEREF _Toc476059926 \h 31
8.7.10 Latest content instances retrieval PAGEREF _Toc476059927 \h 32
8.7.10.1 Introduction PAGEREF _Toc476059928 \h 32
8.7.10.2 Retrieve the latest content instance of ADN-AE1 PAGEREF _Toc476059929 \h 33
8.7.10.3 Retrieve the latest content instance of ADN-AE2 PAGEREF _Toc476059930 \h 34
8.7.10.4 Retrieve a group of latest content instances for all light states PAGEREF _Toc476059931 \h 35
8.7.11 Light state modification PAGEREF _Toc476059932 \h 37
8.7.11.1 Introduction PAGEREF _Toc476059933 \h 37
8.7.11.2 Create a content instance under container of ADN-AE1 PAGEREF _Toc476059934 \h 37
8.7.11.3 Create a content instance under container of ADN-AE2 PAGEREF _Toc476059935 \h 38
8.7.11.4 Update the state of all lights using group fanout PAGEREF _Toc476059936 \h 38
8.7.12 Notifications PAGEREF _Toc476059937 \h 41
8.7.12.1 Introduction PAGEREF _Toc476059938 \h 41
8.7.12.2 Post a notification to ADN-AE1 PAGEREF _Toc476059939 \h 41
8.7.12.3 Post a notification to ADN-AE2 PAGEREF _Toc476059940 \h 42
Annex A: Reading Resources PAGEREF _Toc476059941 \h 44
Annex A.1 Introduction PAGEREF _Toc476059942 \h 44
Annex A.2 CSE resources PAGEREF _Toc476059943 \h 44
Annex A.2.1 IN-CSE PAGEREF _Toc476059944 \h 44
Annext A.2.2 MN-CSE PAGEREF _Toc476059945 \h 44
Annex A.3 Gateway device application MN-AE PAGEREF _Toc476059946 \h 45
Annex A.4. Light device applications PAGEREF _Toc476059947 \h 45
Annex A.4.1 ADN-AE1 PAGEREF _Toc476059948 \h 45
Annex A.4.2 ADN-AE2 PAGEREF _Toc476059949 \h 46
Annex A.5 Smartphone application IN-AE PAGEREF _Toc476059950 \h 46
Annex A.6 Access control policy PAGEREF _Toc476059951 \h 47
Annex A.7 Containers PAGEREF _Toc476059952 \h 47
Annex A.7.1 Container under ADN-AE1 PAGEREF _Toc476059953 \h 47
Annex A.7.2 Container under ADN-AE2 PAGEREF _Toc476059954 \h 48
Annex A.8 ContentInstances PAGEREF _Toc476059955 \h 48
Annex A.8.1 Latest contentInstance in ADN-AE1 PAGEREF _Toc476059956 \h 48
Annex A.8.2 Latest contentInstance in ADN-AE2 PAGEREF _Toc476059957 \h 49
Annex A.9 Subscriptions PAGEREF _Toc476059958 \h 50
Annex A.9.1 Subscription to container in ADN-AE1 PAGEREF _Toc476059959 \h 50
Annex A.9.2 Subscription to container in ADN-AE2 PAGEREF _Toc476059960 \h 50
Annex A.10 Groups PAGEREF _Toc476059961 \h 51
Annex A.10.1 Group1 PAGEREF _Toc476059962 \h 51
History PAGEREF _Toc476059963 \h 51
1 Scope
The present document provides a guide for application developers to develop applications using functionalities provided by any oneM2M compliant service platform with the scope of as follows:
Objective of the use case,
The architecture of the use case mapped into an oneM2M service platform,
The execution procedures for implementation of the use case, and
Implementation details of the use case.
2 References
2.1 Normative references
References are either specific (identified by date of publication and/or edition number or version number) or nonspecific. For specific references, only the cited version applies. For non-specific references, the latest version of the reference document (including any amendments) applies.
The following referenced documents are necessary for the application of the present document.
Not applicable.
2.2 Informative references
The following referenced documents are not necessary for the application of the present document but they assist the user with regard to a particular subject area.
[i.1] oneM2M Drafting Rules
NOTE: Available at http://www.onem2m.org/images/files/oneM2M-Drafting-Rules.pdf
[i.2] oneM2M TS-0001 (V12.12.1): "Functional Architecture".
[i.3] oneM2M TS-0004 (V2.9.0): "Service Layer Core protocol Specification.
[i.4] oneM2M TS-0009 (V2.8.0): "HTTP Protocol Binding".
[i.5] oneM2M TS-0011: "Common Terminology".
3 Definitions and abbreviations
3.1 Definitions
For the purposes of the present document, the terms and definitions given in oneM2M TS-0011 [i.5] and the following apply.
NOTE: A term defined in the present document takes precedence over the definition of the same term, if any, in oneM2M TS-0011 [i.5].
M2M service provider domain: part of the M2M System that is associated with a specific M2M Service Provider
registrar CSE: CSE where an Application or another CSE has registered
resource: uniquely addressable entity in oneM2M architecture
3.2 Abbreviations
For the purposes of the present document, the following abbreviations apply:
ACP Access Control Policy
ADN Application Dedicated Node
ADN-AE AE which resides in the Application Dedicated Node
AE Application Entity
CoAP Constrained Application Protocol
CSE Common Services Entity
CSE-ID Common Service Entity Identifier
DNS Domain Name System
FQDN Fully Qualified Domain Name
HTTP HyperText Transfer Protocol
IN Infrastructure Node
IN-AE Application Entity that is registered with the CSE in the Infrastructure Node
IN-CSE CSE which resides in the Infrastructure Node
IP Internet Protocol
JSON JavaScript Object Notation
M2M Machine to Machine
Mca Reference Point for M2M Communication with AE
Mcc Reference Point for M2M Communication with CSE
MN Middle Node
MN-AE Application Entity that is registered with the CSE in Middle Node
MN-CSE CSE which resides in the Middle Node
PoA Point of Access
SP Service Provider
URI Uniform Resource Identifier
XML eXtensible Markup Language
4 Conventions
The key words "Shall", "Shall not", "May", "Need not", "Should", "Should not" in this document are to be interpreted as described in the oneM2M Drafting Rules [i.1].
5 Use case
This guide is based on a home lighting use case involving lights in a home that can be remotely controlled by a user's smartphone leveraging the capabilities of oneM2M. An overview of the use case is shown in figure 5-1. The main components are introduced as follows:
The lights are deployed in a home and are attached to a home gateway.
The home gateway communicates with a cloud service platform allowing the lights to be controlled remotely by the smartphone.
The cloud service platform supports a set of services to enable the smartphone to more easily control the lights in the home. Some examples of services include registration, discovery, data management, group management, subscription/notification etc
The smartphone hosts an application used to remotely control the lights in the home and supports the following capabilities:
Discovery of lights deployed in the home.
Sending commands to change light states i.e. ON and OFF.
Retrieval of light states.
EMBED Visio.Drawing.15
Figure 5-1: Overview of remote lights control use case
6 Architecture
This clause describes how the different components of this use case can be represented by corresponding oneM2M architectural entities as shown in figure 6-1.
EMBED Visio.Drawing.15
Figure 6-1: oneM2M functional architecture of remote lights control use case
In the oneM2M functional architecture two basic types of entities are defined. One is an AE (short for Application Entity) and the other is a CSE (short for Common Services Entity). In this use case, the lights and smartphone each host an AE. Also an IN-CSE (short for Infrastructure Node CSE) is hosted in the cloud by the oneM2M Service Provider and a MN-CSE (short for Middle Node CSE) is hosted on the Home Gateway.
The oneM2M defined Mca reference point is used to interface an AE and CSE. The oneM2M defined Mcc reference point is used to interface CSEs. In this use case, the reference point used between a Light AE and home gateway MN-CSE or Smartphone AE and IN-CSE is Mca while reference point used between the home gateway MN-CSE and oneM2M service platform IN-CSE is Mcc
In summary, applications used in the current use case are classified as follows:
ADN-AE1: an application embedded in Light#1 with capabilities to control Light#1 and interact with the home gateway MN-CSE through Mca reference point;
ADN-AE2: an application embedded in Light#2 with capabilities to control Light#2 and interact with the home gateway MN-CSE through Mca reference point;
IN-AE: a smartphone application embedded in the smartphone device with capabilities to interact directly with the oneM2M service platform IN-CSE through Mcc reference point and thereby remotely control Light#1 and Light#2;
MN-AE: a gateway application embedded into the home gateway that interacts with the MN-CSE through Mca reference point.
7 Procedures
7.1 Introduction
The deployment of the oneM2M standard in the present use case requires procedures that are classified as follows:
Registration: The current procedure contains light application registration, gateway application registration, and accessControlPolicy resource creation for selective access to data storage resources.
Initial resource creation: The current procedure contains group resource creation, container resources creation with specific access control policies, content instance resources creation with initial light states, subscription resources creation for notifications.
Discovery of container resource: all containers with a specific filter criteria are discovered by the gateway application and then configured as members of a group resource.
Discovery and retrieval lights states: all containers with a specific filter criteria are discovered and retrieved using resource identities through a smartphone application which gains access to oneM2M service platform so content information can be retrieved.
Single light switch on/off: Any light that is discovered by and connected to the smartphone application is able to be switched on and off via a smartphone application.
Multiple lights switch on/off: Multiple lights that are discovered are able to be switched on and off together via a smartphone application.
7.2 Call Flows
7.2.1 Application registration and Access control policy creation
Call flows regarding the registration phase depicted in figure 7.2.1-1 are ordered as follows:
Gateway (MN-CSE) registers with the oneM2M service platform (IN-CSE).
Gateway application (MN-AE) registers with the gateway (MN-CSE).
Light applications (ADN-AE1 and ADN-AE2) register with the gateway (MN-CSE).
Smartphone application (IN-AE) registers with the oneM2M service platform (IN-CSE).
Gateway application (MN-AE) discovers the smartphone application (IN-AE) from gateway (MN-CSE) with specific filter criteria. The discovered IN-AE is granted access to the remote light control service containers.
Gateway application (MN-AE) creates an accessControlPolicy resource granting all the entities playing roles in the current use case including ADN-AE1, ADN-AE2, MN-AE and IN-AE access to the created container and content instance resources.
EMBED Visio.Drawing.15
Figure 7.2.1-1: Registration phase call flows
7.2.2 Initial resource creation
Call flows regarding the initial resource creation phase depicted in figure 7.2.2-1 are ordered as follows:
Gateway application (MN-AE) creates a group resource on gateway (MN-CSE), for updating and retrieving group light state named as containers_group. The group members are added from the list of discovered container resources that the MN-AE discovers. The group resource is created with a link to the same access control policy.
Two container resources are created in the gateway (MN-CSE) to store the light states under the registered light application ADN-AE1 and ADN-AE2, respectively. The containers are created with a link to the same access control policy.
Content Instance resources are created by light applications (ADN-AE1 and ADN-AE2) under each created container and represent the controlled light states.
Subscription resources are created under the containers in the gateway (MN-CSE) so that subscribers, i.e. light applications, can be notified whenever there is a new contentInstance resource created by the IN-AE.
EMBED Visio.Drawing.15
Figure 7.2.2-1: Initial resource creation phase call flows
7.2.3 Discovery of group resources
Call flows regarding the discovery and update of group resources are depicted in figure 7.2.3-1 and ordered as follows:
Gateway application (MN-AE) periodically sends a RETRIEVE request including the parameter filterUsage and specific filter criteria condition(s) as a query string for discovery of container resources stored in the MN-CSE of gateway. The filter criteria conditions for the discovery operation include createdBefore, createdAfter, modifiedSince, unmodifiedSInce, label, creator, expireAfter, resourceType etc.
Gateway (MN-CSE) responds with URIs of the discovered container resources, if any, to the gateway application (MN-AE) according to the filter criteria(s).
Gateway application (MN-AE) sends a update request to update the list of group members within the previously created group resource with identifiers of the discovered containers.
EMBED Visio.Drawing.15
Figure 7.2.3-1: Discovery and group light state update phase call flows
7.2.4 Discovery and retrieval of contentInstance resources
Call flows regarding the discovery and retrieval of contentInstance resources depicted in figure 7.2.4-1 and 7.2.4-2 are ordered as follows:
The smartphone application (IN-AE) periodically sends a RETRIEVE request including the parameter filterUsage and specific filter criteria condition(s) as a query string for discovery of container resources stored in the MN-CSE of gateway.
The IN-AE also sends a Discovery request to the MN-CSE for the discovery of the group resources located in the MN-CSE.
The gateway (MN-CSE) responds to the IN-AE with URIs of the discovered container resources under ADN-AE1 and ADN-AE2, if any.
For the case where the IN-AE sends a Discovery request for the discovery of group resources, the MN-CSE responds to the IN-AE with the URIs of the discovered group resources located in the MN-CSE, if any.
The IN-AE sends GET requests for retrieval of the latest contentInstance resources from each discovered light container resource.
In the case of retrieval of the latest contentInstance resources of the group of containers, the IN-AE sends a retrieve request to the fanOutPoint of the discovered group resource.
The MN-CSE responds to the IN-AE with the latest light state(s).
EMBED Visio.Drawing.15
Figure 7.2.4-1: Discovery and single light retrieval phase call flows
EMBED Visio.Drawing.15
Figure 7.2.4-2 Discovery and a group of lights retrieval phase call flows
7.3 Remote control scenarios
7.3.1 Introduction
Lights are able to be controlled remotely through the smartphone application accessing the oneM2M service platform. Two scenarios are introduced in clauses 7.3.2 and 7.3.3.
7.3.2 Single light control
Light#1 and Light#2 are controlled remotely by a human user through a smartphone application (IN-AE). A call flow for single light control is depicted in figure 7.3.2-1 and the steps are ordered as follows:
When the user updates the light state on her/his smartphone, the IN-AE creates a new contentInstance representing a new light state under the targeted container of a Light ADN-AE stored in the MN-CSE.
If the contentInstance is created sucessfully, the MN-CSE sends a notification to the corresponsding Light ADN-AE to notify it that a new contentInstance resource was created.
EMBED Visio.Drawing.15
Figure 7.3.2-1: Single light remote control phase call flows
7.3.3 Multiple light control
Users can also remotely control multiple lights through the smartphone application (IN-AE) by sending a single light control command to the group resource. A call flow for multiple lights control is depicted in figure 7.3.3-1 and the steps are ordered as follows:
When the user updates the state of a group of lights on her/his smartphone, the IN-AE sends a contentInstance create request targeting the group resource on the MN-CSE. The MN-CSE then fans out the request to the individual Light container member resources on the MN-CSE..
For each contentInstances created sucessfully, the MN-CSE sends a notification to the corresponsding Light ADN-AE.
EMBED Visio.Drawing.15
Figure 7.3.3-1: Multiple lights remote control phase call flows
8 Implementation
8.1 Introduction
Clause 8 presents necessary procedures required for the implementation of the remote lights control use case, including conditions that must be met for the correct implementation of the current use case, and resource tree etc.
8.2 Assumptions
Assumptions are presented as below in order to ensure the remote lights control use case can be correctly implemented.
All the applications are server capable;
Devices and application entites are independently addressable with host names resolved by DNS network services;
Host port number 8080 is reserved for oneM2M services;
Security is not considered in the current use case;
HTTP binding of oneM2M primitives is used in the current use case;
Both XML and JSON serializations of oneM2M primitives are used in the current use case;
All mandatory HTTP headers are presented in the HTTP requests while optional headers are selectively used in the current use case;
All mandatory resource attributes for resources presented in the current use case are presented in the HTTP requests while optional resource attributes are selectively used in the current use case;
The IN-CSE and MN-CSE in the current use case are deployed within the same oneM2M Service Provider domain;
All AEs in the current use case are initially registered with CSEs and the identifier of the AEs are assigned by the Registrar CSE of the AE accordinlgy, starting with a character of C;
All resources created in the current use case are addressable with the oneM2M Resource Identifier form of Hierarchical address;
Short names for the representation of the resources and attributes are used in the current use case;
Default access control policy has already been created under IN-CSE and it is used for MN-CSE registration with IN-CSE;
All request originators send Blocking Requests for accessing resources located in CSEs.
8.3 Addressing for Entities
Each oneM2M entity including AE and CSE are addressable with correct host address that can be IP addresses or FQDN addresses resolved to IP addresses by DNS network services according to addressing rules specified in oneM2M standards.
The IN-CSE and MN-CSE entities presented in this use case are addressable with the following identifiers.
IN-CSE:
CSE-ID: in-cse
resourceName of IN-CSEs CSEBase resource: server
MN-CSE:
CSE-ID: mn-cse
resourceName of MN-CSEs CSEBase resource: home_gateway
8.4 Modelling for Light State Data
The light state ON or OFF stored as the content of content instance resource is modelled as string in XML representation and can be represented as ON or OFF, while represented as { "con":"ON" } or { "con":"OFF" }, respectively.
8.5 Resource Structure
8.5.0 Introduction
The development of an oneM2M application includes the design of the resource trees of service capability layers i.e. IN-CSE and MN-CSE in the current use case. The resource tree is constructed with child resources created according to the high level procedures presented in oneM2M application developer guide clause 7. All the child resources shown in the resource trees are mandatorily required in order to correctly implement the remote lights control use case.
8.5.1 Resource Structure of IN-CSE
The resource tree of IN-CSE starts with a CSEBase named server depicted in figure 8.5.1-1.
The root CSEBase has two direct child resources, a remoteCSE named home_gateway and an AE named smartphone_ae.
EMBED Visio.Drawing.15
Figure 8.5.1-1: IN-CSE resource structure
8.5.2 Resource Structure of MN-CSE
The resource tree of MN-CSE starts with a CSEBase named home_gateway depicted in figure 8.5.2-1.
The resource tree of MN-CSE is constructed with child resources as follows:
an accessControlPolicy named gateway_acp,
an ADN-AE named light_ae1 which contains sub-resources of a container named light and multiple contentInstances,
an ADN-AE named light_ae2 which contains sub-resources of a container named light and multiple contentInstances,
light_state_sub1 and light_state_sub2 subscription resources that are child resources of the two light containers, and
a MN-AE named gateway_ae which contains a group child resource,
A group resource named containers_group whose members are the light containers of each AND-AEs. Smartphone application users with proper access control privileges can send a fanOutPoint request to this group to create and retrieve content instances in the two light containers.
EMBED Visio.Drawing.15
Figure 8.5.2-1: MN-CSE resource tree
8.6 Role of Entities
8.6.1 oneM2M service platform (IN-CSE)
The oneM2M service platform is modelled as an IN-CSE and is responsible for
handling the registration requests from the smartphone AE and home gateway MN-CSE
8.6.2 Home gateway application (MN-AE)
The home gateway application is modelled as a MN-AE and is responsible for
initializing the home gateway device,
creating an access control policy resource gateway_acpin the MN-CSE,
registering the home gateway application with the MN-CSE,
creating the group resource with access control policy gateway_acp in the MN-CSE,
discovering device applications registered with the MN-CSE, and
8.6.3 Light applications (ADN-AE1 and ADN-AE2)
Each of the light applications are modelled as an ADN-AE and are responsible for
initializing the light control device,
registering the light devices with the MN-CSE,
creating container resources named light with access control policy gateway_acp in the MN-CSE, respectively,
creating subscription resources lightstate_sub1 and lightstate_sub2 under the two light containers, and
creating content instance resources under containers light1 and light2 with initial light state, respectively.
8.6.4 Smartphone application (IN-AE)
The smartphone application is modelled as a IN-AE, which directly communicates with the oneM2M service platform IN-CSE and is responsible for
initializing the smartphone light control application,
registering the smartphone application with the IN-CSE,
discovering the two light containers,
displaying the discovered light states,
accepting the light state modification commands from the smartphone application user,
executing the light state modification commands for single and multiple lights.
8.7 Implementation Procedures
8.7.1 Introduction
The implementation procedures in the current use case are mapped into HTTP bindings with both XML and JSON serializations of oneM2M primitives according to the standard APIs describing the reference points Mca and Mcc, as defined in oneM2M TS-0001 [i.2], oneM2M TS-0004 [i.3], the HTTP binding TS-0009 [i.4].
In addition, short names for the representation of the resources and attributes are used in the implementation procedures.
8.7.2 MN-CSE registration
The implementation starts with the registration of MN-CSE with IN-CSE as shown in the following procedure.
The following example shows the MN-CSE registration request and response using XML serialization
HTTP Request:
POST /~/in-cse/server?rcn=0 HTTP/1.1Host: http://in.provider.com:8080X-M2M-Origin: /mn-cseContent-Type: application/xml;ty=16
X-M2M-RI: incse-88643
mn-cse
mn.provider.com/mn-cse
true
http://mn.provider.com:8080
2
/in-cse/acp-666957710
HTTP Response:
201 Created
X-M2M-RSC: 2001
X-M2M-RI: incse-88643
Content-Location: /in-cse/csr-299409504
The following example shows the MN-CSE registration request and response using HTTP with JSON serialization.:
HTTP Request:
POST /~/in-cse/server?rcn=0 HTTP/1.1Host: http://in.provider.com:8080X-M2M-Origin: /mn-cseContent-Type: application/json;ty=16
X-M2M-RI: incse-88643
{
"m2m:csr":
{
"rn": "home_gateway",
"csi": "mn-cse",
"cb": "mn.provider.com/mn-cse",
"rr": true,
"poa": ["http://mn.provider.com:8080"],
"cst": 2,
"acpi": ["/in-cse/acp-666957710"]
}
}
HTTP Response:
201 Created
X-M2M-RSC: 2001
X-M2M-RI: incse-88643
Content-Location: /in-cse/csr-299409504
8.7.3 Access control policy creation
When an access control policy resource is created, a list of one or more allowed request originators must be specified in the acor field and the allowed operations in the acop field.
The value of acop is set to 63 which indicates that the specified originator is granted privileges to conduct CREATE, RETRIEVE, UPDATE, DELETE, DISCOVERY,and NOTIFY operations.
The creation of access control policy resource gateway_acp in MN-CSE is implemented in the following procedure.
The following example shows an access control policy create request and response using HTTP with XML serialization.
HTTP Request:
POST /~/mn-cse/home_gateway?rcn=0 HTTP/1.1Host: http://mn.provider.com:8080X-M2M-Origin: Cgateway_aeContent-Type: application/xml;ty=1
X-M2M-RI: mncse-62948
Cgateway_ae Clight_ae1 Clight_ae2 /in-cse/Csmartphone_ae
63
Cgateway_ae
51
HTTP Response:
201 Created
X-M2M-RSC: 2001
X-M2M-RI: mncse-62948
Content-Location: /mn-cse/acp-805496226
The following example shows an access control policy create request and response using HTTP with XML serialization.
HTTP Request:
POST /~/mn-cse/home_gateway?rcn=0 HTTP/1.1Host: http://mn.provider.com:8080X-M2M-Origin: Cgateway_aeContent-Type: application/json;ty=1
X-M2M-RI: mncse-62948
{
"m2m:acp":
{
"rn": "gateway_acp",
"pv":
{
"acr":[{
"acor":
[
"Cgateway_ae",
"Clight_ae1",
"Clight_ae2",
"/in-cse/Csmartphone_ae"
],
"acop":63
}]
},
"pvs":
{
"acr":[{
"acor":
[
"Cgateway_ae"
],
"acop":51
}]
}
}
}
HTTP Response:
201 Created
X-M2M-RSC: 2001
X-M2M-RI: mncse-62948
Content-Location: /mn-cse/acp-805496226
The access control policy resource is used to grant applications the access rights to conduct specific operations and access to specific resources. The list of applications could be obtained with a discovery procedure using filter criteria conditions. For more details about the discovery procedure, please go to clause 8.7.9. Here it is required that the list of applications has been discovered before creating the access control policy resource.
8.7.4 Application entities registration
8.7.4.1 Light application ADN-AE1
The registration of ADN-AE1 with MN-CSE is shown in the following procedure. Note that the access control policy identifier (unstructured SP-relative resourceID) which is assigned to ADN-AE1 is /mn-cse/acp-805496226.
The following example shows an ADN-AE registration request and response using HTTP with XML serialization.
HTTP Request:
POST /home_gateway?rcn=0 HTTP/1.1Host: http://mn.provider.com:8080X-M2M-Origin: CContent-Type: application/xml;ty=2
X-M2M-RI: mncse-92345
A01.com.company.lightApp1
true
http://192.168.0.10:9090
/mn-cse/acp-805496226
HTTP Response:
201 Created
X-M2M-RSC: 2001
X-M2M-RI: mncse-92345
Content-Location: /mn-cse/ae-CAE340304071
The following example shows an ADN-AE registration request and response using HTTP with JSON serialization.
HTTP Request:
POST /home_gateway?rcn=0 HTTP/1.1Host: http://mn.provider.com:8080X-M2M-Origin: CContent-Type: application/json;ty=2
X-M2M-RI: mncse-92345
{
"m2m:ae":
{
"rn": "light_ae1",
"api": "A01.com.company.lightApp1",
"rr": true,
"poa": ["http://192.168.0.10:9090"],
"acpi": ["/mn-cse/acp-805496226"]
}
}
HTTP Response:
201 Created
X-M2M-RSC: 2001
X-M2M-RI: mncse-92345
Content-Location: /mn-cse/ae-CAE340304071
8.7.4.2 Light application ADN-AE2
The registration of ADN-AE2 with MN-CSE is shown in the following procedure. Note that the access control policy identifier (unstructured SP-relative resourceID) which is assigned to ADN-AE2 is /mn-cse/acp-805496226.
The following example shows an ADN-AE registration request and response using HTTP with XML serialization.
HTTP Request:
POST /home_gateway?rcn=0 HTTP/1.1Host: http://mn.provider.com:8080X-M2M-Origin: CContent-Type: application/xml;ty=2
X-M2M-RI: mncse-18346
A01.com.company.lightApp2
true
http://192.168.0.20:9090
/mn-cse/acp-805496226
HTTP Response:
201 Created
X-M2M-RSC: 2001
X-M2M-RI: mncse-18346
Content-Location: /mn-cse/ae-CAE340304042
The following example shows an ADN-AE registration request and response using HTTP with JSON serialization.
HTTP Request:
POST /home_gateway?rcn=0 HTTP/1.1Host: http://mn.provider.com:8080X-M2M-Origin: CContent-Type: application/json;ty=2
X-M2M-RI: mncse-18346{
"m2m:ae":
{
"rn": "light_ae2",
"api": "A01.com.company.lightApp2",
"rr": true,
"poa": ["http://192.168.0.20:9090"],
"acpi": ["/mn-cse/acp-805496226"]
}
}
HTTP Response:
201 Created
X-M2M-RSC: 2001
X-M2M-RI: mncse-18346
Content-Location: /mn-cse/ae-CAE340304042
8.7.4.3 Home gateway application MN-AE
The registration of MN-AE with MN-CSE is shown in the following procedure. Note that the access control policy identifier (unstructured SP-relative resourceID) which is assigned to MN-AE is /mn-cse/acp-805496226.
The following example shows an MN-AE registration request and response using HTTP with XML serialization.
HTTP Request:
POST /home_gateway?rcn=0 HTTP/1.1Host: http://mn.provider.com:8080X-M2M-Origin: CContent-Type: application/xml;ty=2
X-M2M-RI: mncse-19347
A01.com.company.gatewayApp
false
/mn-cse/acp-805496226
HTTP Response:
201 Created
X-M2M-RSC: 2001
X-M2M-RI: mncse-19347
Content-Location: /mn-cse/ae-CAE340303271
The following example shows an MN-AE registration request and response using HTTP with JSON serialization.
HTTP Request:
POST /home_gateway?rcn=0 HTTP/1.1Host: http://mn.provider.com:8080X-M2M-Origin: CContent-Type: application/json;ty=2
X-M2M-RI: mncse-19347
{
"m2m:ae":
{
"rn": "gateway_ae",
"api": "A01.com.company.gatewayApp",
"rr": false,
"acpi": ["/mn-cse/acp-805496226"]
}
}
HTTP Response:
201 Created
X-M2M-RSC: 2001
X-M2M-RI: mncse-19347
Content-Location: /mn-cse/ae-CAE340303271
8.7.4.4 Smartphone application IN-AE
The registration of IN-AE with IN-CSE is shown in the following procedure. Note that the access control policy identifier (unstructured SP-relative resourceID) which is assigned to IN-AE is /in-cse/acp-666957710.
The following example shows an IN-AE registration request and response using HTTP with XML serialization.
HTTP Request:
POST /server?rcn=0 HTTP/1.1Host: http://mn.provider.com:8080X-M2M-Origin: CContent-Type: application/xml;ty=2
X-M2M-RI: incse-16346
A01.com.company.lightControlApp
false
/in-cse/acp-666957710
HTTP Response:
201 Created
X-M2M-RSC: 2001
X-M2M-RI: incse-16346
Content-Location: /in-cse/ae-CAE340304178
The following example shows an IN-AE registration request and response using HTTP with JSON serialization.
HTTP Request:
POST /server?rcn=0 HTTP/1.1Host: http://mn.provider.com:8080X-M2M-Origin: CContent-Type: application/json;ty=2
X-M2M-RI: incse-16346
{
"m2m:ae":
{
"rn": "smartphone_ae",
"api": "A01.com.company.lightControlApp",
"rr": false,
"acpi": ["/in-cse/acp-666957710"]
}
}
HTTP Response:
201 Created
X-M2M-RSC: 2001
X-M2M-RI: incse-16346
Content-Location: /in-cse/ae-CAE340304178
8.7.5 Containers creation
8.7.5.1 Create a container of ADN-AE1
The creation of a container resource for ADN-AE1 is shown in the following procedure.
The following example shows a container create request and response using HTTP with XML serialization.
HTTP Request:
POST /home_gateway/light_ae1?rcn=0 HTTP/1.1Host: http://mn.provider.com:8080X-M2M-Origin: Clight_ae1Content-Type: application/xml;ty=3
X-M2M-RI: mncse/13345
HTTP Response:
201 Created
X-M2M-RSC: 2001
X-M2M-RI: mncse-13345
Content-Location: /mn-cse/cnt-582759912
The following example shows a container create request and response using HTTP with JSON serialization.
HTTP Request:
POST /home_gateway/light_ae1?rcn=0 HTTP/1.1Host: http://mn.provider.com:8080X-M2M-Origin: Clight_ae1Content-Type: application/json;ty=3
X-M2M-RI: mncse-13345
{
"m2m:cnt":
{
"rn": "light"
}
}
HTTP Response:
201 Created
X-M2M-RSC: 2001
X-M2M-RI: mncse-13345
Content-Location: /mn-cse/cnt-582759912
8.7.5.2 Create a container of ADN-AE2
The creation of a container resource for ADN-AE2 is shown in the following procedure.
The following example shows a container create request and response using HTTP with XML serialization.
HTTP Request:
POST /home_gateway/light_ae2?rcn=0 HTTP/1.1Host: http://mn.provider.com:8080X-M2M-Origin: Clight_ae2Content-Type: application/xml;ty=3
X-M2M-RI: mncse-62345
HTTP Response:
201 Created
X-M2M-RSC: 2001
X-M2M-RI: mncse-62345
Content-Location: /mn-cse/cnt-582769893
The following example shows a container create request and response using HTTP with JSON serialization.
HTTP Request:
POST /home_gateway/light_ae2?rcn=0 HTTP/1.1Host: http://mn.provider.com:8080X-M2M-Origin: Clight_ae2Content-Type: application/json;ty=3
X-M2M-RI: mncse-62345
{
"m2m:cnt":
{
"rn": "light"
}
}
HTTP Response:
201 Created
X-M2M-RSC: 2001
X-M2M-RI: mncse-62345
Content-Location: /mn-cse/cnt-582769893
8.7.6 ContentInstances creation
8.7.6.1 Create a content instance of ADN-AE1
The creation of a content instance resource under the light container of ADN-AE1 with initial content OFF is shown in the following procedure.
The following example shows a contentInstance create request and response using HTTP with XML serialization.:
HTTP Request:
POST /home_gateway/light_ae1/light?rcn=0 HTTP/1.1Host: http://mn.provider.com:8080X-M2M-Origin: Clight_ae1Content-Type: application/xml;ty=4
X-M2M-RI: mncse-24345
text/plain:0
OFF
HTTP Response:
201 Created
X-M2M-RSC: 2001
X-M2M-RI: mncse-24345
Content-Location: /mn-cse/cin-394798749
Content-Type: application/xml
The following example shows a contentInstance create request and response using HTTP with JSON serialization.
HTTP Request:
POST /home_gateway/light_ae1/light?rcn=0 HTTP/1.1Host: http://mn.provider.com:8080X-M2M-Origin: Clight_ae1Content-Type: application/json;ty=4
X-M2M-RI: mncse-24345
{
"m2m:cin":
{
"cnf": "text/plains:0",
"con": "OFF"
}
}
HTTP Response:
201 Created
X-M2M-RSC: 2001
X-M2M-RI: mncse-24345
Content-Location: /mn-cse/cin-394798749
Content-Type: application/json
8.7.6.2 Create a content instance of ADN-AE2
The creation of a content instance resource under the light container of ADN-AE2 with initial content OFF is shown in the following procedure.
The following example shows a contentInstance create request and response using HTTP with XML serialization.
HTTP Request:
POST /home_gateway/light_ae2/light?rcn=0 HTTP/1.1Host: http://mn.provider.com:8080X-M2M-Origin: Clight_ae1Content-Type: application/xml;ty=4
X-M2M-RI: mncse-22345
text/plain:0
OFF
HTTP Response:
201 Created
X-M2M-RSC: 2001
X-M2M-RI: mncse-22345
Content-Location: /mn-cse/cin-256599578
The following example shows a contentInstance create request and response using HTTP with JSON serialization.
HTTP Request:
POST /home_gateway/light_ae2/light?rcn=0 HTTP/1.1Host: http://mn.provider.com:8080X-M2M-Origin: Clight_ae1Content-Type: application/json;ty=4
X-M2M-RI: mncse-22345
{
"m2m:cin":
{
"cnf": "text/plains:0",
"con": "OFF"
}
}
HTTP Response:
201 Created
X-M2M-RSC: 2001
X-M2M-RI: mncse-22345
Content-Location: /mn-cse/cin-256599578
8.7.7 Group creation
The creation of a group resource by the MN-AE is shown in the following procedure. The group resource is created with two initial member ids of the light container resources..
The following example shows a group create request and response using HTTP with XML serialization.
HTTP Request:
POST /home_gateway/gateway_ae?rcn=0 HTTP/1.1Host: http://mn.provider.com:8080X-M2M-Origin: Cgateway_aeContent-Type: application/xml;ty=9
X-M2M-RI: mncse-76905
3
/mn-cse/cnt-582759912 /mn-cse/cnt-582769893
10
HTTP Response:
201 Created
X-M2M-RSC: 2001
X-M2M-RI: mncse-76905
Content-Location: /mn-cse/grp-977978327
The following example shows a group create request and response using HTTP with JSON serialization.
HTTP Request:
POST /home_gateway/gateway_ae?rcn=0 HTTP/1.1Host: http://mn.provider.com:8080X-M2M-Origin: Cgateway_aeContent-Type: application/json;ty=9
X-M2M-RI: mncse-76905
{
"m2m:grp":
{
"rn":"containers_grp",
"mt": 3,
"mid":["/mn-cse/cnt-582759912", "/mn-cse/cnt-582769893"],
"mnm": 10
}
}
HTTP Response:
201 Created
X-M2M-RSC: 2001
X-M2M-RI: mncse-76905
Content-Location: /mn-cse/grp-977978327
8.7.8 Subscriptions creation
8.7.8.1 Subscription to the content instance of ADN-AE1
When a subscription resource is created, the notification content type (short for nct) parameter is set to a value 1 to indicate that all attributes of the subscribed resource will be notified to the subscriber.
ADN-AE1 creates a subscription resource including the notification URI set to the resource identifier of ADN-AE1 so that the ADN-AE1 will get notified whenever a content instance child resource is created in the container . The corresponding subscription create request is shown in the following procedure.
The following example shows a subscription create request and response using HTTP with XML serialization.
HTTP Request:
POST /home_gateway/light_ae1/light?rcn=0 HTTP/1.1Host: http://mn.provider.com:8080X-M2M-Origin: Clight_ae1Content-Type: application/xml;ty=23
X-M2M-RI: mncse-67891
3
Clight_ae1
1
HTTP Response:
201 Created
X-M2M-RSC: 2001
X-M2M-RI: mncse-67891
Content-Location: /mn-cse/sub-856593979
The following example shows a subscription create request and response using HTTP with JSON serialization.
HTTP Request:
POST /home_gateway/light_ae1/light?rcn=0 HTTP/1.1Host: http://mn.provider.com:8080X-M2M-Origin: Clight_ae1Content-Type: application/json;ty=23
X-M2M-RI: mncse-67891
{
"m2m:sub":
{
"rn": "lightstate_sub1",
"enc":
{
"net":[3]
},
"nu":["Clight_ae1"],
"nct":1
}
}
HTTP Response:
201 Created
X-M2M-RSC: 2001
X-M2M-RI: mncse-67891
Content-Location: /mn-cse/sub-856593979
8.7.8.2 Subscription to the content instance of ADN-AE2
When a subscription resource is created, the notification content type (short for nct) parameter is set to a value 1 to indicate that all attributes of the subscribed resource will be notified to the subscriber.
ADN-AE1 creates a subscription resource including the notification URI set to the resource identifier of ADN-AE1 so that the ADN-AE1 will get notified whenever a content instance child resource is created in the container . The corresponding subscription create request is shown in the following procedure.
When a subscription resource is created, the notification content type (short for nct) parameter is set to value 1 to indicate that all attributes of the subscribed resource will be notified to the subscriber.
ADN-AE2 creates a subscription resource including the notification URI set to the resource identifier of ADN-AE2 so that the ADN-AE2 will get notified whenever a content instance child resource is created in the container. The corresponding subscription create request is shown in the following procedures.
The following example shows a subscription create request and response using HTTP with XML serialization.
HTTP Request:
POST /home_gateway/light_ae2/light?rcn=0 HTTP/1.1Host: http://mn.provider.com:8080X-M2M-Origin: Clight_ae2Content-Type: application/xml;ty=23
X-M2M-RI: mncse-29387
3
Clight_ae2
1
HTTP Response:
201 Created
X-M2M-RSC: 2001
X-M2M-RI: mncse-29387
Content-Location: /mn-cse/sub-856463728
The following example shows a subscription create request and response using HTTP with JSON serialization.
HTTP Request:
POST /home_gateway/light_ae2/light?rcn=0 HTTP/1.1Host: http://mn.provider.com:8080X-M2M-Origin: Clight_ae2Content-Type: application/json;ty=23
X-M2M-RI: mncse-29387
{
"m2m:sub":
{
"rn": "lightstate_sub2",
"enc":
{
"net":[3]
},
"nu":["Clight_ae2"],
"nct":1
}
}
HTTP Response:
201 Created
X-M2M-RSC: 2001
X-M2M-RI: mncse-29387
Content-Location: /mn-cse/sub-856463728
8.7.9 Discovery
8.7.9.1 Introduction
The discovery functionality in oneM2M is implemented using a RETRIEVE operation along with one or multiple filter criteria parameters.
In order to enable the retrieve operation for resource discovery, parameter filterUsage (short for fu) is included in the RETRIEVE request as a query string.
In addition, parameter resource type (short for rty) is used as a filterCriteria condition for the discovery of single light and group light members. The parameter discovery result type (short for drt) is set to 2 to indicate that the format of elements of URIList is unstructured. The detailed discovery procedures are presented in clauses 8.7.9.2 and 8.7.9.3.
8.7.9.2 Discovery of single light registered with MN-CSE
The discovery of containers for each light registered with the MN-CSE by the smartphone AE is shown in the following procedure.
If the discovery response is preferred to be returned with a XML representation, the HTTP request message is sent as following example:
HTTP Request:
GET /~/mn-cse/home_gateway?fu=1&rty=3&drt=2 HTTP/1.1Host: http://in.provider.com:8080X-M2M-Origin: /in-cse/Csmartphone_ae
X-M2M-RI: mncse-99882Accept: application/xml
HTTP Response:
200 OK
X-M2M-RSC: 2000
X-M2M-RI: mncse-99882
X-M2M-CNST: 2
Content-Type: application/xml
/mn-cse/cnt-582759912
/mn-cse/cnt-582769893
If the discovery response is preferred to be returned with a JSON representation, the HTTP request message is sent as following example:
HTTP Request:
GET /~/mn-cse/home_gateway?fu=1&rty=3&drt=2 HTTP/1.1Host: http://in.provider.com:8080X-M2M-Origin: /in-cse/Csmartphone_ae
X-M2M-RI: mncse-99882Accept: application/json
HTTP Response:
200 OK
X-M2M-RSC: 2000
X-M2M-RI: mncse-99882
X-M2M-CNST: 2
Content-Type: application/json
{
"m2m:uril":
[
"/mn-cse/cnt-582759912",
"/mn-cse/cnt-582769893"
]
}
The smartphone application retrieves a list of URIs representing containers registered with MN-CSE from the response message, e.g. /mn-cse/cnt-582759912 which is the URI of container created in ADN-AE1. The retrieved URIs of the discovered containers are then used for the group member update operation.
8.7.9.3 Discovery of groups located in MN-CSE
The discovery of groups located in MN-CSE by the smartphone AE is shown in the following procedures.
If the discovery response is preferred to be returned with a XML representation, the HTTP request message is sent as following example:
HTTP Request:
GET /~/mn-cse/home_gateway?fu=1&rty=9&drt=2 HTTP/1.1Host: http://in.provider.com:8080X-M2M-Origin: /in-cse/Csmartphone_ae
X-M2M-RI: mncse-15001Accept: application/xml
HTTP Response:
200 OK
X-M2M-RSC: 2000
X-M2M-RI: mncse-15001
X-M2M-CNST: 2
Content-Type: application/xml
/mn-cse/grp-977978327
If the discovery response is preferred to be returned with a JSON representation, the HTTP request message is sent as following example:
HTTP Request:
GET /~/mn-cse/home_gateway?fu=1&rty=9&drt=2 HTTP/1.1Host: http://in.provider.com:8080X-M2M-Origin: /in-cse/Csmartphone_ae
X-M2M-RI: mncse-15001Accept: application/json
HTTP Response:
200 OK
X-M2M-RSC: 2000
X-M2M-RI: mncse-15001
X-M2M-CNST: 2Content-Type: application/json
{
"m2m:uril":
[
"/mn-cse/grp-977978327"
]
}
The smartphone application retrieves a list of URIs representing group resources located in MN-CSE from the response message, e.g. /mn-cse/grp-977978327 which is the URI of the group resource. The retrieved URIs of the discovered group resource are then used for the group member update operation.
8.7.10 Latest content instances retrieval
8.7.10.1 Introduction
The smartphone application can retrieve the latest light states via sending a RETRIEVE request targeting a containers la (short for latest) virtual resource.
The smartphone application can also retrieve a group of latest light states via sending a RETRIEVE request targeting the group fanOutPoint virtual resource.
8.7.10.2 Retrieve the latest content instance of ADN-AE1
The latest content instance of the light container resource for ADN-AE1 can be retrieved by the following procedure.
If the response is preferred to be returned with a XML representation, the following is a HTTP request message example:
HTTP Request:
GET /~/mn-cse/home_gateway/light_ae1/light/la HTTP/1.1Host: http://in.provider.com:8080X-M2M-Origin: /in-cse/Csmartphone_ae
X-M2M-RI: mncse-11223Accept: application/xml
HTTP Response:
200 OK
X-M2M-RSC: 2000
X-M2M-RI: mncse-11223
Content-Type: application/xml
4
cin-394798749
cnt-181049109
20150925T045938
20150925T045938
20151107T154802
0
text/plain:0
3
OFF
If the response is preferred to be returned with a JSON representation, the following is a HTTP request message example:
GET /~/mn-cse/home_gateway/light_ae1/light/lat HTTP/1.1Host: http://in.provider.com:8080X-M2M-Origin: /in-cse/Csmartphone_ae
X-M2M-RI: mncse-11223Accept: application/json
HTTP Response:
200 OK
X-M2M-RSC: 2000
X-M2M-RI: mncse-11223
Content-Type: application/json
{
"m2m:cin":
{
"ty":4,
"ri":"cin-394798749",
"pi":"cnt-181049109",
"rn":"cin-394798749",
"ct":"20150925T045938",
"lt":"20150925T045938",
"et":"20151107T154802",
"st":0,
"cnf":"text/plain:0",
"cs":3,
"con":"OFF"
}
}
8.7.10.3 Retrieve the latest content instance of ADN-AE2
The latest content instance of the light container resource for ADN-AE2 can be retrieved by the following procedures.
If the response is preferred to be represented in XML, the following is a HTTP request message example:
HTTP Request:
GET /~/mn-cse/home_gateway/light_ae2/light/la HTTP/1.1Host: http://mn.provider.com:8080X-M2M-Origin: /in-cse/Csmartphone_ae
X-M2M-RI: mncse-22336Accept: application/xml
HTTP Response:
200 OKX-M2M-RSC: 2000
X-M2M-RI: mncse-22336
Content-Type: application/xml
4
cin-256599578
cnt-790965889
20150925T050515
20150925T050515
20151107T154802
0
text/plain:0
3
OFF
If the response is preferred be returned in representation of JSON, the following is a HTTP request message example:
GET /~/mn-HTTP/1.1Host: http://mn.provider.com:8080X-M2M-Origin: /in-cse/Csmartphone_ae
X-M2M-RI: mncse-22336Accept: application/json
HTTP Response:
200 OKX-M2M-RSC: 2000
X-M2M-RI: mncse-22336
Content-Type: application/json
{
"m2m:cin":
{
"ty":4,
"ri": "cin-256599578",
"pi": "cnt-790965889",
"rn": "cin-256599578",
"ct": "20150925T050515",
"lt": "20150925T050515",
"et": "20151107T154802",
"st": 0,
"cnf": "text/plain:0",
"vcs": 3,
"con": "OFF"
}
}
8.7.10.4 Retrieve a group of latest content instances for all light states
A group of latest content instances can be retrieved via sending a RETRIEVE request targeting the group fanOutPoint virtual resource and appending latest as shown in the following procedures.
If the response is preferred to be returned with a XML representation, the following is a HTTP request message example:
HTTP Request:
GET /~/mn-cse/home_gateway/gateway_ae/containers_grp/fopt/la HTTP/1.1Host: http://in.provider.com:8080X-M2M-Origin: /in-cse/Csmartphone_ae
X-M2M-RI: mncse-55667Accept: application/xml
HTTP Response:
200 OK
X-M2M-RSC: 2000
X-M2M-RI: mncse-55667
Content-Type: application/xml
2000
mncse-55667
4
cin-394798749
cnt-181049109
20150925T045938
20150925T045938
20151107T154802
0
text/plain:0
3
OFF
/in-cse/Csmartphone_ae
/mn-cse/cnt-582759912/la
2000
mncse-55667
4
cin-256599578
cnt-790965889
20150925T050515
20150925T050515
20151107T154802
0
text/plain:0
3
OFF
/in-cse/Csmartphone_ae
/mn-cse/cnt-582769893/la
If the response is preferred to be returned with a JSON representation, the following is a HTTP request message example:
HTTP Request:
GET /~/mn-cse/home_gateway/containers_grp/fopt/la HTTP/1.1Host: http://in.provider.com:8080X-M2M-Origin: /in-cse/Csmartphone_ae
X-M2M-RI: mncse-55667Accept: application/json
HTTP Response:
200 OK
X-M2M-RSC: 2000
X-M2M-RI: mncse-55667
Content-Type: application/json
{
"m2m:agr":
{
"m2m:rsp":[
{
"rsc": 2000,
"rqi": "mncse-55667",
"pc":
{
"m2m:cin":
{
"ty":4,
"ri": "cin-394798749",
"pi": "cnt-181049109",
"rn": "cin-394798749",
"ct": "20150925T045938",
"lt": "20150925T045938",
"et": "20151107T154802",
"st": 0,
"cnf":"text/plain:0",
"cs": 3,
"con": "OFF"
}
},
"to":"/in-cse/Csmartphone_ae",
"fr":"/mn-cse/cnt-582759912/la"
},
{
"rsc":2000,
"rqi": "mncse-55667",
"pc":
{
"m2m:cin":
{
"ty":4,
"ri":"cin-256599578",
"pi":"cnt-790965889",
"rn":"cin-256599578",
"ct":"20150925T050515",
"lt":"20150925T050515",
"et":"20151107T154802",
"st":0,
"cnf":"text/plain:0",
"cs":3,
"con":"OFF"
}
},
"to":"/in-cse/Csmartphone_ae",
"fr":"/mn-cse/cnt-582769893/la"
}
]}
}
8.7.11 Light state modification
8.7.11.1 Introduction
Once the smartphone application is registered with the IN-CSE, it can be granted access to resources including containers located in the MN-CSE so that smartphone application users can send light control commands for modifying the light states.
When the user makes a change to the light state via the smartphone user interface, the smartphone application performs a new content instance creation procedure carrying the new state.
The modification of a single light state is implemented by creating a new content instance resource for the specific container with access control policy acp1 (gateway_acp) while the modification of all light states is implemented by creating a new content instance resource for each member of group (containers_grp) with access control policy acp1 (gateway_acp). The implementation of the latter case is to target the virtual resource of containers_grp resource with a content instance create request so that the content of all members of the group is updated together.
8.7.11.2 Create a content instance under container of ADN-AE1
If the contentInstance create request body is represented in XML, the following is a HTTP request message example:
HTTP Request:
POST /~/mn-cse/home_gateway/light_ae1/light?rcn=0 HTTP/1.1Host: http://mn.provider.com:8080X-M2M-Origin: /in-cse/Csmartphone_aeContent-Type: application/xml;ty=4
X-M2M-RI: mncse-11123
text/plain:0
ON
HTTP Response:
201 Created
X-M2M-RSC: 2001
X-M2M-RI: mncse-11123
Content-Location: /mn-cse/cin-789356234
If the contentInstance create request body is represented in JSON, the following is a HTTP request message example:
HTTP Request:
POST /~/mn-cse/home_gateway/light_ae1/light?rcn=0 HTTP/1.1Host: http://mn.provider.com:8080X-M2M-Origin: /in-cse/Csmartphone_aeContent-Type: application/json;ty=4
X-M2M-RI: mncse-11123
{
"m2m:cin":
{
"cnf": "text/plains:0",
"con": "ON"
}
}
HTTP Response:
201 Created
X-M2M-RSC: 2001
X-M2M-RI: mncse-11123
Content-Location: /mn-cse/cin-789356234
8.7.11.3 Create a content instance under container of ADN-AE2
If the contentInstance create request body is represented in XML, the following is an HTTP request message the example:
HTTP Request:
POST /~/mn-cse/home_gateway/light_ae2/light?rcn=0 HTTP/1.1Host: http://mn.provider.com:8080X-M2M-Origin: /in-cse/Csmartphone_aeContent-Type: application/xml;ty=4
X-M2M-RI: mncse-12222
text/plain:0
ON
HTTP Response:
201 Created
X-M2M-RSC: 2001
X-M2M-RI: mncse/12222
Content-Location: /mn-cse-cin-237896783
If the contentInstance create request body is represented in JSON, the following is a HTTP request message example:
HTTP Request:
POST /~/mn-cse/home_gateway/light_ae2/light?rcn=0 HTTP/1.1Host: http://mn.provider.com:8080X-M2M-Origin: /in-cse/Csmartphone_aeContent-Type: application/json;ty=4
X-M2M-RI: mncse-12222
{
"m2m:cin":
{
"cnf": "text/plains:0",
"con": "ON"
}
}
HTTP Response:
201 Created
X-M2M-RSC: 2001
X-M2M-RI: mncse-12222
Content-Location: /mn-cse/cin-237896783
8.7.11.4 Update the state of all lights using group fanout
If the fanOutPoint request body is represented in XML, the following is a HTTP request message example:
HTTP Request:
POST /~/mn-cse/home_gateway/gateway_ae/containers_grp/fopt HTTP/1.1Host: http://mn.provider.com:8080X-M2M-Origin: /in-cse/Csmartphone_aeContent-Type: application/xml
X-M2M-RI: mncse-33344
text/plain:0
ON
HTTP Response:
200 OK
X-M2M-RSC: 2000
X-M2M-RI: mncse-33344
Content-Type: application/xml
2001
mncse-33344
4
cin-479874939
cnt-181049109
20151025T045938
20151025T045938
20151207T154802
0
2
/in-cse/Csmartphone_ae
/mn-cse/cnt-582759912
2001
mncse-33344
4
cin-659957825
cnt-790965889
20151025T045938
20151025T045938
20151207T154802
0
2
/in-cse/Csmartphone_ae
/mn-cse/cnt-582769893
If the fanOutPoint request body is represented in JSON, the following is a HTTP request message example:
HTTP Request:
POST /~/mn-cse/home_HTTP/1.1Host: http://mn.provider.com:8080X-M2M-Origin: /in-cse/Csmartphone_aeContent-Type: application/json
X-M2M-RI: mncse-33344
{
"m2m:cin":
{
"cnf": "text/plains:0",
"con": "ON"
}
}
HTTP Response:
200 OK
X-M2M-RSC: 2000
X-M2M-RI: mncse-33344
Content-Type: application/json
{
"m2m:agr":
{
"m2m:rsp":
[{
"rsc": 2001,
"rqi":"mncse-33344",
"pc":
{
"m2m:cin":
{
"ty": 4,
"ri": "cin-479874939",
"pi": "cnt-181049109",
"rn": "cin-479874939",
"ct": "20151025T045938",
"lt": "20151025T045938",
"et":"20151207T154802",
"st": 0,
"cs": 2
}
},
"to": "/in-cse/Csmartphone_ae",
"fr": "/mn-cse/cnt-582759912"
},
{
"rsc": 2001,
"rqi": "mncse-33344",
"pc":
{
"m2m:cin":
{
"ty": 4,
"ri": "cin-659957825",
"pi": "cnt-790965889",
"rn": "cin-659957825",
"ct": "20151025T050515",
"lt": "20151025T050515",
"et": "20151207T154802",
"st": 0,
"cs": 2
}
},
"to": "/in-cse/Csmartphone_ae ",
"fr": "/mn-cse/cnt-582769893"
}
]}
}
8.7.12 Notifications
8.7.12.1 Introduction
Each time a content instance is created under a container of an ADN-AE, then a notification containing the whole created content instance is posted to the targeted subscriber i.e. ADN-AE1 or ADN-AE2, that can actuate the light with the new state received in the notification.
8.7.12.2 Post a notification to ADN-AE1
If the notification request body is represented in XML, the following is a HTTP request message example:
HTTP Request:
POST / HTTP/1.1
Host: http://192.168.0.10:9090
X-M2M-Origin: /mn-cse
X-M2M-RI: notif-12345
Content-Type: application/xml
text/plain:0
ON
/mn-cse/sub-856593979
HTTP Response:
200 OK
X-M2M-RSC: 2000
X-M2M-RI: notif-12345
If the notification request body is represented in JSON, the following is a HTTP request message:
HTTP Request:
POST / HTTP/1.1
Host: http://192.168.0.10:9090
X-M2M-Origin: /mn-cse
X-M2M-RI: notif-12345
Content-Type: application/json
{
"m2m:sgn":
{
"nev":{
"rep":
{
"cin":
{
"cnf": "text/plain:0" ,
"con": "ON"
},
"rss":201
}
},
"sur":"/mn-cse/sub-856593979"
}
}
HTTP Response:
200 OK
X-M2M-RSC: 2000
X-M2M-RI: notif-12345
8.7.12.3 Post a notification to ADN-AE2
If the notification request body is represented in XML, the following is a HTTP request message example:
HTTP Request:
POST / HTTP/1.1
Host: http://192.168.0.20:9090
X-M2M-Origin: /mn-cse
X-M2M-RI: notif-12346
Content-Type: application/xml
text/plain:0
ON
201
/mn-cse/sub-856463728
HTTP Response:
200 OK
X-M2M-RSC: 2000
X-M2M-RI: notif-12346
If the notification request body is represented in JSON, the following is a HTTP request message example:
HTTP Request:
POST / HTTP/1.1
Host: http://192.168.0.20:9090
X-M2M-Origin: /mn-cse
X-M2M-RI: notif-12346
Content-Type: application/json
{
"m2m:sgn":
{
"nev":{
"rep":
{
"cin":
{
"cnf": "text/plain:0" ,
"con": "ON"
},
"rss":201
}
},
"sur":"/mn-cse/sub-856463728"
}
}
HTTP Response:
200 OK
X-M2M-RSC: 2000
X-M2M-RI: notif-12346
Annex A: Reading Resources
Annex A.1 Introduction
The information of resources created during each call flow of current use case can be retrieved via smartphone application IN-AE initiates a RETRIEVE request to the target resources as following.
Annex A.2 CSE resources
Annex A.2.1 IN-CSE
HTTP Request:
GET /~/in-cse/server HTTP/1.1Host: http://in.provider.com:8080X-M2M-Origin: /mn-cse/Cgateway_ae
X-M2M-RI: incse-12345Accept: application/xml
HTTP Response:
200 OK
X-M2M-RSC: 2000
X-M2M-RI: incse-12345
Content-Type: application/xml
5
/in-cse
20150925T045938
20150925T045938
/in-cse/acp-666957710
1
in-cse
1 2 3 4 5 9 14 15 16 17 23
http://in.provider.com:8080/
Annext A.2.2 MN-CSE
HTTP Request:
GET /~/in-cse/server/home_gateway HTTP/1.1Host: http://mn.provider.com:8080X-M2M-Origin: /in-cse/Csmartphone_ae
X-M2M-RI: incse-12346Accept: application/xml
HTTP Response:
200 OK
X-M2M-RSC: 2000
X-M2M-RI: incse-12346
Content-Type: application/xml
16
csr-299409504
/in-cse
20150925T045938
20150925T045938
20171005T105550
/in-cse/acp-666957710
http://mn.provider.com:8080/
mn.provider.com/mn-cse
/mn-cse
true
Annex A.3 Gateway device application MN-AE
HTTP Request:
GET /~/mn-cse/home_gateway/gateway_ae HTTP/1.1Host: http://mn.provider.com:8080X-M2M-Origin: /in-cse/Csmartphone_ae
X-M2M-RI: mncse-12347Accept: application/xml
HTTP Response:
200 OK
X-M2M-RSC: 2000
X-M2M-RI: mncse-12347
Content-Type: application/xml
2
ae-CAE340303271
/mn-cse
20150925T052438
20150925T052438
20171005T105550
/mn-cse/acp-805496226
A01.com.company.gatewayApp
CAE340303271
false
Annex A.4. Light device applications
Annex A.4.1 ADN-AE1
HTTP Request:
GET /~/mn-cse/home_gateway/light_ae1 HTTP/1.1Host: http://mn.provider.com:8080X-M2M-Origin: /mn-cse/Cgateway_ae
X-M2M-RI: mncse-12347Accept: application/xml
HTTP Response:
200 OK
X-M2M-RSC: 2000
X-M2M-RI: mncse-12347
Content-Type: application/xml
2
ae-CAE340304071
/mn-cse
20150925T052455
20150925T052455
20171005T105550
/mn-cse/acp-805496226
A01.com.company.lightApp1
CAE340304071
true
Annex A.4.2 ADN-AE2
HTTP Request:
GET /~/mn-cse/home_gateway/light_ae2 HTTP/1.1Host: http://mn.provider.com:8080X-M2M-Origin: /mn-cse/Cgateway_ae
X-M2M-RI: mncse-12348Accept: application/xml
HTTP Response:
200 OK
X-M2M-RSC: 2000
X-M2M-RI: mncse-12348
Content-Type: application/xml
2
ae-CAE340304042
/mn-cse
20150925T052542
20150925T052542
20171005T105550
/mn-cse/acp-805496226
A01.com.company.lightApp2
CAE340304042
true
Annex A.5 Smartphone application IN-AE
HTTP Request:
GET /~/in-cse/server/smartphone_ae HTTP/1.1Host: http://in.provider.com:8080X-M2M-Origin: /mn-cse/Cgateway_ae
X-M2M-RI: incse-12349Accept: application/xml
Resonse status:
200 OK
X-M2M-RSC: 2000
X-M2M-RI: incse-12349
Content-Type: application/xml
Resonse message:
2
ae-CAE340304178
/in-cse
20150925T052622
20150925T052622
20171005T105550
/in-cse/acp-666957710
A01.com.company.lightControlApp
CAE340304178
false
Annex A.6 Access control policy
HTTP Request:
GET /~/mn-cse/home_gateway/gateway_acp HTTP/1.1Host: http://mn.provider.com:8080X-M2M-Origin: /mn-cse/Cgateway_ae
X-M2M-RI: mncse-12350Accept: application/xml
HTTP Response:
200 OK
X-M2M-RSC: 2000
X-M2M-RI: mncse-12350
Content-Type: application/xml
1
acp-805496226
/mn-cse
20150925T050238
20150925T050238
20171005T105550
/in-cse/home_gateway /mn-cse/Cgateway_ae /mn-cse/Clight_ae1 /mn-cse/Clight_ae2 /in-cse/Csmartphone_ae
63
/in-cse/home_gateway /mn-cse/Cgateway_ae /mn-cse/Clight_ae1 /mn-cse/Clight_ae2 /in-cse/Csmartphone_ae
51
Annex A.7 Containers
Annex A.7.1 Container under ADN-AE1
HTTP Request:
GET /~/mn-cse/home_gateway/light_ae1/light HTTP/1.1Host: http://mn.provider.com:8080X-M2M-Origin: /mn-cse/Cgateway_ae
X-M2M-RI: mncse-12351Accept: application/xml
HTTP Response:
200 OK
X-M2M-RSC: 2000
X-M2M-RI: mncse-12351
Content-Type: application/xml
3
cnt-582759912
/mn-cse/ae-CAE340304071
20150925T052955
20150925T052955
20171005T105550
/mn-cse/acp-805496226
0
1
3
Annex A.7.2 Container under ADN-AE2
HTTP Request:
GET /~/mn-cse/home_gateway/light_ae2/light HTTP/1.1Host: http://mn.provider.com:8080X-M2M-Origin: /mn-cse/Cgateway_ae
X-M2M-RI: mncse-12352Accept: application/xml
HTTP Response:
200 OK
X-M2M-RSC: 2000
X-M2M-RI: mncse-12352
Content-Type: application/xml
3
cnt-582769893
/mn-cse/ae-CAE340304042
20150925T053135
20150925T053135
20171005T105550
/mn-cse/acp-805496226
0
1
3
Annex A.8 ContentInstances
Annex A.8.1 Latest contentInstance in ADN-AE1
HTTP Request:
GET /~/mn-cse/home_gateway/light_ae1/light/la HTTP/1.1Host: http://mn.provider.com:8080X-M2M-Origin: /mn-cse/Cgateway_ae
X-M2M-RI: mncse-12353Accept: application/xml
HTTP Response:
200 OK
X-M2M-RSC: 2000
X-M2M-RI: mncse-12353
Content-Type: application/xml
4
cin-394798749
/mn-cse/cnt-582759912
20150925T053225
20150925T053225
20171005T105550
0
text/plain:0
2
ON
Annex A.8.2 Latest contentInstance in ADN-AE2
HTTP Request:
GET /~/mn-cse/home_gateway/light_ae2/light/la HTTP/1.1Host: http://mn.provider.com:8080X-M2M-Origin: /mn-cse/Cgateway_ae
X-M2M-RI: mncse-12354Accept: application/xml
HTTP Response:
200 OK
X-M2M-RSC: 2000
X-M2M-RI: mncse-12354
Content-Type: application/xml
4
cin-256599578
/mn-cse/cnt-582769893
20150925T053425
20150925T053425
20171005T105550
0
text/plain:0
2
ON
Annex A.9 Subscriptions
Annex A.9.1 Subscription to container in ADN-AE1
HTTP Request:
GET /~/mn-cse/home_gateway/light_ae1/light/lightstate_sub1 HTTP/1.1Host: http://mn.provider.com:8080X-M2M-Origin: /mn-cse/Cgateway_ae
X-M2M-RI: mncse-12355Accept: application/xml
HTTP Response:
200 OK
X-M2M-RSC: 2000
X-M2M-RI: mncse-12355
Content-Type: application/xml
23
sub-856593979
/mn-cse/cnt-582759912
20150926T052955
20150926T052955
20171005T105550
/mn-cse/acp-805496226
3
/mn-cse/ae-CAE340304071
1
Annex A.9.2 Subscription to container in ADN-AE2
HTTP Request:
GET /~/mn-cse/home_gateway/light_ae2/light/lightstate_sub2 HTTP/1.1Host: http://mn.provider.com:8080X-M2M-Origin: /mn-cse/Cgateway_ae
X-M2M-RI: mncse-12356Accept: application/xml
HTTP Response:
200 OK
X-M2M-RSC: 2000
X-M2M-RI: mncse-12356
Content-Type: application/xml
23
sub-856463728
/mn-cse/cnt-582759912
20150926T053055
20150926T053055
20171005T105550
/mn-cse/acp-805496226
3
/mn-cse/ae-CAE340304042
1
Annex A.10 Groups
Annex A.10.1 Group1
HTTP Request:
GET /~/mn-cse/home_gateway/gateway_ae/containers_grp HTTP/1.1Host: http://mn.provider.com:8080X-M2M-Origin: /in-cse/Csmartphone_ae
X-M2M-RI: mncse-12357Accept: application/xml
HTTP Response:
200 OK
X-M2M-RSC: 2000
X-M2M-RI: mncse-12357
Content-Type: application/xml
9
grp-977978327
/mn-cse/ae-CAE340303271
20151004T045954
20151004T045954
20171005T105550
/mn-cse/acp-805496226 /mn-cse/acp-805496226
3
2
10
/mn-cse/cnt-582759912 /mn-cse/cnt-582769893
true
1
/mn-cse/grp-977978327/fopt
History
Publication history
Draft history (to be removed on publication)V.2.0.0 Fev 2017Initial release 2 version based on TR-0025 V1.2.0
Implemented the agreed contribution from TST#27
- TST-2017-0052-TR-0025_update
TR-0025-Application developer guide
oneM2M Partners Type 1 (ARIB, ATIS, CCSA, ETSI, TIA, TSDSI, TTA, TTC) Page PAGE \* MERGEFORMAT 42 of NUMPAGES \* MERGEFORMAT 52
This is a draft oneM2M document and should not be relied upon; the final version, if any, will be made available by oneM2M Partners Type 1.
" # 3 ˷|bH9$ (h