Home Device Manager Data Source API Reference Guide · Home Device Manager Data Source API Reference Guide ... Home Device Manager Data Source API Reference ... of the products for
Post on 08-May-2018
274 Views
Preview:
Transcript
Home Device Manager DataSource API Reference Guide
Version 3.0.0
Home Device Manager Data Source API Reference Guide 3.0June 2009Copyright © 2005–2009 Alcatel-Lucent [http://www.alcatel-lucent.com]. All rights reserved.
Important Notice to Users
No part of this document may be reproduced or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, orotherwise, without the express permission of Motive, Inc. (“Motive”) and/or Alcatel-Lucent. This document and the related software may only beused pursuant to a Software License Agreement or other similar written agreement in place between you and either Motive or Alcatel-Lucent.Furthermore, Motive and Alcatel-Lucent expressly disclaim any and all warranties regarding the information contained in, and the products andsystems described in, this document, whether express, implied, or statutory, including without limitation implied warranties of merchantability orfitness for a particular purpose. Furthermore, this document is subject to change without notice.
There may exist in this document references to using this product and the systems described herein in connection with products and/or systemsowned by third parties. Please note that this information is provided as a courtesy to assist you. Such references are not intended to imply thegranting of a license to use such products and/or systems. Such licenses shall result only from separately executed agreements between you andthe owner of such products and/or systems. Neither Motive nor Alcatel-Lucent assume any responsibility or liability for incorrect or incompleteinformation provided about such third-party products.
Motive, the Motive logo, and any Motive product names contained herein are trademarks or registered trademarks of Motive, Inc. Alcatel-Lucentand the Alcatel-Lucent logo are registered trademarks of Alcatel-Lucent. All other company and product names mentioned herein are the trademarksor service marks of their respective owners.
The products and systems described herein may be covered by the various patents that have been issued to Motive and/or Alcatel-Lucent.
Disclaimers
This product is intended for commercial uses. Without the prior written consent of either Motive or Alcatel-Lucent it must not be used, sold, licensedor otherwise distributed for use in any hazardous environments requiring fail-safe performance, such as in the operation of nuclear facilities, aircraftnavigation or communication systems, air traffic control, direct life-support machines, or weapons systems, in which the failure of products couldlead directly to death, personal injury, or severe physical or environmental damage. You hereby agree that the use, sale, license or other distributionof the products for any such application without the prior written consent of either Motive or Alcatel-Lucent, shall be entirely at your sole risk. Youhereby agree to defend and hold Motive and Alcatel-Lucent harmless from any claims for loss, cost, damage, expense or liability that may arise outof or in connection with the use, sale, license or other distribution of the products in such applications.
This document was originally written in English. If there is any conflict or inconsistency between the English version and any other version of adocument, the English version shall prevail.
Preface ......................................................................................................................... viiAudience ...................................................................................................................... viiConventions ................................................................................................................. viiiSupport and contact information ...................................................................................... viii
1 Deployment .................................................................................................................... 1General considerations ..................................................................................................... 2Non-distributed model ...................................................................................................... 2Distributed model ............................................................................................................ 3
Performance considerations ............................................................................................ 6Requirements for deploying the HDM data source ................................................................. 6
Requirements for all deployments .................................................................................... 6Requirements for non-distributed deployments ................................................................... 6Requirements for distributed deployments ........................................................................ 7
2 Installation and Configuration ...................................................................................... 9HDM data source installation ............................................................................................ 10
Service Management Platform (SMP) .............................................................................. 10Model builder and Overlay builder ................................................................................. 10
Configuring the non-distributed model ............................................................................... 11WebLogic inter-domain relationship ................................................................................ 11
Configuring the distributed model ..................................................................................... 11
Adding weblogic.wsee.useRequestHost ........................................................................... 11Deploying SynchDeviceOps.ear ...................................................................................... 12Server properties ......................................................................................................... 14
Secure Sockets Layer ....................................................................................................... 14Model builder and Overlay builder ................................................................................. 15Service Management Platform (SMP) .............................................................................. 16
Configuring the cache ..................................................................................................... 17Model builder and Overlay builder ................................................................................. 17
iii
Contents
Service Management Platform (SMP) .............................................................................. 18
3 HDM Data Source ........................................................................................................ 19Connection parameters .................................................................................................... 20
hostname ................................................................................................................... 20username ................................................................................................................... 20password .................................................................................................................... 20certificatefile ............................................................................................................... 20resulttimeout .............................................................................................................. 20jmsJndiUrl .................................................................................................................. 21disableCaptureConstraint .............................................................................................. 21useSynchWebService .................................................................................................... 21
Best practices ............................................................................................................... 21Capturing and Releasing devices .................................................................................... 21Migrating models from SetParameterValues 2.3 style ......................................................... 22
Data types ..................................................................................................................... 23Method summary ............................................................................................................ 24Method descriptions ....................................................................................................... 25
addObject .................................................................................................................. 25captureDevice ............................................................................................................. 26checkOnline ............................................................................................................... 26createInstanceOfDatasourceClass ................................................................................... 27deleteObject .............................................................................................................. 27downloadConfig .......................................................................................................... 28downloadFirmwareImage .............................................................................................. 28executeAction ............................................................................................................. 29executeFunction .......................................................................................................... 29factoryReset ................................................................................................................ 30findDevicesBySubscriberId ........................................................................................... 30findDevicesByTemplate ................................................................................................ 31
getAvailableFirmwares .................................................................................................. 32getCachedDeviceDataParameters .................................................................................... 32getDynamicVariables .................................................................................................... 33
getParameterAttributes ................................................................................................. 33getParameterNames ..................................................................................................... 34getParameterValues .................................................................................................... 35getServiceTags ............................................................................................................ 35getUserTags ................................................................................................................ 36
iv
reboot ....................................................................................................................... 36releaseDevice .............................................................................................................. 37removeDynamicVariable ............................................................................................... 37removeServiceTag ........................................................................................................ 38removeUserTag ........................................................................................................... 38rerunEventTriggeredPolicy ............................................................................................ 39runEventTriggeredPolicies ............................................................................................. 39setDynamicVariable ..................................................................................................... 39setParameterAttributes ................................................................................................. 40setParameterValues ..................................................................................................... 41setParameterValues ...................................................................................................... 41setServiceTag .............................................................................................................. 42setUserTag ................................................................................................................. 43
Glossary ....................................................................................................................... 45
Index ............................................................................................................................ 57
v
vi
The Home Device Manager (HDM) data source is a software component of Home Device Manager that is intended to beused with the Service Management Platform (SMP). It abstracts communication with HDM to make authoring SMP modelseasier: rather than having to write a web service client to communicate with the HDM NBI, you create a model that usesthe HDM data source.
This reference guide describes the required connection parameters, configuration requirements, and best practices forthe HDM data source. Each method defined in the data source includes parameter and return-value descriptions alongwith sample code to illustrate how the method is used in a discovery script.
Home Device Manager allows broadband providers to remotely manage CPE (customer premises equipment), suchas residential gateways, DSL modems, femtocell base stations, IP set-top boxes, and VoIP terminal adapters. Allowing forlarge-scale remote management of a multi-vendor CPE network, Home Device Manager offers a standardized CPE integrationlayer that enables providers to manage CPE that support either the Broadband Forum's TR-069 protocol or the SNMPprotocol.
The Service Management Platform (SMP) is the Motive Product Group software infrastructure for modeling servicesalong with the management operations associated with endpoints on which the services depend. Example services includebroadband, mobile, and FMC (fixed mobile convergence). In particular, operators use SMP to execute endpoint operations(retrieve/configure) and to run end-to-end service diagnostic tests and automated actions for a given service subscription.The SMP includes a server runtime environment and several design-time tools.
Audience
This document is intended for anyone tasked with developing an application on top of the Service Management Platform(SMP) that needs to integrate with Home Device Manager (HDM). The HDM data source is only intended to be used tobuild models with SMP. It cannot be used as a generic API (application programming interface).
Knowledge of the following areas is necessary:
■ SMP Models and Overlay Builder
■ Basic knowledge of HDM
■ TR-069 object model if user wants to call some device operations (for example, “getParameterValues ” on page 35)
■ JavaScript
■ Basic Java coding
viiAudience
Preface
Conventions
This document uses the following typographic conventions:
■ Bold—Identifies the names of graphical user interface buttons, options, commands, fields, and labels.
■ Italic—Identifies variable placeholders such as function or method parameters representing information that must beprovided by the implementation or user. Also identifies documentation titles and certain terms to emphasize meaning.
■ Monospace—Identifies information that you are required to type exactly as shown. This convention also identifiescode and command samples, screen prompts, messages, and filenames.
■ Monospace italic—Identifies parameters whose actual names or values you must provide at a screen prompt orin a text field.
■ UPPERCASE—Identifies the names of keys on the keyboard.
■ In multi-line code listings, the ↲ symbol indicates that the text was wrapped for typographical reasons.
Support and contact information
If you encounter issues with this product, visit the Online Customer Support (OLCS) [https://support.alcatel-lucent.com]website. After registering and logging on, you can access troubleshooting information.
In addition, you can contact Alcatel-Lucent Motive Support by phone, fax, or email, as follows:
1-866-582-3688, option 1Toll-free phone (withinU.S.)
+1 613 784 6100 (United States)Outside U.S.
1-512-339-9040Fax
<support@motive.com>Email
The Motive Product Group and its parent company, Alcatel-Lucent, are interested in feedback about your experience withthis product and its documentation. If you have comments or suggestions, send email to <pubs@motive.com>.
Prefaceviii
1This chapter covers:
■ General considerations
■ Non-distributed model
■ Distributed model
■ Requirements for deploying the HDM data source
1
Deployment
General considerations
The deployment architecture involving SMP and HDM applications may have several variations depending on the way theHDM data source communicates with the HDM managed servers:
■ The HDM data source makes web service calls to the NBIService deployed on the HDM managed servers. The NBIServiceprovides an interface for executing single device operations and managing data in the HDM OLTP database.
■ The HDM data source must listen for JMS notifications containing the results of the single device operations, sincethese HDM single device operations are asynchronous.
For the HDM data source to make web service calls to the HDM NBIService, HDM and SMP must be able to communicate.To enable communication, HDM server host names must be reachable from the SMP domain, and the port that is usedfor the web service calls must be open (not blocked by a firewall).
The HDM data source leverages the HDM JMS infrastructure for single device operation results. The deploymentrequirements for JMS single device operation results requires additional configuration. It supports two deployment models:
■ “Non-distributed model” on page 2
■ “Distributed model” on page 3
Non-distributed model
In this deployment model, each application (SMP and HDM) is deployed into its own WebLogic Server domain. Thedomains are geographically co-located, i.e., they do not straddle a WAN (wide area network).
Using this approach, there are multiple Administration Servers, one for each domain, as is shown in the following figure.
Deployment2
Communication via JMS
In the previous figure, the HDM data source is a JMS client to a JMS topic that is defined in the HDM WebLogic domain.In order for this to happen, you must set up a WebLogic inter-domain trust relationship. Once this is done, JMS trafficcan be routed using the standard T3 or T3S protocol since both domains are assumed to be on the same LAN (local areanetwork) and no internal firewalls are assumed to exist between these domains. Resources such as JNDI and JMS queuesare then visible across domains.
Distributed model
The HDM and SMP domains are geographically distributed, which means they are not on the same LAN (local areanetwork) and most likely include firewalls between them. This deployment model and firewalls in particular present a lotof challenges for using JMS communication.
3Distributed model
To enable this deployment model, an additional web service needs to be installed on the HDM WebLogic domain.
In the following figure, the HDM data source makes a single device operations call to a new web service called theSynchronous Device Operations (SDO) web service. This provides a synchronous interface to execute single deviceoperations in HDM as opposed to the asynchronous interface provided by HDM's NBIService. The synchronous deviceoperations web service becomes a JMS client of a JMS topic that is defined in the same HDM domain, which eliminatesany issues with the t3 protocol.
Deployment4
Communication via SDO web service
5Distributed model
Performance considerations
The distributed model is less efficient than the “Non-distributed model” on page 2 because the single device operationresults are now communicated via web services instead of natively via JMS. This model is more complicated to set upbecause it requires installing an additional component in the HDM WebLogic domain.
This model also blocks two WebLogic threads per single device operations call. One thread will be blocked in the SMPdomain, the other in the HDM domain. If deployed on the same set of servers as HDM, the SDO web service reduces thenumber of threads available for processing other southbound and/or northbound traffic. To minimize the reduction inthroughput, dedicate some servers to handle only SDO web service traffic.
Requirements for deploying the HDM data source
The following is a list of requirements when deploying the HDM 3.0 data source:
Requirements for all deployments
The following is a list of requirements when deploying the HDM 3.0 data source in both distributed and non-distribuedenvironments.
■ HDM application (hdm.ear or hdm-nbi-non-ssl.ear) must be installed, deployed and running. For moreinformation, see the “Installation and Upgrades” section of the Home Device Manager Deployment Guide. The versionof the HDM server must be 3.0.2.3 or later.
■ SMP application must be installed, deployed and running. For more information, see the “Installation and Deployment”section of the Service Management Platform (SMP) Deployment Guide. The version of the SMP servers must be 4.0.0or later.
■ SMP's Model Builder and Overlay Builder are installed on the systems where users author models and overlays.
■ All mandatory HDM “Connection parameters” on page 20 must be configured.
■ HDM Data Source Connection parameter jmsJndiUrl must be defined. According to WebLogic documentation, thevalue for the jmsJndiUrl parameter can be a list of t3 URLs separated by semicolons (;). For more information, see“jmsJndiUrl” on page 21.
Requirements for non-distributed deployments
■ WebLogic inter-domain trust relationship must be set on both the SMP and HDM domains. This includes editing thedomain and setting a password through the WebLogic Server Administration Console. It is important to restart allservers in both domains after configuring the trust relationship.
Deployment6
For more information, see the “Enabling trust between the application tier and protocol tier domains” section of theHome Device Manager Deployment Guide and the “Credential for AquaLogic and platform domain” section of theService Management Platform (SMP) Deployment Guide.
■ HDM and SMP servers must be on the same physical network subnet.
Requirements for distributed deployments
■ The Synchronous Device Operations (SDO) application must be deployed on the HDM domain.
■ The HDM Data Source Connection parameter useSynchWebService must be set to true.
7Requirements for distributed deployments
Deployment8
2This chapter covers:
■ HDM data source installation
■ Configuring the non-distributed model
■ Configuring the distributed model
■ Secure Sockets Layer
■ Configuring the cache
9
Installation and Configuration
HDM data source installation
Service Management Platform (SMP)
To pre-load the HDM data source to SMP
1. Extract the APP-INF/lib directory from the .ear file slated for deployment. For example:
cd /data/staging/smp40jar -xf SMP.ear APP-INF/lib
where:
■ /data/staging/smp40 is the staging directory on the Administration Server host. That staging directory includesthe SMP installation files along with one or more versions of the product .ear files.
■ SMP.ear contains the applications you are deploying.
2. Copy the eco-datasource-hdm.jar to the extracted APP-INF/lib directory. For example:
cd /data/staging/smp40/APP-INF/libcp path_to/eco-datasource-hdm.jar .
where path_to is the path to the eco-datasource-hdm.jar file.
3. Update the original .ear file that you extracted. For example:
cd /data/staging/smp40jar -uf SMP.ear APP-INF/lib/eco-datasource-hdm.jar
4. Load the glossary for this data source. For instructions, see the "Loading glossaries for additional Motive modelingdata sources (if applicable)" in the Service Management Platform (SMP) Deployment Guide.
Model builder and Overlay builder
To install HDM data source to Model builder or Overlay builder
1. Copy the eco-datasource-hdm-builder.jar from the HDM 3.0.0 DSA CD to the Model Builder/lib
directory.
2. Install the data source by running the following command:
path_to\Motive\Model Builder\utils\glossaryloader.bat -dar ..\lib\eco-datasource-↲hdm-builder.jar
Installation and Configuration10
You only need to run the command in step 2 once; however, you must copy the jar to the Overlay Builder/lib
directory also.
3. Restart Model Builder and Overlay Builder.
Configuring the non-distributed model
WebLogic inter-domain relationship
WebLogic inter-domain trust relationship must be set on both the SMP and HDM domains. This includes editing thedomain and setting a password through the WebLogic Server Administration Console. It is important to restart all serversin both domains after configuring the trust relationship.
For more information, see the “Enabling trust between the application tier and protocol tier domains” section of theHome Device Manager Deployment Guide and the “Credential for AquaLogic and platform domain” section of the ServiceManagement Platform (SMP) Deployment Guide.
Configuring the distributed model
Adding weblogic.wsee.useRequestHost
The SynchDeviceOps application contains a web service implemented using the Oracle BEA WebLogic 9.2. To workproperly, you must configure the Managed Servers to apply the following system property at startup:
-Dweblogic.wsee.useRequestHost=true
To add weblogic.wsee.useRequestHost system property
Conduct the following steps for each Managed Server in the HDMCluster:
1. Log in to the application tier WebLogic Server Console:
a. In a browser, go to the following URL:
https://adminhost.mycompany.com:9002/console
where:
■ adminhost.mycompany.com is the address of the host on which the application tier Administration Serveris installed.
11Configuring the non-distributed model
■ 9002 is the domain-wide administration port of the application tier Administration Server.
The login page appears.
b. To log in, type the credentials for your server administration account into the Username and Passwordboxes, and then click Sign In. The main account, Application Server Administrator, was created during theinstallation of the application tier Administration Server.
2. Go to HDMDomain > Environment > Servers.
3. Click a link to a Managed Server.
4. Click Lock & Edit.
5. Click Configuration > Server Start.
6. Edit the Arguments property and insert the string -Dweblogic.wsee.useRequestHost=true to the inputtext after the -server option. The property should look like this:
-server -Dweblogic.wsee.useRequestHost=true
7. Click Save.
8. Click Activate Changes.
Deploying SynchDeviceOps.ear
To deploy SynchDeviceOps.ear manually
1. Copy the SynchDeviceOps.ear from the HDM Datasource 3.0.0 CD to the /HDMDomain directory on the HDMAdministration Server.
2. Log in to the application tier WebLogic Server Console:
a. In a browser, go to the following URL:
https://adminhost.mycompany.com:9002/console
where:
■ adminhost.mycompany.com is the address of the host on which the application tier Administration Serveris installed.
■ 9002 is the domain-wide administration port of the application tier Administration Server.
The login page appears.
Installation and Configuration12
b. To log in, type the credentials for your server administration account into the Username and Passwordboxes, and then click Sign In. The main account, Application Server Administrator, was created during theinstallation of the application tier Administration Server.
3. In the left panel of the console, click Deployments, and then click Lock & Edit.
The Summary of Deployments page appears on the right.
4. On the Summary of Deployments page, click Install.
The Install Application Assistant page appears on the right.
5. Click the link next to Location and browse to the directory that contains the SynchDeviceOps.ear file.
6. Select SynchDeviceOps.ear. Then, select Install this deployment as an application and click Next.
7. Select the HDMCluster, ensure the All servers in the cluster option is selected, and then click the Continuebutton.
8. Under Source Accessibility, depending on preference, select one of the following:
■ Copy this application onto every target for me.
WebLogic programmatically copies the selected .ear file into the following directory on each host in theHDMCluster:
/opt/hdm/domains/HDMDomain/
where /opt/hdm/ is the root installation directory.
Although this option requires additional deployment time, it eliminates the need for copying files manually.
Or
■ I will make the application accessible from the following location:
WebLogic does not programmatically copy the selected .ear file onto the HDMCluster hosts. If applying thisoption, do the following before continuing; otherwise, continue with next selection under Identity.
Copy the applicable .ear file from the application tier Administration Server host onto each application tierManaged Server host. The .ear files are on the application tier Administration Server host in the followingdirectory; the applicable .ear file must be copied to that same directory on each application tier ManagedServer host:
/opt/hdm/domains/HDMDomain/
Although this option requires manually copying the applicable .ear file, the deployment time is significantlyshorter.
9. Under Identity in the Name box, type a name for the deployment to use a name other than the default, hdm.
13Deploying SynchDeviceOps.ear
10. Click the Finish button, and then click the Save button.
11. Verify that the applications are available:
a. In the WebLogic Server Console in the left panel, click the Activate Changes button and expandDeployments.
b. In the right panel, click the name of the Home Device Manager deployment (for example, hdm).
c. If the Managed Servers are already in the RUNNING state, on the Summary of Deployments page, click theStart -> Servicing all requests button.
d. Confirm that the Deployment Status of the hdm module appears as Active, indicating that the applicationswere deployed successfully.
Server properties
The following are the relevant server properties that can be used to configure the SynchDeviceOps.ear application.To edit these server properties, use the Server Configuration Console. For more information, see the "Configuring ServerProperties" section of the Home Device Manager Deployment Guide.
SynchDeviceOps.ear server properties
Default ValueDescriptionProperty
t3://<local managed server's
listen address>:<non ssl
port>
JNDI URL used by SynchDeviceOpsapplication to locate JMS objects
motive.hdm.synchdeviceops.HDM_JNDIURL
nbi_userUser that is used by theSynchDeviceOps application to makeremote EJB calls to NBIService
motive.hdm.synchdeviceops.HDM_NBIUser
passwordPassword for the HDM NBI Usermotive.hdm.synchdeviceops.HDM_NBIPassword
Secure Sockets Layer
SSL (Secure Sockets Layer) can be used for communication between the HDM and the HDM data source running on SMPservers and/or in Model Builder and Overlay Builder installations. SSL communication is only recommended for thedistributed model, not for the non-distributed model. That is because SSL introduces significant overhead.
If the WebLogic servers where the HDM application is deployed are configured to use a SSL certificate signed by acommonly used certificate authority, you may not need to perform the following steps. WebLogic, Model Builder andOverlay Builder are pre-configured to trust the commonly used certificate authority. But if the WebLogic servers wherethe HDM application is deployed is using a custom SSL certificate (such as self-signed certificates , then you need to
Installation and Configuration14
configure the Model Builder, Overlay Builder or SMP to trust the certificate that the WebLogic server on the HDM domainpresents.
Model builder and Overlay builder
Follow these instructions if the certificate that is installed on the HDM server is not signed by commonly used certificateauthority or if you are getting a "no trusted certificate found" error during connection with the HDM server.
To set up SSL within Model Builder and Overlay builder
1. Get the public key certificate (CertGenCA.der) that is installed on the HDM server. This file is usually installedunder <install dir>/weblogic92/server/lib directory.
2. Generate a server keystore using the above file as input:
keytool -import -file CertGenCA.der -alias servercert -keystore server.keystore
When prompted for password, enter a password for this keystore. For example:
Enter keystore password: smphdm
When prompted to trust the certificate, enter yes. For example:
Trust this certificate? [no]: yes
This will generate a server.keystore file in the current directory.
3. Copy the server.keystore file to the directory where you installed the Model Builder and Overlay Builder. Youneed to copy this file twice, once in each builder.
4. Edit the launcher.ini file located under <builder install dir>/Model Builder and add the string-Djavax.net.ssl.trustStore=<path_to>/server.keystore to the JavaOptions property. The resultingproperty value should look like this:
JavaOptions=-Xms128m -Xmx512m -XX:SoftRefLRUPolicyMSPerMB=1000000 -Dswing.defaultlaf=↲com.jgoodies.plaf.plastic.PlasticLookAndFeel -DsaveDir=examples\models -Djava.↲library.path=.\instrumentation\bin -Xdebug -Xrunjdwp:transport=dt_socket,address=↲18080,server=y,suspend=n -Djavax.net.ssl.trustStore="c:\Program Files\Motive\Model ↲Builder\cert\server.keystore"
5. Repeat the previous step for the Overlay Builder.
6. Restart Model Builder and Overlay Builder.
15Model builder and Overlay builder
Service Management Platform (SMP)
Follow these instructions if the certificate that is installed on the HDM server is not signed by a commonly used certificateauthority or if you are getting a "no trusted certificate found" error during connection with the HDM server.
To set up SSL for HDM data source executed within SMP.ear
1. Get the public key certificate that is installed on the HDM server. This file is usually installed under <installdir>/weblogic92/server/lib directory.
2. Generate a server keystore using the above file as input:
keytool -import -file CertGenCA.der -alias servercert -keystore server.keystore
When prompted for password, enter a password for this keystore. For example:
Enter keystore password: smphdm
When prompted to trust the certificate, enter yes. For example:
Trust this certificate? [no]: yes
This will generate a server.keystore file in the current directory.
3. Copy the server.keystore file to a directory on the hosts where SMP.ear is installed. This directory has tobe the same on all servers in the SMP cluster.
4. Log in to the application tier WebLogic Server Console:
a. In a browser, go to the following URL:
https://adminhost.mycompany.com:9002/console
where:
■ adminhost.mycompany.com is the address of the host on which the application tier Administration Serveris installed.
■ 9002 is the domain-wide administration port of the application tier Administration Server.
The login page appears.
b. To log in, type the credentials for your server administration account into the Username and Passwordboxes, and then click Sign In. The main account, Application Server Administrator, was created during theinstallation of the application tier Administration Server.
5. Go to HDMDomain > Environment > Servers.
Perform the following for all Managed Servers in the SMP cluster.
a. Click a link to a Managed Server.
Installation and Configuration16
b. Click Lock & Edit.
c. Click Configuration > Server Start.
d. Edit the Arguments property and insert the string
-Djavax.net.ssl.trustStore=<path to the above server.keystore>
to the input text after the -server option. The property should look like this:
-server -Djavax.net.ssl.trustStore=<path to the above server.keystore> .......
e. Click Save.
f. Click Activate Changes.
Configuring the cache
There are two ways to uniquely identify a device in the HDM server:
■ OUI + Product Class + Serial Number
■ Device GUID
Most of the HDM DSA methods take both OUI + Product Class + Serial Number and the Device GUID as input to operateon a device. For some methods, the Device GUID parameter was made optional to support backwards compatibility withprevious versions of the HDM DSA. When the Device GUID is required and not passed into the method, the HDM DSAperforms a lookup to retrieve the Device GUID. To minimize the number of lookups, the mapping of OUI + Product Class+ Serial Number to Device GUID is then cached using ehcache.
Users should configure the size of this cache based on the deployment needs.
Model builder and Overlay builder
To configure the cache size in the Model builder and Overlay builder
1. Locate the ehcache.xml in the Model Builder/classes and Overlay Builder/classes directory.
2. Insert an XML element to define the cache size in each builder. For example, the following source configures acache for the HDM data source to 5000 devices for 60 seconds.
<cache name="motive.datasource.hdm.HDMDriver"maxElementsInMemory="5000"overflowToDisk="false"timeToLiveSeconds="60"
/>
17Configuring the cache
3. Restart the Model Builder and Overlay Builder.
Service Management Platform (SMP)
To edit ehcache.xml file deployed on the SMP server
1. Extract the current ehcache.xml file from the application-config.jar
cd /data/staging/smp40jar xvf SMP.ear APP-INF/lib/application-config.jarcd APP-INF/libjar xvf application-config.jar ehcache.xml
where /data/staging/smp40 is the directory in which the SMP installation files are located.
2. Edit the ehcache.xml file by inserting an XML element to define the cache size. For example, the following sourceconfigures a cache for the HDM data source to 5000 devices for 60 seconds:
<cache name="motive.datasource.hdm.HDMDriver"maxElementsInMemory="5000"overflowToDisk="false"
timeToLiveSeconds="60"/>
3. Update the application-config.jar file to include the edited ehcache.xml file. For example:
cd /data/staging/smp40/APP-INF/libjar uvf application-config.jar ehcache.xml
4. Update the SMP.ear file to include the updated application-config.jar file. For example:
cd /data/staging/smp40jar uvf SMP.ear APP-INF/lib/application-config.jar
5. Re-deploy the updated SMP.ear file. For more information, see the "To re-deploy the SMP applications" procedurein the Service Management Platform (SMP) Deployment Guide
Installation and Configuration18
3This chapter covers:
■ Connection parameters
■ Best practices
■ Data types
■ Method summary
■ Method descriptions
19
HDM Data Source
This chapter describes the necessary connection parameters, best practices and method descriptions.
Connection parameters
The HDM data source requires the following connection parameters to be set up in the Service Management Platform(SMP) using the Modeling tools. Each connection parameter must be associated with a property. You can name theseproperties with the default names, choose your own property name, or associate the parameter with an existing property.
hostname
Mandatory. Describes the hostname of the HDM server or the load balancer that sits in front of the HDM servers. Itmust start with either http:// or https://. For example: http://hdmservers.mycompany.com:7003
username
Mandatory. Describes the username to be used to make web service calls to the NBIService deployed on the HDMdomain. The user has to have the NBI-related roles that are required of each operation. For example: nbi_user
password
Mandatory. Specifies the password for the above user. For example: password
certificatefile
If the hostname starts with https://, then this parameter needs to specify the path to the certificate file that can beused to make the SSL (Secure Sockets Layer) calls to the HDM. For example: /opt/hdm/files/CertGenCA.pem
resulttimeout
Mandatory. Specifies the maximum number of seconds to wait for a result from a single device operation (such asGetParameterValues). If -1 is specified, the HDM data source does not wait for a result and it returns immediatelyas soon as the operation is queued in HDM. If the operation result is not available in the specified timeout, then the HDMdata source throws an OperationTimeoutException.
HDM Data Source20
jmsJndiUrl
Optional. Specifies the JNDI URL to the HDM JMS server. If this parameter is not specified, it defaults to the sameserver name listed in the hostname parameter, but with t3 protocol. For example, if the hostname ishttp://hdmserver.mycompany.com:7003, then the default value of this parameter will bet3://hdmserver.mycompany.com:7003.
NoteThe jmsJndiUrl parameter is ignored when used in a distributed model(useSynchWebServices=true).
disableCaptureConstraint
Optional. Specifies whether or not the HDM data source captures the device before issuing a single device operation(SDO) and releases the device after issuing the single device operation. If not specified, the value of this parameterdefaults to false - meaning the HDM data source will capture and release the device.
The exception to this is for the 2.3 style SetParameterValues operation. In this case, the HDM data source alwaysuses disableCaptureConstraint=false, regardless of the value of this parameter.
useSynchWebService
Optional. If the value of this parameter is false, then the HDM data source assumes that the non-distributed deploymentmodel is being used. If the value is true, the HDM data source is configured to communicate with a distributed deployment.The default value of this parameter is false.
Best practices
The following sections include some best practices for configuring the HDM data source 3.0 to be more efficient as wellas recommendations for migrating models from version 2.3 to 3.0.
Capturing and Releasing devices
HDM provides a way to capture and release devices before and after each single device operation is queued. When adevice is captured, no other management policies can run until the device is released. If a CSR (customer supportrepresentative) is troubleshooting an issue with a subscriber who is on the phone, he or she wants to make sure that thetroubleshooting session is not interfered with any background management policies and therefore may want to capturethe device while troubleshooting.
21jmsJndiUrl
The following sections describe ways to configure the HDM data source 3.0 to be more efficient so that applications builton top of SMP models that are using the HDM data source 3.0 can achieve higher throughput.
Using the disableCaptureConstraint HDM data source connection parameter
The HDM data source 3.0 and higher provides a flag to completely bypass the requirement to capture and release thedevice. If the application that is using HDM data source is not a CSR-type application, where it is acceptable for a singledevice operation (SDO) to be intermixed with management policies, then the device does not need to be captured andreleased. For this type of application, it is recommended to set the disableCaptureConstraint parameter to true.
Capturing and releasing a device for multiple operations
Some valid use cases require the capture and release of a device. This typically involves an application that is used by aCSR (customer support representative) who is troubleshooting an issue while a subscriber is waiting on the phone. Inthese cases, it is recommended to capture the device at the beginning of the troubleshooting session, since this sessionmay generate several single device operations. At the end of the troubleshooting session, the device can be released. Itis not recommended that application calls capture and release a device for every single operation since this will hamperboth HDM performance and the application's latency.
Migrating models from SetParameterValues 2.3 style
In the HDM 2.3 data source, the SetParameterValues method takes as input a Map of parameter names as keys andparameter values as values. This method is still supported in the HDM 3.0 data source, but marked as deprecated. Thereason for this is that TR-069 requires that a SetParameterValues RPC (Remote Procedure Call) is sent to the devicewith three pieces of information:
■ parameter names
■ parameter values
■ parameter types
Although the parameter types are not passed into the data source's SetParameterValues method as input internally(and thus not passed into the HDM NBIService), the HDM NBIService looks up the parameter type in the devicetype data model (DeviceType XML). If the parameter is not listed in the device type data model, the HDM NBIService
will cause the operation to fail.
When the SetParameterValues 2.3 style is used, the disableCaptureConstraint cannot be used, because bydefault, devices will have to be captured prior to executing any version 2.3 operations. The HDM NBIService willenforce this.
HDM Data Source22
In addition, HDM 3.0 NBS (Northbound Systems) are allowed to queue single device operations that specify parametersnot listed in the device type data model (DeviceType XML). As long as the parameters are correct for the device, HDMpasses them along. For Service Management Platform (SMP) models to use this feature, they have to be written to usethe SetParameterValues 3.0 style, which takes as input a List of ParameterValueStructDTO objects.
For more information on HDM published DTOs, see the Home Device Manager: Northbound Interface Javadocs.
Data types
The following table describes the data types that you can use with the data source methods. Note that complex data typesinclude subtypes of any one data type. In other words, only one data type can be used for the subtypes within a particularinstance of a complex data type. For example, a List data type might include String subtypes; a Map data type mightinclude Boolean subtypes.
DescriptionSubtypesSupport?
Data Type
A java.laxmlng.Boolean object, which is either true or false.Boolean
A java.lang.Character object.Character
A java.util.Date object.Date
A java.lang.Float object, which is a non-integer number.Float
A java.lang.Integer object.Integer
A java.util.List object, which is a list that contains objects of other datatypes (such as String). The StringToList method converts a String datatype to a List data type.
YesList
A java.util.Map object, which is a list that contains objects of other datatypes (such as String).
YesMap
A java.util.List object containing objects of type java.util.Map.YesMapList
A java.lang.Object object, which is a catchall that could contain anything.Object
A masked string that represents a password.Password
A java.util.Properties object, which is a map of strings to other strings.Properties
A java.util.List object containing objects of type java.util.Map. AResultSet is a list of maps that all have the same keys; usually a ResultSetis used for databases or other systems that return a set of data.
YesResultSet
A java.util.Set object, which is an unordered list.YesSet
A java.lang.String object.String
23Data types
Method summary
Returns a Map containing instanceNumber,objectLabel, and status keys.
“addObject” on page 25
Returns a Boolean true if device is successfully captured.“captureDevice” on page 26
Returns a Boolean true if device is online.“checkOnline” on page 26
Returns an instance of the specified HDM Datasource DTOclass
“createInstanceOfDatasourceClass” on page 27
Returns an Integer indicating the status of the operation.“deleteObject ” on page 27
Returns a Map containing completeTimeUTC,startTimeUTC, and status keys of the config file.
“downloadConfig” on page 28
Returns a Map containing completeTimeUTC,startTimeUTC, and status keys of the firmware image.
“downloadFirmwareImage” on page 28
Returns a ResponseDTO object depending on whatoperation the action executes.
“executeAction” on page 29
Returns a ResponseDTO object depending on whatoperation the function executes.
“executeFunction” on page 29
Returns a Boolean true if device is successfully reset.“factoryReset” on page 30
Returns a List of Map containing data from the HDM'sNBIDeviceData.
“findDevicesBySubscriberId ” on page 30
Returns a List of Map containing data from the HDM'sNBIDeviceData.
“findDevicesByTemplate ” on page 31
Returns a Map containing keys of the firmware.“getAvailableFirmwares” on page 32
Returns a Map containing TR-069 parameter names andvalues.
“getCachedDeviceDataParameters” on page 32
Returns a Map containing tag names and values.“getDynamicVariables” on page 33
Returns a Map containing name, notification, andaccessList keys.
“getParameterAttributes” on page 33
Returns a Map containing parameterName andparameterIsWriteable keys.
“getParameterNames” on page 34
Returns a Map containing TR-069 parameter names andvalues.
“getParameterValues ” on page 35
Returns a Map containing service tag names and values.“getServiceTags” on page 35
Returns a Map containing tag names and values.“getUserTags” on page 36
Returns a Boolean true if device is successfully rebooted.“reboot” on page 36
HDM Data Source24
Returns a Boolean true if device is successfully released.“releaseDevice” on page 37
Returns a Boolean true if dynamic variable is successfullyremoved.
“removeDynamicVariable” on page 37
Returns a Boolean true if service tag is successfullyremoved.
“removeServiceTag” on page 38
Returns a Boolean true if user tag is successfully removed.“removeUserTag” on page 38
Returns a Boolean true if the policy is rerun successfully.“rerunEventTriggeredPolicy” on page 39
Returns a Boolean true if the events are submittedsuccessfully to HDM.
“runEventTriggeredPolicies” on page 39
Returns a Boolean true if dynamic value is set successfully.“setDynamicVariable” on page 39
Returns a Boolean true if parameter attributes are setsuccessfully.
“setParameterAttributes” on page 40
Returns an Integer indicating the status of the operation.Possible values are described in NBIOperationStatus.
“setParameterValues ” on page 41This operation is queued as an HDM 2.3 style single deviceoperation.
Returns an Integer indicating the status of the operation.Possible values are described in NBIOperationStatus.This method is available in version 3.0 and higher.
“setParameterValues” on page 41
Returns a Boolean true if service tag is set successfully.“setServiceTag” on page 42
Returns a Boolean true if the user tag is successfully set.“setUserTag” on page 43
Method descriptions
addObject
String addObject (String oui, String productClass, String serialNumber, Long deviceGUID,↲ String objectName, String objectLabel, Integer expirationTimeoutSeconds, Integer ↲executionTimeoutSeconds)
Parameters. oui - String that indicates the organizationally unique identifier of the device manufacturer
productClass - String that identifies the product class of the associated device
serialNumber - String that indicates the unique serial number that identifies the device
deviceGUID - String that indicates the GUID of the target device
25Method descriptions
objectName - Name of the TR-069 object that is being created
objectLabel - This parameter is optional
expirationTimeoutSeconds - Integer that indicates the number of seconds before an expiration timeout
executionTimeoutSeconds - Integer that indicates the number of seconds before an execution timeout
Returns. Returns a Map of String,Object which will contain the following keys:
instanceNumberobjectLabelstatus
captureDevice
String captureDevice(String oui, String productClass, String serialNumber, Long deviceGUID,↲ Integer retries)
Parameters. oui - String that indicates the organizationally unique identifier of the device manufacturer
productClass - String that identifies the product class of the associated device
serialNumber - String that indicates the unique serial number that identifies the device
deviceGUID - String that indicates the GUID of the target device
retries - Integer that indicates the number of retries to perform if the captureDevice() method fails with exceptions
Returns. Returns a Boolean value of true if successful. Failure will be indicated in exceptions.
checkOnline
String checkOnline(String oui, String productClass, String serialNumber, Long deviceGUID,↲ Integer expirationTimeoutSeconds, Integer executionTimeoutSeconds)
Parameters. oui - String that indicates the organizationally unique identifier of the device manufacturer
productClass - String that identifies the product class of the associated device
serialNumber - String that indicates the unique serial number that identifies the device
deviceGUID - String that indicates the GUID of the target device
expirationTimeoutSeconds - Integer that indicates the number of seconds before an expiration timeout
executionTimeoutSeconds - Integer that indicates the number of seconds before an execution timeout
HDM Data Source26
Returns. Returns a Boolean value of true if successful. Failure will be indicated in exceptions.
createInstanceOfDatasourceClass
This method creates an instance of HDM Datasource DTO class
var pvStruct = createInstanceOfDatasourceClass("alamotv.hdm.functions.types.struct.↲ParameterValueStructDTO");
NoteThe usual way of creating classes in a discovery script
var dto = new Packages.alamotv.hdm.functions.types.struct.↲ParameterValueStructDTO();
is prohibited by the SMP Datasource engine.
Parameters. className - Name of the HDM DTO class to instantiate
Returns. Returns an instance of the specified class.
deleteObject
String deleteObject(String oui, String productClass, String serialNumber, Long deviceGUID,↲ String objectName, Integer expirationTimeoutSeconds, Integer executionTimeoutSeconds)
Parameters. oui - String that indicates the organizationally unique identifier of the device manufacturer
productClass - String that identifies the product class of the associated device
serialNumber - String that indicates the unique serial number that identifies the device
deviceGUID - String that indicates the GUID of the target device
objectName - Name of the TR-069 object that is being deleted
expirationTimeoutSeconds - Integer that indicates the number of seconds before an expiration timeout
executionTimeoutSeconds - Integer that indicates the number of seconds before an execution timeout
Returns. Returns an Integer indicating the status of the operation. Possible values are described inNBIOperationStatus.
27createInstanceOfDatasourceClass
downloadConfig
String downloadConfig(String oui, String productClass, String serialNumber, Long deviceGUID,↲ String url, String username, String password, String fileType, Integer filesize, ↲String targetFilename, Integer delaySeconds, String successURL, String failureURL, ↲Integer expirationTimeoutSeconds, Integer executionTimeoutSeconds)
Parameters. oui - String that indicates the organizationally unique identifier of the device manufacturer
productClass - String that identifies the product class of the associated device
serialNumber - String that indicates the unique serial number that identifies the device
deviceGUID - String that indicates the GUID of the target device
url - Mandatory string that indicates the URL to download the config
username - String that indicates the username for the file server that serves the firmware image
password - String that indicates the password for the username listed above
fileType - Mandatory string, for possible values consult the DownloadConfigDTO
filesize - Mandatory integer that indicates the size of the config file to be downloaded
expirationTimeoutSeconds - Integer that indicates the number of seconds before an expiration timeout
executionTimeoutSeconds - Integer that indicates the number of seconds before an execution timeout
Returns. Returns a Map of String,Object which will contain the following keys:
completeTimeUTCstartTimeUTCstatus
For more information on HDM published DTOs, see the Home Device Manager: Northbound Interface Javadocs
downloadFirmwareImage
String downloadFirmwareImage(String oui, String productClass, String serialNumber, Long ↲deviceGUID, String firmwareImageName, Integer expirationTimeoutSeconds, Integer ↲executionTimeoutSeconds)
Parameters. oui - String that indicates the organizationally unique identifier of the device manufacturer
productClass - String that identifies the product class of the associated device
serialNumber - String that indicates the unique serial number that identifies the device
HDM Data Source28
deviceGUID - String that indicates the GUID of the target device
firmwareImageName - Indicates the firmware image name as defined in HDM
expirationTimeoutSeconds - Integer that indicates the number of seconds before an expiration timeout
executionTimeoutSeconds - Integer that indicates the number of seconds before an execution timeout
Returns. Returns a Map of String,Object which will contain the following keys:
completeTimeUTCstartTimeUTCstatus
executeAction
String executeAction(String oui, String productClass, String serialNumber, Long deviceGUID,↲ String actionName, Integer expirationTimeoutSeconds, Integer executionTimeoutSeconds)
Parameters. oui - String that indicates the organizationally unique identifier of the device manufacturer
productClass - String that identifies the product class of the associated device
serialNumber - String that indicates the unique serial number that identifies the device
deviceGUID - String that indicates the GUID of the target device
actionName - Indicates the HDM Policy Action to execute
expirationTimeoutSeconds - Integer that indicates the number of seconds before an expiration timeout
executionTimeoutSeconds - Integer that indicates the number of seconds before an execution timeout
Returns. Returns a ResponseDTO Object. There are many kinds of ResponseDTO Object that can be returned.The actual type depends on what operation the action executes.
For more information on HDM published DTOs, see the Home Device Manager: Northbound Interface Javadocs
executeFunction
String executeFunction(String oui, String productClass, String serialNumber, Long ↲deviceGUID, int functionCode, List<Object> functionParameterList, Integer ↲expirationTimeoutSeconds, Integer executionTimeoutSeconds)
Parameters. oui - String that indicates the organizationally unique identifier of the device manufacturer
productClass - String that identifies the product class of the associated device
29executeAction
serialNumber - String that indicates the unique serial number that identifies the device
deviceGUID - String that indicates the GUID of the target device
functionCode - Indicates the integer code of the function as defined by HDM
functionParameterList - Lists the parameters to the above function. The List must contain RequestDTO(s)
that correspond to the parameter(s) of the function to be executed. For example, if the function code is one forGetParameterValues, then the List must contain one element of GetParameterValuesDTO. If the function codeis one for a custom function that takes one String and one SetParameterValuesDTO, then the List must containtwo elements: one String and one SetParameterValuesDTO.
expirationTimeoutSeconds - Integer that indicates the number of seconds before an expiration timeout
executionTimeoutSeconds - Integer that indicates the number of seconds before an execution timeout
Returns. Returns a ResponseDTO Object. There are many kinds of ResponseDTO objects that can be returned.The actual type depends on what operation the function executes.
For more information on HDM published DTOs, see the Home Device Manager: Northbound Interface Javadocs
factoryReset
String factoryReset(String oui, String productClass, String serialNumber, Long deviceGUID,↲ Integer expirationTimeoutSeconds, Integer executionTimeoutSeconds)
Parameters. oui - String that indicates the organizationally unique identifier of the device manufacturer
productClass - String that identifies the product class of the associated device
serialNumber - String that indicates the unique serial number that identifies the device
deviceGUID - String that indicates the GUID of the target device
expirationTimeoutSeconds - Integer that indicates the number of seconds before an expiration timeout
executionTimeoutSeconds - Integer that indicates the number of seconds before an execution timeout
Returns. Returns a Boolean value of true if successful. Failure will be indicated in exceptions.
findDevicesBySubscriberId
String findDevicesBySubscriberId(String subscriberID)
Parameters. subscriberID - String that uniquely identifies a subscriber
HDM Data Source30
Returns. Returns a List of Map of String,Object which contains data from the HDM's NBIDeviceData withthe field/attribute names as keys and the field/attribute values as the values.
Only the primitive fields of NBIDeviceData and NBIDeviceID (no arrays and no other complex structures) will bereturned in the map following this scheme. For example, the map may contain:
ValuesKeys
00BEEFoui
ActionTec GatewaysproductClass
04293413serialNumber
trueisManaged
The model author can retrieve the whole NBIDeviceData structure by using the key "deviceData".
var deviceData = map.get("deviceData");
var userTags = deviceData.getUserTags();
findDevicesByTemplate
String findDevicesByTemplate(String templateName, Map templateParameters, Integer resultSize,↲ Integer startIndex)
Parameters. templateName - Name of the Criteria Template that exists in the HDM
templateParameters - Parameters to the criteria template in the templateName
resultSize - Indicates the maximum result size of this findDevices*() method
startIndex - Indicates the starting index device to fetch
Returns. Returns a List of Map of String,Object which contains data from the HDM's NBIDeviceData withthe field/attribute names as keys and the field/attribute values as the values.
Only the primitive fields of NBIDeviceData and NBIDeviceID (no arrays and no other complex structures) will bereturned in the map following this scheme. For example, the map may contain:
ValuesKeys
00BEEFoui
ActionTec GatewaysproductClass
04293413serialNumber
trueisManaged
31findDevicesByTemplate
The model author can retrieve the whole NBIDeviceData structure by using the key "deviceData".
var deviceData = map.get("deviceData");
var userTags = deviceData.getUserTags();
getAvailableFirmwares
String getAvailableFirmwares (String oui, String productClass, String serialNumber, Long ↲deviceGUID)
Parameters. oui - String that indicates the organizationally unique identifier of the device manufacturer
productClass - String that identifies the product class of the associated device
serialNumber - String that indicates the unique serial number that identifies the device
deviceGUID - String that indicates the GUID of the target device
Returns. Returns a List of Map of String,Object which will contain the following keys:
namedescriptionprerequisitesurltargetFileNameusernamefileSizedelayfailureUrlsuccessUrl
getCachedDeviceDataParameters
String getCachedDeviceDataParameters (String oui, String productClass, String serialNumber,↲ Long deviceGUID, List<String> parameterNames)
Parameters. oui - String that indicates the organizationally unique identifier of the device manufacturer
productClass - String that identifies the product class of the associated device
serialNumber - String that indicates the unique serial number that identifies the device
deviceGUID - String that indicates the GUID of the target device
parameterNames - A semi-colon separated string of TR-069 parameter names. For example:
InternetGatewayDevice.DeviceInfo.;InternetGatewayDevice.ManagementServer.
HDM Data Source32
Returns. Returns a Map of String,Object which contains the TR-069 parameter names as keys and their respectivevalues as values. Model authors can also retrieve the result as an array of NBIDataModelParameter structure by usingthe key "dataModelParameterArray". For example:
var dataModelParameterArray = map.get("dataModelParameterArray");for ( var idx; idx<dataModelParameterArray.length; idx++ ) {var dmp = dataModelParameterArray[idx];var name = dmp.getName();var ptype = dmp.getType();var updated = dmp.getUpdate();
}
getDynamicVariables
String getDynamicVariables(String oui, String productClass, String serialNumber, Long ↲deviceGUID)
Parameters. oui - String that indicates the organizationally unique identifier of the device manufacturer
productClass - String that identifies the product class of the associated device
serialNumber - String that indicates the unique serial number that identifies the device
deviceGUID - Optional string that indicates the GUID of the target device
Returns. Returns a Map of String,Object which contains the tag names as keys and their respective values asvalues. Model authors can also retrieve the service tags as an array by using the key "dynamicVariableArray". Forexample:
var dynaVars = map.get("dynamicVariableArray");for (var idx=0; idx<dynaVars.length; idx++) {var dv = dynaVars[idx];var name = dv.getName();var value = dv.getValue();var isSensitive = dv.isSensitive();
}
NoteThe HDM data source only uses the deviceGUID parameter for this method. When the deviceGUIDis specified, the oui + productClass + serialNumber parameters are ignored.
getParameterAttributes
String getParameterAttributes(String oui, String productClass, String serialNumber, Long ↲deviceGUID, List<String> parameterNameList, Integer expirationTimeoutSeconds, Integer ↲executionTimeoutSeconds)
Parameters. oui - String that indicates the organizationally unique identifier of the device manufacturer
33getDynamicVariables
productClass - String that identifies the product class of the associated device
serialNumber - String that indicates the unique serial number that identifies the device
deviceGUID - String that indicates the GUID of the target device
parameterNameList - Indicates the semi-colon separated TR-069 parameter names from which the attributes are to befetched
expirationTimeoutSeconds - Integer that indicates the number of seconds before an expiration timeout
executionTimeoutSeconds - Integer that indicates the number of seconds before an execution timeout
Returns. Returns a List of Map of String,Object which will contain the following keys:
namenotificationaccessList
getParameterNames
String getParameterNames(String oui, String productClass, String serialNumber, Long ↲deviceGUID, String parameterName, Boolean nextLevel, Integer expirationTimeoutSeconds,↲ Integer executionTimeoutSeconds)
Parameters. oui - String that indicates the organizationally unique identifier of the device manufacturer
productClass - String that identifies the product class of the associated device
serialNumber - String that indicates the unique serial number that identifies the device
deviceGUID - String that indicates the GUID of the target device
parameterName - Indicates the parent parameter in which to get the child parameters
nextLevel - Indicates whether to get the next level
expirationTimeoutSeconds - Integer that indicates the number of seconds before an expiration timeout
executionTimeoutSeconds - Integer that indicates the number of seconds before an execution timeout
Returns. Returns a List of Map of String,Object. The Map will contain the following keys:
parameterNameparameterIsWriteable
HDM Data Source34
getParameterValues
String getParameterValues(String oui, String productClass, String serialNumber, List<String>↲ parameterList, Long deviceGUID, Integer expirationTimeoutSeconds, Integer ↲executionTimeoutSeconds)
Parameters. oui - String that indicates the organizationally unique identifier of the device manufacturer
productClass - String that identifies the product class of the associated device
serialNumber - String that indicates the unique serial number that identifies the device
parameterList - A semi-colon separated list of TR-069 parameter names. For example:
InternetGatewayDevice.DeviceInfo.;InternetGatewayDevice.ManagementServer.
deviceGUID - Optional string that indicates the GUID of the target device
expirationTimeoutSeconds - Integer that indicates the number of seconds before an expiration timeout
executionTimeoutSeconds - Integer that indicates the number of seconds before an execution timeout
Returns. Returns a Map of String,Object which contains the TR-069 parameter names as keys and their respectivevalues as values.
Example discovery script:
var paramList = new java.util.ArrayList();paramList.add("InternetGatewayDevice.DeviceInfo.");paramList.add("InternetGatewayDevice.ManagementServer.");return getParameterValues("00BEEF", "ActionTec Gateways", "04293413", paramList, ↲"1293847");
getServiceTags
String getServiceTags(String oui, String productClass, String serialNumber, Long deviceGUID)
Parameters. oui - String that indicates the organizationally unique identifier of the device manufacturer
productClass - String that identifies the product class of the associated device
serialNumber - String that indicates the unique serial number that identifies the device
deviceGUID - Optional string that indicates the GUID of the target device
Returns. Returns a Map of String,Object which contains the tag names as keys and their respective values asvalues. Model authors can also retrieve the service tags as an array by using the key "serviceTagArray". For example:
var serviceTags = map.get("serviceTagArray");for (var idx=0; idx<serviceTags.length; idx++) {
35getParameterValues
var tag = serviceTags[idx];var name = tag.getName();var value = tag.getValue();var factoryResetValue = tag.getFactoryResetValue();
}
NoteThe HDM data source only uses the deviceGUID parameter for this method. When the deviceGUIDis specified, the oui + productClass + serialNumber parameters are ignored.
getUserTags
String getUserTags(String oui, String productClass, String serialNumber, Long deviceGUID)
Parameters. oui - String that indicates the organizationally unique identifier of the device manufacturer
productClass - String that identifies the product class of the associated device
serialNumber - String that indicates the unique serial number that identifies the device
deviceGUID - String that indicates the GUID of the target device
Returns. Returns a Map of String,Object which contains the tag names as keys and their respective values asvalues.
NoteThe HDM data source only uses the deviceGUID parameter for this method. When the deviceGUIDis specified, the oui + productClass + serialNumber parameters are ignored.
reboot
String reboot(String oui, String productClass, String serialNumber, Long deviceGUID, ↲Integer expirationTimeoutSeconds, Integer executionTimeoutSeconds)
Parameters. oui - String that indicates the organizationally unique identifier of the device manufacturer
productClass - String that identifies the product class of the associated device
serialNumber - String that indicates the unique serial number that identifies the device
deviceGUID - String that indicates the GUID of the target device
expirationTimeoutSeconds - Integer that indicates the number of seconds before an expiration timeout
executionTimeoutSeconds - Integer that indicates the number of seconds before an execution timeout
HDM Data Source36
Returns. Returns a Boolean value of true if successful. Failure will be indicated in exceptions.
releaseDevice
String releaseDevice(String oui, String productClass, String serialNumber, Long deviceGUID,↲ Integer retries)
Parameters. oui - String that indicates the organizationally unique identifier of the device manufacturer
productClass - String that identifies the product class of the associated device
serialNumber - String that indicates the unique serial number that identifies the device
deviceGUID - String that indicates the GUID of the target device
retries - Integer that indicates the number of retries to perform if the releaseDevice() method fails with exceptions
Returns. Returns a Boolean value of true if successful. Failure will be indicated in exceptions.
NoteThe HDM data source only uses the deviceGUID parameter for this method. When the deviceGUIDis specified, the oui + productClass + serialNumber parameters are ignored.
removeDynamicVariable
String removeDynamicVariable(String oui, String productClass, String serialNumber, Long ↲deviceGUID, String variableName)
Parameters. oui - String that indicates the organizationally unique identifier of the device manufacturer
productClass - String that identifies the product class of the associated device
serialNumber - String that indicates the unique serial number that identifies the device
deviceGUID - String that indicates the GUID of the target device
variableName - Name of the dynamic variable to remove from the device
Returns. Returns a Boolean value of true if successful. Failure will be indicated in exceptions.
NoteThe HDM data source only uses the deviceGUID parameter for this method. When the deviceGUIDis specified, the oui + productClass + serialNumber parameters are ignored.
37releaseDevice
removeServiceTag
String removeServiceTag(String oui, String productClass, String serialNumber, Long ↲deviceGUID, String tagName)
Parameters. oui - String that indicates the organizationally unique identifier of the device manufacturer
productClass - String that identifies the product class of the associated device
serialNumber - String that indicates the unique serial number that identifies the device
deviceGUID - String that indicates the GUID of the target device
tagName - Name of the user tag to remove from the device
Returns. Returns a Boolean value of true if successful. Failure will be indicated in exceptions.
NoteThe HDM data source only uses the deviceGUID parameter for this method. When the deviceGUIDis specified, the oui + productClass + serialNumber parameters are ignored.
removeUserTag
String removeUserTag(String oui, String productClass, String serialNumber, Long deviceGUID,↲ String tagName)
Parameters. oui - String that indicates the organizationally unique identifier of the device manufacturer
productClass - String that identifies the product class of the associated device
serialNumber - String that indicates the unique serial number that identifies the device
deviceGUID - String that indicates the GUID of the target device
tagName - Name of the user tag to apply on the device
Returns. Returns a Boolean value of true if successful. Failure will be indicated in exceptions.
NoteThe HDM data source only uses the deviceGUID parameter for this method. When the deviceGUIDis specified, the oui + productClass + serialNumber parameters are ignored.
HDM Data Source38
rerunEventTriggeredPolicy
String rerunEventTriggeredPolicy (String oui, String productClass, String serialNumber, ↲Long deviceGUID, String policyName)
Parameters. oui - String that indicates the organizationally unique identifier of the device manufacturer
productClass - String that identifies the product class of the associated device
serialNumber - String that indicates the unique serial number that identifies the device
deviceGUID - String that indicates the GUID of the target device
policyName - Name of the HDM policy to run
Returns. Returns a Boolean value of true if successful. Failure will be indicated in exceptions.
runEventTriggeredPolicies
String runEventTriggeredPolicies (String oui, String productClass, String serialNumber, ↲Long deviceGUID, List<String> eventCodes)
Parameters. oui - String that indicates the organizationally unique identifier of the device manufacturer
productClass - String that identifies the product class of the associated device
serialNumber - String that indicates the unique serial number that identifies the device
deviceGUID - String that indicates the GUID of the target device
eventCodes - A List of String that indicates the OSS (operations support systems) events that can be used to triggeran HDM policy to run
Returns. Returns a Boolean value of true if the events are submitted successfully to HDM. Failure will be indicatedin exceptions. The success of the policy run depends on many factors, including whether the device responds, etc.
setDynamicVariable
String setDynamicVariable(String oui, String productClass, String serialNumber, String ↲name, String value, Long deviceGUID, Boolean isSensitive)
Parameters. oui - String that indicates the organizationally unique identifier of the device manufacturer
productClass - String that identifies the product class of the associated device
serialNumber - String that indicates the unique serial number that identifies the device
39rerunEventTriggeredPolicy
name - String that indicates the name of the dynamic variable to set
value - String that indicates the value of the dynamic variable to set
deviceGUID - Optional string that indicates the GUID of the target device
isSensitive - Optional Boolean that indicates whether the DynamicVariable is sensitive or not
Returns. Returns a Boolean value of true if successful. Failure will be indicated in exceptions.
NoteThe HDM data source only uses the deviceGUID parameter for this method. When the deviceGUIDis specified, the oui + productClass + serialNumber parameters are ignored.
setParameterAttributes
String setParameterAttributes(String oui, String productClass, String serialNumber, Long ↲deviceGUID, List<ParameterAttributeStructDTO> parameterAttributesList, Integer ↲expirationTimeoutSeconds, Integer executionTimeoutSeconds)
Parameters. oui - String that indicates the organizationally unique identifier of the device manufacturer
productClass - String that identifies the product class of the associated device
serialNumber - String that indicates the unique serial number that identifies the device
deviceGUID - String that indicates the GUID of the target device
parameterAttributesList - A List that contains SetParameterAttributesStructDTO objects as elements
expirationTimeoutSeconds - Integer that indicates the number of seconds before an expiration timeout
executionTimeoutSeconds - Integer that indicates the number of seconds before an execution timeout
Returns. Returns a Boolean value of true if successful. Failure will be indicated in exceptions.
The following is an example discovery script using the setParameterAttributes() method:
var paramAttrList = new java.util.ArrayList();var paramAttr = createInstanceOfDatasourceClass("alamotv.hdm.functions.types.struct.↲SetParameterAttributesStructDTO");paramAttr.setName(%RootObject% + ".ManagementServer.PeriodicInformInterval");paramAttr.setNotification(new java.lang.Integer(1));paramAttrList.add(paramAttr);return setParameterAttributes (%DeviceID%.getOUI(), %DeviceID%.getProductClass(), %DeviceID%.getSerialNumber(), %DeviceGUID%, paramAttrList);
HDM Data Source40
The previous sample script uses createParameterAttributeStruct() helper method, provided by the HDM datasource, to create the ParameterAttributeStructDTO object.
For more information on HDM published DTOs, see the Home Device Manager: Northbound Interface Javadocs
setParameterValues
String setParameterValues(String oui, String productClass, String serialNumber, Map ↲parameterValueMap, Long deviceGUID, Integer expirationTimeoutSeconds, Integer ↲executionTimeoutSeconds)
Parameters. oui - String that indicates the organizationally unique identifier of the device manufacturer
productClass - String that identifies the product class of the associated device
serialNumber - String that indicates the unique serial number that identifies the device
parameterValueMap - a Map of String,Object which contains the TR-069 parameter names as keys and theirrespective values as values
deviceGUID - Optional string that indicates the GUID of the target device
expirationTimeoutSeconds - Integer that indicates the number of seconds before an expiration timeout
executionTimeoutSeconds - Integer that indicates the number of seconds before an execution timeout
Returns. Returns an Integer indicating the status of the operation. Possible values are described inNBIOperationStatus.
When this version of setParameterValues() method (the one that takes Map instead of List ofParameterValueStructDTO), the HDM data source will queue the single device operation using the HDM 2.3 style.In HDM 2.3, the setParameterValues operation does not need to specify the type of parameter because the type ofparameter is looked up from the Device Data Model (DeviceType).
Because this operation is queued as an HDM 2.3 style single device operation, the HDM data source will always attemptto capture the device before the operation is queued and to release the device after the operation is queued. In otherwords, the value of the HDM connection parameter disableCaptureConstraint is ignored.
Compare this with the HDM 3.0 setParameterValues method which follows.
setParameterValues
String setParameterValues(String oui, String productClass, String serialNumber, List<↲ParameterValueStructDTO> parameterValueStructList, Long deviceGUID, Integer ↲expirationTimeoutSeconds, Integer executionTimeoutSeconds)
41setParameterValues
Parameters. oui - String that indicates the organizationally unique identifier of the device manufacturer
productClass - String that identifies the product class of the associated device
serialNumber - String that indicates the unique serial number that identifies the device
parameterValueStructList - a List of ParameterValueStructDTO objects that contains the TR-069 parameternames, values and types of parameters to set on the device
deviceGUID - Optional string that indicates the GUID of the target device
expirationTimeoutSeconds - Integer that indicates the number of seconds before an expiration timeout
executionTimeoutSeconds - Integer that indicates the number of seconds before an execution timeout
Returns. Returns an Integer indicating the status of the operation. Possible values are described inNBIOperationStatus.
The following is an example discovery script using the setParameterValues() method:
var params = new java.util.ArrayList();var pvStruct = createInstanceOfDatasourceClass("alamotv.hdm.functions.types.struct.↲ParameterValueStructDTO");pvStruct.setName(%RootObject% + ".ManagementServer.PeriodicInformInterval");pvStruct.setType("int");pvStruct.setValue("45");params.add(pvStruct);return setParameterValues(%DeviceID%.getOUI(), %DeviceID%.getProductClass(), %DeviceID%.getSerialNumber(), params, %DeviceGUID%);
The previous sample script uses createParameterValueStruct() helper method, provided by the HDM data source,to create the ParameterAttributeStructDTO object.
This setParameterValues method requires that the caller specify parameter names, values, and corresponding typesbecause in HDM version 3.0 and above, users can execute single device operations that specify parameters that are noteven listed in the Device Data Model (DeviceType). In this case, the HDM 3.x server will simply pass on the parametersto the devices. As long as the parameters are recognized by the devices, the operations will be successful.
For more information on HDM published DTOs, see the Home Device Manager: Northbound Interface Javadocs.
setServiceTag
String setServiceTag(String oui, String productClass, String serialNumber, String name, ↲String value, Long deviceGUID, String factoryResetValue, Boolean copyOnFactoryReset)
Parameters. oui - String that indicates the organizationally unique identifier of the device manufacturer
productClass - String that identifies the product class of the associated device
HDM Data Source42
serialNumber - String that indicates the unique serial number that identifies the device
name - String that indicates the name of the service tag to set
value - String that indicates the value of the service tag to set
deviceGUID - Optional string that indicates the GUID of the target device
factoryResetValue - Optional string that indicates the value to set the tag when the device gets reset to factorydefaults
copyOnFactoryReset - Optional Boolean that indicates if the tag should be copied when the device gets reset tofactory defaults
Returns. Returns a Boolean value of true if successful. Failure will be indicated in exceptions.
NoteThe HDM data source only uses the deviceGUID parameter for this method. When the deviceGUIDis specified, the oui + productClass + serialNumber parameters are ignored.
setUserTag
String setUserTag(String oui, String productClass, String serialNumber, Long deviceGUID,↲ String tagName, String tagValue)
Parameters. oui - String that indicates the organizationally unique identifier of the device manufacturer
productClass - String that identifies the product class of the associated device
serialNumber - String that indicates the unique serial number that identifies the device
deviceGUID - String that indicates the GUID of the target device
tagName - Name of the user tag to apply on the device
tagValue - Value of the user tag to apply on the device
Returns. Returns a Boolean value of true if successful. Failure will be indicated in exceptions.
NoteThe HDM data source only uses the deviceGUID parameter for this method. When the deviceGUIDis specified, the oui + productClass + serialNumber parameters are ignored.
43setUserTag
HDM Data Source44
802.11802.11 refers to a family of standards for WLAN (wireless local area network) communication developed by the IEEE[http://www.ieee.com/portal/index.jsp]. Commonly referred to as Wi-Fi, 802.11 includes 802.11a, 802.11b, and802.11g.
■ 802.11a provides up to 54 Mbps on the 5 GHz band with a range of 60 feet.■ 802.11b provides 11 Mbps in the 2.4 GHz band with a range of 300 feet and is backward-compatible with 802.11.■ 802.11g, provides 54 Mbps on the 2.4 GHz band with a range of 300 feet, and is interoperable with 802.11b.
actionThe wrapper for a protocol-specific function run on a device. All actions contain protocol-specific functions, and allpolicies contain actions.
Administration ServerSingle-instance server that provides a contact point for the Managed Server instances and system administration toolsin the WebLogic Server domain.See also Managed Server.
API (application programming interface)The set of methods, classes, and fields written for an operating system or application. Programmers use the API tomake requests of the operating system or another application.
Compare with CLI and GUI.
applicationA client or server program that performs specific tasks.
application tierThe Home Device Manager application servers and OLTP database installed in a trusted network. The applicationtier is common to all deployments including standard deployments and distributed domain deployments. Theapplication servers make up the HDMDomain with an Administration Server and the HDMCluster.
Compare to protocol tier.See also Web proxy tier.
assisted serviceType of service in which a CSR assists a subscriber with problem resolution.
Auto-configuration Server (ACS)The protocol server component installed on each Managed Server. The ACS processes messages to and from devicesin subscriber environments. It handles all device communication from the protocol tier in a distributed domaindeployment and from the application tier in a standard deployment.
45
Glossary
TR-069 devices send the ACS Inform messages regularly, receive commands called from the ACS, and respond to theACS with results. The ACS can send TR-069 devices unsolicited messages (connection requests) requesting them toinitiate a new session with the server. By contrast, SNMP devices and the ACS use a push model to interact: TheACS sends requests to SNMP devices, and the devices respond. Unlike TR-069 devices, SNMP devices do not continuallysend Inform messages to the ACS, and an Inform message is not required to run actions from the action queue onthem.
Bastion Web ServerStandard web server software such as Sun One Web Server or Apache. Optionally, Bastion Web Server packages areinstalled on hosts in the DMZ to receive and redirect incoming subscriber system requests to application servers.
Boot Inform messageOn devices that support the TR-069 protocol, a message that is sent whenever the CPE is booted up or reset. Themessage does not provide information about how long the CPE has been attached to the current network environment,or whether or not the CPE has ever been activated.
Bootstrap Inform messageOn devices that support the TR-069 protocol, a message that is sent the first time the device is installed, after thedevice is factory reset, or after the device's management server URL has been changed. Whenever a device contactsthe Home Device Manager server with this message, the HDM server evaluates the activation status of the device. Ifthe device uses the Bootstrap Server during activation, and the Auto-configuration Server (ACS) URL has been changedon the device to contact the Device Management (DM) Server, HDM waits for the device to send a Bootstrap Informmessage indicating that the ACS URL was changed, and then HDM activates the device. If the device does not usethe Bootstrap Server during activation, HDM immediately activates the device. Bootstrap Inform messages are sentcontinuously until Home Device Manager successfully acknowledges and processes them.
If a device is activated already, a Bootstrap Inform message deactivates the device, and the device must go throughthe activation process again. HDM treats this as a factory reset.
Bootstrap ServerType of Managed Server, in the HDMCluster or HDMDistributedCluster, that not fully-provisioned CPEcommunicate with initially. After authenticating, CPE in the “walled garden” are redirected to a Device Management(DM) Server. Bootstrap Servers authenticate incoming CPE requests with a default user name and password for theassociated device type. If the Bootstrap Server is configured for pass-through authentication, CPE can authenticatewithout credentials.
The Bootstrap Server is also referred to as the Walled Garden Server.
Compare to Device Management (DM) Server.
CLI (command-line interface)A user interface to an operating system or an application in which the user types commands using a special commandlanguage.
Compare with API and GUI.
Glossary46
clientA caller application that communicates with the SMP. For example, clients send operation invocation requests fora named endpoint operation to SMP's Endpoint Operations API. A CSR application deployed on the same WebLogicServer domain as the SMP can be written to use the API methods directly, while a northbound interface installedoutside of the domain can use the API's web service to call the methods.
Configuration ManagerBrowser-based interface that customer teams use to control the CSR experience within the applicable problemresolution application. In the Configuration Manager Console, a user sets up test modules that define a group ofapplicable tests; creates security groups to control CSR access, and sets properties to affect general behavior of theCSR application.
Connection Request Inform messageOn devices that support the TR-069 protocol, an Inform message that occurs based on a request(ConnectionRequestURL method call) from the Auto-configuration Server (ACS) .
Connection Request Proxy ServerWeb server that passes connection requests from the Auto-configuration Server (ACS) to a TR-069 device. In turn,the device sends an Inform message to the ACS.See also TCP Connection Request Proxy Server, UDP (User Datagram Protocol) Connection Request Proxy Server.
CPE (customer premises equipment)Rented or purchased equipment that is physically located at the residence or office of a subscriber. Examples includecable or DSL modem, residential gateways, IP set-top boxes, VoIP terminal adapters, and femtocell base stations.
CPE WAN Management protocol (CWMP)An industry standard for WAN-side configuration and management of devices such as gateways and modems. TheCWMP, also referred to as TR-069, provides a framework for communication between CPEs and Auto-configurationServers (ACSs) such as the ACS in Home Device Manager. The framework includes a mechanism for secureauto-configuration of a CPE and incorporates other CPE management functions. TR-069 establishes rules for how aCPE device communicates with and is managed by a remote management system.
CSR (customer support representative)A person who provides subscribers assisted service. CSRs use Motive software to diagnose and resolve service issueswhile communicating with subscribers.
CSRs are sometimes referred to as analysts or agents.
custom functionA function that coordinates the execution of one or more primitive functions, which wrap TR-069 RPC methods. HomeDevice Manager provides several reference custom functions and a toolkit that enables you to create your own.Custom functions can be run in the same way built-in functions are run—that is, as part of actions or on their own.
Also known as:
■ multi-RPC function
■ Java Custom Function
47
Customer Service ManagerMotive product that helps CSRs (customer support representative) pinpoint the cause of and resolution for serviceissues on behalf of high-speed data subscribers. The product gathers service data referred to as telemetry from multiplesources to present CSRs with a complete representation of a service as it exists in a subscriber’s environment. Also,the product presents CSRs the results of a comparison between the subscriber information and managed settingsthat “model” the optimal working state. The overall process empowers CSRs to automatically perform root causeanalysis and to drive rapid and accurate resolution.
Device Management (DM) ServerType of Managed Server, in the HDMCluster or HDMDistributedCluster, that communicates with CPEsconfigured for activation. The DM Server instances run policies on the CPE to complete the activation process. Onan ongoing basis, they implement policies on CPEs to keep them updated. Authenticating to a DM Server requiresstrict authentication including the device-specific credentials.
The DM Server is also referred to as the Public Server.
Compare to Bootstrap Server.
device typeThe definition of a class of devices based on the unique combination of the device manufacturer OUI and the productclass. It contains a list of protocol-specific parameters that this class of devices accepts. A device type is a necessarycomponent of devices and firmware images.
device type data modelAn XML schema created to represent a class of devices. A schema defines the device capabilities that can be managedby Home Device Manager. It includes the unique information that can create a device type template, which can beimported into Home Device Manager when a new device type is added to the system. A device type can have oneor more data models, distinguished by software version. A data model can be associated with only one device type.
Diagnostic Complete Inform messageOn devices that support the TR-069 protocol, an Inform message that occurs to re-establish connection to the serverafter completing a diagnostic test initiated by the Auto-configuration Server (ACS).
distributed domain deploymentHome Device Manager architecture that includes two distinct WebLogic Server domains, theHDMDistributedDomain in the DMZ and the HDMDomain in the trusted network. The domains each include acluster of application servers. In a distributed domain deployment, the initial CPE communication redirects from theapplication servers in DMZ to the ones in the trusted network.
Compare to standard deployment.
endpointAn individual device or system targeted for some sort of management. The management may include retrieving datafrom, configuring an update on, or running other specific functions on individual endpoints. Examples of endpointsare subscriber hardware such as a mobile phone or DSL modem and any other individual systems such as an operatorOSS.
Glossary48
endpoint operationA data configuration stored in the SMP Repository. The configuration defines the manner in which SMP is to handlea client request for executing the corresponding operation. The operation is the function or group of procedures thatthe applicable manager instructs a given endpoint to execute on itself. Deployment teams configure an endpointoperation through the Configuration Manager after developing the associated operation implementation.
Endpoint Operations APIA web service API that allows exposing normalized operations for execution on individual endpoints. With a normalizedoperation, the client does not need to expose the full APIs of the applicable managers or to invoke multiple managers.In general, the API is used to do the following: determine whether a named endpoint operation is available for agiven endpoint; validate the client's request based on the configuration of the corresponding endpoint operation;and to pass the client's validated request to the test module that implements the operation invocation.
FMC (fixed mobile convergence)Fixed and mobile telephony service from a single phone with the handset configured to switch between mobile andWi-Fi (Wireless Fidelity) networks. For example, British Telecom offers an FMC service called BT Fusion [http://www.btbusinessshop.com/icat/btfusion_hub].
functionAn operation that implements protocol-specific RPC (Remote Procedure Call) methods and can be run on a device.A function can be run as part of an action in bulk policies, or it can be applied to single devices on its own or aspart of an action. Functions can be built-in or custom.See also custom function.
GUI (graphical user interface)The GUI contains graphical elements such as buttons and menus that users click or execute through keyboardcommands to interface with an operating system or application.
Compare with API and CLI.
HDM Northbound Interface (NBI)A SOAP-based programming interface for HDM that integrates the application tier with that of applicable OSS(operations support systems) that maintain subscriber data. The NBI includes:
■ Web Services
A set of methods that an OSS or other third-party system invokes. By default, this happens over HTTPS; it isoptional to configure the HDMCluster to expose the NBI over HTTP.
■ Notifications
Asynchronous events sent from a Device Management (DM) Server (HDMCluster) to the OSS over the JavaMessaging Protocol (JMS).
Also known as Service Model NBI.
49
HDMClusterThe n number of Managed Servers in the application tier. The software and functionality on each Managed Server inthe HDMCluster is identical, and the number of instances depends on the load the deployment must support.
HDMDistributedClusterThe n number of Managed Servers in the protocol tier. The software and functionality on each Managed Server inthe HDMDistributedCluster is identical, and the number of instances depends on the load the deploymentmust support.
HDMDistributedDomainA WebLogic Server domain created by the protocol tier installer. The HDMDistributedDomain is made up of anAdministration Server and the Managed Servers in the protocol tier. It is optional to install the Managed Serversinto a cluster (HDMDistributedCluster).
HDMDomainA WebLogic Server domain created by the application tier installer. The HDMDomain is made up of an AdministrationServer and the HDMCluster.
Home Device ManagerProduct that allows broadband providers to remotely manage CPE that support the TR-069 and SNMP (Simple NetworkManagement Protocol) protocols. Functionality includes policy-based tools to automate device configuration andmanagement, ability to perform single as well as large-scale bulk device configuration, troubleshooting, firmwareupgrades, event management, user management, communications logging, reporting, device alarm management,and device alarm monitoring. The Home Device Manager can be integrated with an existing OSS infrastructure andwith Motive’s Service Activation Manager, Self-Service Manager, and Customer Service Manager.
Inform messageA message sent from a TR-069 device to establish communications with the Auto-configuration Server (ACS). Thismessage serves to initiate the set of transactions requested and to communicate the limitations of the device withregard to message encoding.See also Bootstrap Inform message, Boot Inform message, Diagnostic Complete Inform message, Connection RequestInform message, Periodic Inform message, Scheduled Inform message, Transfer Complete Inform message, ValueChange Inform message.
LAN (local area network)A network of interconnected computers and other devices within a relatively small geographic area. The computerson a LAN can interact with each other.
Managed ServerServer instance that runs identical applications to its peer instances in a WebLogic Server domain.See also Administration Server.
ManagementServerURLURL for a CPE device to connect to an Auto-configuration Server (ACS) server using the CPE WAN managementprotocol (TR-69).
Glossary50
managerSoftware application that communicates with and manages a set of endpoints such as computers, mobile devices,broadband devices, or other systems such as CRMs and application middleware. Examples of managers include HomeDevice Manager (HDM) and Mobile Device Manager (MDM).
manufacturer OUI (OUI)The Organizationally Unique Identifier for a manufacturer assigned by the IEEE Registration Authority. The OUI incombination with the model and serial number allows individual devices to be uniquely identified. The OUI followsa format with a six-digit hexadecimal value (uppercase letters: A, B, C, D, E, F and any zero to the left).
modelA model is an abstract representation that defines an application configuration, which is the IT infrastructure (includinghardware and software components, relationships and dependencies) of a mission-critical application or businessprocess. Models establish general information about an application configuration and provide a reusable structureon which many business operations can be performed.
Model BuilderModel Builder is a Motive desktop application which enables you to create models that capture the hardware andsoftware components and dependencies of the IT infrastructure of a mission-critical application or business process.
Models created in Model Builder are consumed by Overlay Builder users and by Motive model-based web applicationusers (who use models and overlays to resolve application environment issues).
NBS (Northbound System)The system created by using the HDM integration features, collectively referred to as the Northbound Interface (NBI),to integrate HDM with the service provider's OSS (operations support systems). By using the NBS, the OSS can callinto HDM, and HDM can send notifications back to the OSS.
operation implementationThe model, overlay, and test module created for executing the operation for a given endpoint operation. Aftervalidating a client request based on the configuration of the applicable endpoint operation, SMP executes the operationimplementation.
OS (operating system)Software designed to control the hardware of a general-purpose computer or other device. Computers must have anoperating system to run other programs. Operating systems perform basic tasks such as recognizing input from thekeyboard, sending output to the display screen, keeping track of files and directories on the disk, and controllingperipheral devices (disk drives and printers).
OSS (operations support systems)The back-end systems used by service providers to manage, monitor, provision, and guarantee the quality of networkservices (for example, order processing, line testing, and billing).
overlayAn overlay evaluates a snapshot (a representation of the state of an application environment at a given time) usinga set of checks (conditions about a business issue) that determine the cause of problems and configuration issuesfor a particular application environment. The overlay then enables users of Motive model-based web applications toapply actions that address those issues.
51
An overlay is built on top of an application model that defines the hardware and software components, relationships,and dependencies of an application configuration. Each overlay consists of one or more checks that evaluate anapplication issue. Each check is associated with one or more actions that work to address the issue.
Overlays help users determine if the current configuration of an environment is conforming to the specificationsoutlined in the policy.
Overlay BuilderOverlay Builder is a Motive desktop application which enables you to create overlays that help users address issueswithin their application environment. Overlays are available within the Motive model-based web applications to userswho support application environments.
Periodic Inform messageOn devices that support the TR-069 protocol, an Inform message that occurs based on a periodic inform intervalconfigured for the CPE device. For example, a device may be configured to send a message to an Auto-configurationServer (ACS) once every 24 hours.
policyA rule that defines a set of conditions (such as selection criteria or device groups) and associated actions. If a devicemeets these conditions, then the specified actions for that rule are run on the device. Within Home Device Manager,policies are used to manage devices. A policy continues to run against targeted devices unless it expires or reachesa failure threshold or retry count configured in the policy. Policies run only on devices that are currently enabledand not locked by an operator for manual operation.
protocolA set of standardized rules designed to enable computers to exchange information.
protocolThe high-level categorization of CPE that describes the basic capabilities of a class of devices. A protocol representsthe underlying communications protocol as well as object model paradigm for a device. Examples of device protocolsinclude TR-069 and SNMP (Simple Network Management Protocol).
protocol tierThe Home Device Manager application servers installed in the DMZ of a distributed domain deployment. The protocoltier is dedicated to handling incoming communication from CPE; its servers make up the HDMDistributedDomainwith an Administration Server and one or more Managed Servers. When the protocol tier Managed Servers areclustered (optional), they are members of the HDMDistributedCluster.
The applicable protocol Managed Server uses RMI over IIOP to load balance and direct CPE communication to anavailable Managed Server in the application tier. Unlike the application tier servers, the protocol tier servers do notcommunicate with the Home Device Manager OLTP database.
Compare to application tier.See also Web proxy tier.
Public ServerSee Device Management (DM) Server.
Glossary52
RPC (Remote Procedure Call)For TR-069, a method that defines a single call between an Auto-configuration Server (ACS) and a device. An RPC isdistinct from a function in that a function as used in this context is an HDM concept and maps to one or more RPCs.
Scheduled Inform messageOn devices that support the TR-069 protocol, a one-time Inform message that occurs based on a request (MScheduleInform method call) from the Auto-configuration Server (ACS).
Self Service ManagerMotive product that automates problem diagnosis, resolution, and service management capabilities across each ofthe primary support channels—electronic, phone, and email. With Motive software, subscribers can easily self-managetheir IP-based services without engaging a CSR (customer support representative) or requiring a technician visit.
self-serviceType of service in which a subscriber uses Motive software to resolve a problem without interacting with a CSR.
server propertyA configuration setting in the Motive server application that determines how the application functions.
For example, when using the Service Center Console to help manage operations in your service center, the designatedstart time for a 24-hour period and the time interval between database queries are configured through Motive serverproperties.
Service Activation ManagerMotive product that automates service activation for broadband subscribers. The Service Activation Manager softwareenables subscribers to turn up high-speed data and IP-based services without having to call a customer servicerepresentative (CSR) or request an onsite technician visit. The software can offer and fulfill IP-based services duringactivation events and increase adoption rates for existing and new services. Motive configures all necessary elementsof an IP-based service through multiple fulfillment models, including web-only (or “CD-less”), CD-only, or a combinationCD and web solution.
Service Management Platform (SMP)The Motive Product Group software infrastructure for modeling services along with the management operationsassociated with endpoints on which the services depend. Example services include broadband, mobile, and FMC(fixed mobile convergence). In particular, operators use SMP to execute single endpoint operations (retrieve/configure)and to run end-to-end service diagnostic tests and automated actions for a given service subscription. The ServiceManagement Platform includes a server runtime environment and several design-time tools.
The server runtime environment is installed on a WebLogic Server domain with an Administration Server and acluster of Managed Servers. The WebLogic Server domain is either a standalone domain for SMP or an existingdomain on which one or more products run in addition to SMP. Depending on the solution and deployment, theManaged Servers may communicate with one or more data source servers such as device management servers referredto as managers and/or AquaLogic, MySQL, and Composite.
The design-time tools include Model Builder, Overlay Builder, and Configuration Manager. These tools enable yourteam to author deployment-specific content based on supported services and endpoints. The resulting content is inthe form of various models, overlays, and test modules, including those created for operation implementations. The
53
builders are installed on the content author's desktop while the Configuration Manager is deployed on the ManagedServers in the server runtime environment.
The Managed Servers also host SMP's Endpoint Operations, NBIService, and Policy web services.
SMP RepositoryAn operational database for storage and maintenance of the operation implementations and corresponding endpointoperations. The Endpoint Operations API gathers information from the SMP Repository in response to client requests.
SNMP (Simple Network Management Protocol)The protocol that governs network management and the monitoring of network devices and their functions. SNMPis not limited to TCP/IP networks.
SSL (Secure Sockets Layer)A secure Internet communication protocol.
standard deploymentThe Home Device Manager architecture that includes a single WebLogic Server domain in the trusted network. Thedomain (HDMDomain) includes an Administration Server and a cluster of application servers (HDMCluster).Typically, the standard deployment also includes one or more Bastion Web Servers in a DMZ. A Bastion Web Serverredirects device communication from the DMZ to the trusted network.
Compare to distributed domain deployment.
STUN (Simple Traversal of User Datagram Protocol (UDP) Through Network Address Translators(NATs)) Server
An Internet-facing server that implements the STUN protocol to set up UDP communication with a device behind aNAT in the subscriber environment. The STUN Server creates the binding by informing a device (STUN client) of thetype of NAT with which it is associated, along with the public IP address and port number for the NAT. The bindingenables the Auto-configuration Server (ACS) to send connection requests for Inform messages to the STUN clientthrough a UDP (User Datagram Protocol) Connection Request Proxy Server.
subscriberIn industry usage, an individual who pays for Internet access or other services from a provider.
In Motive usage, an end-user who uses Motive software as a result of purchasing services from a provider.
TCP Connection Request Proxy ServerA Connection Request Proxy Server that passes connection requests from the Auto-configuration Server (ACS) to aTR-069 WAN-connected device. In turn, the device sends an Inform message to the ACS.
telemetryDiagnostic data gathered from a subscriber system or backend system. For example, the amount of disk space istelemetry collected from the subscriber system, and outage status is telemetry collected from a backend system.Telemetry is the primary data source used to solve problems in the self-service and assisted service models.
Glossary54
test moduleA configuration that a client or an SMP API runs to execute a particular overlay and the model on which it is built.The test module defines the configuration that determines the manner in which the modeling process is executed.Deployment teams configure a test module through the Configuration Manager after having developed the associatedmodel and overlay.
TR-069The CWMP protocol defined by the Broadband Forum. See the Broadband Forum [http://www.broadband-forum.org/]for the TR-069 report that documents the protocol.
TR-111An extension of the Broadband Forum's TR-069 protocol for remotely managing devices connected to LANs throughNATs. Examples of such devices include VoIP phones, media set-top boxes, and gaming systems. See the BroadbandForum [http://www.broadband-forum.org/] for the TR-111 report that documents the extension.
Transfer Complete Inform messageOn devices that support the TR-069 protocol, an Inform message that occurs when a previously requested downloador upload (successful, or unsuccessful) completes.
UDP (User Datagram Protocol) Connection Request Proxy ServerA Connection Request Proxy Server that implements the UDP protocol to pass connection requests from theAuto-configuration Server (ACS) to a TR-111 device. In turn, the device sends an Inform message to the ACS. Thecommunication is possible as a result of the binding that a STUN Server creates on the device.
Value Change Inform messageOn devices that support the TR-069 protocol, an Inform message that occurs based on a change to one of the parametervalues included in the Inform message. The values included in the Inform message are described in the BroadbandForum TR-069 protocol specification.
WAN (wide area network)A computer network that spans a relatively large geographical area. Typically, a WAN consists of two or more localarea networks (LANs).
Web proxy tierCollective reference to any Bastion Web Servers and Connection Request Proxy Servers in a DMZ of a Home DeviceManager deployment.See also application tier, protocol tier.
web serviceSoftware that supports interoperable machine-to-machine interaction over a network. Other systems interact with theWeb service's interface typically using XML over HTTP and other web standards. Applications written in differentlanguages and running on various platforms can use web services to exchange data over networks like the Internet.
WebLogic Administration ServerSee Administration Server.
WebLogic Managed ServerSee Managed Server.
55
WebLogic Server domainA logically related group of WebLogic Servers for management as a unit. The domain always includes a WebLogicAdministration Server and additional WebLogic Server instances called Managed Servers.
Wi-Fi (Wireless Fidelity)High-frequency WLAN. Wi-Fi is specified in the 802.11b specification from the IEEE [http://www.ieee.com] and ispart of a series of wireless specifications together with 802.11, 802.11a, 802.11b, and 802.11g. All four standards usethe Ethernet protocol and CSMA/CA (carrier sense multiple access with collision avoidance) for path sharing.
WLAN (wireless local area network)A LAN that sends and receives data through radio, infrared optical signals, or other technology. WLANs do notrequire a physical connection between the wireless device and the hub.
Glossary56
AaddObject, 25audience, vii
Bbest practices, 21builders
SMP, 6
Ccall
web service, 2captureDevice, 26capturing devices, 21
multiple operations, 22certificatefile, 20checkOnline, 26client
JMS, 3communication
between HDM data source and HDM servers, 2Communication via JMS, 3configuration
requirements, 6connection parameters, 20
certificatefile, 20configuring mandatory, 6disableCaptureConstraint, 21, 22hostname, 20jmsJndiUrl, 21password, 20resulttimeout, 20username, 20useSynchWebService, 21
conventionsdocumentation, viii
createInstanceOfDatasourceClass, 27
Ddata model
device type, 22data types, 23deleteObject, 27deployment
architecture, 2descriptions
method, 25device type
data model, 22devices
capturing, 21releasing, 21
disableCaptureConstraint, 21, 22domain
WebLogic server, 2downloadConfig, 28downloadFirmwareImage, 28
EexecuteAction, 29executeFunction, 29
FfactoryReset, 30findDevicesBySubscriberId, 30findDevicesByTemplate, 31
GgetAvailableFirmwares, 32getCachedDeviceDataParameters, 32getDynamicVariables, 33getParameterAttributes, 33getParameterNames, 34getParameterValues, 35getServiceTags, 35getUserTags, 36
57
Index
Hhostname, 20
Iinfrastructure
JMS, 2
JJMS
client, 3communication via, 3topic, 3
JMS infrastructure, 2jmsJndiUrl, 21
Mmethod
addObject, 25captureDevice, 26checkOnline, 26createInstanceOfDatasourceClass, 27deleteObject, 27descriptions, 25downloadConfig, 28downloadFirmwareImage, 28executeAction, 29executeFunction, 29factoryReset, 30findDevicesBySubscriberId, 30findDevicesByTemplate, 31getAvailableFirmwares, 32getCachedDeviceDataParameters, 32getDynamicVariables, 33getParameterAttributes, 33getParameterNames, 34getParameterValues, 35getServiceTags, 35getUserTags, 36reboot, 36releaseDevice, 37removeDynamicVariable, 37removeServiceTag, 38removeUserTag, 38rerunEventTriggeredPolicy, 39runEventTriggeredPolicies, 39
setDynamicVariable, 39setParameterAttributes, 40setParameterValues 2.3 style, 41setParameterValues 3.0 style, 41setServiceTag, 42setUserTag, 43summary, 24
migrating modelsfrom SetParameterValues 2.3 style, 22
modelnon-distributed, 2
modelsSMP, vii
NNBIService, 2non-distributed model, 2northbound systems, 22
OOverlay Builder, vii
Pparameters
connection, 20password, 20protocol
T3, 3T3S, 3
Rreboot, 36releaseDevice, 37releasing devices, 21
multiple operations, 22removeDynamicVariable, 37removeServiceTag, 38removeUserTag, 38requirements
configuration, 6rerunEventTriggeredPolicy, 39resulttimeout, 20runEventTriggeredPolicies, 39
Index58
SsetDynamicVariable, 39setParameterAttributes, 40SetParameterValues
2.3 style, 22setParameterValues 2.3 style, 41setParameterValues 3.0 style, 41setServiceTag, 42setUserTag, 43SMP builders, 6SMP models, viisystems
northbound, 22
TT3
protocol, 3T3S
protocol, 3topic
JMS, 3TR-069, vii, 22, 25, 27, 32, 33, 35, 41trust relationship
WebLogic inter-domain, 6
Uusername, 20useSynchWebService, 21
Wweb service call, 2WebLogic
inter-domain trust relationship, 6WebLogic Server domain, 2
59
Index60
top related