Provisioning Web Services (PWS)

This chapter provides an overview of PWS, and describes the PWS data types, PWS operations, and some sample use cases of PWS usage in Prime Cable Provisioning.

Overview

The Provisioning Web Services (PWS) component provides a SOAP based web interface that supports provisioning operation. The provisioning services include functionalities such as: adding, retrieving, updating, and removing objects necessary to support the provisioning and configuration generation of CPEs. The PWS objects include devices, classes of service, DHCP criteria, groups, and files.

The PWS component manages the following activities:

Exposes a provisioning web service that provides functionality similar to the current API client.

Supports stateless interactions.

Supports both synchronous and asynchronous requests.

Supports singular and plural operations.

Supports both stop on failure and ignore on failure.

Supports request that can operate on multiple objects.

Supports SOAP v1.1 and 1.2.

Supports WSDL v1.1.

Support WS-I Basic Profile v1.1.

Support both HTTP and HTTPS transport.

The web service is hosted on a Tomcat container, and it is recommended that you install it on a separate server.

PWS Concepts

The PWS component provides the following functionalities for running an operation on the device:

Session Management

The session management functionality enables you to establish a session between the WS client and the RDU to process multiple requests from WS client. A WS client can establish connection with multiple RDUs simultaneously. The client runs a createSession operation, and in response receives a context object on successful authentication. The context object identifies the session between the client and the RDU, and can be used as an authentication token to run all the requests in the session.

The client closes the session after processing all the requests. The session also gets closed automatically after a configured period of idle time. The default idle timeout is configured using a command line script for all the sessions. If the session gets closed and the client tries to reestablish the session, the session gets reestablished with the same session id.

Transactionality

The PWS operations can be classified into two categories:

Single device operations - One operation for a single device. For single device operations, an operation is a single transaction in which all the changes are made or no change is made to the device.

Multiple device operations - One operation for multiple devices. For multiple device operations, the transaction scope can be set to include all devices, or have each device change in its individual transaction.

You can set the execution option, transactionPerItem, to true to retrieve the transaction data for each batch. The OperationStatus returned will contain the status of the entire operation as well as the individual status if multiple transactions are used.

Error Handling

When a PWS operation fails, you may receive the following SOAP faults:

ProvServiceException - A ProvServiceException is a generic fault that describes trouble with WS in handling the operation request.

AccessDeniedException - Indicates that the user does not have proper privileges or the credentials are wrong.

PWS Data Types

The following data types are defined in WSDL that are supported by PWS:

Group - Attribute that defines a group. The devices are assigned to a group based on a specific logical criterion.

Context - Attribute that defines the authentication data for a client or a client's session.

Options - Attribute that helps you to customize the WS client’s request either at the PWS level or the RDU level. The Options data type is categorized into the following two types:

– Execution Options - Used to customize the execution process of the WS client’s request. For example, you can run the client’s request in reliable mode. In case of reliable mode, when the RDU receives a reliable request, the RDU persists the batch until it executes successfully. If the RDU restarts or the WS client restarts, a record of the Batch is retained. The RDU stores the last 1000 reliable batch responses.

AUTOMATIC- This mode specifies that the RDU will perform all the necessary steps to activate the devices in a batch. The batch processing in this mode involves performing batch writes to the database, generating a new device, configuration the device the batch affects, downloading the new configuration to the appropriate DPE(s), and disrupting the device

NO_ACTIVATION - Disable the AUTOMATIC activation mode.

ConfirmationMode

NO_CONFIRMATION - This mode specifies that the RDU will allow the batch to proceed, even if there is an error or warning during device disruption.

CUSTOM_CONFIRMATION - This mode is currently ignored by the RDU and is equivalent to NO_CONFIRMATION.

PublishingMode

NO_PUBLISHING - This mode specifies that the RDU will not publish changes from this batch.

PUBLISHING_CONFIRMATION - This mode specifies that the RDU will publish the changes from this batch, but if the publishing fails, the RDU will fail the batch. RDU will roll back all the publishing changes and any changes made by the batch.

PUBLISHING_NO_CONFIRMATION- This mode specifies the RDU will publish the changes from this batch, but if publishing fails, the RDU will not fail the batch. RDU will roll back the publishing for this batch.

asynchronous

true - Activate asynchronous mode. The status of the web service operation will represent whether the RDU interaction was successful

false - Deactivate asynchronous mode. The web service operation is blocked until the RDU interaction completes.

The default value is false.

reliableMode

true - Activate reliable mode.

false - Deactivate reliable mode.

The default value is false.

timeout

Used to specify the timeout value in milliseconds.

stopOnFailure

true - RDU will not execute the consecutive batch if the current batch processing fails.

false - RDU will run all the batches even if any batch fails.

The default value is true.

transactionPerItem

true - RDU will return the result of each individual transaction.

false - No individual transaction result is available.

The default value is false.

– Operation Options - Used to customize the operation process of WS client’s request. For example, to retrieve the lease data from a getDevice() request, add the flag includeLeaseInfo in the getDevice() request and set its value to True. The individual properties of the lease data are retrieved in the response. If you want to delete the devices behind the managed device, add the flag deletedevicesbehind in the deleteDevice() or deleteDevices() request and set its value to True.

DeviceId - Attribute that allocates a unique identity to the device. The supported unique identities are types of device ids such as MACAddressType, DUIDType and FQDNType.

Properties - Attribute that defines the provisioning criteria for the devices. The provisioning criteria is defined in terms of key-value list, where the key and value are both strings.

SearchResult - Attribute that is used to retrieve the search results.

Search - Attribute used to search devices, files, and groups based on a specific logical criterion. The QueryType attribute is used to define the logical criterion for the search operation. Table 8-2 describes the supported logical criteria for the search operation.

Table 8-2 QueryType for Search Operation

QueryType

Description

DeviceSearchByCOS

Used to search devices that are associated with a specific class of service.

DeviceSearchByDHCPCriteria

Used to search devices that are associated with a specific DHCP criteria.

DeviceSearchByDefaultCOS

Used to search devices that are associated with the default class of service of a specific device type.

DeviceSearchByDefaultDHCPCriteria

Used to search devices that are associated with the default DHCP criteria of a specific device type.

DeviceSearchByDeviceType

Used to search devices that are associated with a specific device type.

DeviceSearchByGroupName

Used to search devices that are associated with a specific group.

DeviceSearchByProvGroupName

Used to search devices that are associated with a specific provisioning group

DeviceSearchByDeviceIdPattern

Used to search devices that are associated with a specific device identifier pattern. For example, you can use this attribute to search all the devices whose MAC address starts with “1,6,”.

DeviceSearchByOwnerId

Used to search devices that are associated with a specific owner identifier. For a search request with this QueryType, no paging support is available from RDU and all the devices associated with this specific owner id are retrieved in a single instance.

FileSearchByFileNamePattern

Used to search files that are associated with a specific file name pattern.

FileSearchByFileType

Used to search files that are associated with a specific file type.

GroupSearchByGroupType

Used to search groups that are associated with a specific group type.

GroupSearchByRelatedGroup

Used to search groups that are related to specific group.

GroupSearchByGroupNamePattern

Used to search groups that are associated with a specific group name pattern.

CosSearchByDeviceType

Used to search class of services that are associated with a particular device type. For a search request with this QueryType, no paging support is available from RDU and all the class of services associated with this specific DeviceType are retrieved in a single instance.

DHCPCriteriaSearch

Used to search the DHCP Criteria. For a search request with this QueryType, no paging support is available from RDU and all DHCP criteria are retrieved in a single instance.

PropertyFilter - Attribute that specifies the properties that you want to include in the response. If the PropertyFilter data type is set, only the listed properties will be returned.

OperationStatus - Attribute that displays the response of a web service operation.

DeviceOperationStatus - Attribute that displays the response of a web service operation on devices that involves returning operation result for multiple devices. In addition to the attributes of OperationStatus data type, this object also includes a device object. On success a device object with a SUCCESS code is returned. On failure, the operation status is returned with the description about the issue/failure.

DevicesBehindOperationStatus - Attribute that displays the response of a web service operation on list of devices behind the specified devices.

DeviceTypeOperationStatus - Attribute that displays the response of a web service operation on a specific device type, for example; Computer, DOCSISModem, PacketCableMTA, CableHomeWanMan, CableHomeWanData, and STB. In addition to the attributes of OperationStatus data type, this object also includes a DeviceType object. On success, a DeviceType object with a SUCCESS code is returned. On failure, the operation status is returned with the description about the issue/failure.

LeaseResultsOperationStatus - Attribute that displays the response of a web service operation for DHCP lease information query. In addition to the attributes of OperationStatus data type, this object also includes a DHCPLeaseinfo object. On success a DHCPLeaseinfo object with a SUCCESS code is returned. On failure, the operation status is returned with the description about the issue/failure.

ClassOfServiceOperationStatus - Attribute that displays the response of a web service operation for a class of service query. In addition to the attributes of OperationStatus data type, this object also includes a ClassOfService object. On success a ClassOfService object with a SUCCESS code is returned. On failure, the operation status is returned with the description about the issue/failure.

DHCPCriteriaOperationStatus - Attribute that displays the response of a web service operation for a DHCP criteria query. In addition to the attributes of OperationStatus data type, this object also includes a DHCPCriteria object. On success a DHCPCriteria object with a SUCCESS code is returned. On failure, the operation status is returned with the description about the issue/failure.

FileOperationStatus - Attribute that displays the response of a web service operation for a File query. In addition to the attributes of OperationStatus data type, this object also includes a File object. On success, a File object with a SUCCESS code is returned. On failure, the operation status is returned with the description about the issue/failure.

GroupOperationStatus - Attribute that displays the response of a web service operation for a group query. In addition to the attributes of OperationStatus data type, this object also includes a Group object. On success, a Group object with a SUCCESS code is returned. On failure, the operation status is returned with the description about the issue/failure.

PWS Operations

A Java like syntax is used to denote the operations of the Provisioning Web Service.

Session Operations

Authenticates a client and establishes a session between PWS client and the PWS

Pre-Condition

All parameters are required.

Post-Condition

A successful call will result in a Context object returned that can be used for all future requests.

Execution Options

None

Operation Options

None

Usage Restrictions

Authorization - The user must have a valid account in either the RDU or an external AAA.

Concurrent Access - There is no limitation on the number of concurrent access of this interface. Concurrent calls results in concurrent RDU requests.

Error Handling

AccessDeniedException - User does not have proper privileges or credentials are wrong.

ProvServiceException - The specified RDU is not reachable. A ProvServiceException is a generic fault that reflects the WS has trouble satisfying the operation request. If this error is displayed it suggests that no sessions could be established with an RDU for example, Connection info is wrong, RDU not reachable, or some internal error. The fault should contain some info to allow the client to take corrective action e.g. Fix the distribution.

Table 8-4 Closing a Session

Operation

OperationStatus closeSession(Context context)

Description

Releases the session between the user and the web service including closing and connection with Prime CP components.

Pre-Condition

A valid context must be provided

Post-Condition

A successful call will result in the context being released. No further requests using this context will be allowed.

Execution Options

None

Operation Options

None

Usage Restrictions

Authorization - The user must have a valid context.

Concurrent Access - There is no limitation on the number of concurrent access of this interface.

Error Handling

AccessDenied - User does not have proper privileges or credentials are wrong.

includeLeaseInfo - Include DHCP lease info in both IPv4 and IPv6 in the result. DHCP lease information will be retrieved from provisioning group DHCP server(s). If no DHCP server responds, an error condition is returned. If a DHCP server does respond, but there is no active lease, no lease information will be included in the result and there will be no error returned.

Usage Restrictions

Authorization – Can only be called by authenticated users with valid context and proper privileges to read the object.

Concurrent Access - There is no limitation on the number of concurrent access of this operation.

Error Handling

AccessDeniedException – User does not have proper privileges or credentials are wrong.

ProvServiceException – The device id contains invalid or missing data or uniqueness constraints were violated. Device does not exist.

includeLeaseInfo - Include DHCP lease info in both IPv4 and IPv6 in the result. DHCP lease information will be retrieved from provisioning group DHCP server(s). If no DHCP server responds, an error condition is returned. If a DHCP server does respond, but there is no active lease, no lease information will be included in the result and there will be no error returned.

Usage Restrictions

Authorization – Can only be called by authenticated users with valid context and proper privileges to read the object.

Concurrent Access – There is no limitation on the number of concurrent access of this operation.

Error Handling

ProvServiceException – The device id contains invalid or missing data or uniqueness constraints were violated. Device does not exist.

Retrieve the list of devices downstream of a specific device. Either the device ids or the entire device object is returned.

Pre-Condition

Context must be valid.

A valid device ID must be provided.

PropertyFilter argument is optional. If null, all properties are returned. Otherwise all properties specified will be returned.

Options argument is optional. If null, default execution options will be used.

Post-Condition

A successful call will result in the DevicesBehindOperationStatus object which in turn includes the list of device objects. This operation will only return device ids or device objects that are behind this device.

Retrieve the list of devices downstream of the specified devices. Either the device IDs or the entire device object is returned.

Pre-Condition

Context must be valid.

A valid list of device IDs must be provided containing at least one device id.

PropertyFilter argument is optional. If null, all properties are returned. Otherwise all properties specified will be returned. Is present, will apply to all devices.

Options argument is optional. If null, default execution options will be used. Options present will apply to all devices.

Post-Condition

A successful call will result in the list of DevicesBehindOperationStatus which in turn holds the list of target devices. This operation will only return device ids or device objects that are behind the devices.

A valid Device must be provided to serve as a template of changes to make. Any non-null value will be used to update that respective field. All property and their values found in Properties will be either added if the property does not exist or updated if it does exist. PropertiesToDelete specifies those properties to be removed from the Device object.

Options argument is optional. If null, default execution options will be used.

This operation applies the data associated with a specific device object to all the devices specified in the list of device IDs. The properties that are excluded for this operation are deviceIds, hostName, fqdn, and embeddedDevices.

Pre-Condition

Context must be valid.

A valid list of DeviceId must be provided containing at least one device id.

A valid Device must be provided to serve as a template of changes to make. Any non-null value will be used to update that respective field. The changes will be applied to all specified devices. All property found in Properties will be either added if the property does not exist or updated if it does exist. PropertiesToDelete specifies those properties to be removed from the Device object.

Options argument is optional. If null, default execution options will be used. Options present will apply to all devices.

If present in the device object passed into this operation, the changing device id is ignored in this operation.

Change of deviceIsd is not supported.

Post-Condition

A list of OperationStatus objects will be returned. A successful call will result in all devices being updated.

deleteDevicesBehind– A boolean flag to determine whether to delete the devices (if any) behind the specified IP device. If deleteDevicesBehind flag is set to “true”, all devices behind the specified device will be deleted. If deleteDevicesBehind flag is set to “false”, unregistered devices behind the specified device will be deleted. Registered devices will have their discovered DHCP data and provisioning group relationship delete leaving only their registered data. The default value is false.

Usage Restrictions

Authorization – Can only be called by authenticated users with valid context and proper privileges to delete the object.

Concurrent Access - There is no limitation on the number of concurrent access of this operation.

Error Handling

AccessDeniedException – User does not have proper privileges or credentials are wrong.

deleteDevicesBehind– A boolean flag to determine whether to delete the devices (if any) behind the specified IP device. If deleteDevicesBehind flag is set to “true”, all devices behind the specified device will be deleted. If deleteDevicesBehind flag is set to “false”, unregistered devices behind the specified device will be deleted. Registered devices will have their discovered DHCP data and provisioning group relationship delete leaving only their registered data. The default value is false.

Usage Restrictions

Authorization – Can only be called by authenticated users with valid context and proper privileges to delete the object.

Concurrent Access - There is no limitation on the number of concurrent access of this operation.

Options argument is optional. If null, default execution options will be used.

Post-Condition

A successful call will result in device being unregistered. If the device is registered, transition the device to the unregistered state. If the device is unregistered, it will be deleted from the database.

A valid list of DeviceIds must be provided containing at least one device.

Options argument is optional. If null, default execution options will be used. Options are applied to the transaction as a whole.

Post-Condition

A successful call will result in all specified device being unregistered. If a device is registered, transition the device to the unregistered state. If a device is unregistered, it will be deleted from the database.

Retrieves all known DHCP lease information about the specified IP Address.

Pre-Condition

Context must be valid.

A valid device ID must be provided.

IPAddress must be provided and can be either in IPv4 or IPv6 format.

An optional list of provisioning groups to search. If null, DHCP servers in all provisioning groups are queried.

Options argument is optional. If null, default execution options will be used.

Post-Condition

A successful call will result in DHCP both IPv4 and IPv6 lease query information returned. DHCP lease information will be retrieved from provisioning group DHCP server(s). If no DHCP server responds, an error condition is returned. If a DHCP server does respond, but there is no active lease, no lease information will be included in the result and there will be no error returned.

Submit a request to the RDU's Configuration Regeneration Service to regenerate configurations for the set of devices that match the specified search criteria.

Pre-Condition

Context must be valid.

A valid Search must be provided. Search.query and Search.maxResults are the only required fields.

Options argument is optional. If null, default execution options will be used.

Post-Condition

This operation returns immediately. A success signifies that it has been queued by the RDU for processing. The returned OperationStatus will contain the batch id that can be used to monitor the status of the regeneration.

Generic Device Operation

A generic operation that sends an opaque command and parameters to all specified devices.

Pre-Condition

Context must be valid.

A valid list of one or more DeviceIds must be provided.

A valid DeviceCommand specifying the device specific operation must exist. The command and its arguments are opaque to the service. Example of operations includes generation device's configuration, resetting the device, and enabling SNMP v3 access to the device. Each DeviceCommand includes an optional set of parameters that are specific to the type of command being executed.

Options argument is optional. If null, default execution options will be used.

Post-Condition

A successful call will result in a list of asynchronous batch status being returned. The asynchronous batch status can be used for further query in pollOperation.

A valid ClassOfService attribute must be provided. Any non-null value will be used to update that respective field. All the properties and their values are either added if the properties does not exist, or updated if the properties exist. In 5.0, renaming a COS will not be supported. PropertiesToDelete specifies those properties to be removed from the ClassOfService object.

Options argument is optional. If null, default execution options will be used.

A valid DHCPCriteria must be provided. Any non-null value will be used to update that respective field. All property and their values found in Properties will be either added if the property does not exist or updated if it does exist. In 5.0, renaming a DHCPCriteria will not be supported. PropertiesToDelete specifies those properties to be removed from the DHCPCriteria object.

Options argument is optional. If null, default execution options will be used.

PropertyFilter is optional. If null, only the file’s properties will be returned and not the data. If a PropertyFilter is provided with the property fileData, all the properties including data will be returned through MTOM. Also, if retrieveFileData is set to true, all properties including the data will be returned.

Options argument is optional. If null, default execution options will be used.

Post-Condition

A successful call will result in specified File properties or data being returned.

A valid File must be provided. Any non-null value will be used to update that respective field. All property and their values found in Properties will be either added if the property does not exist or updated if it does exist. In 5.0, renaming a file is not supported. PropertiesToDelete specifies those properties to be removed from the File object.

Options argument is optional. If null, default execution options will be used.

A valid Group must be provided. Any non-null value will be used to update that respective field. All property and their values found in Properties will be either added if the property does not exist or updated if it does exist. PropertiesToDelete specifies those properties to be removed from the Group object.

Options argument is optional. If null, default execution options will be used.

Authorization – Can only be called by authenticated users with valid context and proper privileges.

Concurrent Access - There is no limitation on the number of concurrent access of this operation.

Error Handling

ProvServiceException – Missing required data such as request id.

Search Operation

Table 8-42 Search Operation

Operation

SearchResult search(Context context, Search search, Options options)

Description

This is a generic operation. Retrieves devices or classes of service or files or DHCP Criterion or groups based on the search criterion defined in search object.

Pre-Condition

Context must be valid.

A valid Search must be provided. Search.query is the only required field.

Options argument is optional, if null, default execution options will be used.

Post-Condition

A successful call will result in devices or classes of service or files or DHCP Criterion or groups objects being returned.

In 5.0, for device search based on owner id, Class of Service search and DHCP Criterion search, RDU doesn’t support paging while retrieving the matching results from the database. Hence for these types of search operations, all matching objects will be retrieved at one shot.

PWS Use Cases

The Prime Cable Provisioning Web Services (PWS) is a SOAP based service. The PWS Web Service Description Language (WSDL) describes the operations, messages, and data types used when interacting with the service. The PWS uses the document/literal wrapped style to encode SOAP message exchanges. With this approach the request and response messages are completely defined in W3C XML Schema. In addition, the request message takes the name of the operation while the response message takes the name of the operation with Response appended. The name prefixing can vary based on the SOAP framework being used. The following WSDL operation fragment illustrates the SOAP framework used for PWS:

The DeviceOperationStatus can return a device that matches the device ID provided in the request message. If no device is found, fault is returned.

This section illustrates some of the common device related operations and SOAP request/response messages that may be contained in them. For conciseness, only the request and response messages are depicted.

Note PWS can communicate only with Prime Cable Provisioning 5.0 RDU. It is not compatible with RDUs of earlier releases of Prime Cable Provisioning.

Registering a New Device

For a device to be operational in the home network and to get required access, a subscriber must connect the device to the network and register it. The device could be of type DOCSISModem, PacketCableMTA, CableHomeWanMan, CableHomeWanData, Set Top Box (STB), or computer.

Desired Outcome

Use this workflow to register a device and to bring the device online with the appropriate level of service.

Step 1Create a connection with the respective RDU by sending a create session SOAP request. The session SOAP request must contain user and RDU details as shown below:

Step 2 Create class of service required for registering the device using a SOAP request. The supported device types are DOCSISModem, Set Top Box (STB), PacketCableMTA, computer, CableHomeWanMan, and CableHomeWanData.

Step 5 Use the device ID such as MAC address or DUID or FQDN and the device type for adding a new device to the SOAP request. You can assign a group to the new device.

The add device SOAP request also passes the subscriber's information, Class of Service, DHCP Criteria, Hostname and domain to Prime Cable Provisioning, which then registers the subscriber's device such as modem and computer.

Unregistering a Device

A device can be unregistered from Prime Cable Provisioning using the unregister SOAP request. This deletes the records from the Prime Cable Provisioning and subscriber gets the appropriate service level.

Desired Outcome

Unregistering a device removes the device details from Prime Cable Provisioning and gets the unprovisioned level of service.

Use this workflow to unregister a device and to bring the device online with the appropriate level of service.

Step 1Create a connection with the respective RDU by sending a create session SOAP request. The session SOAP request must contain user and RDU details as shown below.

Getting DHCP Lease Information of a Device

A registered or unregistered device is assigned an IP address when it is provisioned. This IP address is used for collecting lease information such as, network register server state, and list of provisioning group in this lease.

Desired Outcome

Lists the details of the lease information from the Prime Cable Provisioning for the provisioned devices.

Use this workflow to collect the lease information of a device.

Step 1 Use an existing session or create a connection with the respective RDU by sending a create session SOAP request. The session SOAP request must contain user and RDU details as shown below.

Updating Device Details

You can update the device’s class of service, DHCP criteria, assign or unassign a group, and change or add properties. You can update any or all of this information as part of single updateDevice operation.

Embedded devices are not supported in Prime Cable Provisioning. The following workflow updates a single device. Before updating the device a new class of service and new dhcp criteria are added.

Desired Outcome

Prime Cable Provisioning regenerates the configuration file after updating the device with the required changes. The device then gets re-provisioned with updated level of service.

Use this workflow to update a device’s details and provision it with the updated level of service.

Step 1Create a connection with the respective RDU by sending a session SOAP request. The session SOAP request must contain user and RDU details as shown below.

Step 4 If you want to assign a group that is not yet created, create it using the following SOAP request.

<v5:addGroup> <v5:context> <!-- This session id is the response from the create session request --> <v51:sessionId>2F77B9B1A03B09F59438914BA3B20509E1661632</v51:sessionId> </v5:context> <v5:group><!-- The new group name and group type it belongs to; Group type should exists in the BAC server; system group type is the default group exists in BAC server --> <v51:name>GROUP2</v51:name> <v51:groupType>system</v51:groupType> </v5:group> </v5:addGroup>

Step 5 Use the device ID such as MAC address or DUID or FQDN and the device type to update the device details. You can update the subscriber’s details as well as assign or unassign the device to a group by using the following SOAP request.

Searching a Device

The subscriber has devices such as DOCSIS, MTA, DPoE and computer in Prime Cable Provisioning. These devices can be searched from the Prime Cable Provisioning and get the results as a list in SOAP response.

For all the supported search requests Search.query and Search.maxResults elements are required. Search.start is used to support paging across large search results. The first search operation must not include Search.start element. Its absence indicates that a new search is being initiated. A response to a search operation contains a SearchResult. SearchResult contains a next element which itself is a Search object. The entire content of the next element (query, start, size) should be used to page to the next batch of search results. The value of the start element is used by RDU’s internal paging mechanism. Hence, from second request onwards, Search.start is required to page over the results. At the end of the search process, an empty SearchResult where SearchResult.size equals zero will be returned.

<ns2:searchResponse xmlns:cptype="http://www.cisco.com/prime/xsd/cp/v5" xmlns:ns2="http://www.cisco.com/prime/cp/v5"> <ns2:results> <!-- Make sure that the size tag contains 0 and there is no next tag --> <cptype:size>0</cptype:size> </ns2:results></ns2:searchResponse>

Note You can also run search query based on different object types such as, device, Class of Service, DHCP Criteria, file and group. A sample search query pattern with these object types is shown below:

Supported Query Elements

The supported search elements in Prime Cable Provisioning 5.0 are:

Searching basic device details of a registered device with class of service as sample-gold-docsis :