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

MS Teams Integration

Configure the Microsoft Teams Direct Routing trunk and manage Teams-enabled extensions.
Certificates @if($config && $config->enabled) Enabled @else Disabled @endif
@if(session('success'))
{{ session('success') }}
@endif @if(session('error'))
{{ session('error') }}
@endif @if ($errors->any())
@endif
Connectivity Status
DNS Resolution
Unknown Not checked
TLS Connection
Unknown Not checked
SIP OPTIONS
Unknown Not checked
SBC Reachable
Unknown Not checked
@if($defaultCert)
Certificate Status @if($defaultCert->status === 'active') Valid @elseif($defaultCert->status === 'expiring_soon') Expiring Soon @elseif($defaultCert->status === 'expired') Expired @else {{ $defaultCert->status }} @endif
Subject
{{ $defaultCert->subject ?? '—' }}
Issuer
{{ $defaultCert->issuer ?? '—' }}
Expires
@if($defaultCert->valid_to) {{ \Carbon\Carbon::parse($defaultCert->valid_to)->format('M d, Y') }} @if(\Carbon\Carbon::parse($defaultCert->valid_to)->diffInDays(now()) < 30) ({{ \Carbon\Carbon::parse($defaultCert->valid_to)->diffInDays(now()) }} days) @endif @else — @endif
@endif
Call Statistics (24h)
Inbound Calls
—
Outbound Calls
—
Concurrent Calls
—
Last Call
—
{{-- TEAMS USERS STATUS --}}
Teams Users Status {{ count($extensions) }}
Number Extension Description SIP Status IP Address Actions
Loading...
{{-- DIRECT ROUTING DIAGNOSTICS --}}
Direct Routing Diagnostics
Not tested
Not tested
Not tested
Not tested
Trunk Configuration
@csrf @method('PUT')
The PJSIP endpoint ID for the Teams SBC trunk.
Microsoft Teams SBC domain.
Prepended to ext number for Teams E.164 URI.
Prefix Teams uses for incoming calls.
ring_local_sip ?? 1) ? 'checked' : '' }}>
enabled ?? 0) ? 'checked' : '' }}>
media_bypass ?? 0) ? 'checked' : '' }}>
Secondary SBC endpoint for failover.
Microsoft Teams emergency location ID.
DID for emergency calls.
Microsoft Teams voice routing policy name.
Microsoft Teams PSTN usage record.
Microsoft 365 tenant ID.
Microsoft 365 tenant domain.
federation_enabled ?? 0) ? 'checked' : '' }}>
Teams-Enabled Extensions {{ count($extensions) }}
@forelse($extensions as $ext) @empty @endforelse
Number Extension Description Actions
{{ $ext->number }} {{ ltrim($ext->number, '+') }} {{ $ext->description ?? '—' }}
@csrf @method('DELETE')
No Teams extensions configured. Add one below.
@csrf
@endsection