Ctrl K
ring2all.com

Device 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. Settings Reference
  6. Common Scenarios & Examples
  7. Limitations & Important Notes
  8. Troubleshooting Tips
  9. Glossary

---

1. Module Overview (Technical)

What Are Device SIP Profiles?

Device SIP Profiles are provisioning templates that define SIP parameters for devices (IP phones, softphones, WebRTC clients). Unlike SIP Profiles (which configure FreeSWITCH), Device SIP Profiles configure how individual device registrations are handled with specific NAT, codec, and security settings.

Architecture

Plaintext
┌─────────────────────────────────────────────────────────────────┐
│               Device SIP Profiles Architecture                 │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  Admin Panel                                                    │
│  ┌──────────────────────────────────────────────────────────┐   │
│  │        Device SIP Profiles                               │   │
│  │                                                          │   │
│  │  Templates:                                              │   │
│  │  ├─ LAN Phones (NAT disabled, UDP)                      │   │
│  │  ├─ Remote Phones (NAT enabled, TLS)                    │   │
│  │  └─ WebRTC Clients (WSS, DTLS, ICE)                     │   │
│  │                                                          │   │
│  └──────────────────────────────────────────────────────────┘   │
│       │                                                         │
│       ▼ Assigned to devices                                    │
│  ┌──────────────────────────────────────────────────────────┐   │
│  │        Extensions / Devices                              │   │
│  │                                                          │   │
│  │  Extension 1001 → LAN Phones profile                    │   │
│  │  Extension 1002 → Remote Phones profile                 │   │
│  │  Extension 1003 → WebRTC Clients profile                │   │
│  │                                                          │   │
│  └──────────────────────────────────────────────────────────┘   │
│       │                                                         │
│       ▼ Applied during registration                            │
│  ┌──────────────────────────────────────────────────────────┐   │
│  │        FreeSWITCH                                        │   │
│  │                                                          │   │
│  │  Device registers → Profile settings applied:           │   │
│  │  ├─ NAT handling                                        │   │
│  │  ├─ Codec preferences                                   │   │
│  │  ├─ Security (TLS, SRTP)                                │   │
│  │  └─ SIP headers                                         │   │
│  │                                                          │   │
│  └──────────────────────────────────────────────────────────┘   │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

Key Tables

TablePurpose
public.device_sip_profilesProfile definitions
public.device_sip_profile_settingsProfile settings

Key Files

FileDescription
modules/deviceSipProfiles/Frontend module
modules/deviceSipProfiles/api/deviceSipProfileApi.tsAPI calls
---

2. Module Overview (Commercial/Business)

Business Value

Device SIP Profiles provides device-specific configuration:

Without Device ProfilesWith Device Profiles
One-size-fits-allTailored per device type
NAT issuesProper NAT handling
Security gapsTLS/SRTP per profile
Codec problemsOptimized codecs

Use Cases

  1. LAN Phone Deployment
- Disable NAT traversal

- Use all codecs

  1. Remote Workers
- Enable aggressive NAT

- Require TLS/SRTP

  1. WebRTC Clients
- Enable WSS, ICE, DTLS

- Configure RTCP-mux

  1. Legacy Devices
- Adjust for compatibility

- Specific codec order

Feature Highlights

FeatureBenefit
TemplatesReusable configurations
NAT SettingsHandle any network
Codec ControlOptimize quality
Security OptionsTLS, SRTP, DTLS
WebRTC SupportBrowser clients
Per-DeviceGranular control
---

3. Module Overview (End User/Administrator)

What Can You Do?

  • Create device SIP profile templates
  • Configure NAT traversal settings
  • Set codec preferences
  • Enable security (TLS, SRTP)
  • Configure WebRTC support
  • Assign profiles to devices/extensions

Device SIP Profiles Interface

Plaintext
┌─────────────────────────────────────────────────────────────────┐
│              Device SIP Profiles                                │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  [+ Create Device Profile]                                      │
│                                                                 │
│  ┌───────────────────────────────────────────────────────────┐  │
│  │ Profile Name     │ Description          │ Usage │ Status │  │
│  ├──────────────────┼──────────────────────┼───────┼────────┤  │
│  │ LAN Phones       │ Local office phones  │ 45    │ ✓ On   │  │
│  │ Remote Phones    │ Work from home       │ 20    │ ✓ On   │  │
│  │ WebRTC Clients   │ Browser softphone    │ 15    │ ✓ On   │  │
│  │ Legacy ATA       │ Older analog adapters│ 5     │ ✓ On   │  │
│  └───────────────────────────────────────────────────────────┘  │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

Profile Edit View

Plaintext
┌─────────────────────────────────────────────────────────────────┐
│              Edit Device Profile: WebRTC Clients                │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  Profile Name: [WebRTC Clients                  ]               │
│  Description: [Browser-based softphones         ]               │
│  Sofia Profile: [internal-tls ▼]                                │
│  Enabled: ✓                                                     │
│                                                                 │
│  ▼ Network                                                      │
│  ├─ Authentication ACL: [ANY ▼]                                │
│  └─ Force Register Domain: ✓                                   │
│                                                                 │
│  ▼ NAT Traversal                                                │
│  ├─ Aggressive NAT Detection: ✓                                │
│  ├─ Rewrite Contact Header: ✓                                  │
│  └─ Force rport: ✓                                             │
│                                                                 │
│  ▼ Media Control                                                │
│  ├─ RTP Timeout (Seconds): [300               ]                │
│  ├─ Bypass Media: ☐                                            │
│  └─ Disable Transcoding: ☐                                     │
│                                                                 │
│  ▼ Codec Preferences                                            │
│  ├─ Inbound Codecs: [OPUS, PCMU, PCMA ▼]                       │
│  ├─ Outbound Codecs: [OPUS, PCMU, PCMA ▼]                      │
│  └─ DTMF Method: [RFC 2833 ▼]                                  │
│                                                                 │
│  ▼ Transport & Security                                         │
│  ├─ Enable WebSocket (WS): ☐                                   │
│  ├─ Enable Secure WebSocket (WSS): ✓                           │
│  ├─ Enable TLS: ✓                                              │
│  └─ TLS Only Mode: ✓                                           │
│                                                                 │
│  ▼ Security & RTP                                               │
│  ├─ Enable DTLS-SRTP: ✓                                        │
│  ├─ Enable ICE NAT Traversal: ✓                                │
│  ├─ Enable RTCP Multiplexing: ✓                                │
│  └─ Secure RTP (SRTP) Mode: [Always Use SRTP ▼]                │
│                                                                 │
│  [Save] [Cancel]                                                │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

Quick Tips

TIP
WebRTC: Enable WSS, DTLS, ICE, and RTCP-mux for browser clients.
TIP
Remote Workers: Enable aggressive NAT detection and TLS.
NOTE
Usage Count: Shows how many devices use this profile.

---

4. Configuration Categories

Network

SettingDescription
Authentication ACLLAN, WAN, or ANY
Force Register DomainLock registration domain

NAT Traversal

SettingDescription
Aggressive NAT DetectionDeep NAT inspection
Rewrite Contact HeaderFix Contact for NAT
Force rportUse source port

Media Control

SettingDescription
RTP TimeoutInactivity timeout
RTP Hold TimeoutHold inactivity timeout
Bypass MediaDirect RTP between devices
Disable TranscodingAllow asymmetric codecs
Session TimeoutMaximum call duration

Codec Preferences

SettingDescription
Inbound Codec PrefsIncoming codec priority
Outbound Codec PrefsOutgoing codec priority
DTMF MethodRFC2833, SIP INFO, In-band
RFC2833 Payload TypeDTMF RTP payload

SIP Headers

SettingDescription
Send Remote-Party-IDInclude RPID header
Send P-Asserted-IdentityInclude PAI header
Send SIP DiversionInclude Diversion header
SIP Caller ID TypeNone, PAI, or RPID

Transport & Security

SettingDescription
Enable WebSocketWS for debugging
Enable Secure WebSocketWSS for browsers
Enable TLSEncrypted signaling
TLS Only ModeRequire TLS
Registration ExpiresRe-registration interval
TLS Verify PolicyCertificate validation

Security & RTP

SettingDescription
Enable DTLS-SRTPEncrypted media (WebRTC)
Enable ICENAT traversal for WebRTC
Enable RTCP-muxShare RTP/RTCP port
Secure RTP ModeAlways, Optional, Never
Require Secure MediaEnforce SRTP
---

5. Settings Reference

Profile Types

Profile TypeKey Settings
LAN PhonesNAT off, UDP, all codecs
Remote PhonesNAT on, TLS, SRTP
WebRTC ClientsWSS, ICE, DTLS, RTCP-mux
Legacy ATABasic codecs, relaxed NAT

WebRTC Requirements

SettingValue
WSS✓ Required (via Nginx proxy on port 443)
DTLS-SRTP✓ Required
ICE✓ Required
RTCP-mux✓ Required
CodecsOPUS preferred
NOTE

WebRTC clients connect via wss://domain/ws on port 443. Nginx terminates TLS and forwards plain WebSocket to FreeSWITCH on 127.0.0.1:5066. No separate WSS port is needed on FreeSWITCH.

Security Levels

LevelTLSSRTPUse Case
NoneLAN only
SignalingBasic security
FullRemote/WFH
MaximumRequiredHigh security
---

6. Common Scenarios & Examples

Scenario 1: LAN Office Phones

  1. Create new profile
  2. Set Authentication ACL = LAN
  3. Disable NAT settings
  4. Set codecPrefs = PCMU,PCMA,G722
  5. Save and assign to extensions

Scenario 2: Remote Worker

  1. Create new profile
  2. Enable Aggressive NAT Detection
  3. Enable Rewrite Contact, Force rport
  4. Enable TLS and SRTP
  5. Save and assign

Scenario 3: WebRTC Softphone

  1. Create new profile
  2. Set Authentication ACL = ANY
  3. Enable all NAT options
  4. Enable WSS, DTLS, ICE, RTCP-mux
  5. Set codecs to OPUS
  6. DTMF = RFC2833

NOTE

WebRTC connection flow: Browser → wss://domain/ws (Nginx, port 443) → ws://127.0.0.1:5066 (FreeSWITCH). TLS is handled by Nginx.

Scenario 4: Legacy ATA

  1. Create new profile
  2. Basic NAT settings
  3. Set codecs = PCMU,PCMA only
  4. Set DTMF = Inband or INFO
  5. Longer timeouts

---

7. Limitations & Important Notes

Technical Notes

NOTE
Profile Assignment: Profiles are assigned to extensions/devices.
NOTE
Sofia Profile: Must select base SIP profile (internal/external).
WARNING
Cannot Delete In-Use: Profiles with assigned devices cannot be deleted.

Best Practices

  1. Create Per Type: Different profiles for different device types
  2. Test Thoroughly: Test NAT settings before deployment
  3. Security First: Use TLS/SRTP for remote devices
  4. Codec Matching: Match codecs to device capabilities
  5. Document Profiles: Note what each profile is for

---

8. Troubleshooting Tips

Common Issues

SymptomPossible CauseSolution
Registration failsWrong ACLCheck Authentication ACL
One-way audioNAT issuesEnable NAT options
No audioCodec mismatchCheck codec preferences
WebRTC not workingMissing WSS/ICEEnable WebRTC settings
DTMF not workingWrong DTMF typeChange DTMF method

WebRTC Checklist

SettingRequired
Enable WSS
Enable DTLS-SRTP
Enable ICE
Enable RTCP-mux
Secure RTPOptional or Always
CodecsInclude OPUS

NAT Checklist

SettingRemote Devices
Aggressive NAT Detection
Rewrite Contact
Force rport
---

9. Glossary

TermDefinition
Device ProfileSIP settings template for devices
NATNetwork Address Translation
SRTPSecure Real-time Transport Protocol
DTLSDatagram TLS for media
ICEInteractive Connectivity Establishment
WSSWebSocket Secure
RTCP-muxRTP/RTCP on same port
OPUSHigh-quality audio codec
---

Lua Script Status ℹ️

No Lua Handler Required

ComponentStatus
Device SIP Profilesℹ️ Configuration module - settings applied during registration
Device SIP Profiles is a configuration module. Settings are stored and applied when devices register with FreeSWITCH. No Lua handlers are used.

---

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?