For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Log inSign up
Support
GuidesReferenceClick-to-Call
GuidesReferenceClick-to-Call
  • Core
    • Overview
  • Entities
    • SignalWire
    • Address
    • Participant
    • ClientPreferences
    • SelfCapabilities
    • SelfParticipant
    • User
    • WebRTCCall
  • Web Components
    • Overview
    • sw-audio-level
    • sw-call-controls
    • sw-call-dialpad
    • sw-call-media
    • sw-call-provider
    • sw-call-status
    • sw-call-widget
    • sw-click-to-call
    • sw-device-selector
    • sw-directory
    • sw-local-camera
    • sw-participant-controls
    • sw-participants
    • sw-self-media
    • sw-ui-alert
    • sw-ui-background
    • sw-ui-call-layout
    • sw-ui-content-drawer
    • sw-ui-control-bar
    • sw-ui-dialpad
    • sw-ui-dropup
    • sw-ui-icon
    • sw-ui-modal
    • sw-ui-responsive-container
    • sw-ui-split-button
    • sw-ui-transcript-view
LogoLogoSignalWire Docs
Log inSign up
Support
On this page
  • class: SwCallProvider, sw-call-provider
  • Fields
  • call
  • deviceController
  • Slots
Web Components

sw-call-provider

|View as Markdown|Open in Claude|
Was this page helpful?
Edit this page
Previous

sw-call-status

Next
Built with

Top-level context provider that bridges an external Call and/or DeviceController into Lit context for every descendant SDK-aware component to consume.

1<sw-call-provider token="YOUR_GUEST_TOKEN">
2 <sw-call-media></sw-call-media>
3 <sw-call-controls></sw-call-controls>
4</sw-call-provider>

Internally instantiates two reactive controllers:

  • CallStateContextController — subscribes to the Call’s observables (status$, self$, participants$, layoutLayers$, capabilities$, …) and exposes the latest snapshot through callStateContext.
  • DevicesContextController — subscribes to the DeviceController for device lists / selected devices / permissions and exposes them through devicesContext. It also wires the active Call so mute / unmute / device-switch operations route correctly.

Re-assigning .call or .deviceController cleanly disconnects the previous source and reconnects to the new one.

The host renders with display: contents, so the provider does not introduce its own box — descendants lay out as if they were direct children of the parent. Use <sw-call-widget> if you want a packaged, styled widget instead of just the context plumbing.

Class: SwCallProvider · Module: packages/web-components/src/components/sw-call-provider.ts

class: SwCallProvider, sw-call-provider

Fields

call
Call | undefinedDefaults to undefined

call field.

deviceController
DeviceController | undefinedDefaults to undefined

deviceController field.

Slots

NameDescription
Default slot for any descendant components that should consume `callStateContext` and/or `devicesContext`.