Skip to content

Instantly share code, notes, and snippets.

@n0an
Forked from ryanquinlan/events.py
Created October 1, 2020 18:51
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save n0an/0ec61912c347ade591fc10d4808c295b to your computer and use it in GitHub Desktop.
Save n0an/0ec61912c347ade591fc10d4808c295b to your computer and use it in GitHub Desktop.
Cisco Meeting Server Events Websocket using Python websocket-client
import websocket
# Get auth token via POST to /api/v1/authTokens
# Use returned token to open a websocket connection to wss://host:port/events/v1
# Token is passed as the URL parameter authToken
try:
self.logger.info("Getting auth token ...")
api_conn = api.ApiConnection(self.address, self.username, self.password, port=self.port)
response = api_conn.doPost("authTokens", {})
auth_token = response.headers["X-Cisco-CMS-Auth-Token"]
url = "wss://%s:%s/events/v1?authToken=%s" % (self.address, self.port, auth_token)
self.logger.info("Opening websocket %s" % url)
self.ws = websocket.WebSocketApp(url,
on_error=self.onError,
on_message=self.processWebSocketMessage,
on_open=self.onOpen,
on_close=self.processClose)
with self._lock:
self.running = True
self.ws.run_forever(sslopt={"cert_reqs": ssl.CERT_NONE, "check_hostname": False})
except Exception:
sys.excepthook(*sys.exc_info())
raise
finally:
with self._lock:
self.running = False
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment