Noxon iRadio gateway API

This is an attempt to document the API between Noxon iRadio devices and the servers at vtuner.com and my-noxon.net.

Noxon iRadio devices have a couple of hard-coded menu entries that connect to certain HTTP urls when accessing them:

The server returns XML data representing menus that get shown on the radio. Menus consist of folders, audio URLs, unactionable message entries and popup messages.

Contents

Devices tested

Servers

The Noxon iRadio devices speak with several servers. Here is a brief overview on what they do:

radio567.vtuner.com

External service that provides a directory of internet radio stations and podcasts. Menu entries "Internetradio" and "Podcasts".

radio5672.vtuner.com is a second instance that is used as backup in case the normal machine is not reachable.

gatekeeper.my-noxon.net

apps.my-noxon.net

General connection information

The radios access the URLs via HTTP.

XML menu response format

Menu responses are in XML format. The MIME type sent by the server does not matter; the official servers send text/html although it's clearly not HTML.

The XML prolog (<?xml version="1.0"?>) can be omitted.

The XML data are interpreted by the radios with a charset of iso-8859-1, no matter what the content-type header sent by the server or the XML prolog say.

It is possible to add processing instructions to the XML without breaking the radio.

XML tag attributes are not used.

Login

Before menu data are requested, the radio obtains a token that is used to hash the MAC address in subsequent requests.

The following URLs are used for requesting the "encryption token":

Internetradio

http://radio567.vtuner.com:80/setupapp/radio567/asp/BrowseXPA/LoginXML.asp?token=0

Podcasts

http://radio567.vtuner.com:80/setupapp/radio567/asp/BrowseXPA/loginXML.asp?token=0

My Noxon

http://gatekeeper.my-noxon.net:80/RadioNativeLogin.php

Response

The response is an XML file with only one tag.

<EncryptedToken>a6703ded78821be5</EncryptedToken>

Bookmarks

Also known as "Favorites".

FIXME.

Firmware updates

I found the Noxon iRadio Cube request the following URL to check for the currently available firmware version:

http://apps.my-noxon.net/updates/dmp370/update.php?mac=00307771a0c7&hwid=13062&ver=36.6921&bl=6856&dlang=ger

The MAC address is given in plain text here; it is not hashed/encrypted as in the "normal" menu requests.

This seems to be a dedicated server, separate from the ones used for the menu.

There is no login necessary to check firmware updates.

Response

The HTTP content-type header is again given as text/html, but it's XML:

<FirmwareBundle>
        <BundleVersion>3.8.36.6921</BundleVersion>
        <DeviceModel>13062</DeviceModel>
        <Firmware>
                <ComponentID>0</ComponentID>
                <FirmwareVersionMajor>3</FirmwareVersionMajor>
                <FirmwareVersionMinor>8</FirmwareVersionMinor>
                <FirmwareVersionCNE>0</FirmwareVersionCNE>
                <FirmwareVersionBuild>6921</FirmwareVersionBuild>
                <FirmwareURL>http://apps.my-noxon.net/updates/dmp370/files/2009-05-08_NOXON_Cube_firmware_FW6921_HWID13062.bcd</FirmwareURL>
                <FirmwareSize>0</FirmwareSize>
                <FirmwareChecksum>0</FirmwareChecksum>
                <FirmwareFlags>0</FirmwareFlags>
        </Firmware>
</FirmwareBundle>

About

This documentation has been written by Christian Weiske, cweiske+noxon@cweiske.de.

Last update: 2016-01-06T17:10:39+0100

License

It is licensed under the GNU Free Documentation License.

Source code

The documentation sources are available at http://git.cweiske.de/noxon-api.git/ and mirrored at https://github.com/cweiske/noxon-api

Home page

A rendered version of this documentation is available at http://cweiske.de/noxon-api.htm

Building

You need to install rst2html5 before:

$ pip install rst2html5-tools

Rendering the docs is done via a build script:

$ ./build.sh