CrewTalk
Available4 min read

Call Management

CrewTalk makes it easy to start calls, manage them during a session, and understand their impact on your PTT workflow. This guide covers the tools and patterns for managing Whisper and Live-Sight calls.

Member Action Sheet

The Member Action Sheet is the primary way to interact with team members. It's a branded bottom-sheet that slides up when you tap a member's name in the roster.

Layout

The action sheet displays:

  • Member avatar and display name
  • Status line (online, away, in call, etc.)
  • Three action buttons: Message, Whisper, Live-Sight
  • Admin section (for admins/owners only): Promote, Demote, Remove, Channel Restrictions

Action Buttons

ButtonIconFunction
MessageChat bubbleOpens DM conversation
WhisperPhoneStarts audio call
Live-SightVideo cameraStarts video call

Call buttons are only shown when the conditions are met:

  • The member is online (not away or offline)
  • The member is not already in a call
  • You are not already in a call

Quick-Action Icons

For faster access, the member roster shows inline icons next to each member's name:

  • Chat icon — Always visible (except for yourself)
  • Phone icon — Visible when the member is available for a call
  • Video icon — Visible when the member is available for a call

One tap on any icon performs the action immediately — no action sheet required.

💡 Power Users

Quick-action icons are the fastest way to start a call. One tap from the roster goes directly to the call flow — no intermediate steps.

Call Overlays

Active Call Overlay (Whisper)

During a Whisper call, a call overlay appears at the bottom of the screen:

  • Minimized: Compact bar showing duration and caller name
  • Expanded: Card with mute button and end call button
  • Tap the bar to toggle between views

Live-Sight Overlay

During a Live-Sight call, a full-screen overlay displays:

  • Remote video fills the screen
  • Local video in a draggable PiP window
  • Controls auto-hide after 5 seconds (tap to show)
  • Can be minimized to a small floating window

Call Lifecycle

Starting

  1. You tap Whisper or Live-Sight
  2. A call request is sent via WebSocket
  3. The recipient sees the incoming call screen
  4. Both sides prepare WebRTC connections

Connecting

  1. The recipient accepts
  2. WebRTC offer/answer exchange happens
  3. ICE candidates are gathered and exchanged
  4. The peer connection is established

Active

  1. Audio (and video for Live-Sight) streams directly between devices
  2. Presence updates to "In Call" or "In Live-Sight"
  3. PTT button is disabled

Ending

  1. Either party taps "End Call"
  2. WebRTC connection is closed
  3. Presence reverts to "Online"
  4. PTT button re-enables

Calls and Network Recovery

If your WebSocket connection drops during a call (network switch, brief outage):

  • The call is automatically ended
  • Both participants are notified
  • This prevents orphaned calls where one side thinks they're still connected
  • You can immediately start a new call once reconnected
📝 Note

The auto-end on reconnect is a deliberate safety measure. Since the signaling channel (WebSocket) is needed for call control, a dropped WebSocket means the call can't be managed properly. It's safer to end and restart.

Frequently Asked Questions

No. If a member is already in a Whisper or Live-Sight call, the call icons won't appear on their member row. Their presence status shows 'In Call' or 'In Live-Sight'.
If the WebSocket connection drops during a call, the call is automatically ended. Both participants are notified and returned to normal PTT mode.
Currently, you need to end one call type and start the other. Seamless switching between Whisper and Live-Sight is planned for a future update.