Subscribers overview
What are subscribers?
Subscribers are the core 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:
Identity & authentication
Secure user management with industry-standard credential storage for usernames and passwords. Extensible profile system for names, emails, company details, timezones, and locations.
Communication endpoints
Multi-channel connectivity with private Call Fabric address for internal communication plus public phone numbers for external calls. Full SIP, WebRTC, and PSTN support.
Flexible configuration
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. Each Subscriber is uniquely identified by an address in the format /<Context>/<Name>
.
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, including contexts, naming conventions, and advanced routing options.
Authentication system
Multiple token types provide flexible security and integration options:
POSTSubscriber Tokens
Standard user authentication
For End Users: Issued during login, provide access to user-specific resources. Perfect for web and mobile app authentication flows.
POSTGuest Tokens
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
.
POSTInvite Tokens
Client-side API access
For Client Applications: Creates a Subscriber Invite Token that enables client-side bearer token authentication for API calls.
POSTRefresh Tokens
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:
POSTCreate Subscriber
Create new subscribers
Individual or bulk creation with profile data, credentials, and configuration settings.
GETRetrieve Subscriber
Get subscriber details
Fetch individual Subscriber information, settings, and current status.
PUTUpdate Subscriber
Modify subscriber data
Update profile information, settings, credentials, and configuration options.
DELETERemove Subscriber
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:
- Authentication
- Making calls
- Receiving calls
import { SignalWire } from "@signalwire/js";
// Initialize the client with your token
const client = await SignalWire({
token: "<TOKEN>" // Replace with your actual token
});
// Client is now ready to make and receive calls
console.log("SignalWire client initialized");
import { SignalWire } from "@signalwire/js";
// Initialize the client
const client = await SignalWire({
token: "<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);
});
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: "<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:
Contact centers
Agent management made simple
Secure agent onboarding, real-time presence tracking, call routing with queues, and conference bridge integration.
Business phone systems
Enterprise communication
Complete UCaaS/VoIP platforms with call routing, advanced features, multi-channel support, and user lifecycle management.
Video platforms
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:
Complete infrastructure
User management, authentication, billing systems, and communication infrastructure included. Production-ready capabilities without custom development.
Enterprise-grade security
Built-in security controls and compliance features. Industry-standard authentication and encryption without additional implementation.
Predictable scaling
Fixed per-user pricing with no hidden costs. Infrastructure automatically scales without rearchitecting your application.
Developer-first integration
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 and create your first Subscriber 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 or REST API to connect your application with Subscriber authentication. Implement token management and session handling.