OpenCab Support

Prev Next

Overview

The Eleos Mobile Platform supports OpenCab, a standard for seamlessly connecting and sharing data between commercial trucking apps. The standard provides a communication protocol that accelerates the development of in-cab technologies by eliminating the need for custom software development kits (SDKs). OpenCab organizes use cases into specific contracts. For a given contract, a mobile app can act as a provider of data, a consumer of data, or both, depending on the context.

For example, a mobile app that allows users to manage hours of service (HOS) information might act as a provider of the HOS contract, while a mobile app for trip planning might consume the information to help a user find suitable rest areas.

How It Works

OpenCab facilitates direct communication between independent mobile apps installed on the same device. Because the standard utilizes the communication support built into the Android operating system, the integration provides operating system-level security boundaries and decreases security risks. Additionally, OpenCab enables offline connectivity. Mobile apps communicate directly without requiring a remote connection to upload information to a server.

Organizations utilize OpenCab to implement various workflows for users. Example use cases include:

  • Sharing user HOS information with a navigation mobile app to route users to rest areas within legal driving limits.

  • Utilizing text-to-speech to read vehicle fault codes detected by a separate telematics mobile app.

  • Performing automatic single sign-on (SSO) based on the identity provided by a previously authenticated mobile app.

The Platform supports specific roles for various contracts. The following table outlines the supported roles and the version of the mobile app where support begins:

Contract

Provider

Consumer

Identity

✔(v1.51+)

✔

HOS

✔

VehicleInformation

✔ (v1.50+)

IMPORTANT: The mobile app only supports OpenCab on Android at this time

To maintain security and to explicitly control the rollout of OpenCab functionality, administrators must explicitly enable each OpenCab contract for use with a specific mobile app. Administrators identify the authorized mobile app by the Android package name. The opencab_configuration property within the User Authentication API controls the behavior of the OpenCab integration for a user.

NOTE: While all mobile app builds contain OpenCab features, administrators must explicitly enable the features for use with specific package names. This configuration allows administrators to enable the features for a subset of users and limits the use of the OpenCab integration to managed devices.

Configuration Examples

The following configuration enables the mobile app to fetch HOS information via the HOS contract provider from another mobile app with the package name com.example.acme.hos:

JSON

{
  "opencab_configuration": {
    "providers": [
      {
        "contract": "org.opencabstandard.hos",
        "package": "com.example.acme.hos"
      }
    ]
  }
}

The following configuration consumes identity information and HOS information from a single mobile app with the package name com.example.acme.allinone:

JSON

{
  "opencab_configuration": {
    "providers": [
      {
        "contract": "org.opencabstandard.hos",
        "package": "com.example.acme.allinone"
      },
      {
        "contract": "org.opencabstandard.identity",
        "package": "com.example.acme.allinone"
      }
    ]
  }
}

Resources

API

External