@extends('layouts.app') @section('content')

Extension Status

Registration/contact status (PJSIP).
@forelse ($contacts as $contact) @empty @endforelse
Extension IP Address Port Status RTT (ms)
{{ $contact['extension'] }} {{ $contact['ip'] }} {{ $contact['port'] }} @php $status = strtolower(trim((string)($contact['status'] ?? ''))); $isUp = str_contains($status, 'avail') || str_contains($status, 'reachable') || str_contains($status, 'ok') || str_contains($status, 'connected') || str_contains($status, 'online'); // Check for webphone with NonQual status if (str_contains($status, 'nonqual')) { $contactUri = $contact['contact_uri'] ?? ''; if (str_contains($contactUri, '127.0.0.1') || str_contains($contactUri, 'transport=ws') || str_contains($contactUri, 'transport=wss')) { $isUp = true; // Webphone with NonQual is still connected } } $isDown = str_contains($status, 'unavail') || str_contains($status, 'unreachable') || str_contains($status, 'fail') || str_contains($status, 'expired') || str_contains($status, 'offline'); $badge = $isUp ? 'bg-success' : ($isDown ? 'bg-danger' : 'bg-secondary'); $statusText = $contact['status'] ?? 'Unknown'; @endphp {{ $statusText }} {{ $contact['rtt'] ?? '—' }}
No extension contacts found.
@endsection