| Ocalt Query Language
Pricing Dashboard ocalt.com v1.0

TUNNEL

Peer-to-peer data transfer between any two endpoints. Ocalt brokers the connection — the data flows directly between peers. Works for files, streams, binary data, anything. Large files are chunked automatically.

[pending] — TUNNEL is designed and specified. Runtime implementation is in progress.
TUNNEL vs NEW VIDEO BRIDGE: TUNNEL is for data/file transfer. NEW VIDEO BRIDGE is for media streaming (camera, audio, video). They use the same WebRTC infrastructure but serve different purposes.

File transfer from remote machine to visitor

(* Allocate tunnel room — always outside DIRECTIVE *) NEW TUNNEL SET ?room (* Remote machine joins as sender *) AFTER DIRECTIVE "machineid" OPEN NEST TUNNEL SEND "C:/files/report.pdf" TO ?room CLOSE NEST (* Visitor's browser receives the file *) AFTER REDIRECT ?room(receiver_url)

File transfer from OQL storage to visitor

NEW TUNNEL SET ?room AFTER TUNNEL SEND "/mounted/exports/data.csv" TO ?room AFTER REDIRECT ?room(receiver_url)

Large file transfer — 100GB+ supported

NEW TUNNEL SET ?room AFTER DIRECTIVE "nas" OPEN NEST TUNNEL SEND "C:/backups/archive.tar.gz" TO ?room CLOSE NEST AFTER REDIRECT ?room(receiver_url)

RTSP camera stream via tunnel

NEW TUNNEL SET ?room AFTER DIRECTIVE "machineid" OPEN NEST TUNNEL SEND "rtsp://192.168.1.100/cam1" TO ?room CLOSE NEST AFTER REDIRECT ?room(receiver_url)

Receive into OQL storage

NEW TUNNEL SET ?room AFTER TUNNEL RECEIVE ?room INTO "/mounted/received/file.zip" SET ?path AFTER EMIT ?path

Explicit close

TUNNEL CLOSE ?room

Verb reference

VerbDescription
NEW TUNNEL SET ?roomAllocate a tunnel room on Ocalt servers. Must be called outside DIRECTIVE. → room object
TUNNEL SEND "path"|"rtsp://url" TO ?roomJoin room as sender. Accepts file paths (native or /root/ /mounted/) and RTSP URLs. Legal inside DIRECTIVE.
TUNNEL RECEIVE ?room INTO "/mounted/path" SET ?pathJoin room as receiver. Writes incoming data to OQL virtual storage. → path string
TUNNEL CLOSE ?roomExplicitly close tunnel room. Also closes automatically on inactivity.

Room object fields

FieldDescription
room_idUnique room identifier
sender_urlJoin URL for the sending peer
receiver_urlJoin URL for the receiving peer
expiresUnix timestamp — room auto-closes if no activity before this