Skip to main content

Phone Numbers

Phone Numbers

Summary: Purchase and configure phone numbers to receive calls for your agents.

Purchasing Numbers

  1. Go to Phone Numbers in dashboard
  2. Click "Buy a New Phone Number"
  3. Search by area code or location
  4. Select a number and purchase

Number Types

TypeDescriptionUse Case
LocalStandard local numbersGeneral business use
Toll-Free800/888/877/866 numbersCustomer service
Short Code5-6 digit numbersSMS campaigns

Number Features

Each number can support:

FeatureDescription
VoiceInbound/outbound calls
SMSText messaging
MMSPicture messaging
FaxFax transmission

Managing Numbers

View your numbers in Phone Numbers section. Each number shows:

FieldExample
Number+1 (555) 123-4567
TypeLocal
CapabilitiesVoice, SMS
StatusActive
Voice Handlerhttps://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:

  1. Go to Phone Numbers > Porting Request
  2. Submit porting request
  3. Provide current carrier info
  4. 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")