QR Code Registrations with TAK

Enrolling clients into your TAK ecosystem can be troubling sometimes. Unless you have a very well established standard operating procedure (SOP) and trained operators you can find yourself walking the dog for an end user for a couple of hours.
"Download this .zip, using Import, select the .zip, you will be asked for your credentials enter them then, let me know if you have any issues...."
The back and forth until you finally get the client connected, then you're off to the next customer. With QR codes this simplifies the process which we'll cover below.
TL:DR
Using QRCode-Monkey we can create QR codes to quickly onboard end users to our TAK Server - as long as its public facing and all the ports-protocols are allowed through any firewalls in the path.
- ATAK
tak://com.atakmap.com/enroll?host={takserver}&username={username}&token={token/password}
tak://com.atakmap.com/import?url={URL-encoded Link}
tak://com.atakmap.com/preference?key1={key}&type1={boolean/string/etc}&value1={value}
- iTAK
TAK Server,my.takserver.us,8089,ssl
ATAK
ATAK 5.1 introduced the ability to handle URLS with the prefix tak://
to handle passing information such as in TEXT based QR Codes. Using a QR code for example, when scanned using the encoded tak://
string an intent is executed and processed by the ATAK internal processes. Currently this supports three (3) processes: enroll, import, and preference.
com.atakmap.app/enroll
This method allows the ability to create an enrollment QR code per client. The credentials are passed within the URL string as plaintext and the use case for this is very specific - you need to get people enrolled fast for safety and you are not using channels.
Variable | Description | Acceptable Values |
---|---|---|
host | Target TAK Server | [IPAddress | FQDN] |
username | TAK credential to be used | string |
token | TAK token/password to be used | string |
tak://com.atakmap.app/enroll?host=takserver.com&username=john.doe&token=password
The above code block will open ATAK and connect to takserver.com
with the credentials of john.doe
and the password of password
.
com.atakmap.app/import
This method can be used to have a client download a data package or other supported format using the url-encoded URL within the QR code. Examples of use cases can be a URL to an enrollment package, Map Sources, offline imagery, pre-mission planning, etc.
Variable | Description | Acceptable Values |
---|---|---|
url | url pointing to the target file encoded with html character codes | string |
tak://com.atakmap.com/import?url=https%3A%2F%2Fdomain%2Fpath%2Fto%2Ffile%2Fdatapackage.zip
The above will attempt to download datapackage.zip
from https://domain/path/to/file/datapackage.zip
ASCII Encoding Reference
` << Here. This is where https%3A%2F%2F is equal to https://com.atakmap.app/preference
This method allows for some customization of the ATAK preferences that are not passed through enrollment. Maybe you want to have QR codes that are specific to certain ATAK preferences. Or instead of walking through the menu with a user have them scan a QR code post enrollment if you didn't want to modify the config.pref
` of the enrollment data package too much.
Variable | Description | Acceptable Values |
---|---|---|
key[n] | Preference key to reference | string |
type[n] | The preference key type | [string | boolean | long | int] |
value[n] | Value for the preference key | string |
tak://com.atakmap.com/preference?key1=locationTeam&type1=string&value1=Dark Blue&key2=atakRoleType&type2=string&value2=Team Member&key3=coord_display_pref&type3=string&value3=UTM&key4=alt_display_agl&type4=boolean&value4=true
The above will set the locationTeam
to Dark Blue, atakRoleType
` to Team Member, the coord_display_pref
` to UTM, and the alt_display_agl
` to true. The ATAK Preference Key can be found here.
iTAK
iTAK does not support the same features of ATAK; however, using a QR code we can pass the Connect with Credentials or Quick Connect capabilities. When using this method the iTAK user will be prompted for credentials to connect to the TAK Server. Again, similar to Connect with Credentials [iTAK] or Quick Connect [ATAK].
Variable | Description |
---|---|
serverDescription | TAK Server Description |
serverURL | Target TAK Server address |
port | 8089 |
protocol | ssl |
serverDescription,serverURL,port,protocol
Summary
QR codes can be useful in enrollment and customized setups. If you know the basic syntax you could script something out or provide a web frontend that when you enter the minimal values it generates the QR code for you. The options could be endless and is only limited to your imagination.