@extends('layouts.app') @push('style') @endpush @section('content') @php $settingsTabs = [ ['key' => 'ip-settings', 'label' => 'IP Settings', 'icon' => 'network'], ['key' => 'sip-nat', 'label' => 'SIP / NAT', 'icon' => 'shield'], ['key' => 'rtp-media', 'label' => 'RTP / Media', 'icon' => 'radio'], ['key' => 'webrtc', 'label' => 'WebRTC', 'icon' => 'headphones'], ['key' => 'ssl-tls', 'label' => 'SSL / TLS', 'icon' => 'lock'], ['key' => 'pbx-defaults', 'label' => 'PBX Defaults', 'icon' => 'sliders-horizontal'], ['key' => 'modules', 'label' => 'Modules', 'icon' => 'puzzle'], ['key' => 'backups', 'label' => 'Backups', 'icon' => 'hard-drive-download'], ['key' => 'system-actions', 'label' => 'System Actions', 'icon' => 'settings-2'], ['key' => 'version', 'label' => 'Version', 'icon' => 'info'], ]; $ipSettings = $settings['ip_settings'] ?? []; @endphp {{-- Page header --}}
{{ $networkInfo['routes'] ?: 'No route information detected.' }}
| Bind Address | 0.0.0.0:5060 (UDP) |
|---|---|
| External Signalling | {{ $sipNat['external_signaling_address'] ?: '—' }} |
| External Media | {{ $sipNat['external_media_address'] ?: '—' }} |
| Local Networks | {{ $sipNat['local_nets'] ?: '—' }} |
| Strict RTP | {{ $rtpMedia['strict_rtp'] }} |
|---|---|
| RTP Symmetric | {{ $rtpMedia['rtp_symmetric'] }} |
| Force RPORT | {{ $rtpMedia['force_rport'] }} |
| Use ptime | {{ $rtpMedia['use_ptime'] }} |
Configure STUN/TURN servers for the webphone. These settings control how WebRTC calls establish media connections for both internal and remote users.
Internal users (office LAN): Calls connect directly using the browser's local IP. No STUN/TURN needed. Setup time: <100ms.
Remote users (home/mobile): STUN discovers the user's public IP for NAT traversal. Setup time: <300ms.
Strict firewalls (hotel/corporate): TURN relays media through the server when direct UDP is blocked. Setup time: <500ms.
Smart ICE Gathering:
The webphone uses a timeout-based approach. It waits up to the configured timeout for STUN/TURN responses. If they arrive quickly, they're included in the call. If not, the call proceeds with whatever candidates are available.
The server's external IP is configured in SIP / NAT tab. WebRTC uses the same settings automatically.
| Subject | {{ $ssl['subject'] }} |
|---|---|
| Issuer | {{ $ssl['issuer'] }} |
| Valid From | {{ $ssl['valid_from'] }} |
| Valid To | {{ $ssl['valid_to'] }} @if (!$ssl['is_expired']) ({{ $ssl['days_left'] }} days left) @else EXPIRED @endif |
| Type | @if ($ssl['is_self_signed']) Self-Signed @else Trusted CA @endif |
| Cert File | {{ $ssl['cert_path'] }} |
| Key File | {{ $ssl['key_path'] }} |
These defaults apply to every extension that doesn't have its own override set. Override an individual extension on its Edit Extension → Call Features tab.
| Filename | Modified | Size |
|---|---|---|
| {{ $backup['name'] }} | {{ $backup['modified_at'] }} | {{ number_format(($backup['size'] ?? 0) / 1024, 2) }} KB |
| No backups have been created yet. | ||
Enable or disable optional platform features for this PBX. Disabled modules are hidden from the menu and cannot be accessed. Turning a module on does not start any activity on its own.
{{-- Automatic Calling (Outbound Campaign Dialler) --}}