Content

Summary

This document provides information about the Blackbox Boxilla protocol implementation for VSM.

Status of Driver

APPROVED 

Component for Driver

GADGETSERVER

Release (Build) of Component

vsmGadgetserver 5.6.1.xyz

Revision of Implementation1.0


Name/Type of 3rd Party APIBoxilla
Version of 3rd Party API
Additional 3rd Party informationKVM

Connection

Connection TypeHTTPS voer TCP/ IP
Default Port443

The device usually communicates via HTTPS and listens to incoming connections on port 443. The address list should only contain the IP address of the Boxilla system.
Streamtype is Virtual.

The control connection is established between GS and BOXILLA Manager only. GS/VSM do not talk to Emerald systems, which run without BOXILLA Manager.

Supported Features

Control of ConnectViaTx Boxilla connections only.

Supported Commands

HTTP MethodsGET, POST and DELETE
bxa-api/versionBoxilla Version
bxa-api/devices/kvm/statusBoxilla Transmitters and Receivers
bxa-api/connections/kvmBoxilla Connections
bxa-api/connections/kvm/activeBoxilla “crosspoints”

Configuration Details

The driver requires a fully configured Boxilla system. It doesn't manage any devices, create users or connections.

To be able to connect a receiver to a transmitter the Option User Name needs to be set in the driver Settings.
The default Poll Interval of 10 seconds can be adjusted to up to 3 minutes.

If the system changes the mapping file for the matrix layout can be downloaded and edited if needed. Where as the receivers are represented as targets and connections as sources. It is written in XML and has the following format.

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<mapping>
  <identifier>BlackBox.Mapping.xml</identifier>
  <children>
    <indexMappingRegion>
      <name>Receivers</name>
      <offset>0</offset>
      <usage>Target</usage>
      <children>
        <indexMapping>
          <identifier>RX 2</identifier>
          <index>0</index>
          <meta>
            <metaMapping>
              <name>Receiver Name</name>
              <description>RX 2</description>
              <type>String</type>
            </metaMapping>
          </meta>
        </indexMapping>
        <indexMapping>
          <identifier>RX 1</identifier>
          <index>1</index>
          <meta>
            <metaMapping>
              <name>Receiver Name</name>
              <description>RX 1</description>
              <type>String</type>
            </metaMapping>
          </meta>
        </indexMapping>
      </children>
    </indexMappingRegion>
    <indexMappingRegion>
      <name>Connections</name>
      <offset>0</offset>
      <usage>Source</usage>
      <children>
        <indexMapping>
          <identifier>TX 2 Private IP217</identifier>
          <index>0</index>
          <meta>
            <metaMapping>
              <name>Connection Name</name>
              <description>TX 2 Private IP217</description>
              <type>String</type>
            </metaMapping>
          </meta>
        </indexMapping>
        <indexMapping>
          <identifier>TX 1 Private IP216</identifier>
          <index>1</index>
          <meta>
            <metaMapping>
              <name>Connection Name</name>
              <description>TX 1 Private IP216</description>
              <type>String</type>
            </metaMapping>
          </meta>
        </indexMapping>
        <indexMapping>
          <identifier>TX 1 Shared IP216</identifier>
          <index>2</index>
          <meta>
            <metaMapping>
              <name>Connection Name</name>
              <description>TX 1 Shared IP216</description>
              <type>String</type>
            </metaMapping>
          </meta>
        </indexMapping>
        <indexMapping>
          <identifier>TX 2 Shared IP217</identifier>
          <index>3</index>
          <meta>
            <metaMapping>
              <name>Connection Name</name>
              <description>TX 2 Shared IP217</description>
              <type>String</type>
            </metaMapping>
          </meta>
        </indexMapping>
        <indexMapping>
          <identifier>IP217 -- 1</identifier>
          <index>4</index>
          <meta>
            <metaMapping>
              <name>Connection Name</name>
              <description>IP217 -- 1</description>
              <type>String</type>
            </metaMapping>
          </meta>
        </indexMapping>
      </children>
    </indexMappingRegion>
  </children>
</mapping>
XML

Known Issues

  • Boxilla releases <v3.5 identifies all elements by the names. The names are unique but not consistent. So if the user changes the labels/names after the vsmStudio configuration is finished, the changed elements will appear as new on the matrix and the driver mappign file needs to be adapted to the changes. With v3.5 or higher, releases of Boxilla contain UUIDs for the relevant elements, so GS can automatically adapt to label changes and make the elements persistent within its configuration.
  • In Version 3.5, Boxilla updates a connection status every 60 seconds. This can cause the polling mechanism to retrieve outdated information, as connections may have changes in the meantime.  To workaround this, set polling interval to >60s, until Boxilla provides consistent information.

Related Articles