# This file contains an example CN470 example (channels 32-39).
[[regions]]

  # ID is an use-defined identifier for this region.
  id = "cn470_4"

  # Description is a short description for this region.
  description = "CN470 (channels 32-39)"

  # Common-name refers to the common-name of this region as defined by
  # the LoRa Alliance.
  common_name = "CN470"

  # User-defined region information.
  #
  # This information will be displayed on top of the region page in then
  # ChirpStack web-interface. For example, it can contain information about
  # how users should connect their gateways when using this region (e.g. MQTT
  # end-point, MQTT topic prefix, TLS configuration etc). Markdown syntax can
  # be used for formatting.
  user_info = ""


  # Gateway configuration.
  [regions.gateway]

    # Force gateways as private.
    #
    # If enabled, gateways can only be used by devices under the same tenant.
    force_gws_private = false


    # Gateway backend configuration.
    [regions.gateway.backend]

      # The enabled backend type.
      enabled = "mqtt"

      # MQTT configuration.
      [regions.gateway.backend.mqtt]

        # Topic prefix.
        #
        # The topic prefix can be used to define the region of the gateway.
        # Note, there is no need to add a trailing '/' to the prefix. The trailing
        # '/' is automatically added to the prefix if it is configured.
        topic_prefix = "cn470_4"

        # Shared subscription name.
        #
        # In case there are multiple ChirpStack instances sharing the same
        # subscription name, then the MQTT broker will deliver a gateway event
        # only to one subscriber. In case you have a production and
        # test-environment connected to the same MQTT broker, make sure that
        # each environment has its own subscription name, for example:
        # chirpstack_prod and chirpstack_tst.
        share_name = "chirpstack"

        # MQTT server (e.g. scheme://host:port where scheme is tcp, ssl or ws)
        server = "tcp://localhost:1883"

        # Connect with the given username (optional)
        username = ""

        # Connect with the given password (optional)
        password = ""

        # Quality of service level
        #
        # 0: at most once
        # 1: at least once
        # 2: exactly once
        #
        # Note: an increase of this value will decrease the performance.
        # For more information: https://www.hivemq.com/blog/mqtt-essentials-part-6-mqtt-quality-of-service-levels
        qos = 0

        # Clean session
        #
        # Set the "clean session" flag in the connect message when this client
        # connects to an MQTT broker. By setting this flag you are indicating
        # that no messages saved by the broker for this client should be delivered.
        clean_session = false

        # Client ID
        #
        # Set the client id to be used by this client when connecting to the MQTT
        # broker. A client id must be no longer than 23 characters. If left blank,
        # a random id will be generated by ChirpStack.
        client_id = ""

        # Keep alive interval.
        #
        # This defines the maximum time that that should pass without communication
        # between the client and server.
        keep_alive_interval = "30s"

        # CA certificate file (optional)
        #
        # Use this when setting up a secure connection (when server uses ssl://...)
        # but the certificate used by the server is not trusted by any CA certificate
        # on the server (e.g. when self generated).
        ca_cert = ""

        # TLS certificate file (optional)
        tls_cert = ""

        # TLS key file (optional)
        tls_key = ""


    # Gateway channel configuration.
    #
    # Note: this configuration is only used in case the gateway is using the
    # ChirpStack Concentratord daemon. In any other case, this configuration
    # is ignored.
    [[regions.gateway.channels]]
      frequency = 476700000
      bandwidth = 125000
      modulation = "LORA"
      spreading_factors = [7, 8, 9, 10, 11, 12]

    [[regions.gateway.channels]]
      frequency = 476900000
      bandwidth = 125000
      modulation = "LORA"
      spreading_factors = [7, 8, 9, 10, 11, 12]

    [[regions.gateway.channels]]
      frequency = 477100000
      bandwidth = 125000
      modulation = "LORA"
      spreading_factors = [7, 8, 9, 10, 11, 12]

    [[regions.gateway.channels]]
      frequency = 477300000
      bandwidth = 125000
      modulation = "LORA"
      spreading_factors = [7, 8, 9, 10, 11, 12]

    [[regions.gateway.channels]]
      frequency = 477500000
      bandwidth = 125000
      modulation = "LORA"
      spreading_factors = [7, 8, 9, 10, 11, 12]

    [[regions.gateway.channels]]
      frequency = 477700000
      bandwidth = 125000
      modulation = "LORA"
      spreading_factors = [7, 8, 9, 10, 11, 12]

    [[regions.gateway.channels]]
      frequency = 477900000
      bandwidth = 125000
      modulation = "LORA"
      spreading_factors = [7, 8, 9, 10, 11, 12]

    [[regions.gateway.channels]]
      frequency = 478100000
      bandwidth = 125000
      modulation = "LORA"
      spreading_factors = [7, 8, 9, 10, 11, 12]


  # Region specific network configuration.
  [regions.network]

    # Installation margin (dB) used by the ADR engine.
    #
    # A higher number means that the network-server will keep more margin,
    # resulting in a lower data-rate but decreasing the chance that the
    # device gets disconnected because it is unable to reach one of the
    # surrounded gateways.
    installation_margin = 10

    # RX window (Class-A).
    #
    # Set this to:
    # 0: RX1 / RX2
    # 1: RX1 only
    # 2: RX2 only
    rx_window = 0

    # RX1 delay (1 - 15 seconds).
    rx1_delay = 1

    # RX1 data-rate offset
    rx1_dr_offset = 0

    # RX2 data-rate
    rx2_dr = 0

    # RX2 frequency (Hz)
    rx2_frequency = 505300000

    # Prefer RX2 on RX1 data-rate less than.
    #
    # Prefer RX2 over RX1 based on the RX1 data-rate. When the RX1 data-rate
    # is smaller than the configured value, then the Network Server will
    # first try to schedule the downlink for RX2, failing that (e.g. the gateway
    # has already a payload scheduled at the RX2 timing) it will try RX1.
    rx2_prefer_on_rx1_dr_lt = 0

    # Prefer RX2 on link budget.
    #
    # When the link-budget is better for RX2 than for RX1, the Network Server will first
    # try to schedule the downlink in RX2, failing that it will try RX1.
    rx2_prefer_on_link_budget = false

    # Downlink TX Power (in dBm EIRP)
    #
    # When set to -1, the downlink TX Power from the configured band will
    # be used.
    #
    # Please consult the LoRaWAN Regional Parameters and local regulations
    # for valid and legal options. Note that the configured TX Power must be
    # supported by your gateway(s).
    downlink_tx_power = -1

    # ADR is disabled.
    adr_disabled = false

    # Minimum data-rate.
    min_dr = 0

    # Maximum data-rate.
    max_dr = 5

    # Enabled uplink channels.
    #
    # Use this when ony a sub-set of the by default enabled channels are being
    # used. For example when only using the first 8 channels of the US band.
    # Note: when left blank / empty array, all channels will be enabled.
    enabled_uplink_channels = [32, 33, 34, 35, 36, 37, 38, 39]


    # Rejoin-request configuration (LoRaWAN 1.1)
    [regions.network.rejoin_request]

      # Request devices to periodically send rejoin-requests.
      enabled = false

      # The device must send a rejoin-request type 0 at least every 2^(max_count_n + 4)
      # uplink messages. Valid values are 0 to 15.
      max_count_n = 0

      # The device must send a rejoin-request type 0 at least every 2^(max_time_n + 10)
      # seconds. Valid values are 0 to 15.
      #
      # 0  = roughly 17 minutes
      # 15 = about 1 year
      max_time_n = 0


    # Class-B configuration.
    [regions.network.class_b]

      # Ping-slot data-rate.
      ping_slot_dr = 2

      # Ping-slot frequency (Hz)
      #
      # set this to 0 to use the default frequency plan for the configured region
      # (which could be frequency hopping).
      ping_slot_frequency = 0
