> ## Documentation Index
> Fetch the complete documentation index at: https://docs.orbit.devotel.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Colleagues directory: live presence and click-to-call

> Use the Voice → Colleagues directory day to day: read presence badges (available, on call, do not disturb, away, disabled), start a one-click internal call through the in-browser softphone, keep the directory accurate, and fix an extension that is missing or stuck.

# Colleagues directory

The **Colleagues** page (**Voice → Colleagues**) is your team's on-net
directory: every SIP extension user with a live presence badge and a
one-click call button. It is a surface for *using* the directory day to
day — glance at who is free, click, talk. For the underlying presence
API (snapshot, SSE stream, wire states) see the
[Colleagues reference](/voice/colleagues); for the federation settings
that decide what *you* publish, see
[Presence federation settings](/guides/presence-federation-settings).

<Note>
  The examples below assume each colleague already has a SIP extension.
  If the directory is empty, start with
  [Extensions and desk phones](/guides/extensions-and-desk-phones) and
  come back.
</Note>

## What the Colleagues page shows

Open **Voice → Colleagues** (or search "Colleagues" in the command
palette). The page lists one row per teammate's SIP extension:

* **Name and extension** — the display name and extension number (or SIP
  username when no extension number is assigned).
* **Presence badge** — a colored state: **Available**, **On call**,
  **Do not disturb**, **Away**, or **Disabled**.
* **Call button** — one click dials that colleague internally through
  the in-browser softphone. Greyed-out buttons carry a tooltip that
  explains why the colleague cannot be called right now.

A search box at the top filters the list by name or extension, so the
page stays usable as the team grows. Your own row never appears — the
list is a directory of people you can call, and the **Voice → Extensions**
page remains the management surface where you create or retire endpoints.
When no one has an extension yet, the empty state links you to create
the first one.

## Reading presence

Each badge means something specific about what a call to that person
would do:

| Badge              | What it means                              | What a call does              |
| ------------------ | ------------------------------------------ | ----------------------------- |
| **Available**      | SIP device registered, no active call      | Rings their devices normally  |
| **On call**        | They are on an active call right now       | Blocked — the button disables |
| **Do not disturb** | Present, not accepting calls               | Blocked — the button disables |
| **Away**           | No device currently registered             | Rings unanswered              |
| **Disabled**       | The extension's SIP credential is disabled | Blocked — the button disables |

Presence refreshes automatically — the page polls in the background, so
a colleague answering or hanging up flips their badge within a few
seconds, and a device that stops registering decays to **Away** within
about a minute. You never need to reload the page to see a change, and
if the underlying request fails the last known state stays on screen
(with a retry prompt) instead of the list blanking out.

What your colleagues see about *you* is decided by your own presence
sources: the status you set from the dashboard header, plus any
federated sources (Teams, Slack, Webex, Zoom, calendars) you opted into
on **Settings → Presence**. Federation can only ever make you appear
*busier* than your manual status — a calendar meeting can flip a
colleague's view of you to Busy or Do not disturb, never the other way
around. See [Presence federation settings](/guides/presence-federation-settings)
for the per-source behavior matrix.

## Click-to-call

The **Call** button hands the colleague's extension number (or SIP
username, when they have no extension assigned) straight to the
in-browser softphone and originates an internal call. Internal calls
stay on-net: they traverse your SIP routing inside Orbit and never
touch the public phone network, so no outbound dialing rules, caller-ID
policies, or PSTN charges apply.

What happens next depends on where your extensions terminate:

* **In-browser softphone users** — the call rings their browser tab;
  your own softphone panel opens with the call in progress.
* **Desk phones, mobile SIP apps, and a registered PBX** — the call is
  delivered to every device registered to their extension, exactly like
  a call dialed from your desk phone. See
  [SIP trunk setup](/guides/sip-trunk-setup) for how a PBX attaches to
  this internal topology, and
  [Browser softphone calling](/guides/voice-softphone-browser-calling)
  for the softphone's own calling controls.

If you are already mid-call, every **Call** button disables until your
current call ends — the softphone places one call at a time. A colleague
who is **On call** or **Do not disturb** can still be reached with the
**Intercom** control (see the [Colleagues reference](/voice/colleagues)),
which auto-answers on their end instead of ringing.

### Worked example: an internal echo call

The safest way to learn the flow is to call a colleague just to prove
the path. Pick any row showing **Available**:

1. Open **Voice → Colleagues** and find a teammate whose badge reads
   **Available** (search their name if the list is long).
2. Click **Call** on their row. The softphone panel opens and dials
   their extension — you hear ringing within a second or two.
3. When they answer, say hello and hang up. The call appears in your
   call history as an internal call with no per-minute charge, and both
   your badges flip back to **Available** a few seconds after hangup.

An echo call like this is also the fastest end-to-end test after
onboarding a new extension: it proves registration (their device rang),
origination (your softphone dialed), and media (you heard each other)
in one gesture, before anyone tries a real call.

## Directory hygiene

The directory is a projection of your SIP extensions — accurate entries
come from accurate extension records, not from settings on the Colleagues
page itself.

* **Who appears**: every enabled SIP extension user, except you. A
  colleague with no extension assigned shows under their SIP username
  and is still click-to-callable.
* **Display names**: the name on the row comes from the extension's
  label (for example "Alice — Support"), not from the dashboard profile.
  Rename it by editing the extension under **Voice → Extensions** — see
  [Extensions and desk phones](/guides/extensions-and-desk-phones).
* **Disabling vs removing**: disabling a colleague's SIP credential
  keeps their row visible with a **Disabled** badge, so an auditor can
  still see the endpoint exists. Removing the extension deletes the row
  entirely.
* **Duplicates**: if one person shows up twice, they have two separate
  SIP extensions (common after a re-onboard). Retire the stale one under
  **Voice → Extensions**.

## Troubleshooting

**A colleague is missing from the list entirely.**
They have no SIP extension yet (or theirs was deleted), or the row you
expect is a disabled credential — disabled extensions stay visible with
a **Disabled** badge rather than vanishing, so a fully missing row means
the extension record is gone. Create or restore it under **Voice →
Extensions**, and the person appears on Colleagues at the next refresh.

**Presence is stuck — someone shows Away who is actually at their desk, or On call long after hanging up.**
Work in order:

1. Give it a minute — badge changes propagate within a few seconds for
   call activity, and roughly a minute for a device that drops off the
   network.
2. Check that person's device: an **Away** badge means nothing is
   registered to their extension, so their softphone tab or desk phone
   genuinely lost registration — have them re-register or re-open the
   softphone.
3. If the badge contradicts *your own* view of yourself, that is a
   federation issue, not a directory issue — check your **Settings →
   Presence** tiles against
   [Presence federation settings](/guides/presence-federation-settings).

**Click-to-call fails or the button stays greyed out.**

* The button is deliberately disabled while you are mid-call, or while
  the colleague is On call, Do not disturb, or Disabled — hover it for
  the exact reason. If they are On call or Do not disturb, use
  **Intercom** instead.
* Your softphone is not ready: open it once and confirm it shows
  registered, then retry. See
  [Browser softphone calling](/guides/voice-softphone-browser-calling).
* The call starts but the colleague never rings: their extension has no
  registered device (badge might be stale Away). Ask them to re-register,
  or check how their devices attach in
  [Extensions and desk phones](/guides/extensions-and-desk-phones)
  and, for a PBX-hosted colleague,
  [SIP trunk setup](/guides/sip-trunk-setup).

## Cross-references

* [Colleagues (reference)](/voice/colleagues) — the presence snapshot
  and SSE stream APIs, wire-state table, and the dashboard surface
  compared with Extensions and the Attendant console.
* [Extensions and desk phones](/guides/extensions-and-desk-phones) —
  create, label, and register the SIP endpoints that populate the
  directory.
* [Browser softphone calling](/guides/voice-softphone-browser-calling) —
  the softphone that click-to-call dials through.
* [SIP trunk setup](/guides/sip-trunk-setup) — how a colleague behind a
  PBX joins the same internal topology.
* [Presence federation settings](/guides/presence-federation-settings) —
  the per-source toggles that decide what *you* publish to this page.
* [Attendant console](/guides/attendant-console) — the front-desk
  surface that shows the same presence lamp field for inbound callers.
