Skip to content
The Things Stack documentation home
Getting Started Concepts Cloud Enterprise Integrations API Hardware
Getting Started Concepts
Cloud Enterprise
Integrations API Hardware
Get The Things Stack

    Recent searches

      Popular pages

      • Getting Started
      • Adding Gateways
      • Adding Devices
      • Payload Formatters
      • Webhooks
      • Authentication

      No results for “”.

      • Check the spelling, or try fewer or more general words.
      • Ask the community on The Things Network Forum
      • Contact support
      ↑↓ to navigate ↵ to open Esc to close

      Concepts

      • Overview
      • Architecture
        • Components
          • Alert Routing Server
          • Application Server
          • Console
          • Device Claiming Server
          • Device Template Converter
          • Gateway Configuration Server
          • Gateway Server
          • Identity Server
          • Join Server
          • Network Operations Center
          • Network Server
          • Packet Broker Agent
          • Tenant Billing Server
        • ID and EUI Constraints
        • Last Activity
      • Features
      • Networking
      • Migrate to The Things Stack
      • Packet Broker
      • Server Addresses
      • Advanced Topics
      • Troubleshooting
      • The Things Stack Sandbox

      Join Server

      Updated 20 January 2025 Edit on GitHub
      Copy page
      • View as MarkdownThis page as plain text
      • Open in ChatGPTAsk questions about this page
      • Open in ClaudeAsk questions about this page

      The Join Server handles the LoRaWAN® join flow, including Network and Application Server authentication and session key generation.

      Join procedure

      Join Servers receive join-requests from Network Servers via gRPC and issue join-accepts for registered devices if join-request validation passes.

      In case a join-request is accepted, the Join Server derives session security context, which contains the session keys and is identified by a session key ID. Join Servers encrypt derived network and application session keys using key encryption keys(KEKs) shared between Network Servers and Application Servers respectively and include the session keys in the join-accepts in encrypted form.

      Device Management

      Join Servers expose JsEndDeviceRegistry service for end device management. Typical clients of this service are Console and CLI.

      Join Servers store device root and session keys.

      Session Key Retrieval

      Join Servers expose RPCs for retrieval of session keys given session key ID.

      Interoperability

      Join Servers expose AS-JS, vNS-JS and hNS-JS services as defined by LoRaWAN Backend Interface 1.0 spec.

      ← Identity Server Network Operations Center →

      On this page

      • Join procedure
      • Device Management
      • Session Key Retrieval
      • Interoperability

      Sections

      Getting Started

      Concepts

      Cloud

      Enterprise

      Integrations

      API

      Hardware

      Sitemap

      View our Sitemap

      Contributing

      GitHub

      About Us

      The Things Industries

      Privacy Policy

      Cookie settings

      Cookie Settings

      We use cookies to enhance your experience, analyze site traffic and deliver personalized content. Read our Privacy Policy.

      Cookie categories