This is an old revision of the document!


Generic TCP importer

Using a very simple text-based TCP protocol, you can have your own devices or integration component connect into BBT, and import raw time records this way, just like any natively supported box.

You can connect as many devices as you like, with each connection representing a device with an identifier of your choice. The default port is 12368, but this can be changed via the advanced event setting ext.generictcp.inbound.port.

Protocol format

The protocol is designed for simplicity and is based on a simple request-response pattern where each communication is initiated by the external caller, and all commands result in exactly one reply. Commands are send in UTF-8 text, and seperated by a newline (\r\n).

Commands and arguments are separated by semicolons. Named arguments are formatted as “key=val”. Each response is an echo of the command followed by either “ok” or “error” as the first argument. In case of “error”, an optional second argument may include an error message.

Inactivity

At least one command should be sent every 10 seconds. If no data is received for a while, the connection will be terminated. You can send the ping command (with no parameters) to keep the connection alive.

Handskake
Sending in records