OpenCollab
Setup guide

Install OpenCollab and connect your first room.

This guide covers installing the app, finding your devices on the network, registering them, and joining a meeting. Each step shows what you should see on screen and what to check if something looks different.

For OpenCollab 0.1.42. Updated October 13, 2026.

On this page
  1. Before you start
  2. Install and open the app
  3. The first run
  4. Find your devices
  5. Adopt a device
  6. Provision and register
  7. Call another room
  8. Dial a SIP address or a Webex meeting
  9. Join Zoom, Google Meet or Microsoft Teams
  10. Calendars and the Join button
  11. Live stats and call history
  12. Managing devices
  13. Settings and users
  14. When the laptop moves
  15. Troubleshooting
  16. Your data, and undoing it all

Before you start

Your devices register to the computer running OpenCollab.

You need

  • A computer on the same network as the devices. It needs macOS 12 or later, Windows 10 or 11, or Linux.
  • One or more compatible room systems. The compatibility page lists what has been tested. A DX70 or DX80 must run CE software.
  • The admin login of each device. A factory-reset device is admin with no password.
  • For Zoom, Google Meet and Microsoft Teams: the computer needs Google Chrome or Microsoft Edge. Zoom and Meet also need a signed-in account for the room.

You do not need

  • A subscription, a cloud account or a server. The registrar is inside the app.
  • Router or firewall changes for calls between your own rooms.
Good to know.

The app changes a device only through its web interface. It writes only settings and a certificate for calling.

Install and open the app

Get your platform's build from the download section.

PlatformFileNotes
macOS, Apple siliconOpenCollab-<version>-macos-arm64.dmgDrag it to Applications. The first time, right-click it and choose Open.
macOS, IntelOpenCollab-<version>-macos-amd64.dmgOpen it the same way.
Windows 10 and 11OpenCollab-<version>-windows-amd64.exeIt runs in place on the built-in WebView2 runtime.
Linux, x86_64OpenCollab-<version>-linux-amd64Mark it executable and run it. It needs libwebkit2gtk-4.0.

Other computers can sign in to the same dashboard on port 8080 or a free port near it.

The log, opencollab.log, is in the data folder under Your data.

The first run

The welcome card: five numbered steps on the left and a Create your account form on the right with Username, Password and a Create account button.
The welcome card walks through the setup once.

Create your account

  1. Choose a username and a password of at least 8 characters.
  2. Click Create account.

Sign in the room's meeting accounts

You can skip this step and sign in later under Settings.

The welcome card's second step: rows for Google (Meet), Zoom and Microsoft (Teams), each showing Not signed in with a Sign in button, and a Skip for now button.
The accounts step fills in each row as the app checks that service.
  1. Click Sign in next to a service and sign in as the room's account, such as Conference room, in the window that opens.
  2. Come back to OpenCollab and click Done.
  3. Repeat for the other services and click Continue.
Why an account, and which one.

Zoom and Meet admit a room only through a signed-in account. OpenCollab never tries to get around that. A Teams account is optional. The other participants see the account's name, so an account named Conference room reads better than your own.

Find your devices

A scan looks at every local network this computer is on. It recognizes a room system by the certificate on its web interface.

The empty Devices page: Get your first device online, with the three steps Find it, Adopt it and Provision it, and Scan network and Add by address buttons.
The empty Devices page lists the three steps every device takes.

Scan the network

  1. Click Scan network.

Add a device by its address

Click Adopt device, or Add by address on the empty page, and type the device's IP address.

Let devices find the app

Devices that get DHCP option 242 announce themselves to the app when they boot. Zero-touch shows the value to set.

Adopt a device

The Adopt a device dialog with Address, Device username set to admin, and an empty Device password field whose hint says to leave it blank for a factory-reset device.
Adopt a device asks for the device's login rather than your dashboard login.
  1. Enter the address if a scan has not filled it in.
  2. Enter the device's admin login or admin with no password after a factory reset.
  3. Click Connect.

Devices on CE 9 (DX, SX and MX)

  • OpenCollab turns on the WebSocket interface during adoption.
  • A used unit may refuse calls until provisioning stops its setup wizard.
  • A DX70 or DX80 on Android needs the maker's one-way conversion to CE.

If the card says offline

The app keeps retrying on its own. The card shows why: Unreachable at <address>. Check that it is powered on and on this network or The device rejected the saved login. The second usually follows a factory reset. Re-adopt then signs in with the factory login and restores the SIP account.

Provision and register

Provisioning is the only step that changes settings on the device.

The Provision dialog for Conference room: a note that the device is adopted and now gets a SIP account, a SIP username suggested as roomsystem, a SIP password field marked Generated for you, Transport set to Automatic, and Not now and Provision buttons.
Provision suggests a SIP username from the device's model.
  1. Pick a SIP username such as conference or backoffice for other rooms to dial.
  2. Leave the password empty to have the app generate one.
  3. Leave Transport on Automatic.
  4. Click Provision.
The Devices page with three rooms, Conference room, Back office and Training room, each online and Registered, each with a Call field and the actions Provision, Configure, Calendar, Macros, Enroll agent and Reboot.
The Devices page shows three registered rooms ready to call each other.

What provisioning writes to the device

  • The app's certificate authority and SIP certificate verification. If the device refuses the certificate, verification stays off and the toast says so.
  • Provisioning mode off, SIP as the default call protocol and media encryption as set under Zero-touch.
  • ICE on, and the TURN relay from Zero-touch if you set one.
  • The SIP account over TLS to the registrar on port 5061, and direct SIP listening off.
  • The SIP username as the system name if the device has none, and on CE 9 the setup wizard stopped.

Identity and network settings are left alone. Configure on the card shows every setting the app changed. The app reapplies them whenever the device reconnects. Change the transport or the registrar address under Zero-touch instead of by hand.

If it stays at Registering

Open SIP accounts and check what Registrar activity shows for the device. Troubleshooting explains each reply.

Call another room

  1. From the dashboard: type another room's SIP username, such as backoffice, into a card's Call field and click Call without typing the full someone@ address.
  2. From the room itself: dial the other room's name on the device's touch panel or remote.
The Devices page with Training room in a call: its card is outlined, shows in call, and has a strip reading In a call with Back office with a Live stats link, plus an End button.
A room in a call shows the strip that opens the live view.

End a call on the device or with End on the card. Every call is recorded under Calls. See Live stats and call history.

Dial a SIP address or a Webex meeting

  1. From a card: type an address such as alice@example.com or a Webex meeting's video address into the Call field and click Call.
  2. From Meetings: paste the address into the Join a meeting box, where a Webex link such as https://company.webex.com/meet/alice also works, then pick the room and click Join on this room.

Just check it shows how the app would reach an address without dialing it. The Platform check at the bottom of Meetings shows which services are reachable.

Invites with a video address.

Some Zoom and Teams invites carry a room-system address. When a pasted invite has one, the room dials it directly without the browser.

Join Zoom, Google Meet or Microsoft Teams

A hidden browser on this computer joins the meeting for the room.

Before the first join

  • Google Chrome or Microsoft Edge is installed on this computer.
  • The room's Zoom and Meet accounts are signed in under Settings, Meetings.
  • The switch Join Zoom, Teams, Meet and FaceTime meetings through this computer is on.

Join

The Meetings page with a Zoom link pasted into the Join a meeting box, Conference room chosen as the room, and the buttons Join on this room and Just check it. Below it, Upcoming is empty and the Platform check is collapsed.
Meetings accepts a link, an invite or a SIP address.
  1. Paste the meeting link or the whole invite into the Join a meeting box.
  2. Pick the room and click Join on this room and wait while the button reads Working out the route… and then Joining….
The In progress panel with one row: Zoom 81567249074, Conference room, the note Audio and video reach the room in a few seconds, the state In the meeting, and a Leave button.
In progress keeps the note until the first packets reach the room.

While the room is in the meeting

  • Peek shows a fresh picture of the hidden browser.
  • Leave hangs up, closes the browser tab and marks the row Ended · left the meeting. Ending the call on the room does the same.
  • The meeting sees the room's camera and microphone as OpenCollab Room Camera and OpenCollab Room Microphone. The room controls mute and the camera and plays the meeting's sound.
  • On Zoom the app joins audio, starts video and answers a host prompt with Stay Participant.
  • Two rooms can be in meetings through this computer at once, and a third gets gateway at capacity.
  • The computer must stay awake and online for the whole meeting.

Waiting rooms, hosts who are late, and Meet

  • A meeting the host has not started shows The meeting has not started yet and is retried every 20 seconds for up to 25 minutes. A waiting room shows Waiting to be let into the meeting.
  • If the room's account is already in a Meet call on another device, the app picks Join here too.
  • Teams admits a guest unless the organizer requires an account. Teams is not yet tested in a live meeting.
  • A FaceTime link needs no account. Its row says Asking to join; someone on the call has to let the room in from their iPhone, iPad or Mac. The person who made the link taps accept. Make the link in the FaceTime app. It stays good until it is deleted there.

Signing in again, and forgetting accounts

Accounts stay signed in across restarts in the hidden browser's own profile. Forget all accounts under Settings, Meetings signs them out.

Calendars and the Join button

The Calendar dialog for a room: a Calendar URL field for an ICS or CalDAV address, optional username and password, Remove calendar, Cancel, and Save and sync.
Calendar takes one feed per room.
  1. Click Calendar on the room's card.
  2. Enter an ICS or CalDAV address and any login the feed needs.
  3. Click Save and sync.

The calendar is fetched again every five minutes. A dialable meeting gets a Join button on the device five minutes ahead. Zoom, Meet and Teams meetings get theirs 15 minutes ahead. The browser opens the meeting only when someone presses Join. Start bridge on the Upcoming row prepares the browser session sooner. A meeting that cannot be joined shows why instead.

Limits.

Google and Microsoft 365 calendars work through a secret or published address without any sign-in. A feed with only the repeat rule shows just the first occurrence. Removing a calendar also takes its bookings off the device.

Live stats and call history

The call dialog for Training room, connected with Back office: a keypad with Mute and End call, an estimated MOS of 4.39 marked Excellent with a chart of the last 60 seconds, and panels for audio in, audio out, video in and video out showing rate, jitter, loss and packets with jitter and loss charts.
The live view also opens from the keypad button next to Call.
MOS
An estimate of how the call sounds in the room. 4.0 and above is good, and people notice below about 3.5.
Rate, jitter, loss, packets
Audio and video in each direction over the last 60 seconds.
Keypad and mute
Sends digits for passcodes and menus, and mutes the room's microphone.
Run a command on the device
Any supported xCommand with its parameters as JSON.

Call history

A finished call's detail: lowest MOS 2.17, one rough stretch, peak jitter and loss for audio and video, picture 1080p, samples every 5 seconds, four charts, and a Where it was rough list naming the stretch from 0:15 to 0:25.
A finished call's detail marks each rough stretch on every chart.

The Calls page lists every call. Click a call for its lowest MOS, rough stretches and charts. A stretch is rough when loss reaches 2%, audio jitter 30 ms, video jitter 40 ms or the MOS drops under 3.6. Statistics are sampled every five seconds, so a shorter call has none. The app keeps the last thousand calls and about four hours of samples per call.

Managing devices

Nothing here is required to make calls.

Configure

The Configure dialog for Conference room with standby typed into the search: Standby BootAction, Standby Control, Standby Delay and Standby Signage Url, each with the maker's description, a value, and Read and Set buttons.
Configure shows the maker's own description for each setting.

Values are checked against the device's software version before they are sent.

Templates

Under Templates, give each shared setting a path such as Audio/DefaultVolume and a value or the default. Apply to all devices writes them to every online device. Check drift lists differences without changing anything. Deleting a template leaves devices as they are.

Macros

The Macros dialog for a room: a list of macros on the device, a Name field, a Code editor pre-filled with import xapi from 'xapi', and a Deploy and activate button.
Macros are JavaScript that runs on the device.

Paste the code, name it and click Deploy and activate.

Maintenance

The Maintenance page has Diagnostics, Back up, Restore and Upgrade for each device. Restore leaves out network, provisioning, password and system-name settings. Get a .cop.sha512 package from the maker's software site under your own support entitlement. Upload it to Software images, and devices fetch it from OpenCollab without internet access. An upgrade restarts the device for several minutes.

Enroll agent, Reboot, Remove

  • Enroll agent makes the device connect out to OpenCollab. Only an app that cannot reach the device, such as one in the cloud, needs it.
  • Reboot asks first and leaves the device unreachable for about a minute.
  • Remove forgets the device but leaves its settings on it. Undoing it all covers taking them off.

Rooms

The Rooms page shows people count, air quality and other sensor readings from each device.

Zero-touch

The Zero-touch page: the DHCP option 242 value and beacon address to set, switches to adopt and provision discovered devices automatically, the device login, SIP transport, SIP password and media encryption for new devices, and TURN relay fields.
Zero-touch holds the defaults every provisioning uses.

Set DHCP option 242 on your network to the value shown. With Adopt discovered devices automatically and Provision automatically on and a device login set, a new device registers by itself.

About the TURN relay.

Leave it empty unless calls have no audio or video. A STUN-only address makes the device retry forever and fail the next call.

Settings and users

The Settings page: Your account with a change-password form, Appearance with theme, accent, density, text size and reduce motion, and Meetings with the switch to join Zoom, Teams, Meet and FaceTime through this computer, the browser in use, and the Google, Zoom and Microsoft account rows.
Settings keeps Appearance per browser and Meetings for everyone.
Your account
Change your password or sign out.
Appearance
Theme, accent color, density, text size and reduced motion.
Meetings
The meeting switch, browser and room accounts.
Dashboard
Hide serial numbers and MAC addresses, and open the live view on each call.
About this install
Version, platform, data folder and registrar address.

Users

Add more people under Users. A viewer only looks, an operator manages devices, and an admin also manages users, Zero-touch and meetings. Only an admin can reset a password. The last admin cannot be removed or demoted. A sign-in lasts 30 days.

SIP accounts

The SIP accounts page adds accounts for a softphone or test client and shows Registrar activity.

When the laptop moves

Any meeting through this computer ends with the move. Adding a cable next to Wi-Fi is not a move. While the computer sleeps or is away, the rooms show as unregistered but can still call each other by IP address. They register again when the app is back. The repository's README describes running the project as a server for rooms that must never depend on a laptop.

Troubleshooting

Most problems show a message in a toast, on a card or in the Activity panel.

Finding and adopting

Scan network finds nothing

Check that the devices are powered up and on this computer's network. Add a device on another network or VLAN by address. On macOS, grant the local network permission under System Settings, Privacy & Security, Local Network.

Adopt fails with a sign-in error

A factory-reset device takes admin with no password. If its web page asks for a new password, set it there and adopt with it.

Adopt fails with a connection error

Check that the device's web page opens on port 443 from this computer. On software other than CE 9, the WebSocket interface must also be on.

A device I removed comes back as discovered

The scan found it again. Use Dismiss on its card to hide it.

Registering

The card stays at Registering or Unknown

Nothing listed in Registrar activity under SIP accounts means the device cannot reach the sidebar's registrar address or port 5061 is blocked. Wrong password, unknown account or Challenged with nothing after it means the device needs provisioning again.

Provisioned with warnings

The toast names the settings the device's software version rejected. Registration usually still works.

A device dropped after the laptop slept

It registers again by itself within its registration interval.

Calling

A call connects with no audio or video

A firewall or NAT between the devices blocks their media. If ICE cannot get through, set a real TURN relay under Zero-touch.

Calls to an outside address fail at once

The registrar refuses a domain with no SIP records or an unverified certificate. Just check it on the Meetings page shows what the lookup finds.

A CE 9 device refuses incoming calls

Provision it to stop the setup wizard that reports First Time Wizard not Completed.

Call ended on its own after the other side left

Some meeting services never send a hang-up to a private registrar. The app ends such a call after 30 seconds of silence.

Joining Zoom, Meet and Teams

Could not join: the service needs an account

Sign in to that service under Settings, Meetings and click Done.

The row still says Not signed in after signing in

The window closed before the sign-in finished, or Done was not clicked. Sign in again, click Done and wait for Accounts ready.

The row stays at Opening the meeting

Click Peek to look for a waiting room, a name question or a sign-in prompt.

Could not join: the room never called the gateway

The room was probably unregistered or already in another call. Registrar activity under SIP accounts shows what it did.

Could not join: the room is not registered with this app

The row shows the device's reason when it gives one. Provision the room again and join once its card says Registered.

The room's card says it points at another registrar

Another copy of OpenCollab provisioned the room last, and this copy never takes it back by itself. Click Take over or Provision on its card to register it here. Copies older than 0.1.42 keep taking rooms back, so update or stop them.

In the meeting, but the room hears nothing or is not heard

On Zoom the app clicks Join Audio by Computer and the row says if that failed. Turning on Automatically join audio by computer when joining a meeting in Zoom's web client as the room removes that prompt. Otherwise check the room's volume and mute.

In the meeting, but the room's screen stays empty

A few seconds is normal. Longer than that, use Peek to look for a recording or other consent notice. The app leaves that decision to the people in the room.

Could not capture the meeting for the room, or the browser closed

The hidden browser lost the page or was quit. Leave the meeting and join again.

The Join button is disabled: this meeting needs a passcode that is not in the link

Paste the whole invite with its passcode instead of the link alone.

Zoom would not let the signed-in account in, or Meet would not let this account in

The account may be uninvited, kept out by the host or no longer signed in. Check the host's settings or sign in again under Settings, Meetings.

The join page did not appear

The link may be wrong or expired, or the service changed its page. Open it in your own browser to check.

The browser is open on the gateway's profile

Finish the open sign-in from Settings, Meetings and click Done. Until then, Sign in shows a browser window is already open on the gateway's profile. During a meeting, it shows a room is in a meeting through this computer; leave it first.

Joining Zoom, Teams, Meet and FaceTime is switched off, or not available on this install

Switched off means an admin turned off Join Zoom, Teams, Meet and FaceTime meetings through this computer under Settings, Meetings. Not available means no Chrome or Edge was found at startup or the registrar is not running. Install either browser and restart the app.

Starting the app

Port 5060 is already in use

Another copy of OpenCollab or another SIP program holds the port. Quit it and open the app again.

OpenCollab couldn't start

The reason is at the end of the log in the data folder under Your data.

The other participants see a dark picture or hear nothing from the room

Check on the room that the camera is on and uncovered and the microphone is unmuted. The room's card should show the call.

Your data, and undoing it all

Where things are kept

Everything lives in one folder:

  • macOS: ~/Library/Application Support/OpenCollab
  • Windows: %AppData%\OpenCollab
  • Linux: ~/.config/opencollab

It holds device logins encrypted with a key in the same folder. It also holds dashboard password hashes, SIP and calendar credentials, the certificate authority's key, call records, the log and the hidden browser's signed-in profile. Only your user can read it. Do not share it.

What leaves this computer

Nothing about your devices is sent anywhere. The app talks only to your devices, meeting services a room joins, calendars you connect and, for the platform check, Webex, Zoom, Meet and Teams. There is no project account, update check or telemetry.

Taking a device back out

Remove on the card forgets the device and its call history. The device keeps the provisioning settings, the WebSocket interface on CE 9, pushed bookings, macros including the agent and template settings. It keeps trying to register here. A device returning to a cloud service gets the rest from it.

  1. Give it its old registrar, or none: under Configure, search SIP to restore or clear the proxy and its login, and search Provisioning to restore its old mode.
  2. Then remove it from OpenCollab with Remove on the card.
  3. Or factory reset the device to remove everything the app wrote.

Uninstalling

Take the devices back out first. Then quit the app, delete it and delete the data folder.