OpenMobileAlliance / OMA_LwM2M_for_Developers

OMA LightweightM2M public resources.
http://openmobilealliance.github.io/OMA_LwM2M_for_Developers/
Other
239 stars 52 forks source link

LwM2M - BinaryAppDataContainer ambiguity/error #549

Open davidahoward opened 2 years ago

davidahoward commented 2 years ago

Lightweight M2M – Binary App Data Container Approved Version 1.0.1 – 21 Feb 2019 OMA-TS-LWM2M_BinaryAppDataContainer-V1_0_1-20190221-A https://www.openmobilealliance.org/release/LwM2M_APPDATA/

There are several differences between the definition of Object 19 Resource 0 and the diagrams in the document. /19 is defined a multiple object instances, AND multiple resource instances.

So the format of the URI is /\<Object ID>/\<Instance ID>/\<Resource ID>/\<Instance ID>, but the figures show it without the resource instance designation e.g. /19/X/0 rather than /19/X/0/Y, where X is the object instance and Y is the resource instance.

This has led to implementation interoperability problems between various clients and servers.

From: OMA-TS-LWM2M_BinaryAppDataContainer-V1_0_1-20190221-A

5.2 LwM2M Client Reports Application Data

Figure 2: LwM2M Client Reports Application Data 1 Observe /19/X/0 token=12xxx 4 Notify /19/X/0 token=12xxx content

this needs to be clarified. Is the server trying to observe all resource instances? Is the client trying to notify multiple instances?

If not, this should be /19/X/0/Y

Step 1: The LwM2M Server sends the Observe request to LwM2M Client by instant X of Object 19. The instant number is specified in section 6.

this needs to be clarified. Is the server trying to observe all resource instances?

5.3 LwM2M Server Sends Application Data

Figure 3: LwM2M Server Sends the Application Data 2 Write /19/X/0 token=13XXX

this needs to be clarified. Is the server trying to send multiple instances?

if not, this should be /19/X/0/Y

6. LwM2M Object: Application Data Container ID Name Operations Instances 0 Data RW Multiple

Additionally, the lwm2m-registry also defines the object and resource as multiple instances https://github.com/OpenMobileAlliance/lwm2m-registry/blob/prod/19.xml

davidahoward commented 2 years ago

The specific problem I am seeing is that the server does a read, or observe to object \/19/X/0 (which is defined as a multi instance resource) and the client Notify response is in single instance format, and the server says it is expecting multi instance.

davidahoward commented 2 years ago

The figures are technically correct - but i know people have interpreted them incorrectly --- so clarification around multiple instance resources is what I am looking for. The figures would also be correct (and less open to interpretation) if the explicitly indicated the resource instance e.g. /19/X/0/Y. Where X is the object instance, and Y is the resource instance.

hannestschofenig commented 1 year ago

Mojan suggested to reference the CORE specification for the observation case. For the write case Mojan suggests a clarification and to double-check the CORE spec. Maybe also add information about what the example is trying to show.

mkgillmore commented 1 month ago

@davidahoward Is this resolved?