> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tangoanalytics.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Cisco IOS XE

# Integrating IOS XE telemetry

We use the **gRPC TLS Dial-Out** based mechanism. Telemetry is pushed from the device to the collector, and the subscription is created by a network administrator.

## Supported devices

* Managed Cisco WLCs, starting from **Cisco 9800-series**, running IOS XE **17.6 or higher**

## Preliminary checks

#### HTTP server status

```shell theme={null}
show ip http server secure status
```

Expected:

```
HTTP secure server status: Enabled HTTP secure server port: 443 
```

If not, run:

```
ip http secure-server 
```

#### NETCONF-YANG status

```shell theme={null}
show platform software yang-management process
```

Expected:

```
confd            : Running 
nesd             : Running 
syncfd           : Running
```

If not, run:

```
netconf-yang
```

## Telemetry subscriptions

1. Request the following information from Locatee:
   1. Client certificate
   2. Client private key
   3. Destination host and port
2. Configure the IOS XE trust point:

```
crypto pki trustpoint <NAME>-ROOT-CA
  enrollment terminal
  chain-validation stop
  revocation-check none
exit
crypto pki authenticate <NAME>-ROOT-CA
	<< paste contents of root.pem >>
quit
```

3. Configure the controller for wireless client readouts:

```shell theme={null}
# Enable Wireless Client Probing
wireless probe filter

# Use the default RSSI averaging algorithm for processing wireless probes
location algorithm rssi-average

# Expire RSSI probes after 300 seconds
location expiry client 300

# disable that APs hold back RSSI measurements) 
location notify-threshold client 0

# Configures the Half-Life time for the rssi-averaging algorithm to calculate a stable RSSI value for the clients
location rssi-half-life client ENM_HALF_LIFE_TIME_180

# Include also LAA mac addresses in probe results, otherwise associated LAA clients will not get RSSI measurements reported
wireless probe locally-administered-mac
```

3. Configure the IOS XE telemetry subscriptions:

```
no telemetry ietf subscription 1231
telemetry ietf subscription 1231
 encoding encode-kvgpb
 filter xpath /wireless-client-oper:client-oper-data/common-oper-data
 stream yang-push
 update-policy periodic 12000
 receiver ip address <HOST> <PORT> protocol grpc-tls profile <NAME>-ROOT-CA

no telemetry ietf subscription 1232
telemetry ietf subscription 1232
 encoding encode-kvgpb
 filter xpath /wireless-client-oper:client-oper-data/dot11-oper-data
 stream yang-push
 update-policy periodic 12000
 receiver ip address <HOST> <PORT> protocol grpc-tls profile <NAME>-ROOT-CA

no telemetry ietf subscription 1233
telemetry ietf subscription 1233
 encoding encode-kvgpb
 filter xpath /wireless-client-oper:client-oper-data/policy-data
 stream yang-push
 update-policy periodic 12000
 receiver ip address <HOST> <PORT> protocol grpc-tls profile <NAME>-ROOT-CA

no telemetry ietf subscription 1234
telemetry ietf subscription 1234
 encoding encode-kvgpb
 filter xpath /wireless-client-oper:client-oper-data/dc-info
 stream yang-push
 update-policy periodic 12000
 receiver ip address <HOST> <PORT> protocol grpc-tls profile <NAME>-ROOT-CA

no telemetry ietf subscription 1240
telemetry ietf subscription 1240
 encoding encode-kvgpb
 filter xpath /wireless-location-oper:location-oper-data/location-rssi-measurements
 stream yang-push
 update-policy periodic 12000
 receiver ip address <HOST> <PORT> protocol grpc-tls profile <NAME>-ROOT-CA
```

4. Check subscription status by monitoring the following commands for errors:

```shell theme={null}
show telemetry ietf subscription all detail
show telemetry internal connection
show platform software trace message mdt-pubd chassis active R0
```
