OpenRoaming with Mist

Now that the Open Roaming standard has been handed over to the WBA, we can finally utilise it on non Cisco networks.

All you need is

  • Google Pixel – Running Android 11
  • Samsung S9 or above running Android 11
  • OpenRoaming APP
  • OpenRoaming SSID
    • Radius Broker / Cisco DNA Spaces

Now for open roaming settlement and settlement free Mist fortunately has precanned Hotspot 2.0 operators, but currently (well I’m being told about 2-4 weeks) if you are using a mobile device that does not have Open roaming built into the OS then you need to use the Open roaming APP available on both the Google Play Store and the APP store.

This leads to one slight issue in that currently this app is using a legacy ROIC of 004096 which the hotspot 2.0 operators within Mist don’t currently have. Which effectively means the device never joins the network – well thats a pain.

So how do we get it working on Mist before they magically create the legacy operator in their next production release I hear you ask. Mist fortunately has an extensive API library to allow you to do this.

Now what I will show you could always be deployed via a Python script but because I don’t see this being needed for long – as Mist support will make it easy via a simple drop down operator in the WebUI. So for this example I will show you how this was done utilising Postman.

First thing you need a few things:

  • Postman
    • An application that you can use to make API calls. I quite often utilise Postman for when I need to test new API calls, or to troubleshoot why they are not working in my Python scripts.
    • If you don’t have postman yet, feel free to download and try it out yourself: https://www.postman.com/downloads/
  • Your Mist API Token

So the API call we are going to make is:

PUT https://api.mist.com/api/v1/sites/:site_id/wlans/:wlan_id

Now with we extract our site ID and our WLAN ID (for the SSID we are configuring as OpenRoaming):

PUT https://api.mist.com/api/v1/sites/9537f9a3-c2f5-4234-9d38-34c671fa2dae/wlans/8a136a0d-c0fa-41e7-af96-0fbcc9b99135

Now we need to deliver a payload and the values we need to set are:

  • Enable Hotspot 2.0
  • Configure the OpenRoaming operators
  • add the RCOIs for the OpenRoaming Operators including the legacy one 004096
{        "hotspot20": {
            "enabled": true,
            "venue_name": "some_venue",
            "operators": [
                "openroaming_settled",
                "openroaming_settlement_free"
            ],
            "rcoi": [
                "5A03BA0000",
                "004096",
                "BAA2D00000"
            ]
        }
}

Then we just send the request by pressing the send button.

If successful Postman will return all the configured settings of the WLAN you configured.

Now if you want to check the WLAN configuration before hand you can use a GET request:

GET https://api.mist.com/api/v1/sites/:SiteID/wlans?name=:SSIDName
If you want all of your WLANs just omit the ?name=:SSIDName

One thought on “OpenRoaming with Mist

  1. Pingback: OpenRoaming with Mist - Gestalt IT

Leave a comment