LoRaWan Roaming support Chirpstack V4

Hello Everyone,

I was using V3 as a serveur receiving roaming call from another server.
So the Roaming API:8181 was configured and used.

After upgrading/migrating to V4, i no more have access to Roaming API:
Connection refused!!!

1 Like

@brocaar Any help would be very appreciated, i know that you are very busy. But your answear will determine if i have to rollback or not :-/

ChirpStack v4 does support the passive-roaming API. The connection refused sounds like either a misconfiguration or network configuration issue (e.g. firewall).

For those who are facing the same issue.
The migration seems not transfering correctly the V3 Roaming conf to the V4 conf.
use the Backend interfaces instead of Roaming to bind the correct interface:

[backend_interfaces]

#interface:port to bind the Backend Interfaces API to. NEW V4 CONF

#Note: this interface is used both for passive-roaming and when
#integrating with Join Servers that implement the async interface.
bind=“0.0.0.0:8181”

#CA certificate (path).
ca_cert="/…/certs/ca/ca.pem"

#TLS certificate (path).
tls_cert="/…/certs/chirpstack-network-server/roaming/000000/server/chirpstack-network-server-roaming-000000-server.pem"

#TLS key (path).
tls_key="/…/certs/chirpstack-network-server/roaming/000000/server/chirpstack-network-server-roaming-000000-server-key.pem"

hello All,

After a success on Ubuntu to implement V4 with roaming (V3 Certificates worked perfectly).

I implement the docker version of Chirpstack V4, but unfortunately, no way to do Roaming either on 8080 & 8181 port

on 8080 i have an http 200 ok but no PRstans like this example:
{
“ProtocolVersion”: “1.0”,
“SenderID”: “000000”,
“ReceiverID”: “000001”,
“TransactionID”: 140500,
“MessageType”: “PRStartAns”,
“Result”: {
“ResultCode”: “UnknownDevAddr”,
“Description”: “Object does not exist (id: xxxxxxxx)”
}
}

On port 8181, i have the error “Error: connect ECONNREFUSED X.X.X.X: 8181”

On my Toml side:

[backend_interfaces]

interface:port to bind the Backend Interfaces API to.

Note: this interface is used both for passive-roaming and when

integrating with Join Servers that implement the async interface.

bind=“0.0.0.0:8181”

Roaming configuration

[roaming]

Resolve NetID domain suffix.

This configures the domain suffix used for resolving a Network Server

using its NetID.

resolve_netid_domain_suffix=".netids.lora-alliance.org"

Per roaming-agreement server configuration.

Example:

[[roaming.servers]]

# NetID of the roaming server.

net_id=“000001”

# Use the async API scheme.

async=false

# Async timeout (set to 0 to disable async interface).

async_timeout="0s"

# Async request timeout.

async_timeout=“1s”

# Allow passive-roaming.

#passive_roaming=true

# Passive-roaming session lifetime.

# When set to 0s, the passive-roaming will be stateless.

passive_roaming_lifetime=“0s”

# Passive-roaming KEK label (optional).

my docker compose is like the example: Do i have to add the port 8181? i did it (Chirpstack services) but did not worked.

version: “3”

services:
chirpstack:
image: chirpstack/chirpstack:4.1.1
command: -c /etc/chirpstack
restart: unless-stopped
volumes:
- ./configuration/chirpstack:/etc/chirpstack
- ./lorawan-devices:/opt/lorawan-devices
depends_on:
- postgres
- mosquitto
- redis
environment:
- MQTT_BROKER_HOST=mosquitto
- REDIS_HOST=redis
- POSTGRESQL_HOST=postgres
ports:
- 8080:8080

chirpstack-gateway-bridge-eu868:
image: chirpstack/chirpstack-gateway-bridge:4.0.3
restart: unless-stopped
ports:
- 1700:1700/udp
volumes:
- ./configuration/chirpstack-gateway-bridge:/etc/chirpstack-gateway-bridge
depends_on:
- mosquitto

chirpstack-rest-api:
image: chirpstack/chirpstack-rest-api:4.1.1
restart: unless-stopped
command: --server chirpstack:8080 --bind 0.0.0.0:8090 --insecure
ports:
- 8090:8090
depends_on:
- chirpstack

postgres:
image: postgres:14-alpine
restart: unless-stopped
volumes:
- ./configuration/postgresql/initdb:/docker-entrypoint-initdb.d
- postgresqldata:/var/lib/postgresql/data
environment:
- POSTGRES_PASSWORD=root

redis:
image: redis:7-alpine
restart: unless-stopped
volumes:
- redisdata:/data

mosquitto:
image: eclipse-mosquitto:2
restart: unless-stopped
ports:
- 1883:1883
volumes:
- ./configuration/mosquitto/mosquitto.conf:/mosquitto/config/mosquitto.conf

volumes:
postgresqldata:
redisdata:

1 Like

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.