Skip to main content

Practice Phone troubleshooting

Most issues fall into one of four buckets: credential validation, regulatory bundle, webhook delivery, or browser softphone permissions. Work through the relevant section below.

The BYO connect form rejects my credentials​

The Account SID and API Key SID both have strict formats. The form regex checks happen before any Twilio call.

FieldFormatCommon slip
Account SIDAC + 32 hex charsPasting the API Key SID into this field.
API Key SIDSK + 32 hex charsPasting the Auth Token (no SK prefix).
API Key Secret≥ 32 charsTrailing whitespace from copy-paste.

If all three values look correct but Praxi returns "Twilio authentication failed":

  • Confirm the Account SID and the API Key SID belong to the same Twilio account. Cross-account keys won't authenticate.
  • Confirm you created a Standard API Key (not Main).
  • Confirm the key has not been deleted in the Twilio Console.

Twilio Console blocks me from buying a number​

The most common cause is that the Australian regulatory bundle is not approved yet. Open Phone Numbers → Regulatory Compliance → Bundles in the Twilio Console — if any bundle is in Pending review status, wait for Twilio's email (1–3 business days).

If the bundle was rejected, Twilio's email explains why. Common reasons:

  • Address mismatch between the ABN lookup and the proof-of-address document.
  • ASIC extract is older than 6 months.
  • The authorised representative's name does not match the photo ID.

Re-submit with corrected documents — Twilio re-reviews quickly the second time.

Calls arrive but are not forwarded or go to voicemail​

Walk through these in order:

  1. Number is imported into Praxi. Open Settings → AI Phone → Numbers; the number should be in the table with a webhook path token.
  2. Number has a routing flow assigned. Click the number; the flow dropdown must show a selected flow.
  3. Every path in the flow ends in a terminal step. Open the flow in the workflow builder and trace the edges. See Routing flows.
  4. Opening hours and reception number are set. Settings → AI Phone → AI Receptionist → Setup tab. Outside opening hours, or with no valid reception number, calls go to voicemail by design. See Call handling and voicemail.
  5. Subscription entitlement. Confirm your organisation is on Pro with the Phone Suite add-on active OR on Enterprise. Settings → Subscription → Add-ons shows the row.

If all five are green and calls still fail, check Twilio Console → Monitor → Logs → Calls for the inbound call. The Twilio log shows the HTTP status of the webhook call back to Praxi. Any non-2xx means the webhook is failing — open a support ticket with the Call SID and timestamp.

My Twilio API key was revoked / I see "stale connection"​

If Praxi's stored Twilio credentials become invalid (key revoked, account suspended, key rotated without updating Praxi), the next API call fails. Symptoms:

  • Calls drop or never connect.
  • The Numbers page banner shows an amber "Twilio account hasn't been validated in 24+ hours" warning (when this feature is enabled).

Recovery:

  1. Create a fresh Standard API Key in the Twilio Console.
  2. Settings → AI Phone → Numbers → click Disconnect.
  3. Click Connect Twilio account again and paste the new credentials.
  4. Verify with a test call.

The disconnect/reconnect preserves your imported numbers and call history.

Softphone won't ring​

  1. Microphone permission — see Softphone setup.
  2. Browser support — Chrome/Edge full; Safari/Firefox/mobile partial.
  3. You're not on shift / accept inbound is off — Settings → AI Phone → Receptionists.
  4. Newer tab took over — softphone follows the most-recently-registered tab. Refresh the tab you want to use to reclaim.

Voicemail / recording playback shows "no audio"​

The v1 BYO release ships the data model, listing, "mark listened" and PHI erasure cascade — but the capture pipeline (Twilio RecordingStatusCallback → S3 + KMS upload) is part of v1.1. Until the capture pipeline lands, the s3_key column on the row will be null and the playback button will be disabled.

Workaround: open the call in the Twilio Console → Monitor → Recordings to listen via Twilio's UI. This is a temporary gap, not a permanent one.

Where else to look​

  • Twilio Console → Monitor → Logs — every API call and webhook delivery is logged here with the request/response payloads. The single best source of truth when something goes wrong.
  • Praxi audit log — Settings → Compliance → Audit. Every Practice Phone mutation is logged (7-year retention).
  • Praxi ops support — open a ticket from Help → Support if the above doesn't isolate the issue. Include the Twilio Call SID where applicable.