***
id: b0e8b4e1-9172-49c4-8455-b3f22114b173
title: Subscribers
subtitle: The foundation of user management in Call Fabric
description: >-
Comprehensive overview of SignalWire Call Fabric Subscribers - the building
blocks of Programmable Unified Communications for user management and
onboarding.
slug: /subscribers
------------------
[resources]: /docs/platform/resources
[create-subscribers]: /docs/platform/resources#create
[resource-addresses]: /docs/platform/addresses
[browser-sdk]: /docs/browser-sdk/v3/js
[rest-api]: /docs/apis
## What are subscribers?
Subscribers are the core [Resources][resources] in SignalWire's Call Fabric platform that represent users
in your communication system. More than just a simple user account, Subscribers provide a complete user
management solution with built-in authentication, communication endpoints, and billing integration.
Subscribers represent users in your communication system with enterprise-grade capabilities built-in.
They embody SignalWire's approach to **Programmable Unified Communications (PUC)**, enabling you to onboard
and manage users at scale without building complex infrastructure from scratch.
## What's included
Every Subscriber comes with four core components that work together to provide a complete user management solution:
Secure user management with industry-standard credential storage for usernames and passwords. Extensible profile system for names,
emails, company details, timezones, and locations.
Multi-channel connectivity with private Call Fabric address for internal communication plus public phone numbers for external calls.
Full SIP, WebRTC, and PSTN support.
Customizable codec settings, encryption options, and SIP/WebRTC protocols. Configurable communication
preferences and routing rules.
## How it works
Subscribers are built on three core technical systems:
### Resource addressing
Subscribers use Call Fabric's unified addressing system for consistent identification across all platform
[Resources][resources]. Each Subscriber is uniquely identified by an address in the format `//`.
**Addresses make Subscribers directly callable.** When a call is placed to a Subscriber's address, Call Fabric
automatically routes the call directly to that Subscriber. This enables seamless peer-to-peer communication
without complex routing configuration.
**Common address examples:**
| Address | Description |
| :---------------------------- | :------------------------------- |
| `/private/john-doe` | Direct dial to John's devices |
| `/public/support-agent` | Publicly accessible support line |
| `/private/jane?channel=video` | Video call to Jane |
**How direct calling works:**
* When someone calls `/private/john-doe`, the call rings John's registered device
* The Subscriber can answer on any device (mobile app, web browser, desk phone)
* Call Fabric handles device registration, presence, and simultaneous ring automatically
Subscribers default to `private` context for security, with optional public aliases for external access.
Learn more about [Resource Addresses][resource-addresses], including contexts, naming conventions, and advanced routing options.
### Authentication system
Multiple token types provide flexible security and integration options:
**Standard user authentication**
For End Users: Issued during login, provide access to user-specific resources. Perfect for web and mobile app authentication flows.
**Temporary guest access**
For Guest Users: Allows Subscribers to create guest tokens that provide temporary access to specific Resource addresses. The guest token creates a temporary subscriber with limited permissions to access only the specified `allowed_address`.
**Client-side API access**
For Client Applications: Creates a Subscriber Invite Token that enables client-side bearer token authentication for API calls.
**Session management**
For Seamless Experience: Handle automatic token renewal and session management without frequent re-authentication.
### API management
Complete REST API with full CRUD operations for programmatic control:
**Create new subscribers**
Individual or bulk creation with profile data, credentials, and configuration settings.
**Get subscriber details**
Fetch individual Subscriber information, settings, and current status.
**Modify subscriber data**
Update profile information, settings, credentials, and configuration options.
**Delete subscribers**
Remove Subscribers and associated data with proper cleanup and notifications.
Bulk operations handle large user populations efficiently, while webhooks provide real-time notifications for lifecycle events,
authentication, and communication activities.
## Integration example
Here's how Subscribers work in practice with the [Browser SDK][browser-sdk]:
```javascript
import { SignalWire } from "@signalwire/js";
// Initialize the client with your token
const client = await SignalWire({
token: "" // Replace with your actual token
});
// Client is now ready to make and receive calls
console.log("SignalWire client initialized");
```
```javascript
import { SignalWire } from "@signalwire/js";
// Initialize the client
const client = await SignalWire({
token: ""
});
// Make a call to another subscriber
const call = await client.dial({
to: "/private/jane-doe",
rootElement: document.getElementById("videoContainer")
});
// Handle call events
call.on("call.state", (state) => {
console.log("Call state:", state);
});
```
```javascript
import { SignalWire } from "@signalwire/js";
// Define the incoming call handler
const handleIncomingCall = async (notification) => {
const { invite } = notification;
console.log("Incoming call from:", invite.from);
// Accept the call
const call = await invite.accept({
rootElement: document.getElementById("videoContainer")
});
};
// Initialize the client with the handler
const client = await SignalWire({
token: "",
incomingCallHandlers: {
all: handleIncomingCall
}
});
```
### Common use patterns
* **Peer-to-peer calling**: Direct subscriber-to-subscriber calls using private addresses like `/private/john-doe`
* **Conference rooms**: Multiple subscribers joining shared resources like `/public/team-meeting`
* **AI agent interaction**: Subscribers calling AI agents at addresses like `/public/support-ai`
* **PSTN & SIP calling**: Ability to call PSTN and SIP destinations directly from Subscriber applications
## Common use cases
These technical patterns enable real-world applications across industries:
**Agent management made simple**
Secure agent onboarding, real-time presence tracking, call routing with queues, and conference
bridge integration.
**Enterprise communication**
Complete UCaaS/VoIP platforms with call routing, advanced features, multi-channel support, and user
lifecycle management.
**Personalized video experiences**
User authentication, cross-platform compatibility, meeting management, and comprehensive usage analytics.
## Value proposition & pricing
**\$3/user/month** - No setup fees, hidden costs, or complex calculations. Includes complete user management, authentication,
multi-channel communication, and enterprise-grade security.
### Why choose subscribers?
At **\$3/user/month**, Subscribers provide a complete user management solution with built-in infrastructure:
User management, authentication, billing systems, and communication infrastructure included.
Production-ready capabilities without custom development.
Built-in security controls and compliance features. Industry-standard authentication and
encryption without additional implementation.
Fixed per-user pricing with no hidden costs. Infrastructure automatically scales
without rearchitecting your application.
Complete REST APIs, SDKs, and comprehensive documentation. Straightforward integration
with existing systems using standard protocols.
## Get started
Ready to implement Subscribers? Follow these steps:
### Create your first subscriber
Navigate to the [SignalWire Dashboard](https://my.signalwire.com/dashboard) and [create your first Subscriber][create-subscribers] through the Resources section. This establishes your user entity and generates authentication credentials.
### Configure user profile
Set up credentials, contact information, and Resource addresses. Configure timezone, location, and other
profile details for cross-channel communication.
### Set security context
Configure private and public contexts based on your security needs. Determine which Subscribers need
public aliases and establish access controls.
### Implementation
Use the [Browser SDK][browser-sdk] or [REST API][rest-api] to connect your application with Subscriber authentication. Implement token management and session handling.