Skip to content

Event & Tally Interactions (IS-07)

(c) AMWA 2021, CC Attribution-NoDerivatives 4.0 International (CC BY-ND 4.0)

IS-10 adds security to the traditional Event and Tally HTTP requests.

Event and Tally Interactions

IS-07 Events API

The Events API exposed by an IS-07 NMOS Device in the controls array under urn:x-nmos:control:events/v1.0 can be accessed in an authorized way by including the Access Token (Authorization: Bearer) in the HTTP header.

GET /x-nmos/events/v1.0/sources/{sourceId} HTTP/1.1
Host: node.example.com
Authorization: Bearer eyJhbGciOiJSUzUxMiIsInR5cCIgOiAiSl...

The Access Token needs to contain a read claim matching the Source path which is to be returned in the response.

For example, access to the IS-07 Source ID '9f463872-9621-4939-aa3a-dc3c82d8578b' would require token claims as follows.

"x-nmos-events": {
  "read": ["sources/9f463872-9621-4939-aa3a-dc3c82d8578b"]
}

Access to all IS-07 Source IDs can be requested with a token claim as follows.

"x-nmos-events": {
  "read": ["sources/*"]
}

IS-07 WebSocket Events

The WebSocket URI for an IS-07 NMOS Device exposed in the connection_uri parameter can be accessed in an authorized way by:

  • including the Access Token (Authorization: Bearer) in the HTTP header of the request that initiates the WebSocket handshake
  • passing the Access Token as a query parameter (wss://hostname/x-nmos/events/v1.0/devices/58f6b536-ca4c-43fd-880a-9df2501fc125?access_token=eyJhbGciOiJSUzUxMiIsInR5cCIgOiAiSl...) - only for situations in which it is not feasible to pass the token in the HTTP Authorization Header.

Further details on WebSocket authorization can be found in BCP-003-02.

IS-07 MQTT Events

Within the current specification only the WebSocket workflow is secured, while the MQTT workflow is not yet secured.