How to move application and devices from EU1 to NAM1 cluster?

What must one do to move an application and devices from the EU1 system to the USA system?

is there an easy way or do I need to start over??

How many devices?

You can script it with the CLI - see the docs.

I’ve look in the docs, and can’t find a way to do this?? can you point me to the correct section in the documentation??

Thanks

As yet there isn’t anything specific about doing v3 to v3 transfers - I haven’t finished scripting v2 to v3 transfers yet - it’s about using the CLI to get the device info out and then back in whilst swapping between the different regions between.

So its going to be about the device list with the -all flag.

This may be able to help you see the settings you need: http://descartes.co.uk/TTSv3CLI.html

OK, I did try to move a device from EU1 to NAM1 using the GUI…

To start, I looked at the console in the nam1, and my device shows up there. That was interesting, My application decoder was not there, so I added it, with a flag to tell me what decoder did the work.

So I went to the console on the eu1 system and change the address for the Network and Application servers to: nam1.cloud.thethings.network
If I look now at the general information screen on the nma1 console, I see the changes…

Screen Shot 2021-03-20 at 10.44.16 AM

But, when I now look at the configuration in the nma1 console, I see that the information has changed, but network information is NOT set, and when I try to reset it, the ABP flag is set and I can’t chat t to OTAA. When I try to save any of the pages, I get an Invalids Field Mask. All of the data is still a process by eu1, as well as MQTT data. The eu1 tells me my device is not part of the cluster. but I can’t finish setting up the device on teh nma1 system.

So it looks like I am in never-never-land with this move… half in half out…

{
  "code": 3,
  "message": "error:pkg/networkserver:field_mask (invalid field mask)",
  "details": [
    {
      "@type": "type.googleapis.com/ttn.lorawan.v3.ErrorDetails",
      "namespace": "pkg/networkserver",
      "name": "field_mask",
      "message_format": "invalid field mask",
      "correlation_id": "f6173afcaf1b4651a7978e617bfbde6e",
      "cause": {
        "namespace": "pkg/ttnpb",
        "name": "missing_field",
        "message_format": "field `{field}` is missing",
        "attributes": {
          "field": "supports_join"
        },
        "code": 2
      },
      "code": 3
    }
  ],
  "request_details": {
    "url": "/ns/applications/rsf1-otaa/devices/ws4a-8c",
    "method": "put",
    "stack_component": "ns"
  }
}

Screen Shot 2021-03-20 at 10.48.18 AM

{
  "name": "as.up.data.forward",
  "time": "2021-03-20T16:42:10.908671039Z",
  "identifiers": [
    {
      "device_ids": {
        "device_id": "ws4a-8c",
        "application_ids": {
          "application_id": "rsf1-otaa"
        },
        "dev_eui": "0004A30B0002D68C",
        "join_eui": "70B3D57EF0001E41",
        "dev_addr": "260BF341"
      }
    }
  ],
  "data": {
    "@type": "type.googleapis.com/ttn.lorawan.v3.ApplicationUp",
    "end_device_ids": {
      "device_id": "ws4a-8c",
      "application_ids": {
        "application_id": "rsf1-otaa"
      },
      "dev_eui": "0004A30B0002D68C",
      "join_eui": "70B3D57EF0001E41",
      "dev_addr": "260BF341"
    },
    "correlation_ids": [
      "as:up:01F1887ZJR47Y2MKQMQ0HV4A2F",
      "gs:conn:01F0DQ36WX0GB7BCB8ZKGT1AVN",
      "gs:up:host:01F0DQ36XB2NQV9SVY5MEKQM29",
      "gs:uplink:01F1887ZCAESSBFGRV61N6ES4Y",
      "ns:uplink:01F1887ZCBNJDQS4E52AGP4YV4",
      "rpc:/ttn.lorawan.v3.GsNs/HandleUplink:01F1887ZCBZQNJTNMBRTV07GVK",
      "rpc:/ttn.lorawan.v3.NsAs/HandleUplink:01F1887ZJRQ6HD4E7GSNK8FZZX"
    ],
    "received_at": "2021-03-20T16:42:10.905643097Z",
    "uplink_message": {
      "session_key_id": "AXhQg7bMTL5TsQQbgX2AYQ==",
      "f_port": 21,
      "f_cnt": 2,
      "frm_payload": "AAAEB9AACWACAgICAAIAAAICAgIAAA==",
      "decoded_payload": {
        "Ch1CB": 2,
        "Ch1Sat": 2,
        "Ch2CB": 2,
        "Ch2Sat": 2,
        "Ch3CB": 2,
        "Ch3Sat": 2,
        "Ch4CB": 2,
        "Ch4Sat": 2,
        "DataRate": 0,
        "Hum": 0,
        "PktError": 0,
        "RainCnt": 0,
        "SoilTempC": 24,
        "SoilTempF": 75.2,
        "TXInterval": 2,
        "TempC": 20,
        "TempF": 68,
        "Vbat": 0.04,
        "bytes": 22,
        "packet_type": "WS4a-6x-Data",
        "port": 21
      },
      "rx_metadata": [
        {
          "gateway_ids": {
            "gateway_id": "lps8-rsf",
            "eui": "A840411D1AE44150"
          },
          "time": "2021-03-20T16:42:10.620277Z",
          "timestamp": 1638204268,
          "rssi": -84,
          "channel_rssi": -84,
          "snr": 9,
          "uplink_token": "ChYKFAoIbHBzOC1yc2YSCKhAQR0a5EFQEOyGlI0GGgwI4svYggYQg+LwzAIg4LvV5Na/ywE=",
          "channel_index": 6
        },
        {
          "gateway_ids": {
            "gateway_id": "packetbroker"
          },
          "packet_broker": {
            "message_id": "01F1887ZCVY35W3KT4MCS7QA2G",
            "forwarder_net_id": "000013",
            "forwarder_tenant_id": "ttn",
            "forwarder_cluster_id": "ttn-v2-us-west",
            "home_network_net_id": "000013",
            "home_network_tenant_id": "ttn",
            "home_network_cluster_id": "ttn-eu1",
            "hops": [
              {
                "received_at": "2021-03-20T16:42:10.715520968Z",
                "sender_address": "51.143.19.11",
                "receiver_name": "router-dataplane-565fcb4465-b8cr8",
                "receiver_agent": "pbdataplane/1.4.3 go/1.16 linux/amd64"
              },
              {
                "received_at": "2021-03-20T16:42:10.717585281Z",
                "sender_name": "router-dataplane-565fcb4465-b8cr8",
                "sender_address": "forwarder_uplink",
                "receiver_name": "router-6bf8b69d5-m499q",
                "receiver_agent": "pbrouter/1.4.3 go/1.16 linux/amd64"
              },
              {
                "received_at": "2021-03-20T16:42:10.718347309Z",
                "sender_name": "router-6bf8b69d5-m499q",
                "sender_address": "deliver.000013_ttn_ttn-eu1.uplink",
                "receiver_name": "router-dataplane-565fcb4465-js5t6",
                "receiver_agent": "pbdataplane/1.4.3 go/1.16 linux/amd64"
              }
            ]
          },
          "rssi": -70,
          "channel_rssi": -70,
          "snr": 9.5,
          "uplink_token": "eyJnIjoiWlhsS2FHSkhZMmxQYVVwQ1RWUkpORkl3VGs1VE1XTnBURU5LYkdKdFRXbFBhVXBDVFZSSk5GSXdUazVKYVhkcFlWaFphVTlwU2tKVGF6bE5UMFZ3WmxOdFdrNVlNa1kyVlZoYWFrbHBkMmxrUjBadVNXcHZhVll3TkROUmJFSndVbGh2TlZWdFl6UlVSbEV6VFZaa2Rsb3djSGxSVTBvNUxsTmZOMTgxYUVkV1oyUXdOM1o0UmpCeFZ6bE9aa0V1Ymxab1pUbFlWSEJQU210MVFYTnlTeTVwT0RoRGRFcEVXa0l3VFdNelVpMHpWSFl6ZGpKSGNIa3dObXRPU2xFNWNWWnpibE56Y21sTlFrNW1ZVVJ4ZG5oT1J6ZEplakZzY2t4MFVHMVVYMnc1V0c5Q1NISmhUM0ZaZWkwMVExUXRSa1owVUVGZmJqSkdXQzE1VEdKdlFtOTRVazFwWkZaNFdYVkJTSFoyYUVJdE9HMWFTVkJxZEZCclFWOVNYek55VmpoNFlUQkZNWFpMVUc5ZldXTnZiVkkxV0dGRVJsOTNNMDgzUlVoNlVXcDZjM2h2WTFOTFlXTkdRMmhqTG1NNVJsY3RZa1ZCY1ZkTlF6Tkdia1ZoTVZCRWRVRT0iLCJhIjp7ImZuaWQiOiIwMDAwMTMiLCJmdGlkIjoidHRuIiwiZmNpZCI6InR0bi12Mi11cy13ZXN0In19"
        },
        {
          "gateway_ids": {
            "gateway_id": "packetbroker"
          },
          "packet_broker": {
            "message_id": "01F1887ZDSJ74V7HTWSQJ1VEA9",
            "forwarder_net_id": "000013",
            "forwarder_tenant_id": "ttn",
            "forwarder_cluster_id": "ttn-v2-us-west",
            "home_network_net_id": "000013",
            "home_network_tenant_id": "ttn",
            "home_network_cluster_id": "ttn-eu1",
            "hops": [
              {
                "received_at": "2021-03-20T16:42:10.745874023Z",
                "sender_address": "51.143.19.11",
                "receiver_name": "router-dataplane-565fcb4465-5pbr7",
                "receiver_agent": "pbdataplane/1.4.3 go/1.16 linux/amd64"
              },
              {
                "received_at": "2021-03-20T16:42:10.746791551Z",
                "sender_name": "router-dataplane-565fcb4465-5pbr7",
                "sender_address": "forwarder_uplink",
                "receiver_name": "router-6bf8b69d5-rbnjg",
                "receiver_agent": "pbrouter/1.4.3 go/1.16 linux/amd64"
              },
              {
                "received_at": "2021-03-20T16:42:10.748500218Z",
                "sender_name": "router-6bf8b69d5-rbnjg",
                "sender_address": "deliver.000013_ttn_ttn-eu1.uplink",
                "receiver_name": "router-dataplane-565fcb4465-5pbr7",
                "receiver_agent": "pbdataplane/1.4.3 go/1.16 linux/amd64"
              }
            ]
          },
          "time": "2021-03-20T16:42:10.660968065Z",
          "rssi": -75,
          "channel_rssi": -75,
          "snr": 9.5,
          "uplink_token": "eyJnIjoiWlhsS2FHSkhZMmxQYVVwQ1RWUkpORkl3VGs1VE1XTnBURU5LYkdKdFRXbFBhVXBDVFZSSk5GSXdUazVKYVhkcFlWaFphVTlwU1hwWFJFNVFXbGM1U2sxdVJYcGliRzh5Vm0xMFJrbHBkMmxrUjBadVNXcHZhV0l5Y0d4WU1rNVBXbnBhWm1KV1RscFRNMFowVW01Sk1rMUhSa2hhZVVvNUxrRmxUVzVUTjI4MFRFTjNUelJHUm5kcldteEJiR2N1WnkxQ1dVMTFPVUZvTFd0cGNuRmZTUzQyZFRGdU1YY3pkamQyV1RjemFFRldPVVZUUmxjMGNsODRNR2xmUWpSUmMzUnVhazFwZGpsMmRrMTNYMDFuUzBwVlFrUXROVGg2YmxoVFkyUlJielJCVG00eVVHdEVWa2Q0YW5aMmRIRXpNakp0TWxodU1tbDViSEJPYzFFelRWbGlSUzE2VlhaVE5qVlZTa1ZmY2toblVqTTRaRkE0UkY5aGNXdFpSSGRhTm5VMWVXcFRRWEJhU0hGa00yZEpVM2RNVEdWT2MyZFlXR1pOYkdKQldDMW1NRFp6TnpNM1VFSm5kVGxwTGpCdVJ6aEpiVTF2YlVOMWQwTk9VVmh3VUZab05uYz0iLCJhIjp7ImZuaWQiOiIwMDAwMTMiLCJmdGlkIjoidHRuIiwiZmNpZCI6InR0bi12Mi11cy13ZXN0In19"
        }
      ],
      "settings": {
        "data_rate": {
          "lora": {
            "bandwidth": 125000,
            "spreading_factor": 7
          }
        },
        "data_rate_index": 3,
        "coding_rate": "4/5",
        "frequency": "905100000",
        "timestamp": 1638204268,
        "time": "2021-03-20T16:42:10.620277Z"
      },
      "received_at": "2021-03-20T16:42:10.699213014Z",
      "consumed_airtime": "0.077056s"
    }
  },
  "correlation_ids": [
    "as:up:01F1887ZJR47Y2MKQMQ0HV4A2F",
    "gs:conn:01F0DQ36WX0GB7BCB8ZKGT1AVN",
    "gs:up:host:01F0DQ36XB2NQV9SVY5MEKQM29",
    "gs:uplink:01F1887ZCAESSBFGRV61N6ES4Y",
    "ns:uplink:01F1887ZCBNJDQS4E52AGP4YV4",
    "rpc:/ttn.lorawan.v3.GsNs/HandleUplink:01F1887ZCBZQNJTNMBRTV07GVK",
    "rpc:/ttn.lorawan.v3.NsAs/HandleUplink:01F1887ZJRQ6HD4E7GSNK8FZZX"
  ],
  "origin": "ip-10-100-15-71.eu-west-1.compute.internal",
  "context": {
    "tenant-id": "CgN0dG4="
  },
  "visibility": {
    "rights": [
      "RIGHT_APPLICATION_TRAFFIC_READ"
    ]
  },
  "unique_id": "01F1887ZJW0CX6SEW53J1DFB05"
}


~~~~~~~~~~~~~~~~~~~~~



{
  "name": "ns.up.data.forward",
  "time": "2021-03-20T16:44:25.368241067Z",
  "identifiers": [
    {
      "device_ids": {
        "device_id": "ws4a-8c",
        "application_ids": {
          "application_id": "rsf1-otaa"
        },
        "dev_eui": "0004A30B0002D68C",
        "join_eui": "70B3D57EF0001E41",
        "dev_addr": "260BF341"
      }
    }
  ],
  "data": {
    "@type": "type.googleapis.com/ttn.lorawan.v3.ApplicationUp",
    "end_device_ids": {
      "device_id": "ws4a-8c",
      "application_ids": {
        "application_id": "rsf1-otaa"
      },
      "dev_eui": "0004A30B0002D68C",
      "join_eui": "70B3D57EF0001E41",
      "dev_addr": "260BF341"
    },
    "correlation_ids": [
      "gs:conn:01F0DQ36WX0GB7BCB8ZKGT1AVN",
      "gs:up:host:01F0DQ36XB2NQV9SVY5MEKQM29",
      "gs:uplink:01F188C2NQK1M87WV2F8E5ZG0F",
      "ns:uplink:01F188C2NRNA0G7BP61E80GBN7",
      "rpc:/ttn.lorawan.v3.GsNs/HandleUplink:01F188C2NR168S1S0PX7NYP9DY"
    ],
    "uplink_message": {
      "session_key_id": "AXhQg7bMTL5TsQQbgX2AYQ==",
      "f_port": 21,
      "f_cnt": 3,
      "frm_payload": "6ABfq5jWSpmZT8/2FA3dZifadFwQyA==",
      "rx_metadata": [
        {
          "gateway_ids": {
            "gateway_id": "lps8-rsf",
            "eui": "A840411D1AE44150"
          },
          "time": "2021-03-20T16:44:25.065607Z",
          "timestamp": 1772649227,
          "rssi": -87,
          "channel_rssi": -87,
          "snr": 7.8,
          "uplink_token": "ChYKFAoIbHBzOC1yc2YSCKhAQR0a5EFQEIv2oc0GGgsI6czYggYQ+pOcRCD4xYLRy8PLAQ==",
          "channel_index": 1
        },
        {
          "gateway_ids": {
            "gateway_id": "packetbroker"
          },
          "packet_broker": {
            "message_id": "01F188C2Q4D2SA78XTGDYZ0VGT",
            "forwarder_net_id": "000013",
            "forwarder_tenant_id": "ttn",
            "forwarder_cluster_id": "ttn-v2-us-west",
            "home_network_net_id": "000013",
            "home_network_tenant_id": "ttn",
            "home_network_cluster_id": "ttn-eu1",
            "hops": [
              {
                "received_at": "2021-03-20T16:44:25.188607025Z",
                "sender_address": "51.143.19.11",
                "receiver_name": "router-dataplane-565fcb4465-b8cr8",
                "receiver_agent": "pbdataplane/1.4.3 go/1.16 linux/amd64"
              },
              {
                "received_at": "2021-03-20T16:44:25.189365987Z",
                "sender_name": "router-dataplane-565fcb4465-b8cr8",
                "sender_address": "forwarder_uplink",
                "receiver_name": "router-6bf8b69d5-m499q",
                "receiver_agent": "pbrouter/1.4.3 go/1.16 linux/amd64"
              },
              {
                "received_at": "2021-03-20T16:44:25.190441130Z",
                "sender_name": "router-6bf8b69d5-m499q",
                "sender_address": "deliver.000013_ttn_ttn-eu1.uplink",
                "receiver_name": "router-dataplane-565fcb4465-5pbr7",
                "receiver_agent": "pbdataplane/1.4.3 go/1.16 linux/amd64"
              }
            ]
          },
          "time": "2021-03-20T16:44:25.105233907Z",
          "rssi": -75,
          "channel_rssi": -75,
          "snr": 9.75,
          "uplink_token": "eyJnIjoiWlhsS2FHSkhZMmxQYVVwQ1RWUkpORkl3VGs1VE1XTnBURU5LYkdKdFRXbFBhVXBDVFZSSk5GSXdUazVKYVhkcFlWaFphVTlwU25saE1FWndZVWRhVUZReFpFNWpiRkpEWVVVMVRrbHBkMmxrUjBadVNXcHZhV1F3VGpKUFJVcG9WMVJLVjFZd2REVmthbEphWlVSV1NWVkVTWFJrZVVvNUxqVk5OWGxCU3psU1VqQlViRkZKWjBoellUZHJWMmN1YW5vMGJGSXhaVVpoUkZWM1luazJkQzVyU201bVdqSm5aMGs1VkRFNVgxcHRUa1pvYkUxMWFteFliMWRLWVVzeFpXeDROa3d6T1hkd1ZXWkxRWE5sZVV4d1VrUkljRVphZERGbGVrVTJVemx6VFMxdFkxWnVaVUZJZDBWVVJHaENhRXR6T0d0VFFVNXJSalJOWmpGc1RqaElWVEZDTlV3eVNGUmhlRU14V1hsR2VFSktPVVpRY1cweFRuRktRVXRMY2pCemN6TndhbUl0TW1oMVEzVmpXVVYzVm05ZlNVWm9SR2h5TkdoR1pYSlJZM0ZhZVRsa1ZTNVZVV2t3UWpoVk9GVm1WWGsyVm5CVmN6RjZjMlZSIiwiYSI6eyJmbmlkIjoiMDAwMDEzIiwiZnRpZCI6InR0biIsImZjaWQiOiJ0dG4tdjItdXMtd2VzdCJ9fQ=="
        },
        {
          "gateway_ids": {
            "gateway_id": "packetbroker"
          },
          "packet_broker": {
            "message_id": "01F188C2PEXG9M0QNYQYS80AFW",
            "forwarder_net_id": "000013",
            "forwarder_tenant_id": "ttn",
            "forwarder_cluster_id": "ttn-v2-us-west",
            "home_network_net_id": "000013",
            "home_network_tenant_id": "ttn",
            "home_network_cluster_id": "ttn-eu1",
            "hops": [
              {
                "received_at": "2021-03-20T16:44:25.166937872Z",
                "sender_address": "51.143.19.11",
                "receiver_name": "router-dataplane-565fcb4465-b8cr8",
                "receiver_agent": "pbdataplane/1.4.3 go/1.16 linux/amd64"
              },
              {
                "received_at": "2021-03-20T16:44:25.172115066Z",
                "sender_name": "router-dataplane-565fcb4465-b8cr8",
                "sender_address": "forwarder_uplink",
                "receiver_name": "router-6bf8b69d5-rbnjg",
                "receiver_agent": "pbrouter/1.4.3 go/1.16 linux/amd64"
              },
              {
                "received_at": "2021-03-20T16:44:25.178255446Z",
                "sender_name": "router-6bf8b69d5-rbnjg",
                "sender_address": "deliver.000013_ttn_ttn-eu1.uplink",
                "receiver_name": "router-dataplane-565fcb4465-5pbr7",
                "receiver_agent": "pbdataplane/1.4.3 go/1.16 linux/amd64"
              }
            ]
          },
          "rssi": -67,
          "channel_rssi": -67,
          "snr": 10,
          "uplink_token": "eyJnIjoiWlhsS2FHSkhZMmxQYVVwQ1RWUkpORkl3VGs1VE1XTnBURU5LYkdKdFRXbFBhVXBDVFZSSk5GSXdUazVKYVhkcFlWaFphVTlwU201UFZVWnJVa1ZWTUdKRlNqWlpNMVpJWlVoYWJFbHBkMmxrUjBadVNXcHZhVk13YUV0VE1IaGhWVlU1YmxSdVpHbFViVXBvWVhwV1VsZFZlREphZVVvNUxtczBRelpFVmpCVE5sRmtla3huVVZsQlEzQTRNM2N1U1cxaFdFaEdVSEpmYVVSTmVFaG1WeTVSWHpKdVgxUjBabVZrTWpkVVRtOW5abTFIWVdrMmQyUkJSRVJVU1dOMFFXMUNVR2RmT1dWd2NWcDBURlZZU2tOT1ZtbG5RVkJhV21NNE1YaFdjbnBxVFc1TlJFNUdTRUY2UWtONmJYUmFNSFJHVG5CeFMyWnJNREJUUzA1d2QwMVJSSGRxVUVsd2VVMUtObHBwWTJ0UVVHcHRUVkJ3UkRsM04wRnZPVnBLZGsxMWREbFZNREJITFZOUVlXUlFXREZNVFhweVFtcDZVbTlHZDI1WlVGbGtUVTgzU0ZKaU5tNU5UMnBXTGtSc05scFdOMDV6TkZsaVozcHdTbXRRZDFGb2QzYz0iLCJhIjp7ImZuaWQiOiIwMDAwMTMiLCJmdGlkIjoidHRuIiwiZmNpZCI6InR0bi12Mi11cy13ZXN0In19"
        }
      ],
      "settings": {
        "data_rate": {
          "lora": {
            "bandwidth": 125000,
            "spreading_factor": 7
          }
        },
        "data_rate_index": 3,
        "coding_rate": "4/5",
        "frequency": "904100000",
        "timestamp": 1772649227,
        "time": "2021-03-20T16:44:25.065607Z"
      },
      "received_at": "2021-03-20T16:44:25.144707681Z",
      "consumed_airtime": "0.077056s"
    }
  },
  "correlation_ids": [
    "gs:conn:01F0DQ36WX0GB7BCB8ZKGT1AVN",
    "gs:up:host:01F0DQ36XB2NQV9SVY5MEKQM29",
    "gs:uplink:01F188C2NQK1M87WV2F8E5ZG0F",
    "ns:uplink:01F188C2NRNA0G7BP61E80GBN7",
    "rpc:/ttn.lorawan.v3.GsNs/HandleUplink:01F188C2NR168S1S0PX7NYP9DY"
  ],
  "origin": "ip-10-100-5-49.eu-west-1.compute.internal",
  "context": {
    "tenant-id": "CgN0dG4="
  },
  "visibility": {
    "rights": [
      "RIGHT_APPLICATION_TRAFFIC_READ"
    ]
  },
  "unique_id": "01F188C2WRJQD2S8ERCV2RV2D9"
}

Given that TTI provision the servers in each region, I suspect you’ve altered the settings in the EU database but nothing got moved to a completely different database on a server 6,000+ miles to the west.

If you care to answer the question about how many devices more help may be forthcoming.

I have just a dozen active device to move… this one was just a test unit…

what happen if I just delete them in the EU1 system and re adds in NMA1 ??

That’s what I would have done from the start. nam and eu are two different networks. Best to just create from scratch on the correct network.

1 Like

Yup, now we know it’s just a handful, easier to do it with a copynpasta session…

BTW @trlafleur, it’s NAM1 - best to get the nomenclature correct for future scripting.

Ok, I deleted all the units from EU1 and move all of them except two of them, they get an error when I try to save…

Network layer settings
Frequency plan, regional parameters, end device class and session keys.

{
  "code": 3,
  "message": "error:pkg/networkserver:field_mask (invalid field mask)",
  "details": [
    {
      "@type": "type.googleapis.com/ttn.lorawan.v3.ErrorDetails",
      "namespace": "pkg/networkserver",
      "name": "field_mask",
      "message_format": "invalid field mask",
      "correlation_id": "a275ea71e4a8422f8b0a350744fec4fb",
      "cause": {
        "namespace": "pkg/ttnpb",
        "name": "prohibited_field",
        "message_format": "field `{field}` is prohibited",
        "attributes": {
          "field": "multicast"
        },
        "code": 2
      },
      "code": 3
    }
  ],
  "request_details": {
    "url": "/ns/applications/rsf1-otaa/devices/ws4a-b0",
    "method": "put",
    "stack_component": "ns"
  }
}