ExcludeByDeviceStatus

Metreos.Native.CiscoDeviceList.ExcludeByStatus

Summary

The ExcludeByDeviceStatus action is used to query (by exclusion) the device information cache located on the Cisco Unified Application Server using the device status as the exclusion criteria, in order to retrieve information on one or more devices.

Usage

ExcludeByDeviceStatus performs a search by searching the entire database for all rows that do not match the specified device status and returns the results in a System.Data.DataTable variable. A common practice is to pass this variable into a CustomCode block for parsing the data within it.

Every action parameter specified in this action is used to further refine the actual query on the underlying Cisco Unified Application Server database using AND logic.

The resulting DataTable is an object comprised of rows and columns, with the number of resulting rows corresponding to the number of devices matched by the query. The name of the colums correspond to device attributes retrieved from the device cache database. The following list is the name of the columns comprising each row in the DataTable, which one would use when using C# to parse out the results from the table:

Name

The name of the device, such as SEPXXXXXXXXXXXX. This should not ever be null.

IP

The IP address of the device. This will be "" if undefined.

Description

The description of the device. This will be "" if undefined.

SearchSpace

The Calling Search Space of the device. This will be "" if undefined.

Pool

The Device Pool of the device. This will be "Unknown" if undefined.

Status

The Status of the device. This will be "0" if undefined.

TYPE

The type of the device. This will be "1" if undefined.

CCMIP

The IP address of the publisher node of the cluster that the device is registered to. This should not ever be null.

Remarks

Only Registered and FoundAndUnregistered devices can be returned for Cisco Unified Communications Manager 5.x and 6.x, so for best-case compatibility, you should assume this behavior in your application.

The DeviceListX provider polls every 2 hours (configurable). This means that the local Cisco Unified Application Environment device cache can be out of date with current phone information. If testing and developing with a phone that has just come online, manually invoke a refresh of the database by navigating to mceadmin > Providers > Cisco DeviceListX Provider > Invoke Extension to re-synchronous the cache.

Action Parameters
Parameter Name.NET TypeDefaultDescription
Status *Metreos.Interfaces.ICiscoDeviceList+StatusCodesRegisteredThe Status action parameter can used to restrict the query to devices not matching the specified status value. Note that in Cisco Unified Communications Manager 5.x/6.x, only Registered and FoundAndUnregistered devices are returned so this field has less value for those versions since NotFound is not supported.
NotFound

The device is configured in the Cisco Unified Communications Manager database, but is not registered or connected in any way.

Registered

The device is registered to the Cisco Unified Communications Manager. Only for this status should one expect a valid value for the IP address of the device.

FoundAndUnregistered

The device is or recently was connected to the Cisco Unified Communications Manager, but is not registered.

CallManagerIPSystem.StringThe CallManagerIP action parameter can be used to restrict the query to devices not matching the specified Cisco Unified Communications Manager publisher IP address.
Result Data
Parameter Name.NET TypeDescription
ResultDataSystem.Data.DataTableA .NET System.Data.DataTable that contains rows and columns corresponding to the devices and attributes returned for the query.
ResultCountSystem.Int32The number of devices returned by the exclusion.

Branch Conditions 

Success

No description.

Failure

No description.