PageSourceSearch

https://webtechnicom.net/assets/SipReadinessDashboard-AEmCfuIY.js

js webtechnicom.net collected 2026-10-07 02:02:40 UTC 11,945 bytes, 1 lines download raw bytes

1import{K as n,j as s,a6 as l,a7 as o,I as d,O as p}from"./index-DYMIpwuw.js";import{u as h}from"./useAuth-DT3wGwUl.js";import{W as t}from"./waypoints-CHng688R.js";function S(){const{user:c}=h(),i=n.sipReadiness.status.useQuery(void 0,{enabled:c?.role==="admin"});if(c?.role!=="admin")return s.jsx("main",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:11",className:"sip-readiness-page",children:s.jsxs("section",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:11",className:"sip-readiness-locked",children:[s.jsx(l,{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:11",size:25}),s.jsx("h1",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:11",children:"Admin access required"}),s.jsx("p",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:11",children:"SIP delivery readiness is visible only to WebTechnicom administrators. This protects service posture while keeping customer credentials and infrastructure details private."})]})});if(i.isLoading)return s.jsx("main",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:15",className:"sip-readiness-page",children:s.jsxs("section",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:15",className:"sip-readiness-loading",role:"status",children:[s.jsx("span",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:15","aria-hidden":"true"}),s.jsx("p",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:15",children:"Loading controlled SIP readiness…"})]})});if(i.error||!i.data)return s.jsx("main",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:19",className:"sip-readiness-page",children:s.jsxs("section",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:19",className:"sip-readiness-locked",children:[s.jsx(o,{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:19",size:25}),s.jsx("h1",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:19",children:"Readiness status unavailable"}),s.jsxs("p",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:19",children:[i.error?.message??"No readiness status was returned."," No configuration or service action was attempted."]})]})});const a=i.data;return s.jsxs("main",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:23",className:"sip-readiness-page",children:[s.jsxs("header",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:24",className:"sip-readiness-header",children:[s.jsxs("div",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:25",children:[s.jsxs("p",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:25",className:"sip-readiness-eyebrow",children:[s.jsx(d,{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:25",size:15})," SIP / DELIVERY CONTROL"]}),s.jsxs("h1",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:25",children:["Service delivery",s.jsx("br",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:25"}),s.jsx("em",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:25",children:"preparation tracker."})]}),s.jsx("p",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:25",children:"Follow each next verification on the path to usable SIP access. This is a read-only preparation tracker, not a provisioning console."})]}),s.jsxs("aside",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:26",className:`sip-readiness-overall ${a.overallStatus}`,children:[s.jsx("span",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:26",children:a.overallStatus==="blocked"?"Validation in progress":"Review ready"}),s.jsxs("strong",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:26",children:[a.blockedSteps," of ",a.totalSteps," controls are ready for validation"]}),s.jsx("small",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:26",children:"Payment safeguards: active · Credential delivery: protected · Calling: controlled"})]})]}),s.jsx("section",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:29",className:"sip-readiness-grid","aria-label":"SIP readiness controls",children:a.steps.map((e,r)=>s.jsxs("article",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:30",className:`sip-readiness-card ${e.status}`,children:[s.jsxs("div",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:31",className:"sip-readiness-card-top",children:[s.jsxs("span",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:31",children:["0",r+1]}),s.jsx("b",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:31",children:e.status==="blocked"?s.jsxs(s.Fragment,{children:[s.jsx(t,{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:31",size:15})," Ready for validation"]}):s.jsxs(s.Fragment,{children:[s.jsx(p,{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:31",size:15})," Verified"]})})]}),s.jsx("h2",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:32",children:e.title}),s.jsxs("dl",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:33",children:[s.jsxs("div",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:33",children:[s.jsx("dt",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:33",children:"Next verification"}),s.jsx("dd",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:33",children:e.evidenceRequired})]}),s.jsxs("div",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:33",children:[s.jsx("dt",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:33",children:"Progress outcome"}),s.jsx("dd",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:33",children:e.serviceImpact})]}),s.jsxs("div",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:33",children:[s.jsx("dt",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:33",children:"Protected by design"}),s.jsx("dd",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:33",children:e.safetyBoundary})]})]})]},e.id))}),s.jsxs("section",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:37",className:"sip-pbx-guide","aria-labelledby":"pbx-connection-guide-title",children:[s.jsxs("div",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:38",className:"sip-pbx-guide-intro",children:[s.jsxs("p",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:38",className:"sip-readiness-eyebrow",children:[s.jsx(t,{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:38",size:15})," GUIDED PBX DIAGNOSTIC"]}),s.jsxs("h2",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:38",id:"pbx-connection-guide-title",children:["Build a reliable",s.jsx("br",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:38"}),s.jsx("em",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:38",children:"PBX connection."})]}),s.jsx("p",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:38",children:"You do not need to choose a protocol now. The approved PBX administrator can identify the available management interface when ready, without sharing a host, username, password or SIP credential with this dashboard."})]}),s.jsxs("ol",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:39",className:"sip-pbx-guide-steps",children:[s.jsxs("li",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:40",children:[s.jsx("span",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:40",children:"01"}),s.jsxs("div",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:40",children:[s.jsx("strong",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:40",children:"Confirm the management interface"}),s.jsx("p",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:40",children:"When ready, confirm whether the PBX provides Asterisk ARI over HTTPS, Asterisk AMI over TLS, or another documented read-only API. This establishes a clear management path, separate from softphone access."})]})]}),s.jsxs("li",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:41",children:[s.jsx("span",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:41",children:"02"}),s.jsxs("div",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:41",children:[s.jsx("strong",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:41",children:"Set up a focused health-check scope"}),s.jsx("p",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:41",children:"The future connector will focus on a health status and version check, keeping endpoints, SIP registrations, routes, numbers and calls protected."})]})]}),s.jsxs("li",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:42",children:[s.jsx("span",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:42",children:"03"}),s.jsxs("div",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:42",children:[s.jsx("strong",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:42",children:"Keep access protected by design"}),s.jsx("p",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:42",children:"Any approved service credential will remain in secure server configuration. This page intentionally keeps hosts and secrets out of the workflow."})]})]}),s.jsxs("li",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:43",children:[s.jsx("span",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:43",children:"04"}),s.jsxs("div",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:43",children:[s.jsx("strong",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:43",children:"Confirm a reversible connection"}),s.jsx("p",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:43",children:"Complete one read-only health check, retain no PBX payload, and confirm that connector removal immediately ends access before any delivery review."})]})]})]}),s.jsxs("aside",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:45",className:"sip-pbx-health-plan","aria-labelledby":"pbx-health-plan-title",children:[s.jsxs("p",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:46",className:"sip-readiness-eyebrow",children:[s.jsx(d,{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:46",size:15})," READY FOR VALIDATION"]}),s.jsx("h3",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:47",id:"pbx-health-plan-title",children:a.pbxHealthCheckPlan.title}),s.jsx("p",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:48",children:a.pbxHealthCheckPlan.nextVerification}),s.jsxs("dl",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:49",children:[s.jsxs("div",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:50",children:[s.jsx("dt",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:50",children:"Permitted reads"}),s.jsx("dd",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:50",children:a.pbxHealthCheckPlan.permittedReads.join(" · ")})]}),s.jsxs("div",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:51",children:[s.jsx("dt",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:51",children:"Retention"}),s.jsx("dd",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:51",children:a.pbxHealthCheckPlan.retention})]}),s.jsxs("div",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:52",children:[s.jsx("dt",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:52",children:"Rever
1sibility"}),s.jsx("dd",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:52",children:a.pbxHealthCheckPlan.reversibility})]}),s.jsxs("div",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:53",children:[s.jsx("dt",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:53",children:"Always excluded"}),s.jsx("dd",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:53",children:a.pbxHealthCheckPlan.prohibitedActions.join(" · ")})]})]})]})]}),s.jsxs("section",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:58",className:"sip-readiness-boundary",children:[s.jsx(d,{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:58",size:18}),s.jsxs("div",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:58",children:[s.jsx("strong",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:58",children:"Activation remains outside this dashboard."}),s.jsx("p",{"data-loc":"client/src/pages/SipReadinessDashboard.tsx:58",children:a.validationBoundary})]})]})]})}export{S as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.