Download presentation
Presentation is loading. Please wait.
Published byLucas Blankenship Modified over 8 years ago
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 the initial version of this contribution was to point out potential issues to be resolved prior to the Interoperation Event taking place Sept. 14 – 16 at ETSI – 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 This version of this slide deck has been updated with the aim to capture all relevant agreements taken at PRO#19 – This slide deck has however NOT been reviewed by PRO or TST WG – Agreed versions of quoted CRs shall serve as definitive reference © 2014 oneM2M Partners TST-2015-0197R01 2
3
Presence of primitive parameters Recommendation for the Interop Test Event Sept. 14-16: – 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 optional parameter in a request which is not supported by the system under test should be ignored by the receiver and preferably not trigger an error response In future test events however, all applicable optional primitive parameters should be supported and tested © 2014 oneM2M Partners TST-2015-0197R01 3
4
Presence of Primitive Parameters © 2014 oneM2M Partners TST-2015-0197R01 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 11
5
Presence of Primitive Parameters © 2014 oneM2M Partners TST-2015-0197R01 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-0197R01 6
7
Mapping between To parameter and HTTP path component of request-line (see PRO-2015-0914R01) 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/CSE 178/CSEBase/ ae12/cont27/contInst696 unstructured Absolute //CSE178host.yourm2msp.org/CSE178/cin00856/_/CSE178host.yourm2msp.org/CSE178/cin00856 http://{registrarCSEAddress}/_/CSE178host.yourm2msp.org/CSE 178/cin00856 © 2014 oneM2M Partners PRO-2015-0914 7
8
Revised Mapping between To parameter and HTTP path component of request-line agreed at PRO#19 (PRO-2015-0914R01) Proposal for Sept. 14-16 interop test: – CSE-relative ID SHALL be supported – SP-relative ID SHALL be supported for single and multihop – 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 TST-2015-0197R01 8
9
CoAP URI path If the To parameter contains CSE-relative format: – To parameter shall be mapped to URI-Path Option(s) If the To parameter contains SP-relative format: – first URI-Path Option shall contain the “~” character – leading “/” character shall be stripped off the To parameter – remaining part shall be mapped into next URI-Path Option(s) If the To parameter contains Absolute format: – first URI-Path Option shall contain the “_” character – leading “//” characters shall be stripped off the To parameter – remaining part shall be mapped into next URI-Path Option(s) © 2014 oneM2M Partners TST-2015-0197R01 9
10
Format of Content parameter Content primitive parameter is mapped to/from HTTP/CoAP body/payload – the applicable data type of the Content parameter of Request primitives depends on the Operation as shown in the table below: © 2014 oneM2M Partners TST-2015-0197R01 10 Element NameApplicable Operations Data TypeDefined in m2m: C, Um2m: CDT- -v1_0_0.xsd m2m:notificationN CDT-notification-v1_0_0.xsd m2m:aggregatedNotificationN CDT-notification-v1_0_0.xsd m2m:attributeListRm2m:attributeList * CDT-requestPrimitive-v1_0_0.xsd m2m:responsePrimitiveN CDT-responsePrimitive- v1_0_0.xsd * Data type has been re-defined at PRO@19 Now applicable to Retrieve requests only, see slides 11 and 19
11
Partial Retrieve Request Content parameter of partial Retrieve request includes list of attributes to be retrieved – employs data type m2m:attributeList (which was revised at PRO#19, see PRO-2015-0946R03) Retrieve request is mapped to GET request in HTTP and CoAP binding – Previous version of TS-0009 defined a mapping where the list of attributes in the Content parameter was mapped into fragment part of the request-line. – This was revised at PRO#19 (see PRO-2015-0964R01) The attribute list is mapped now into the query string, using short names for attribute list element (atrl) and the resource attributes Example: /CSEBase/ae12/cont27/contInst696?rcn=1&atrl=ri+lbl+rr © 2014 oneM2M Partners TST-2015-0197R01 11
12
Format of Content parameter Content primitive parameter in response primitive: © 2014 oneM2M Partners TST-2015-0197R01 12 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”Cm2m:URI 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
13
Format of Content parameter (see PRO-2015-0946R03) Content primitive parameter in response primitive: Note 1: has been changed from “raw data” to data type m2m:URI This also applies to the response (“ack”) to non-blocking requests in asynchronous mode for any CRUD operation Note 2: definition of m2m:resource has been 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 – could be used to include e.g. debugging information into error responses © 2014 oneM2M Partners TST-2015-0197R01 13
14
Content examples (XML) m2m:, example resource (long names): 2 ae1 cb1 20150905T161616 20150905T161616 acp1 20150905T161616 testApplication NtestApp01 CAE01 192.168.194.14 true cnt1 Note: representations with short names shall be transmitted over Mcc and Mca reference points. Long names may be used internally in an entity © 2014 oneM2M Partners TST-2015-0197R01 14
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 Presence of any Attributes and child resource references optional ! © 2014 oneM2M Partners PRO-2015-0914 15
16
Content examples (JSON) m2m:, example resource (short names): {”m2m:ae”: { “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” } ] } } At PRO#19 it has been agreed to add a “root member”, in this example “m2m:ae”, to JSON serialized representations, see PRO-2015-0915R04 © 2014 oneM2M Partners TST-2015-0197R01 16
17
Content examples m2m:uril (m2m:URIList), used in response to Discovery – XML: /abc/def/xyz /92y6/hhhhh/nnn /CSE27/room25/temperature – JSON: {“m2m:uril”: [“/abc/def/xyz”, “/92y6/hhhhh/nnn”, “/CSE27/room25/temperature”]} © 2014 oneM2M Partners TST-2015-0197R01 17
18
Content examples (XML) m2m:resource, example resource (short names) – Data type m2m:resourceWrapper revised at PRO#19, see PRO-2015-0946R03 2 ae1 … testApplication NtestApp01 CAE01 192.168.194.14 true /CSE27/CSEBase1 This data type applies to the Content parameter of the response to Create requests with resultContent parameter rcn = 3, see slide 12 Attributes & Hierarchical Address © 2014 oneM2M Partners TST-2015-0197R01 18
19
Content examples (XML) OLD format m2m:attributeList formerly used in Retrieve request (long names): resourceID resourceName NEW format m2m:attributeList, applicable to Retrieve Request only, therefore no values required any more in this data type (shown in this example with long names): attributeName1 attributeName2 resourceID requestReachability © 2014 oneM2M Partners TST-2015-0197R01 19
20
Content examples (XML) OLD format m2m:attributeList used in Update request (example w. long names): pointOfAccess 192.168.194.14 requestReachability true NEW format m2m:<resourceType, in this example m2m:AE (example w. long names): 192.168.194.14 true © 2014 oneM2M Partners TST-2015-0197R01 20
21
Disclaimer Note: The XML & JSON examples shown in this presentation have been edited manually and may still contain minor typos. The examples should be confirmed or may be subject to change as one of the results of the Interop Test Event. Thank you © 2014 oneM2M Partners TST-2015-0197R01 21
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.