Phone Numbers
Phone Numbers
Summary: Purchase and configure phone numbers to receive calls for your agents.
Purchasing Numbers
- Go to Phone Numbers in dashboard
- Click "Buy a New Phone Number"
- Search by area code or location
- Select a number and purchase
Number Types
| Type | Description | Use Case |
|---|---|---|
| Local | Standard local numbers | General business use |
| Toll-Free | 800/888/877/866 numbers | Customer service |
| Short Code | 5-6 digit numbers | SMS campaigns |
Number Features
Each number can support:
| Feature | Description |
|---|---|
| Voice | Inbound/outbound calls |
| SMS | Text messaging |
| MMS | Picture messaging |
| Fax | Fax transmission |
Managing Numbers
View your numbers in Phone Numbers section. Each number shows:
| Field | Example |
|---|---|
| Number | +1 (555) 123-4567 |
| Type | Local |
| Capabilities | Voice, SMS |
| Status | Active |
| Voice Handler | https://your-server.com/agent |
Available Actions:
- Edit Settings
- View Logs
- Release Number
Number Settings
Configure each number:
Voice Settings:
- Accept Incoming: Enable/disable
- Voice URL: Your agent's SWML endpoint
- Fallback URL: Backup if primary fails
SMS Settings:
- Accept Incoming: Enable/disable
- Message URL: Webhook for SMS
SIP Endpoints
Alternative to phone numbers - use SIP for testing.
SIP Address Format: sip:username@your-space.signalwire.com
Use with:
- Software phones (Zoiper, Linphone)
- SIP-enabled devices
- Testing without PSTN charges
Number Porting
Bring existing numbers to SignalWire:
- Go to Phone Numbers > Porting Request
- Submit porting request
- Provide current carrier info
- Wait for port completion (~1 week in most cases)
Costs
Phone Number Costs:
- Monthly rental fee per number
- Varies by number type and country
Voice Usage:
- Per-minute charges for calls
- Inbound vs outbound rates differ
- See Voice Pricing
AI Agent Usage:
- Per-minute AI processing costs
- Includes STT, TTS, and LLM usage
- See AI Agent Pricing
Questions? Contact sales@signalwire.com for custom pricing and volume discounts.
Multiple Numbers
You can have multiple numbers pointing to:
- Same agent (multiple entry points)
- Different agents (department routing)
- Different configurations per number
## Agent can check which number was called
def my_handler(self, args, raw_data):
called_number = raw_data.get("called_id_num")
if called_number == "+15551234567":
return SwaigFunctionResult("Sales line")
else:
return SwaigFunctionResult("Support line")