SMART SBC

High-Performance SIP B2BUA and Proxy Server

A carrier-grade SIP Back-to-Back User Agent (B2BUA) and SIP Proxy server optimized for 100,000+ concurrent calls and 500+ CPS (Calls Per Second). Built with Go for maximum performance and reliability.

100,000+ Concurrent Calls
500+ CPS
99.99% Uptime
Internet
SMART SBC
Carrier Network

Core Capabilities

High Performance

Optimized for 100,000+ concurrent calls with carrier-grade reliability and performance.

100K+ Calls 500+ CPS

Dual Operation Modes

Full B2BUA or transparent SIP Proxy modes for maximum deployment flexibility.

B2BUA Proxy

STIR/SHAKEN Support

Built-in call authentication and attestation for secure communications.

Authentication Attestation

Multi-Transport

UDP, TCP, and TLS support with automatic transport conversion.

UDP TCP TLS

Real-time Analytics

Comprehensive Call Detail Records (CDR) and monitoring capabilities.

CDR Metrics

Hot Reload

Configuration updates without service restart for zero-downtime operations.

Zero Downtime Live Config

Operation Modes

SIP Proxy Mode

RFC 3261 compliant transparent proxy with direct media between carriers.

  • ✓ Transparent proxy mode
  • ✓ Advanced NAT traversal
  • ✓ Transport conversion
  • ✓ Load balancing
  • ✓ IP whitelisting
Carrier A
Proxy
Carrier B
Direct RTP Media

B2BUA Mode

Full dialog management with complete call control and media processing.

  • ✓ Full dialog management
  • ✓ Media processing
  • ✓ Advanced routing
  • ✓ Call recording
  • ✓ SDP manipulation
Carrier A
B2BUA
Carrier B
Media Processing

Performance Specifications

🚀 Production Grade

Concurrent Calls 100,000+
CPS 500+
CPU 32-64 vCPUs
Memory 64-128 GB

📊 Scaling Matrix

Starter 5,000 100 CPS
Professional 25,000 250 CPS
Enterprise 75,000 400 CPS

☁️ Cloud Recommendations

AWS
c6i.16xlarge
64 vCPUs, 128 GB RAM
~$2,400/month
GCP
c3-standard-44
44 vCPUs, 176 GB RAM
~$2,100/month
Azure
F72s_v2
72 vCPUs, 144 GB RAM
~$3,800/month

Architecture & Components

Core Components

  • SIP B2BUA Engine
  • SIP Proxy Engine
  • Carrier Manager
  • Transport Manager
  • NAT Rewriter
  • Connection Pool
  • CDR Service
  • Hot Reload

Performance Optimizations

  • Sharded Maps (5x performance)
  • Object Pooling (60% less GC)
  • Thread-Safe Operations
  • Memory Management
  • Connection Reuse
  • Race-Condition Free

High Availability

Load Balancer
SMART SBC Primary
SMART SBC Secondary
Database Cluster
Monitoring Stack

Installation & Setup

Build Instructions

# Clone the repository
git clone https://github.com/loreste/fay.git
cd fay/sipserver

# Build the application
make build

# For Linux production deployment
make build-linux

Prerequisites

  • Go 1.21+
  • PostgreSQL 14+
  • Linux (Ubuntu 22.04 LTS recommended)

Proxy Mode Configuration

# NAT Configuration for Cloud Deployment
nat:
  enable_nat_rewriting: true
  public_ip: "your-cloud-server-ip"
  rewrite_sdp: false          # Preserve carrier media endpoints
  private_networks:
    - "10.0.0.0/8"
    - "172.16.0.0/12"
    - "192.168.0.0/16"

# SIP Proxy Configuration
sip:
  enable_stir_shaken: true
  enable_transport_conversion: true

# Redis for Session Management
redis:
  enabled: true
  host: "localhost"
  port: 6379
  session_ttl: 1800s

B2BUA Mode Configuration

nat:
  enable_nat_rewriting: true
  public_ip: "your-cloud-server-ip"
  rewrite_sdp: true           # Rewrite SDP for media processing
  media_proxy: true

sip:
  enable_stir_shaken: true
  enable_authentication: true
  max_concurrent_calls: 100000

Cloud Deployment

# 1. Launch cloud instance
# AWS: c6i.16xlarge (64 vCPUs, 128 GB RAM)
# GCP: c3-standard-44 (44 vCPUs, 176 GB RAM)

# 2. Install dependencies
sudo apt update && sudo apt install -y redis-server postgresql-client

# 3. Deploy application
make build-linux
scp sipserver_unix user@server:/opt/sipserver/
ssh user@server "sudo systemctl restart sipserver"

OS Tuning

# Network optimization
echo 'net.core.rmem_max = 134217728' >> /etc/sysctl.conf
echo 'net.core.wmem_max = 134217728' >> /etc/sysctl.conf

# File descriptor limits
echo 'fs.file-max = 2097152' >> /etc/sysctl.conf
echo '* soft nofile 1048576' >> /etc/security/limits.conf

Monitoring Setup

# Add to config.yaml
metrics:
  enabled: true
  address: ":9090"

# Prometheus targets
- targets: ['sipserver:9090']
  labels:
    job: 'sipserver-proxy'
    mode: 'proxy'

Available Metrics

  • Active call count
  • Call setup rate (CPS)
  • Memory usage
  • Connection pool statistics
  • Error rates and latencies

Ready to Deploy SMART SBC?

Get started with our high-performance SIP B2BUA and Proxy solution