The Things Enterprise Stack (TTES)

General Questions

  1. What is The Things Enterprise Stack (TTES)?
    The Things Enterprise Stack, also referred to as TTES or V3, is The Things Industries' evolutionary LoRaWAN implementation for production networks. It was built from scratch to accommodate customer requirements around deployment scenarios, manageability, scalability and robustness. Also, TTES is a feature-complete stack that incorporates the complete LoRaWAN protocol, backend interfaces, regional parameters, and that follows the LoRaWAN Network Server reference model.

  2. What deployment scenarios do you offer with TTES?
    We offer 4 different enterprise scenarios:
    1. Cloud Hosted - shared infrastructure hosted and managed by us
    2. Dedicated Cloud Hosted - physically isolated vm infrastructure hosted and managed by us
    3. Self-hosted - the containerized stack offered as a binary, deployed and hosted by customer
    4. Cloud Marketplace Launchers - orchestration templates deployed and hosted in customer’s cloud account in AWS.
    Please check the Pricing/Deployment models page for more information on these scenarios.

  3. Where can I find the documentation for getting started with TTES?
    The Things Enterprise Stack Documentation contains most of the resources to get started with TTES.

  4. Where can I find the pricing details of the TTES stack?
    Check the Pricing page for licensing details.

  5. Is TTES offered via the AWS marketplace?
    Yes. You can find details on the marketplace listing. The Amazon Machine Image (AMI) lets you orchestrate the deployment through our CloudFormation template, which means that you stay in control of your infrastructure. The service is billed per hour through your AWS account.

  6. How do you offer private networks per customer?
    In our cloud offering, each customer has its own virtually isolated environment in our shared infrastructure (called tenants). Each tenant has a unique namespace, own branding and API end points. Gateways capacity can be shared across tenants optionally through peering.

  7. Can I have a hierarchy of tenants that I can then offer to my customers?
    This is not possible on the TTI Cloud Hosted platform. However, If you are a systems integrator or reseller offering our service to multiple customers and you participate in our partner program, we will setup a multi-tenant cluster for you in a dedicated, physically isolated environment.

  8. I noticed eu1.cloud in my network’s URL. Is it possible to have our environment set up in another region besides eu1?
    Yes. The services and databases are replicated across regions, so the service is multi-region by default. We are adding regions for redundancy and low latencies. We have currently deployed eu1, nam1clusters in Europe and North America. When new clusters are created, they will be updated in the Cloud Hosted Documentation page.

Device Management

  1. When setting the Frequency Plan, what is the difference between Europe 863-870MHz and Europe 863-870 (TTN)?
    The only difference is that 863-870(TTN) uses SF9 for RX2, whereas 863-870 uses default SF12 for RX2. You can check this in the frequency plans repository.

  2. I don't have a JoinEUI for my device. How do I register my device?
    For LoRaWAN 1.0.x devices, the JoinEUI in TTES is the same as the AppEUI in TTI V2. Devices usually come with JoinEUI (AppEUI). It is either issued from an IEEE block that you own, or you can set to 70B3D57ED0000000 if you are using the Global Join Server. You need to ensure that the (JoinEUI, DevEUI) pair is unique.

  3. What does the External Join Server option do when I register a device?
    Using an ‘External Join Server’ like the Global Join Server provided by The Things Industries allows you to claim a device which has been pre provisioned by providing only a Join EUI and Device EUI. The Things Enterprise Stack also contains a built in Join Server, which is used if ‘External Join Server’ is NOT selected. To use the built in Join Server, you must also provide an App Key (and a Network Key for 1.1 devices).

  4. How do I move the devices between applications?
    Here is a sample bash script to re-organize a few selected OTAA devices between applications.

    1 2 3 4 5 6 7 8 9 10 #!/bin/bash old_app_id="sample-application-1" new_app_id="sample-application-2" dev_ids=("dev1", "dev2") for dev_id in ${dev_ids[@]} do dev=$(ttn-lw-cli end-devices get $old_app_id $dev_id --name --description --frequency-plan-id --network-server-address --application-server-address --join-server-address --root-keys --lorawan-version --lorawan-phy-version --supports-join) ttn-lw-cli end-devices delete $old_app_id $dev_id ttn-lw-cli end-devices create $new_app_id $dev_id <<< "$dev" done

    You can also use our device claiming service. More information about this is available at the Device Claiming Documentation page.

  5. How can I update the firmware over the air (FOTA)?
    The Things Stack supports the building blocks for FOTA: multicast, class B and class C.
    The FOTA specifications which are yet to be implemented in the Application Server are: Remote Multicast Setup (RMS), Fragmented Data Block Transfer (FDBT) and Application Layer Time Synchronization (ALTS).


    We are currently working on supporting the FOTA specifications, but it may take until 2021 before we fully support this feature.

Gateway Management

  1. How can I delete and re-add gateways?
    The gateway EUI (the globally unique 64-bit gateway identifier) will be released as soon as the gateway is deleted from the account. Use a different Gateway-ID (user defined) while trying to re-register the gateway. A Gateway-ID can be any unique name (for eg: gtw1). This way you should be able to add it successfully.

  2. How can I configure a gateway using the LoRa BasicsTM Station (LBS) protocol to work with TTES?
    The LBS protocol contains 2 sub-protocols. The necessary configuration for each is described below

    1. LNS

      1. To connect your gateway through the LNS Protocol, the following fields have to be set;
        TC URI: wss://<tenant-id>.<region>.cloud.thethings.industries:8887
        TC Trust: Let's encrypt DST Root CA X3
        TC Key: <optional>
        You can download the TC Trust from here:
        https://ssl-tools.net/certificates/e6a3b45b062d509b3382282d196efe97d5956ccb.pem

        To use Token Authentication, create an API Key for the Gateway (from the console or the CLI) and add it to the TC Key field of the Station configuration. The API Key should have the following rights:

        1. Link as Gateway to a Gateway Server for traffic exchange, i.e. write uplink and read downlink

    2. CUPS

      1. To remotely manage your gateway through the CUPS Protocol, the following fields have to be set;
        CUPS URI: https://<tenant-id>.<region>.cloud.thethings.industries:443
        CUPS Trust: Amazon Root CA 1
        CUPS Key: <mandatory>
        You can download the CUPS Trust from here:
        https://ssl-tools.net/subjects/4f59a39453cfb9559e7f6bd8c54da53da642b714

        For CUPS, it is mandatory to use Token Authentication. Create an API Key for the Gateway (from the console or the CLI) and add it to the CUPS Key field of the Station configuration. The API Key should have the following rights:

        1. View gateway information

        2. Edit basic gateway settings

  3. How will I know if my gateway supports LBS protocol?
    The source code and reference implementation of the LBS protocol is maintained by Semtech. We expect most gateway vendors to support in the near future. The Things Indoor Gateway already supports it. Every major commercial gateway vendor is currently in various stages of adding LBS support. For more information about a specific model, contact the manufacturer directly.

  4. Can I configure The Things Indoor Gateway (TTIG) to TTES?
    The Things Indoor Gateway is based on LBS protocol. TTES supports the LBS protocol natively but lacks interfaces to work with TTIG specifically. It will be added in Q3 2020. We will add documentation as soon as it is ready.

  5. How can I customise the LoRaWAN parameters for my devices (ex: RX Delay)?
    You can make your own channel plan (channel frequencies, RX Delay, ...) within a frequency plan (EU868, AU915,...). If you are self-hosting TTES, you will be able to define your own frequency plan. This feature is expected on TTI Cloud Hosted later.

  6. TTI Cloud Hosted has clusters in many geographical regions. Where do I connect my gateway to? 
    It’s always advisable to connect the gateway to the geographically closest Gateway Server Address. If you choose an address that is further away, there may be latency and you may face issues in downlink and join accepts.

  7. Can I deploy The Things Enterprise Stack on a gateway?
    Yes this is possible but there is no official documentation available for this at the moment.

Console

  1. When can I expect scheduling downlink messages from the console on TTES?
    This feature is part of the 3.8.1 version, released in May 2020. You can track the progress of this and a few other features at Console feature gaps v2/v3 issue on Github.

    You can schedule downlinks using CLI, MQTT or HTTP webhooks. Please refer to Downlink Queue Operations Guide for downlink queue operations using CLI. For further information on how to do this using MQTT or HTTP webhooks, refer to Integrations Documentation.

API/Integrations

  1. Will the APIs change between TTI V2 and TTES?
    Yes. The APIs will include breaking changes. Please find more information at the TTES API Documentation.

  2. How will the APIs change within TTES?
    We commit to build stable and reliable APIs. We will not break APIs within a major version, which means there won’t be any breaking changes in APIs until V4. Please check our compatibility commitments ensuring the same.

Roadmap

  1. Where can we submit feature requests and track progress?
    On this Github issues list you will find all open issues. This list concerns the V3 open source stack, hence comprises practically all features you will also find in TTES. Feel free to submit feature requests, we very much appreciate your input.

Migration

  1. How does migration from V2 to TTES V3 work?
    You are able to migrate applications and devices from V2 to V3 yourself. Devices cannot be present in both. This means that you have to integrate both V2 and V3 APIs concurrently to your application to avoid downtime. Device sessions will be preserved, however as V3 has more MAC settings, manual configuration may be required in the Network Server.

    Gateways need to be updated to a new server address. Until the gateways are updated, data is routed from V2 to V3 via the Packet Broker.

    Our suggested migration process:

    1. First: Update applications to support the The Things Stack data format which is different from the V2 data format. If you are using payload formatters, make sure to set them correctly from the Application settings page.

    2. Second: Migrate a single end device (and gateway, if needed) to TTES. Continue by gradually migrating your end devices in small batches. Avoid migrating production workloads before you are certain that they will work as expected. We will publish a detailed tutorial shortly.

    3. Finally: Once you are confident that your end devices are working properly, migrate the rest of your devices and gateways to TTES.

       

  2. Do you provide scripts to help me migrate from V2 to V3?
    Yes, we provide DIY scripts to bulk migrate devices and session data here: https://enterprise.thethingsstack.io > Getting Started > Migrating from V2.

  3. Can I migrate devices back to V2?
    No.

  4. How can I migrate the MAC (LoRaWAN Version) and PHY (Regional Parameters) settings from V2 to V3?
    The Things Stack requires the LoRaWAN version and Regional Parameters (LoRaWAN PHY version) to be set per end device. These default to LoRaWAN version 1.0.2 and LoRaWAN Regional Parameters version 1.0.2 Rev B for end devices imported from The Things Network Stack V2, because this configuration is the most consistent with the V2.

     

  5. Can I migrate from a different network provider to TTES V3?
    Yes. As this is a specific activity, please contact us at support@thethingsindustries.com. We need some information about the devices and gateways to understand the scope of such migration.


Glossary

L

LBS protocol

  • LoRa BasicsTM Station protocol is an implementation of a LoRa packet forwarder, which can be remotely managed by a configuration and update server. Read more at the Basics Station Documentation.

T
TTES