Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
113 commits
Select commit Hold shift + click to select a range
3785dd5
docs: add outbound calling guide
Devon-White Sep 4, 2026
3c70c1f
docs: restructure outbound calling guide around control style, not su…
Devon-White Sep 8, 2026
ec39fcc
Merge branch 'main' into Devon/outbound-calling-guide
Devon-White Sep 8, 2026
80f3ebc
docs: clarify outbound calling examples and improve diagram readability
Devon-White Sep 8, 2026
190c929
docs: separate server and browser outbound calling examples
Devon-White Sep 8, 2026
7d5d0c0
docs: simplify outbound calling guide and link it from the Voice over…
Devon-White Sep 8, 2026
af1e61b
docs: lead outbound calling guide with server and browser paths
Devon-White Sep 8, 2026
c3fb5c4
docs: organize outbound calling concepts before examples
Devon-White Sep 8, 2026
83c9355
docs: explain outbound destinations and API support
Devon-White Sep 8, 2026
a734584
docs: correct specialized outbound destination requirements
Devon-White Sep 8, 2026
99245c5
docs: compare REST and Relay calling in topic tabs
Devon-White Sep 8, 2026
fa65ec1
docs: illustrate Relay bidirectional commands and event reactions
Devon-White Sep 8, 2026
21b03d1
docs: streamline outbound calling guide for new readers
Devon-White Sep 8, 2026
147a2f8
docs: inline SWML in the first outbound REST example
Devon-White Sep 8, 2026
a05bfbc
docs: add Relay SDK tabs to outbound calling examples
Devon-White Sep 8, 2026
78ac605
docs: order outbound calling guide code-before-troubleshooting
Devon-White Sep 8, 2026
5a2522b
docs: drop "Call Fabric" from the outbound calling and Vapi guides
Devon-White Sep 8, 2026
0c9bb16
docs: remove the outbound calling troubleshooting section
Devon-White Sep 8, 2026
c432bd1
docs: remove the "Personalize each call" accordion
Devon-White Sep 8, 2026
851fec8
docs: collapse the outbound destination table to one Resource row
Devon-White Sep 8, 2026
cba9fca
docs: map outbound call statuses to their webhook events
Devon-White Sep 8, 2026
29a9f56
docs: source outbound call statuses from the Calling API implementation
Devon-White Sep 8, 2026
0d2ada0
docs: remove the "Additional destination options" accordion
Devon-White Sep 8, 2026
3d9495a
docs: cut per-interface field plumbing from the destinations section
Devon-White Sep 8, 2026
f0aeae6
docs: drop the running scenario from the outbound examples prose
Devon-White Sep 8, 2026
1a924a9
docs: restructure "Before you dial" as steps with decision tables
Devon-White Sep 8, 2026
70374b9
docs: keep "address" for destinations, "caller ID" for the caller
Devon-White Sep 8, 2026
7e5fb40
Merge branch 'main' into Devon/outbound-calling-guide
Devon-White Sep 8, 2026
f2f202e
docs: key the first outbound step on the destination, not the caller ID
Devon-White Sep 8, 2026
e518430
docs: name outbound destinations by what they are, not by "Resource"
Devon-White Sep 8, 2026
61cf222
docs: state the two ways an outbound call starts, without the plumbing
Devon-White Sep 8, 2026
2e93287
docs: shorten the destination labels
Devon-White Sep 8, 2026
d4dee05
docs: stop the caller ID table reading as a limit on what you can dial
Devon-White Sep 8, 2026
2c33410
docs: one SIP row in the destinations table
Devon-White Sep 8, 2026
e55c9b0
docs: key the first step on what each destination needs
Devon-White Sep 8, 2026
cacbf0d
docs: state what a credential has to be permitted to dial
Devon-White Sep 8, 2026
b7398b8
docs: credential row covers any client app, not just a browser
Devon-White Sep 8, 2026
0e0dbd9
docs: make it a Getting started section ending in the call
Devon-White Sep 8, 2026
5ef67c1
docs: trial and international limits become a warning
Devon-White Sep 8, 2026
23074bd
docs: drop cXML from the outbound calling guide
Devon-White Sep 8, 2026
09beb50
docs: remove call forwarding from the outbound calling guide
Devon-White Sep 8, 2026
a8461de
docs: simplify outbound calling guide
Devon-White Sep 9, 2026
ed37e05
docs: fix status webhook claims and tighten the outbound calling guide
Devon-White Sep 9, 2026
a00684d
docs: redraw the Relay diagram as a command and event sequence
Devon-White Sep 9, 2026
f55f399
docs: rewrite the outbound calling overview and prerequisites
Devon-White Sep 9, 2026
51a53ec
docs: clarify outbound calling overview and setup
Devon-White Sep 9, 2026
e473ae8
Merge branch 'main' into Devon/outbound-calling-guide
Devon-White Sep 9, 2026
0e208c8
docs: remove outbound guide SDK summary and navigation prose
Devon-White Sep 9, 2026
ffda15f
docs: add first outbound call walkthrough
Devon-White Sep 9, 2026
cf86427
docs: improve outbound calling guide flow
Devon-White Sep 9, 2026
12a0a44
docs: simplify outbound Relay lifecycle diagram
Devon-White Sep 9, 2026
609a414
docs: verify and complete outbound AI calling examples
Devon-White Sep 9, 2026
d71500b
docs: validate and fix outbound calling code examples
Devon-White Sep 9, 2026
313e6d3
docs: remove Compatibility API mention from outbound calling guide
Devon-White Sep 9, 2026
1315702
docs: surface Relay lifecycle diagram outside accordion
Devon-White Sep 9, 2026
b671592
docs: fold browser example into the place-the-call step
Devon-White Sep 9, 2026
2ca617c
docs: consolidate browser calling into code tabs
Devon-White Sep 10, 2026
655e784
docs: remove outbound calling next steps section
Devon-White Sep 10, 2026
e55e1da
docs: use consistent headings for outbound calling surfaces
Devon-White Sep 10, 2026
01f7857
docs: group outbound AI agent under examples
Devon-White Sep 10, 2026
11d881f
docs: add voicemail, whisper, recording, and streaming examples
Devon-White Sep 10, 2026
a252ee7
docs: add browser calling example
Devon-White Sep 10, 2026
623f6d2
docs: harden outbound browser examples
Devon-White Sep 10, 2026
0298bb4
docs: add outbound destination step
Devon-White Sep 10, 2026
bceecff
docs: standardize outbound call placeholders
Devon-White Sep 10, 2026
f4616d6
Merge branch 'main' into Devon/outbound-calling-guide
Devon-White Sep 10, 2026
5565cd4
Merge branch 'main' into Devon/outbound-calling-guide
Devon-White Sep 10, 2026
525eef5
docs: restore outbound destination table
Devon-White Sep 10, 2026
eaef4c0
docs: generalize outbound destination placeholder
Devon-White Sep 10, 2026
e87ea54
docs: clarify outbound destination labels
Devon-White Sep 10, 2026
f72b893
docs: tab first outbound call methods
Devon-White Sep 10, 2026
447da51
docs: trim outbound calling instructions
Devon-White Sep 10, 2026
dbbef1e
docs: streamline outbound call examples
Devon-White Sep 10, 2026
c533d0c
docs: add browser call lifecycle tracking
Devon-White Sep 10, 2026
064acae
docs: remove first request setup section
Devon-White Sep 10, 2026
390182b
docs: clarify caller ID prerequisite
Devon-White Sep 10, 2026
3093d89
docs: clarify destinations and response schema
Devon-White Sep 10, 2026
057b844
docs: render call leg response payload
Devon-White Sep 10, 2026
f44e499
docs: build outbound SWML with SDK helpers
Devon-White Sep 10, 2026
0b77795
docs: use TypeScript SWML AI helper
Devon-White Sep 10, 2026
5ed31fc
docs: preview union call response schema
Devon-White Sep 10, 2026
56a2da2
docs: restore call leg response schema
Devon-White Sep 10, 2026
e79fe93
docs: compare call response snippet rendering
Devon-White Sep 10, 2026
e9133a2
docs: use endpoint call response snippet
Devon-White Sep 10, 2026
c198c74
docs: simplify outbound example messages
Devon-White Sep 10, 2026
f3cd7a4
docs: link Relay event listener guide
Devon-White Sep 10, 2026
a61c5ce
docs: trim REST snippet instructions
Devon-White Sep 10, 2026
5de0ae9
docs: clarify server and browser calling
Devon-White Sep 10, 2026
bcc496e
docs: simplify outbound destinations
Devon-White Sep 10, 2026
00de3b6
docs: label browser example files
Devon-White Sep 10, 2026
62b51c4
docs: deduplicate browser guide links
Devon-White Sep 10, 2026
dc292a2
docs: clarify REST and WebSocket SDK options
Devon-White Sep 10, 2026
6581613
docs: add browser token prerequisite
Devon-White Sep 10, 2026
ddbcaf0
docs: simplify browser token prerequisite
Devon-White Sep 10, 2026
8cd431b
docs: clarify browser token handoff
Devon-White Sep 10, 2026
dffe72b
docs: move calling approach into walkthrough
Devon-White Sep 11, 2026
d149273
docs: give outbound approach headings task context
Devon-White Sep 11, 2026
e1220f0
Merge branch 'main' into Devon/outbound-calling-guide
Devon-White Sep 11, 2026
ec9429a
docs: show example phone destination in E.164 format
Devon-White Sep 11, 2026
56ffacc
docs: link phone destination format to E.164 guide
Devon-White Sep 11, 2026
3ac5227
docs: clarify when to use REST and WebSocket calling
Devon-White Sep 11, 2026
b7e30fd
docs: compare generated outbound request snippet in a tab
Devon-White Sep 11, 2026
a076f87
docs: flag generated snippet comparison limitations
Devon-White Sep 11, 2026
c273abf
Revert "docs: compare generated outbound request snippet in a tab"
Devon-White Sep 11, 2026
c39a27e
docs: add comparison table for call placement methods using REST, Web…
Devon-White Sep 14, 2026
4cf0d22
docs: consolidate Browser SDK outbound guide into platform outbound c…
Devon-White Sep 14, 2026
6baf682
Merge branch 'main' into Devon/outbound-calling-guide
hey-august Sep 15, 2026
74f6b66
Merge branch 'main' into Devon/outbound-calling-guide
hey-august Sep 15, 2026
8daa317
docs: address review on outbound calling guide
Devon-White Sep 15, 2026
21e37b9
Merge branch 'main' into Devon/outbound-calling-guide
Devon-White Sep 15, 2026
3717355
docs: address remaining review notes on outbound calling guide
Devon-White Sep 15, 2026
8b3617b
Merge remote-tracking branch 'origin/Devon/outbound-calling-guide' in…
Devon-White Sep 15, 2026
92d6c45
docs(voice): tighten SWML note in outbound calling guide
Devon-White Sep 15, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
90 changes: 90 additions & 0 deletions fern/assets/images/img/outbound-call-lifecycle-themed.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
83 changes: 83 additions & 0 deletions fern/assets/images/img/outbound-call-relay-lifecycle-themed.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
12 changes: 12 additions & 0 deletions fern/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -196,6 +196,12 @@ css:
- components/sigmond-card/styles.css

redirects:
# Browser SDK outbound guide consolidated into the platform outbound calling
# guide, which now carries the browser walkthrough and media options.
- source: /docs/browser-sdk/guides/outbound-calls
destination: /docs/platform/voice/outbound-calling
- source: /docs/browser-sdk/v4/guides/outbound-calls
destination: /docs/platform/voice/outbound-calling
# Legacy Agents SDK pages (#526). Use known paths and equivalent existing
# content only. Exact entries prevent unknown or removed pages (examples,
# best-practices, patterns, migration, changelog) from redirecting to an
Expand Down Expand Up @@ -534,6 +540,12 @@ redirects:
- source: /docs/platform/ai/prompt-engineering/where-to-apply
destination: /docs/platform/ai/prompt-engineering

# The VAPI inbound and outbound guides were merged into one integration guide.
- source: /docs/platform/ai/vapi/inbound
destination: /docs/platform/ai/vapi
- source: /docs/platform/ai/vapi/outbound
destination: /docs/platform/ai/vapi

# SWML methods reorganized into calling/ and messaging/ subsections.
# The old methods overview lived at /docs/swml/reference, which was
# entirely calling-flavored — point it at the new calling overview.
Expand Down
4 changes: 2 additions & 2 deletions fern/llms.txt
Original file line number Diff line number Diff line change
Expand Up @@ -76,14 +76,14 @@ Send text and media messages from your application, and choose how to process in

Give users an identity, authorize their access, and connect them to other users or shared resources. Your backend manages subscribers and credentials; the client provides the calling and chat interface.

- Browser SDK: For web clients, [place audio or video calls](/docs/browser-sdk/v4/guides/outbound-calls) and [send and display chat messages](/docs/browser-sdk/v4/guides/messaging-chat).
- Browser SDK: For web clients, [place audio or video calls](/docs/platform/voice/outbound-calling) and [send and display chat messages](/docs/browser-sdk/v4/guides/messaging-chat).
- REST APIs: [Create subscribers](/docs/apis/rest/subscribers/create-subscriber) and [issue subscriber access tokens](/docs/apis/rest/subscribers/tokens/create-subscriber-token) from your backend. Follow the [Browser SDK authentication guide](/docs/browser-sdk/v4/guides/authentication) to connect a web client.

### Video conferences

Build a browser conference interface or use a conference with a prebuilt interface. The [platform video overview](/docs/platform/video) explains rooms, participant permissions, and recordings.

- Browser SDK: [Join a room with audio and video](/docs/browser-sdk/v4/guides/outbound-calls), then add [call controls](/docs/browser-sdk/v4/guides/call-controls), [screen sharing](/docs/browser-sdk/v4/guides/screen-sharing), and [participant layouts](/docs/browser-sdk/v4/guides/layouts).
- Browser SDK: [Join a room with audio and video](/docs/browser-sdk/v4/guides/build-voice-video), then add [call controls](/docs/browser-sdk/v4/guides/call-controls), [screen sharing](/docs/browser-sdk/v4/guides/screen-sharing), and [participant layouts](/docs/browser-sdk/v4/guides/layouts).
- REST APIs: [Create a video room](/docs/apis/rest/video/rooms/create-room) and [issue room access tokens](/docs/apis/rest/video/room-tokens/create-room-token), or [create a video conference with a prebuilt interface](/docs/apis/rest/video/video-conferences/create-video-conference).

### Migrate a Twilio application
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ instance — get one of these going first.
<Card title="Set up the client" icon="fa-regular fa-rocket" href="/docs/browser-sdk/v4/guides/overview">
Install the SDK and create a `SignalWire` client with a credential provider.
</Card>
<Card title="Place an outbound call" icon="fa-regular fa-phone-arrow-up-right" href="/docs/browser-sdk/v4/guides/outbound-calls">
<Card title="Place an outbound call" icon="fa-regular fa-phone-arrow-up-right" href="/docs/platform/voice/outbound-calling">
Dial a destination with `client.dial()` to get a `Call` instance.
</Card>
<Card title="Answer an inbound call" icon="fa-regular fa-phone-arrow-down-left" href="/docs/browser-sdk/v4/guides/inbound-calls">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -448,7 +448,7 @@ Pick a different mic, camera, or speaker before dialing. The log records each pi

### Switch a device mid-call

Enter a destination in the **Destination** field (a `/public/<resource>`, `/private/<user>`, PSTN number, or SIP URI the token can reach — see [Outbound Calls](/docs/browser-sdk/v4/guides/outbound-calls#pick-a-destination) for the destination shapes) and click **Dial**. The local and remote tiles populate once the call connects.
Enter a destination in the **Destination** field (a `/public/<resource>`, `/private/<user>`, PSTN number, or SIP URI the token can reach — see [Outbound calling](/docs/platform/voice/outbound-calling#choose-a-destination) for the destination shapes) and click **Dial**. The local and remote tiles populate once the call connects.

With the call connected, change the **Microphone** or **Camera** dropdown again. The log now records the change as `live: …` — the picker is routing through `activeCall.self.selectAudioInputDevice()` instead of the client-level preference, and the remote side hears or sees the new device immediately without renegotiation. Picking a new **Speaker** triggers `applySelectedAudioOutputDevice()` on the remote `<video>` element so the sink swaps too.

Expand Down
Loading
Loading