Skip to content
Alan Lei edited this page Mar 21, 2024 · 11 revisions

Service: com.cisco.ise.pubsub

This provides a WebSocket STOMP pubsub service that is used by many of ISE services.

STOMP protocol provides abstraction for messaging systems so the backend can easily be replaced by a different system.

The WebSocket connnection is authenticated the same way as REST calls.

The WebSocket binary mode must be used since STOMP also supports character encoding. Text mode usage will be disconnected by the server.

Subscribers are required to re-subscribe after re-connection.

Service properties

Name Description Example
wsUrl wss://ise-host1:8910/pxgrid/ise/pubsub

Filtering (since ISE 3.4)

If the topic supports JMESPath filtering. It can be specified in STOMP header "filter".

Apart from standard JMESPath filter syntax, ISE has extended with a few more essential filtering mechanisms:

  • IP Address in a subnet: "in_subnet(source, '10.66.0.0/16')"
  • Value matches one in an array: "in_array(tag, [`8`,`9`])"

High Availability

Multiple wsUrl can be returned for high availability purpose. All of them provide the same functionality. A client should try each until one of the wsUrl connects. The recommended connection timeout is 30 seconds.

If none of the nodes work, it is recommended to retry at least 60 seconds later by using pxGrid ServiceLookup again to obtain the up-to-date list of wsUrl.

Timeouts and limits

To protect the messaging system, ISE WS Pubsub service has these soft limits:

  • 100 connections per ISE WS Pubsub node
  • 2 connections per user (Increased to 200 in ISE 3.0p7, 3.1p5, 3.2p1, 3.3 and newer)
  • 6 connections per source IP address (Increased to 200 in ISE 3.0p7, 3.1p5, 3.2p1, 3.3 and newer)
  • 100KB message size (Increased to 300KB in ISE 2.6p8, 2.7p3, 3.0 and newer)
  • 60 seconds send timeout
  • 60 seconds ping timeout
Clone this wiki locally