Presentation is loading. Please wait.

Presentation is loading. Please wait.

Protocol Issues related to Plugtest Group Name: TST Source: Wolfgang Granzow, Qualcomm Inc., Meeting Date: 2015-09-07 Agenda.

Similar presentations


Presentation on theme: "Protocol Issues related to Plugtest Group Name: TST Source: Wolfgang Granzow, Qualcomm Inc., Meeting Date: 2015-09-07 Agenda."— Presentation transcript:

1 Protocol Issues related to Plugtest Group Name: TST Source: Wolfgang Granzow, Qualcomm Inc., wgranzow@qti.qualcomm.com Meeting Date: 2015-09-07 Agenda Item: Joint meeting TST and PRO WGs

2 Objective The purpose of this contribution is to point potential issues to be resolved prior to the Interoperation Event – Presence and format of primitive parameters and their mapping to binding protocol parameters – Parameters most likely causing trouble: To parameter and URI of the request-target Content parameter XML & JSON issues © 2014 oneM2M Partners TST-2015-0197 2

3 Presence of primitive parameters For interop test – Mandatory parameters (M) SHALL be present – Unpermitted parameters (NP) SHALL NOT be present – Optional parameters (O) MAY be present, these may or may not be supported by an entity under test Participating parties should declare which optional parameters are supported Presence of an unsupported optional parameter in a message may be ignored by a receiver and preferably not cause just an error response © 2014 oneM2M Partners TST-2015-0197 3

4 Presence of Primitive Parameters © 2014 oneM2M Partners TST-2015-0197 4 Primitive ParameterCREATERETRIEVEUPDATEDELETENOTIFY OperationMMMMM ToMMMMM FromMMMMM Request IdentifierMMMMM Resource TypeMNP NameONP ContentMO *MNPM RoleOOOOO Originating TimestampOOOOO Request Expiration TimestampOOOOO Result Expiration TimeOOOOO Operation Execution TimeOOOOO Response TypeOOOOO Result PersistenceOOOONP Result ContentOOOONP Event CategoryOOOOO Delivery AggregationOOOOO Group Request IdentifierOOOOO Filter CriteriaNPOOO Discovery Result TypeNPO See slide

5 Presence of Primitive Parameters © 2014 oneM2M Partners TST-2015-0197 5 Primitive parameterAckCREATE Success RETRIEVE Success UPDATE Success DELETE Success NOTIFY Success Error Response Status CodeMMMMMMM Request IdentifierMMMMMMM ContentOOMOOOO ToOOOOOOO FromOOOOOOO Originating TimestampOOOOOOO Result Expiration Timestamp OOOOOOO Event CategoryOOOOOOO

6 To Primitive Parameter vs. URI 6 formats of the To primitive parameter at both transmitter and receiver: – CSE-relative: CSE-ID not present Structured: first segment of the path is resourceName of resource Unstructured: one and only segment is the resourceID of the addressed resource – M2M-SP-relative: first segment of the path is the SP-relative CSE-ID Structured: the segments following the first segment include the structured CSE-relative path Unstructured: the segment following the first segment includes the resourceID of the addressed resource – Absolute: starting with //{M2M-SP-ID}/{CSE-ID} Structured: the segments following the above pattern include the structured CSE-relative path Unstructured: the segment following the above pattern includes the resourceID © 2014 oneM2M Partners TST-2015-0197 6

7 Proposed mapping between To parameter and path component of request-line Two mappings for each of the 6 resource ID cases – origin-form: when making request to an “origin server”, origin server is the registrar CSE of the originator of the request Host header includes the fqdn (or ip address) of the originator’s registrar CSE – absolute-form: when making a request to a HTTP proxy, HTTP proxy sits between the originator of the request and the registrar CSE Host header includes the fqdn (or ip address) of the HTTP proxy HTTP proxy uses the host address (authority part) of the absolute-form request target to identify the registrar CSE Resource-ID TypeTo parameter valuepath component structured CSE- Relative CSEBase/ae12/cont27/contInst696/CSEBase/ae12/cont27/contInst696 http://{registrarCSEAddress}/CSEBase/ae12/cont27/contInst696/ unstructured CSE-Relative cin00856/cin00856 http://CSE1host.mym2msp.org/cin00856 structured SP- Relative /CSE178/CSEBase/ae12/cont27/contInst696/_/CSE178/CSEBase/ae12/cont27/contInst696 http://{registrarCSEAddress}/_/CSE178/CSEBase/ae12/cont27/co ntInst696 unstructured SP- Relative /CSE178/cin00856/_/CSE178/cin00856 http://{registrarCSEAddress}/_/CSE178/cin00856 structured Absolute //CSE178host.yourm2msp.org/CSE178/CSEBase/ ae12/cont27/contInst696 /_/_/CSE178host.yourm2msp.org/CSE178/CSEBase/ ae12/cont27/contInst696 http://{registrarCSEAddress}/_/_/CSE178host.yourm2msp.org/CS E178/CSEBase/ ae12/cont27/contInst696 unstructured Absolute //CSE178host.yourm2msp.org/CSE178/cin00856/_/_/CSE178host.yourm2msp.org/CSE178/cin00856 http://{registrarCSEAddress}/_/_/CSE178host.mym2msp.org/CSE 178/cin00856 © 2014 oneM2M Partners PRO-2015-0914 7

8 Proposed mapping between To parameter and path component of request-line Proposal for interop test – CSE-relative ID SHALL be supported – SP-relative ID MAY be supported – Absolute ID not tested – No test of “absolute-form” of request target (applicable to proxies only) Resource-ID Type To parameter valueHTTP path component structured CSE-Relative CSEBase/ae12/cont27/contInst696/CSEBase/ae12/cont27/contInst696 unstructured CSE-Relative cin00856/cin00856 structured SP- Relative /CSE178/CSEBase/ae12/cont27/contInst696/_/CSE178/CSEBase/ae12/cont27/contInst696 unstructured SP-Relative /CSE178/cin00856/_/CSE178/cin00856 structured Absolute //CSE178host.yourm2msp.org/CSE178/CSEBase/ ae12/cont27/contInst696 /_/_/CSE178host.yourm2msp.org/CSE178/CSEBase/ ae12/cont27/contInst696 unstructured Absolute //CSE178host.yourm2msp.org/CSE178/cin00856/_/_/CSE178host.yourm2msp.org/CSE178/cin00856 © 2014 oneM2M Partners PRO-2015-0914 8

9 Format of Content parameter Content primitive parameter is mapped to/from HTTP/CoAP body/payload – Representations in Request primitives: Proposal to either replace m2m:attributeList with m2m: or to include multiple attributes into fragment #attr1+attr2+… © 2014 oneM2M Partners TST-2015-0197 9 Element NameApplicable Operations Data TypeDefined in m2m: C CDT- -v1_0_0.xsd m2m:notificationN CDT-notification-v1_0_0.xsd m2m:aggregatedNotificationN CDT-notification-v1_0_0.xsd m2m:attributeListR Um2m:attributeList * CDT-requestPrimitive-v1_0_0.xsd m2m:responsePrimitiveN CDT-responsePrimitive- v1_0_0.xsd * Under reconsideration in PRO WG

10 Partial Retrieve Request Partial retrieve request has Content Retrieve request is mapped to GET request in HTTP and CoAP binding – HTTP binding presently allows Content mapped into the HTTP body or CoAP payload using data type m2m:attributeList – HTTP GET request with body is very uncommon (although not strictly forbidden) – PRO WG is considering to include the attributes to be retrieved into the fragment part of Request-Target /path?query#attr1+attr2+attr3 +… © 2014 oneM2M Partners PRO-2015-0914 10

11 Format of Content parameter Content primitive parameter in response primitive © 2014 oneM2M Partners TST-2015-0197 11 Result Content Parameter value Applicable Operations Primitive Content Not Present CRUDN& Discovery Defaults: CUD: 1 “Attributes” R, Discovery: m2m:URIList N: defined by 0 “Nothing”CUDnot present 1 “Attributes” (w/o Child Resource Refs)CRUDm2m: 2 “Hierarchical Address”Craw data Note 1 3 “Hierarchical Address + AttributesCm2m:resource Note 2 4 “Attributes + Child Resources”Rm2m: 5 “Attributes + Child Resource References”Rm2m: 6 “Child Resource References”Rm2m: 7 “Original Resource” Note 3Rm2m: see Notes on next page

12 Format of Content parameter Content primitive parameter in response primitive: Note 1: considered in PRO WG to be replaced by data type m2m:URI This also applies to the response (“ack”) to non-blocking requests in asynchronous mode for any CRUD operation Note 2: current definition of m2m:resource needs to be revised Note 3: retrieves the original resource in case the To parameter points to an announced resource – Other applicable formats: m2m:aggregatedResponse This applies to CRUD operations on a child resource of a parent resource. The Content parameter of each response primitive included in aggregatedResponse is set as given in one of the other rows of this table raw data (not finally agreed in PRO WG ) This could be included e.g. as debugging information into error responses © 2014 oneM2M Partners TST-2015-0197 12

13 Content examples (XML) m2m:, example resource (long names): 2 ae1 cb1 20150905T161616 20150905T161616 acp1 20150905T161616 testApplication NtestApp01 CAE01 192.168.194.14 true cnt1

14 Content examples (XML) m2m:, example resource (short names): 2 ae1 cb1 20150905T161616 20150905T161616 acp1 20150905T161616 testApplication NtestApp01 CAE01 192.168.194.14 true cnt1

15 Content examples (XML) m2m:, example resource (short names): 2 ae1 cb1 20150905T161616 20150905T161616 acp1 20150905T161616 testApplication NtestApp01 CAE01 192.168.194.14 true cnt1 Could be removed Presence of any attribute optional!

16 Content examples (JSON) m2m:, example resource (short names): { “rn”: "TestAE“, “ty”: 2, “ri”: “ae1”, “pi”: “cb1”, “ct”: “20150905T161616”, “lt”: “20150905T161616”, “acpi”: “acp1”, “et”: “20150905T161616”, “apn”: ”testApplication”, “api”: “NtestApp01”, “aei>”: “CAE01”, “poa”: “192.168.194.14”, “rr”: true, [“ch”: { “nm”: "TestContainer1" “typ”:"3“, “val”: “cnt1” } ] } Currently “root Element” m2m:ae omitted in JSON

17 Content examples m2m:uril (m2m:URIList) – XML: /abc/def/xyz /92y6/hhhhh/nnn /CSE27/room25/temperature – JSON: {“m2m:uril”: [“/abc/def/xyz”, “/92y6/hhhhh/nnn”, “/CSE27/room25/temperature”]} with or without namespace m2m: ?

18 Content examples (XML) m2m:resource, example resource (short names): 2 ae1 … testApplication NtestApp01 CAE01 192.168.194.14 true cnt1 /abc/def/xyz /92y6/hhhhh/nnn /CSE27/room25/temperature

19 Content examples (XML) m2m:attributeList (long names): resourceID cb1 resourceName CSEBase1

20 CoAP Reintroduced numeric values for oneM2M defined media types (marked now as subject to change) – Revision in PRO-2015-0945R02 © 2014 oneM2M Partners TST-2015-0197 20


Download ppt "Protocol Issues related to Plugtest Group Name: TST Source: Wolfgang Granzow, Qualcomm Inc., Meeting Date: 2015-09-07 Agenda."

Similar presentations


Ads by Google