Table of Contents

CoovaChilli JSON Interface

Introduction

Accessing the JSON interface

Specifying a Callback

jQuery33105641008201093548_1612410177983({"versio......28-D2-44-20-04-8D"}})

The JSON interface methods

We will now unpack each of these endpoints in their own dedicated session

status

{
   "version":"1.0",
   "clientState":0,
   "nasid":"ZA-VM1",
   "challenge":"0caeb2c0240fca8f430ea54e6423151e",
   "location":{"name":"My HotSpot"},
   "redir":{
      "originalURL":"http://detectportal.firefox.com/success.txt",
      "redirectionURL":"",
      "logoutURL":"http://10.1.0.1:3990/logoff",
      "ipAddress":"10.1.0.2",
      "macAddress":"28-D2-44-70-04-00"
    }
}
{
   "version":"1.0",
   "clientState":1,
   "nasid":"ZA-VM1",
   "redir": {
      "originalURL":"http://detectportal.firefox.com/success.txt",
      "redirectionURL":"",
      "logoutURL":"http://10.1.0.1:3990/logoff",
      "ipAddress":"10.1.0.2",
      "macAddress":"28-D2-44-70-04-00"
   },
   "session":{
      "sessionId":"161241022400000001",
      "userName":"click_to_connect@demo1",
      "startTime":1612410289,
      "sessionTimeout":0,"terminateTime":0,
      "idleTimeout":0,
      "maxTotalOctets":249823541
   },
   "accounting":{
      "sessionTime":15,
      "idleTime":0,
      "inputOctets":144606,
      "outputOctets":85859,
      "inputGigawords":0,
      "outputGigawords":0,
      "viewPoint":"client"
   }
}

logon

Get the latest challenge

Encrypt the Challenge and Password

jQuery331012987580313312852_1612418453858(
   {
       'response':'7215ee77b34e83ced8f816ec3f2bf2c3'
    }
)
  • You will replace hotspot.radiusdesk.com with the FQDN or IP Address of your own server

Call the logon JSON endpoint

{
	"GET": {
		"scheme": "http",
		"host": "10.1.0.1:3990",
		"filename": "/json/logon",
		"query": {
			"callback": "jQuery331036884032348716045_1612421095535",
			"username": "click_to_connect@demo1",
			"password": "7215ee77b34e83ced8f816ec3f2bf2c3",
			"_": "1612421095539"
		},
		"remote": {
			"Address": "10.1.0.1:3990"
		}
	}
}
{
	"version": "1.0",
	"clientState": 1,
	"nasid": "ZA-VM1",
	"redir": {
		"originalURL": "http://detectportal.firefox.com/success.txt",
		"redirectionURL": "",
		"logoutURL": "http://10.1.0.1:3990/logoff",
		"ipAddress": "10.1.0.2",
		"macAddress": "28-D2-44-20-04-8D"
	},
	"session": {
		"sessionId": "161241843700000001",
		"userName": "click_to_connect@demo1",
		"startTime": 1612418460,
		"sessionTimeout": 180,
		"terminateTime": 0,
		"idleTimeout": 0
	},
	"accounting": {
		"sessionTime": 0,
		"idleTime": 0,
		"inputOctets": 0,
		"outputOctets": 0,
		"inputGigawords": 0,
		"outputGigawords": 0,
		"viewPoint": "client"
	}
}

logoff

{
	"GET": {
		"scheme": "http",
		"host": "10.1.0.1:3990",
		"filename": "/json/logon",
		"query": {
			"callback": "jQuery331036884032348716045_1612421095535",
			"username": "click_to_connect@demo1",
			"password": "d24ae9fbf467e62642d1f4963016aca6",
			"_": "1612421095539"
		},
		"remote": {
			"Address": "10.1.0.1:3990"
		}
	}
}
{
	"version": "1.0",
	"clientState": 0,
	"nasid": "ZA-VM1",
	"challenge": "efad131ebc031da777a4b7957eb58299",
	"session": {
		"sessionId": "161242107800000001",
		"userName": "click_to_connect@demo1",
		"startTime": 1612421102,
		"sessionTimeout": 180,
		"terminateTime": 0,
		"idleTimeout": 0
	},
	"accounting": {
		"sessionTime": 0,
		"idleTime": 0,
		"inputOctets": 0,
		"outputOctets": 0,
		"inputGigawords": 0,
		"outputGigawords": 0,
		"viewPoint": "client"
	}
}