Sorry, you need to enable JavaScript to visit this website.

Feedback

Your feedback is important to keep improving our website and offer you a more reliable experience.

CPClient

The CPClient is a middleware component that provides support for wireless provisioning of application and connection settings and exposes d-Bus APIs. It implements the OMA Client Provisioning (CP) protocol controlling application and connection settings. It works with Provman, which directly modifies application and connection settings.

The CPClient allows multiple OMA DM accounts to be provisioned.

 

The only restriction on the provisioning of OMA DM accounts is that it is not possible to specify that a given connection or proxy should be used to access the OMA DM server. All connectoid references within an OMA DM application characteristic are ignored.

Each OMA DM characteristic defines a separate OMA DM account. The supported settings are specified in the table below.

OMA CP Parameter Occurrence Description Permissible Values
Supported OMA DM Parameters
APPLICATION/APPID 1 Identifies the application characteristic as an OMA DM account w7
APPLICATION/NAME 0 or 1 Contains the user readable name of OMA DM server A string
APPLICATION/PROVIDER-ID 1 ID of the OMA DM Server A string
APPLICATION/INIT 0 or 1 Indicates that the CPClient should automatically initiate a session with the DM server being provisioned N/A
APPLICATION/ADDR 0 or 1 Contains the address of the OMA DM server. This parameter is used if the client should connect to the server using the default port number A string
APPLICATION/APPADDR 0 or 1 Characteristic for specifying the server address  
APPLICATION/APPADDR/ADDR 1 Contains the address of the OMA DM server. This parameter should be used when explicitly specifying the port number. A w7 APPLICATION characteristic should not include both APPLICATION/ADDR and APPLICATION/APPADDR/ADDR A string
APPLICATION/APPADDR/PORT 0 or 1 The port number of the OMA DM server An integer
APPLICATION/APPAUTH 0 or more Characteristic for specifying the login credentials  
APPLICATION/APPAUTH/AAUTHLEVEL 0 or 1 Determines what the credentials in the characteristic should be used for APPSRV (The credentials the client should use when authenticating with the server) or CLIENT (The credentials the server should use when authenticating with the client). Note that if this parameter is omitted, then the APPAUTH characteristic contains client authentication details for HTTP.
APPLICATION/APPAUTH/AAUTHTYPE 1 Identifies the type of authentication being used HTTP-BASIC, HTTP-DIGEST, BASIC, DIGEST, X509, SECUREID, SAFEWORD, DIGIPASS
APPLICATION/APPAUTH/AAUTHNAME 0 or 1 The user name A string
APPLICATION/APPAUTH/AAUTHSECRET 0 or 1 The password A string
APPLICATION/APPAUTH/AAUTHDATA 0 or 1 The nonce A base 64 encoded binary value

Note that OMA DM APPLICATION characteristics must contain a server address. If a server address is not supplied by APPLICATION/ADRR or APPLICATION/APPADDR/ADDR, the characteristic is deemed to be invalid.

An example of an OMA CP document that provisions an OMA DM account is shown below.

<?xml version="1.0"?>
<!DOCTYPE wap-provisioningdoc PUBLIC "-//WAPFORUM//DTD PROV 1.0//EN"
"http://www.wapforum.org/DTD/prov.dtd">
<wap-provisioningdoc version="1.0">

  <characteristic type="APPLICATION">
    <parm name="APPID" value="w7"/>
    <parm name="PROVIDER-ID" value="dmserver"/>
    <parm name="NAME" value="DM Server"/>

    <characteristic type="APPADDR">
      <parm name="ADDR" value="http://127.0.0.1/dm"/>
      <characteristic type="PORT">
        <parm name="PORTNBR" value="8080"/>
      </characteristic>
    </characteristic>

    <characteristic type="APPAUTH">
      <parm name="AAUTHTYPE" value="DIGEST"/>
      <parm name="AAUTHLEVEL" value="APPSRV"/>
      <parm name="AAUTHNAME" value="username"/>
      <parm name="AAUTHSECRET" value="password"/>
    </characteristic>

    <characteristic type="APPAUTH">
      <parm name="AAUTHTYPE" value="DIGEST"/>
      <parm name="AAUTHLEVEL" value="CLIENT"/>
      <parm name="AAUTHNAME" value="username"/>
      <parm name="AAUTHSECRET" value="password"/>
    </characteristic>
  </characteristic>

</wap-provisioningdoc>

It is converted into the following Provman keys by the CPClient.

/applications/omadm/dmserver/name = DM Server
/applications/omadm/dmserver/server_id = dmserver
/applications/omadm/dmserver/url = http://127.0.0.1/dm:8080
/applications/omadm/dmserver/client_creds/authtype = digest
/applications/omadm/dmserver/client_creds/password = password
/applications/omadm/dmserver/client_creds/username = username
/applications/omadm/dmserver/server_creds/authtype = digest
/applications/omadm/dmserver/server_creds/password = password
/applications/omadm/dmserver/server_creds/username = username

Provman allows device management clients to associate meta data with its settings. The CPClient only does this in one instance; when it processes an OMA CP document that contains one or more valid OMA DM accounts. In such cases, the CPClient generates one meta data key for each account, each group of connection settings (including MMS) and for browser settings provisioned in the same document. No meta data keys are generated for existing accounts, created either by the user or provisioned in other documents. The meta data key is called "ACL" and is associated with the root key of accounts and connection settings, or the root key of the browser settings. e.g., /applications/omadm/dmserver and /telephony/contexts/3gcontext. The value of the ACL meta data property is OMA DM specific. It grants all the DM servers provisioned in the OMA CP document rights to modify any of the accounts, telephony settings or browser bookmarks provisioned in the document. For example, the following meta data property is created by the CPClient for the OMA CP document presented above. Note this restriction is not imposed by Provman. It needs to be enforced by an OMA DM client that uses provman to provision settings.

Key Meta data Property Name Value
/applications/omadm/dmserver ACL Add=dmserver&Delete=dmserver&Replace=dmserver&Get=dmserver

Finally, when the CPClient processes an OMA CP document, it maintains a list of all the DM accounts provisioned in that document that contain the INIT parameter. This list is made available via the d-Bus API to the platform specific CPClient, i.e., the process that implements the UI and registers to receive the OMA CP WAP Push messages. This platform specific client should initiate a session with all the DM servers whose ids appear in this list, as soon as the message has been successfully provisioned. Obviously, it can only do this if the device contains a DM Client.

Project: