{"id":244,"date":"2024-12-30T15:15:56","date_gmt":"2024-12-30T14:15:56","guid":{"rendered":"https:\/\/networkjon.wordpress.com\/?p=244"},"modified":"2024-12-30T15:21:17","modified_gmt":"2024-12-30T14:21:17","slug":"openroaming-configuration-on-cisco-spaces","status":"publish","type":"post","link":"https:\/\/www.networkjon.fr\/blog\/openroaming-configuration-on-cisco-spaces\/","title":{"rendered":"OpenRoaming configuration using Cisco  Spaces"},"content":{"rendered":"\n<p>Lately I have been working on implementing and testing OpenRoaming with different Wi-Fi vendors. If you don&#8217;t know about OpenRoaming, it is a global initiative from the <a href=\"https:\/\/wballiance.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Wireless Broadband Alliance<\/a> that simplifies and secures the process of connecting to Wi-Fi networks. Basically, it allows to create guest networks that use 802.1x authentication and leverages Passpoint (HotSpot 2.0) for automatic and frictionless connection.<\/p>\n\n\n\n<p>Today I am sharing a procedure to configure OpenRoaming on a Cisco infrastructure using a C9800 controller and Cisco Spaces (formerly known as Cisco DNA Spaces). The main advantage of Spaces is that it takes care of all the configuration in the background (generating certificates, establishing trust and connecting to Identity Providers&#8230;). Yet, you still have some steps to follow to configure Spaces and the controller. Let&#8217;s get to it.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Prerequisites<\/h2>\n\n\n\n<p>For this tutorial, you will need:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Cisco Spaces with a &#8220;See&#8221; license level minimum<\/li>\n\n\n\n<li>Someway to host the Spaces Connector which comes as a VM (VMware or Hyper-V are supported)<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Connector installationg &amp; configuration<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Install Cisco Spaces Connector<\/strong> which is a VM that runs on your network and makes the bridge between Spaces in the cloud and your C9800 controller:\n<ul class=\"wp-block-list\">\n<li>Download link: <a href=\"https:\/\/software.cisco.com\/download\/home\/286323456\/type\/286322783\/release\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/software.cisco.com\/download\/home\/286323456\/type\/286322783\/release\/<\/a><\/li>\n\n\n\n<li>Documentation: <a href=\"https:\/\/www.cisco.com\/c\/en\/us\/td\/docs\/wireless\/cisco-dna-spaces\/connector\/config\/b_connector\/m_overview.html\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.cisco.com\/c\/en\/us\/td\/docs\/wireless\/cisco-dna-spaces\/connector\/config\/b_connector\/m_overview.html<\/a><\/li>\n\n\n\n<li>When the VM first starts, you only need to input IP parameters and create credentials. Once installation is complete, Connector is reachable through HTTPS.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Join the Connector to Spaces:<\/strong> on Spaces, go to menu Setup > Wireless Networks (<a href=\"https:\/\/dnaspaces.eu\/setup\/connectors\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/dnaspaces.eu\/setup\/connectors<\/a>)\n<ul class=\"wp-block-list\">\n<li>Add menu &#8220;Connect via Spaces Connector&#8221;:<br><img decoding=\"async\" src=\"https:\/\/networkjon.fr\/blog\/wp-content\/uploads\/2024\/12\/image-3.png\" alt=\"\"><\/li>\n\n\n\n<li>In menu &#8220;Connect via Spaces Connector&#8221;, create a new Connector:<br><img decoding=\"async\" src=\"https:\/\/networkjon.fr\/blog\/wp-content\/uploads\/2024\/12\/image-4.png\" alt=\"\"><\/li>\n\n\n\n<li>Once the connector is created, you are redirected to the Connector configuration. Click on Generate Token et copy the Token:<br><img decoding=\"async\" src=\"https:\/\/networkjon.fr\/blog\/wp-content\/uploads\/2024\/12\/image-6.png\" alt=\"\"><\/li>\n\n\n\n<li>On Cisco Spaces Connector, click on \u00ab Setup \u00bb next to \u00ab Configure Token \u00bb et paste the Token:<br><img decoding=\"async\" src=\"https:\/\/networkjon.fr\/blog\/wp-content\/uploads\/2024\/12\/image-7.png\" alt=\"\"><\/li>\n\n\n\n<li>The Connector then establishes connection with Cisco Spaces to download its configuration. After a few minutes, you should see it properly connected:<br><img decoding=\"async\" src=\"https:\/\/networkjon.fr\/blog\/wp-content\/uploads\/2024\/12\/image-8.png\" alt=\"\"><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Configure the communication with the C9800 by going to Spaces, menu Setup > Wireless Networks:\n<ul class=\"wp-block-list\">\n<li>In section \u00ab Connect via Spaces Connector \u00bb, step #2 is complete and we can now see the Connecter:<img decoding=\"async\" src=\"https:\/\/networkjon.fr\/blog\/wp-content\/uploads\/2024\/12\/image-9.png\" alt=\"\"><\/li>\n\n\n\n<li>In step #3, click on Add Controllers :<br><img decoding=\"async\" src=\"https:\/\/networkjon.fr\/blog\/wp-content\/uploads\/2024\/12\/image-10.png\" alt=\"\"><\/li>\n\n\n\n<li>Enter the C9800 information so the Connector can connect to it:<br><img decoding=\"async\" src=\"https:\/\/networkjon.fr\/blog\/wp-content\/uploads\/2024\/12\/image-11.png\" alt=\"\"><\/li>\n\n\n\n<li>Click \u00ab Test Connectivity \u00bb to try:<br><img decoding=\"async\" src=\"https:\/\/networkjon.fr\/blog\/wp-content\/uploads\/2024\/12\/image-12.png\" alt=\"\"><\/li>\n\n\n\n<li>Save the controller configuration. On the Connector, you can now see it is communicating with the controller:<br><img decoding=\"async\" src=\"https:\/\/networkjon.fr\/blog\/wp-content\/uploads\/2024\/12\/image-13.png\" alt=\"\"><\/li>\n\n\n\n<li>On Spaces, the controller should then appear as Active:<br><img decoding=\"async\" src=\"https:\/\/networkjon.fr\/blog\/wp-content\/uploads\/2024\/12\/image-14.png\" alt=\"\"><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">OpenRoaming configuration<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>On Spaces, open the OpenRoaming application and go to the Setup menu: <a href=\"https:\/\/dnaspaces.eu\/openroaming\/setup\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/dnaspaces.eu\/openroaming\/setup<\/a><br><img decoding=\"async\" src=\"https:\/\/networkjon.fr\/blog\/wp-content\/uploads\/2024\/12\/image-15.png\" alt=\"\">\n<ul class=\"wp-block-list\">\n<li>In step #1, create an OpenRoaming profile. This should match the name of the SSID you will create later on the C9800 controller.<br><img decoding=\"async\" src=\"https:\/\/networkjon.fr\/blog\/wp-content\/uploads\/2024\/12\/image-16.png\" alt=\"\"><\/li>\n\n\n\n<li>In step #2, click \u00ab\u00a0Enable Hotspot for Connectors\u00a0\u00bb:<br><img decoding=\"async\" src=\"https:\/\/networkjon.fr\/blog\/wp-content\/uploads\/2024\/12\/image-17.png\" alt=\"\"><\/li>\n\n\n\n<li>Spaces should provide a new Token. Copy and paste this Token on the Connector, menu Settings > Configure Token:<br><img decoding=\"async\" src=\"https:\/\/networkjon.fr\/blog\/wp-content\/uploads\/2024\/12\/image-18.png\" alt=\"\"><br><img decoding=\"async\" src=\"https:\/\/networkjon.fr\/blog\/wp-content\/uploads\/2024\/12\/image-19.png\" alt=\"\"><\/li>\n\n\n\n<li>Once you enter the Token on the Connector, it refreshes its configuration. Once finished, a new tab called &#8220;Hotspot&#8221; should appear on the Connector. You can check the &#8220;Hotspot&#8221; feature state:<br><img decoding=\"async\" src=\"https:\/\/networkjon.fr\/blog\/wp-content\/uploads\/2024\/12\/image-20.png\" alt=\"\"><\/li>\n\n\n\n<li>Back on Spaces, the Connector should now appear:<br><img decoding=\"async\" src=\"https:\/\/networkjon.fr\/blog\/wp-content\/uploads\/2024\/12\/image-21.png\" alt=\"\"><\/li>\n\n\n\n<li>In step #3, the controller we previously registered should appear. Click on the Settings button next to it:<br><img decoding=\"async\" src=\"https:\/\/networkjon.fr\/blog\/wp-content\/uploads\/2024\/12\/image-22.png\" alt=\"\"><\/li>\n\n\n\n<li>In the menu that opens, choose the OpenRoaming profile we created earlier and click &#8220;Continue&#8221;:<br><img decoding=\"async\" src=\"https:\/\/networkjon.fr\/blog\/wp-content\/uploads\/2024\/12\/image-23.png\" alt=\"\"><\/li>\n\n\n\n<li>Choose Catalyst 9800 as your controller, type the SSID name click on &#8220;Show Configuration&#8221;:<br><img decoding=\"async\" src=\"https:\/\/networkjon.fr\/blog\/wp-content\/uploads\/2024\/12\/image-24.png\" alt=\"\"><\/li>\n\n\n\n<li>Copy the configuration displayed on the screen. This configuration will be useful in the next step. <strong>IMPORTANT: all the configuration will not be injected, only the part with ANQP configuration is needed.<\/strong><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">C9800 configuration<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>On the C9800, import the Root CA used by Cisco: <a href=\"https:\/\/www.cisco.com\/c\/en\/us\/td\/docs\/solutions\/Enterprise\/Mobility\/DNA-Spaces\/cisco-dna-spaces-config\/dnaspaces-configuration-guide\/m_wlc-config.html#eWLCconnection\">https:\/\/www.cisco.com\/c\/en\/us\/td\/docs\/solutions\/Enterprise\/Mobility\/DNA-Spaces\/cisco-dna-spaces-config\/dnaspaces-configuration-guide\/m_wlc-config.html#eWLCconnection<\/a><\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>(config)#crypto pki trustpool import url http:\/\/www.cisco.com\/security\/pki\/trs\/ios.p7b<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>You can check the Root CA with this command:<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>show crypto pki trustpool | section DigiCert Global Root CA<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>On the C9800, create a AAA server for the Connector (default RADIUS PSK used by the Connector is &#8220;radsec&#8221;):<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>radius server OpenRoaming_Connector\n address ipv4 192.168.254.206 auth-port 1812 acct-port 1813\n key radsec\naaa group server radius Grp-OpenRoaming\n server name OpenRoaming_Connector\n deadtime 5\n mac-delimiter hyphen\naaa authentication dot1x authe-OpenRoaming group Grp-OpenRoaming\naaa authorization exec authz-OpenRoaming group Grp-OpenRoaming\naaa accounting identity accnt-OpenRoaming start-stop group Grp-OpenRoaming\nradius-server attribute wireless accounting call-station-id ap-macaddress-ssid\nradius-server attribute wireless authentication call-station-id ap-macaddress-ssid<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>On the C9800, create the SSID:<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>wlan AxiansOpenRoaming 105 AxiansOpenRoaming\n ccx aironet-iesupport\n dot11ax target-waketime\n dot11ax twt-broadcast-support\n no security ft adaptive\n security dot1x authentication-list authe-OpenRoaming\n no shutdown<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>On the C9800, paste the ANQP configuration you copied earlier from the Connector. <strong>IMPORTANT: you should only copy the ANQP configuration. <\/strong>As reference, here is what I am copying on my controller:<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>wireless hotspot anqp-server OpenRoaming type open-roaming\ndomain cisco.com\nnai-realm 1.openroaming.org\neap-method eap-ttls\ninner-auth-non-eap pap\nnai-realm 2.openroaming.org\neap-method eap-ttls\ninner-auth-non-eap mschap-v2\nnai-realm 3.openroaming.org\neap-method eap-tls\nnai-realm 4.openroaming.org\neap-method eap-aka\nnai-realm open.openroaming.org\neap-method eap-ttls\ninner-auth-non-eap pap\nnetwork-type free-public internet-access allowed\nopen-roaming-oi All beacon<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Create a Policy Profile:<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>wireless profile policy Local-OpenRoaming-Vlan251\n accounting-list accnt-OpenRoaming\n no central dhcp\n no central switching\n hotspot anqp-server OpenRoaming\n session-timeout 3600\n vlan 251\n no shutdown<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Add the SSID and its Policy Profile to a Policy tag:<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>wireless tag policy Axians_Policy_Lab\n wlan AxiansOpenRoaming policy Local-OpenRoaming-Vlan251<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Testing<\/h2>\n\n\n\n<p>There you go, you now have a HotSpot 2.0 SSID being broadcasted by your access points. Authentication is handled by the Connector which acts as a RADIUS server for your C9800 controller. Then, the authentication magic should happen in the background thanks to the communication between the Connector and Cisco Spaces.<\/p>\n\n\n\n<p>On Android devices from Samsung and Google, you should be able to connect automatically without any profile because OpenRoaming is natively supported (since Android 11) and uses your Samsung\/Google account. I came accross a phone where the HotSpot 2.0 option was disabled (probably by default?) so make sure to take a look at the network settings:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"230\" height=\"331\" src=\"https:\/\/networkjon.fr\/blog\/wp-content\/uploads\/2024\/12\/image-25.png\" alt=\"\" class=\"wp-image-302\" srcset=\"https:\/\/www.networkjon.fr\/blog\/wp-content\/uploads\/2024\/12\/image-25.png 230w, https:\/\/www.networkjon.fr\/blog\/wp-content\/uploads\/2024\/12\/image-25-208x300.png 208w\" sizes=\"auto, (max-width: 230px) 100vw, 230px\" \/><\/figure>\n\n\n\n<p>The OpenRoaming SSID should appear with a comment right underneath it saying &#8220;Available with your Samsung account&#8221;:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"233\" height=\"438\" src=\"https:\/\/networkjon.fr\/blog\/wp-content\/uploads\/2024\/12\/image-26.png\" alt=\"\" class=\"wp-image-303\" srcset=\"https:\/\/www.networkjon.fr\/blog\/wp-content\/uploads\/2024\/12\/image-26.png 233w, https:\/\/www.networkjon.fr\/blog\/wp-content\/uploads\/2024\/12\/image-26-160x300.png 160w\" sizes=\"auto, (max-width: 233px) 100vw, 233px\" \/><\/figure>\n\n\n\n<p>For other non-Android devices (Apple, Windows&#8230;), a profile or an application (that will install a profile) is required. I recommend using the profile provided by the WBA:<\/p>\n\n\n\n<p class=\"has-text-align-center\"><a href=\"https:\/\/provision.connectionassist.com\/wba\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/provision.connectionassist.com\/wba<\/a><\/p>\n\n\n\n<p>Here is an example of two OR clients connected to my C9800 controller (an iPhone and a Samsung smartphone). Take a closer look at the &#8220;User name&#8221; column:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"940\" height=\"310\" src=\"https:\/\/networkjon.fr\/blog\/wp-content\/uploads\/2024\/12\/image-27.png\" alt=\"\" class=\"wp-image-304\" srcset=\"https:\/\/www.networkjon.fr\/blog\/wp-content\/uploads\/2024\/12\/image-27.png 940w, https:\/\/www.networkjon.fr\/blog\/wp-content\/uploads\/2024\/12\/image-27-300x99.png 300w, https:\/\/www.networkjon.fr\/blog\/wp-content\/uploads\/2024\/12\/image-27-768x253.png 768w\" sizes=\"auto, (max-width: 940px) 100vw, 940px\" \/><\/figure>\n\n\n\n<p>In the Security tab of the client, you can see it uses EAP-TTLS when authenticating:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"311\" height=\"192\" src=\"https:\/\/networkjon.fr\/blog\/wp-content\/uploads\/2024\/12\/image-28.png\" alt=\"\" class=\"wp-image-305\" srcset=\"https:\/\/www.networkjon.fr\/blog\/wp-content\/uploads\/2024\/12\/image-28.png 311w, https:\/\/www.networkjon.fr\/blog\/wp-content\/uploads\/2024\/12\/image-28-300x185.png 300w\" sizes=\"auto, (max-width: 311px) 100vw, 311px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Reference<\/h2>\n\n\n\n<p>There is a good video on YouTube. I used it during my testing and while writing this procedure, you can check it here: <a href=\"https:\/\/www.youtube.com\/watch?v=XsD6e6F6u4k&amp;t=336s\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.youtube.com\/watch?v=XsD6e6F6u4k&amp;t=336s<\/a> <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Lately I have been working on implementing and testing OpenRoaming with different Wi-Fi vendors. If you don&#8217;t know about OpenRoaming, it is a global initiative from the Wireless Broadband Alliance that simplifies and secures the process of connecting to Wi-Fi networks. Basically, it allows to create guest networks that use 802.1x authentication and leverages Passpoint [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[3],"tags":[],"class_list":["post-244","post","type-post","status-publish","format-standard","hentry","category-non-classe"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>OpenRoaming configuration using Cisco Spaces - Network Jon<\/title>\n<meta name=\"description\" content=\"A quick how-to on configuring OpenRoaming with Cisco Spaces, Spaces Connector and Catalyst 9800 controller\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.networkjon.fr\/blog\/openroaming-configuration-on-cisco-spaces\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"OpenRoaming configuration using Cisco Spaces - Network Jon\" \/>\n<meta property=\"og:description\" content=\"A quick how-to on configuring OpenRoaming with Cisco Spaces, Spaces Connector and Catalyst 9800 controller\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.networkjon.fr\/blog\/openroaming-configuration-on-cisco-spaces\/\" \/>\n<meta property=\"og:site_name\" content=\"Network Jon\" \/>\n<meta property=\"article:published_time\" content=\"2024-12-30T14:15:56+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-12-30T14:21:17+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/networkjon.fr\/blog\/wp-content\/uploads\/2024\/12\/image-3.png\" \/>\n<meta name=\"author\" content=\"Jonathan Rambeau\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jonathan Rambeau\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.networkjon.fr\/blog\/openroaming-configuration-on-cisco-spaces\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.networkjon.fr\/blog\/openroaming-configuration-on-cisco-spaces\/\"},\"author\":{\"name\":\"Jonathan Rambeau\",\"@id\":\"https:\/\/www.networkjon.fr\/blog\/#\/schema\/person\/afb31b920aeee6f10a46f51943c789f3\"},\"headline\":\"OpenRoaming configuration using Cisco Spaces\",\"datePublished\":\"2024-12-30T14:15:56+00:00\",\"dateModified\":\"2024-12-30T14:21:17+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.networkjon.fr\/blog\/openroaming-configuration-on-cisco-spaces\/\"},\"wordCount\":949,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.networkjon.fr\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.networkjon.fr\/blog\/openroaming-configuration-on-cisco-spaces\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/networkjon.fr\/blog\/wp-content\/uploads\/2024\/12\/image-3.png\",\"articleSection\":[\"Non class\u00e9\"],\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.networkjon.fr\/blog\/openroaming-configuration-on-cisco-spaces\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.networkjon.fr\/blog\/openroaming-configuration-on-cisco-spaces\/\",\"url\":\"https:\/\/www.networkjon.fr\/blog\/openroaming-configuration-on-cisco-spaces\/\",\"name\":\"OpenRoaming configuration using Cisco Spaces - Network Jon\",\"isPartOf\":{\"@id\":\"https:\/\/www.networkjon.fr\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.networkjon.fr\/blog\/openroaming-configuration-on-cisco-spaces\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.networkjon.fr\/blog\/openroaming-configuration-on-cisco-spaces\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/networkjon.fr\/blog\/wp-content\/uploads\/2024\/12\/image-3.png\",\"datePublished\":\"2024-12-30T14:15:56+00:00\",\"dateModified\":\"2024-12-30T14:21:17+00:00\",\"description\":\"A quick how-to on configuring OpenRoaming with Cisco Spaces, Spaces Connector and Catalyst 9800 controller\",\"breadcrumb\":{\"@id\":\"https:\/\/www.networkjon.fr\/blog\/openroaming-configuration-on-cisco-spaces\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.networkjon.fr\/blog\/openroaming-configuration-on-cisco-spaces\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\/\/www.networkjon.fr\/blog\/openroaming-configuration-on-cisco-spaces\/#primaryimage\",\"url\":\"https:\/\/networkjon.fr\/blog\/wp-content\/uploads\/2024\/12\/image-3.png\",\"contentUrl\":\"https:\/\/networkjon.fr\/blog\/wp-content\/uploads\/2024\/12\/image-3.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.networkjon.fr\/blog\/openroaming-configuration-on-cisco-spaces\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.networkjon.fr\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"OpenRoaming configuration using Cisco Spaces\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.networkjon.fr\/blog\/#website\",\"url\":\"https:\/\/www.networkjon.fr\/blog\/\",\"name\":\"Network Jon\",\"description\":\"A blog about Wi-Fi, 802.11, networking and automation... mostly in English... et parfois en Fran\u00e7ais... by Jonathan Rambeau\",\"publisher\":{\"@id\":\"https:\/\/www.networkjon.fr\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.networkjon.fr\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.networkjon.fr\/blog\/#organization\",\"name\":\"Network Jon\",\"url\":\"https:\/\/www.networkjon.fr\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\/\/www.networkjon.fr\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.networkjon.fr\/blog\/wp-content\/uploads\/2024\/11\/cropped-logo-networkjon-1-1.jpg\",\"contentUrl\":\"https:\/\/www.networkjon.fr\/blog\/wp-content\/uploads\/2024\/11\/cropped-logo-networkjon-1-1.jpg\",\"width\":1024,\"height\":1024,\"caption\":\"Network Jon\"},\"image\":{\"@id\":\"https:\/\/www.networkjon.fr\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/jonathan-rambeau-987a58225\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.networkjon.fr\/blog\/#\/schema\/person\/afb31b920aeee6f10a46f51943c789f3\",\"name\":\"Jonathan Rambeau\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\/\/www.networkjon.fr\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/88f9b026f1a082206693533f8a10b031ac2c51ee4d5f96a6427b54044b37fbc6?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/88f9b026f1a082206693533f8a10b031ac2c51ee4d5f96a6427b54044b37fbc6?s=96&d=mm&r=g\",\"caption\":\"Jonathan Rambeau\"},\"sameAs\":[\"http:\/\/networkjon.fr\/blog\"],\"url\":\"https:\/\/www.networkjon.fr\/blog\/author\/jram\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"OpenRoaming configuration using Cisco Spaces - Network Jon","description":"A quick how-to on configuring OpenRoaming with Cisco Spaces, Spaces Connector and Catalyst 9800 controller","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.networkjon.fr\/blog\/openroaming-configuration-on-cisco-spaces\/","og_locale":"en_GB","og_type":"article","og_title":"OpenRoaming configuration using Cisco Spaces - Network Jon","og_description":"A quick how-to on configuring OpenRoaming with Cisco Spaces, Spaces Connector and Catalyst 9800 controller","og_url":"https:\/\/www.networkjon.fr\/blog\/openroaming-configuration-on-cisco-spaces\/","og_site_name":"Network Jon","article_published_time":"2024-12-30T14:15:56+00:00","article_modified_time":"2024-12-30T14:21:17+00:00","og_image":[{"url":"https:\/\/networkjon.fr\/blog\/wp-content\/uploads\/2024\/12\/image-3.png","type":"","width":"","height":""}],"author":"Jonathan Rambeau","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Jonathan Rambeau","Estimated reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.networkjon.fr\/blog\/openroaming-configuration-on-cisco-spaces\/#article","isPartOf":{"@id":"https:\/\/www.networkjon.fr\/blog\/openroaming-configuration-on-cisco-spaces\/"},"author":{"name":"Jonathan Rambeau","@id":"https:\/\/www.networkjon.fr\/blog\/#\/schema\/person\/afb31b920aeee6f10a46f51943c789f3"},"headline":"OpenRoaming configuration using Cisco Spaces","datePublished":"2024-12-30T14:15:56+00:00","dateModified":"2024-12-30T14:21:17+00:00","mainEntityOfPage":{"@id":"https:\/\/www.networkjon.fr\/blog\/openroaming-configuration-on-cisco-spaces\/"},"wordCount":949,"commentCount":0,"publisher":{"@id":"https:\/\/www.networkjon.fr\/blog\/#organization"},"image":{"@id":"https:\/\/www.networkjon.fr\/blog\/openroaming-configuration-on-cisco-spaces\/#primaryimage"},"thumbnailUrl":"https:\/\/networkjon.fr\/blog\/wp-content\/uploads\/2024\/12\/image-3.png","articleSection":["Non class\u00e9"],"inLanguage":"en-GB","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.networkjon.fr\/blog\/openroaming-configuration-on-cisco-spaces\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.networkjon.fr\/blog\/openroaming-configuration-on-cisco-spaces\/","url":"https:\/\/www.networkjon.fr\/blog\/openroaming-configuration-on-cisco-spaces\/","name":"OpenRoaming configuration using Cisco Spaces - Network Jon","isPartOf":{"@id":"https:\/\/www.networkjon.fr\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.networkjon.fr\/blog\/openroaming-configuration-on-cisco-spaces\/#primaryimage"},"image":{"@id":"https:\/\/www.networkjon.fr\/blog\/openroaming-configuration-on-cisco-spaces\/#primaryimage"},"thumbnailUrl":"https:\/\/networkjon.fr\/blog\/wp-content\/uploads\/2024\/12\/image-3.png","datePublished":"2024-12-30T14:15:56+00:00","dateModified":"2024-12-30T14:21:17+00:00","description":"A quick how-to on configuring OpenRoaming with Cisco Spaces, Spaces Connector and Catalyst 9800 controller","breadcrumb":{"@id":"https:\/\/www.networkjon.fr\/blog\/openroaming-configuration-on-cisco-spaces\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.networkjon.fr\/blog\/openroaming-configuration-on-cisco-spaces\/"]}]},{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/www.networkjon.fr\/blog\/openroaming-configuration-on-cisco-spaces\/#primaryimage","url":"https:\/\/networkjon.fr\/blog\/wp-content\/uploads\/2024\/12\/image-3.png","contentUrl":"https:\/\/networkjon.fr\/blog\/wp-content\/uploads\/2024\/12\/image-3.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.networkjon.fr\/blog\/openroaming-configuration-on-cisco-spaces\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.networkjon.fr\/blog\/"},{"@type":"ListItem","position":2,"name":"OpenRoaming configuration using Cisco Spaces"}]},{"@type":"WebSite","@id":"https:\/\/www.networkjon.fr\/blog\/#website","url":"https:\/\/www.networkjon.fr\/blog\/","name":"Network Jon","description":"A blog about Wi-Fi, 802.11, networking and automation... mostly in English... et parfois en Fran\u00e7ais... by Jonathan Rambeau","publisher":{"@id":"https:\/\/www.networkjon.fr\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.networkjon.fr\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":"Organization","@id":"https:\/\/www.networkjon.fr\/blog\/#organization","name":"Network Jon","url":"https:\/\/www.networkjon.fr\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/www.networkjon.fr\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.networkjon.fr\/blog\/wp-content\/uploads\/2024\/11\/cropped-logo-networkjon-1-1.jpg","contentUrl":"https:\/\/www.networkjon.fr\/blog\/wp-content\/uploads\/2024\/11\/cropped-logo-networkjon-1-1.jpg","width":1024,"height":1024,"caption":"Network Jon"},"image":{"@id":"https:\/\/www.networkjon.fr\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.linkedin.com\/in\/jonathan-rambeau-987a58225\/"]},{"@type":"Person","@id":"https:\/\/www.networkjon.fr\/blog\/#\/schema\/person\/afb31b920aeee6f10a46f51943c789f3","name":"Jonathan Rambeau","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/www.networkjon.fr\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/88f9b026f1a082206693533f8a10b031ac2c51ee4d5f96a6427b54044b37fbc6?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/88f9b026f1a082206693533f8a10b031ac2c51ee4d5f96a6427b54044b37fbc6?s=96&d=mm&r=g","caption":"Jonathan Rambeau"},"sameAs":["http:\/\/networkjon.fr\/blog"],"url":"https:\/\/www.networkjon.fr\/blog\/author\/jram\/"}]}},"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/www.networkjon.fr\/blog\/wp-json\/wp\/v2\/posts\/244","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.networkjon.fr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.networkjon.fr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.networkjon.fr\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.networkjon.fr\/blog\/wp-json\/wp\/v2\/comments?post=244"}],"version-history":[{"count":10,"href":"https:\/\/www.networkjon.fr\/blog\/wp-json\/wp\/v2\/posts\/244\/revisions"}],"predecessor-version":[{"id":311,"href":"https:\/\/www.networkjon.fr\/blog\/wp-json\/wp\/v2\/posts\/244\/revisions\/311"}],"wp:attachment":[{"href":"https:\/\/www.networkjon.fr\/blog\/wp-json\/wp\/v2\/media?parent=244"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.networkjon.fr\/blog\/wp-json\/wp\/v2\/categories?post=244"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.networkjon.fr\/blog\/wp-json\/wp\/v2\/tags?post=244"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}