Data access
This section of the network will guide you to access the online data of IVAN.
The data includes Network Servers details, Voice Servers details, and a listing of connected Pilots and ATC users.
Permitted use
An explicit written permission from the IVAO Logistics is required.
Permission will only be granted to:
- IVAO Divisions
- IVAO registered Virtual Airlines or other associates for display on their website
- Freeware applications, approved by IVAO Logistics Department
Files
The data provided by IVAO are snapshots of the network, computed every X minutes. To access the data, you need to download some files:
The first one is:
http://www.ivao.aero/whazzup/status.txt
The file status.txt contains some general settings, and must be downloaded ONE TIME ONLY, when your application starts.
If you use a server to download these data (for example an ASP or CGI application running on a web server) you should download the status.txt file ONCE A DAY, store it locally, and then use the local copy for your server application use.
You better also store a local copy of this file, so you can use in its data, in case the main web-server is down.
The file network-data.txt contains all data related to all clients connected to the IVAO network, and is stored into different locations, whose addresses are shown into status.txt file.
To balance the load between servers, you need to retrieve the network-data.txt from a different location every time you download it, choosing a location RANDOMLY between locations stored into status.txt file.
The file network-data.txt is updated every X minutes, as shown by the RELOAD directive. You can download it at a time interval agreed with the IVAO-NA, obviously it's useless to download it with an interval that is less than the value of the RELOAD directive.
All files are in pure ascii format, with one record per row. Each record ends with a carriage return+line feed couple, each field is variable length and fields are separated by ":" character (without quotes). Also the last field is followed by a : character.
Comments start with the ";" character (without quotes).
IMPORTANT NOTE: It could happen that the network-data.txt file doesn't exist when you try to download it. This could happen because the data server that generates this file uploads it into a temporary file, then delete the old network-data.txt file, and then rename the temporary file to network-data.txt. So, if you try to download the file after it has been deleted and before it has been renamed (a little seconds time), you can get a file not found http error. Your application should treat this case accordingly by retrying the download.
You are welcome to read these data files for your applications and tools. We only ask you to fully implement the load balance mechanism to download data as described, so that we can split load between more mirrored servers.
Thank you and enjoy! :-)
Locator file (status.txt) data
- 110166:NOTCP
This is a setting used by WhazzUp by Enrico Schiratti only. You can ignore it.
- msg0 : This line contains a message that should be shown when your application starts. It's used by WhazzUp, but it's better if you can implement it in your application so that we can display a message to clients when they connect, if needed. To display the message you should open a message box and put the text "A message from IVAN administrators:" and then the message.
- url0 : This line contains the URL where you can download the data file. There may be more than one "url0" lines: in such case you should download the data file choosing a random location from URLs listed. To balance the load it's better than you choose a different location every time you make a download. All locations have the same data file.
- url1: This line contains the URL where you can download the voice data file. There may be more than one "url1" lines: in such case you should download the data file choosing a random location from URLs listed. To balance the load it's better than you choose a different location every time you make a download. All locations have the same data file.
- moveto0 : This line contains the URL where you can download a more updated status.txt file. If the "moveto0" line is present, you should download the updated status.txt file from that location and use it. The next time your application starts you must download the updated status.txt file directly, so you need to save this new location into your application permanent settings. However, if you don't find the new location data file, you need to download again this original status.txt file, and get the location listed into "moveto0" if present. This mechanism will allow us to move the status.txt file wherever we need in future. The url format in this field is without the file name and without the trailing slash, so for example if the moveto0 field contains http://www.newsite.com/new-status-location you need to download the file http://www.newsite.com/new-status-location/status.txt
- metar0 : This line contains the URL where you can download METARs. Depending on the parameter you will append after the URL, you will get different results. For example if the URL is "http://www.ivao.aero/network/metar.asp" you can retrieve metars using the URLs:
http://www.ivao.aero/network/metar.asp?id=KB this will retrieve all METARs that have ICAO code starting with KB (regional metars)
http://www.ivao.aero/network/metar.asp?id=EGLL this will retrieve METAR for the selected ICAO code only (in this example EGLL).
Specifying no parameter will give you a full list of all available data.
- taf0 : This line contains the URL where you can download TAFs. Depending on the parameter you will append after the URL, you will get different results. For example if the URL is "http://www.ivao.aero/network/taf.asp" you can retrieve tafs using the URLs:
http://www.ivao.aero/network/taf.asp?id=KB this will retrieve all TAFs that have ICAO code starting with KB (regional TAFs)
http://www.ivao.aero/network/taf.asp?id=EGLL this will retrieve TAF for the selected ICAO code only (in this example EGLL).
Specifying no parameter will give you a full list of all available data.
- shorttaf0 : This line contains the URL where you can download shortime TAFs. Depending on the parameter you will append after the URL, you will get different results. For example if the URL is "http://www.ivao.aero/network/shorttaf.asp" you can retrieve tafs using the URLs:
http://www.ivao.aero/network/shorttaf.asp?id=KB this will retrieve all short term TAFs that have ICAO code starting with KB (regional TAFs)
http://www.ivao.aero/network/shorttaf.asp?id=EGLL this will retrieve short term TAF for the selected ICAO code only (in this example EGLL).
Specifying no parameter will give you a full list of all available data.
- User0 : This line contains the URL where you can link to a users details. Depending on the parameter you will append after the URL, you will get different results. For example if the URL is "http://www.ivao.aero/members/person/details.asp" you can link to his info using the URLs:
http://www.ivao.aero/members/person/details.asp?id=100002
- atis0 : This line contains the URL where you can download atis. For example if the URL is "http://www.ivao.aero/network/atis.asp" you can retrieve ATIS using the URL: http://www.ivao.aero/network/atis.asp?callsign=EBBU_CTR this will retrieve ATIS of the selected ATC (in this example EBBU_CTR).
Metar-data
- parameter Id=XXXX, where XXXX is ICAO-code.
less characters work as wildcard
Network-data
This data file contains all data related to all clients connected. It's organized in different sections (the sections order may vary), each one containing different data. Every section starts with the "!" character (without quotes) followed by the section name. There are tree sections:
- !GENERAL contains general settings
- !CLIENTS contains informations about all connected clients
- !SERVERS contains a list of all FSD running servers to which clients can connect
!GENERAL section details
The general section contains some general settings.
They are:
- VERSION : it's a integer number stating the data file format release. It will be incremented every time the data format will change
- RELOAD : it's time in minutes network-data.txt file will be updated. There is no need to download the file with an interval less than this value, because the file will be updated only with this frequency.
- UPDATE : it's the last date and time network-data.txt file has been updated. Format is: yyyymmddhhnnss. You should check that this data/time read is more recent that the last data/time read by your previous download, and you should consider data only if this data/time is more recent. This is to avoid using data downloaded from not synchronized (outdated) servers. Eventually you can try to download data from a different server if this data/time is less recent than the last read.
- CONNECTED CLIENTS : it's the number of clients currently connected. This includes all clients connected, also observers.
!CLIENTS section details
This section contains all data related to all clients connected.
Each client connected is on its own record (row) ending with CR+LF, and all fields are separated by ":" character (without quotes).
The data fields are variable length, and they are (in one long line, split below):
callsign:vid:realname:clienttype:frequency:latitude:longitude:altitude:groundspeed:
planned_aircraft:planned_tascruise:planned_depairport:planned_altitude:planned_destairport:
server:protrevision:rating:transponder:facilitytype:visualrange:planned_revision:
planned_flighttype:planned_deptime:planned_actdeptime:planned_hrsenroute:planned_minenroute:
planned_hrsfuel:planned_minfuel:planned_altairport:planned_remarks:planned_route:
planned_depairport_lat:planned_depairport_lon:planned_destairport_lat:planned_destairport_lon:
atis_message:time_last_atis_received:time_connected:client_software_name:client_software_version:
adminrating:atc_or_pilotrating:planned_altairport2:planned_typeofflight:planned_pob:true_heading:onground
- callsign : the callsign of the client. It's the name the client is recognized on the network
- vid : the personal VID of the client. The VID is the unique code assigned by IVAO to every registered user
- realname : the realname of the user connected. It's the name the user put into Squawkbox or ProController when he connects to the network
- clienttype : can be ATC, PILOT or FOLME
- frequency : the frequency the client is tuned to. Actually only ACT frequencies are reported, PILOT frequencies aren't available
- latitude : the current latitude of the position of the pilot or controller. Expressed in degrees and degrees fractions
- longitude : the current longitude of the position of the pilot or controller. Expressed in degrees and degrees fractions
- altitude : the current altitude in feet of the pilot or controller. For controllers is the transmitter elevation
- groundspeed : the current groundspeed of the pilot. Not available for controllers
- planned_aircraft : the aircraft type put into flight plan by the pilot (example: T/B743/F). Only for pilots. Available only after the pilot has submitted a flight plan
- planned_tascruise : the true airspeed put into flight plan by the pilot. Only for pilots. Available only after the pilot has submitted a flight plan
- planned_depairport : ICAO code of the departure airport put into flight plan by the pilot. Only for pilots. Available only after the pilot has submitted a flight plan
- planned_altitude : the altitude put into flight plan by the pilot. Only for pilots. Available only after the pilot has submitted a flight plan
- planned_destairport : the destination airport put into flight plan by the pilot. Only for pilots. Available only after the pilot has submitted a flight plan
- server : the server name to which the client is connected
- protrevision : the protocol number revision used by the client
- rating : the rating of the user connected.
ATC Ratings are:
- OBS - Observer
- S1 - Student 1
- S2 - Student 2
- S3 - Student 3
- C1 - Controller 1
- C2 - Controller 2
- C3 - Controller 3
- I1 - Instructor 1
- I2 - Instructor 2
- I3 - Instructor 3
- SUP - Supervisor
- ADM - Administrator
|
Pilot Ratings are:
- OBS - Observer
- SFO - Second Flight Officer
- FFO - First Flight Officer
- C - Captain
- FC - Flight Captain
- SC - Senior Captain
- SFC - Senior Flight Captain
- CC - Commercial Captain
- CFC - Commercial Flight Captain
- CSC - Commercial Senior Captain
- SUP - Supervisor
- ADM - Administrator
|
- transponder : the squawk code set by client. Only for pilots
- facilitytype : type of facility controlled by an ATC. Only for controllers.
Can be:
- 0 - Observer
- 1 - Flight Service Station
- 2 - Clearance Delivery
- 3 - Ground
- 4 - Tower
- 5 - Approach/Departure
- 6 - Center
- visualrange : range of visibility set by a ATC. Only for controllers
- planned_revision : revision of flight plan submitted (not sure...). Only for pilots. Available only after the pilot has submitted a flight plan
- planned_flighttype : type of flight plan submitted. Only for pilots. Available only after the pilot has submitted a flight plan.
Can be:
- I - IFR
- V - VFR
- S - S/VFR
- planned_deptime : the departure time (format is hhmm) put into flight plan by the pilot. Only for pilots. Available only after the pilot has submitted a flight plan
- planned_actdeptime : the actual departure time (format is hhmm) put into flight plan by the pilot. Only for pilots. Available only after the pilot has submitted a flight plan
- planned_hrsenroute : the hours enroute put into flight plan by the pilot. Only for pilots. Available only after the pilot has submitted a flight plan
- planned_minenroute : the minutes enroute put into flight plan by the pilot. Only for pilots. Available only after the pilot has submitted a flight plan
- planned_hrsfuel : the hours of fuel loaded put into flight plan by the pilot. Only for pilots. Available only after the pilot has submitted a flight plan
- planned_minfuel : the minutes of fuel loaded put into flight plan by the pilot. Only for pilots. Available only after the pilot has submitted a flight plan
- planned_altairport : ICAO code of the planned alternate destination airport put into flight plan by the pilot. Only for pilots. Available only after the pilot has submitted a flight plan
- planned_remarks : the remarks put into flight plan by the pilot. Only for pilots. Available only after the pilot has submitted a flight plan
- planned_route : the flight plan submitted by the pilot. Only for pilots. Available only after the pilot has submitted a flight plan
- planned_depairport_lat: latitude of the departure airport. Only for pilots. Available only after the pilot has submitted a flight plan
- planned_depairport_lon: longitude of the departure airport. Only for pilots. Available only after the pilot has submitted a flight plan
- planned_destairport_lat: latitude of the destination airport. Only for pilots. Available only after the pilot has submitted a flight plan
- planned_destairport_lon: longitude of the destination airport. Only for pilots. Available only after the pilot has submitted a flight plan
- atis_message: client ATIS message. Only for controllers. It's updated every 30 minutes or every time someone request this client atis by way of the function present at the url shown by "atis0" parameter in the status.txt file. CRLF characters are encoded and are substituted with "^ยง" characters (without quotes)
- time_last_atis_received: it's the last date and time this client ATIS has been updated in the data server. Format is: yyyymmddhhnnss. If the client changes its atis after this date/time the data server will have an older atis. To retrieve the most updated atis you need to use the function present at the url shown by "atis0" parameter in the status.txt file. Please do it only if absolutely necessary: that function takes network bandwidth
- time_connected: date and time of that client connected to server. Format is: yyyymmddhhnnss.
- client_software_name: (short) Name of the client software used, empty if unknown
- client_software_version: Version of the client software used, empty if unknown
- adminrating: subset of rating : 1(unrated), 2(rated) ,11(supervisor) or 12(administrator)
- atc_or_pilot_rating: ATC rating (for controllers) or the Pilot rating (for pilots): 2 to 10
- planned_altairport2: only for pilots. ICAO code of second alternate airport.
- planned_typeofflight: only for pilots. Contains the planned flighttype. Can be on of the following:
S Scheduled Services
N Non-Scheduled Services
G General Aviation
M Military
X Other
- planned_pob: only for pilots. Number of persons on board of the plane.
- true_heading: True heading is in relation to the lines of meridian (north-south lines). The units are degrees from north in a clockwise direction. East is 90, south is 180 and west is 270 degree.
- onground: in contact with the ground.
Can be:
- 1 = on ground
- 0 = not on ground
!SERVERS section details
This section contains a list of all servers currently available for clients connections.
Each server available is on its own record (row) ending with CR+LF, and all fields are separated by ":" character (without quote).
The data fields are variable length, and they are:
ident:hostname_or_IP:location:name:clients_connection_allowed:max_connections
- ident : the identification name of the server
- hostname_or_IP : hostname or IP address of the server
- location : physical location of the server
- name : descriptive name of the server
- clients_connection_allowed : flag that tells if clients connections to that server are allowed.
Can be:
- 1 - connections allowed
- 0 - connections not allowed
- max_connections: Maximum number of connections this server will allow