Nokia logo
DocumentationBlogPricing
Request access

Checking roaming status

The Device Status SDK allows checking the device roaming status and subscribing to its related events. A device can be in national (different networks in the same country) or international roaming (different networks in another country). Knowing whether device is connected to a network other than its home one is important for regulatory, security and content delivery reasons.

For example, in some cases for certain transactions to take place, a device needs to be within an area where it is legally allowed to operate or make transactions. Another case would be to ensure a customer's device is exactly where it claims to be to avoid fraud. Other important examples include content or service delivery to avoid extra costs or unexpected roaming charges for accessing them.

Getting device roaming status

The SDK below allows you to subscribe client devices to Device Status roaming events.

from fastapi import FastAPI
from pydantic import BaseModel
 
import network_as_code as nac
 
from network_as_code.models.device import Device, DeviceIpv4Addr
 
client = nac.NetworkAsCodeClient(
    token="<your-application-key-here>"
)
 
device = client.devices.get("device@bestcsp.net",
                            ipv4_address = DeviceIpv4Addr(public_address="192.0.2.3",
                                                          private_address="192.0.2.204",
                                                          public_port=80))
 
# Simply change the event_type to "ROAMING" or "Connectivity" status whenever needed.
subscription = client.connectivity.subscribe(
    event_type="ROAMING_STATUS",
    device=device,
    max_num_of_reports=5,
    notification_url="https://example.com/notifications",
    notification_auth_token="my_token"
)
 
# Use this to show the roaming subscription status
print(subscription)

Device object parameters

The snippet above identified a mobile network device in multiple ways (IP addresses, port, etc). Learn how to create a device object and understand how the DeviceIPv4Addr model works using NAT technology.

Roaming subscription parameters

Above, we created a subscription object for roaming status and supplied the necessary parameters to the client.connectivity.subscribe() method. The parameters table below describes which data each parameter expects to receive.

ParametersDescription
event_typeThe status type you want to check, which is "ROAMING_STATUS" in this case
deviceDevice ID callback parameter.
max_num_of_reportsHow many reports will be sent to you.
notification_urlHere you can inform a webhook endpoint to receive Device Status notifications.
notification_auth_tokenA password used to identify the sender of the notification.

Last updated on October 12, 2023

On this page
Getting device roaming statusDevice object parametersRoaming subscription parameters