Skip to content
On this page
HUSH
CIRCUITS

Making Your First Call

This walkthrough maps to the current dialer implementation in migration/cleanup.

BRIDGE PROTOCOL

How your call connects securely

📱
YOU

Leg A

1

We call YOU first

🌐
HUSH

Bridge

2

Then TARGET

📞
TARGET

Leg B

1

Your phone rings

Answer to connect

2

Bridge established

Secure tunnel active

3

Target called

With your spoofed CID

BRIDGE PROTOCOL: ACTIVE

Prerequisites

Before calling, confirm:

  1. Uplink number is configured and locked in Settings -> Phone & PIN.
  2. Wallet has available tokens.
  3. Destination number is entered.

Step-by-Step

1. Set Destination

Use keypad input for the destination field (Target_Vector).

2. Configure Caller Identity (Optional)

Use the CID panel to:

  • Enter manual caller ID.
  • Toggle LOCK_SPOOF_VECTOR to persist CID.
  • Cycle Persona profiles if configured.

3. Select Voice Effect (Optional)

Pick one preset:

  • OFF
  • DEEP
  • ROBOT
  • ANON

4. Start Bridge

Press INITIATE_BRIDGE.

Runtime progression:

  1. INITIATING_HANDSHAKE...
  2. DIALING_YOUR_VECTOR...
  3. RINGING_REMOTE...
  4. CIRCUIT_ESTABLISHED

Your own registered phone rings first. Answer to complete bridge setup.

6. Monitor Active Call

When connected, UI shows:

  • Call timer
  • Burn estimate
  • TERMINATE_CIRCUIT button

7. End Call

Press TERMINATE_CIRCUIT to hang up.

State Reference

DIALER STATE MACHINE

Mapped from `useCall.ts` + `DialPad.tsx`

idle

TERMINAL_READY

initiating

INITIATING_HANDSHAKE...

calling

DIALING_YOUR_VECTOR...

ringing

RINGING_REMOTE...

connected

CIRCUIT_ESTABLISHED

failed/ended

HANDSHAKE_FAILED

Timeout Guard

`connecting` > 120s => `failed`, then auto-reset to `idle` after 5s.

Terminal States

`completed`, `busy`, `no_answer`, `failed` stop polling and reconcile UI.

Troubleshooting

SymptomMost Likely CauseFix
Cannot press INITIATE_BRIDGEMissing destination/uplink or account state blockSet destination, configure phone, check account status
Immediate failureSession/auth or backend call rejectionRe-authenticate and retry
Stuck in connecting/ringingCarrier/gateway path issueRetry, validate destination, check status logs
Low balance warningsWallet near depletionTop up wallet before next call