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.
Optimized for 100,000+ concurrent calls with carrier-grade reliability and performance.
Full B2BUA or transparent SIP Proxy modes for maximum deployment flexibility.
Built-in call authentication and attestation for secure communications.
UDP, TCP, and TLS support with automatic transport conversion.
Comprehensive Call Detail Records (CDR) and monitoring capabilities.
Configuration updates without service restart for zero-downtime operations.
RFC 3261 compliant transparent proxy with direct media between carriers.
Full dialog management with complete call control and media processing.
# 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
# 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
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
# 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"
# 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
# Add to config.yaml
metrics:
enabled: true
address: ":9090"
# Prometheus targets
- targets: ['sipserver:9090']
labels:
job: 'sipserver-proxy'
mode: 'proxy'
Get started with our high-performance SIP B2BUA and Proxy solution