Skip to main content

Browser softphone setup

The softphone is the floating widget in Praxi that lets you receive calls and place outbound calls without a desk phone. It uses the Twilio Voice JavaScript SDK and runs entirely in your browser — no software install.

Browser support​

BrowserStatusNotes
Chrome / Edge (desktop)FullPrimary target. Use this for production reception.
Safari (desktop)PartialWebRTC + AudioWorklet have known limitations. Banner shown.
FirefoxPartialSome codec quirks. Banner shown.
Mobile Safari / ChromeLimitedBackground tabs cut audio. Keep the tab in the foreground.

For consistent reception experience, use Chrome on a desktop machine.

Microphone permission​

The softphone needs microphone access. The first time you receive or place a call, the browser will prompt you for permission. If you accidentally deny:

  1. Click the lock icon in the address bar.
  2. Set Microphone to Allow.
  3. Reload the page.

If the prompt never appears, your browser may have a global mic block (System Settings → Privacy & Security → Microphone on macOS; Windows Settings → Privacy → Microphone).

Receiving calls​

When a call comes in:

  1. The softphone widget pops up at the bottom-right.
  2. The caller's E.164 number displays, plus a client snippet if the CallerLookup node matched the number to a client.
  3. Click Answer to take the call, Reject to send it to the next ringdown target, or wait — the call will time out per the flow's settings.

The widget shows mute, hold, hang-up, and a dialpad for IVR navigation.

Placing outbound calls​

Two paths:

  • From the client record, click the phone icon next to the client's phone number. The call shows up in the client's history automatically.
  • From the softphone widget, type any E.164 number into the dialpad.

Outbound calls are billed to the practice — they show up on your Twilio invoice at the per-minute rate above.

Multi-tab behaviour​

If you sign in to Praxi in multiple browser tabs, the softphone follows the most-recently-registered tab. When you open a new tab:

  • The new tab's softphone activates.
  • The old tab's softphone shows a "Softphone moved to another tab." banner with a Reclaim button.
  • Calls will ring on the new tab only.

This avoids the "every tab rings simultaneously" anti-pattern. Click the "reclaim" banner to switch back to an older tab.

Presence and ring priority​

Open Settings → AI Phone → Receptionists to set:

  • Accept inbound — toggle to opt out of ringdown for the rest of the day.

The settings take effect on the next inbound call.

What the softphone cannot do (yet)​

  • iOS / Android native softphone — deferred to v1.1. Practitioners can use the web app on mobile Safari/Chrome in the meantime, with the foreground-tab caveat above.
  • Multi-line concurrency (Hold-A-Answer-B with queue parking) — deferred to v1.2 ("Call Centre").
  • Recording / voicemail capture pipeline — deferred to v1.1; the data model is shipped, the playback UI is gated on the capture pipeline landing.