Contents
- Cisco Open Plug-n-Play Agent
- Finding Feature Information
- Prerequisites for Cisco Open Plug-n-Play Agent
- Restrictions for Open Plug-n-Play Agent
- Information About Cisco Open Plug-n-Play Agent
- Cisco Open Plug-n-Play Deployment Solution
- Open Plug-n-Play Features
- Open Plug-n-Play Agent Services and Capabilities
- Cisco Open Plug-n-Play Agent
- Cisco Open Plug-n-Play Server
- Open Plug-n-Play Agent Deployment
- Open Plug-n-Play Agent Network Topology
- Open Plug-n-Play Agent Initialization
- Absence of Startup Configuration
- CLI Configuration for Open Plug-n-Play Agent
- Open Plug-n-Play Agent Deployment Solutions
- Open Plug-n-Play Agent Discovery Process
- Open Plug-n-Play Discovery through DHCP Server
- Open Plug-n-Play Discovery through DHCP Snooping
- Open Plug-n-Play Discovery through DNS Lookup
- Open Plug-n-Play Proxy Server for Layer 3 and Layer 2 Devices
- Open Plug-n-Play Agent Deployment Application
- Deployment Protocol
- Open Plug-n-Play Agent Application Protocol
- Transport over Ethernet
- Transport over IP
- Open Plug-n-Play Agent Security
- Transport Layer 3 Security
- Application Level Security
- Authentication and Authorization between Agent and Server
- How to Configure Cisco Open Plug-n-Play Agent
- Configuring Open Plug-n-Play Agent Profile
- Configuring Open Plug-n-Play Agent Device
- Configuring Open Plug-n-Play Reconnect Factor
- Configuring Open Plug-n-Play HTTP Transport Profile
- Configuring Open Plug-n-Play HTTPS Transport Profile
- Configuring Open Plug-n-Play XMPP Transport Profile
- Configuring Backup Open Plug-n-Play Device
- Configuring Backup Open Plug-n-Play Reconnect Factor
- Configuring Backup Open Plug-n-Play HTTP Transport Profile
- Configuring Backup Open Plug-n-Play HTTPS Transport Profile
- Configuring Backup Open Plug-n-Play XMPP Transport Profile
- Configuration Examples for Cisco Open Plug-n-Play Agent
- Configuring Cisco Open Plug-n-Play Agent
- Glossary
- Additional References for Open Plug-n-Play Agent
- Feature Information for Cisco Open Plug-n-Play Agent
Cisco Open Plug-n-Play Agent
Cisco Open Plug-n-Play Agent is a software application running on a Cisco IOS or IOS-XE device. When a device is powered on for the first time, the Open Plug-n-Play agent discovery process, which is embedded in the device, wakes up in the absence of the startup configuration file and attempts to discover the address of the Open Plug-n-Play server. The Open Plug-n-Play agent uses methods like DHCP, Domain Name System (DNS), and others to acquire the desired IP address of the Open Plug-n-Play server.
The Open Plug-n-Play agent converges existing solutions into a unified agent and adds functionality to enhance the current deployment solutions.
- Finding Feature Information
- Prerequisites for Cisco Open Plug-n-Play Agent
- Restrictions for Open Plug-n-Play Agent
- Information About Cisco Open Plug-n-Play Agent
- How to Configure Cisco Open Plug-n-Play Agent
- Configuration Examples for Cisco Open Plug-n-Play Agent
- Glossary
- Additional References for Open Plug-n-Play Agent
- Feature Information for Cisco Open Plug-n-Play Agent
Finding Feature Information
Your software release may not support all the features documented in this module. For the latest caveats and feature information, see Bug Search Tool and the release notes for your platform and software release. To find information about the features documented in this module, and to see a list of the releases in which each feature is supported, see the feature information table at the end of this module.
Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required.
Prerequisites for Cisco Open Plug-n-Play Agent
- The Cisco Open Plug-n-Play (PnP) deployment method depends on the type of discovery process as required by the customer.
- Deploy the discovery mechanism, either a DHCP server discovery process or a Domain Name Server (DNS) discovery process, before launching the PnP.
- Configure the DHCP server or the DNS server before deploying the PnP.
- Ensure that the PnP server talks to the PnP agent.
- The PnP agent enforces the PnP server to send user credentials for every request. Cisco recommends the usage of HTTP secure (HTTPS) protocol.
Restrictions for Open Plug-n-Play Agent
- Cisco Open Plug-n-Play (PnP) agent facilitates HTTP, extensible messaging and presence protocol XMPP) and HTTP secure (HTTPS) transport based communication with the server.
- HTTPS cannot be used on platforms where crypto-enabled images are not supported (also, do not use Secure Sockets Layer [SSL] or Transport Layer Security [TLS] protocols if crypto-enabled images are used).
Information About Cisco Open Plug-n-Play Agent
Cisco Open Plug-n-Play Deployment Solution
The Cisco initiated Open Plug-n-Play (PnP) deployment solution supports the concept of redirection and includes a PnP agent, a PnP server, and other components. Simplified deployment process of any Cisco device automates the following deployment related operational tasks:
- Establishing initial network connectivity for the device
- Delivering device configuration
- Delivering software and firmware images
- Delivering licenses
- Delivering deployment script files
- Provisioning local credentials
- Notifying other management systems about deployment related events
Simplified deployment attempts to reduce the cost and complexity, and to increase the speed and security of deployments.
The components are described in detail in the following sections.
Cisco Open Plug-n-Play (PnP) agent is a software application that is running on a Cisco IOS or IOS-XE device. When a device is powered on for the first time, the PnP agent process wakes up in the absence of the startup config and attempts to discover the address of the PnP server. The PnP agent uses methods like DHCP, Domain Name System (DNS), and others to acquire the desired IP address of the PnP server. When the PnP agent successfully acquires the IP address, it initiates a long lived, bidirectional layer 3 connection with the server and waits for a message from the server. The PnP server application sends messages to the agent requesting for information and services to be performed on the device.
The PnP agent converges existing solutions into a unified agent and adds functionality to enhance the current solutions. The main objectives of PnP agent are:
- Provide consistent day 1 deployment solution for all the deployment scenarios.
- Add new features to improve existing solutions.
- Provide day 2 management framework mainly in the context of configuration and image upgrades.
- Provide effortless deployment services as the PnP agent is an embedded software component running on a networking device which together with the deployment server.
- Open Plug-n-Play Features
- Open Plug-n-Play Agent Services and Capabilities
- Cisco Open Plug-n-Play Agent
- Cisco Open Plug-n-Play Server
- Open Plug-n-Play Agent Deployment
- Open Plug-n-Play Agent Network Topology
- Open Plug-n-Play Agent Initialization
Open Plug-n-Play Features
Some of the features that the Open PnP agent provides today are:
- Day 0 boot strapping—Configuration, image, licenses, and other files
- Day 2 management—Configuration and image upgrades and on-going monitoring of Simple Network Management Protocol (SNMP) and syslog messages.
- Open communication protocol—Enables customers and partners to write applications
- XML based payload over HTTP and Extensible Messaging and Presence Protocol (XMPP) between the server and the agent
- Security—Authentication and encrypted communication channel between the management app and the agent
- Deployment and management of devices behind firewall and Network Address Translation (NAT).
- Support for one-to-one and one-to-many communication
- Support for policy based deployment (product ID or location of the device)
- Deployment based on unique ID (Unique Device Identifier [UDI] or MAC)
- Unified solution across Cisco platforms (including IOS classic)
- Support for various deployment scenarios and use cases
- Zero-touch when possible, low-touch when needed
Open Plug-n-Play Agent Services and Capabilities
The services and capabilities of the Open Plug-n-Play (PnP) agent are as follows:
- Image install:
- Config Upgrade:
- Copies the configuration file from a file server
- Applies the configuration to the startup configuration file on the device
- Reloads the device
Note
The PnP Server provides an optional checksum tag to be used in the image installation and config upgrade service requests by the PnP agent. When the checksum is provided in the request, the image install process compares the checksum against the current running image checksum.
If the checksums are same, the image being installed or upgraded is the same as the current image running on the device. The image install process will not perform any other operation in this scenario.
If the checksums are not same, then the new image will be copied to the local file system, and checksum will again be calculated and compared against the checksum provided in the request. If same, the process will continue to install the new image or upgrade the device to new image. If now, the checksums are not same, the process will exit with error.
- License install: Installs license on the device
- Script execution: Provides capability to execute IOS sh scripts on the device
- Configuration CLI: Provides capability to execute config CLIs on the device
- EXEC CLI: Provides capability to execute EXEC commands on the devices and retrieves the output back in XML format
- File transfer: Provides capability to copy files from file server to the device
- Topology information: Provides capability to extract all the neighbor device information required to maintain topology of the network
- Device information: Provides capability to extract devices inventory and other important information
- PnP tagging: Provides capability to assign tags to the devices for better grouping and tracking of the devices
Cisco Open Plug-n-Play Agent
The Open Plug-n-Play (PnP) agent is an embedded software component that is present in all Cisco network devices that support simplified deployment architecture. The PnP agent understands and interacts only with a PnP server. The PnP agent first tries to discover a PnP server, with which it can communicate. Once a server is found and connection established, the agent performs deployment related activities like configuration, image, license, and file updates by communicating with the server. It also notifies the server of all interesting deployment related events like out-of-band configuration changes and a new device connection on an interface.
Cisco Open Plug-n-Play Server
The Open Plug-n-Play (PnP) server is a central server that encodes the logic of managing and distributing deployment information (images, configurations, files, and licenses) for the devices being deployed. The server communicates with the agent on the device that supports the simplified deployment process using a specific deployment protocol.
The PnP server also communicates with proxy servers like deployment applications on smart phones and PCs, or other PnP agents acting as Neighbor Assisted Provisioning Protocol (NAPP) servers, and other types of proxy deployment servers like VPN gateways.
The PnP server can redirect the agent to another deployment server. A common example of redirection is a PnP server redirecting a device to communicate with it directly after sending the bootstrap configuration through a NAPP server. A PnP server can be hosted by an enterprise. This solution allows for a cloud based deployment service provided by Cisco. In this case, a device discovers and communicates with Cisco’s cloud based deployment service for initial deployment. After that, it can be redirected to the customer’s deployment server.
In addition to communicating with the devices, the server interfaces with a variety of external systems like Authentication, Authorizing, and Accounting ( AAA) systems, provisioning systems, and other management applications.
Open Plug-n-Play Agent Deployment
The following steps indicate the Open Plug-n-Play (PnP) agent deployment on Cisco devices:
- The Cisco device, having PnP agent contacts the PnP server requesting for a task, that is, the PnP Agent sends its unique device identifier (UDI) along with a request for work.
- The PnP server if it has any task for the device, sends a work request. For example, image install, config upgrade, and so on.
- When the PnP agent receives the work request, executes the task and sends back a reply to the PnP server about the task status, whether it is a success or error, and the corresponding information requested.
Open Plug-n-Play Agent Initialization
The Open Plug-n-Play (PnP) agent software is currently available on all Cisco IOS and IOS XE platforms, and is enabled by default. The PnP agent can be initiated on a device by the following ways:
Absence of Startup Configuration
New Cisco devices are shipped to customers with no startup configuration file in the NVRAM of the devices. When a new device is connected to a network and powered on, the absence of a startup configuration file on the device will automatically trigger the Open Plug-n-Play (PnP) agent to discover the PnP server IP address.
CLI Configuration for Open Plug-n-Play Agent
Network administrators may use CLI configuration mode to initiate the Open Plug-n-Play (PnP) agent process at any time. By configuring a PnP profile through CLI, a network administrator can start and stop the PnP agent on a device. When the PnP profile is configured with CLI, the device starts the PnP agent process which, in turn, initiates a connection with the PnP server using the IP address in the PnP profile.
Open Plug-n-Play Agent Deployment Solutions
This section discusses the functionality of the Open Plug-n-Play (PnP) agent, exposed to the PnP server, for device deployment and management. The PnP agent deployment solution comprises the discovery process initiated by the agent, communication between the device, agent, and the server, and the PnP agent services. The PnP solution is described in detail in the following sections:
Open Plug-n-Play Agent Discovery Process
The Open Plug-n-Play (PnP) agent discovery phase results in acquiring the IP address of the PnP server. When a system boots up without a startup configuration file, the device will not have the IP configuration required to connect to the IP network. In such a scenario, DHCP discovery process is used to obtain the IP parameters needed for the device to have IP connectivity.
When the device boots up, the absence of any startup config on the NVRAM triggers the PnP discovery agent to acquire the IP address of the PnP server. In order to acquire the IP address of the PnP server, the PnP agent goes through one of the following discovery mechanisms:
- Open Plug-n-Play Discovery through DHCP Server
- Open Plug-n-Play Discovery through DHCP Snooping
- Open Plug-n-Play Discovery through DNS Lookup
- Open Plug-n-Play Proxy Server for Layer 3 and Layer 2 Devices
- Open Plug-n-Play Agent Deployment Application
Open Plug-n-Play Discovery through DHCP Server
Device with no startup configuration in the NVRAM triggers the Open Plug-n-Play (PnP) agent to initiate a DHCP discovery process which acquires the IP configuration from the DHCP server required for the device. The DHCP server can be configured to insert additional information using vendor specific option 43 upon receiving option 60 from the device with the string ‘cisco pnp’, to pass on the IP address or hostname of the PnP server to the requesting device. When the DHCP response is received by the device, the PnP agent extracts the option 43 from the response to get the IP address or the hostname of the PnP server. PnP agent then uses this IP address or hostname to communicate with the PnP server.
Assumptions:
Open Plug-n-Play Discovery through DHCP Snooping
If a third party DHCP server cannot be configured to insert any vendor specific options, an existing Open Plug-n-Play (PnP) enabled device can be configured to snoop in to the DHCP response and insert PnP specific option 43 with the PnP server IP address.
Before inserting the option 43, the snooping agent verifies if the DHCP message is from a Cisco device in the network. The remaining DHCP discovery process is same as described in the previous section.
Assumptions:
Open Plug-n-Play Discovery through DNS Lookup
When the DHCP discovery fails to get the IP address of the Open Plug-n-Play (PnP) server, the agent falls back on Domain Name System (DNS) lookup method. PnP agent then uses a preset deployment server name. The agent obtains the domain name of the customer network from the DHCP response and constructs the fully qualified domain name (FQDN). The following FQDN is constructed by the PnP agent using a preset deployment server name and the domain name information for the DHCP response, deployment.customer.com. The agent then looks up the local name server and tries to resolve the IP address for the above FQDN.
Assumptions:
Open Plug-n-Play Proxy Server for Layer 3 and Layer 2 Devices
In the absence of DHCP or Domain Name System (DNS) servers, an existing up and running Open Plug-n-Play (PnP) enabled device in the neighborhood network can be configured to act as a Cisco Open Plug-n-Play (PnP) Neighbor Assisted Provisioning Protocol (NAPP) server.
The NAPP server is part of PnP discovery phase. This server is invoked when the PnP Autonomic Networking based discovery (AN), DHCP, DNS, Cisco Cloud service (CCO) discovery mechanisms fail to connect to the PnP server.
This device listens to a specific port for any incoming PnP messages. The Cisco device which is trying to come up as a PnP device sends a UDP broadcast message to its network every 30 min for ten times. Hence, if the device does not receive a response, the broadcasts stop after 300 min.
When the device hosting the proxy server process receives the incoming broadcasts, it verifies the version field in the request and forwards the request to the PnP server if version validation is successful. The proxy server process also caches the unique device identifier (UDI) of the requesting client coming in via incoming datagram before forwarding the request to PnP server.
Upon receiving the configlet datagram from PnP server, the proxy server validates UDI in the incoming datagram with the entries in the UDI cache. If validation is successful, proxy server process broadcasts the datagram to a specific port number reserved for the proxy client processes to receive datagrams.
Upon receiving the datagrams, devices running proxy client processes, parse the incoming datagram for the target UDI. If the target UDI in the datagram matches the UDI of the device, proxy client process proceeds with framing, error control and configuring the configlet.
If the target UDI in the datagram fails to match UDI of the device, the packet is dropped.
Deployment Protocol
The deployment protocol is based on Extensible Messaging and Presence Protocol (XMPP). The following are the main features of an XMPP based deployment protocol:
- Simplicity and extensibility: XMPP offers a simple and light–weight messaging infrastructure based on XML. XMPP is also highly extensible to add any additional messaging semantics as needed for different capabilities.
- Rich set of existing services: XMPP already has a rich set of services defined like capabilities exchange, file transfers, and so on.
- Support for workflow: In addition to a simple request and response mechanism, XMPP offers the capability to execute a messaging workflow. This is useful when there is a need to implement features like certificate enrollments.
- Suitability for future capabilities: XMPP provides an extensible messaging framework for simplified deployment infrastructure. In future, messaging between two or more devices or between a device and a management application behind the deployment server can be easily accomplished with XMPP.
Though the deployment application protocol is based on XMPP, it can be run over different transports. These transports include Ethernet and IP with Transport Layer Security (TLS). Layer 2 transport is typically used between a deployment agent and a proxy deployment server like a deployment application or as a deployment agent acting as a proxy. Transport between an agent and a server is over an IP connection with TLS for security. Transport between a proxy deployment server and a deployment server is also over IP with TLS.
Open Plug-n-Play Agent Application Protocol
The Open Plug-n-Play (PnP) agent application protocol is an XML-based protocol that defines a mechanism that allows network devices to be monitored and controlled by a remote application. The PnP agent is a software module running on a Cisco device. The PnP server is an application running as the network manager that remotely manages the network devices.
- Supports both HTTP and extensible messaging and presence protocol (XMPP) protocols
- Supports transport level security (TLS) based encryption for both HTTP and XMPP
- Uses HTTP secure (HTTPS) certificate for TLS handshake
- Enables long lived bi-directional connection using XMPP
- Supports presence capabilities to know up and down events using XMPP
- Supports one-to-one and one-to-many messaging using XMPP
Transport over Ethernet
Ethernet based transport is used in the following two scenarios:
- Deployment agent communicating with a deployment application on a PC: In this case, the PC is connected to the device being deployed using an Ethernet cable. The deployment application advertises itself as a deployment server supporting Ethernet transport.
- Deployment agent communicating with an already deployed device acting as a proxy deployment server: In this case, the new device being deployed has an Ethernet connection to an already deployed device. The deployment agent on the deployed device responds to the discovery requests and acts as a proxy deployment server for the new device.
Once discovery is complete, the deployment agent starts an unsecured XML stream with the deployment server over Ethernet. This protocol reserves an Ethertype (0xXX TBD) for this purpose. The deployment agent and the server then negotiate to use Extensible Authentication Protocol–Transport Layer Security (EAP-TLS) to protect the communication and complete the EAP-TLS session establishment. The deployment server then authenticates the device with the HTTP secure (HTTPS) certificate or some other supported mechanism.
Transport over IP
Transport over IP is identical to standard Extensible Messaging and Presence Protocol (XMPP) transport between an XMPP client and an XMPP server. The deployment agent opens TCP connection to the deployment server and starts an XML stream of messages. The server can request the use of Transport Layer Security (TLS) at this time. The agent closes the existing XML stream, initiates a TLS connection to the server, and then restarts the XML stream. The server can request agent authentication over the TLS connection. Refer to RFC 3920 for the transport details for XMPP connections over IP.
Open Plug-n-Play Agent Security
Security to all Cisco Open Plug-n-Play (PnP) devices is provided at both transport level as well as the application level. The following sections describe the security mechanisms in detail:
- Transport Layer 3 Security
- Application Level Security
- Authentication and Authorization between Agent and Server
Transport Layer 3 Security
Pre-XMPP-handshake TLS connection on port 5223
The Extensible Messaging and Presence Protocol (XMPP) has port 5223 reserved for explicit Secure Socket Layer (SSL) based connections that can be used for the pre-XMPP-handshake Transport Layer Security (TLS) connection establishment in Open Plug-n-Play (PnP) solution network. This requires that the crypto-enabled image is running on the Cisco devices.
For non-crypto or non-crypto-enabled images, TLS security choice is not possible. One alternative minimum security is to have the PnP agent initiate the connection to the specified trusted PnP server on port 5222.
Application Level Security
XMPP SASL
All new PnP XMPP agents and XMPP servers uses XMPP as the application protocol for all PNP operations. The XMPP provides two in-band application-level securities—Transport Layer Security (TLS) and Simple Authentic and Security Layer (SASL).
The in-band TLS handshake requires significant infrastructure changes in OS system architecture level which might not be needed if the pre-XMPP-handshake TLS connection is secure enough. In-band TLS is not possible for non-crypto enabled images.
The in-band SASL validation can be used to validate some customized security exchange. The content of the SASL should be configurable. Some constant XMPP jabber–id related information should be avoided during the SASL validation to avoid presence leaking or resource leaking.
Authentication and Authorization between Agent and Server
Once the deployment agent discovers the deployment server, the agent engages the server in a Transport Layer Security (TLS) handshake. In order to authenticate itself to the server, the agent presents its HTTP secure (HTTPS) certificate. The administrator for the deployment server sets device authentication mechanisms which are acceptable for a particular deployment.
The deployment server presents its certificate to the deployment agent so that the agent can authenticate the server. Irrespective of whether the agent is able to verify the server certificate, the agent engages the deployment server in a post-TLS authorization exchange. In this exchange the agent requests the server to present its server authorization token. In response to this request the server presents the authorization token it had obtained from Cisco. The agent verifies the signature on the authorization token. If the authorization token is specific to a Unique Device Identifier (UDI), the agent also ensures its UDI is listed in the authorization-token. At the end of this step, a secure communication channel is established between the deployment agent and the server. This secure communication channel is leveraged by the server to send deployment information to the agent.
How to Configure Cisco Open Plug-n-Play Agent
Configuring Open Plug-n-Play Agent Profile
SUMMARY STEPS
1. enable
2. configure terminal
3. pnp profile profile-name
4. end
DETAILED STEPSConfiguring Open Plug-n-Play Agent Device
SUMMARY STEPS
1. enable
2. configure terminal
3. pnp profile profile-name
4. device {username username } {password {0 | 7} password}
5. end
DETAILED STEPSConfiguring Open Plug-n-Play Reconnect Factor
SUMMARY STEPSPerform the following task to configure the time to wait before attempting to reconnect a session in either fixed-interval-backoff, exponential-backoff, or random-exponential-backoff mode:
1. enable
2. configure terminal
3. pnp profile profile-name
4. reconnect [pause-time [exponential-backoff-factor [random] ] ]
5. end
DETAILED STEPSConfiguring Open Plug-n-Play HTTP Transport Profile
SUMMARY STEPSPerform the following task to create a HTTP transport profile of the Open Plug-n-Play (PnP) agent manually on a device.
Both IPv4 and IPv6 addresses can be used for PnP server IP configuration. Alternately, a hostname can also be used in the configuration to connect to the PnP server. Every profile can have one primary server and a backup server configuration. The PnP agent attempts to initiate a connection with the primary server first and if it fails, it will try the backup server. If the backup server fails, the PnP agent will attempt to connect to the primary server again. This will continue until a connection is established with one of the servers.
1. enable
2. configure terminal
3. pnp profile profile-name
4. transport http host host-name [port port-number ] [source interface-type]
5. transport http ipv4 ipv4-address [port port-number ] [source interface-type]
6. transport http ipv6 ipv6-address [port port-number ] [source interface-type interface-number ]
7. end
DETAILED STEPSConfiguring Open Plug-n-Play HTTPS Transport Profile
Perform the following task to create a HTTP Secure (HTTPS) transport profile of the Open Plug-n-Play (PnP) agent manually on a device.SUMMARY STEPS
1. enable
2. configure terminal
3. pnp profile profile-name
4. transport https host host-name [port port-number ][source interface-type ][localcert trustpoint-name ][remotecert trustpoint-name ]
5. transport https ipv4 ipv4-address [port port-number ][source interface-type ][localcert trustpoint-name ][remotecert trustpoint-name ]
6. transport https ipv6 ipv6-address [port port-number ][source interface-type interface-number ][localcert trustpoint-name ][remotecert trustpoint-name ]
7. end
DETAILED STEPSConfiguring Open Plug-n-Play XMPP Transport Profile
SUMMARY STEPSPerform the following task to create a Extensible Messaging and Presence Protocol (XMPP) transport profile of the Open Plug-n-Play (PnP) agent manually on a device.
1. enable
2. configure terminal
3. pnp profile profile-name
4. transport xmpp socket {host host-name | ipv4 ipv4-address| ipv6 ipv6-address} {port port-number } {source interface-type interface-number } {sasl plain server-jid xmpp-jabber-id}
5. transport xmpp starttls {host host-name | ipv4 ipv4-address| ipv6 ipv6-address} {port port-number } {source interface-type interface-number } {localcert trustpoint-name } {remotecert trustpoint-name } {sasl plain server-jid xmpp-jabber-id}
6. transport xmpp tls {host host-name | ipv4 ipv4-address| ipv6 ipv6-address} {port port-number } {source interface-type interface-number } {localcert trustpoint-name } {remotecert trustpoint-name } {sasl plain server-jid xmpp-jabber-id}
7. end
DETAILED STEPS
Command or Action Purpose
Step 1 enable
Example:Device> enableEnables privileged EXEC mode.
Step 2 configure terminal
Example:Device# configure terminalEnters global configuration mode.
Step 3 pnp profile profile-name
Example:Device(config)# pnp profile test-profile-1Creates a PnP agent profile and enters the PnP profile initialization mode.
Step 4 transport xmpp socket {host host-name | ipv4 ipv4-address| ipv6 ipv6-address} {port port-number } {source interface-type interface-number } {sasl plain server-jid xmpp-jabber-id}
Example:Device(config-pnp-init)# transport xmpp socket host example.com port 231 sasl plain server-jid cisco123Creates an XMPP transport configuration for the PnP agent profile based on the hostname of the server on which the PnP agent is deployed.
Step 5 transport xmpp starttls {host host-name | ipv4 ipv4-address| ipv6 ipv6-address} {port port-number } {source interface-type interface-number } {localcert trustpoint-name } {remotecert trustpoint-name } {sasl plain server-jid xmpp-jabber-id}
Example:Device(config-pnp-init)# transport xmpp starttls ipv4 10.0.1.0 port 221 source gigabitEthernet 0/0/0 localcert abc remotecert xyzCreates an XMPP transport configuration for the PnP agent profile based on the IPv4 address of the server on which the PnP agent is deployed.
Step 6 transport xmpp tls {host host-name | ipv4 ipv4-address| ipv6 ipv6-address} {port port-number } {source interface-type interface-number } {localcert trustpoint-name } {remotecert trustpoint-name } {sasl plain server-jid xmpp-jabber-id}
Example:Device(config-pnp-init)# transport xmpp tls ipv6 2001:DB8:1::1 port 221 source gigabitEthernet 0/0/0 localcert abc remotecert xyzCreates an XMPP transport configuration for the PnP agent profile based on the IPv6 address of the server on which the PnP agent is deployed.
Step 7 end
Example:Device(config-pnp-init)# endExits the PnP profile initialization mode and returns to privileged EXEC mode.
Configuring Backup Open Plug-n-Play Device
SUMMARY STEPSPerform the following task to create a backup profile and to enable or disable Open Plug-n-Play agent manually on a device:
1. enable
2. configure terminal
3. pnp profile profile-name
4. backup device {username username } {password {0 | 7} password}
5. end
DETAILED STEPS
Command or Action Purpose
Step 1 enable
Example:Device> enableEnables privileged EXEC mode.
Step 2 configure terminal
Example:Device# configure terminalEnters global configuration mode.
Step 3 pnp profile profile-name
Example:Device(config)# pnp profile test-profile-1Creates a PnP agent profile and enters the PnP profile initialization mode.
Step 4 backup device {username username } {password {0 | 7} password}
Example:Device(config-pnp-init)# backup device username sjohn password 0 Tan123Configures the PnP agent backup profile on the device.
Step 5 end
Example:Device(config-pnp-init)# endExits the PnP profile initialization mode and returns to privileged EXEC mode.
Configuring Backup Open Plug-n-Play Reconnect Factor
SUMMARY STEPSPerform the following task to configure backup reconnection of the Open Plug-n-Play (PnP) agent to the server in either fixed-interval-backoff, exponential-backoff, or random-exponential-backoff manner :
1. enable
2. configure terminal
3. pnp profile profile-name
4. backup reconnect [pause-time [exponential-backoff-factor [random] ] ]
5. end
DETAILED STEPS
Command or Action Purpose
Step 1 enable
Example:Device> enableEnables privileged EXEC mode.
Step 2 configure terminal
Example:Device# configure terminalEnters global configuration mode.
Step 3 pnp profile profile-name
Example:Device(config)# pnp profile test-profile-1Creates a PnP agent profile and enters the PnP profile initialization mode.
Step 4 backup reconnect [pause-time [exponential-backoff-factor [random] ] ]
Example:Device(config-pnp-init)# backup reconnect 100 2 randomSpecifies the time for the PnP agent initiator profile to wait before attempting to reconnect a session.
Step 5 end
Example:Device(config-pnp-init)# endExits the PnP profile initialization mode and returns to privileged EXEC mode.
Configuring Backup Open Plug-n-Play HTTP Transport Profile
SUMMARY STEPSPerform the following task to create a backup HTTP transport profile of the Open Plug-n-Play (PnP) agent manually on a device.
1. enable
2. configure terminal
3. pnp profile profile-name
4. backup transport http host host-name [port port-number ] [source interface-type]
5. backup transport http ipv4 ipv4-address [port port-number ] [source interface-type]
6. backup transport http ipv6 ipv6-address [port port-number ] [source interface-type interface-number ]
7. end
DETAILED STEPS
Command or Action Purpose
Step 1 enable
Example:Device> enableEnables privileged EXEC mode.
Step 2 configure terminal
Example:Device# configure terminalEnters global configuration mode.
Step 3 pnp profile profile-name
Example:Device(config)# pnp profile test-profile-1Creates a PnP agent profile and enters the PnP profile initialization mode.
Step 4 backup transport http host host-name [port port-number ] [source interface-type]
Example:Device(config-pnp-init)# backup transport http host hostname-1 port 1 source gigabitEthernet 0/0/0Creates a backup HTTP transport configuration for the PnP agent profile based on the hostname of the server on which the PnP agent is deployed.
Step 5 backup transport http ipv4 ipv4-address [port port-number ] [source interface-type]
Example:Device(config-pnp-init)# backup transport http ipv4 10.0.1.0 port 221 source gigabitEthernet 0/0/0Creates a backup HTTP transport configuration for the PnP agent profile based on the IPv4 address of the server on which the PnP agent is deployed.
Step 6 backup transport http ipv6 ipv6-address [port port-number ] [source interface-type interface-number ]
Example:Device(config-pnp-init)# backup transport http ipv6 2001:DB8:1::1 port 331 source gigabitEthernet 0/0/1Creates a backup HTTP transport configuration for the PnP agent profile based on the IPv6 address of the server on which the PnP agent is deployed.
Step 7 end
Example:Device(config-pnp-init)# endExits the PnP profile initialization mode and returns to privileged EXEC mode.
Configuring Backup Open Plug-n-Play HTTPS Transport Profile
Perform the following task to create a backup HTTPS transport profile of the Open Plug-n-Play (PnP) agent manually on a device.SUMMARY STEPS
1. enable
2. configure terminal
3. pnp profile profile-name
4. backup transport https host host-name [port port-number ][source interface-type ][localcert trustpoint-name ][remotecert trustpoint-name ]
5. backup transport https ipv4 ipv4-address [port port-number ][source interface-type ][localcert trustpoint-name ][remotecert trustpoint-name ]
6. backup transport https ipv6 ipv6-address [port port-number ][source interface-type interface-number ][localcert trustpoint-name ][remotecert trustpoint-name ]
7. end
DETAILED STEPS
Command or Action Purpose
Step 1 enable
Example:Device> enableEnables privileged EXEC mode.
Step 2 configure terminal
Example:Device# configure terminalEnters global configuration mode.
Step 3 pnp profile profile-name
Example:Device(config)# pnp profile test-profile-1Creates a PnP agent profile and enters the PnP profile initialization mode.
Step 4 backup transport https host host-name [port port-number ][source interface-type ][localcert trustpoint-name ][remotecert trustpoint-name ]
Example:Device(config-pnp-init)# backup transport https host example.com port 231 source gigabitEthernet 0/0/0 localcert abc remotecert xyzCreates a HTTPS backup transport configuration for the PnP agent profile based on the hostname of the server on which the PnP agent is deployed.
Step 5 backup transport https ipv4 ipv4-address [port port-number ][source interface-type ][localcert trustpoint-name ][remotecert trustpoint-name ]
Example:Device(config-pnp-init)# backup transport https ipv4 10.0.1.0 port 221 source gigabitEthernet 0/0/0 localcert abc remotecert xyzCreates a HTTPS backup transport configuration for the PnP agent profile based on the IPv4 address of the server on which the PnP agent is deployed.
Step 6 backup transport https ipv6 ipv6-address [port port-number ][source interface-type interface-number ][localcert trustpoint-name ][remotecert trustpoint-name ]
Example:Device(config-pnp-init)# backup transport https ipv6 2001:DB8:1::1 port 331 source gigabitEthernet 0/0/1 localcert abc remotecert xyzCreates a HTTPS backup transport configuration for the PnP agent profile based on the IPv6 address of the server on which the PnP agent is deployed.
Step 7 end
Example:Device(config-pnp-init)# endExits the PnP profile initialization mode and returns to privileged EXEC mode.
Configuring Backup Open Plug-n-Play XMPP Transport Profile
SUMMARY STEPSPerform the following task to create a backup Extensible Messaging and Presence Protocol (XMPP) transport profile of the Open Plug-n-Play (PnP) agent manually on a device.
1. enable
2. configure terminal
3. pnp profile profile-name
4. backup transport xmpp socket {host host-name | ipv4 ipv4-address| ipv6 ipv6-address} {port port-number } {source interface-type interface-number } {sasl plain server-jid xmpp-jabber-id}
5. backup transport xmpp starttls {host host-name | ipv4 ipv4-address| ipv6 ipv6-address} {port port-number } {source interface-type interface-number } {localcert trustpoint-name } {remotecert trustpoint-name } {sasl plain server-jid xmpp-jabber-id}
6. backup transport xmpp tls {host host-name | ipv4 ipv4-address| ipv6 ipv6-address} {port port-number } {source interface-type interface-number } {localcert trustpoint-name } {remotecert trustpoint-name } {sasl plain server-jid xmpp-jabber-id}
7. end
DETAILED STEPS
Command or Action Purpose
Step 1 enable
Example:Device> enableEnables privileged EXEC mode.
Step 2 configure terminal
Example:Device# configure terminalEnters global configuration mode.
Step 3 pnp profile profile-name
Example:Device(config)# pnp profile test-profile-1Creates a PnP agent profile and enters the PnP profile initialization mode.
Step 4 backup transport xmpp socket {host host-name | ipv4 ipv4-address| ipv6 ipv6-address} {port port-number } {source interface-type interface-number } {sasl plain server-jid xmpp-jabber-id}
Example:Device(config-pnp-init)# backup transport xmpp socket host example.com port 231 sasl plain server-jid cisco123Creates an XMPP transport configuration for the PnP agent profile based on the hostname of the server on which the PnP agent is deployed.
Step 5 backup transport xmpp starttls {host host-name | ipv4 ipv4-address| ipv6 ipv6-address} {port port-number } {source interface-type interface-number } {localcert trustpoint-name } {remotecert trustpoint-name } {sasl plain server-jid xmpp-jabber-id}
Example:Device(config-pnp-init)# backup transport xmpp starttls ipv4 10.0.1.0 port 221 source gigabitEthernet 0/0/0 localcert abc remotecert xyzCreates an XMPP transport configuration for the PnP agent profile based on the IPv4 address of the server on which the PnP agent is deployed.
Step 6 backup transport xmpp tls {host host-name | ipv4 ipv4-address| ipv6 ipv6-address} {port port-number } {source interface-type interface-number } {localcert trustpoint-name } {remotecert trustpoint-name } {sasl plain server-jid xmpp-jabber-id}
Example:Device(config-pnp-init)# backup transport xmpp tls ipv6 2001:DB8:1::1 port 221 source gigabitEthernet 0/0/0 localcert abc remotecert xyzCreates an XMPP transport configuration for the PnP agent profile based on the IPv6 address of the server on which the PnP agent is deployed.
Step 7 end
Example:Device(config-pnp-init)# endExits the PnP profile initialization mode and returns to privileged EXEC mode.
Configuration Examples for Cisco Open Plug-n-Play Agent
Configuring Cisco Open Plug-n-Play Agent
The following example shows how to configure Cisco Open Plug-n-Play (PnP) agent and th eoutput of the show pnp profile command:
Device> enable Device# configure terminal Device(config)# pnp profile test Device(config-pnp-init)# device user pnpagent2@ejabberd.test password 0 cisco Device(config-pnp-init)# transport xmpp socket ipv4 172.19.193.60 port 5222 sasl plain server-jid pnpserver2.ejabberd.test Device(config-pnp-init)# end Device# show pnp profile Initiator Profile test: 0 open connections: 0 closing connections Encap: xmpp11 WSSE header is not required. Configured authorization level is 1 Countdown: Security Unlock 0, Service Lock: 0, Service Req Wait: 0, Prxoy Req Wait 0, Service Resp Ack: 0 Max message (RX) is 50 Kbytes XEP Faults are sent Idle timeout infinite Keepalive not configured Reconnect time 60 seconds Primary transport: xmpp socket to host 172.19.193.60, port 5222 Not connected, next reconnect attempt in 52 seconds Device#Glossary
NAPP Server: The Cisco Open Plug-n-Play (PnP) Neighbor Assisted Provisioning Protocol (NAPP) server that is part of PnP discovery phase. This is a PnP enabled device in the neighborhood that can be configured to act as a PnP proxy server.
PnP Agent: An embedded agent on the device to automate deployment process
PnP Helper Applications: Applications on smart phones and personal computers that facilitate deployment. PnP helper applications are not specific to a customer or device and can be used in any deployment scenario. May be needed in limited scenarios
PnP Protocol: Protocol between the PnP agent and PnP server. This is an open protocol allowing third-party development of PnP servers
PnP Server: A central server that manages and distributes deployment information (images, configurations, files and licenses) for the devices being deployed. Open Plug-n-Play (PnP) Server provides a north bound interface for management applications and communicates with the PnP agents on the devices using the PnP protocol.
Additional References for Open Plug-n-Play Agent
Related Documents
MIBs
MIB
MIBs Link
To locate and download MIBs for selected platforms, Cisco software releases, and feature sets, use Cisco MIB Locator found at the following URL:
http://www.cisco.com/go/mibsTechnical Assistance
Description
Link
The Cisco Support and Documentation website provides online resources to download documentation, software, and tools. Use these resources to install and configure the software and to troubleshoot and resolve technical issues with Cisco products and technologies. Access to most tools on the Cisco Support and Documentation website requires a Cisco.com user ID and password.
Feature Information for Cisco Open Plug-n-Play Agent
The following table provides release information about the feature or features described in this module. This table lists only the software release that introduced support for a given feature in a given software release train. Unless noted otherwise, subsequent releases of that software release train also support that feature.
Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required.
Table 1 Feature Information for Cisco Open Plug-n-Play Agent Feature Name
Releases
Feature Information
Cisco Open Plug-n-Play Agent
Cisco IOS Release 15.2(2)E
The Cisco Open Plug-n-Play agent converges existing solutions into a unified agent and adds functionality to enhance the current deployment solutions.
The following commands were introduced or modified by this feature:
backup device, backup profile, backup reconnect, backup transport http, backup transport https, backup transport xmpp socket, backup transport xmpp starttls, backup transport xmpp tls, device, pnp, profile, reconnect (pnp), transport http, transport https, transport xmpp socket, transport xmpp starttls, and transport xmpp tls.