Ctrl K
ring2all.com

SIP Profiles Module Documentation

Table of Contents

  1. Module Overview (Technical)
  2. Module Overview (Commercial/Business)
  3. Module Overview (End User/Administrator)
  4. Configuration Categories
  5. Common Settings Reference
  6. Common Scenarios & Examples
  7. Limitations & Important Notes
  8. Troubleshooting Tips
  9. Glossary

---

1. Module Overview (Technical)

What Are SIP Profiles?

SIP Profiles is a FreeSWITCH configuration module that manages SIP profile settings. SIP profiles define how FreeSWITCH handles SIP signaling, including transport protocols, codecs, NAT handling, security, and registration behavior.

Architecture

Plaintext
┌─────────────────────────────────────────────────────────────────┐
│                  SIP Profiles Architecture                      │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  Admin Panel                                                    │
│  ┌──────────────────────────────────────────────────────────┐   │
│  │        SIP Profiles Page                                 │   │
│  │                                                          │   │
│  │  Profiles: [internal] [external] [custom]                │   │
│  │                                                          │   │
│  │  Categories:                                             │   │
│  │  ├─ General Settings                                     │   │
│  │  ├─ Transport (SIP/TLS)                                  │   │
│  │  ├─ Media & Codecs                                       │   │
│  │  ├─ NAT / ACL                                            │   │
│  │  ├─ Security & Auth                                      │   │
│  │  ├─ Registration                                         │   │
│  │  ├─ Call Handling                                        │   │
│  │  └─ Advanced                                             │   │
│  │                                                          │   │
│  └──────────────────────────────────────────────────────────┘   │
│       │                                                         │
│       ▼ Configuration saved                                     │
│  ┌──────────────────────────────────────────────────────────┐   │
│  │        public.sip_profiles                               │   │
│  │        public.sip_profile_settings                       │   │
│  │                                                          │   │
│  └──────────────────────────────────────────────────────────┘   │
│       │                                                         │
│       ▼ FreeSWITCH XML generated                               │
│  ┌──────────────────────────────────────────────────────────┐   │
│  │        FreeSWITCH mod_sofia                              │   │
│  │                                                          │   │
│  │  <profile name="internal">                               │   │
│  │    <param name="sip-port" value="5060"/>                │   │
│  │    <param name="rtp-timeout-sec" value="300"/>          │   │
│  │    ...                                                   │   │
│  │  </profile>                                              │   │
│  │                                                          │   │
│  └──────────────────────────────────────────────────────────┘   │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

Key Tables

TablePurpose
public.sip_profilesProfile definitions
public.sip_profile_settingsParameter values

Key Files

FileDescription
modules/sipProfiles/Frontend module
modules/sipProfiles/api/sipProfileApi.tsAPI calls
FreeSWITCH sip_profiles/Generated XML configuration
---

2. Module Overview (Commercial/Business)

Business Value

SIP Profiles provides centralized SIP configuration:

Without SIP ProfilesWith SIP Profiles
Manual XML editingWeb interface
CLI configurationCategory-based UI
Error-prone editsValidated settings
Server access neededBrowser-based

Use Cases

  1. Transport Configuration
- Configure SIP ports

- Enable TLS encryption

  1. NAT Handling
- Configure STUN/TURN

- Set external IP

  1. Codec Management
- Configure codec preferences

- Enable/disable codecs

  1. Security Setup
- Configure authentication

- Set registration policies

Feature Highlights

FeatureBenefit
Web InterfaceNo CLI needed
CategoriesOrganized settings
Default ValuesEasy reset
Multiple ProfilesInternal/External
SearchFind settings fast
ValidationPrevent errors
---

3. Module Overview (End User/Administrator)

What Can You Do?

  • Create and manage SIP profiles
  • Configure SIP transport settings
  • Set media and codec preferences
  • Configure NAT traversal
  • Set security parameters
  • Manage registration behavior
  • Configure call handling options

SIP Profiles Interface

Plaintext
┌─────────────────────────────────────────────────────────────────┐
│              SIP Profiles                                       │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  [+ Create SIP Profile]                                         │
│                                                                 │
│  ┌───────────────────────────────────────────────────────────┐  │
│  │ Profile     │ Description       │ Settings │ Status      │  │
│  ├─────────────┼───────────────────┼──────────┼─────────────┤  │
│  │ internal    │ Internal SIP      │ 45       │ 🟢 Enabled  │  │
│  │ external    │ External/Trunks   │ 52       │ 🟢 Enabled  │  │
│  │ secure      │ TLS-only profile  │ 48       │ 🟢 Enabled  │  │
│  └───────────────────────────────────────────────────────────┘  │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

Profile Edit View

Plaintext
┌─────────────────────────────────────────────────────────────────┐
│              Edit SIP Profile: internal                         │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  Profile Name: [internal                         ]              │
│  Description: [Internal SIP for extensions       ]              │
│  Enabled: ✓                                                     │
│                                                                 │
│  🔍 [Search settings...                               ]        │
│                                                                 │
│  ▼ General Settings (12 parameters)                             │
│  ├─ context: [default           ] [↺ Reset]                    │
│  ├─ dialplan: [XML              ] [↺ Reset]                    │
│  └─ user-agent: [Ring2All       ] [↺ Reset]                    │
│                                                                 │
│  ▼ Transport (SIP/TLS) (15 parameters)                          │
│  ├─ sip-port: [5060             ] [↺ Reset]                    │
│  ├─ sip-ip: [auto               ] [↺ Reset]                    │
│  ├─ tls: [false                 ] [↺ Reset]                    │
│  └─ tls-cert-dir: [/etc/certs   ] [↺ Reset]                    │
│                                                                 │
│  ▶ Media & Codecs (8 parameters)                                │
│  ▶ NAT / ACL (10 parameters)                                    │
│  ▶ Security & Auth (7 parameters)                               │
│  ▶ Registration (6 parameters)                                  │
│  ▶ Call Handling (5 parameters)                                 │
│  ▶ Advanced (12 parameters)                                     │
│                                                                 │
│  [Save] [Cancel]                                                │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

Quick Tips

TIP
Reset to Default: Click ↺ to reset a parameter to its default value.
TIP
Search: Use search to find specific settings across categories.
CAUTION
Restart Required: Profile changes require FreeSWITCH reload.

---

4. Configuration Categories

General Settings

PurposeCommon Parameters
Basic profile behaviorcontext, dialplan, user-agent

Transport (SIP/TLS)

PurposeCommon Parameters
SIP signaling layersip-port, sip-ip, tls, tls-cert-dir

Media & Codecs

PurposeCommon Parameters
Audio/video settingscodec-prefs, rtp-timer-name

NAT / ACL

PurposeCommon Parameters
NAT traversalext-rtp-ip, ext-sip-ip, apply-inbound-acl

Security & Auth

PurposeCommon Parameters
Authenticationchallenge-realm, auth-calls

Registration

PurposeCommon Parameters
Device registrationaccept-blind-reg, disable-register

Call Handling

PurposeCommon Parameters
Call behaviorrtp-timeout-sec, hold-music

Advanced

PurposeCommon Parameters
Expert settingsdebug, sip-trace, nonce-ttl
---

5. Common Settings Reference

Essential Parameters

ParameterDefaultDescription
contextdefaultDialplan context
sip-port5060SIP UDP/TCP port
sip-ipautoListen IP address
rtp-ipautoRTP media IP
user-agentFreeSWITCHSIP user agent

TLS Settings

ParameterDefaultDescription
tlsfalseEnable TLS
tls-cert-dirCertificate directory
tls-versiontlsv1.2TLS version
tls-bind-paramsTLS binding options
ws-binding127.0.0.1:5066WebSocket (plain WS) — localhost only for Nginx proxy
wss-binding(disabled)WSS — disabled, TLS handled by Nginx on port 443

NAT Settings

ParameterDefaultDescription
ext-rtp-ipExternal RTP IP
ext-sip-ipExternal SIP IP
local-network-aclLocal network ACL
NDLB-force-rportForce rport

Timeout Settings

ParameterDefaultDescription
rtp-timeout-sec300RTP inactivity timeout
rtp-hold-timeout-sec1800Hold timeout
session-timeout1800Session timeout
---

6. Common Scenarios & Examples

Scenario 1: Enable TLS

  1. Edit SIP profile
  2. Expand "Transport (SIP/TLS)"
  3. Set tls = true
  4. Configure tls-cert-dir
  5. Save and reload

Scenario 2: Configure NAT for Cloud

  1. Edit profile
  2. Expand "NAT / ACL"
  3. Set ext-rtp-ip = public IP
  4. Set ext-sip-ip = public IP
  5. Save and reload

Scenario 3: Change SIP Port

  1. Edit profile
  2. Expand "Transport"
  3. Change sip-port
  4. Save and reload

Scenario 4: Enable Debug

  1. Edit profile
  2. Expand "Advanced"
  3. Set debug = true
  4. Save and reload
  5. Check logs

Scenario 5: WebRTC Configuration

WebRTC uses Nginx as a TLS proxy to FreeSWITCH:

Plaintext
Browser → wss://domain/ws (Nginx, port 443)
       → ws://127.0.0.1:5066 (FreeSWITCH, plain WS)

  1. Edit internal profile
  2. Expand "Transport (SIP/TLS)"
  3. Set ws-binding = 127.0.0.1:5066 (localhost only)
  4. Disable wss-binding (Nginx handles TLS termination)
  5. Save and reload

NOTE

No TLS certificates are needed on FreeSWITCH for WebRTC. Nginx handles all WSS connections on port 443 and forwards them as plain WebSocket to FreeSWITCH on localhost.

---

7. Limitations & Important Notes

Technical Notes

NOTE
Profile Restart: Changes require sofia profile restart.
NOTE
Two Profiles: Typically "internal" and "external" profiles.
WARNING
TLS Certificates: Must be valid and accessible.

Best Practices

  1. Backup First: Export profile before major changes
  2. Test Changes: Use debug mode
  3. Document Changes: Track what you modified
  4. Monitor After: Watch for registration issues
  5. Use Defaults: Only change what you need

Common Profiles

ProfilePurpose
internalExtensions, internal devices
externalGateways, trunks
secureTLS-only connections
---

8. Troubleshooting Tips

Common Issues

SymptomPossible CauseSolution
No registrationsWrong SIP portCheck sip-port setting
One-way audioNAT issuesConfigure ext-rtp-ip
TLS failsBad certificatesCheck tls-cert-dir
TimeoutsShort timeout valuesIncrease rtp-timeout-sec
Auth failuresWrong challenge-realmCheck security settings

Diagnostic Commands

FreeSWITCH CLI:

Bash
# Show profile status
fs_cli -x "sofia status profile internal"

# View profile settings
fs_cli -x "sofia profile internal gwlist"

# Restart profile
fs_cli -x "sofia profile internal restart reloadxml"

# Enable SIP trace
fs_cli -x "sofia profile internal siptrace on"

Check Profile Settings

Sql
SELECT 
  sp.name,
  sps.setting_name,
  sps.setting_value
FROM public.sip_profiles sp
JOIN public.sip_profile_settings sps ON sp.id = sps.sip_profile_id
WHERE sp.name = 'internal';

---

9. Glossary

TermDefinition
SIP ProfileFreeSWITCH SIP endpoint configuration
mod_sofiaFreeSWITCH SIP module
TLSTransport Layer Security
NATNetwork Address Translation
RTPReal-time Transport Protocol
ACLAccess Control List
ext-rtp-ipExternal RTP IP for NAT
---

Lua Script Status ℹ️

No Lua Handler Required

ComponentStatus
SIP Profilesℹ️ Configuration module - generates FreeSWITCH XML config
SIP Profiles is a configuration module that stores settings and generates FreeSWITCH XML configuration. No Lua handlers are used - configuration is loaded by FreeSWITCH's mod_sofia directly.

---

Documentation last updated: January 2026
AI Assistant

👋 Hello! I'm your Ring2All documentation assistant. I can help you find information about configuring and using the Ring2All PBX platform.

How can I help you today?