--- title: OMA DM protocol support description: See how the OMA DM client communicates with the server over HTTPS and uses DM Sync (OMA DM v1.2) as the message payload. ms.assetid: e882aaae-447e-4bd4-9275-463824da4fa0 ms.reviewer: manager: dansimp ms.author: dansimp ms.topic: article ms.prod: w10 ms.technology: windows author: manikadhiman ms.date: 06/26/2017 --- # OMA DM protocol support The OMA DM client communicates with the server over HTTPS and uses DM Sync (OMA DM v1.2) as the message payload. This topic describes the OMA DM functionality that the DM client supports in general. The full description of the OMA DM protocol v1.2 can be found at the [OMA website](https://www.openmobilealliance.org/release/DM/V1_2-20070209-A/OMA-TS-DM_Protocol-V1_2-20070209-A.pdf). ## In this topic - [OMA DM standards](#oma-dm-standards) - [OMA DM protocol common elements](#protocol-common-elements) - [Device management session](#device-management-session) - [User targeted vs. Device targeted configuration](#user-targeted-vs-device-targeted-configuration) - [SyncML response codes](#syncml-response-codes) ## OMA DM standards The following table shows the OMA DM standards that Windows uses.
General area | OMA DM standard that is supported |
---|---|
Data transport and session |
|
Bootstrap XML |
|
DM protocol commands |
The following list shows the commands that are used by the device. For further information about the OMA DM command elements, see "SyncML Representation Protocol Device Management Usage (OMA-SyncML-DMRepPro-V1_1_2-20030613-A)" available from the OMA website.
If an XML element that is not a valid OMA DM command is under one of the following elements, the status code 400 is returned for that element:
If no CmdID is provided in the DM command, the client returns blank in the status element and the status code 400. If Atomic elements are nested, the following status codes are returned:
For more information about the Atomic command, see OMA DM protocol common elements. Performing an Add command followed by Replace on the same node within an Atomic element is not supported. LocURI cannot start with "/". Meta XML tag in SyncHdr is ignored by the device. |
OMA DM standard objects |
|
Security |
|
Nodes |
In the OMA DM tree, the following rules apply for the node name:
|
Provisioning Files |
Provisioning XML must be well formed and follow the definition in SyncML Representation Protocol specification. If an XML element that is not a valid OMA DM command is under SyncBody, the status code 400 is returned for that element.
Note
To represent a Unicode string as a URI, first encode the string as UTF-8. Then encode each of the UTF-8 bytes using URI encoding. |
WBXML support |
Windows supports sending and receiving SyncML in both XML format and encoded WBXML format. This is configurable by using the DEFAULTENCODING node under the w7 APPLICATION characteristic during enrollment. For more information about WBXML encoding, see section 8 of the SyncML Representation Protocol specification. |
Handling of large objects |
In Windows 10, version 1511, client support for uploading large objects to the server was added. |
Element | Description |
---|---|
Chal |
Specifies an authentication challenge. The server or client can send a challenge to the other if no credentials or inadequate credentials were given in the original request message. |
Cmd |
Specifies the name of an OMA DM command referenced in a Status element. |
CmdID |
Specifies the unique identifier for an OMA DM command. |
CmdRef |
Specifies the ID of the command for which status or results information is being returned. This element takes the value of the CmdID element of the corresponding request message. |
Cred |
Specifies the authentication credential for the originator of the message. |
Final |
Indicates that the current message is the last message in the package. |
LocName |
Specifies the display name in the Target and Source elements, used for sending a user ID for MD5 authentication. |
LocURI |
Specifies the address of the target or source location. If the address contains a non-alphanumeric character, it must be properly escaped according to the URL encoding standard. |
MsgID |
Specifies a unique identifier for an OMA DM session message. |
MsgRef |
Specifies the ID of the corresponding request message. This element takes the value of the request message MsgID element. |
RespURI |
Specifies the URI that the recipient must use when sending a response to this message. |
SessionID |
Specifies the identifier of the OMA DM session associated with the containing message.
Note If the server does not notify the device that it supports a new version (through SyncApplicationVersion node in the DMClient CSP), the desktop client returns the SessionID in integer in decimal format and the mobile device client returns 2 bytes as a string. If the server supports DM session sync version 2.0, which is used in Windows 10, the desktop and mobile device client returns 2 bytes.
|
Source |
Specifies the message source address. |
SourceRef |
Specifies the source of the corresponding request message. This element takes the value of the request message Source element and is returned in the Status or Results element. |
Target |
Specifies the address of the node, in the DM Tree, that is the target of the OMA DM command. |
TargetRef |
Specifies the target address in the corresponding request message. This element takes the value of the request message Target element and is returned in the Status or Results element. |
VerDTD |
Specifies the major and minor version identifier of the OMA DM representation protocol specification used to represent the message. |
VerProto |
Specifies the major and minor version identifier of the OMA DM protocol specification used with the message. |
Step | Action | Description |
---|---|---|
1 |
DM client is invoked to call back to the management server Enterprise scenario – The device task schedule invokes the DM client. |
The MO server sends a server trigger message to invoke the DM client. The trigger message includes the server ID and tells the client device to initiate a session with the server. The client device authenticates the trigger message and verifies that the server is authorized to communicate with it. Enterprise scenario - At the scheduled time, the DM client is invoked periodically to call back to the enterprise management server over HTTPS. |
2 |
The device sends a message, over an IP connection, to initiate the session. |
This message includes device information and credentials. The client and server do mutual authentication over an SSL channel or at the DM application level. |
3 |
The DM server responds, over an IP connection (HTTPS). |
The server sends initial device management commands, if any. |
4 |
The device responds to server management commands. |
This message includes the results of performing the specified device management operations. |
5 |
The DM server terminates the session or sends another command. |
The DM session ends, or Step 4 is repeated. |